beamer, literalmente e `\end{frame}`

beamer, literalmente e `\end{frame}`

a partir do TL2018 atual, um arquivo beamer/verbatim mínimo contendo uma linha \end{frame}no código literal falha ao compilar:

\documentclass{beamer}
\usepackage{fancyvrb}
\begin{document}
\begin{frame}[fragile]
\begin{verbatim}
\documentclass{beamer}
\begin{document}
\begin{frame}{My first slide}
Hello World
\end{frame}
\end{document}
\end{verbatim}
  Hello
\end{frame}
\end{document}

Se eu comentar a \end{frame}linha no bloco literal, tudo estará bem.

O erro é

Runaway argument?
^^M\documentclass{beamer}^^M\begin{document}^^M\begin{frame}{My first\ETC.
! File ended while scanning use of \@xverbatim.
<inserted text> 
                \par 
l.10 \end{frame}

Responder1

Aninhar quadros para documentar beamerem si é, obviamente, um caso um tanto especial. Aqui, você pode usar a capacidade de criar um ambiente de 'nome alternativo'.

\documentclass{beamer}
\newenvironment{slide}{\begin{frame}[fragile,environment=slide]}{\end{frame}}
\begin{document}
\begin{slide}
\begin{verbatim}
\documentclass{beamer}
\begin{document}
\begin{frame}{My first slide}
Hello World
\end{frame}
\end{document}
\end{verbatim}
  Hello
\end{slide}
\end{document}

informação relacionada