tcolorbox:: 在 Beamer 中使用 onslide 定义新的 tcolorbox

tcolorbox:: 在 Beamer 中使用 onslide 定义新的 tcolorbox

如何定义一个新的tcolorbox来实现以下使用\onslide\onslide在每一个tcolorbox

幻灯片 1:标题

幻灯片 2:上方文字

幻灯片 3:下方文字

\documentclass{beamer}
\usepackage{tcolorbox}

\begin{document}
\begin{frame}
\begin{tcolorbox}[title={Valency = ?},
colframe=green!50!black,
colback=green!50!black!10!white,
]
\onslide<2->{Hydrogen, H}
\tcblower
\onslide<3>{1}
\end{tcolorbox}
\end{frame}
\end{document}

答案1

实现这一点的一种方法是使用覆盖语句only=<1->{...}和相关选项来隐藏下方的框等以及分割线等,但会产生难看的“跳跃”,具体取决于需要。

\documentclass{beamer}
\usepackage[most]{tcolorbox}

\begin{document}
\begin{frame}
\begin{tcolorbox}[only=<1->{title={Valency = ?}},only=<1-2>{lowerbox=ignored,segmentation hidden},
colframe=green!50!black,
colback=green!50!black!10!white,
]
\onslide<2->{Hydrogen, H}
\onslide<3->{%
\tcblower
1}
\end{tcolorbox}
\end{frame}
\end{document}

使用包装命令:

\documentclass{beamer}
\usepackage[most]{tcolorbox}

\NewDocumentCommand{\MyNiceBox}{+O{}+m+m+m}{%
  \begin{tcolorbox}[only=<1->{title={#2}},only=<1-2>{lowerbox=ignored,segmentation hidden},
    colframe=green!50!black,
    colback=green!50!black!10!white,
    #1]
    \onslide<2->{#3}
    \onslide<3->{%
      \tcblower
      #4}
  \end{tcolorbox}%
}


\begin{document}
\begin{frame}
\MyNiceBox{Valency = ?}{Hydrogen, H}{1}
\end{frame}
\end{document}

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

相关内容