В настоящее время я использую Beamer и пакет для распечатки, чтобы красиво печатать код в блоки Beamer. Итак, что я делаю, выглядит так:
\begin{block}{}
\begin{lstlisting}
int foobar(void) { return 0; }
\end{lstlisting}
\end{block}
Теперь я считаю трудным запускать окружения block
и lstlisting
каждый раз. Я хотел бы иметь простую codeblock
среду, которая просто делает это:
\begin{codeblock}
int foobar(void) { return 0; }
\end{codeblock}
Итак, я попробовал что-то вроде:
\lstnewenvironment{codeblock}
{\begin{block}{}}
{\end{block}}
Но, к сожалению, документ Beamer больше не компилируется со следующей ошибкой:
! Missing } inserted.
<inserted text>
}
l.178 \end{frame}
?
Есть ли способ сделать это?
В Проблема с созданием новой среды в LaTeX . У Андреаса Греча была та же проблема, но она могла ее решить, поскольку существовал другой способ войти / выйти из окружающей среды. Но в случае среды block
Beamer, кажется, нет другого пути, чем сделать \begin{block}...\end{block}
.