Posted at

Pandocで日本語のMarkdownからTeX形式のPdfファイルを生成する方法


導入方法

理学書や工学書,論文といった出版物には広くTeXが定着している.それは容易に洗練された組版で美しい文書が作成できるためであるが,TeXのマークアップはMarkdownと比較すると可読性に劣る(その代わり,複雑な,拡張性の点ではTeXが遙かに長けている).

ここでは,Pandocの拡張Markdownの範囲内で作成可能な文書に限定して,TeX日本語文書からPdfを生成する方法を説明する(半ば備忘録として).

本記事では以下の環境を準備しておく.


  • Pandoc:本日の主役

  • (pandoc-citeproc:参考文献リストの相互参照を利用する場合は導入する)

  • (pandoc-crossref:数式や図表の相互参照を利用する場合は導入する)

  • texlive:Pdfの組版に必要


TeX日本語文書の生成方法

次のコマンドを実行する.

$ pandoc -f markdown test.md -s -o test.pdf --latex-engine=lualatex -V documentclass=ltjsarticle

よくXelatexのほうがコンパイル速度が速くなる記事を見たが,私の環境ではコンパイル実行したままでプロンプトが返ってこなかった.何がおかしいのか原因は見つけられていない.

※ コンパイルがうまくいかず,Text line contains an invalid character.と表示される場合は,markdownファイルの文字コードをutf-8に指定しておく(出力フォーマットの部分をtest.pdfからtest.texに変えておき,実際にTeXファイルの日本語部分が正常に出力されていれば,文字コードによるコンパイルエラーの可能性は排除されると思われる).


所感


  • コンパイルスピードが遅いので,コーヒーでも飲んで一息つく時間として有効利用する.

  • 正直,文字コードに気をつけるということを自分に向けた備忘録として書いた感がある.