1 はじめに
1.1 この資料の目的
- 最近久々に登壇したのだけど、その時に org-beamer-mode を使った
- 使ってみたことを記録しておきたかった
2 各プレゼン資料作成ツールの簡単な説明
2.1 プレゼン資料作成ツールのリスト
Emacs でプレゼン資料を作るためのパッケージ類は 自分が最近調べた範囲だと
- org-re-reveal
- org-tree-slide
- org-beamer-mode
の3種類がある。
org-* に偏ってるのは、多分 org-mode で使えるやつを探してたから(あんまり覚えてない)
2.2 org-re-reveal
- https://gitlab.com/oer/org-re-reveal
- reveal.js という HTML でのプレゼンテーション用の JS がある
- それ用に org から export するためのパッケージがこれ
- classmethod のこの記事 が多分詳しい
2.3 org-tree-slide
- https://github.com/takaxp/org-tree-slide
- org-mode の各ツリーをスライドみたいに表示するやつ
- Emacs 内でそのまま使えて便利げ
- org-mode なのでそのまま読めて良い
- 公式 Wiki に詳しく書かれてる
2.4 org-beamer-mode
- https://orgmode.org/worg/exporters/beamer/tutorial.html
- org-mode に標準で用意されてる minor-mode
- Beamer 向けのコマンド等が用意されてる
- Beamer は LaTeX ベースでスライド用PDFを生成できるクラス
3 org-beamer-mode
3.1 選択理由
- PDF が生成されるので資料共有がしやすいから
- 試しに変換してみたらそれっぽい見た目になったから
- 慌てていたから正直あまりちゃんと検証はしてない
3.2 利用に必要なもの
- Emacs
- org-mode
- Ghostscript
- LaTeX 環境
- 今回試したのは macOS 向けの BasicTeX
3.3 BasicTex の用意1
- こんな資料を読むような人は Emacs も org-mode も入れてるとは思うので LaTeX 環境の用意のみ書いておきます。
- 大体 https://texwiki.texjp.org/?BasicTeX に書いている内容です。(自分はそれだけだとちょっとつまづいた……)
3.4 BasicTex の用意2
- BasicTeX のインストール
- http://tug.org/mactex/morepackages.html からダウンロードするか
brew cask install basictexでインスコ
- http://tug.org/mactex/morepackages.html からダウンロードするか
- 最新版までアップデート
$ sudo tlmgr update --self --all
- デフォルトの用紙サイズを A4 にする
$ sudo tlmgr paper a4
3.5 BasicTex の用意3
- 日本語環境を入れる
$ sudo tlmgr install collection-langjapanese
- latexmk を入れる
$ sudo tlmgr install latexmk
3.6 BasicTex の用意4
資料作成中、変換時にエラーになった時に適当に入れてみたやつ org-latex-default-packages-alist に入ってるから入れておいた方が良さそう
- capt-of
- 図表にキャプションを付けるためのものらしい
$ sudo tlmgr install capt-of
- wrap-fig
- wrapfig.sty という画像の回り込み用のスタイルファイル
$ sudo tlmgr install wrap-fig
3.7 latexmk の設定
- 自分は ~/.latexmkrc にこう書いておいた。
- なぜなら https://texwiki.texjp.org/?Emacs%2FOrg%20mode に書いてる通りだとうまくいかなかったから。
- 上記 URL では emacs lisp で設定している内容を .latexmkrc に移動しているだけ
3.8 Emacs の設定
- これも https://texwiki.texjp.org/?Emacs%2FOrg%20mode に書いてある内容から拝借
3.9 資料の設定1
- 設定例 B_exampleblock
#+LATEX_CLASS: beamer #+LATEX_CLASS_OPTIONS: [dvipdfmx,presentation] #+OPTIONS: H:2 toc:t num:t author:t #+LATEX_HEADER: \usepackage{pxjahyper} #+LATEX_HEADER: \usepackage{beamerthemeshadow} #+LATEX_HEADER: \RequirePackage{fancyvrb} #+LATEX_HEADER: \DefineVerbatimEnvironment{verbatim}{Verbatim}% #+LATEX_HEADER: {fontsize=\scriptsize} #+TITLE: Emacs でプレゼン資料を作る方法 - org-beamer-mode 編 #+AUTHOR: 麦汁
3.10 資料の設定2
3.11 簡単な使い方
- org-mode のファイルを開く
- ファイル先頭に資料用の設定を入れる
M-x org-beamer-modeで org-beamer-mode を有効にするC-c C-bで各ブロック毎に columns とか exampleblock とか付けて加工する
- 最後に
M-x org-beamer-export-to-pdfとかすると PDF 出力される
3.12 うまく PDF が出力できない時は
*Org PDF LaTex Output*エラーを眺めて頑張る- 大体 tex ファイルまでは生成されるのでコマンドラインから latexmk を叩いて確認してみる
- dvi まで出てるかとかの切り分けができる、はず
4 最後に
4.1 これから実際に出力される資料
- 出力して Speakerdeck に上げておきました
- https://speakerdeck.com/mugijiru/how-to-use-org-beamer-mode
4.2 まとめ
- org-beamer-mode を使うと org-mode から LaTeX Beamer の PDF が吐けて良い
- コマンドを整えたら org → tex → dvi → pdf が一発で済む
- org-mode という書き慣れたやつでプレゼン資料が作れて便利
4.3 今後やっていきたいこと
- org-beamer-select-environment とか使い倒したい
- theme 変更したい
- Linux でも使ってみたい
- org-tree-slide なども試してみたい
ただし興味が尽きたらやらなくなるはず……w

