如何在 Beamer 中使用 `\color[]{}` 更改项目化文本的颜色?

如何在 Beamer 中使用 `\color[]{}` 更改项目化文本的颜色?

我想更改 Beamer 中的项目文本颜色。我检查了Beamer 用户指南\color<>[]{}在第 80 页找到了该命令。

\color<2-3>[rgb]{1,0,0} 此文本在第 2 和第 3 张幻灯片上为红色,在其他情况下为黑色。

enumerate然后我找到了一个在环境中使用此命令的示例在教程中(第 15 页)

\begin{enumerate}[A]   
    \item<2-5> James Madison    
    \item<3-5> Harry Truman    
    \item<4-> \color<6>[rgb]{0,0.6,0}Abraham Lincoln    
    \item<5-5> Calvin Coolidge    
\end{enumerate}   

然后我尝试了一个最小的例子,如下所示(该示例也可在以下网址公开获取:分享Latex。它是可读写的。因此您可以自由修改它。):

\documentclass[a4paper]{beamer}   
\begin{document}    
    \begin{frame}    
        \begin{itemize}    
            \item \color<2>[rgb]{1,0,1}{text1}    
            \begin{itemize}    
                \item text11    
            \end{itemize}    
            \item text2    
            \begin{itemize}    
                \item text21    
            \end{itemize}    
            \item text3    
       \end{itemize}    
  \end{frame}  
\end{document}

在第一张幻灯片上,这是可以的:

项目文本颜色 1

在第二张幻灯片(\color<2>[rgb]{1,0,1}{text1})上,所有三个外部分项文本(即 text1、text2 和 text3)都变成红色,如下图所示。但是,我只想更改第一个分项文本(即此处的 text1)的颜色。 项目文字颜色 2

因此,我的问题是:

  1. 如何使用命令更改单个项目文本(即此处的 text1)的颜色\color<>[]{}
  2. 如果该命令不可行(为什么?),那么有哪些替代方法?

答案1

当你调用\color<overlay>[colorsys]{color}改变颜色的命令时从那时起(在当前组内)因为它只接受颜色规范作为参数,而不是需要着色的内容。这里发生的情况是,子项目处于它们自己的颜色环境中,因此它们不受您的命令的影响;相反,其他项目处于相同的颜色环境中。一个简单的例子来说明这个问题:

a {\color{red} a {\color{blue} a} a} a

颜色

要限制宏的效果\color,您可以将其包含在一个组中

\documentclass[a4paper]{beamer}   
\begin{document}    
    \begin{frame}    
        \begin{itemize}    
            \item {\color<2>[rgb]{1,0,1} text1}    
            \begin{itemize}    
                \item text11    
            \end{itemize}    
            \item text2    
            \begin{itemize}    
                \item text21    
            \end{itemize}    
            \item text3    
       \end{itemize}    
  \end{frame}  
\end{document}

您还可以使用\textcolor<overlay>[colorsys]{color}{content}仅将颜色更改应用于内容参数的宏。

\textcolor\color什么\textbf是 什么\bf

答案2

我建议制作一个新的自定义命令,例如 \newcommand{\adv}[1]{ {\color{blue} #1} }

这将减少在 tex 文件中使用它的工作量。要使用它: \adv{This an advantage of the current method}

相关内容