日日是好日

なんとなくでいいじゃん

pandocの使い方1

今回から、何回かに分けて、pandocの特集を行います!

pandocって何?

pandocとは、端的にいうとマークダウンをいろんなフォーマットに変換してくれるツールです。

haskellで書かれているらしい?(私はhaskellを使ったことがないのでよくわかりません...(汗))

github.com

f:id:siromiuo:20201112182340p:plain

macでもwindowsでも、インストーラがあるので、githubから簡単にインストールができます。

インストールするとデフォルトの状態で、.htmlや.texや.epubなどに変換できます!

しかし、デフォルトの状態では.pdfには変換できない...

公では「.tex」をコンパイルして「.pdf」に変換するという方法がメジャーなようです。

従って、「.tex」ファイルをコンパイルするためにtexをのものをインストールしなければならない...

というわけではなくて、wkhtmltopdfを使えば、texに変換せずにpdfを生成できます!

wkhtmltopdfとは?

名前のとおり、htmlをPDFに変換してくれるツールです!

webサイトのURLを指定すると、htmlの情報をそのままpdfに直してくれたりもする、すんごいやつらしい...

つまり、pandocがwkhtmlに対応しているので、texを使わなくてもpdfに変換することができるのです!

pandoc-doc-ja.readthedocs.io

こちらも、インストーラがあるので簡単にインストールすることができますね。

wkhtmltopdf.org

実際にコンパイルしてみる。


コンパイル時にオプションを指定できます。

オプション 意味
-o ファイルへの出力
-r/--read 入力フォーマット単体
-w/--write 出力フォーマット単体
-t/--to 出力フォーマットをリストアップ
-f/--from 入力フォーマットをリストアップ


実際に例として、こんな感じにオプションを指定できます!※公式ドキュメント参考

例1)

ファイルへ出力するだけ

pandoc -o output.html input.txt

例2)

LaTeXファイルのhello.texを入力とし、Markdownに出力する

pandoc -f markdown -t latex hello.tex

例3)

HTMLファイルのhello.htmlをMarkdownに変換する

pandoc -f html -t markdown hello.html

例4)

絶対パスURIを指定することもできる!

pandoc -f html -t markdown google.com

なかなかおもしろい!


実際例

例えば、hoge.mdファイルがあったとします。

# アイドルマスターキャラクター表

  ---
  
* 天海春香
    * あだ名: かっか
    * 声優:  中村繪里子
* 如月千早
    * あだ名: 72
    * 声優:  今井麻美
* 星井美希
    * あだ名: おにぎり
    * 声優:  長谷川明子
  ...etc

  ---

コマンドを指定して、hoge,pdfを出力します。

pandoc hoge.md -f markdown -t html5 -o hoge.pdf

これをコンパイルすると...?

すごい!

さらに、マークダウンのテキスト内に用紙のスタイルを埋め込むこともできます!


f:id:siromiuo:20201112185907p:plain

んー。オプションが少ない!

公式ドキュメントを読んだのですが、やはりオプションの数はLatexコンパイラを用いて出力する方が断然に多いですね。

気軽にpdfを生成するならwkhtmlだけど、スタイルを細かく指定したいなら、Latexをインストールしないといけないのかもしれないですね。

スタイルを気にしたいなら、最初からLatexで書こう(´・ω・`)...

というと、悲しいので次回は少しデザインが凝れるように設定してみたいと思います。

今回はここまで~