Nikola、org-mode で Graphviz を使うときの設定
Nikola、org-mode でグラフ描画ツール Graphviz を使う設定の覚え書き。 reStructuredText で Graphviz を使う場合は プラグイン が用意されているので、そちらを使います。
.org ファイルで Graphviz を使う
Graphviz のインストール
Debian 系 Linux なら apt からインストールできます。
sudo apt-get install graphviz
conf.py の設定
Graphviz で出力される画像ファイルは svg 形式としたかったので、若干 conf.py の設定を変更しました。 Nikola では画像を保存するフォルダとして /gallaries や /images が用意されていますが、png や jpg 形式の画像を入れるとサムネイルが作成できずエラーとなるので、eps や svg 形式の画像は FILES_FOLDERS に設定したフォルダに保存するようにします。 FILES_FOLDERS はデフォルトで /files ですが、ビルドした際にファイルが /outpus 直下にコピーされてしまいますので、/outpus/files にコピーされるように設定します。
FILES_FOLDERS = {'files': 'files'}
ただし、favicon の参照先が変わってしまうので修正しておきます。
FAVICONS = ( ("icon", "/files/favicon.ico", "16x16"), )
init.el の設定
org-mode で Graphivz を扱うために、/plugin/orgmode/init.el に以下を設定しておきます。 (プラグインは Nikola plugin -i orgmode でインストールします。)
;; コードを評価するとき尋ねない (setq org-confirm-babel-evaluate nil) ;; 有効にする言語 デフォルトでは elisp のみ (org-babel-do-load-languages 'org-babel-load-languages '((dot . t)))
もちろん、普段使っている Emacs の org-babel の設定があるなら、それをロードするようにしてもいいです。 これで、.org ファイルに以下のように書き、
#+BEGIN_SRC dot :file ../files/150522GraphvizExample.svg :eval no digraph { Hello->World } #+END_SRC
ビルドすると Graphviz から出力された図が挿入されます。