我使用了kbl()函数,在一个rnw文件中编译了一个pdf,并用它编写了一个从数据开始的表。我使用kableExtra选项scale_down来调整表大小以适应页面大小。它工作良好,但表覆盖与我的pdf输出的页码。我想知道处理这类问题的最好方法是什么。提前谢谢你的帮助。
发布于 2022-03-17 13:53:44
您可以添加一些Latex代码,将表格环境放入一个框中并调整内容大小。下面是一个使用\resizebox
的示例
下面是tab
,一个由kable
生成的高斯随机数的LaTex表
```{r, message = F, warning=F}
图书馆(针织品)
图书馆(Tidyverse)
图书馆(KableExtra)
ncol <- 10
nrow <- 30
df <- map_dfc(1:ncol,~data.frame(圆形(nrow,2) %>%
Set_names(字母1:ncol)
选项卡<- kbl(df,format = "latex")
下面是如何使用resizebox
根据文本的高度/宽度调整其大小(有关缩放工作的详细信息,请参阅tex.stackexchange上的this post )
```{r, results='asis'}
猫(
“开始{表]
定心
\resizebox*{\textwidth}{\dimexpr\textheight-2\baselineskip\relax}{%",
塔布,
“\n]
\{表}“
)
30x10表的结果
让我们来看看双行双列(ncol <- 20; nrow <- 60
)
60x20表的结果.
发布于 2022-03-16 19:22:03
我有三个建议。第一种方法可能是使用Rmarkdown代码中的\newpage
将表设置为下一页,这是乳胶代码。第二个选项可能是在您的latex_options="HOLD_position"
函数中设置Kable_styling
。这将把桌子放在一个特定的地方,这也许可以帮助你解决问题。第三个选项是使用‘using table = TRUE`’,这意味着表将在下一页上继续。
```{r}
图书馆(针织品)
图书馆(Tidyverse)
图书馆(KableExtra)
df <- data.frame(x = 1:10,y= 11:20)
kable(df) %>%
kable_styling(latex_options = "HOLD_position")
\newpage
```{r}
kable(df) %>%
kable_styling(latex_options = "HOLD_position")
看起来是这样的:
以下是选项三的代码:
```{r}
图书馆(Tidyverse)
图书馆(针织品)
图书馆(KableExtra)
df <- data.frame(x = 1:50,y= 11:60)
(df,“胶乳”,长表= T,书签= T) %>%
kable_styling(latex_options = c("repeat_header"),font_size = 7)
看起来是这样的:
https://stackoverflow.com/questions/71502602
复制相似问题