Eu estava lendo a resposta para esta perguntaMisturando impressão sobreposta com blocos de enumerações
[Copio novamente o código para que você não precise seguir o link]
\documentclass{beamer}
\usetheme{Warsaw}
\begin{document}
\begin{frame}{Test}
\begin{center}
text before
\pause
\begin{overlayarea}{\textwidth}{3.3cm}
\only<2-3>{%
\begin{block}{Some title here}
\begin{enumerate}[<+->]
\item One
\item Two
\end{enumerate}
\end{block}}
\only<4-7>{%
\begin{block}{Some title here}
\begin{enumerate}[<+(2)->]
\item CHicken
\item Duck
\item Rooster
\end{enumerate}
\end{block}}
\end{overlayarea}
text after
\end{center}
\end{frame}
\end{document}
e notei o uso de um número entre parênteses na especificação de sobreposição incrementada padrão no segundo enumerate
ambiente. (veja a presença de [<+(2)->]
) Só então os itens da segunda lista numerada no overlayarea
ambiente serão descobertos de forma incremental.
Por que isso é necessário? Parece implicar que beamerpauses
é redefinido entre os enumerate
ambientes? Ou é redefinido entre os only
comandos do overlay
ambiente?
Isso não é um comportamento desagradável? Porque é como se você devesse monitorar as pausas dos feixes. A utilidade de [<+->]
está perdida então, não é?
Responder1
O fenômeno aparentemente estranho pode ser explicado examinando o seguinte exemplo simples:
\documentclass{beamer}
\newcommand\showpauses{The value of beamerpauses at this point in slide \insertpagenumber\ is: \thebeamerpauses}
\begin{document}
\begin{frame}{Test}
\only<1-2>{\par\showpauses%
\begin{enumerate}[<+->]
\item One \showpauses
\item Two \showpauses
\end{enumerate}
}
\only<3>{\par\showpauses}
\end{frame}
\end{document}
Depois de processar o documento você terá uma apresentação de três slides mostrando o valor do beamerpauses
contador em diferentes etapas.
Até o slide dois tudo corre como seria de esperar: no final do enumerate
slide dois o valor de beamerpauses
é três; entretanto, no slide três, beamerpauses
é 1
. Por que aconteceu isso? Bem, porque a especificação de sobreposição \only
era 1-2
, entãotudoo que acontecer nos slides 1 e 2 ocorrerá apenas para esses slides; em particular, a revisão beamerpauses
produzida pelo enumerado terá efeitoapenaspara os slides um e dois. No terceiro slide, que não está sob efeito do \only
, o contador beamerpauses
terá o valor que tinha antes.
Isso está mostrando algo errado com beamer
? Eu não acho; afinal, o significado esperado \only
é manter as coisas sob seu escopoapenaspara os slides especificados.
Se você usar <1->
(ou <1-3>
) em vez de <1-2>
no exemplo acima, como em
\documentclass{beamer}
\newcommand\showpauses{The value of beamerpauses at this point in slide \insertpagenumber\ is: \thebeamerpauses}
\begin{document}
\begin{frame}{Test}
\only<1->{\par\showpauses%
\begin{enumerate}[<+->]
\item One \showpauses
\item Two \showpauses
\end{enumerate}
}
\only<3>{\par\showpauses}
\end{frame}
você verá que agora no slide três o contador tem o valor três, porque o terceiro slide está no escopo de \only
.
O incremento manual "sujo" do contador no exemplo original foi simplesmente devido ao efeito especial que o OP queria alcançar. Talvez esse mesmo efeito pudesse ser alcançado de outra forma, sem intervenção manual?