该minted
软件包要求我启用不受限制的 shell 转义 ( -shell-escape
)。这有点危险:这意味着恶意 latex 文件可以运行任意命令并覆盖文件系统上的任意文件。
有没有办法在不启用不受限制的 shell 转义的情况下使用minted
?我知道它需要调用 Pygmentize 程序,它会调用ifplatform
运行uname
shell 命令的程序。我注意到有一个“受限 shell 转义”功能;有没有办法在受限 shell 转义的情况下使用minted
。或者还有其他方法可以降低风险?
答案1
最近发布的版本有一个finalizecache
选项,可以以不太瞬时的形式保存缓存,然后您可以更改文档以使用该frozencache
选项,从那时起--shell-escape
就不再需要它,它只使用缓存中现成的文件。
这意味着您仍然需要 shell-escape 来创建突出显示,但您可以以无需访问 shell 即可运行的形式将文档提供给某人。