首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rmarkdown:如何为文档使用多个书目

rmarkdown:如何为文档使用多个书目
EN

Stack Overflow用户
提问于 2016-03-24 14:01:25
回答 1查看 2.9K关注 0票数 11

我的环境: Win 7 Pro /R 3.2.1 / knitr_1.12.3 /R Studio版本0.99.892

我试图用section编写一篇.Rmd格式的文章,编制-> PDF,我一直在跟踪citations.html,了解如何让pandocpandoc-citeproc在文本中生成参考部分和引文。

我的BibTeX引用在几个不同的.bib文件中,当在.Rnw文件中使用LaTeX时,所有这些引用都可以通过(本地文本My树)找到。

代码语言:javascript
复制
\bibliography{statistics, graphics}

我似乎无法用pandoc-citeproc来完成这个任务。我的YAML头具有以下内容,它适用于one .bib文件,只要它与源.Rmd文件位于同一个目录中:

代码语言:javascript
复制
    ---
    title: "Notes on Testing Equality of Covariance Matrices"
    author: "Michael Friendly"
    date: '`r format(Sys.time(), "%B %d, %Y")`'
    output:
      pdf_document:
        fig_caption: yes
        keep_tex: yes
        number_sections: yes
    csl: apa.csl
    bibliography: statistics.bib
    ---

根据上面给出的链接中的建议,我尝试:

代码语言:javascript
复制
bibliography: [statistics.bib,graphics.bib]

这意味着:

代码语言:javascript
复制
pandoc-citeproc.exe: "stdin" (line 50, column 12):
unexpected ":"
expecting letter, digit, white space or "="
pandoc.exe: Error running filter pandoc-citeproc
Filter returned error status 1

编辑:为了完整起见,我展示了生成的pandoc命令,其中看起来两个.bib文件都被正确传递了。

代码语言:javascript
复制
"C:/Program Files/RStudio/bin/pandoc/pandoc" +RTS -K512m -RTS EqCov.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash --output EqCov.pdf --template "C:\R\R-3.2.1\library\rmarkdown\rmd\latex\default-1.15.2.tex" --number-sections --highlight-style tango --latex-engine pdflatex --variable graphics=yes --variable "geometry:margin=1in" --bibliography statistics.bib --bibliography graphics.bib --filter pandoc-citeproc 
output file: EqCov.knit.md

所有下列表格也是如此:

代码语言:javascript
复制
    bibliography: ["statistics.bib","graphics.bib"]

    bibliography: 
      - "statistics.bib"
      - "graphics.bib"

    bibliography: 
      - statistics.bib
      - graphics.bib

理想情况下,我希望能够使用以下表单之一,而不必将.bib文件复制到文档目录。

代码语言:javascript
复制
bibliography: ["C:/Dropbox/localtexmf/bibtex/bib/statistics.bib","C:/Dropbox/localtexmf/bibtex/bib/graphics.bib"]

bibliography: 
 - "C:/Dropbox/localtexmf/bibtex/bib/statistics.bib"
 - "C:/Dropbox/localtexmf/bibtex/bib/graphics.bib"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-24 21:32:32

为了记录在案:我在https://github.com/jgm/pandoc-citeproc/issues/220上向pandoc提出了这个问题。

事实证明,在pandoc-citeproc如何处理@{string={}}中的某些字符和.bib文件中的非ASCII字符方面存在问题,所以我现在尝试的是使用硬编码的路径名,以我尝试过的所有形式工作。

为了使它更像通过Latex/bibtex处理.Rnw文件,能够使用类似于

代码语言:javascript
复制
bibliography: 
  - `r system(kpsewhich statistics.bib)`
  - `r system(kpsewhich graphics.bib)`

这些命令确实会在R会话中找到正确的文件,但不会从YAML头找到正确的文件。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36202023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档