在 Latex Beamer 中我想要执行以下操作:
- 重复一帧(来自之前的一些幻灯片)
- 重复一遍,但将一些单词设为灰色(或不透明度最好为 50%),将其他单词设为红色
- 再重复一遍,但不要使用上一张幻灯片中的灰色单词
除了复制和粘贴解决方案之外,还有其他优雅的方法吗?
答案1
beamer
重新定义了标准文档类中的几乎所有环境(和许多宏),以适应其使用覆盖规范。因此,您所追求的构成了 的基本功能的一部分beamer
。您可以混合使用标准覆盖规范(与现有命令相关联,例如\item
来自enumerate
或itemize
环境)或使用诸如\only
、\uncover
、\visible
或 之类的命令\onslide
。以下最小示例取自文档并略作修改,旨在突出显示这一点。单个代码frame
会生成 3 张幻灯片,具体取决于覆盖规范:
\documentclass{beamer}% http://ctan.org/pkg/beamer
\usetheme{warsaw}%
\setbeamercovered{transparent}% Allow for shaded (transparent) covered items
\begin{document}
\begin{frame}
\frametitle{There Is No Largest Prime Number}
\framesubtitle{The proof uses \textit{reductio ad absurdum}.}
\begin{theorem}
There is no largest prime number.
\end{theorem}
\begin{proof}
\begin{enumerate}
\item<1-| alert@1> Suppose $p$ were the largest prime number.
\item<2-> Let $q$ be the \alt<3>{\alert{product}}{product} of the \uncover<3->{first} $p$ numbers.
\item<3-> Then $q+1$ is not divisible by any of them.
\item<1-> But $q + 1$ is \visible<2->{greater than} $1$, thus divisible by some prime
number not in the first $p$ numbers.\qedhere
\end{enumerate}
\end{proof}
\end{frame}
\end{document}
欲了解更多信息,请阅读beamer
文档。附注 - 看看覆盖规范如何与第一个的透明度嵌套在一起\item
。该词first
两次设置为某种透明不透明度。正如它揭示的那样,透明度以逐步的方式消失。
就您的具体情况而言,听起来frame
您想要重用的位于演示文稿开头的某个位置。虽然\againframe
看起来相关,但可能是您复制了之前的frame
代码,但这次添加了一些覆盖规范。
复制现有代码frame
(为了便于自动更改源代码frame
)的一种可能替代方法是使用\againframe
和一些宏的组合。这是一个(非常)简单的例子:
\documentclass{beamer}% http://ctan.org/pkg/beamer
% Original macro \mymacro essentially does nothing
\newcommand{\mymacro}[1]{#1}% \mymacro{..}
\begin{document}
\begin{frame}[label=example]% This is frame 'example'
Here is some \mymacro{content}.
\end{frame}
% Redefining \mymacro to change its argument into an \alert{..}
\renewcommand{\mymacro}[1]{\alert{#1}}%
\againframe{example}% Re-use frame 'example'
\end{document}
但是,由于您使用了,因此 LaTeX 会对多重定义的标签提出投诉\againframe
。
答案2
\againframe
是您的朋友。框架环境和\againframe
本身都具有叠加感知能力。这意味着您可以为两者提供一个叠加规范,该规范规定“仅显示符合此规范的框架即使有更多代码“。因此,如果您有一个非常复杂的框架,但将其放在\begin{frame}<1>[label=repeated]
开头,那么只会显示第一张幻灯片,而不管所有其他信息。但所有这些信息都会保留,因此您以后可以说\againframe<2-3>{repeated}
要获取下一部分。
我建议确保覆盖规范不重叠,如果您想要按原样重复某些内容,则可能需要对数字进行一些调整。然后,您必须确保幻灯片 2 是幻灯片 1 的精确副本。
以下是一个例子:
\documentclass{beamer}% http://ctan.org/pkg/beamer
%\url{http://tex.stackexchange.com/q/31031/86}
\begin{document}
\begin{frame}<1>[label=again]
\frametitle{The Infamous Disappearing Text}
Here is a frame, it's a bit \alert<2-3>{boring}.
It's so boring, we'll see it \only<-3>{{\color<2-3>{gray}twice}}.
\only<3>{But the second time, we'll try to make it more interesting by making some of those words change colour.}
\only<5>{The third time, we'll wave a magic wand to make all the gray words disappear.}
\end{frame}
\begin{frame}
\frametitle{Some Comments}
This frame is perhaps even more so.
\end{frame}
\againframe<2-3>{again}
\begin{frame}
\frametitle{Some Comments}
Will this tedium ever end?
\end{frame}
\againframe<4-5>{again}
\end{document}
(我不会发布截图。它们和文本一样乏味。)
我在一年前举办的一次研讨会上用过这个。你可以查看 PDF这里(抱歉,那里没有来源)。要查看的幻灯片是 Beamer 版本的 59-61、75-76、81-82、87-88、95-97。这些都是单个框架,但显示在不同阶段。它不会编译,但实际帧的代码是:
\begin{frame}<1-3 |trans: 1|handout: 1>[label=definition]
\frametitle{\only<1-4|trans: 1|handout: 1>{First}\only<5-6|trans: 2| handout: 2>{Second}\only<7-8|trans: 3|handout: 3>{Third}\only<9-10| trans: 4|handout: 4>{Fourth}\only<11-12|trans: 5-6|handout: 5-6>{Fifth} Candidate\visible<12|trans: 6|handout: 6>{: Fr\"olicher Space}}
\begin{definition}[{\only<1-4|trans: 1|handout: 1>{First}\only<5-6|trans: 2|handout: 2>{Second}\only<7-8|trans: 3|handout: 3|handout: 3>{Third}\only<9-10|trans: 4|handout: 4|handout: 4>{Fourth}\only<11|trans: 5|handout: 5>{Fifth}\only<1-11|trans: 1-5|handout: 1-5|handout: 1-5>{ Attempt}\only<12|trans: 6|handout: 6>{Fr\"olicher Space}}]
A \alert{\alt<1-11|trans: 1-5|handout: 1-5| handout: 1-5>{smooth}{Fr\"olicher} space} is a triple \((X,\m{\alt<1-11|trans: 1-5|handout: 1-5| handout: 1-5>{I}{C}},\m{\alt<1-11|trans: 1-5| handout: 1-5>{O}{F}})\) where:
%
\begin{itemize}
\item \(X\) is a \alt<1-10|trans: 1-4|handout: 1-4>{\alert<1-3>{topological space}}{\alert<11>{set}}
\item \(\m{\alt<1-11|trans: 1-5|handout: 1-5>{I}{C}}\only<1-8|trans: 1-3| handout: 1-3>{(U)} \subseteq \Hom{\alt<1-10|trans: 1-4|handout: 1-4>{\TopCat}{\Set}}{\alt<1-8|trans: 1-3|handout: 1-3>{U}{\R}}{X}\),\only<1-8|trans: 1-3|handout: 1-3>{ \(U \subseteq \R^m\) open,}
\item \(\m{\alt<1-11|trans: 1-5|handout: 1-5>{O}{F}}\only<1-10|trans: 1-4| handout: 1-4>{(V\only<1-8|trans: 1-3|handout: 1-3>{;\R^m})} \subseteq \Hom{\alt<1-10|trans: 1-4|handout: 1-4>{\TopCat}{\Set}}{\alt<1-10|trans: 1-4|handout: 1-4>{V}{X}}{\alt<1-8|trans: 1-3|handout: 1-3>{\R^m}{\R}}\)\only<1-10|trans: 1-4|handout: 1-4>{, \(V \subseteq X\) open}.
\end{itemize}
\only<1-4|trans: 1|handout: 1>{\medskip}
\pause[2]
\only<5-11|trans: 2-5|handout: 2-5>{
such that
\begin{itemize}
\item \(\m{I}\) and \(\m{O}\) are \alert<5>{compatible},
\item \(\alt<5-6|trans: 2|handout: 2>{\overline{\m{I}}}{\m{I}}\) and \(\alt<5-6|trans: 2|handout: 2>{\overline{\m{O}}}{\m{O}}\) are \only<5-6|trans: 2|handout: 2>{\alert<5>{also compatible}}\only<7-|trans: 3-| handout: 3->{\alert<7>{saturated}: \(\m{I} = \overline{\m{I}}\), \(\m{O} = \overline{\m{O}}\)}.
\end{itemize}
}
\only<12|trans: 6|handout: 6>{
such that
\begin{itemize}
\item \(\m{C} = \{\psi \colon \R \to X : \phi\psi \in \Ci(\R,\R), \phi \in \m{F}\}\)
\item \(\m{F} = \{\phi \colon X \to \R : \phi\psi \in \Ci(\R,\R), \psi \in \m{C}\}\)
\end{itemize}
}
A \alert{morphism} is a \only<1-10|trans: 1-4|handout: 1-4>{continuous }map \(f \colon X \to Y\) such
that
%
\[
\phi f \psi \alt<1-2|trans: 1|handout: 1>{\text{ is }}{\in} \Ci \text{ for } \psi \in \m{\alt<1-11|trans: 1-5|handout: 1-5>{I}{C}}\only<1-2|trans:1|handout: 1>{(U)}, \phi \in \m{\alt<1-11|trans:1-5|handout: 1-5>{O}{F}}\only<1-2|trans: 1|handout: 1>{(V;\R^m)}
\]
\end{definition}
\only<3|trans: 1|handout: 1>{
Notation:
\begin{itemize}
\item smooth map = morphism
\item \(\psi \in \m{I}\), \(\phi \in \m{O}\), \(\theta \in \Ci\)
\end{itemize}
}
\end{frame}
重新调用如下:
\againframe<6-7|trans: 3|handout: 3>{definition}
(看一下,beamer
如果你在序言中添加\newcommand\m[1]{\mathcal{#1}}
和,它可能会编译成普通文档\newcommand{\Ci}{C^\infty}
。不过,可能有些东西我遗漏了。)
答案3
你可以使用这样的方法:
\documentclass{beamer}
\usepackage{xcolor}
\begin{document}
\def\mytext#1{Here {\color{#1}is some} text}
\begin{frame}
\mytext{black}
\end{frame}
\begin{frame}
\mytext{red}
\end{frame}
\begin{frame}
\mytext{black}
\end{frame}
\end{document}
如果你愿意,你甚至可以使用
\def\mytext#1{\begin{frame}Here {\color{#1}is some} text\end{frame}}
\begin{frame}...\end{frame}
那么你就不必
\mytext{blue}