我想使用 \only 在 itemize 环境之外写一些东西,但要做到这一点,我需要在 \only<2> 之前添加一个项目。有人知道如何在不添加这个新项目的情况下解决这个问题吗?
\documentclass[t,10pt]{beamer}
\begin{document}
\begin{frame}{Title}
\only<1-> {
Definition
}
\begin{itemize}
% \item Useless
\only<2> {
\vfill \item Test 1
}
\only<3> {
\vfill \item Test 2
}
\vfill \end{itemize}
\end{frame}
\end{document}
答案1
只需将整体放在itemize
另一个部分中\only
,它就能看到第一个部分\item
:
\documentclass[t,10pt]{beamer}
\begin{document}
\begin{frame}{Title}
\only<1-> {
Definition
}
\only<2->{\begin{itemize}
\only<2> {
\vfill \item Test 1
}
\only<3> {
\vfill \item Test 2
}
\vfill \end{itemize}}
\end{frame}
\end{document}
答案2
将“描述”作为 的一部分itemize
,并进行一些水平调整:
\documentclass[t,10pt]{beamer}
\begin{document}
\begin{frame}{Title 1}
\only<1-> {
Definition
}
\begin{itemize}
\item Useless
\only<2> {
\vfill \item Test 1
}
\only<3> {
\vfill \item Test 2
}
\vfill
\end{itemize}
\end{frame}
\begin{frame}{Title 2}
\begin{itemize}
\item<1->[]
\hspace*{\dimexpr-\labelsep-\labelwidth}Definition
\only<2> {
\vfill \item Test 1
}
\only<3> {
\vfill \item Test 2
}
\vfill
\end{itemize}
\end{frame}
\end{document}