使用默认文件名将markdown转换为latex

时间:2013-07-17 21:08:37

标签: r knitr pandoc

我正在使用R package knitr生成降价文件test.md。然后,pandoc处理此文件以生成各种输出格式,例如html和pdf。因为我想通过bibtex生成pdf时使用latex,我相信我必须告诉pandoc停止中间乳胶输出,然后运行bibtex和{ {1}}我自己(两次)。这是我在工作流程中发现轻微烦恼的地方:我发现pdflatex保留中间tex文件而不是一直到pdf的唯一方法是通过{指定一个硬编码的文件名带有pandoc扩展名的{1}}选项。这对我来说是有问题的,因为我正在使用a config file通过-o通过.tex运行pandoc('test.md', "latex", "config.pandoc")选项,我希望在没有硬编码输出文件名的情况下保持通用:

knitr

反过来成为pandoc的以下命令,

format: latex
o: test.tex
s: 
S:
biblio: refs.bib
biblatex:
template: 'template.tex'
default-image-extension: pdf

如果我跳过pandoc -s -S --biblio=refs.bib --default-image-extension=pdf --biblatex --template='template.tex' -f markdown -t latex -o test.tex 'test.md' 选项,o: test.tex会生成pdf而不保留中间乳胶文件。如何在不指定此硬编码文件名的情况下保留tex文件?

1 个答案:

答案 0 :(得分:2)

为了解决这个问题,我在ext函数中添加了一个新参数pandoc()。它可用on Github now(knitr development version 1.3.6)。您可以覆盖默认文件扩展名,例如

library(knitr)
pandoc(..., ext = 'tex')