如何在 TeXStudio(以前称为 TeXMakerX)中使用 -shell-escape 标志调用 latex?

如何在 TeXStudio(以前称为 TeXMakerX)中使用 -shell-escape 标志调用 latex?

这是该帖子的后续问题:使用 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用于奇特PygmentsPython配色方案。您需要调用该-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,并使用刚刚创建的用户命令进行编译。

相关内容