はじめに
pandocには図や表、ソースコードを相互参照するための便利な機能として pandoc-crossrefというフィルタある。
PlantUMLで作成した図をpandoc-crossrefで相互参照したい。
以前は
PlantUMLの図はテキストで記述するためコードブロックを使用する。
```plantuml start :test; stop ```
以前はコードブロックの参照にfigが使えなかったため、下記の様なワークアラウンドを行っていた。
<div id="fig:uml-diagram"> ```{.plantuml} start :test; stop ``` UMLダイアグラム </div>
今(2022/03)は...!
PlantUMLのコードブロックにfigが使えるため下記のように書ける。
```{#fig:diagram .plantuml caption="ダイアグラム"} start :test; stop ```
結果
図 1 は下記のようになる。
まとめ
意外とpandoc-crossrefとPlantUMLの組み合わせは情報が少ない。
誰しもが使いたいと思う機能ではあると思う。
pandoc環境を秘伝のタレ化して長年、化石のようなバージョンの環境を使用しているうちに できないと思っていたことができるようになっていた。