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

时间:2016-03-24 14:01:26

标签: r rstudio knitr r-markdown pandoc

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

我正在尝试使用R Studio编写一篇.Rmd格式的文章,Knit - > PDF,我一直关注http://rmarkdown.rstudio.com/authoring_bibliographies_and_citations.html有关如何让pandocpandoc-citeproc生成参考文献部分和引文的详细信息 在文中。

我的BibTeX引用包含在几个不同的.bib文件中,使用时 .Rnw文件中的LaTeX都可以在我的本地texmf树中找到

\bibliography{statistics, graphics}

我似乎无法使用pandoc-citeproc。我的YAML标题 有以下内容,适用于一个 .bib文件,只要它是 在与源.Rmd文件相同的目录中:

    ---
    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
    ---

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

bibliography: [statistics.bib,graphics.bib]

这给出了:

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文件都正确传递了]:

"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

以下所有表格都是如此:

    bibliography: ["statistics.bib","graphics.bib"]

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

    bibliography: 
      - statistics.bib
      - graphics.bib

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

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"

1 个答案:

答案 0 :(得分:2)

为了记录:我在https://github.com/jgm/pandoc-citeproc/issues/220

为pandoc-citeproc提出了这个问题

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

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

这样的东西会很不错
bibliography: 
  - `r system(kpsewhich statistics.bib)`
  - `r system(kpsewhich graphics.bib)`

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