关于LATEX我有以下问题 . 我希望能够检测本地计算机上是否安装了指定的包 . 如果没有安装,我想创建虚拟环境,使用更常用的软件包 .

在我的特殊情况下,我想使用铸造我的项目 . 但这不是一件容易安装的事情 . 但无论他们是否已经安装了铸造,我至少希望其他人能够编译我的代码 .

我已经找到了一些(非自动)绕行的方法,通过定义一个名为minted的新lst-environment,以防未安装minted .

%nice Code using minted:
\usepackage{minted}
%alternative:
%\usepackage{listings}
%\lstnewenvironment{minted}[1]{\lstset{language=python}}{}

\begin{document}
    %some Text
    \begin{minted}[linenos]{python}
        %some Code
    \end{minted}
    %some Code
\end{document}

这有一些非常明显的缺陷:

  • 我无法拆分选项或留下一些选项 .

  • 它不能自动运行,但必须主动决定是使用列表还是铸造(即使现在只有一次)

  • 它仅适用于一种语言(可以定义多个版本,但这可能会很快失控)

关于如何更好地处理这个问题的建议非常受欢迎 .

非常感谢您,Börge