何时使用 `--no-shell-escape`?

何时使用 `--no-shell-escape`?

我在这里看到了一个介绍-shell-escapehttps://tex.stackexchange.com/a/598819/180617

minted我知道如果我想使用像或这样的包tkz-fct,我必须使用pdflatex --shell-escape main编译main.tex。因为它们调用pygmentsGnuplot 尽管正在编译。

在那个介绍中,我意识到存在一个restrict shell escape,*latex.tex用这种模式进行编译。

默认设置通常是“受限 Shell 转义”,这允许默认调用少量程序(以不允许 shell 重定向的受限形式),这些是(在默认的 TeX Live 2021 配置中)

比博特

bibtex8

提取bb

格雷戈里奥

卡普塞维德

制作索引

韓國

r-mpost

texosquery-jre8

我的第一个问题是编译时将pdflatex调用类似bibtex或的东西makeindex? 因为在我的用法中,我会追随bibtex mainpdflatex main而不是 pdflatex main

我的第二个问题是我应该什么时候使用--no-shell-escape

答案1

imakeidx例如,该包将调用makindex而无需您明确调用它。/ graphics如果包含 EPS 文件,它将在后台graphicx调用,如果包含 PNG 和其他位图格式,它将调用以获取图像大小。repstopdfextractbb

何时关闭它是个人选择,您可能希望有一种更接近教科书的行为,这\write18并不意味着运行系统命令,或者您可能想要额外的安全性并且不相信受限 shell 转义列表中允许的命令实际上是安全的。

这份列表经过深思熟虑,确保程序不允许提升权限,例如,repstopdf自定义配置中epstopdf禁用了允许 ghostscript 运行外部代码的任何功能。因此,大多数人大多数时候都使用默认的受限 shell 转义设置。

相关内容