如何让 bookdown 在 kableExtra 表头中正确渲染 LaTeX?

问题描述

我在 kableExtra (rmarkdown) 中使用 bookdown 包在 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 中某个地方错过的设置。如果需要,我会举一个例子。

非常感谢!

解决方法

你可以试试这个:

---
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)
```

-输出

enter image description here