エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

「マウスを使わずに図を描きたい」ひとがここにもいらした

いいこと聴きました。


ツール自体の詳しいことは、元記事にありますので、そちらへ(ヲイ)。
Mac OS X 10.5にMacPortsを使ってインストールしたのでその記録。元記事から一時情報を当ってもらうのが確実ですが、自分用のめもということで。動かすの第一で解説省略です。

ツールのインストー

blockgiagのインストールにはeasy_installというのを使うようですが、Mac OS Xに元からインストールされているeasy_installではダメらしく、別途MacPortsでインストールする必要があるようです。pyのあとの数字はインストールされているPythonのバージョンにあわせる必要があるらしく、ここではPython2.7にあわせて「27」と指定。

$ sudo port install py27-setuptools py27-pil

blockdiagのインストー

インストールしたeasy_installを使ってblockdiagをインストール。単に「easy_install」と実行するともとからあるeasy_installが起動するのでフルパスで指定する必要がある、らしい。わたしの環境ではこんな感じ。

$ sudo /opt/local/bin/easy_install-2.7 blockdiag


あとで使いますが、blockdiagはPDF出力ができるようです。それにはreportlabというライブラリ(でしょうか?)が必要ですが、手っ取り早く次のようにすると一緒にインストールされるようです。

$ sudo /opt/local/bin/easy_install-2.7 "blockdiag[pdf]"

ともかく試してみる

diagram { A -> B -> C -> D; }

sample1.diagというファイル名で保存してコンパイル。パスの通っていない予想外のところにインストールされていたのでフルパスで指定。

$ /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/blockdiag sample1.diag

結果。

日本語。

diagram { "松" -> "竹" -> "梅"; }

結果。

特にフォントを指定しなくてもとりあえず通してくれるようです。

PDFにしてLaTeXに取り込む

オプションに-Tpdfを指定するとPDFで出力してくれるみたいです。

結果(ここに貼るために画像ファイルに変換してます)。

影の部分のブラー(ぼかし)はなくなってしまうようです。ちなみに。SVGで出力する-Tsvgというオプションもありますが、出力されたSVGではブラーは効いてました。


せっかくPDFになったので、LaTeXに取り込んでドキュメントにしてみましょうということで。

\documentclass{jsarticle}

\usepackage[dvipdfm]{graphicx}

\begin{document}

\begin{figure}[h]
\includegraphics[bb=0 0 832 136, width=15cm]{sample1.pdf}
\caption{ABCD}
\end{figure}

\begin{figure}[h]
\includegraphics[bb=0 0 640 136, width=15cm]{sample2.pdf}
\caption{松竹梅}
\end{figure}

\end{document}

document1.texというファイル名で保存してPDFファイルを作ってみる。

$ platex document1.tex

問題がなければdocument1.dviというファイルができているはず。

$ dvipdfmx document1.dvi

これで問題がなければdocument1.pdfができているはず。

結果(ここに貼るために画像ファイルに変換してます)。