はじめに
org-modeでは、org-babelという仕組みを使って、org-modeの文書内にプログラミング言語を埋め込んで実行することができます。
例えばrubyの場合だと以下のようになります。
#+BEGIN_SRC ruby
require 'date'
"This file was last evaluated on #{Date.today}"
#+END_SRC
上記のコード断片を評価すると(C-c C-c)、以下のように結果がバッファに埋め込まれます。
#+RESULTS:
: This file was last evaluated on 2016-10-06
スクリーンショット
PlantUMLもorg-babel一つの言語なので、org-mode内で実行し画像を生成することができます。
さらにEmacsはバッファ内にインラインで画像を表示できるので、org-modeの文書内にインラインで画像を表示できます。
例えばこんなかんじになります
以下にスクリーンショットを貼ります。Emacsのバッファに生成されたUMLの画像が表示されています。
初期設定
PlantUMLは既に使える状態になっているという前提(JavaやGraphvizはインストール済み)ではなしを進めます。
まだの方は、公式サイトなどを参照して下さい。
plantuml.jarを配置
plantuml.jarを任意の場所に配置しておきます。
私の場合、~/.emacs.d/lib/plantuml.jar
というように配置して、
.emacs.d
に含めてバージョン管理対象としています。
plantuml.jarのパス設定
以下のようにinit.el
に設定します。
;; plantuml.jarへのパスを設定
(setq org-plantuml-jar-path "~/.emacs.d/lib/plantuml.jar")
;; org-babelで使用する言語を登録
(org-babel-do-load-languages
'org-babel-load-languages
'((plantuml . t)))
おためしでやってみる場合は、上記の式をeval-last-sexp
などで評価してください。
やってみる
org文書の作成
#+BEGIN_SRC plantuml :file animal.png
動物 <|-- 犬
動物 <|-- 猫
#+END_SRC
#+BEGIN_SRC
から#+END_SRC
内でC-c C-c
とすると、内部のコードがPlantUMLとして実行されます。
日本語が文字化けする場合
環境によっては、日本語が文字化けする場合があります。
その場合、plantumlを起動する際のコマンドラインオプションで、
明示的に文字コードを指定するのがよいと思われます。
#+BEGIN_SRC plantuml :file animal.png :cmdline -charset UTF-8
画像のインライン表示
M-x org-toggle-inline-images
で画像インライン表示をトグルすることができます。
あるいは、org文書冒頭に以下のように記述をしておくと、その文書ではデフォルトでインラインで画像が表示されるようになります。
#+STARTUP: inlineimages