Beamer、alltt環境、\only

Beamer、alltt環境、\only

allttBeamer ドキュメントで環境を使用すると、次の問題が発生します。allttブロック環境内に環境を配置しました。すると、出力ドキュメントのすべての改行が正しく行われます。しかし、ブロックをコマンドで囲むと\only、環境内の改行allttが削除されます。この問題を解消するにはどうすればよいでしょうか。簡単な例を以下に示します。

\documentclass{beamer}

\usepackage[utf8x]{inputenc}
\usepackage{default}
\usepackage{xcolor}
\usepackage{alltt}

\begin{document}
\begin{frame}[t,fragile]
This text should be on all 3 overlays.
\only<1,2>{
\begin{block}<1,2>{}
\footnotesize
\begin{alltt}
[user@{\color{red}nodeXX} ~]\$ {\color{blue}module load comp/gcc/4.5.1}
[user@{\color{red}nodeXX} ~]\$ {\color{blue}module load mpi/openmpi/1.6.0}
[user@{\color{red}nodeXX} ~]\$ {\color{blue}mpirun ./prgm}
\end{alltt}
\end{block}
\begin{block}<2>{}
Next Step...
\end{block}
}
\begin{block}<3>{}
This block is shown next directly below the text.  
\end{block}

\end{frame}
\end{document}

\only がコメントアウトされている場合、 alltt 環境は改行を作成しますが、ブロック 3 はページの下部にあります。

答え1

以下を使用できます\defverbatim:

\documentclass{beamer}
\usetheme{Boadilla}
\usepackage[utf8x]{inputenc}
\usepackage{default}
\usepackage{xcolor}
\usepackage{alltt}

\begin{document}

\begin{frame}[t,fragile]
\defverbatim[colored]\mycode{
\footnotesize
\begin{alltt}
[user@{\color{red}nodeXX} ~]\$ {\color{blue}module load comp/gcc/4.5.1} 
[user@{\color{red}nodeXX} ~]\$ {\color{blue}module load mpi/openmpi/1.6.0} 
[user@{\color{red}nodeXX} ~]\$ {\color{blue}mpirun ./prgm}
\end{alltt}
}

This text should be on all 3 overlays.
\only<1,2>{
\begin{block}<1,2>{}
\mycode
\end{block}
}
\begin{block}<2>{}
Next Step...
\end{block}
\begin{block}<3>{}
This block is shown next directly below the text.  
\end{block}

\end{frame}
\end{document}

ここに画像の説明を入力してください

関連情報