2016-03-24 6 views
5

[Meine Umgebung: Win 7 Pro/R 3.2.1/knitr_1.12.3/R Studio Version 0.99.892]rmarkdown: wie mehrere Bibliographien für ein Dokument verwenden

Ich versuche, einen Artikel in .Rmd zu schreiben formatieren Sie mit R Studio, Knit -> PDF, und ich habe http://rmarkdown.rstudio.com/authoring_bibliographies_and_citations.html für Details verfolgt, wie man pandoc und pandoc-citeproc erhält, um einen Verweiseabschnitt und Zitate im Text zu produzieren.

Meine BibTeX-Referenzen sind in verschiedenen .bib Dateien, die, wenn sie LaTeX in .Rnw Dateien verwenden, werden alle in meinem lokalen texmf-Baum über

\bibliography{statistics, graphics} 

Ich scheine nicht gefunden, dies zu machen arbeiten mit pandoc-citeproc. Mein YAML Header Folgendes, die für ein.bib Datei funktioniert, solange es im selben Verzeichnis wie die Quelle .Rmd Datei ist:

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

Nach Beratung in dem obigen Link gegeben, habe ich versucht, :

bibliography: [statistics.bib,graphics.bib] 

ergibt dies:

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 

[Edit: Für Vollständigkeit, zeige ich den generierten pandoc Befehl, wo es sieht aus wie beide bib-Dateien korrekt übergeben werden]:

"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 

So tun, um alle folgenden Formen annehmen:

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

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

    bibliography: 
     - statistics.bib 
     - graphics.bib 

Idealerweise I Ich möchte eines der folgenden Formulare verwenden und die BIB-Dateien nicht in das Dokumentverzeichnis kopieren müssen.

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" 

Antwort

1

Für das Protokoll: Ich hob dies als ein Problem für pandoc-citeproc bei https://github.com/jgm/pandoc-citeproc/issues/220

Es stellt sich heraus, dass es Probleme, wie pandoc-citeproc behandelt einige Zeichen in @{string={}} und Nicht-ASCII-Zeichen in .bib Dateien Also, was ich jetzt versuchte, funktioniert mit fest codierten Pfadnamen in allen Formen, die ich probiert habe.

Um es mehr wie die Verarbeitung von .Rnw Dateien über Latex/BIBTEX funktioniert wäre es schön, etwas zu können, verwenden wie

bibliography: 
    - `r system(kpsewhich statistics.bib)` 
    - `r system(kpsewhich graphics.bib)` 

diese Befehle tun, die richtigen Dateien in einer R-Sitzung zu finden, aber nicht von einem YAML-Header.