两个 Verbatim(fancyvrb)并排放置,带有框架和揭示线

两个 Verbatim(fancyvrb)并排放置,带有框架和揭示线

我想知道是否有可能在 beamer 中Verbatim并排创建两个环境,每个环境都有宽度的框架\textwidth和逐渐显现的线条。

进一步来说:

  1. 我使用minipage创建两个Verbatim环境。但是,我无法创建具有固定宽度的框架。我尝试过\fbox{}但是minipage一旦Verbatim进入minipage就不起作用了。使用 选项frame=singleVerbatim框架会显示,但它只在代码周围。

  2. 我想逐渐发现两者中的一些线条minipages\only\uncover似乎不适用于Verbatim。我改用\begin{onlyenv} \end{onlyenv},它工作正常,但不确定它将如何处理可能的框架。

这是我的代码:

\documentclass[10pt, t]{beamer}

\usepackage{fancyvrb}

\begin{document}
\begin{frame}[fragile, plain]
%\fbox{ % this does not work
\begin{minipage}[t][\textheight]{0.45\textwidth}
\begin{onlyenv}<1->
    \begin{Verbatim}
Some code here 1a
    \end{Verbatim}
\end{onlyenv}
\begin{onlyenv}<3->
    \begin{Verbatim}
Some code here 1b
    \end{Verbatim}
\end{onlyenv}   
\end{minipage}
%}
%\fbox{ % this does not work
\begin{minipage}[t][\textheight]{0.54\textwidth}
\begin{onlyenv}<2->
    \begin{Verbatim}
Some code here 2a
    \end{Verbatim}
\end{onlyenv}   
\begin{onlyenv}<4->
    \begin{Verbatim}
Some code here 2b
    \end{Verbatim}
\end{onlyenv}   
\end{minipage}
\end{frame}
%}
\end{document}

答案1

您可以使用SaveVerbatim并插入\BUseVerbatim如下代码:

示例输出

\documentclass[10pt, t]{beamer}

\usepackage{fancyvrb}

\begin{document}

\begin{SaveVerbatim}{1a}
Some code here 1a
\end{SaveVerbatim}
\begin{SaveVerbatim}{1b}
Some code here 1b
\end{SaveVerbatim}
\begin{SaveVerbatim}{2a}
Some code here 2a
\end{SaveVerbatim}
\begin{SaveVerbatim}{2b}
Some code here 2b
\end{SaveVerbatim}

\begin{frame}[fragile, plain]
\fbox{\begin{minipage}[t][.8\textheight]{0.45\textwidth}\strut
  \begin{onlyenv}<1->%
    \BUseVerbatim{1a}
  \end{onlyenv}
  \begin{onlyenv}<3->%
    \BUseVerbatim{1b}
  \end{onlyenv}
\end{minipage}}
\fbox{\begin{minipage}[t][.8\textheight]{0.45\textwidth}\strut
  \begin{onlyenv}<2->%
    \BUseVerbatim{2a}
  \end{onlyenv}
  \begin{onlyenv}<4->%
    \BUseVerbatim{2b}
  \end{onlyenv}
\end{minipage}}
\end{frame}
\end{document}

注意添加\struts 和%'s 以避免不必要的间距。

相关内容