如果我执行以下操作,则 A 和 B 都会变成红色。
\alert{A} + \alert{B}
我可以只将 B 变成蓝色吗?
是否有单独现有的命令?
或者,是否可以发出另一个命令alertblue
并写入
\alert{A} + \alertblue{B}
?
答案1
您可以使用 设置警报颜色。您可以按如下方式\setbeamercolor{alerted text}{fg=<color>}
定义命令。\alertblue
\documentclass{beamer}
\newcommand<>{\alertblue}[1]{\begingroup%
\setbeamercolor{alerted text}{fg=blue}\alert{#1}\endgroup}
\begin{document}
\begin{frame}[t]
\frametitle{Change alert color}
$\alert<1>{A}\pause + \alertblue<2>{B}\pause=\alert<3>{C}$
\end{frame}
\end{document}
这里,<>
确保\newcommand<>...
命令理解覆盖规范,并\begingroup...\endgroup
确保颜色变化只是局部的,即下一个普通颜色\alert
将再次使用默认颜色。
可以说,更通用的版本是
\documentclass{beamer}
\newcommand<>{\ColorAlert}[2][blue]{\begingroup%
\setbeamercolor{alerted text}{fg=#1}\alert{#2}\endgroup}
\begin{document}
\begin{frame}[t]
\frametitle{Change alert color}
$y$ stays blue
\[x+\ColorAlert{y}=z\]
I learned the \texttt{.(1)} trick from samcarter.
\[\alert<.(1)>{A}\pause +
\ColorAlert<.(1)>{B}\pause=\ColorAlert[orange]<.(1)>{C}\]
\end{frame}
\end{document}
或者
\documentclass{beamer}
\newcommand<>{\ColorAlert}[2][blue]{\begingroup%
\setbeamercolor{alerted text}{fg=#1}\alert#3{#2}\endgroup}
\begin{document}
\begin{frame}[t]
\frametitle{Change alert color}
$y$ stays blue
\[x+\ColorAlert{y}=z\]
I learned the \texttt{.(1)} trick from samcarter.
\[\alert<.(1)>{A}\pause +
\ColorAlert<.(1)>{B}\pause=\ColorAlert[orange]<.(1)>{C}\]
\end{frame}
\end{document}
答案2
更短的选项是以下代码:
{\color{blue}TEXT YOU WANT IN BLUE}