
У меня возникла следующая проблема с использованием alltt
окружения в документе beamer. Я поместил 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}