我目前正在使用Beamer和列表包将漂亮的代码打印到Beamer块中.所以我在做什么看起来像:
\begin{block}{}
\begin{lstlisting}
int foobar(void) { return 0; }
\end{lstlisting}
\end{block}
Run Code Online (Sandbox Code Playgroud)
现在,我发现每次启动block和lstlisting环境都很麻烦.我想拥有一个简单的codeblock环境:
\begin{codeblock}
int foobar(void) { return 0; }
\end{codeblock}
Run Code Online (Sandbox Code Playgroud)
所以,我尝试过类似的东西:
\lstnewenvironment{codeblock}
{\begin{block}{}}
{\end{block}}
Run Code Online (Sandbox Code Playgroud)
但不幸的是,Beamer文档不再编译,出现以下错误:
! Missing } inserted.
<inserted text>
}
l.178 \end{frame}
?
Run Code Online (Sandbox Code Playgroud)
有办法做到这一点吗?
在LaTeX中创建新环境的问题中,Andreas Grech遇到了同样的问题,但它可以解决它,因为还有另一种进入/退出封闭环境的方法.但就blockBeamer环境而言,似乎除此之外别无他法\begin{block}...\end{block}.