使用带有宏的 lstlisting 环境?
我尝试定义一个宏,以便我快速创建一个列表环境。定义看起来像这样:
% \def \lstlistingcode[#1] { \begin{lstlisting}#1\end{lstlisting} }
以错误结束:
job aborted, no legal \end found
是否可以在宏中使用环境,如果可以,如何使用?
I tried to define a macro, for me to quickly create a listing environment. The definition looked like that:
% \def \lstlistingcode[#1] { \begin{lstlisting}#1\end{lstlisting} }
which ends in an Error:
job aborted, no legal \end found
Is it possible to use environments within macros, and if yes - how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有些环境可以,例如 alltt;然而,lstlisting 不能,因为它的编写方式(它显然与它所做的各种 catcode 内容有关)。
像你一样使用 \def 有点过时了;首选 \newcommand:
\newcommand \allttcode[1] { \begin{alltt}#1\end{alltt} }
...
\allttcode{test}
Some environments can, e.g. alltt; however, lstlisting can't, because of how it is written (it apparently has to do with various catcode stuff that it does).
Using \def as you do is sort of outdated; \newcommand is preferred:
\newcommand \allttcode[1] { \begin{alltt}#1\end{alltt} }
...
\allttcode{test}