使用 tufte-latex 包时未定义的控制序列

问题描述 投票:0回答:2

我在一个全新的 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 行开始。

latex r-markdown bookdown
2个回答
3
投票

这是 tufte 包中的问题。

现已在开发版本 0.10.2 中修复,可以从 github 安装

remotes::install_github("rstudio/tufte")

修复将在下一个版本 0.11 的 CRAN 上进行


1
投票

如果您遇到与 OP 非常相似的错误,但在 tufte-latex 之外,您可能会遇到更改的 pandoc 表宽度计算,如此相关问题中所述。建议的解决方案是将

arrray
calc
添加到您的模板中,例如:

\usepackage{array,calc}
© www.soinside.com 2019 - 2024. All rights reserved.