我在这里看到了一个介绍-shell-escape
:https://tex.stackexchange.com/a/598819/180617
minted
我知道如果我想使用像或这样的包tkz-fct
,我必须使用pdflatex --shell-escape main
编译main.tex
。因为它们调用pygments
或Gnuplot
尽管正在编译。
在那个介绍中,我意识到存在一个restrict shell escape
,*latex.tex
用这种模式进行编译。
默认设置通常是“受限 Shell 转义”,这允许默认调用少量程序(以不允许 shell 重定向的受限形式),这些是(在默认的 TeX Live 2021 配置中)
比博特
bibtex8
提取bb
格雷戈里奥
卡普塞维德
制作索引
韓國
r-mpost
texosquery-jre8
我的第一个问题是编译时将pdflatex
调用类似bibtex
或的东西makeindex
? 因为在我的用法中,我会追随bibtex main
,pdflatex main
而不是在 pdflatex main
。
我的第二个问题是我应该什么时候使用--no-shell-escape
?
答案1
imakeidx
例如,该包将调用makindex
而无需您明确调用它。/ graphics
如果包含 EPS 文件,它将在后台graphicx
调用,如果包含 PNG 和其他位图格式,它将调用以获取图像大小。repstopdf
extractbb
何时关闭它是个人选择,您可能希望有一种更接近教科书的行为,这\write18
并不意味着运行系统命令,或者您可能想要额外的安全性并且不相信受限 shell 转义列表中允许的命令实际上是安全的。
这份列表经过深思熟虑,确保程序不允许提升权限,例如,repstopdf
自定义配置中epstopdf
禁用了允许 ghostscript 运行外部代码的任何功能。因此,大多数人大多数时候都使用默认的受限 shell 转义设置。