如何解决为什么 RMarkdown 不能正确转义第二个 LaTeX 表?
我开发了 R 包 vtable,最近有人报告了这个错误,我觉得 RMarkdown 非常令人困惑。
具体来说,当编织到 PDF 时,我输出的第一个表格很好,但第二个表格没有正确转义。 但仅限于第一行。
这是一个例子:
---
title: "Untitled"
author: "Author"
date: "Date"
output: pdf_document
---
```{r setup,include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(vtable)
d <- data.frame(a = 1)
```
```{r b1,results = 'asis'}
vtable(d,out = 'latex')
```
```{r b2,out = 'latex')
```
请注意,如果我省略了 b2
块,这可以很好地构建为 PDF。但是有了它,构建就会失败,因为只有 first 表可以正常运行。在 .tex
输出中,它的代码是
\begin{table}[!htbp] \centering
\renewcommand*{\arraystretch}{1.1}
\caption{Variable Table}
\begin{tabular}{p{0.290909090909091\textwidth}p{0.145454545454545\textwidth}p{0.363636363636364\textwidth}}
\hline
\hline
Name & Class & Values \\
\hline
a & numeric & Num: 1 to 1\\
\hline
\hline
\end{tabular}
\end{table}
但是 第二个 搞砸了,其中一些字符被不正确地转义并被视为文本。更奇怪的是,只有第一行搞砸了。该表的 LaTeX 代码与前面的代码块完全相同,只是第一行是
\textbackslash begin\{table\}{[}!htbp{]} \centering
其余工作正常。如果我添加第三个/第四个/等等。表他们同样有一个混乱的第一行。
那么在 RMarkdown 中是什么导致仅 第二个和后续表的第一行被不正确地转义?而且,关于如何使表格正确显示的任何想法?谢谢!
解决方法
根据上面@user20650 的评论:
vtable()
的输出(通过 dftoHTML()
),在转义之前,开始
"\\begin{table}[!htbp] \\centering \n \\renewcommand*{\\arraystretch}{1.1} \n"
RMarkdown 很难处理所有这些换行符 \n
通过将前转义输出改为
"\\begin{table}[!htbp] \\centering \\renewcommand*{\\arraystretch}{1.1}"
问题解决了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。