R Markdown附录仅显示标题留白 横向表格与标题同页展示问题求解
问题原因
LaTeX的landscape环境默认会强制开启新页面,你之前的代码将附录标题放在了landscape环境外,所以标题独占一页纵向页面,landscape环境内的表格又自动新开了一页横向页面,才会出现标题页留白、表格单独分页的情况。
解决方案1(整附录页横向,适配长表格)
调整代码将附录标题和表格都放入landscape环境内,同时给表格添加固定位置参数即可,修改后的完整代码如下:
\newpage # References {-} <div id="refs"></div> \newpage \begin{landscape} # Appendix {-} \setcounter{table}{0} \renewcommand{\thetable}{A\arabic{table}} ```{r pre_table_appendix, message=FALSE, warning=FALSE, echo=FALSE, include=FALSE} library(kableExtra) tab <- matrix(c("text1", "text2", "text3", "text4", "text1", "text2", "text3", "text4", "text1", "text2", "text3", "text4", "text1", "text2", "text3", "text4"), ncol=4, byrow=TRUE) colnames(tab) <- c('Variable','Variable','Variable','Variable') rownames(tab) <- NULL tab <- as.table(tab) table_appendix <- kbl(tab, longtable = T, booktabs = T, row.names = 0, caption = "Title.") %>% kable_styling(latex_options = c("repeat_header", "hold_position"))
table_appendix
\end{landscape}
#### 调整细节 - 将`\begin{landscape}`移动到附录标题之前,`\end{landscape}`放在表格输出之后,让所有附录首屏内容都处在同一个横向页面内,避免环境触发的自动分页 - 在`kable_styling`的`latex_options`中新增`hold_position`参数,强制表格固定在代码对应的位置,不会触发LaTeX的自动浮动排版 - 移除了原代码中对表格无效的`fig.pos="H"`参数(该参数仅用于控制图片位置) --- ### 解决方案2(保留纵向标题,仅旋转表格) 如果需要保持附录标题为纵向排版,不切换整页方向,可直接对表格内容做旋转处理,代码调整如下: ```latex \newpage # References {-} <div id="refs"></div> \newpage # Appendix {-} \setcounter{table}{0} \renewcommand{\thetable}{A\arabic{table}} ```{r pre_table_appendix, message=FALSE, warning=FALSE, echo=FALSE, include=FALSE} library(kableExtra) tab <- matrix(c("text1", "text2", "text3", "text4", "text1", "text2", "text3", "text4", "text1", "text2", "text3", "text4", "text1", "text2", "text3", "text4"), ncol=4, byrow=TRUE) colnames(tab) <- c('Variable','Variable','Variable','Variable') rownames(tab) <- NULL tab <- as.table(tab) table_appendix <- kbl(tab, booktabs = T, row.names = 0, caption = "Title.") %>% kable_styling(latex_options = c("hold_position", "scale_down")) %>% column_spec(1:4, angle = 90) # 旋转表格所有列内容
table_appendix
注意该方案需要移除`longtable = T`配置,longtable环境不支持内容旋转和位置固定参数,适合行数较少不需要跨页的表格。 --- 内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

