PandocでPDF出力

ppandocで同人活動に実用的なPDF出力環境を構築する。

pandocをインストールする

$ sudo apt install pandoc

サンプルmarkdown

まずはこのサンプルmarkdownがPDF化できるか確認する。

サンプルmarkdown

PDF化

pandocだけのインストールの場合、下記のようにエラーが発生する。

$ pandoc -o sample.pdf sample.md
pandoc: pdflatex not found. pdflatex is needed for pdf output.

Tex

pandocでmarkdownからPDFを生成するためにはTex環境が必要なのでインストールする。

$ sudo apt install texlive texlive-lang-cjk texlive-luatex texlive-xetex

再び、PDF出力

再び、pandocを実行する。

$ pandoc -V documentclass=ltjarticle --latex-engine=lualatex -o sample01.pdf sample.md

lualatexはかなり時間がかかるようだ。

PDF結果

このように出力された。

PDF出力結果

まず、余白がNGである。

余白の設定

次のように余白を20mmに設定する。

pandoc -V documentclass=ltjarticle -V geometry:margin=20mm --latex-engine=lualatex -o sample02.pdf sample.md

これで随分変わりましたね。

PDF出力結果

geometryはLaTexのパッケージの一つです。

見出し番号

-N

目次

--toc

Table of Content

ソースコードハイライト

背景がライトグレーになる

--highlight-style=tango

ヘッダ・フッタ

/usr/share/pandoc/data/templates/default.latex

相互参照

sudo apt install cabal-install
sudo cabal update
sudo cabal install --global pandoc-crossref
sudo cabal install Cabal
sudo cabal install conduit

ここまで進めたがエラーが発生している。

ひとまずここまででPDF化してみる

pandoc -F pandoc-crossref -V documentclass=ltjarticle -V geometry:margin=20mm --latex-engine=lualatex --template=sample.latex -N --highlight-style=tango --toc -o sample03.pdf sample.md

PDF出力結果