使用 LaTeX 和beamer
,我使用简写符号<+->
及其变体(例如<+-| alert@+>
,等等)来发现列表项,这样我就不必为每张幻灯片手动输入特定的编号,并且可以插入新的列表项而不必对所有内容重新编号。
但是,有时我想显示在第一个列表项显示之前出现的一些文本。我这样做的方法是创建一个不可见的项目(称为\noitem
下面)并将其插入为我的第一个列表项。这无疑是一个临时解决方案……而且,它强制在最初显示的文本和列表之间插入一些垂直空间。有没有更优雅的方式来做到这一点?理想情况下,它也不应该需要额外的垂直空间。
以下是 MWE:
\documentclass{beamer}
\newcommand{\noitem}{\item[{\color{white} blank}] {\color{white} blank}}
\begin{document}
\begin{frame}{Test}
Some text displayed initially.
\begin{itemize}[<+->]
\noitem % invisible item shown on first slide
\item First item, uncovered on second slide
\item Second item, uncovered on third slide.
\end{itemize}
\end{frame}
\end{document}
答案1
您可以放在行\pause
之前\begin{itemize}
。
答案2
使用覆盖规范<+(1)->
代替,将覆盖规范中的<+->
偏移1:+
\documentclass{beamer}
\begin{document}
\begin{frame}{Test}
Some text displayed on all slides in the frame.
\begin{itemize}[<+(1)->]
\item First item, uncovered on second slide
\item Second item, uncovered on third slide.
\end{itemize}
Some more text to be displayed on all slides in the frame.
\end{frame}
\end{document}
动画片: