框架中的铸造环境导致错误

框架中的铸造环境导致错误

pythonTEX 的 overleaf 模板.我将其文档类改为投影机然后我发现以下代码有一个奇怪的错误:

\begin{frame}{Example}
\begin{minted}{latex}
\py{2+2}
\end{minted}
\end{frame}

错误信息:

Runaway argument?
 \py {2+2} \end {minted} 
Paragraph ended before \FV@BeginScanning was complete.
<to be read again> 
                   \par 
l.44 \end{frame}

一个简单的改变就可以让它运行良好:

\begin{frame}[fragile]
\frametitle{Example}
\begin{minted}{latex}
\py{2+2}
\end{minted}
\end{frame}

为什么我不能直接设置框架标题?

答案1

minted是您在 LaTeX 中使用源代码时会发现的众多逐字环境之一。这些逐字环境fragile在设计上需要特殊处理(选项),而对于“简单的事情”,例如 itemize 等,通常不需要这样做。

因此,这也是设计使然,您需要使用选项告诉 LaTeX 特别处理您的框架。您不需要使用其他命令设置框架标题,\begin{frame}[fragile]{Title}这样就足够了。

相关内容