【发布时间】:2020-03-30 07:19:33
【问题描述】:
在尝试创建引文时(针对 pandoc 版本 2.8.0.1 和 R 版本 3.6.1),将 RMarkdown 文件编织到 PDF 失败(在 RStudio 版本 1.2.1335 中)。 (例如,编织成 HTML 时不会发生这种情况。)
这是一个小代表。前任。在 RMarkdown 中:
---
title: "Rep. Ex. for 'LaTeX Error: Environment cslreferences undefined'"
output:
pdf_document: default
bibliography: report.bib
---
```{r generate-bibtex-file, include=FALSE}
knitr::write_bib(file = "report.bib", prefix = "")
```
# Used R version
R 3.6.1 [@base]
# References
将其编织为最终输出(在我的机器上):
"C:/PROGRA~1/Pandoc/pandoc" +RTS -K512m -RTS RepEx.utf8.md --to latex --from markdown+autolink_bare_uris+tex_math_single_backslash --output RepEx.tex --template "C: \Users\gcb7\Documents\R\win-library\3.6\rmarkdown\rmd\latex\default-1.17.0.2.tex" --highlight-style tango --pdf-engine pdflatex --variable graphics=yes --lua -filter "C:/Users/gcb7/Documents/R/win-library/3.6/rmarkdown/rmd/lua/pagebreak.lua" --lua-filter "C:/Users/gcb7/Documents/R/win-library /3.6/rmarkdown/rmd/lua/latex-div.lua" --variable "geometry:margin=1in" --variable "compact-title:yes" --filter "C:/PROGRA~1/Pandoc/pandoc- citeproc.exe" 输出文件:RepEx.knit.md
! LaTeX 错误:环境 cslreferences 未定义。
这似乎是在最近更新 pandoc 2.8.0.1 之后开始的,我刚刚在https://pandoc.org/releases.html 上发现,在 2.8 中似乎已经在 cslreferences 环境中进行了一些更改(但到目前为止似乎有pandoc-discuss 或相应的 github 错误跟踪器上没有出现任何内容)。
有什么想法吗?
【问题讨论】:
-
谢谢!是的,ideed,但是这个例子是/不可重现的,当我发布我的问题时,与 pandoc 的关系尚未建立(由于声誉不足,我不允许发表评论),目前还没有解决方案。
-
这个问题已经在几个月前被报告了(github.com/rstudio/rmarkdown/issues/1649),我已经修复了它。你没有提供你的
xfun::session_info('rmarkdown'),但我猜你没有使用最新版本的 rmarkdown。 When in doubt, try to update your packages. BTW,由于您使用的是RStudio,因此无需单独安装Pandoc--当前版本的RStudio捆绑了较低版本的Pandoc,不会产生此问题。如果你必须自己安装 Pandoc,你可以安装 Pandoc -
谢谢,一辉。恢复到旧版本的 Pandoc (2.7.2) 解决了这个问题。
-
请注意,如果您使用的是 rticles,那么要解决此问题,您必须使用
remotes::install_github('rstudio/rticles')更新 rticles
标签: r latex r-markdown knitr pandoc