@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

pandocで利用するテンプレートを指定する(org-modeからWord(docx)ファイルを作成してPagesで開くと幸せ)

pandocでorg-modeのテキストをWordファイル(docx)に変換しています。 議事録などドキュメントをまとめるのはorg-modeの方が楽ですよね。 (さらにdocxをPagesで開いて、PDFにしています)

まずはここを参考に、pandocのテンプレートを取り出します。

PanDoc - catch.jp-wiki

pandoc --print-default-data-file reference.docx > reference.docx

このreference.docxを編集し、見出し1〜見出し5、箇条書き、箇条書き継続行などを修正しました。 内容はHello, World. となっていますが、pandocはスタイルを利用していて内容を無視しているようです。 なので好きな内容に変更して、好きなスタイルを適用するとよいとおもいます。 f:id:peccu:20150511180452p:plain 上記Wikiの受け売りですが、既存のテンプレートを取り込む場合は、下記のページが参考になります。

www.wanichan.com

reference.docxにスタイルを適用しましょう。

上記Wikiでは、pandocのテンプレートディレクトリに配置して利用する方法が載っていますが、 書き出したreference.docxをそのままコマンドで指定することもできます。

d.hatena.ne.jp

pandoc --reference-docx=reference.docx input.org -o output.docx

これでMS Officeの苦痛から逃れ、ギリギリまで快適なEmacs環境で作業ができますね。

(2019/10/09追記)

オプション名が変わってました

pandoc --reference-doc=reference.docx input.org -o output.docx

また、dockerイメージがあったのでそれで実行する例も載せておきます。

# docker run --rm -v "$PWD:/data" -u "$(id -u):$(id -g)" pandoc/core --print-default-data-file reference.docx > reference.dotx
docker run --rm -v "$PWD:/data" -u "$(id -u):$(id -g)" pandoc/core --reference-doc=reference.dotx input.org -o output.docx