如何在 OSX 版 TexShop 中自定义默认 xelatex 命令

如何在 OSX 版 TexShop 中自定义默认 xelatex 命令

我正在尝试使用该minted包来突出显示源代码,但遇到了一个错误,告诉我需要pygmentize结合有关--shell-escape标志的消息进行安装。

我确认正在运行

$ xelatex --shell-escape my.tex

可以正确编译,但通过 TexShop 编译似乎不会调用此标志,我找不到正确设置它的方法。在 TexShop 首选项中,我确实检查了命令是否pdfTeX设置了--shell-escape标志,但这似乎没有帮助或重要。

如果有人能告诉我如何将此标志告知 TexShop,xelatex我将不胜感激。

答案1

您将拥有一个 TeXShopEngines目录,其中包含每次点击按钮时都会调用的 shell 脚本Typeset。调用的脚本取决于您选择的引擎。对于 XeLaTeX,它通常是~/Library/TeXShop/Engines/XeLaTeX.engine默认的。

它看起来像这样:

#!/bin/tcsh

set path= ($path /Library/TeX/texbin /usr/texbin /usr/local/bin)
xelatex -file-line-error -synctex=1 "$1"

您可以使用文本编辑器打开它并-shell-escape直接添加标志,如下所示:

#!/bin/tcsh

set path= ($path /Library/TeX/texbin /usr/texbin /usr/local/bin)
xelatex -file-line-error -synctex=1 -shell-escape "$1"

当选择 XeLaTeX 时,TeXShop 将始终调用此脚本,但您可以将更改保存到新文件,例如XeLaTeX-shellescape.engine。两者都将出现在菜单中,您将能够设置魔法线使用这个新脚本:

% !TEX TS-program = XeLaTeX-shellescape

相关内容