2016-03-23 12 views
1

我試圖在pandoc markdown文檔中使用latex的graphvis軟件包。但它似乎要求-shell-escape標誌被傳遞給膠乳。我如何在pandoc上啓用-shell-escape使用pandoc啓用shell轉義

\digraph[scale=0.5]{MyGraph}{ 
Business -- Job; 
Job -- Task; 
Job -- User; 
Job -- PayRate; 
Task -- WorkSession; 
User -- WorkSession; 
PayRate -- WorkSession; 
} 

http://mark.aufflick.com/blog/2007/03/25/embedding-graphviz-in-latex-documents

+0

有一個pandoc過濾器,可乳膠轉換之前轉換的graphviz代碼:https://raw.githubusercontent.com/jgm/pandocfilters /master/examples/graphviz.py;可能會更容易,並且適用於每種輸出格式,而不僅僅是膠乳 – scoa

回答

2

你可以告訴pandoc產生乳膠,然後做任何你想要的輸出。

pandoc -o mydocument.tex mydocument.md 
pdflatex -shell-escape mydocument.tex 

Pandoc有--latex-engine選項告訴它以不同的方式運行乳膠,但這隻能是一個叫pdflatexlualatexxelatex程序的路徑。如果由於某種原因您希望能夠直接通過調用pandoc來從Markdown生成PDF,則可以使用包裝腳本。

pandoc --latex-engine=/path/to/pdflatex -o mydocument.pdf mydocument.md 

其中/path/to/pdflatex是可執行的,並且包含(假定類似Unix的系統)

#!/bin/sh 
exec pdflatex -shell-escape "[email protected]" 
1

pandoc現在可以通過--latex-engine-opt標誌直接傳遞參數到膠乳發動機。作爲一個例子,爲了給-shell-escape標誌傳遞給xelatex你可以這樣做:

pandoc myfile.md -s -o myfile.pdf --latex-engine=xelatex --latex-engine-opt=-shell-escape