Emacs org-modeを使ってみる: (19) graphvizとditaaの図を埋め込む

このエントリーをはてなブックマークに追加

今回は,graphvizとditaaの図の埋め込み方法についてまとめてみる.
なおUbuntu 8.04 LTSとEmacs22上で, org-6.34c (2010年1月10日リリース)の利用を前提にしている.

graphvizの図の埋め込み

インストール

Ubuntu 8.04 LTSの場合,以下のようにしてインストールする.

  $ sudo apt-get install graphviz
利用方法

graphvizの図を埋め込むには以下のように記述する.

* graphviz
  #+begin_dot images/dot_example.png -Tpng
  digraph sample {
    node [shape=box, width=1];
    a [label="Node A"];
    b [label="Node B"];
    c [label="Node C"];
    d [label="Node D"];
    a -> b [label=" A-B "];
    b -> c [label=" B-C "];
    d -> c [label=" C-D ", dir=back];
    a -> d [style=dashed];
    {rank=same; a; b}
    {rank=same; c; d}
  }
  #+end_dot

HTMLやLaTeXにエクスポートすると,以下の図が埋め込まれる.


ditaaの図の埋め込み

インストール

ditaa自体はJavaで記述されており,org-modeのパッケージに含まれている.
org-6.34c.zip を展開したディレクトリを /usr/local/src/org-6.34c/ とすると,以下のように記述する.

(setq org-ditaa-jar-path
   "/usr/local/src/org-6.34c/contrib/scripts/ditaa.jar")
利用方法

ditaaの図を埋め込むには以下のように記述する.

* ditaa
  #+begin_ditaa images/ditaa_example.png
+---------+       +--------+       +--------+ 
|         |---=-->|cRED    |       |cGRE    | 
| SOMEDAY |       |  TODO  |---=-->|  DONE  | 
|         |<--=---|        |       |        | 
+---------+       +--------+       +--------+ 
                     |  ^              ^      
                     :  |              |      
                     |  :              :      
                     v  |              |      
                  +--------+           |      
                  |cYEL    |           |      
                  |  WAIT  |---=-------+      
                  |        |                  
                  +--------+                  
  #+end_ditaa

HTMLやLaTeXにエクスポートすると,以下の図が埋め込まれる.


  • ただし,この方法の場合,日本語を含む図を埋め込むことはできない.少し,工夫が必要だ.
  • Emacs picture-modeの拡張のマクロを使用し,picture-modeに切り替えると,編集が容易になる.
  • 2010-03-17追記:(42) 日本語化ditaaの利用も参照