
\documentclass[xcolor=table ]{beamer}
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\title[Your Short Title]{Your Presentation}
\author{You}
\institute{Where You're From}
\date{Date of Presentation}
\begin{document}
\begin{frame}{Introduction}
\begin{itemize}
\item <1-> Your introduction goes here!
\item <2> Use \texttt{itemize} to organize your main points.
\end{itemize}
\end{frame}
\begin{frame}
\begin{itemize}
\item Your introduction goes here!
\item {\colorbox{yellow} {Use \texttt{itemize} to organize your main points.}}
\end{itemize}
\end{frame}
\end{document}
Este MWE mostró una lista detallada. Después de que se muestren dos elementos secuenciales, espero que se resalte el segundo elemento.en un tercer paso. Lo logré duplicando el marco. ¿Se puede lograr esto mediante superposición sin duplicación manual del marco?
Respuesta1
La solución fácil es usar \only
para hacer que la \colorbox{yellow}
parte del código sea condicional:
\begin{frame}{Introduction}
\begin{itemize}
\item <1-> Your introduction goes here!
\item <2-> \only<3>{\colorbox{yellow}}{Use \texttt{itemize} to organize your main points.}
\end{itemize}
\end{frame}
Sin embargo, hay un problema con esto: debido a que \colorbox
llena un área alrededor del texto, cambia el espaciado, lo que genera saltos visibles (pruébelo para verlo).
Se puede solucionar este problema usando siempre un \colorbox
, pero rellénelo con el color de fondo cuando no deba estar resaltado. Como esto es un poco complicado, definiría un nuevo comando para este propósito:
\documentclass[xcolor=table]{beamer}
\usepackage[english]{babel}
\title[Your Short Title]{Your Presentation}
\author{You}
\institute{Where You're From}
\date{Date of Presentation}
\newcommand<>{\mycolorbox}[3][white]{{%
% #1 = default color when overlay specification is not fulfilled (default: white)
% #2 = color when overlay specification is fulfilled
% #3 = text to be displayed
% #4 = the actual overlay specification
\def\mycolor{#1}%
\only#4{\def\mycolor{#2}}%
\colorbox{\mycolor}{#3}%
}}
\begin{document}
\begin{frame}{Introduction}
\begin{itemize}
\item <1-> Your introduction goes here!
\item <2-> \mycolorbox<3>{yellow}{Use \texttt{itemize} to organize your main points.}
\end{itemize}
\end{frame}
\end{document}
La sintaxis de \newcommand<>
se explica en beamer
la sección de la guía del usuario de9.6.1 Cómo hacer que los comandos y entornos superpongan las especificaciones según las especificaciones. El primer argumento es el nombre de la macro que se definirá ( \mycolorbox
en este caso), luego sigue el número de argumentos excluyendo la especificación de superposición y, finalmente, está el valor predeterminado para el primer argumento. Dentro del comando, se puede hacer referencia a los argumentos utilizando el #
carácter seguido de su número ( #1
, #2
etc., ver los comentarios).
El doble par de llaves {{
y }}
existe para crear un grupo TeX, lo que significa que cualquier (re)definición de macro se olvidará al final. El par exterior delimita el contenido del comando, mientras que el par interior es el grupo TeX.
Luego uso \def
(también podría haber usado \newcommand
) para definir una nueva macro, \mycolor
que inicialmente es el color predeterminado. Usando \only
, luego lo redefino condicionalmente al color deseado (amarillo en este ejemplo). Finalmente, llamo al \colorbox
comando.
Por cierto, también es posible escribir simplemente \colorbox<3>{yellow}{text}
, pero por alguna razón se utiliza un fondo negro...