Nikola、org-mode で Graphviz を使うときの設定

Nikola、org-mode でグラフ描画ツール Graphviz を使う設定の覚え書き。
reStructuredText で Graphviz を使う場合は プラグイン が用意されているので、そちらを使います。

.org ファイルで Graphviz を使う

Graphviz のインストール

Debian 系 Linux なら apt からインストールできます。

#+BEGIN_SRC:eval no-export
sudo apt-get install graphviz
#+END_SRC

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
digraph {
Hello->World
}
#+END_SRC

ビルドすると Graphviz から出力された図が挿入されます。

コメント

Comments powered by Disqus
書籍更新情報
2016-10-21
Pythonによる科学技術計算 基礎編
PDF版の販売を開始しました。
販売ページはこちら

2016-09-09
Pythonによる科学技術計算 基礎編
1.2版への更新が可能になりました。
サポートページはこちら
電子書籍
Pythonによる科学技術計算 基礎編
Kindle ストア、Leanpubで販売中です
Pythonによる科学技術計算 基礎編
PDF版の販売はこちら
同人誌
技術書典(2016/6/25)
Emacs/org-modeのPDF作成術
電子版をBOOTHで販売中です
Emacs/org-modeのPDF作成術
Share