我有一个简单的命令,它接受一个参数。现在我想将一个小的列表环境传递给该命令。
以下是代码:
\documentclass{article}
\usepackage{listings}
\begin{document}
\newcommand{\test}[1]{ #1 }
\test
{%
\begin{lstlisting}
asdf
\end{lstlisting}
}%
\end{document}
编译时出现此错误:
Package Listings Warning: Text dropped after begin of listing on input line 12.
(/usr/share/texmf-texlive/tex/latex/base/omscmr.fd))
*
如有任何建议我将非常感激。
答案1
不要这样做。lstlisting 是一个逐字逐句的环境,必须做很多\catcode
神奇的事情,如果你在参数中使用它,它将不起作用(https://texfaq.org/FAQ-verbwithin)。即使在某些情况下您可以让它工作,但其他情况下也容易出现故障。您可以尝试将您的列表放在外部文件中,然后使用\lstlistinginput{..}
。