*がついてるのは、なくてもいい
名前 | 備考 |
---|---|
Pandoc | |
Pandoc-crossref | Pandocのfilter |
VSCode | |
Markdown Preview Enhanced | VSCodeのExtension。インストールはVSCodeからしたほうが楽 |
*GraphBiz | PlantUMLを動かすのに必要 |
*Java | PlantUMLを動かすのに必要 |
*Image Magick | PlantUMLで書いたUMLをWordに出力するため(画像化する)に必要 |
!!!注意!!!!
Pandoc-crossrefはビルドした時のPandocのバージョンが一致していないと動かない。
Pandocインストール後、コマンドプロンプトで以下を実行し、バージョンを確認してからPandoc-crossrefの該当モジュールをDLする。
pandoc --version
動作確認した組み合わせは
- Pandoc v2.9.2.1
- Pandoc-crossref v0.3.6.2a
- v0.4.0.0-alpha6dもPandoc v2.9.2.1とビルドしてると書いていたけど、うまく動かなかった(◞‸◟)。。(2020/05/01時点)
Pandoc、VSCode、(PlantUML、GraphBiz、Java、Image Magick)をDL&インストールする。
Pandoc-crossrefはDL後、zip展開しておく。
- Pandocインストール後(デフォルトだと%USERPROFILE%\AppData\Local\Pandoc)にDLしたPandoc-crossref(ファイル名はpandoc-crossref.exe)をコピー
- Java(JAVA_HOMEとbin)、GraphBiz、ImageMagickのPATHを通す
- 出力するWordスタイルのテンプレートを出力し、編集
- Powershellでやったらdocxが壊れていたので、コマンドプロンプトから実行したほうがいい
pandoc --print-default-data-file reference.docx > reference.docx
- Extensionから"Markdown Preview Enhanced"を検索し、インストール
- VSCodeデフォルトのMarkdown Previewのショートカット(Ctrl-K V、Ctrl-Shift-V)が上書きされるので、Pandocと心中する気がないなら設定を変えておいたほうがいい
- (AA的な要素が多いので)等幅フォントを使用するよう設定
- Flie->Preferences->Settings->Editor: Font Fammily->先頭に等幅フォントを設定
- Windowsにデフォルトでインストールされている等幅フォントは'MS ゴシック'
- Extensionの設定をデフォルトから以下の項目を変更(注:以下の設定はPreview用の設定。Word変換はまた別のところで)
- Markdown-preview-enhanced: Pandoc Arguments
- --filter=pandoc-crossref
- Markdown-preview-enhanced: Pandoc Markdown Flavor
- markdown
- Markdown-preview-enhanced: Use Pandoc Parser
- Enable
- Markdown-preview-enhanced: Pandoc Arguments
settings.jsonだとこんな感じ
"markdown-preview-enhanced.pandocMarkdownFlavor": "markdown",
"markdown-preview-enhanced.usePandocParser": true,
"markdown-preview-enhanced.pandocArguments": "--filter=pandoc-crossref",
markdownの先頭にPandocでWordを出力するための設定と、表とか図のキャプションをMarkdownの先頭に記述しておく。そこからは好きに書く。Pandocの拡張markdownについてはPandocユーザーズガイドに詳しく書いてある。どんな見た目になってるかは、Markdown Preview Enhancedから確認。
---
output:
word_document:
pandoc_args: ['--filter=pandoc-crossref',"--reference-doc=reference.docx"]
figureTitle: "図 "
tableTitle: "表 "
listingTitle: "コード "
figPrefix: "図."
eqnPrefix: "式."
tblPrefix: "表."
lstPrefix: "コード."
---
reference.docxを編集中のmarkdownファイルと同じフォルダにコピー(それか、pandoc_argsに書いてるパスを絶対パスにする)して、「Markdown Preview Enhancedの表示画面をクリック->コンテキストメニューのPandocを選択」するとWordファイルが生成。表示がちょっとアレなところもあると思うので、微調整して完成。
ここにmarkdown(Pandoc拡張)とwordスタイルテンプレートのサンプルを置きました。
Wordのスタイルテンプレートって、リスト表示(見出しのレベルに応じて1.とか1.1を付ける)の設定は保存されない?c3bbf36にて解決図表の参照の仕方はわかったけど、章節の参照の方法がよくわからなかった- 相互参照の設定はされないっぽい(表1参照とかの番号は適宜振ってくれるけど、参照はない)