我使用 \inputminted 设置了多个不同的命令,这些命令具有不同的选项,但都使用相同的语言。以前,我可以使用 TeX 原语来输入所有命令,如下所示:
\def \usedlanguage{c}
\newcommand{\macro1}[1]{\inputminted[\breaklines,\fontsize\footnotesize]{\usedlanguage}{#1}
\newcommand{\macro2}[1]{\inputminted[\breaklines]{\usedlanguage}{#1}
ETC。
由于我最近更新了我的软件包,这导致我出现错误
错误:未找到别名 '\usedlanguage' 的词法分析器
有人遇到过此问题或类似问题并找到了解决方案吗?如能提供任何帮助,我将不胜感激。
答案1
@PolDellaiera 感谢您深入研究这个问题!正如一位名叫 muzimuzhi 的好心人在您的博客中指出的那样问题,这似乎是 minted v2.7 引入的一个错误。在此问题所提出的解决方法似乎对您有用,因此它可能对其他人也有效。
由于我的目标只是为正在使用的语言提供单一事实来源,因此我开始使用 \newmintedfile 来定义我的个人宏:
\newmintedfile[codefile]{c}{breaklines}
\newcommand{\macro1}[2][firstline=1]{\codefile[#1]{#2}}
\newcommand{\macro2}[2][fontsize=\footnotesize]{\codefile[#1]{#2}}
这样,当使用不同的语言时,我只需要更新代码文件的定义。