R Markdown table 带有 kable 和 longtable 的标题宽度
R Markdown table caption width with kable and longtable
使用R Markdown 输出pdf。 kable() 效果很好,但是当我添加 longtable=T
时,标题不再扩展 table 的整个宽度。我似乎无法在此处找到控制字幕详细信息的参数。我可以移动标题以输出每个代码块,但如果可能的话,我宁愿使用 kable 中的内置功能。
谢谢!
---
title: "test"
author: ""
date: "September 6, 2017"
output:
pdf_document:
latex_engine: xelatex
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(kableExtra)
library(knitr)
library(dplyr)
```
```{r table1}
test <- data.frame(col1=rep("MyLongWordsareLong",5),
col2=rep("MyLongWordsareLong",5),
col3=rep("MyLongWordsareLong",5),
col4=rep("MyLongWordsareLong",5),
col5=rep("MyLongWordsareLong",5),
col6=rep("MyLongWordsareLong",5))
kable(test,format='latex',booktabs=TRUE,
caption="This is my example caption. See how, when I don't use
longtable, it extends the full width of the table, but when I use the
longtable option, it compresses down to only a portion of the table's wdith.
Is this weird or is it just me?") %>%
landscape()
kable(test,longtable=TRUE,format='latex',booktabs=TRUE,caption="This is my
example caption. See how, when I don't use longtable, it extends the full
width of the table, but when I use the longtable option, it compresses down
to only a portion of the table's wdith. Is this weird or is it just me?")
%>%
landscape()
```
这可能是 longtable
包中的 LaTeX 问题。该页面提出了一种解决方法:https://tex.stackexchange.com/questions/287283/how-to-define-caption-width-in-longtable。就放
header-includes:
- \usepackage{caption}
在您的 YAML header 中,一切都会按照您的预期进行。您还可以添加 LaTeX 代码
\captionsetup{width=5in}
(或使用其他一些度量,例如 5cm
、\textwidth
、\textheight
等)以获得其他尺寸的一致标题宽度。
编辑添加:
这是原始示例,已按建议修改(加上更多清理):
---
title: "test"
author: ""
date: "September 6, 2017"
output:
pdf_document:
latex_engine: xelatex
header-includes:
- \usepackage{caption}
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(kableExtra)
library(knitr)
library(dplyr)
```
Add `\captionsetup{width=5in}` on its own line here for smaller captions.
```{r table1}
test <- data.frame(col1=rep("MyLongWordsareLong",5),
col2=rep("MyLongWordsareLong",5),
col3=rep("MyLongWordsareLong",5),
col4=rep("MyLongWordsareLong",5),
col5=rep("MyLongWordsareLong",5),
col6=rep("MyLongWordsareLong",5))
kable(test,format='latex',booktabs=TRUE,
caption="This is my example caption. See how, when I don't use
longtable, it extends the full width of the table, but when I use the
longtable option, it compresses down to only a portion of the table's wdith.
Is this weird or is it just me?") %>%
landscape()
kable(test,longtable=TRUE,format='latex',booktabs=TRUE,caption="This is my
example caption. See how, when I don't use longtable, it extends the full
width of the table, but when I use the longtable option, it compresses down
to only a portion of the table's wdith. Is this weird or is it just me?") %>%
landscape()
```
这是它生成的两个表:
使用R Markdown 输出pdf。 kable() 效果很好,但是当我添加 longtable=T
时,标题不再扩展 table 的整个宽度。我似乎无法在此处找到控制字幕详细信息的参数。我可以移动标题以输出每个代码块,但如果可能的话,我宁愿使用 kable 中的内置功能。
谢谢!
---
title: "test"
author: ""
date: "September 6, 2017"
output:
pdf_document:
latex_engine: xelatex
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(kableExtra)
library(knitr)
library(dplyr)
```
```{r table1}
test <- data.frame(col1=rep("MyLongWordsareLong",5),
col2=rep("MyLongWordsareLong",5),
col3=rep("MyLongWordsareLong",5),
col4=rep("MyLongWordsareLong",5),
col5=rep("MyLongWordsareLong",5),
col6=rep("MyLongWordsareLong",5))
kable(test,format='latex',booktabs=TRUE,
caption="This is my example caption. See how, when I don't use
longtable, it extends the full width of the table, but when I use the
longtable option, it compresses down to only a portion of the table's wdith.
Is this weird or is it just me?") %>%
landscape()
kable(test,longtable=TRUE,format='latex',booktabs=TRUE,caption="This is my
example caption. See how, when I don't use longtable, it extends the full
width of the table, but when I use the longtable option, it compresses down
to only a portion of the table's wdith. Is this weird or is it just me?")
%>%
landscape()
```
这可能是 longtable
包中的 LaTeX 问题。该页面提出了一种解决方法:https://tex.stackexchange.com/questions/287283/how-to-define-caption-width-in-longtable。就放
header-includes:
- \usepackage{caption}
在您的 YAML header 中,一切都会按照您的预期进行。您还可以添加 LaTeX 代码
\captionsetup{width=5in}
(或使用其他一些度量,例如 5cm
、\textwidth
、\textheight
等)以获得其他尺寸的一致标题宽度。
编辑添加:
这是原始示例,已按建议修改(加上更多清理):
---
title: "test"
author: ""
date: "September 6, 2017"
output:
pdf_document:
latex_engine: xelatex
header-includes:
- \usepackage{caption}
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(kableExtra)
library(knitr)
library(dplyr)
```
Add `\captionsetup{width=5in}` on its own line here for smaller captions.
```{r table1}
test <- data.frame(col1=rep("MyLongWordsareLong",5),
col2=rep("MyLongWordsareLong",5),
col3=rep("MyLongWordsareLong",5),
col4=rep("MyLongWordsareLong",5),
col5=rep("MyLongWordsareLong",5),
col6=rep("MyLongWordsareLong",5))
kable(test,format='latex',booktabs=TRUE,
caption="This is my example caption. See how, when I don't use
longtable, it extends the full width of the table, but when I use the
longtable option, it compresses down to only a portion of the table's wdith.
Is this weird or is it just me?") %>%
landscape()
kable(test,longtable=TRUE,format='latex',booktabs=TRUE,caption="This is my
example caption. See how, when I don't use longtable, it extends the full
width of the table, but when I use the longtable option, it compresses down
to only a portion of the table's wdith. Is this weird or is it just me?") %>%
landscape()
```
这是它生成的两个表: