なまけもの

備忘録

Pandocでmarkdownをpdfに変換する (LaTex無し)

概要

LaTex の構築が一手間らしいのでより簡単にpdf化する方法を調べた。

環境

調査環境は以下の通り。

  • Windows 10
  • Pandoc 2.1.0.1
  • wkhtmltopdf 0.12.6

環境構築

Pandoc

GitHub からインストーラをダウンロードして実行する。

wkhtmltopdf

  1. 公式からインストーラをダウンロードして実行する。
  2. 環境変数 Path にインストールフォルダを追加する。

手順

テンプレートを編集する

  1. 以下のコマンドでテンプレートを保存する。
    $ pandoc -D html > <出力ファイル名>
  2. 1で保存したファイルを開き、編集する。
    • テンプレートの解説はここを参照。
    • タイトル - 目次 - 本文 間で改頁したい場合などに編集する。
    • $body$markdown の本文部分になる。
    • markdownYAML ヘッダで定義したものは $定義名$ で参照できる。

markdown を準備する

  1. 変換したい markdownYAML ヘッダを記述する。

変換する

以下のコマンドを実行し、変換する。

pandoc ^
    --template <テンプレートファイル> ^
    --toc -toc-depth=2 ^
    -N ^
    <本文のmarkdown> -f markdown ^
    -c <適用するcss> ^
    -t html5 -o <出力ファイル>

引数の説明

  • --template
    • テンプレートファイルを指定する。
  • --toc
    • 目次を挿入する。
  • toc-depth
    • 目次にどの見出し(h)までを表示させるか。
  • -N
    • 見出しに採番を付ける。
  • -c
    • 適用する ccs を指定する。
  • -t
    • 出力フォーマット
  • -o
    • 出力するファイル (pdf)

参考


以上。