2020年1月8日:「md →(lualatex)→ pdf」を追記。
md →(lualatex)→ pdf
Pandocを用いて、ワンライナーで。ただし、PDF変換にlualatexが必要。
$ pandoc test.md -o test.pdf --pdf-engine=lualatex -V documentclass=bxjsarticle -V classoption=pandoc -V geometry:margin=25mm
-V geometry:margin=25mm
のところで、ページの余白を調整。
-V pagestyle=empty
をつけると、ページ番号(フッター)を削除することができる。
md → html → pdf
markdownファイルからpandocでcssを適応させたhtmlに変換。
さらにwkhtmltopdfで、そのhtmlからpdfに変換。
といった作業をできるだけ簡単に実行する方法。
ただし、Linuxのみ。
その1 シェルスクリプトを使う方法
以下の内容の、「makepdf.sh」というファイルをmdファイル(仮に「テスト001.md」があるとする)と同じフォルダ内に作る。
#!/bin/sh
pandoc $1.md -s -c test.css -o $1.html
wkhtmltopdf --disable-smart-shrinking --margin-top 20 --margin-left 20 --margin-right 20 --margin-bottom 20 --footer-center '[page]/[topage]' $1.html $1.pdf
ヘッダーを入れる場合は上記該当部分を下のように書く。
wkhtmltopdf --disable-smart-shrinking --footer-center [page] --header-right ヘッダー名 --header-spacing 2 --header-font-size 9 --margin-top 20 --margin-left 20 --margin-right 20 --margin-bottom 20 $1.html `date +%Y%m%d-$1`.pdf
フォルダ内で端末(ターミナル)を開き、
$ sh makepdf.sh テスト001
をすると、上記スクリプトの $1 に、「テスト001」を差し込んで実行してくれる。
その2 テキストエディタgeanyを使う方法
geanyで ビルド > ビルドコマンドを設定 で以下の内容を設定。ラベルは任意名でOK。
pandoc "%f" -s -c test.css -o "%e".html && wkhtmltopdf --disable-smart-shrinking --margin-top 20 "%e".html "%e".pdf
ビルド > 設定したラベル名をクリック。
geanyでmarkdownファイルを編集、そのままクリックするだけで、コマンド実行できるからこっちの方が楽。