Q: Conditionals in lstlistings I am trying to put in some lines of code using the lstlistings-package but the code differs on conditionals. How can I only change some lines depending on the conditional?
Assume I have the If: \newif\ifshell. If it is true there should be the following code in a lst-environment:
pdprint -l

and a few other lines (which are the same for both, true and false).
If \shell is false, there should be pdfprintsvr -l and the other lines instead.
How can I include the conditional inside the lst-environment?
Thanks in advance

A: You can define an escape character. 
In the following example I've choosen % (in this case it has to be escaped because it has a special meaning). You can choose the one you prefer, namely one you don't use inside the lstlisting environment.
This is the code:
\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}

and this is the output:

