MarkdownからWordやPDF生成ができるようにする (またはPandoc環境の構築方法) (2014/09版)

More than 1 year has passed since last update.

ブログエントリの内容を最新情報に変更しています。改めて環境を作ったら一部パッケージ名などが変わっていたので。

Pandoc

Pandoc は「a universal markup converter」という説明のとおり、あるマークアップ言語で書かれたドキュメントを他のドキュメント形式に変換するツールです。

前提

  • Mac OS X (Marvericks)
  • Homebrew

Pandocのインストール

PandocはHaskell製のツールなのでまず、Haskellの環境の構築

$ brew install haskell-platform

同時にHaskellのパッケージマネージャのcabalもインストールされるので、cabalにPATHを通します

export PATH=$PATH:/Users/k1low/.cabal/bin

cabalを利用してpandocをインストール

$ cabal update

...
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install

$ cabal install cabal-install
$ cabal install pandoc

ここまででpandocコマンドでMarkdownファイルをWord(.docx)に変換できます。

$ pandoc input.md -o output.docx

PDF出力環境のインストール

PandocでのPDF出力はLaTeXを通して実行しているので、日本語LaTeX環境を作る必要があります。

今回は日本語LaTeX環境としてLuaTeX-jaを使うことにしました。

MacTeXの最小構成をインストール

MacにTeX環境を構築するMacTeXをそのままインストールすると相当大きいので、BasicTeXだけインストールします。

$ brew install basictex

tlmgrというTeX用のパッケージマネージャがインストールされるので、まずはPATHを通します。

export PATH=$PATH:/usr/texbin/

tlmgrで必要なパッケージをインストールします。

$ sudo tlmgr update --self
$ sudo tlmgr update --all
$ sudo tlmgr install collection-langjapanese collection-latexrecommended collection-fontsrecommended

ここまででpandocコマンドでMarkdownファイルをPDF(.pdf)に変換できます。

$ pandoc input.md -o output.pdf -V documentclass=ltjarticle --latex-engine=lualatex

使用してみた感想

  • やはり表操作はExcelが最強。ただ、それを諦めてでも方眼紙Excelよりかはかなり気分が良い。
  • Wordは「変換したものをそのまま納品する」という夢のようなことは難しい。
    • 逆に言えば「変換したものを体裁を整える前提」なら全然あり。
    • PDF出力のほうならLaTeXのdocumentclassを作り込んだらいけるかも。

参考URL