【小ネタ】PandocでMarkdownからPDF変換
1. PandocでMarkdownをPDFに変換
ネットで調べると、PandocというHaskell製のドキュメント変換ツールでMarkdownからPDFを生成できるらしいです。ということで、Pandoc環境をつくろう!となったのですが、なんか苦労したのでメモです。
対象環境は、以下の通りです。
- Ubuntu 14.04 Desktop
- LaTeXはインストール済み
Ubuntuに対してLaTeX(日本語環境)をインストールするには、下記のコマンドを実行します。
# apt-get install texlive-lang-cjk
参考サイト
1. 多様なフォーマットに対応!ドキュメント変換ツールPandocを知ろう
2. Font OT1/ptm/m/n/9=ptmr7t at 9.0pt not loadable: Metric (TFM) file not found
3. lualatex query
2. Pandocをインストール
PandocをUbuntuへインストールのは、おなじみapt-getでインストールOKです。
# apt-get install pandoc
この状態で変換を掛けてみます。
$ pandoc -t beamer target.md -o target.pdf
するとエラーが出ました。
pandoc: Error producing PDF from TeX source.
! Font \T1/cmr/m/n/10=ecrm1000 at 10pt not loadable: metric data not found or bad.
<to be read again>
relax
l.100 \fontencoding\encodingdefault\selectfont
変換されるのをワクワク待っていたので、地味に凹みました。
ネット(参考サイト2.)を見ると、fontsを入れろとのことです。
# apt-get install texlive-fonts-recommended
無事にインストールが終わった後、再度実行してもエラーです。ちなみに実行時、参考サイト1を見ると、下記のオプションで変換するようでした。そのため、これ以後、下記のオプションでPandocを実行します。
$ pandoc input.md -o output.pdf -V documentclass=ltjarticle --latex-engine=lualatex
下記は実行時のエラーです。
pandoc: Error producing PDF from TeX source.
! Package fontenc Error: Encoding file `eu2enc.def' not found.
(fontenc) You might have misspelt the name of the encoding.
See the fontenc package documentation for explanation.
Type H <return> for immediate help.
...
l.99 \ProcessOptions*
参考サイトの3を見ると、「eneuc」パッケージをインストールしろとの事でした。「apt-cache search eneuc」で検索すると、texlive-xetexパッケージに含まれているようです。texlive-xetexをインストールします。
# apt-get install texlive-xetex
さて、これで再度、Pandocを実行します。下記のオプションで実行します。(再掲)
$ pandoc input.md -o output.pdf -V documentclass=ltjarticle --latex-engine=lualatex
無事にPDFに変換出来ました!
どうも書式がおかしいですが、なんとか、日本語のMarkdownをPDFに変換する事ができました。お疲れ様でした。