我经常在 Windows 上工作,所以需要使用 MiKTeX。我最近发现了一个minted
包,它需要调用外部命令pygmentize
。我目前xelatex
使用选项调用-shell-escape
来支持这一点,但我不想让恶意 latex 文件完全访问我的系统。TeXLive 有这个--restricted-shell-escape
选项,这是我想要的,但它似乎在 MiKTeX 上不可用。我确实找到了对的引用--shell-restricted
,但我不知道这是否是我想要的,如果这是我想要的,我不知道如何使用它。
有没有--shell-restricted
办法告诉 XeLaTeX 运行pygmentize
但不运行del /F /S /Q C:\*.*
?如果是这样,我该如何使用它?如果没有,有没有这样的方法,我该如何使用它?如果可以,你能否将我链接到有关该主题的官方文档?
答案1
MiKTeX 包含允许运行一组受限命令的选项--restrict-write18
:默认情况下,最新的 MiKTeX 会启用此功能。但是,要使此功能正常工作,minted
还有两个其他问题。首先,您需要将其添加pygmentize
到允许的命令列表中:最好对此提出一个单独的问题(可能针对“一般情况”)。其次,在运行之前minted
检查是否完全启用\write18
:要绕过这一点,需要修改软件包版本或请求软件包作者更改代码。
顺便说一句,TeX Live 在 Windows 上运行良好,但当然你仍然需要处理这两个警告。