
我的投影機有問題。我正在嘗試使用包含不同顏色項目的列表,一次出現一次。
這是我的 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 頁,項目符號數量遞增。但是,物品均來自第一種顏色:
透過替換
\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 列印的下一個項目符號具有相同的預設值。這可以透過讓顏色參數是可選的來完成。