Beamer

プレゼンテーションのスライドと言えばMicrosoftのPowerPointやAppleのKeynoteが有名で,多くの人はこれらのソフトウェアを使っていると思いますが,普段LaTeXで文書作成を行っている人はスライド作成にもLaTeXを使ってしまうのが手っ取り早いでしょう.

以前はLaTeXで視覚的にインパクトのあるスライドを作るのは難しく,結局上記のソフトウェアで我慢するか,seminar.styを使って地味なスライドで満足するか,ProsperTeXPowerなどでPowerPointにそっくりなスライドを作るしかありませんでした(私も生まれて初めて2002年に学会発表した時はProsperを使いました).しかし,Beamerの登場以降すっかり状況が変わり,あくまで個人的な印象ですがLaTeXユーザーでプレゼンする人の大半はBeamerを使っているのではないかというくらい広まりました.

Beamerの解説ページはウェブ上にたくさんあり(例えばBeamer - TeX Wiki),基本的な情報は簡単に得ることができますので,ここでは言語学におけるLaTeX使用と関連する話題を中心に内容の薄い解説をしておきます.なお,最近の主要なLaTeXのディストリビューションにはBeamerが含まれていますので,通常特別インストールの作業は必要ないはずです.

プリアンブル

まず書き出しですが,ここでいきなり選択を迫られます.句構造木その他でPSTricksを使っていてpostscript(ps)ファイルを経由してpdfを作る人と,dvipdfm(x)でdviファイルから直接pdfを作る人でdocumentclassのオプションが異なります.前者の場合は,オプションにdvips,後者の場合はdvipdfmと以下のように指定します.ついでにフォントサイズも8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt, 20ptの中から指定しておきましょう.

\documentclass[12pt,dvips]{beamer}
\documentclass[12pt,dvipdfm]{beamer}

あとはいつも通り必要なパッケージを\usepackage{...}で読み込みます.次に重要なのはテーマの指定です.\usetheme{...} という命令を使います.たくさんのテーマと色の選択肢がありますので,Beamer Theme Matrixなどを参考に好みのデザインを見つけて下さい.例えば,Frankfurtのテーマを使う場合は,以下のように書くと,Frankfurtで指定されたデフォルトの色と構成でスライドが作成できます.デフォルトのデザインでは満足できず,色を変えたい,itemize環境やenumerate環境のbulletを変えたい,ナビゲーションバーを変えたいというような場合は,ウェブ上に情報がたくさんありますので調べてください.

\usetheme{Frankfurt}

次にフォントを指定します.コンピュータスライドの場合,見やすさを考えて和文はゴシック体,英文はサンセリフ体で表示するのが普通ですので,\renewcommandでそのように指定しておきましょう.ただ数式フォントはサンセリフ体だと逆に見難いと感じる人が多いようなので,その場合3行目のように記述して数式環境のみセリフ体を使うように指定します.

\renewcommand\kanjifamilydefault{\gtdefault}
\renewcommand\familydefault{\sfdefault}
\usefonttheme[onlymath]{serif}

プレゼンテーションではオーバーレイを使って,文字や項目を段階的に表示するテクニックがよく使われます.この場合,自動番号振りなどのカウンターがその度に増えていってしまうという問題が発生します.言語学の場合,例文番号でこの現象が起きてしまいますので,オーバーレイの度にカウンターをリセットするよう指定します.例えば,gb4e.styを使っているなら,例文番号のカウンターはexxですから,以下のように指定しておきます.他のスタイルを使っている場合は,適宜exxの箇所を当該スタイルのカウンターに置き換えてください.

\resetcounteronoverlays{exx}

また参考文献で多くスタイルが\newblockを使いますが,Beamerではこれが定義されていないため,エラーがでます.この場合は,以下のように定義します.お好みでブロックごとに間隔を指定できますが,特に気にならなければ{ }と空欄にしておいて構いません.

\def\newblock{}

最後にタイトルページの情報を記載します.少し通常のLaTeXと違いますが,\titleが表題,\subtitleが副題,\authorが発表者,\instituteが所属,\dateが日付です.テーマにもよりますが,これらの情報はスライドの上部・下部にも表示されることがあり,長いと入りきらないことがあります.その場合オプションとして[...]に短いバージョンを指定することができます.ここでは「言語学におけるPowerPoint脱却のすすめ」という長いタイトルを「脱PowerPoint」と短くしたりしています.

\title[脱PowerPoint]{言語学におけるPowerPoint脱却のすすめ}
\subtitle[Beamer入門]{まずはBeamerを使うことから始めよう}
\author[乙黒]{乙黒 亮}
\institute[早大法]{%
早稲田大学法学学術院\\
\texttt{hogehoge@waseda.jp}}
\date[10/26]{2012年10月26日}

本文

あとはスライドを作っていくだけです.まずいつものようにdocument環境で文章全体を囲みます.1枚のスライドはframe環境で指定します.各スライドにタイトルをつけることができ,それは\begin{frame}の直後に{...}で記述します.\frametitle{...}という命令を使っても構いません.最初のスライドは通常タイトルページのみですので,frame環境の中に\titlepageと書きます.発表の始めに全体の流れを説明したい場合は,2枚目のスライドに\tableofcontentsと書けば,\sectionなどで指定された見出しが目次として列挙されます.また,参考文献など複数のスライドに渡る場合は[allowframebreaks]とframe環境のオプションを指定しておくと,自動的に複数のスライドに分割してくれます.

\begin{document}
\bibliographystyle{...}

\begin{frame}
  \titlepage
\end{frame}

\begin{frame}{本発表の流れ}
  \tableofcontents
\end{frame}

\section{はじめに}
\subsection{なぜBeamerか}
\begin{frame}
  \frametitle{なぜBeamerか}
...
\end{frame}

\begin{frame}[allowframebreaks]
 \bibliography{...}
\end{frame}

\end{document}

しおりの文字化け

本文ができたらいつものようにコンパイルしてpdfファイルを作成しますが,日本語の場合しおりが文字化けするという問題があります.別に気にならなければ放っておいても構いませんが,しおりも日本語にしたいというときは,dvipsとps2pdfでpdfファイルを作っている場合,松本隆太郎さんが提供しているconvert-eucというperlスクリプトを使ってしおりをUnicodeに変換します(convert-eucの入手と解説はこちらから).私の場合,以下のようにdvipsの際に,ソースファイルと同じディレクトリに入れた上記のperlスクリプトを走らせてpsファイルを作って,ps2pdfでpdfにしています.

$ dvips -f hoge.dvi | perl ./convert-euc.pl > hoge.ps
$ ps2pdf14 hoge.ps

dvipdfmを使ってdviをpdfに変換している場合は,プリアンブルに以下のように記述しておくことで,しおりの文字化けが防げるようです.

\ifnum 42146=\euc"A4A2 \AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}\else
\AtBeginDvi{\special{pdf:tounicode 90ms-RKSJ-UCS2}}\fi

ハンドアウトの作成

スライドを使って発表していてもハンドアウトを配布したいことがあります.その場合,PowerPointなどでは,スライドをそのまま1ページに6-9枚くらい並べて印刷したりしますが,読みにくい,順番が分かりにくいなどあまり好ましくありません.Beamerを使っていれば,簡単に普通のハンドアウトを作ることができます.

まず元のBeamerのスライドのファイルの\documentclassを通常の文章のものに変えます.次にbeamerarticle.styというスタイルファイルを読み込みます.例えば,jarticleクラスでA4サイズ12ポイントのハンドアウトを作るなら,以下のようにします.

\documentclass[a4paper,12pt]{jarticle}
\usepackage{beamerarticle}

オーバーレイはキャンセルされるため,上で指定した\resetcounteronoverlays{exx}はエラーを引き起こします.消すかコメントアウトしておきましょう.\titlepageというのも通常の文書で使う\maketitleと書き換えます.

また配布資料の場合,ゴシック体の和文,サンセリフ体の英文にする必要は特にありませんので,上の\renewcommand\kanjifamilydefault{\gtdefault}と \renewcommand\familydefault{\sfdefault}は消すかコメントアウトしてしまってもよいでしょう.目次も必要なければ\tableofcontentsのスライドを消すかコメントアウトします.

一点注意することは,beamerarticle.styでは\\での改行が無視される仕様になっています.代わりに\\<all>か\newlineや\parを使うと改行されます.

あとはBeamer特有のコマンドがあっても無視されてコンパイルできるはずです.geometry.styなども普通に使うことができますので,余白を適宜調整すればスライドをそのまま印刷するより紙を節約することができます.