Pandoc 无法从降价(和 R 降价)中呈现有效的 LaTeX 宏定义
Pandoc fails to render valid LaTeX macro definitions from markdown (and R markdown)
在 R 中,我有包含 LaTeX 宏定义的字符对象。这
挑战在于在 R Markdown 文档中使用这些对象,以便
当 .Rmd 文件转换为
LaTeX(然后到 PDF)。这是一个挑战,因为 Pandoc(v2.9.1 和 2.9.2)
无法正确呈现某些宏生成代码,即使那样
代码是有效的 LaTeX。
这是一个最小的例子。首先,考虑这个 Rmd 文件:
---
title: "Rendering LaTeX Macros from R Objects"
output:
pdf_document:
keep_md: true
keep_tex: true
---
```{r}
withoutBraces <- "\newcommand\withoutBraces{This is a sentence.}"
withBraces <- "\newcommand{withBraces}{This is a sentence.}"
```
```{r, results = "asis"}
writeLines(withoutBraces)
writeLines(withBraces)
```
从 RStudio 编织这个 .Rmd 文件会生成一个 .tex 文件,其中包含
以下输出:
\newcommand\withoutBraces{This is a sentence.}
但是
\textbackslash newcommand\{withBraces\}\{This is a sentence.\}
换句话说,\withoutBraces
命令在 .tex 中正确呈现
文档,但 \withBraces
命令不是。检查
显示编织过程中的 rmarkdown::render()
部分很好,在
它产生一个没有问题的 .md 文件的感觉。问题在于
pandoc:当它将 .md 文件转换为 .tex 文件时,\withBraces
命令未正确呈现。
如果我写的是 .md 文件而不是 .Rmd 文件,我可以使用“generic raw
attributes" 在我的代码块中获取 \withoutBraces
宏定义
正确呈现,如 这个来自
@mb21。但我没有办法
在处理 R Markdown 文件时这样做。有什么我可以做的吗
让 \withoutBraces
定义在我编织时正确呈现
.Rmd 文件到 LaTeX 和 PDF?
问题出在我的 LaTeX 格式错误上,与 pandoc 无关。我写了
withBraces <- "\newcommand{withBraces}{This is a sentence.}"
我应该写的时候
withBraces <- "\newcommand{\withBraces}{This is a sentence.}"
当我使用第二个字符串而不是第一个字符串时,转换为 LaTeX 没有问题。
在 R 中,我有包含 LaTeX 宏定义的字符对象。这 挑战在于在 R Markdown 文档中使用这些对象,以便 当 .Rmd 文件转换为 LaTeX(然后到 PDF)。这是一个挑战,因为 Pandoc(v2.9.1 和 2.9.2) 无法正确呈现某些宏生成代码,即使那样 代码是有效的 LaTeX。
这是一个最小的例子。首先,考虑这个 Rmd 文件:
---
title: "Rendering LaTeX Macros from R Objects"
output:
pdf_document:
keep_md: true
keep_tex: true
---
```{r}
withoutBraces <- "\newcommand\withoutBraces{This is a sentence.}"
withBraces <- "\newcommand{withBraces}{This is a sentence.}"
```
```{r, results = "asis"}
writeLines(withoutBraces)
writeLines(withBraces)
```
从 RStudio 编织这个 .Rmd 文件会生成一个 .tex 文件,其中包含 以下输出:
\newcommand\withoutBraces{This is a sentence.}
但是
\textbackslash newcommand\{withBraces\}\{This is a sentence.\}
换句话说,\withoutBraces
命令在 .tex 中正确呈现
文档,但 \withBraces
命令不是。检查
显示编织过程中的 rmarkdown::render()
部分很好,在
它产生一个没有问题的 .md 文件的感觉。问题在于
pandoc:当它将 .md 文件转换为 .tex 文件时,\withBraces
命令未正确呈现。
如果我写的是 .md 文件而不是 .Rmd 文件,我可以使用“generic raw
attributes" 在我的代码块中获取 \withoutBraces
宏定义
正确呈现,如 这个来自
@mb21。但我没有办法
在处理 R Markdown 文件时这样做。有什么我可以做的吗
让 \withoutBraces
定义在我编织时正确呈现
.Rmd 文件到 LaTeX 和 PDF?
问题出在我的 LaTeX 格式错误上,与 pandoc 无关。我写了
withBraces <- "\newcommand{withBraces}{This is a sentence.}"
我应该写的时候
withBraces <- "\newcommand{\withBraces}{This is a sentence.}"
当我使用第二个字符串而不是第一个字符串时,转换为 LaTeX 没有问题。