投影機中的疊加:逐項列出不同顏色的項目

投影機中的疊加:逐項列出不同顏色的項目

我的投影機有問題。我正在嘗試使用包含不同顏色項目的列表,一次出現一次。

這是我的 MWE :

\documentclass{beamer}
\usetheme{Warsaw}

\newcommand\coloreditem[1]{\setbeamercolor{item projected}{bg=#1}\item}

\begin{document}
\begin{frame}
\begin{itemize}[<+->]
  \coloreditem{red} First
  \coloreditem{blue} Then
  \coloreditem{green} Now
  \coloreditem{orange} Last
  \end{itemize}
\end{frame}
\end{document}

它有 4 頁,項目符號數量遞增。但是,物品均來自第一種顏色:

MWE第4頁

透過替換

\begin{itemize}[<+->]

\begin{itemize}

我只得到一頁,但顏色正確

期望的結果

你知道為什麼這行不通嗎?最好的方法是什麼?

答案1

要清楚地解釋為什麼它不起作用,您可能需要深入研究投影機。我的猜測是 \item 從它後面的文字中斷開,它應該顯示在同一張投影片上。解決該問題的一種方法是將其放在一個命令中。下面是一個版本,其中 \citem{color}{text} 以顏色列印項目符號,後面跟著文字。帶有星號的版本一個接一個地出現。

\documentclass{beamer}
\usetheme{Warsaw}

\makeatletter
\def\citem{\@ifstar\c@itemstar\c@item}
\def\c@item#1#2{\c@@item[#1]{#2}}
\def\c@itemstar#1#2{\uncover<+->{\c@@item[#1]{#2}}}
\def \c@@item[#1]#2{\setbeamercolor{item}{fg=#1} \item #2}
\makeatother

\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\begin{itemize}
  \citem{red}{First}
  \citem{blue}{Then}
  \citem{green}{Now}
  \citem{orange}{Last}
\end{itemize}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\begin{itemize}
  \citem*{red}{First}
  \citem*{blue}{Then}
  \citem*{green}{Now}
  \citem*{orange}{Last}
\end{itemize}
\end{frame}

\end{document}

如果還有一個預設顏色就好了。現在,顏色命令更改了預設值,並且 \item 列印的下一個項目符號具有相同的預設值。這可以透過讓顏色參數是可選的來完成。

相關內容