将 `fbox` 与 Beamer 叠加层及其他功能结合使用

将 `fbox` 与 Beamer 叠加层及其他功能结合使用

我想制作一个带有覆盖层的投影仪幻灯片,其中 fbox 从一行移动到另一行。

更准确地说:

\begin{frame}[fragile]

\begin{semiverbatim}
 \fbox<1>{First verbatim line.}
 \fbox<2>{Second verbatim line.}
 \fbox<3>{Third verbatim line with \LaTeX}
\end{semiverbatim}

\end{frame}

我希望这个框架分成 3 个单独的幻灯片,每张幻灯片的文本行周围都有一个框(即幻灯片 1 只有第一行框,幻灯片 2 只有第二行框,等等)

相反,我得到了上面定义的框架的单例幻灯片

在此处输入图片描述

\fbox<>显然,beamer 中没有定义命令\fbox,就像其他一些标准 Latex 命令(如\item<>for \item)一样。我可以用 TikZ 实现这一点吗?它允许我\fbox为每行半逐字文本的每个幻灯片设置自定义效果(而不仅仅是我想要的效果)。

答案1

您可以\fbox像这样重新定义:

\documentclass{beamer}

\renewcommand<>{\fbox}[1]{\alt#2{\fcolorbox{fg}{bg}{#1}}{\fcolorbox{white}{bg}{#1}}}

\begin{document}
    
\begin{frame}[fragile]

\begin{semiverbatim}
 \fbox<1>{First verbatim line.}
 \fbox<2>{Second verbatim line.}
 \fbox<3>{Third verbatim line with \LaTeX}
\end{semiverbatim}

\end{frame}

\end{document}

在此处输入图片描述


或者如果您想避免尺寸变化:

\documentclass{beamer}

\renewcommand<>{\fbox}[1]{\alt#2{\fcolorbox{black}{white}{#1}}{\fcolorbox{white}{white}{#1}}}

\begin{document}
    
\begin{frame}[fragile]

\begin{semiverbatim}
 \fbox<1>{First verbatim line.}
 \fbox<2>{Second verbatim line.}
 \fbox<3>{Third verbatim line with \LaTeX}
\end{semiverbatim}

\end{frame}

\end{document}

在此处输入图片描述

相关内容