Beamerのtransモードでカンペをつくる

先日国際会議で発表する機会がありました. 今回は不慣れな英語で発表する必要があったので,このときは普段の発表よりも一層しっかりと準備をしました. 特に発表原稿についてはきちんと文章を書きだしておいたのですが,発表練習の際にメモ入りのスライドカンペと原稿との2つの資料を手元に置いてやっていると非常に手際が悪くなってしまい困りました. このとき,同じ研究室の留学生の方から「スライドと原稿をいっしょに印刷するといいよー」とのアドバイスをいただき,なるほどそれは便利だ!ということで早速Beamerでそれを実現する方法を考えました.

具体的には,いつもスライドを手元の資料とする際は4up(4面付)で印刷しているので,そのうちの2面分に「原稿のみを入れたスライド」を挿入するという方法です. もちろんカンペ専用に発表用とは別にファイルを用意して作成してもよかったのですが,そんなことをすると発表用ファイルに変更を加える度にカンペ用にももう一度同じ変更を施さなくてはならなくなるのでスマートではありません.

ここで登場するのがBeamerに搭載されているモード機能です. よく使われるのは”handout”モードでしょうか.overlayやpauseを使った発表用資料ではアニメーションが入る度に新しいページが作成されるので,印刷配布用資料にはそういった余計なページを入れたくはありません.このとき,documentclass宣言部にhandoutオプションを入れてコンパイルするとアニメーションなしバージョンの資料が作成できるのです.他にどのようなモードがあるかというと,まずデフォルト(普段なにも指定せずに動かした場合)の”beamer”モード,OHP用の”trans”モード,あとは論文用の”article”モード. transモードはOHP用とはいえ,性質としては「アニメーションをなしにしたもの」なのでおそらくほぼhandoutモードと変わらないものと思われます.そこで,今回はこのモードを「カンペ資料用」モードとして使ってみることにします.

Beamerでは,modeコマンドを使うことでスライドごとの各モードでの表示非表示を切り替えることができます.

たとえば,

1
2
3
4
5
\mode<beamer|handout>{
    \begin{frame}
        This frame is shown in beamer and handout mode.
    \end{frame}
}

とすればこのスライドはbeamerモードとhandoutモードにのみ表示され,

1
2
3
4
5
\mode<beamer|trans>{
    \begin{frame}
        This frame is shown in beamer and trans mode.
    \end{frame}
}

とすればbeamerモードとtransモードにのみ表示されます. これを利用して,原稿をつらつらと書き連ねたスライドを用意して

1
2
3
4
5
\mode<trans>{
    \begin{frame}
        manuscript
    \end{frame}
}

のように全てtransモードのみに表示されるようにしておくとこれをカンペとして用いることができます.

コンパイルする際にはdocumentclassのオプションに

1
\documentclass[trans,14pt]{beamer}

などのようにtransオプションを追加してコンパイルするのですが,毎回この部分を書き換えるのは面倒なので

1
2
cat slide.tex | sed -e "s/\\documentclass\[/\\documentclass\[trans,/g" > manuscript.tex
latexmk manuscript.tex

などとした適当なシェルスクリプトを用意し,これを走らせます.

あとはこれをわかりやすいように4upにして印刷すればよいというわけです.