列表中的条件

列表中的条件

我正在尝试使用 lstlistings-package 输入几行代码,但代码因条件而异。我怎样才能根据条件仅更改几行代码?

假设我有 If: \newif\ifshell。如果它是真的,那么在 lst 环境中应该有以下代码:

pdprint -l

以及其他几行(对于真和假都是相同的)。

如果\shell为假,则应该有pdfprintsvr -l和其他行。

我如何加入条件里面lst 环境?提前致谢

答案1

您可以定义一个转义字符。

在下面的例子中,我选择了%(在这种情况下,必须对其进行转义,因为它具有特殊含义)。您可以选择您喜欢的一个,即您在环境中不使用的一个lstlisting

这是代码:

\documentclass{article}
\usepackage{listings}

\begin{document}

\newif\ifshell

\section{Shell=true}

\shelltrue
\begin{lstlisting}[escapeinside={\%}{\%}]
%\ifshell%
pdprint -l
%\else%
pdfprintsvr -l
%\fi%
\end{lstlisting}

\section{Shell=false}

\shellfalse
\begin{lstlisting}[escapeinside={\%}{\%}]
%\ifshell%
pdprint -l
%\else%
pdfprintsvr -l
%\fi%
\end{lstlisting}

\end{document}

输出结果如下:

在此处输入图片描述

相关内容