TeXでプレゼン - LaTeX Beamerを使う人のためのTips集

TeXでプレゼン - LaTeX Beamerを使う人のためのTips集

Beamer について

突然ですが,TeXでスライドが作れるってご存知でしたか? Beamerを使えばできちゃうんです(まあぶっちゃけつらいんですけど).

例えばこちらのスライドはBeamerを使って作っています.

案外綺麗に作れそうでしょ? PowerPointに飽きたとかあの微妙な操作性にイライラして仕方ないという方は,是非検討してみてはいかがでしょう.

概要

個人的にはBeamerが好きで周りにも勧めているのですが,あれができないこれができないといった声をたまに聞きます. Beamerは日本語情報が絶妙に揃っていないので,調べようにも調べづらいということでしょう. 特にプレゼンテーションで使用するようなテクニックは通常の文書作成とは少し違いますから,なかなか情報が蓄積していかないように感じましたので,Tipsをまとめていこうと思います.

  • 図や表の絶対座標での配置
  • 数式への注釈づけ
  • 動画の貼り付け
    • ファイルにリンクを張る方法
    • PDFに埋め込む方法

以上をご紹介します.

基本的な使い方についてはほかのサイトやBeamerのドキュメントを参照してください.

Tips


図や表の配置を細かく指定したい,\hspace\vspaceを使いたくない

以下の記事でtextposパッケージを使用した方法を紹介しています.

これを使うと,下のスライドのアイコン画像や写真のように配置を座標で指定できるため,\hspace\vspaceでゴリ押しする必要がなくなります.

画像はすべてtextposパッケージの機能を使って配置しています

数式に注釈を付けたい

\underbraceを使う方法

例1:

\[
    \dot x = A x + B \underbrace{F x}_{\text{input}}
\]

$$ \dot x = A x + B \underbrace{F x}_{\text{input}} $$

例2:

\[
    \color{red}{\underbrace{M(q) \ddot q}_{\text{慣性項}}}
    + \color{green}{\underbrace{C(q, \dot q)}_{\text{コリオリ項}}}
    + \color{blue}{\underbrace{D(\dot q)}_{\text{散逸項}}}
    + \color{purple}{\underbrace{G(q)}_{\text{重力項}}}
    = \color{orange}{\underbrace{Eu}_{\text{外力}}}
\]

$$ \color{red}{\underbrace{M(q) \ddot q}_{\text{慣性項}}} + \color{green}{\underbrace{C(q, \dot q)}_{\text{コリオリ項}}} + \color{blue}{\underbrace{D(\dot q)}_{\text{散逸項}}} + \color{purple}{\underbrace{G(q)}_{\text{重力項}}} = \color{orange}{\underbrace{Eu}_{\text{外力}}} $$

例3(高さを揃える): \vphantomでボックスを広げればおっけーです.

\[
    ^B R_{P_i} = \underbrace{
      R_Z \left( \frac{\pi}{3} \right)
    }_{\text{ずれ}}
    \underbrace{
      R_X(\alpha_i)
    }_{\text{ます}}\\
    ^B R_{P_i} = \underbrace{
      \vphantom{\biggl(} R_Z \left( \frac{\pi}{3} \right)
    }_{\text{ずれ}}
    \underbrace{
      \vphantom{\biggl(} R_X(\alpha_i)
    }_{\text{ない}}
\]

$$ ^B R_{P_i} = \underbrace{ R_Z \left( \frac{\pi}{3} \right) }_{\text{ずれ}} \underbrace{ R_X(\alpha_i) }_{\text{ます}}\\ ^B R_{P_i} = \underbrace{ \vphantom{\biggl(} R_Z \left( \frac{\pi}{3} \right) }_{\text{ずれ}} \underbrace{ \vphantom{\biggl(} R_X(\alpha_i) }_{\text{ない}} $$


\itemの間の隙間を変えたい

Beamerのスタイルは\frameで様々な長さをリセットしてしまっているようで,フォントによっては\item間の隙間が狭く感じてしまうことがあります. そんな時に便利なのが以下の設定です.

ローカルに変更する場合

ローカルに変更する場合は\itemsepを変更すればOKです.

\begin{itemize}
  % 以下のようにすることでアイテム同士の間の隙間を設定できる
  \setlength{\itemsep}{5pt}
  \item hoge
  \item poyo
\end{itemize}

グローバルに変更する場合

あまり良い方法はないようです.コードが少なくて済むのは次のような解決法です.

\let\olditem\item
\renewcommand{\item}{\setlength{\itemsep}{5pt}\olditem}

階層ごとにスペースを変えたい場合は\setlength{\itemsep}{0.5ex}とかすればフォントサイズに応じて変わると思います.

参考 : Global setting of spacing between items in itemize environment for beamer - LaTeX Stack Exchange


動画を貼りたい

ファイルに対するリンクを貼る方法

これが一番簡単でかつ現実的な方法だと思います.少し格好悪くなってしまいますが,よほど時間の短い発表でない限りはこの方法で十分でしょう.

例:

\usepackage{hyperref}
% ...略...

% mplayer以外でもできます.Windowsの場合はどうするんだろう?
% サムネイルを用意しておけば,クリックするとプレイヤーが立ち上がるようにできます.
\href{run:/usr/bin/mplayer -fs video.mp4}{
  \includegraphics{thumbnail.png}
}

PDFに埋め込む方法

動画(もしくは動画のパス)をそのまま埋め込む方法,FlashでできたプレイヤーをPDFに埋め込んでしまう方法の大きく分けて2種類があります. 再生するプラットフォームによって使用するパッケージや動画のコーデックに気をつける必要がありますが,基本的にはH.264とflvが主な対応形式です.

ネットで検索してもパッケージがいろいろあってややこしいので,それぞれについてメモを残しておきます.

2016年6月時点で,PDFファイルへの動画埋め込みに対応しているパッケージには以下のようなものがあります.

  • multimedia
    Beamerの一部に含まれているパッケージです.動画自体はPDFには埋め込まれません.PDFビューワの動画プレイヤー機能を使用します.Adobe Reader, 最新版のOkular, Evinceに対応しています.
  • movie15
    開発が終了しているのでオススメできません.Adobe Reader 8と相性が良いようです.
  • media9
    movie15の後継でFlashでできたプレイヤーをPDFに埋め込むタイプのパッケージです.Adobe Reader 9向け.flashmovieパッケージより多くのプレイヤーを同梱しているため,全部試せばどれか成功します.
  • flashmovie
    2010年で開発がストップしています.こちらもFlashでできたプレイヤーをPDFに埋め込むタイプです.pdfLaTeXでコンパイルしてAdobe Reader 9で再生することを前提としているようです.
  • animate
    動画ファイルではありませんが,連番画像のアニメーションに対応しています.現状Adobe ReaderとPDF-XChange Viewerのみの対応です.

上記のうち,multimediamedia9の2つは開発が継続されており,ドキュメントも整備されています. プラットフォームやビューワごとの対応状況については別途記事を書くとして,今回はそれぞれのパッケージの使用方法と注意点を書きます.

multimediaパッケージ

推奨環境

  • latex+dvips+ps2pdf / LuaLaTeX / pdfLaTeX
  • Adobe Reader 9 (8もたぶんOK)
  • Okular
  • Evince (autostart, loopが使用不可)

pdfmarkというメタデータの書き出しに対応している必要があり,それに対応していないXeLaTeXやdivpdfm(x)は使用できません.

用法は非常に簡単です.

\usepackage{multimedia}
% ...略...
\movie[
    autostart,           % ページを開いたときに自動再生
    loop,                % ループ再生
    poster,              % 最初のフレームをサムネイルとして表示
    width=0.8\linewidth, % 幅
    height=0.6\linewidth % 高さ
]{代替テキストかサムネイル}{video.mp4}

オプションで細かい挙動をいろいろと設定できます.詳しくは参考URLのドキュメントや解説記事をご覧ください.

参考:

media9パッケージ

推奨環境

  • latex+dvips+ps2pdf / latex+dvipdfm(x) / LuaLaTeX / pdfLaTeX / XeLaTeX
  • Adobe Reader 9 (8もたぶんOK)

こちらはswfファイルをPDFに埋め込むもので,上記はすべてこれに対応しています. ただし,Flashの実行に対応しているPDFビューワの種類は限られており,OkularやEvinceでは動画を見ることができません.

基本的な用法は上記のmultimediaパッケージと似ています. 以下にplayer_flv_maxi.swfを使用する場合の例を書いておきます.

\usepackage{media9}
% ...略...
\includemedia[
    width=0.8\linewidth,   % 幅
    height=0.6\linewidth,  % 高さ
    activate=pagevisible,  % ページを開いたときに有効化
    addresource=video.mp4, % PDFに埋め込むファイル
    flashvars={            % プレイヤーに渡される引数
        flv=video.mp4
        &showloading=never
        &autoplay=1
        &loop=1
        &buffer=0.2
    }
]{}{player_flv_maxi.swf}

プレイヤーに渡される引数の部分は,どのswfを使用するかによって変わります. 詳しくはmedia9パッケージのドキュメントをご覧ください.

参考: The media9 package

まとめ

  • LaTeX Beamerは便利だぞう
Share Comments