在演示过程中,我想通过改变颜色和下划线来突出显示某些文本。但是,我不希望在讲义上出现这样的效果。
在下面的 MWE 中,我定义了一个宏\bluebr
来为文本添加下划线并将其颜色更改为蓝色。为了在handout
模式下抑制此类效果,我handout:0
在命令中添加了该选项。但这样做效率低下,因为我在整个文档中都大量使用此命令。
\documentclass[handout]{beamer}
\usepackage[normalem]{ulem} % underlines
\setlength{\ULdepth}{1pt}
\newcommand<>\bluebr[1]{\alt#2{\textcolor{blue}{\uline{#1}}}{#1}}
\begin{document}
\begin{frame}
Text \bluebr<2| handout:0>{highlighted in frame 2}
\end{frame}
\end{document}
我想知道是否有一种方法可以定义\bluebr
它采用预设的覆盖规范选项handout:0
。
答案1
您可以定义两次宏:一个用于模式beamer
,执行您想要的操作,另一个用于handout
不执行任何操作的模式:
\documentclass[beamer]{beamer} % with underlines
%\documentclass[handout]{beamer} % without underlines
\usepackage[normalem]{ulem} % underlines
\setlength{\ULdepth}{1pt}
\mode<beamer>{
\newcommand<>\bluebr[1]
{\alt#2{\textcolor{blue}{\uline{#1}}}{#1}}
}
\mode<handout>{
\newcommand<>\bluebr[1]{#1}
}
\begin{document}
\begin{frame}
\visible<1-2>{Text}
\bluebr<2>{highlighted} in frame 2
\end{frame}
\end{document}