Проектор: всегда накладывать первый элемент на тот же кадр

Проектор: всегда накладывать первый элемент на тот же кадр

Я читал и пытался следовать инструкциям из похожих вопросов, но, похоже, не могу заставить свой слайд работать так, как надо. У меня есть блок, itemizeи я хочу, чтобы мои списки itemотображались наложенными друг на друга, но всегда оставались выровненными по верхнему краю. Мой код:

\begin{frame}[fragile]
\begin{itemize}
\item<1-1> a really long item, which takes up almost the entire page
\item<2-2> another item
\item<3-3> yet another one
\end{itemize}
\end{frame}

В настоящее время пункты 2 и 3 отображаются правильно, но на месте первого пункта есть огромное пустое место. Надеюсь, я ясно изложил свою проблему. Ура.

решение1

Спецификации наложения по умолчанию используют \uncoverметод. Это означает, что если они не «на» текущем слайде, они невидимы, но занимают столько же места, как если бы они там были.

Похоже, вы хотите, чтобы материал, не находящийся на текущем слайде, был пропущен вообще, а это значит, что вы хотите \onlyвместо этого. Вы можете добавить это в спецификацию наложения следующим образом:

\begin{frame}{Only}
\begin{itemize}
\item<only@1> a really long item, which takes up almost the entire page
\item<only@2> another item
\item<only@3> yet another one
\end{itemize}
\end{frame}

Вам не нужны начальный и конечный слайды, если номера слайдов одинаковы. Фактически, вы можете дополнительно оптимизировать, используя токен +для указания «увеличения на один»:

\begin{frame}{Only}
\begin{itemize}
\item<only@+> a really long item, which takes up almost the entire page
\item<only@+> another item
\item<only@+> yet another one
\end{itemize}
\end{frame}

А теперь, когда все характеристики одинаковы, вы можете сделать это аргументом в пользу защиты itemizeокружающей среды.

\begin{frame}{Only}
\begin{itemize}[<only@+>]
\item a really long item, which takes up almost the entire page
\item another item
\item yet another one
\end{itemize}
\end{frame}

Связанный контент