Markdownからスライド資料を作る でMarkdownからPandocを使ってスライドを作る、ということを書きましたが、 日本語資料を使おうとするとそのままでは出来ないので、 日本語を使う際に必要な部分についての追記。
日本語資料をそのままpandocに渡す
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
こんなMarkdownファイルを作ったとします。
これを普通にPandocに渡すと
$ pandoc -t beamer -V theme:Singapore -o slides_jp.pdf memo_jp.md
! Package inputenc Error: Unicode char \u8:た not set up for use with LaTeX.
See the inputenc package documentation for explanation.
Type H <return> for immediate help.
...
l.66 \frame{\titlepage}
Try running pandoc with --latex-engine=xelatex.
pandoc: Error producing PDF from TeX source
$
こんな感じのエラーが出ます。最初のたいとる
のた
が
読めなくてエラーが出ています。
これはLaTexが日本語を処理できていないので、 処理をするためにLaTexの拡張版であるLuaLaTexを使います。
LuaLaTex
LuaLaTeX をとにかく使えるようにする - Eksoterikoi bLogoi: http://exoterisch.hatenablog.com/entry/2014/09/02/200558
LuaLaTexはMacでMacTexとか入れると/usr/texbin/lualatex
として
latex
やplatex
と一緒に入っています。
pandoc
でLaTexエンジンを切り替えるためには
$ pandoc -t beamer -V theme:Singapore -o slides_jp.pdf memo_jp.md --latex-engine=lualatex
の様に--latex-engine
オプションを使います。
これで取り敢えずはPDF作成出来ますが、このままだと文字化けしています。
ここで、beamer
クラスを使わないのであれば
pandoc -o slides_jp.pdf memo_jp.md --latex-engine=lualatex -V documentclass=ltjarticle
な感じでdocumentclass
にltjarticle
を加えてあげると日本語PDFが出来ます。
ただ、これだとスライドにならないのでスライドを作るには スライドのスタイルに
\usepackage{luatexja}
を加えます。
Markdownからスライド資料を作る で使ったSingaporeスタイルなんかだと、 最後の方に
1 2 3 4 5 6 7 8 9 |
|
こんな感じで加えます。(hypersetup
の部分は前の時に加えた物。)
スタイルを探すときはkpsewhich
コマンドが便利です。
$ kpsewhich beamerthemeSingapore.sty
/usr/local/texlive/2014/texmf-dist/tex/latex/beamer/themes/theme/beamerthemeSingapore.sty
これで、
$ pandoc -t beamer -V theme:Singapore -o slides_jp.pdf memo_jp.md --latex-engine=lualatex
とするとちゃんと日本語が反映されたスライドが作成できます。