1

I would like to define a command that wraps a lstlisting environment in some other environments (esp. a minipage). I understand that working with verbatim arguments is a difficult task. I tried the xparse package which provides the argument type v, but code like

\DeclareDocumentCommand{\prog}{v}{\begin{lstlisting}#1\end{lstlisting}}

does not work. Can anybody give me advice on that?

Is it any easier if I use an environment instead of a command?

3
  • 2
    The lstlisting environment cannot go in the argument of a command. It can go in a minipage without any problem.
    – egreg
    Mar 24, 2013 at 17:33
  • There isn't any way to circumvent this? Maybe I have to find out how lstlisting handles the "verbatim problem" and try to mimick it... Mar 24, 2013 at 17:41
  • 2
    No, there isn't. Moreover, when you put some tokens in the argument to a command you lose the line endings.
    – egreg
    Mar 24, 2013 at 17:46

1 Answer 1

3

You can use lstlisting environment with minipage using \lstnewenvironment:

\lstnewenvironment{wrappedlisting}{\noindent\minipage{\linewidth}}{\endminipage}

And use it like the any other environment:

\begin{wrappedlisting}
...
\end{wrappedlisting}
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .