我想制作一个带有覆盖层的投影仪幻灯片,其中 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}