A menudo, cuando uso el proyector para diapositivas, uso un itemize
entorno para \pause
mostrar una viñeta a la vez. Además, muchas veces todos los puntos que quiero mostrar en una sola diapositiva no encajan y necesito comenzar una nueva diapositiva con un par de puntos más.
En cambio, lo que me gustaría es un itemize
entorno similar a - que me diera (cuando los puntos no caben en una sola diapositiva) viñetas rodantes, algo similar a lo que hace el siguiente código:
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{itemize}
\only<-5>{\item one}
\only<2-6>{\item two}
\only<3-7>{\item three}
\only<4-8>{\item four}
\only<5-9>{\item five}
\only<6-10>{\item six}
\only<7-11>{\item seven}
\only<8-12>{\item eight}
\only<9->{\item nine}
\only<10->{\item ten}
\only<11->{\item eleven}
\only<12->{\item twelve}
\end{itemize}
\end{frame}
\end{document}
Sin embargo, no quiero realizar un seguimiento de cuántas diapositivas estoy usando.
¿Existe tal ambiente en alguna parte?
Además, algún tipo de movimiento animado sería excelente, pero podría ser pedir demasiado.
Respuesta1
Esto está integrado en el proyector:
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{itemize}[<only@+-+(4)>]
\item one
\item two
\item three
\item four
\item five
\item six
\item seven
\item eight
\item nine
\item ten
\end{itemize}
\end{frame}
\end{document}
La especificación de superposición +-+(4)
significa lo mismo que (n+1)-(n+5)
donde n
está el recuento de diapositivas actual. La only@
acción envuelve el elemento en un archivo \only<...>
. Poner la especificación como argumento para el itemize
entorno la convierte en el valor predeterminado para cada elemento.
Si desea especificar el texto del elemento en un \foreach
bucle, puede llamar explícitamente \only
antes de cada elemento:
\documentclass{beamer}
\usepackage{pgffor}
\begin{document}
\begin{frame}
\begin{itemize}
\foreach \x in {a,b,...,z} {%
\only<+-+(4)>{\item \x}
}
\end{itemize}
\end{frame}
\end{document}
Consulte las secciones 9.6.3 (Especificaciones de acción) y 9.6.4 (Especificaciones incrementales) del manual del proyector (v3.22). Tambiénesta respuestamío.
Respuesta2
Aquí tienes una versión, con un problema bastante extraño y por tanto una limitación. Define un nuevo contador iii
y un nuevo \myitem
comando. Si utiliza dichos itemize
entornos en más de una diapositiva, deberá restablecer el contador. De lo contrario, si por ejemplo tuviera 10 puntos en la primera diapositiva, comenzaría en la diapositiva 11 de la siguiente diapositiva. Así que usécaja de herramientasEs \AtBeginEnvironment
para restablecer el iii
contador. Sin embargo, esto significa que solo puede usar una itemize
lista de este tipo frame
, de lo contrario, se desplazará por ambas al mismo tiempo. Intenté mejorar esto reiniciando el iii
contador al comienzo de cada uno frame
. Pero si no tengo la línea, \AtBeginEnvironment{itemize}{\setcounter{iii}{0}}
aparece una gran cantidad de errores ("tal vez falta un elemento"), por lo que por el momento esto está limitado a un desplazamiento itemize
por archivo frame
. Además, como no hay un mecanismo de anticipación, no se detendrá cuando se muestren los últimos 5 elementos, sino sólo cuando el último esté presente.
Código
\documentclass{beamer}
\usetheme{Darmstadt}
\usepackage{tikz}
\usepackage{etoolbox}
\newcounter{iii}
\AtBeginEnvironment{itemize}{\setcounter{iii}{0}}
\newcommand{\myitem}[2][$\bullet$]
{ \stepcounter{iii}
\pgfmathtruncatemacro{\endslide}{\theiii+4}
\only<\theiii-\endslide>{\item[#1] #2}
}
\begin{document}
\begin{frame}[t]
\begin{itemize}
\myitem{a \theiii}
\myitem{b \theiii}
\myitem{c \theiii}
\myitem{d \theiii}
\myitem{e \theiii}
\myitem{f \theiii}
\myitem{g \theiii}
\myitem{h \theiii}
\myitem{i \theiii}
\myitem{j \theiii}
\myitem{k \theiii}
\myitem{l \theiii}
\myitem{m \theiii}
\myitem{n \theiii}
\myitem{o \theiii}
\myitem{p \theiii}
\myitem{q \theiii}
\myitem{r \theiii}
\myitem{s \theiii}
\myitem{t \theiii}
\myitem{u \theiii}
\myitem{v \theiii}
\myitem{w \theiii}
\myitem{x \theiii}
\myitem{y \theiii}
\myitem{z \theiii}
\end{itemize}
\end{frame}
\end{document}
Resultado
Respuesta3
Como referencia como extensión de la excelente respuesta de @Matthew Leingang. Así es como codifica el principio y el final para evitar que la lista muestre menos de 4 elementos.
\documentclass{beamer}
\usepackage{pgffor}
\begin{document}
\begin{frame}
\begin{itemize}
\only<-1>{\item 1}
\only<-2>{\item 2}
\only<-3>{\item 3}
\only<+-+(3)>{\item 5}
\only<+-+(3)>{\item 6}
\only<+-+(3)>{\item 7}
\only<+-+(3)>{\item 8}
\only<+-+(3)>{\item 9}
\only<+-+(3)>{\item 10}
\only<+-+(3)>{\item 11}
\only<+-+(3)>{\item 12}
\only<+-+(3)>{\item 13}
\only<+->{\item 14}
\only<+->{\item 15}
\only<+->{\item 16}
\only<+->{\item 17}
\end{itemize}
\end{frame}
\end{document}