9

現在、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}}

残念ながら、ビーマー ドキュメントはコンパイルされなくなり、次のエラーが発生します。

! Missing } inserted.
<inserted text> 
                }
l.178 \end{frame}

? 

これを行う方法はありますか?

LaTeX で新しい環境を作成する問題 で、Andreas Grechは同じ問題を抱えていましたが、囲んでいる環境に出入りする別の方法があったため、それを解決できました。でもblockBeamer環境の場合は、やるしかないようです\begin{block}...\end{block}

4

2 に答える 2

0

私は同じ問題を抱えていて、それに対する解決策を見つけることができませんでした。私の回避策は、\ lstinputlistingコマンドを使用して、コードを別のファイルに入れることでした。含めたい実際のコードがある場合、これは素晴らしいことです。小さな例ではそうではありません。

もう1つの回避策は、{frame}環境を開始する前にコードスニペットを変数に入れて、それを参照することです。これを行う方法は、latex-beamerのドキュメントで説明されています。また、カスタム環境/コマンドを使用することもできます。

于 2011-03-04T10:00:26.813 に答える