●inklatex -前編
TeXの数式を inkscapeの図中に貼り付ける,ステキプラグイン・inklatexを 試した.意外と苦労したのでメモ.
(1)とりあえず指示どおりにインストール.
→ 「エフェクト」メニューには沢山の項目があるが,ほとんどの項目はエラーが出たり,選択しても無反応だったりで使えない.
→ extension (標準+inklatex) の読み込みでコケてるんじゃねーかな.
(2)ログファイル (らしきもの) を見る
→ しかし,perlが見つからないなんてあり得ない.もちろん入っている.その他のプログラムに関しても,aptitudeでインストールしている.
(3) 試しに,後輩の計算機 (Feisty) で同じ事をやってみる.
→ まったく同様のエラーが出る.
(4)Feistyをクリーンインストールしたばかりの計算機があったので,同じ事をやってみる.
→ できた.「ファイル>インポート」に"LaTeX File"が追加された.「エフェクト>LaTeX Text」が表れた.
→ あれ.どちらを選んでもエラーダイアログが出て,期待される数式は出力されないな.
→ まあいいや.とりあえず一歩前進.私&後輩の環境と,この環境の違いはなんだろう.
→ 多すぎて分からん.
(5)自分の計算機に戻ってゴソゴソ.
どっかにこっそり設定ファイルがあって,それがおかしくなってる or 環境変数が変なのかな.
じーっ.やっぱり怪しいのはpathだよな...じーっ....ハッ.
(6)ここまでの結論
(7)これからの問題点
(4)で述べた通り,メニューにLaTeX Textは出てきたが,その機能はちゃんと果たせていない.後編ではこれを解決する.
(1)とりあえず指示どおりにインストール.
% mkdir -p ~/.inkscape/extensions % cd ~/.inkscape/extensions % tar xvzf ink_latex_20070214.tar.gz % mv ink_latex/* . % cd ~ % inkscape→ しかし,「ファイル>インポート」も拡張されないし,「エフェクト>LaTeX Text」もあらわれない.
→ 「エフェクト」メニューには沢山の項目があるが,ほとんどの項目はエラーが出たり,選択しても無反応だったりで使えない.
→ extension (標準+inklatex) の読み込みでコケてるんじゃねーかな.
(2)ログファイル (らしきもの) を見る
% lv ~/.inkscape/extension-errors.log
:
エクステンション "Text Input"のロードに失敗しました、理由: (プログラムの)依存関係が満たされませんでした。
Dependency:
タイプ: executable
場所: path
文字列: perl
:
エクステンション "GIMP XCF"のロードに失敗しました、理由: (プログラムの)依存関係が満たされませんでした。
Dependency:
タイプ: executable
場所: path
文字列: gimp
:
エクステンション "DXF Input"のロードに失敗しました、理由: (プログラムの)依存関係が満たされませんでした。
Dependency:
タイプ: executable
場所: path
文字列: dxf2svg
記述: dxf2svg may come with Inkscape, but is also at http://dxf-svg-convert.sourceforge.net/
エクステンション "Sketch Input"のロードに失敗しました、理由: (プログラムの)依存関係が満たされませんでした。
Dependency:
タイプ: executable
場所: path
文字列: skconvert
→ LaTeX関連のはおいておくとしても,やはり標準添付 (っぽい) extensionのロードに軒並み失敗している.しかもその原因は,必要な外部プログラムが見つからないためらしい.→ しかし,perlが見つからないなんてあり得ない.もちろん入っている.その他のプログラムに関しても,aptitudeでインストールしている.
% which perl /usr/bin/perl→ "場所: path"ってこれだよな...んー.
% echo ${PATH}
/home/leona/bin:/home/leona/scripts:/usr/local/teTeX/bin::/usr/local/bin:/usr/bin:/bin:/net/usr/bin
→ inkscapeが本当に${PATH}を探しに行っているのか,ソースを読もうとしたのだが,pythonという言語で書かれており,分からなかった.(3) 試しに,後輩の計算機 (Feisty) で同じ事をやってみる.
→ まったく同様のエラーが出る.
(4)Feistyをクリーンインストールしたばかりの計算機があったので,同じ事をやってみる.
→ できた.「ファイル>インポート」に"LaTeX File"が追加された.「エフェクト>LaTeX Text」が表れた.
→ あれ.どちらを選んでもエラーダイアログが出て,期待される数式は出力されないな.
→ まあいいや.とりあえず一歩前進.私&後輩の環境と,この環境の違いはなんだろう.
→ 多すぎて分からん.
(5)自分の計算機に戻ってゴソゴソ.
- シェルか? → No. bashでも shでもダメ.
- 変なユーザ設定が残ってるのか?
% mv ~/.inkscape ~/dot.inkscape % inkscape
→ ダメ.変化なし.
- さらに変なユーザ設定が残ってるのか?
% sudo /usr/sbin/useradd tmpuser % su - tmpuser tmpuser % inkscape
→ できた.(4) の状態と同じになった.
どっかにこっそり設定ファイルがあって,それがおかしくなってる or 環境変数が変なのかな.
% su - tmpuser tmpuser % export declare -x HISTCONTROL="ignoreboth" declare -x HOME="/localhome/tmpuser" declare -x LANG="ja_JP.UTF-8" declare -x LD_LIBRARY_PATH="/usr/lib" declare -x LESSCLOSE="/usr/bin/lesspipe %s %s" declare -x LESSOPEN="| /usr/bin/lesspipe %s" declare -x LOGNAME="tmpuser" declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.flac=01;35:*.mp3=01;35:*.mpc=01;35:*.ogg=01;35:*.wav=01;35:" declare -x MAIL="/var/mail/tmpuser" declare -x OLDPWD declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games" declare -x PWD="/localhome/tmpuser" declare -x SHELL="/bin/bash" declare -x SHLVL="1" declare -x TERM="xterm" declare -x USER="tmpuser" tmpuser % exit
% export ARCHI=linux BSTINPUTS=.:/net/usr/share/texstyle//:/usr/share/texmf/jbibtex/bst//: COLORTERM=gnome-terminal DBUS_SESSION_BUS_ADDRESS='unix:abstract=/tmp/dbus-iB4S57E9ij,guid=e79fb1fc6b5e996653549e0046889b4a' DESKTOP_SESSION=default DESKTOP_STARTUP_ID='' DISPLAY=:0.0 GDMSESSION=default GDM_LANG=ja_JP.UTF-8 GDM_XSERVER_LOCATION=local GNOME_DESKTOP_SESSION_ID=Default GNOME_KEYRING_SOCKET=/tmp/keyring-X0SuUV/socket GTK_IMMODULE=scim GTK_IM_MODULE=scim-bridge GTK_RC_FILES=/etc/gtk/gtkrc:/home/leona/.gtkrc-1.2-gnome2 HOME=/home/leona LANG=ja_JP.UTF-8 LANGUAGE=ja_JP:ja:en_GB:en LC_ALL=ja_JP.UTF-8 LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib LOGNAME=leona LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.flac=01;35:*.mp3=01;35:*.mpc=01;35:*.ogg=01;35:*.wav=01;35:' OLDPWD=/home/leona PATH=/home/leona/bin:/home/leona/scripts:/usr/local/teTeX/bin::/usr/local/bin:/usr/bin:/bin:/net/usr/bin PWD=/home/leona QT_IM_MODULE=scim SESSION_MANAGER=local/awabi:/tmp/.ICE-unix/7050 SHELL=/bin/bash SHLVL=1 SSH_AGENT_PID=7098 SSH_AUTH_SOCK=/tmp/ssh-jNQVik7050/agent.7050 TERM=xterm TEXINPUTS=.:/net/usr/share/texstyle//:/usr/share/texmf/ptex/platex//: TZ=Japan USER=leona WINDOWID=52441245 XAUTHORITY=/home/leona/.Xauthority XMODIFIERS='@im=SCIM' ZDOTDIR=/home/leona/.zsh
じーっ.やっぱり怪しいのはpathだよな...じーっ....ハッ.
PATH=/home/leona/bin:/home/leona/scripts:/usr/local/teTeX/bin<font color="red">::</font>/usr/local/bin:/usr/bin:/bin:/net/usr/binコロンが重複してるな.修正してみよう.
% export PATH=/home/leona/bin:/home/leona/scripts:/usr/local/teTeX/bin:/usr/local/bin:/usr/bin:/bin:/net/usr/bin % inkscape→ できたー.(4) の状態と同じになった.
(6)ここまでの結論
- 環境変数 ${PATH}に,余分なコロンが含まれていると,inkscape 0.45.1はその先をPATHとして扱ってくれない.
- シェル (bash, zsh) は余分なコロンを無視して,良いように扱ってくれるようだ.
- 後輩は私の ~/,zshrc をコピーして使っていたので,同じ問題にはまった.
- この問題については,inkscape本家に報告しておいた.
- ${HOME}/.bashrcとかで,
PATH="${PATH}:/usr/local/bin"とかやってると,コロンが重複することもあるよね.
- (2)あたりでちゃんとinkscapeのソースを読んでいれば早期解決できたはず.パッチも書けただろうし.
- でも pythonわかんね.
(7)これからの問題点
(4)で述べた通り,メニューにLaTeX Textは出てきたが,その機能はちゃんと果たせていない.後編ではこれを解決する.