pandoc/Rstudio 因“未定义的控制序列”而使简单的 Rmarkdown 文档失败

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

一个 RMarkdown 文件,例如这个:

---
title: "Reseña de *Lo sagrado y lo profano* de Mircea Eliade"
output:
  pdf_document: default
abstract: |
  "Lo sagrado y lo profano" es un libro interesante por las claves que aporta a la interpretación de la obra artística con motivo o origen religioso. La visión   del mundo a través de la experiencia humana de lo sagrado permite entender mejor el significado de elementos arquitectónicos, pictóricos y escultóricos desde   el inicil de las civilizaciones
bibliography: biblio.bib
---

Esta manifestación de lo sagrado, sentida individualmente como una experiencia de lo mismo, se denomina *hierofanía*, y Eliade afirma que es lo que le proporciona al mundo su entidad, su ser. La experiencia de lo sagrado, por tanto, le da sentido al mundo. En la descripción de esta experiencia menciona *Das Heilige*, de Rudolf Otto [@otto1926das], y cómo analiza el mismo las diferentes formas que puede adoptar esta experiencia religiosa.

## Bibliografía

附有提到的参考书目

@book{otto1926das,
  title={Das Heilige: Über das Irrationale in der Idee des Göttlichen und sein Verhältnis zum Rationalen},
  author={Otto, Rudolf},
  year={1926},
  publisher={Leopold Klotz Verlag}
}

尝试使用以下命令生成 LaTeX 时失败:

processing file: minimal.Rmd
output file: minimal.knit.md

! Undefined control sequence.
l.56 \NewDocumentCommand
                        \citeproctext{}{} 

删除引用即可解决问题;例如,它可以毫无困难地生成 HTML。我将

pandoc
升级到最新版本3.5。 RStudio 也是最新版本。我还没有发现任何有意义的搜索错误。有什么想法吗?

更新:按照评论中的建议,我将TexLive升级到最新版本。然而,同样的错误,因为

pandoc
似乎无法找到它。我已经设置了
PATH
环境变量以及
RSTUDIO_PDFLATEX
变量。然而,最后一个似乎更适合 RSTUDIO 直接使用。

latex r-markdown pandoc
1个回答
0
投票

这里有两个问题。第一个是 OP,一个未定义的序列。如此评论所示,Rstudio(通过

knitr
)生成使用
\NewDocumentCommand
的LaTeX代码,在后来的版本中引入了正在使用的代码。如果您可以升级系统TeXLive,就可以解决这个问题。

但是,第二个问题是,如果您无法升级系统 TexLive,而只是下载并安装到系统上可用的任何目录,会发生什么情况。 先验,RStudio(更重要的是,

pandoc
将继续使用系统一)。然而,另一条评论给出了答案:编辑
.Renviron
以显示这一点:

PATH=/usr/local/texlive/2024/bin/x86_64-linux/:$PATH
RSTUDIO_PDFLATEX=/usr/local/texlive/2024/bin/x86_64-linux/pdflatex

第一个命令将修改路径,以便每当 RStudio 中的任何其他命令调用

pdflatex
时,它都会使用新安装的路径。第二个将处理直接从 RStudio 内调用的
pdflatex
。这终于解决了问题,感谢
@samcarter_is_at_topanswers.xyz 
的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.