在嵌套的 \itemize 环境中的某些幻灯片后更改 \itemize 项目符号点

Change \itemize bullet point after certain slide in nestled \itemize environment

我想在某张幻灯片后更改列表中某些项目的项目符号。

类似问题的解决方案,但没有嵌套 \itemize 环境,发布于此处:https://tex.stackexchange.com/questions/424011/change-beamer-itemize-symbol-and-overlay

列表如下所示:

\documentclass[9pt,aspectratio=169]{beamer}

\newenvironment{redenv}{\only{\setbeamercolor{local structure}{fg=red}}}{}

\begin{itemize}
    \item<1-|red@3-> Item 1
    \item Item 2
    \begin{itemize}
        \item<2-|red@3-> Item 3
    \end{itemize}
    \item Item 4
\end{itemize}

\end{document}

我想在暂停后更改 Item 1Item 3 的符号。此解决方案仅适用于 Item 1,但不适用于 Item 3

编辑:

原来我在这里错误地复制了示例,但在我的实际文档中却没有。相反,我找到了真正的罪魁祸首:我的文档使用 beamercolor.sty sheet 来定义项目符号点的颜色:

\setbeamercolor{item}{parent=local structure}
\setbeamercolor{subitem}{parent=item, fg=gray}
\setbeamercolor{subsubitem}{parent=subitem}

因此,当我删除 fg=gray 时,它会按预期工作。但我希望默认为灰色,并且只在我选择的地方更改颜色。如何调和两种着色方法?

您的颜色定义中缺少 fg=

\documentclass[9pt,aspectratio=169]{beamer}

\newenvironment{redenv}{\only{\setbeamercolor{local structure}{fg=red}}}{}

\begin{document}
\begin{frame}

\begin{itemize}
    \item<1-|red@3-> Item 1
    \item Item 2
    \begin{itemize}
        \item<2-|red@3-> Item 3
    \end{itemize}
    \item Item 4
\end{itemize}

\end{frame}
\end{document}

或者如果您不介意文本也会改变颜色,您可以使用 alert:

\documentclass[9pt,aspectratio=169]{beamer}

\begin{document}
\begin{frame}

\begin{itemize}
    \item<1-|alert@3-> Item 1
    \item Item 2
    \begin{itemize}
        \item<2-|alert@3-> Item 3
    \end{itemize}
    \item Item 4
\end{itemize}

\end{frame}
\end{document}