如同显示符号及其命令的新命令我想要一个命令来显示和执行代码。代码应该与 listings 包一起显示。
例如
\documentclass{scrartcl}
\usepackage{amsmath,listings}
\newcommand*{\codeExample}[1]{Code: \lstinline!\string{#1}! yields #1}
\begin{document}
\codeExample{$\lVert a\rVert$}
\end{document}
最好的情况下应该显示$\lVert a \rVert$
为逐字(\lstinline!...!
)代码,然后显示呈现的数学代码。这样的事情可能吗?上面的代码产生了几个错误。我想我错过了一些避免#1
被标记化的东西?
答案1
答案2
由于\scantokens
很难正确使用,我建议使用可以expl3
解决所有陷阱的实现。总而言之,这与@HenriMenke 的回答,但更加稳健:
\documentclass{scrartcl}
\usepackage{amsmath,xparse}
\ExplSyntaxOn
\NewDocumentCommand\codeExample{v}
{
Code:~\texttt{#1}~yields~\tl_rescan:nn {} {#1}
}
\ExplSyntaxOff
\begin{document}
\codeExample{$\lVert a\rVert$}
\end{document}