为了在课堂上做一个小测验,我正在做一个演示文稿beamer
。
我想将语句的颜色更改为红色(错误语句)或绿色(正确语句),但只有后我们班回答了这个问题。
我在网上搜索,但只找到了一个color
包,你显然只能改变文本颜色前它出现。
有人能给我指出正确的方向吗?
答案1
beamer
为大多数宏/环境提供覆盖规范。它允许您说(例如)...\alert<2>{<stuff>}...
以便<stuff>
在幻灯片上正常打印其他比数字 2\color
本身具有叠加感知功能\color<2->{blue}{<stuff>}
,可以<stuff>
从幻灯片 2 中以蓝色打印向前。或者,也可以使用类似蓝色...{\only<2>{\color{blue}}<stuff>}...
打印的<stuff>
仅有的在第 2 张幻灯片上。
这是一个简短的例子
\documentclass{beamer}% http://ctan.org/pkg/beamer
\begin{document}
\begin{frame}
Some text {\only<2>{\color{blue}}and stuff}.
\end{frame}
\end{document}
请注意,beamer
已经加载xcolor
。
答案2
我搜索了命令的定义alert
,发现了这些:
% beamercolorthemedefault.sty
\setbeamercolor{alerted text}{fg=blue}
% beamerfontthemedefault.sty
\setbeamerfont{alerted text}{}
% beamerbasearticle.sty
\defbeamertemplate<article>*{alerted text begin}{default}{\ifmmode\else\begin{itshape}\fi}
\defbeamertemplate<article>*{alerted text end}{default}{\ifmmode\else\end{itshape}\fi}
% beamerbaselocalstructure.sty
\newenvironment{alertenv}{\begin{altenv}%
{\usebeamertemplate{alerted text begin}\usebeamercolor[fg]{alerted text}\usebeamerfont{alerted text}}
{\usebeamertemplate{alerted text end}}{\color{.}}{}}{\end{altenv}}
\newcommand<>{\alert}[1]{\begin{alertenv}#2\relax#1\end{alertenv}}
类似地,我定义了rightstate
可以wrongstate
像命令一样使用的命令alert
。
\documentclass{beamer}
\setbeamercolor{rightstateed text}{fg=green}
\setbeamerfont{rightstateed text}{}
\defbeamertemplate<article>*{rightstateed text begin}{default}{\ifmmode\else\begin{itshape}\fi}
\defbeamertemplate<article>*{rightstateed text end}{default}{\ifmmode\else\end{itshape}\fi}
\newenvironment{rightstateenv}{\begin{altenv}%
{\usebeamertemplate{rightstateed text begin}\usebeamercolor[fg]{rightstateed text}\usebeamerfont{rightstateed text}}
{\usebeamertemplate{rightstateed text end}}{\color{.}}{}}{\end{altenv}}
\newcommand<>{\rightstate}[1]{\begin{rightstateenv}#2\relax#1\end{rightstateenv}}
\setbeamercolor{wrongstateed text}{fg=red}
\setbeamerfont{wrongstateed text}{}
\defbeamertemplate<article>*{wrongstateed text begin}{default}{\ifmmode\else\begin{itshape}\fi}
\defbeamertemplate<article>*{wrongstateed text end}{default}{\ifmmode\else\end{itshape}\fi}
\newenvironment{wrongstateenv}{\begin{altenv}%
{\usebeamertemplate{wrongstateed text begin}\usebeamercolor[fg]{wrongstateed text}\usebeamerfont{wrongstateed text}}
{\usebeamertemplate{wrongstateed text end}}{\color{.}}{}}{\end{altenv}}
\newcommand<>{\wrongstate}[1]{\begin{wrongstateenv}#2\relax#1\end{wrongstateenv}}
\begin{document}
\begin{frame}
\begin{itemize}
\item \wrongstate<2>{wrong statement}
\item \rightstate<3>{right statement}
\end{itemize}
\end{frame}
\end{document}
结果如下: