如果未启用 --shell-escape,我该如何抛出错误?

如果未启用 --shell-escape,我该如何抛出错误?

我正在编写一个大量使用 的文档\includesvg,而这又需要--shell-escape,以便它可以调用 inkscape。我(像往常一样)从终端进行编译,并且真的不想使用 的别名pdflatexpdflatex --shell-escape但我总是忘记使用 参数。

如果未启用,是否有办法在我的文档源中获取错误?我特别不想要警告,我希望编译在此停止,而不是在许多“PDF 包含:单个页面中包含页面组的多个 pdf”警告时停止。

答案1

还有较低级别的方法

\usepackage{shellesc}

将为您提供 \ShellEscapeStatus0(禁用)1(允许)2(默认=受限)

所以

\ifnum\ShellEscapeStatus=1 \else
\PackageError{mypackage}{use shell escape}{or else}
\fi

相关内容