Wordで組版をしていくにあたって、Wordのアプリケーション上で文章やサンプルコードを入力していくのは現実的ではありません。
見出しのスタイルを当てたり、シンタックスハイライトを手動で当てていくのはMarkdownになれた人間がやるべきことではありません。ツールにまかせるべきです。そこで利用するのがPandocというツールです。
Pandocはドキュメントの形式を変換するツールで、MarkdownやPDF、ePub、Wordなどの多くのフォーマットに対応しています。今回は、MarkdownからWordに変換する用途でPandocを利用します。
Pandocは公式サイトからインストールします。
ターミナル(端末)から次のコマンドを入力して、バージョンが出力されたらインストールは成功です。
$ pandoc -v
適当なMarkdownファイルを用意して、今回はentry.md
という名前で保存します。
コマンドラインで以下のコマンドを実行しましょう。
pandoc entry.md -o result.docx
result.docxというワードファイルが生成されれば成功です。entry.mdに記述したマークダウンがWordファイルに変換されているはずです。
ただ、標準のテンプレートは少しダサく、そのまま印刷に回せるものではないと思います。Pandocにはカスタマイズしたテンプレートを利用する機能があるので、標準のテンプレートを次のコマンドで取り出します。
pandoc --print-default-data-file reference.docx > reference.docx
その後、スタイルを整えた後に、次のコマンドでカスタマイズしたテンプレートを利用します。
pandoc entry.md —reference-doc=custom-reference.docx -o result.docx
うまく動いていれば、カスタマイズしたテンプレートが適用できているはずです。
テンプレートに関しては、以下のポイントを意識作ると使いやすいテンプレートができます。
参考
設定が増えてくると、どんどん実行するオプションが増え長くなっていきます。これらのオプションはファイルから与えることも可能で「Default files
」と呼ばれています。
例えば、次のymlをdefaults.yml
として保存し、次のコマンドを実行します。
from: markdown+hard_line_breaks
to: docx
output-file: result.docx
input-files:
- entry.md
reference-doc: custom-reference.docx
pandoc -d defaults.yml
このようにファイルに設定を落とすことで、コマンドの煩雑さも減り、管理がしやすくなります。
これらの設定を利用するためのテンプレートを用意したのでぜひお使いください。
mottox2/pandoc-word-starter: Pandoc template for docx
次のコマンドでWordファイルが生成されます。
pandoc -d defaults.yml
ここ最近、Web技術を利用した画像生成に興味があります。本記事では、日本語における表現の一種である縦書きに焦点を当て、Web技術を使った縦書きを含む画像生成方法についての調査をまとめました。 > 現
追記(2022/12/29): 問い合わせに対応する窓口をTwitterに統一したいので、フォームページは削除しました。 当ブログは静的サイトホスティングサービスのNetlifyでホスティングされ
毎年10月に開催されるHacktoberfestに参加しました。このイベントはOSSへの貢献を行い、期間中に規定数(4つ)の貢献を行った人に特典がプレゼントされるものになっています。 自分はドキュメ