我正在寻找一种在lstlisting
转义符内切换条件的方法。
MWE:我预计会这样
\documentclass{minimal}
\usepackage{listings}
\lstset{escapechar=\%}
\newif\ifa
\newcommand\x{\ifa a \else b \fi}
\begin{document}
\begin{lstlisting}
%\atrue%
x := %\x%
%\afalse%
x := %\x%
\end{lstlisting}
\end{document}
输出
x := a
x := b
相反,我得到
x := b
x := b
对于使用切换的类似代码也会发生同样的情况etoolbox
。