beamer、verbatim、および `\end{frame}`

beamer、verbatim、および `\end{frame}`

現在の TL2018 では、\end{frame}verbatim コードに次の行を含む最小限の beamer/verbatim ファイルはコンパイルに失敗します。

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

\end{frame}逐語的ブロック内の行をコメント化すれば、すべて問題ありません。

エラーは

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}

答え1

もちろん、フレームをネストしてbeamerそれ自体を文書化するのは、やや特殊なケースです。ここでは、「別名」環境を作成する機能を使用できます。

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

関連情報