Latex 使用pandoc启用shell转义

Latex 使用pandoc启用shell转义,latex,graphviz,pandoc,Latex,Graphviz,Pandoc,我试图在pandoc markdown文档中使用latex graphvis包。但是,似乎需要将-shell escape标志传递给latex。如何在pandoc上启用-shell转义 \digraph[scale=0.5]{MyGraph}{ Business -- Job; Job -- Task; Job -- User; Job -- PayRate; Task -- WorkSession; User -- WorkSession; PayRate -- WorkSession; }

我试图在pandoc markdown文档中使用latex graphvis包。但是,似乎需要将
-shell escape
标志传递给latex。如何在pandoc上启用
-shell转义

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

您可以告诉pandoc生成LaTeX,然后对输出执行任何操作

pandoc -o mydocument.tex mydocument.md
pdflatex -shell-escape mydocument.tex
Pandoc有一个
--latex引擎
选项来告诉它以不同的方式运行latex,但这只能是一个名为
pdflatex
lualatex
xelatex
的程序的路径。如果出于某种原因,您希望能够通过直接调用
pandoc
从Markdown生成PDF,则可以使用包装器脚本

pandoc --latex-engine=/path/to/pdflatex -o mydocument.pdf mydocument.md
其中
/path/to/pdflatex
是可执行的,并且包含(假设是类Unix系统)


pandoc现在可以通过
--LaTeX engine opt
标志将参数直接传递给LaTeX引擎。例如,要将
-shell escape
标志传递给
xelatex
,可以执行以下操作:

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

有一个pandoc过滤器可以在latex转换之前转换graphviz代码:;可能会更容易,并且适用于每种输出格式,而且不仅仅是latexy您应该更新您的答案:pandoc的最新版本告诉
——latex engine opt已被删除。改用--pdf引擎选项。
pandoc myfile.md -s -o myfile.pdf --latex-engine=xelatex --latex-engine-opt=-shell-escape