オーバーレイ(マニュアル9章)
注:緑色の部分は省略可能.
ここでは,オーバーレイの使い方についてマニュアルをもとに説明する.
おそらく多用する部分であるのでできるだけ細かく解説する.
Pause コマンド
(とりあえず,例をみてみよう.)
例 \begin{frame} \begin{itemize} \item Shown from first slide on. \pause \item Shown from second slide on. \begin{itemize} \item Shown from second slide on. \pause \item Shown from third slide on. \end{itemize} \item Shown from third slide on. \pause \item Shown from fourth slide on. \end{itemize} Shown from fourth slide on. \begin{itemize} \onslide \item Shown from first slide on. \pause \item Shown from fifth slide on. \end{itemize} \end{frame}
- \pause[number]
number省略可.スライドを停止する.
numberが与えられた時は,カウンターbeamerpausesがこの値にセットされる.
内部的に,\onslideが使われている.alignのようなamsmath環境では
このコマンドは働かない.
articleモードでは無効.
オーバーレイの一般的なコンセプト
\textcolor<2>{red}{テキスト}のように2番目の時だけ赤で表示され,他の時は黒で表示されるというのもできる.
最初からアイテム全表示で,クリックであるアイテムを太字(\textbf)にしたり,色をつけたりしたい時に有効.他に,\textbf, \textit, \textsl, \textrm, \textsf, \color,\alert, \structure などが使用できる.
\textbf<2>{hoge.}など試してみよう.
\only<number>{テキスト}はnumberの時だけテキストを表示.
<number>の使い方としては,<1-5>は1から5,<-3>は1〜3,<4->は4から最後,がある.
複雑な使い方の例として,<-3,6-8,10,12-15>とすると,1〜3,6〜8,10,12〜15の順で表示させることができる.
オーバーレイ効果を伴うコマンド
- \onslide<modifier><overlay specification>{text}
テキストがあるかどうかで挙動がかわる.
もし,存在するのなら,<modifier>は + か * のどちらをとることができる.
テキストがない場合,このコマンドに続くすべてのテキストが特定(オーバーレイで指定)のスライド中にのみ表示される.それ以外のスライド中ではスペースを占有している.このコマンドはoverprintと挙動が異なるので注意.
<modifier>が + の時は隠される.この違いは,\uncoverと\visibleの違いと同じである.
<modifier>が * の時は,テキストがないと意味がない.テキストがある場合は,\onlyと同じである.
まとめると,\onslide<1>と\uncover<1>,\onslide+<1>と\visible,\onslide*<1>と\only<1>は同じである.
例1 \begin{frame} Shown on first slide. \onslide<2-3> Shown on second and third slide. \begin{itemize} \item Still shown on the second and third slide. \onslide+<4-> \item Shown from slide 4 on. \end{itemize} Shown from slide 4 on. \onslide Shown on all slides. \end{frame}
例2 \begin{frame} \onslide<1>{Same effect as the following command.} \uncover<1>{Same effect as the previous command.} \onslide+<2>{Same effect as the following command.} \visible<2>{Same effect as the previous command.} \onslide*<3>{Same effect as the following command.} \only<3>{Same effect as the previous command.} \end{frame}
- \only<overlay specification>{text}<overlay specification>
指定以外のスライド中ではスペースを占有しない.
例 \only<3->{Text inserted from slide 3 on.}
テキストの後にもオーバーレイ指定をでき,例としては,以下のような使い方ができる.
\newcommand{myblue}{only{color{blue}}} \begin{frame} \myblue<2> This text is blue only on slide 2. \end{frame}
- \uncover<overlay specification>{text}
指定したスライドだけテキストが"uncovered"の状態になる.テキストはスペースは占有する.
articleモードはonlyと同じ作用になる.
<code> 例 \uncover<3->{Text shown from slide 3 on.}
- \visible<overlay specification>{text}
\uncoverと効果は同じだが,transparency(透明)の効果がない.
articleモードは\onlyと同じ作用になる.
例 \visible<2->{Text shown from slide 2 on.}
- \invisible<overlay specification>{text}
\visibleの反対.
例 \invisible<-2>{Text shown from slide 3 on.}
- \alt<overlay specification>{default text}{alternative text}<overlay specification>
指定したスライドだけdefault textだけ表示.それ以外は,alternative textを表示.
例 \alt<2>{On Slide 2}{Not on slide 2.}
テキストの後につくオーバーレイ指定は拡張用.
例 \newcommand{uncover}{alt{@firstofone}{makeinvisible}}
- \temporal<overlay specification>{before slide text}{default text}{after slide text}
指定したスライドだけ default text,指定したスライドまでは,befor slide text,
後は,after slide text.
例1 \temporal<3-4>{Shown on 1, 2}{Shown on 3, 4}{Shown 5, 6, 7, ...} \temporal<3,5>{Shown on 1, 2, 4}{Shown on 3, 5}{Shown 6, 7, 8, ...}
例2 \defcolorize<#1>{% \temporal<#1>{color{red!50}}{color{black}}{color{black!50}}} \begin{frame} \begin{itemize} \colorize<1> item First item. \colorize<2> item Second item. \colorize<3> item Third item. \colorize<4> item Fourth item. \end{itemize} \end{frame}
- \item<alert specification>[item label]<alert specification>
alert specification 自体の使い方は 9.6.3章に記載.
例 \begin{frame} \begin{itemize} \item<1-> First point, shown on all slides. \item<2-> Second point, shown on slide 2 and later. \item<2-> Third point, also shown on slide 2 and later. \item<3-> Fourth point, shown on slide 3. \end{itemize} \end{frame} \begin{frame} \begin{enumerate} \item<3-| alert@3>[0.] A zeroth point, shown at the very end. \item<1-| alert@1> The first and main point. \item<2-| alert@2> The second point. \end{enumerate} \end{frame}
Article モードでは,この効果は無視される.
- \label<overlay specification>{label name}
オーバーレイ指定がある場合,その指定したスライドの時だけラベルを挿入する.
オーバーレイ指定がない場合,overlay specificationには自動的に1がセットされ,1番目のスライドの時だけラベルを挿入する.
例 \begin{frame} \begin{align} a &= b + c \label{first}\ % no specification needed c &= d + e \label{second}\% no specification needed \end{align} Blah blah, \uncover<2>{more blah blah.} \only<3>{Specification is needed now.\label<3>{mylabel}} \end{frame}
オーバーレイ機能つき環境
theorem,proof,example 等はオーバーレイが使える.
例 \begin{frame} \frametitle{A Theorem on Infinite Sets} \begin{theorem}<1-> There exists an infinite set. \end{theorem} \begin{proof}<3-> This follows from the axiom of infinity. \end{proof} \begin{example}<2-> The set of natural numbers is infinite. \end{example} \end{frame}
\only, \alt, \visible, \uncover, \invisibleの環境版は,それぞれonlyenv, altenv, visibleenv, uncoverenv, invisibleenvである.
altenv,onlyenvを除いて,コマンドの時と同じ効果をもつ.
- onlyenv
\begin{onlyenv}<overlay specification> environment contents \end{onlyenv}
オーバーレイが指定された場合,そのスライドのときのみテキストを表示する.onlyとの違いは,環境の方はboxの中に植字してからそのboxをすてるが,
onlyはすぐにそのコンテンツをすてる.
- altenv
\begin{altenv}<overlay specification>{begin text}{end text}% {alternate begin text}{alternate end text}<overlay specification> environment contents end{altenv}
オーバーレイは1つだけ指定できる.
その指定したスライドでは,テキストの前にbegin text,後にend textが挿入される.
それ以外のスライドでは,テキストの前に alternate begin text,後に alternate end textが挿入される.
テキスト,イメージの動的な変化
- overlayarea
\begin{overlayarea}{area width}{area height} environment contents \end{overlayarea}
widthとheightで指定したサイズに環境がかわる.
例 \begin{overlayarea}{textwidth}{3cm} \only<1>{Some text for the first slide.\\Possibly several lines long.} \only<2>{Replacement on the second slide.} \end{overlayarea}
- overprint
\begin{overprint}[area width] environment contents \end{overprint}
\item コマンドみたいな間隔で\onslide を使う.
heightとdepthはコンテンツに応じて自動で調節される.
handoutの場合は1つだけonslideを使うようにして他は0を使うようにする.
例 \begin{overprint} \onslide<1| handout:1> Some text for the first slide.\ Possibly several lines long. \onslide<2| handout:0> Replacement on the second slide. Supressed for handout. \end{overprint}
複数の図を用いて紙芝居のようにみせるやり方には以下のようなものがある.
overprint と意味的に同じだからこの場所で載せていると思われる.
適当にpdfを作って3パターン比べてみるとおもしろいです.
\begin{frame} \frametitle{The Three Process Stages} \includegraphics<1>{first.pdf} \includegraphics<2>{second.pdf} \includegraphics<3>{third.pdf} \end{frame}
\begin{frame} \frametitle{The Three Process Stages} \includegraphics<1->{first.pdf}% \llap{includegraphics<2->{second.pdf}}% \llap{includegraphics<3->{third.pdf}} \end{frame}
\begin{frame} \frametitle{The Three Process Stages} \includegraphics{first.pdf}% \pause% \llap{includegraphics{second.pdf}}% \pause% \llap{includegraphics{third.pdf}} \end{frame}
オーバーレイ発展編
説明は省略.オーバーレイの新しいコマンドを作成したい場合はマニュアルを参照.
- \newcommand<>{command name}[argument number][default optional value]{text}
- \renewcommand<>{existing command name}[argument number][default optional value]{text}
- \newenvironment<>{environment name}[argument number][default optional value]{begin text}{end text}
- \renewenvironment<>{existing environment name}[argument number][default optional value]{begin text}{end text}
- \resetcounteronoverlays{counter name}
- resetcountonoverlays{count register name}
モードの指定
- \only<3| handout:2>{Some text}
handout時に別の動作をさせたい場合.3は,beamer:3を省略した形.
- \only<article>{This text is shown only in article mode.}
articleモードのみ表示
- \section<presentation>{This section exists only in the presentation modes}
- \section<article>{This section exists only in the article mode}
ある章についてpresentationとarticleで表示内容を変えたい場合に有効.
- \only<article| beamer:1>{Riddle}
このようにarticleモード または,beamerモードの1スライド目で表示といったミックスもできる.
アクションの指定
<action>@number のようにアクションをおこすスライドナンバーを指定できる.
例 \item<3-| alert@3> Shown from slide 3 on, alerted on slide 3.
この例は,3番目のスライドからアイテムを表示しつつ,3番目はalertで表示する.
アクションを指定できるの現在,\item,\action, \actionenv,ブロック環境(block,またはtheorem)だけである.
可能なアクションとして,以下のものがある.
- alert : item または,blockを様変わりさせる.
- uncover: item または,blockを表示する.(アクションに指定がない場合,これがデフォルト)
- only: item または,blockを指定したスライドのみ表示.
- visible: 特定のスライドだけテキストを可視化.
- invisible: 特定のスライドだけデキストを不可視にする.
もちろん独自のアクションをもった環境も作成できる.
例 \newenvironment{checkenv}{\only{\setbeamertemplate{itemize item}{X}}}{} \begin{frame} \begin{itemize} \item<1-|check@4> Text 1. \item<2-> Text 2. \item<3-> Text 3. \end{itemize} \end{frame}
この例では,すべてのアイテムを順に表示させた後,4枚目のスライドで1番目のアイテムの○を
Xに変更する.
\begin{actionenv}<action specification> environment contents \end{actionenv}
\begin{actionienv}<slide number>という使い方ができる.
例 \begin{frame} \begin{actionenv}<2-| alert@3-4,6> This text is shown the same way as the text below. \end{actionenv} \begin{uncoverenv}<2-> \begin{alertenv}<3-4,6> This text is shown the same way as the text above. \end{alertenv} \end{uncoverenv} \end{frame}
- \action<action specification>{text}
例 \action<alert@2>{Could also have used \alert<2>{}.}
- \beamerdefaultoverlayspecification{default overlay specification}
このコマンドでデフォルトのオーバーレイの仕様をかえることができる.
デフォルトは<*>.
\frame,frame, itemize, enumerate, descriptionに影響を及ぼす.
例 \beamerdefaultoverlayspecification{<+->} \beamerdefaultoverlayspecification{<+-|alert@+>}
\beamerdefaultoverlayspecification{}は,デフォルトの設定を消す.
インクリメンタル
\pauseコマンドもカウンターbeamerpausesをアップデートしていくのでアイテムを順次表示できるが,\item<+->や\item<1->のように使用するのが望ましい.beamerpausesを使った応用として,<+(1)->,<+(-1)-+>などがある.それぞれ,現在のbeamerpausesが2であるとした場合,<3->,<1-2>と同じである.
<.->はbeamerpausesをアップデートしない.つまり,前のアイテムと同時表示となる.
例 \begin{itemize} \item<1-> Apple \item<2-> Peach \item<3-> Plum \item<4-> Orange \end{itemize} \begin{itemize} \item<+-> Apple \item<+-> Peach \item<+-> Plum \item<+-> Orange \end{itemize}
また,環境自身にオプションをつけることもできる.
例 \begin{itemize}[<+->] \item Apple \item Peach \item Plum \item Orange \end{itemize}
他のアクションと組み合わせも可能.以下の例はalertアクションもあわせてインクリメントされる.
例 \begin{itemize} \item<+-| alert@+> Apple \item<+-| alert@+> Peach \item<+-| alert@+> Plum \item<+-| alert@+> Orange \end{itemize} \begin{itemize}[<+-| alert@+>] \item Apple \item Peach \item Plum \item Orange \end{itemize}
<.>を使った例として以下のものがある.
例 \begin{itemize}[<+->] \item This is \alert<.>{important}. \item We want to \alert<.>{highlight} this and \alert<.>{this}. \item What is the \alert<.>{matrix}? \end{itemize}
\alert<.>とすることで,そのアイテムが表示されてる時だけ有効にすることができる.