![如果未启用 --shell-escape,我该如何抛出错误?](https://linux22.com/image/412291/%E5%A6%82%E6%9E%9C%E6%9C%AA%E5%90%AF%E7%94%A8%20--shell-escape%EF%BC%8C%E6%88%91%E8%AF%A5%E5%A6%82%E4%BD%95%E6%8A%9B%E5%87%BA%E9%94%99%E8%AF%AF%EF%BC%9F.png)
我正在编写一个大量使用 的文档\includesvg
,而这又需要--shell-escape
,以便它可以调用 inkscape。我(像往常一样)从终端进行编译,并且真的不想使用 的别名pdflatex
,pdflatex --shell-escape
但我总是忘记使用 参数。
如果未启用,是否有办法在我的文档源中获取错误?我特别不想要警告,我希望编译在此停止,而不是在许多“PDF 包含:单个页面中包含页面组的多个 pdf”警告时停止。
答案1
还有较低级别的方法
但
\usepackage{shellesc}
将为您提供 \ShellEscapeStatus
0(禁用)1(允许)2(默认=受限)
所以
\ifnum\ShellEscapeStatus=1 \else
\PackageError{mypackage}{use shell escape}{or else}
\fi