2013-07-17 3 views
2

나는 R package knitr을 사용하여 마크 다운 파일 test.md을 생성합니다. 이 파일은 pandoc에 의해 처리되어 html 및 pdf와 같은 다양한 출력 형식을 생성합니다. latex을 통해 pdf를 생성 할 때 bibtex을 사용하려고하기 때문에 pandoc에 중간 라텍스 출력에서 ​​중단하고 bibtexpdflatex 자신을 (두 번) 실행해야한다고 생각합니다. 여기 내 워크 플로에서 약간의 성가신 부분을 발견했습니다. pandoc에서 중간 tex 파일을 유지하면서 pdf로가는 유일한 방법은 -o 옵션을 사용하여 하드 코드 된 파일 이름을 지정하는 것입니다 (.tex). 신장. 다시 pandoc에 대해 다음 명령을하게기본 파일 이름을 사용하여 markdown을 latex로 변환

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

을 : 나는 하드 코딩 된 출력 파일 이름없이 일반적인 유지하고 싶은 옵션으로 knitr를 통해 pandoc('test.md', "latex", "config.pandoc")를 실행하는 a config file을 사용하고 있기 때문에 나에게 문제가

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 옵션을 건너 뛰면

, pandoc은 PDF를 생성하고 중간 라텍스 파일을 보관하지 않습니다. 이 하드 코드 된 파일 이름을 지정하지 않고 어떻게 tex 파일을 보존 할 수 있습니까?

+0

pandoc이 실제로 중간 tex 파일을 보관할 수없는 경우이를 고려할 것입니다. –

+0

하나의 옵션은'knitr :: pandoc()'호출에서'-o'를 지정하는 것이고, 기본값은 입력 파일과 동일한 기본 이름입니다. 그러나 판도니 (pandoc) 측면에서 해결책을 찾는 것이 더 좋을 것이라고 생각합니다. tex 파일을 보관하는 옵션을 놓친 가능성이 매우 높습니다. – baptiste

답변

2

내 측면에서이 문제를 해결하기 위해 이라는 새 인수를 pandoc() 함수에 추가했습니다. 사용할 수 있습니다 on Github now (knitr 개발 버전 1.3.6). 기본 파일 확장명을 재정의 할 수 있습니다.

library(knitr) 
pandoc(..., ext = 'tex') 
관련 문제