gpt4 book ai didi

使用 latex 中的条件颜色渲染表作为具有 rownames = TRUE 的 pdf 文档(rmarkdown、kable 和 kableExtra)

转载 作者:行者123 更新时间:2023-12-01 13:23:00 25 4
gpt4 key购买 nike

我正在尝试使用 r markdown、kable 和 kableExtra 输出 latex 表。当我使用选项 row.names=FALSE 而不是 row.names=TRUE 时, latex 代码生成\vphantom 代码,该代码会产生错误以创建 pdf 。
问题似乎与 row_spec 选项有关。

这是 Rmarkdown 代码(.Rmd 文件):

---
title: "Test"
output:
pdf_document:
fig_caption: true
keep_tex: true
---

{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)


{r}
library(knitr)
library(kableExtra)

temp <- mtcars[1:5,1:5]

kable(temp, format = "latex", booktabs = F,row.names=F) %>%
kable_styling(position = "center") %>%
row_spec(1, bold = T, background = "red")

错误是:

! Forbidden control sequence found while scanning use of \check@nocorr@. \par l.105 ...color{red} \textbf{21.0 &\vphantom{1} 6} & \textbf{160} & \textbf{...



你有什么问题吗?

最佳答案

这是由数据框中的重复行引起的,因为第 1 行和第 2 行相同。

查看 row_spec_latex 的代码, 当 kableExtra 用于 kable 表时,它会检查重复的行。如果找到,则插入 vphantom fix_duplicated_rows_latex 内的参数内部函数。这个 vphantom 插入然后弄乱了 textbf 的格式。功能。

这似乎是一个小错误,因此可能值得在 kableExtra 中将其报告为问题:https://github.com/haozhu233/kableExtra .我确定 vphantom虽然添加是有充分理由的,但怀疑这是一个预期的结果。

支持码:

---
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)

library(knitr)
library(kableExtra)
temp <- mtcars[1:5,1:5]
```

```{r}
# Keeping the row names (means all rows are unique)
kable(temp, format = "latex", booktabs = F) %>%
kable_styling(position = "center") %>%
row_spec(1, bold = T, color = "red")
```

```{r}
# Highlighting second row (which doesn't have the vphantom statement)
kable(temp, format = "latex", booktabs = F, row.names=F) %>%
kable_styling(position = "center") %>%
row_spec(2, bold = T, color = "red")
```

enter image description here

关于使用 latex 中的条件颜色渲染表作为具有 rownames = TRUE 的 pdf 文档(rmarkdown、kable 和 kableExtra),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49016615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com