虽然我见过相关的问题,但我还没有看到过专门问这个问题。
我刚刚安装了该minted
软件包,发现必须使用命令行选项运行latex
/才能运行它。当然,我可以手动执行此操作,但如果我使用 怎么办?pdflatex
-shell-escape
latexmk
答案1
您可以直接将参数传递给latexmk
:
latexmk -shell-escape
手册页中没有提到此选项。手册页建议使用-e
第一个答案中也使用的选项。可以使用以下方法找到此选项以及许多其他选项:
latexmk -showextraoptions
命令输出以以下注释开始:
latexmk 识别的额外 latex 和 pdflatex 选项列表。这些选项按原样传递给 (pdf)latex。特定版本的 (pdf)latex 可能无法识别它们。[..]
已测试latexmk
版本
- 2015 年 1 月 1 日。版本 4.41
- 2019年12月26日,版本:4.67
答案2
如果您只需要执行一次,请运行:
latexmk -e '$latex=q/latex %O -shell-escape %S/'
或者
latexmk -e '$pdflatex=q/pdflatex %O -shell-escape %S/' -pdf
用于 PDF 输出。
如果你latexmk
想总是启用此选项运行时,您应该将以下内容放入您的.latexmkrc
文件中(是的,就是这样):
$latex = 'latex %O --shell-escape %S';
$pdflatex = 'pdflatex %O --shell-escape %S';
警告!
默认启用
--shell-escape
是危险的,因为它会使 latex 二进制文件在 latex 文件中执行任意 shell 命令。**
答案3
要使用文件启用shell-escape
所有*latex
命令latexmkrc
:
set_tex_cmds( '--shell-escape %O %S' );