如何在揭开时更改项目符号颜色?在本例中,当所有东西都揭开时,它有效,但使用揭开时显然无效。如果有人能解释这种行为的底层逻辑,那也会很有趣。
\documentclass{beamer}
\mode<presentation> {
\usetheme{Singapore}
}
\newcommand{\gooditem}[1]{\setbeamercolor{item}{fg=blue}\item #1}
\newcommand{\pooritem}[1]{\setbeamercolor{item}{fg=red}\item #1}
\begin{document}
\begin{frame}
\frametitle{I-measure}
\begin{itemize}[<+->]
\pooritem {\color{red}a}
\gooditem {\color{blue}b}
\pooritem {\color{red}c}
\gooditem {\color{blue}d}
\end{itemize}
\end{frame}
\end{document}
答案1
欢迎来到 TeX.SE。我希望已经理解了你的问题。
\documentclass{beamer}
\mode<presentation> {
\usetheme{Singapore}
}
\newcommand*\pooritem{%
\item[\color{green}\scalebox{0.9}{\textbullet}]}
\newcommand*\gooditem{%
\item[\color{red}\scalebox{0.9}{\textbullet}]}
\begin{document}
\begin{frame}
\frametitle{I-measure}
\begin{itemize}[<+->]
\pooritem {\color{red}a}
\gooditem {\color{blue}b}
\pooritem {\color{red}c}
\gooditem {\color{blue}d}
\end{itemize}
\end{frame}
\end{document}
答案2
在没有覆盖的静态情况(其中您的解决方案工作得很好)和揭示之间的功能差异是,如果您添加[<+->]
到您的项目中,“正常”项目将被覆盖感知版本替换\item
,它似乎有自己的方式处理颜色。
作为一种解决方法,您可以简单地使用此覆盖感知项目的功能并执行如下操作:
\documentclass{beamer}
\mode<presentation> {
\usetheme{Singapore}
}
\setbeamercolor{itemize/enumerate body}{parent=structure}
\begin{document}
\begin{frame}
\frametitle{I-measure}
\begin{itemize}[<+->]
\item<+-|alert@+-> a
\item b
\item<+-|alert@+-> c
\item d
\end{itemize}
\end{frame}
\end{document}