\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}
此 MWE 显示分项列表。显示两个连续项后,我希望第二个项突出显示第三步。我通过复制框架实现了这一点。可以通过叠加来实现,而无需手动复制框架吗
答案1
简单的解决方案是使用\only
使\colorbox{yellow}
代码部分有条件:
\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}
但是,这样做有一个问题:因为\colorbox
填充了文本周围的一些区域,它会改变间距,从而导致明显的跳跃(尝试一下即可看到)。
可以通过始终使用 来解决这个问题\colorbox
,但在不需要突出显示时用背景颜色填充它。由于这有点混乱,我将为此定义一个新命令:
\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}
的语法在用户指南的第节\newcommand<>
中进行了解释beamer
9.6.1 使命令和环境覆盖规范感知。第一个参数是要定义的宏的名称(在本例中),然后是参数的数量(不包括覆盖规范),最后是第一个参数的默认值。在命令内部,可以使用字符后跟其数字\mycolorbox
来引用参数( ,依此类推,参见注释)。#
#1
#2
双括号{{
和}}
用于创建 TeX 组,这意味着任何宏(重新)定义都会在最后被遗忘。外面的一对括号界定了命令的内容,而里面的一对括号则是 TeX 组。
然后我使用\def
(我也可以使用\newcommand
)来定义一个新的宏,\mycolor
它最初是默认颜色。\only
然后我使用有条件地将其重新定义为所需的颜色(本例中为黄色)。最后,我调用该\colorbox
命令。
顺便说一句,也可以直接写\colorbox<3>{yellow}{text}
,但由于某种原因,它使用了黑色背景......