如何阻止 kable 从重复一行到页面末尾

波根顿

正如标题所暗示的那样,我写了一个 Rmarkdown 文件来打印一个表格,出于某种我无法理解的原因,它取了表格的第一行并重复它直到到达页面的末尾:

乱七八糟的桌子

似乎表格以某种方式设置为固定宽度,但我不确定为什么会这样,我也不确定为什么只有一行重复。我希望它看起来正常。表格未涵盖的页面的其余部分可以是空白的。谢谢你的帮助。

我试过弄乱中的full_width参数kable_styling,这没有什么区别。

这是一个可重现的示例。这是标题:

---
title: ""
always_allow_html: yes
output:
  pdf_document:
    latex_engine: xelatex
geometry: margin=0.3in
header-includes:
- \usepackage[T1]{fontenc}
- \usepackage{array}
- \usepackage{booktabs}
- \usepackage{xcolor}
- \usepackage{makecell}
- \usepackage{longtable}
- \usepackage{multirow}
- \usepackage{wrapfig}
- \usepackage{float}
- \usepackage{colortbl}
- \usepackage{pdflscape}
- \usepackage{tabu}
- \usepackage{threeparttable}
- \usepackage{threeparttablex}
- \usepackage[normalem]{ulem}
- \usepackage{makecell}
- \setmainfont{Helvetica}
- \pagenumbering{gobble}
- \DeclareTextCommand{\nobreakspace}{TU}{\leavevmode\nobreak\ }
documentclass: article
classoption: a4paper
---

这是一个重现该问题的 R 块,请注意我使用了设置{r, echo=FALSE, message = FALSE, warning = FALSE}.


# Packages
suppressMessages(library(extrafont))
suppressMessages(library(dplyr))
suppressMessages(library(pander))
suppressMessages(library(kableExtra))

# Data
table_info <- data.frame(a=1:4, b=1:4, c=1:4, d=1:4, e=1:4, f=1:4, g=1:4, h=1:4, i=1:4)

nrow_table <- nrow(table_info)
ncol_table <- ncol(table_info)

column_ems <- c("2em", rep("1.125em", ncol_table - 1))

fsize <- 10

  ktable <- table_info %>%
    mutate_all(linebreak) %>%
    kable(escape = FALSE, align = paste0(rep('l', ncol_table), collapse=""),
          col.names = NULL,
          booktabs = TRUE, format = "latex" , linesep = "") %>%
    row_spec(1:nrow_table, color = "darkgray") %>%
    column_spec(1, column_ems[1]) %>%
    column_spec(2, column_ems[2]) %>%
    column_spec(3, column_ems[3]) %>%
    column_spec(4, column_ems[4]) %>%
    column_spec(5, column_ems[5]) %>%
    column_spec(6, column_ems[6]) %>%
    column_spec(7, column_ems[7]) %>%
    column_spec(8, column_ems[8]) %>%
    column_spec(9, column_ems[9]) %>%
    kable_styling(font_size = fsize) %>%
    row_spec(1, align = 'c') %>%
    row_spec(2, font_size = fsize - 2)


ktable <- ktable %>% row_spec(1:(nrow_table-1), hline_after = TRUE)


ktable <- ktable %>% add_header_above(c(" " = 1, "Manganese" = 2,
                                        "Phosphorus" = 2,
                                        "Potassium" = 2,
                                        "Zinc" = 2), bold = T)
}

ktable

此代码输出的表如下所示: 乱七八糟的桌子

预期的输出应该是同一个表,但在标题下方的第一行中没有所有额外的 1。

用户2554330

我不知道这是kableExtra错误还是您滥用了它,但问题出在对kable(). 你有

kable(escape = FALSE, align = paste0(rep('l', ncol_table), collapse=""),

稍后,LaTeX 中的对齐设置会重复多次。如果您将该行更改为

kable(escape = FALSE, align = 'l',

那么问题就消失了:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何在knitr :: kable中的表之间保持一些空间?

来自分类Dev

如何在knitr :: kable中的表之间保持一些空间?

来自分类Dev

如何让 knitr::kable 表停止浮动?

来自分类Dev

如何阻止随机颜色重复?

来自分类Dev

如何阻止页面中断td?

来自分类Dev

如何添加页面以阻止privoxy?

来自分类Dev

如何使用knitr :: kable在表的底部添加注释?

来自分类Dev

如何避免kable格式化表格后面的文字?

来自分类Dev

如何在Kable中居右对齐的右列文本?

来自分类Dev

如何在html文档中隐藏格式正确的knitr :: kable()?

来自分类Dev

如何在 kable/formattable 表中打印 unicode 符号?

来自分类Dev

如何在c#中从一行删除到文本文件的末尾?

来自分类Dev

将长行换成kable()以用于Rnw / LaTeX

来自分类Dev

使用Kable在Rmarkdown中更改一张桌子的样式

来自分类Dev

如何阻止ajax重复先前的请求?

来自分类Dev

如何阻止我的函数循环的开始重复

来自分类Dev

如何阻止动画重复 - 布局动画

来自分类Dev

如何阻止android通知重复自己

来自分类Dev

如何判断jQuery BlockUI是否阻止了页面

来自分类Dev

如何阻止Selenium Webdriver等待页面加载?

来自分类Dev

如何阻止页面在提交表单时刷新?

来自分类Dev

如何判断jQuery BlockUI是否阻止了页面

来自分类Dev

如何使用密码阻止某些页面

来自分类Dev

滚动页面时如何阻止页脚移动?

来自分类Dev

如何阻止excel舍入到.00?

来自分类Dev

如何阻止路由到公用文件夹中的页面

来自分类Dev

如何一次阻止多个查询

来自分类Dev

阻止执行到下一行直到Api响应

来自分类Dev

如何阻止我的ColdFusion Cfquery插入重复的行?

Related 相关文章

热门标签

归档