我正准备在rmarkdown中撰写出版物。没有问题产生.html文件或.docx文件,但是当我生成.pdf文件时,引用似乎不会继承.csl文件中定义的样式。
例如,我希望使用编号为.csl的样式:
[@Author_Title_2003]
- > (1)
在.html和.docx文件中哪个成功,但在.pdfs中我得到:
[@Author_Title_2003]
- > [作者,2003]
也印有方括号。
一个例子:
test.rmd:
---
title: 'My Title'
author: "Me me me me!"
output: pdf_document
bibliography: references.bib
csl: elsevier-vancouver.csl
---
Application written in the R programming language [@RCoreTeam] using the Shiny framework [@Chang2015].
# REFERENCES
references.bib:
@Misc{Chang2015,
Title = {shiny: Web Application Framework for R. R package version 0.12.1},
Author = {Chang, W. and Cheng, J. and Allaire, JJ. and Xie, Y. and McPherson, J. },
Year = {2015},
Type = {Computer Program},
Url = {http://CRAN.R-project.org/package=shiny}
}
@Article{RCoreTeam,
Title = {R: A Language and Environment for Statistical Computing},
Author = {{R Core Team}},
Year = {2015},
Type = {Journal Article},
Url = {http://www.R-project.org}
}
elsevier-vancouver.csl:link
运行rmarkdown::render("test.Rmd", "pdf_document")
给出:
/home/jordan/.cabal/bin/pandoc +RTS -K512m -RTS paper.utf8.md --to latex --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output paper.tex --template /home/jordan/R/x86_64-pc-linux-gnu-library/3.2/rmarkdown/rmd/latex/default-1.14.tex --highlight-style tango --latex-engine pdflatex --natbib --variable graphics=yes --variable 'geometry:margin=1in' --bibliography references.bib
输出文件是:
查看格式错误的引文。另请注意,无论标头中的csl参数如何,都会生成此格式。任何帮助将不胜感激。
pandoc版本1.15.2.1,pandoc-citeproc版本0.8.1.3。
答案 0 :(得分:1)
所以我在a)读取rmarkdown包装代码和b)更好地了解乳胶之后想出了发生了什么。我想我会在这里发布我的答案,万一有人遇到类似的问题。
简而言之,rmarkdown从.rmd文件生成.tex文件,然后使用latexmk
(或类似的R系统调用)处理.tex文件。乳胶引擎当然不会使用.csl样式文件,而 bibtex 使用.bst文件。
简而言之,对于.pdf文档中的格式化引用(从.rmd生成):
使用所需格式创建.bst文件,然后转换.tex R(Studio)手动生成的文件。
再次使用pandoc将.tex文件转换为pdf,可以使用.csl 进程中的文件。这似乎删除了超链接, 但是。