InkscapeをLaTeXと一緒に使う

HOME>>メモ>>ソフト>>Inkscape>>InkscapeをLaTeXと一緒に使う

LaTeXエクステンションについて

InkscapeにはデフォルトでLaTeXと連携するためのエクステンションが入っているようです。 これを使えば、Inkscapeできれいな数式を書くことができます。 しかし、WindowsXP環境で使おうとしたらうまく動かなかったので、動かし方のメモ。 Inkscape0.47で試した時のことを書いておきます。

エクステンションの使い方

デフォルトでLaTeXエクステンションが入っているといっても、 当然ながらあらかじめLaTeXがインストールされている必要があります。 加えて、pstoeditも必要です。 LaTeXとpstoeditをインストールして、パスを通しておきましょう。 パスを通しておかないと、メニューに表示すらされないので注意。

インストールが成功すれば、Inkscapeのメニューに「エクステンション(N)」→「レンダリング」→「Latex 数式...」が 追加されます。 メニューを選択すると数式の入力画面が現れるので、好きな数式を書いて適用を押します。 うまくいけば画面上に数式が追加されるはずです。

Windows上で使用法

上記の方法でうまくいくはず・・・はずなのですが、僕のWindowsXP環境ではうまくいかない。 ネット上でこのことについて調べてみると、どうやら一時ファイルの格納先のパスに問題があって、 LaTeXが正常に動いていないそうです。

このページにもあるように、一時ファイルのパスを書き換えるとうまくいくようです。 しかしながらこの方法でも、うまくいかない・・・。まだパスの設定をLaTeXが受け付けてくれません。 試行錯誤していろいろいじったらうまく動きました。


まず、あらかじめ一時ファイルの格納先のフォルダを作っておきます。 ここでは「C:\temp\inkscape」とします。

次に「C:\Program Files\Inkscape\share\extentions」フォルダ内にある「eqtexsvg.py」スクリプトを書き換えます。

extexsvg.tex(83行目)
#変更前
base_dir = tempfile.mkdtemp("", "inkscape-");
#変更後
base_dir = "C:\\temp\\inkscape"
extexsvg.tex(103行目)
#変更前
os.rmdir(base_dir)
#変更後
#os.rmdir(base_dir)
extexsvg.tex(116行目)
#変更前
os.system('dvips -q -f -E -D 600 -y 5000 -o "%s" "%s"' % (ps_file, dvi_file))
#変更後
os.system('dvips -q -f -E -Pdl -o ' + ps_file + ' ' + dvi_file))

ポイントはbase_dirで設定するパスの最後に「\\」を付けないこと。「\\」がついているとうまく動きません。 以上でちゃんと動くはず。