如何定义一个新的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}