我正在尝试在pandoc markdown文档中使用latex graphvis包。但是,似乎需要将-shell-escape
标志传递给latex。如何在pandoc上启用-shell-escape
?
\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 :(得分:3)
pandoc 现在可以通过--latex-engine-opt
标志将参数直接传递给LaTeX引擎。例如,为了将-shell-escape
标记传递给xelatex
,您可以执行以下操作:
pandoc myfile.md -s -o myfile.pdf --latex-engine=xelatex --latex-engine-opt=-shell-escape
答案 1 :(得分:2)
你可以告诉pandoc生成LaTeX,然后在输出上做任何你想做的事。
pandoc -o mydocument.tex mydocument.md
pdflatex -shell-escape mydocument.tex
Pandoc有一个--latex-engine
选项告诉它以不同的方式运行LaTeX,但这只能是一个名为pdflatex
,lualatex
或xelatex
的程序的路径。如果由于某种原因您希望能够通过直接调用pandoc
从Markdown生成PDF,则可以使用包装器脚本。
pandoc --latex-engine=/path/to/pdflatex -o mydocument.pdf mydocument.md
其中/path/to/pdflatex
是可执行的并且包含(假设类Unix系统)
#!/bin/sh
exec pdflatex -shell-escape "$@"