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}.

1 Answer 1

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}
1
  • works great, I must have missed this in the documentation.
    – someonr
    Oct 23, 2012 at 18:36

You must log in to answer this question.

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