在 Beamer 讲义模式下抑制文本格式

在 Beamer 讲义模式下抑制文本格式

在演示过程中,我想通过改变颜色和下划线来突出显示某些文本。但是,我不希望在讲义上出现这样的效果。

在下面的 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}

相关内容