みつきんのメモ

組み込みエンジニアです。Interface誌で「Yocto Projectではじめる 組み込みLinux開発入門」連載中

pandoc-crossref + PlantUML

はじめに

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 は下記のようになる。

f:id:mickey_happygolucky:20220318100610p:plain
図1:ダイアグラム

まとめ

意外とpandoc-crossrefとPlantUMLの組み合わせは情報が少ない。

誰しもが使いたいと思う機能ではあると思う。

pandoc環境を秘伝のタレ化して長年、化石のようなバージョンの環境を使用しているうちに できないと思っていたことができるようになっていた。