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

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

如何定義一個新的tcolorbox以實現以下使用\onslide但不使用out \onslidein everytcolorbox

投影片 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}

在此輸入影像描述

在此輸入影像描述

在此輸入影像描述

相關內容