rcmdnk's blog

slide:ology[スライドロジ―]―プレゼンテーション、ビジュアルの革新

Markdownからスライド資料を作る でMarkdownからPandocを使ってスライドを作る、ということを書きましたが、 日本語資料を使おうとするとそのままでは出来ないので、 日本語を使う際に必要な部分についての追記。

日本語資料をそのままpandocに渡す

memo_jp.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
% たいとる
% 名前
% 2015年4月23日

## さいしょんぺーじ

- 箇条書き
- 箇条書き
    - 箇条書き(4スペース)

ブログはこちら: [rcmdnk's blog](http://rcmdnk.github.io/)

## つぎのぺーじ

### サブタイトル

2ページ目

![ロゴ](http://rcmdnk.github.io/images/MacApp/MacLogo.jpg)

こんな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として latexplatexと一緒に入っています。

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

な感じでdocumentclassltjarticleを加えてあげると日本語PDFが出来ます。

ただ、これだとスライドにならないのでスライドを作るには スライドのスタイルに

\usepackage{luatexja}

を加えます。

Markdownからスライド資料を作る で使ったSingaporeスタイルなんかだと、 最後の方に

beamerthemeSingapore.sty
1
2
3
4
5
6
7
8
9
 \addtoheadtemplate{\pgfuseshading{beamer@headfade}\vskip-1.25cm}{}

 \beamertemplatedotitem

 \hypersetup{colorlinks=true, linkcolor=blue, urlcolor=blue}
+\usepackage{luatexja}

 \mode
 <all>

こんな感じで加えます。(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

とするとちゃんと日本語が反映されたスライドが作成できます。

slides_jp

Sponsored Links
Sponsored Links

« XStowでStowの代わりにパッケージ管理 Javaを8にアップデートしたらセキュリティ制限がきつくなって簡単に開けないアプリケーションが増えた »

}