【问题标题】:How to let bookdown render LaTeX in kableExtra table headers properly?如何让 bookdown 在 kableExtra 表头中正确呈现 LaTeX?
【发布时间】:2023-03-31 20:05:01
【问题描述】:

我使用 rmarkdown (bookdown) 中的 kableExtra 包在 pdf 输出中生成漂亮的表格。除了在标题中呈现 LaTeX 代码外,一切都很好。名为$\\alpha$ 的标头不会呈现为希腊字母。结果只是 pdf 文档中显示的 $\alpha$

附加信息:我使用format = "latex"escape = TRUE。如果我使用escape = FALSE,渲染文档时会出错:

I was unable to find any missing LaTeX packages from the error log _main.log.
! Misplaced \noalign.
\cmidrule ->\noalign 
                     {\ifnum 0=`}\fi \@ifnextchar [{\@cmidrule }{\@cmidrule ...
l.1293 \cmidrule
                {3-7} 

我很抱歉没有给出一个可重现的例子。我以某种方式希望这是我在kableExtra 某处错过的设置。如果需要,我会举个例子。

提前非常感谢!

【问题讨论】:

标签: r latex kableextra


【解决方案1】:

你可以试试这个:

---
title: "Use slashes to escape"
author: "bttomio"
date: "3/24/2021"
output: pdf_document
---

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

```{r echo=F}
library(kableExtra)
x <- matrix(1:4, ncol=2)
kbl(x, col.names=c('$\\alpha$', 'B'), align = 'c', 'latex', booktabs = T, escape = F) %>%
    add_header_above(c("$\\\\alpha$" = 2), escape = F)
```

-输出

【讨论】:

  • 有趣的方法!但是如果我不想要额外的标题行怎么办?所以A位置上的字母符号
  • 我编辑了我的答案,在 A 的位置也显示了 alpha。谢谢。
  • 是的,它可以在您的代码中运行...在您的代码中,而不是在我的代码中。由于我没有给出可重现的例子,我会接受这个答案。我会在自己的代码中做更多的研究。
  • 可能与kbl函数前列名的设置有关,例如:在data.frame 对象中。
  • 是的,应该是这样!谢谢你为我指明了那个方向。现在我正试图找到一种方法来解决这个问题。
猜你喜欢
  • 2021-02-25
  • 1970-01-01
  • 1970-01-01
  • 2021-02-21
  • 2017-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-10
相关资源
最近更新 更多