Markdownで印刷体裁が整備された文書を作成したくて、pandocを使ってみました
ブログ記事やソフトウェア文書を作成するために、よくAtomでMarkdown文書を作成しています。手軽に書けて便利ですが、残念ながら印刷にはむいていません。なんとかMarkdown文書を社内文書として配布できるレベルの、印刷前提の文書ファイルに変換できないかと足掻いてみました。
前提
Markdownとは、テキスト形式で書ける軽量マークアップ言語です。手軽に人間にも読みやすい修飾された文書を書くことができます。
Markdownは書く分には手軽で良いのですが、残念ながら印刷に適した形式ではありません。PCは各人に行き届いていますが、一覧性という観点では圧倒的に印刷物の方が便利です。なので、印刷体裁を容易に編集できるという点が(私にとっては)重要になります。
試したツール
Markdown文書を入力とするツールとして、以下を試しました。
- GitBook
- GitBook · Writing made easy
- 構造化した巨大なMarkdown文書をオンラインで公開するには良いツールです。
- Markdown文書の変換先がhtml、epub、PDFであり、あまり自由に編集できません。今回は、採用を見送りました。
- pandoc
- Pandoc ユーザーズガイド 日本語版 - Japanese Pandoc User’s Association
- Markdown文書を入力として、様々な形式に変換できますが、Word文書に変換できるのが嬉しいです。
- 変換時にベースとするテンプレートを設定できます。
- 単一のMarkdown文書を対象とするので、巨大な文書は苦手です。
Word文書に変換可能で、変換後に自由に編集できるので、pandocを試しました。
pandocの使い方
インストール
Windowsの場合、Chocolateyでインストールできます。(もちろん、インストーラーでも可)
choco install pandoc
MacOSの場合、Homebrew Caskでインストールできます。
brew cask install pandoc
使い方
コマンドプロンプトで以下のようにpandoc
コマンドを実行します。
pandoc -o sample.docx sample.md
-o
で出力先ファイル名を指定します。拡張子を判定して出力形式が切り替わります。
出力されたWord文書の所感
- 確かに、Markdownの構造がWord形式で出力されます。
- デザインが微妙…テンプレートを指定すればマシになると思いますが、未検証です。
- 表紙を自動生成できません。Markdown文書の先頭にYAML形式でメタデータを埋め込んで、そこから頑張って生成して欲しいです。
- コードブロックを枠で囲ってほしいです。
- ヘッダー、フッターを設定できません。
おわりに
素のpandocが生成するWord文書は正直残念な出来ですが、出力後の手直しで、なんとか印刷体裁を整えることができます。まだ試していないテンプレートの適用で、もうちょいマシになる可能性があるなら、しばらく使ってみても良いかなと思います。Markdown文書から印刷前提文書を生成できるのは、やはり便利ですし。