这是该帖子的后续问题:使用 minted 突出显示 Java 脚本代码并创建一个表格在 TeXStudio 中调用-shell-escape
标志是 OP 提出的两个问题之一。
当我使用 TeXMakerX 软件包运行我的文档时minted
,出现错误
minted Error: You must invoke LaTeX with the `-shell-escape` flag
如何-shell-escape
在 TeXMakerX 中调用?
答案1
首先,TeXMakerX 现在TeX工作室。如果您仍在运行 TeXMakerX,那么建议您升级到最新版本的 TeXStudio。
minted
用于奇特Pygments
的Python
配色方案。您需要调用该-shell-escape
选项,以便 LaTeX 允许使用 Pygments。
在 TeXStudio 中,点击以下菜单
选项 > 配置 TeXStudio > 命令
并改变
pdflatex -synctex=1 -interaction=nonstopmode %.tex
进入
pdflatex -synctex=1 -interaction=nonstopmode --shell-escape %.tex
编辑
正如 tohecz 在评论中提到的,出于安全原因,最好在 TeXStudio 中为此创建一个单独的命令。您可以通过单击来执行此操作
选项>配置TeXStudio>构建
并在用户命令框,单击+Add按钮并在第一个单元格中为命令添加名称,然后在第二个单元格中说出user:graphviz-pdflatex
命令。txs:///pdflatex/[--shell-escape]
然后你就可以看到菜单中列出的命令
工具 > 用户
答案2
TeXstudio 还提供了一种让文档直接使用“魔术”注释定义自己的构建命令的方法。
因此,您可以通过在文档中包含以下注释,将“编译”命令设置为使用 shell-escape 选项增强的 pdflatex:
% !TeX TXS-program:compile = txs:///pdflatex/[--shell-escape]
或者使用以下方法覆盖整个“pdflatex”命令(不推荐使用,因为它也会删除路径信息)
% !TeX TXS-program:pdflatex = pdflatex -synctex=1 -interaction=nonstopmode --shell-escape %.tex
答案3
另一种方法是,根据每个文档使用arara
,它是一个用于自动编译 (La)TeX 文件的工具。 arara
是 TeX Live 2012 的一部分,但如果您使用 MikTeX,则必须手动安装它。
要设置 TeXStudio,请添加新的用户命令,如 hpesoj626 的回答中所述,使用命令
arara %.tex
您必须在文档中添加一个或多个规则来定义要运行哪些命令,作为文件开头的“魔术”注释。要使用pdflatex
启用的 shell 转义进行编译,请添加
% arara: pdflatex: {shell: true}
在文件的开头.tex
,并使用刚刚创建的用户命令进行编译。