
\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 mostrou uma lista detalhada. Depois que dois itens sequenciais forem exibidos, espero que o segundo item seja destacadonuma terceira etapa. Consegui isso duplicando o quadro. Isso pode ser conseguido por sobreposição sem duplicação manual do quadro?
Responder1
A solução fácil é usar \only
para tornar a \colorbox{yellow}
parte do código 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}
No entanto, há um problema com isso: como \colorbox
preenche alguma área ao redor do texto, altera o espaçamento, o que leva a saltos visíveis (experimente para ver).
Pode-se corrigir isso sempre usando um \colorbox
, mas preenchendo-o com a cor de fundo quando não deveria estar destacado. Como isso é um pouco confuso, eu definiria um novo comando para essa finalidade:
\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}
A sintaxe para \newcommand<>
é explicada no beamer
guia do usuário, seção9.6.1 Tornando a sobreposição de comandos e ambientes ciente das especificações. O primeiro argumento é o nome da macro a ser definida ( \mycolorbox
neste caso), depois segue o número de argumentos excluindo a especificação de sobreposição e, finalmente, há o valor padrão para o primeiro argumento. Dentro do comando, os argumentos podem ser referenciados usando o #
caractere seguido de seu número ( #1
, #2
e assim por diante, veja os comentários).
O par duplo de chaves {{
e }}
existe para criar um grupo TeX, o que significa que quaisquer (re)definições de macro serão esquecidas no final. O par externo delimita o conteúdo do comando, enquanto o par interno é o grupo TeX.
Eu então uso \def
(eu também poderia ter usado \newcommand
) para definir uma nova macro, \mycolor
que é inicialmente a cor padrão. Usando \only
, eu o redefini condicionalmente para a cor desejada (amarelo neste exemplo). Finalmente, eu chamo o \colorbox
comando.
A propósito, também é possível escrever apenas \colorbox<3>{yellow}{text}
, mas por algum motivo isso usa um fundo preto...