我在一个全新的 bookdown 项目中有一个 pandoc 网格表:
# Hello bookdown
All chapters start with a first-level heading followed by your chapter title, like the line above. There should be only one first-level heading (`#`) per .Rmd file.
+---------------+---------------+--------------------+
| Fruit | Price | Advantages |
+===============+===============+====================+
| Bananas | $1.34 | - built-in wrapper |
| | | - bright color |
+---------------+---------------+--------------------+
| Oranges | $2.10 | - cures scurvy |
| | | - tasty |
+---------------+---------------+--------------------+
通过
bookdown::gitbook
和 bookdown::pdf_book
渲染为 html 和普通 pdf 没问题,但是通过 tufte::tufte_book
或 bookdown::tufte_book2
渲染为 tufte 格式失败,并显示:
! Undefined control sequence.
<argument> @{} >{\raggedright \arraybackslash
}p{(\columnwidth - 4\tabcolsep...
l.93 ...umnwidth - 4\tabcolsep) * \real{0.29}}@{}}
表结构与生成的其他表不同:
\begin{longtable}[]{@{}
>{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.22}}
>{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.22}}
>{\raggedright\arraybackslash}p{(\columnwidth - 4\tabcolsep) * \real{0.29}}@{}}
\toprule
Fruit & Price & Advantages \\
...
因此我认为问题的根源在于 tufte_book 所依赖的
tufte-latex
包,但我无法进一步缩小范围。
文档的 tex 代码是 here - 罪魁祸首部分从第 96 行开始。
这是 tufte 包中的问题。
现已在开发版本 0.10.2 中修复,可以从 github 安装
remotes::install_github("rstudio/tufte")
修复将在下一个版本 0.11 的 CRAN 上进行
如果您遇到与 OP 非常相似的错误,但在 tufte-latex 之外,您可能会遇到更改的 pandoc 表宽度计算,如此相关问题中所述。建议的解决方案是将
arrray
和 calc
添加到您的模板中,例如:
\usepackage{array,calc}