niszetの日記

細かい情報を載せていくブログ

(Pandoc) PandocのWordテンプレートはテンプレート出力よりも通常のファイル出力結果を使った方が良い。

2020年初Pandoc記事です(前の2記事も実質Pandocですが)

さて、PandocでWord形式の出力ファイルが必要な場合、素の出力では見づらかったり自分なりにカスタマイズしたいということがよくありますね。

これは、--reference-doc であらかじめ見た目を調整したテンプレートを指定するとうまくいきます。

https://pandoc.org/MANUAL.html#option--reference-doc

テンプレートとスタイルを使うと、見た目が同じで内容が違うドキュメントを生成するのが楽になります

Pandocが生成するWordドキュメントは、もとのファイルの構造に基づいて、それぞれにスタイルが適用されます。そのため、それに必要なスタイルがあらかじめ含まれているのが望ましいです。

マニュアルには、以下のようにしてテンプレートファイルを生成せよと書かれています。

pandoc -o custom-reference.docx --print-default-data-file reference.docx

しかし、実際に使用してみるといくつかのスタイルが不足していることに気づきます。

PandocはPandocの生成したドキュメントをテンプレートにすることが出来ます。ざっくり言えば本文要素以外がほぼ残り、本文が差し変わるという挙動です。 Pandocが生成したドキュメントなので、Pandocが使用するスタイルは全て入っているという点がメリットです。

本文は何でも良いので、PandocへのPATHが通っているなら例えば次のようなコマンドでテンプレートファイルが生成されます。

echo hoge | pandoc -o reference.docx

この方法であれば、実際に使用するスタイルが全て含まれているので安心です。

いつの間にか**Tok系の文字スタイルに基準スタイルが設定されていて、1年半前の努力は何だったのか…という気もしますが。

スタイルの設定については技術書典向けに鋭意作成中…。終わるのだろうか…?

追記

Issueがあった。あったのだが、この件についてはうやむやというか、触れずにcloseしている。ちょっと聞いてみようかなぁ…

github.com