Если я сделаю следующее, то и 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}