2

This is a follow up question to empty page afterpage listings.

I'm trying to work around a listings problem with etoolbox:

\documentclass{scrartcl}
\usepackage{listings}
\usepackage{afterpage}

\usepackage{etoolbox}
\AtBeginEnvironment{lstlisting}{\setbox0\vbox\bgroup}
\AtEndEnvironment{lstlisting}{\egroup\unvbox0}

\begin{document}
\afterpage{
%something
}

\begin{lstlisting}
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
\end{lstlisting}


\end{document}

But I get Missing } inserted \end{lstlisting}.

3

You need to use \BeforeBeginEnvironment, and \AfterEndEnvironment instead:

\documentclass{scrartcl}
\usepackage{listings}
\usepackage{afterpage}
\usepackage{etoolbox}

\BeforeBeginEnvironment{lstlisting}{\setbox0\vbox\bgroup}
\AfterEndEnvironment{lstlisting}{\egroup\unvbox0}

\begin{document}
\afterpage{
%something
}

\begin{lstlisting}
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
    asd 123 asd 123 asd 123 asd 123 asd 123 asd 123
\end{lstlisting}


\end{document}
  • works great, I must have missed this in the documentation. – someonr Oct 23 '12 at 18:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.