タイプセット(コンパイル)が通らなくなった。
ググってみても先人たちは対症療法しか書いておらず、
何が原因なのかについて言及している人はいない。
それでいいのかと問い詰めたくもなったが、今となってはどうでもいい。
曰く、
line 12: ptex: command not found
だそうだ。
どのソースをコンパイルしても同じエラー&行数が表示されることから、
コンパイル時に何か共通のスクリプトが走っていて、
そのスクリプトが問題を持っている感じがする。
特にパス関連の。
TeXShopのタイプセットなる操作はtexファイルからpdfまで作ってくれるありがたい機能だが、その実、ただのシェルスクリプトであることが分かった。
で、そのスクリプトは ~/Library/TeXShop/bin/platex2pdf-sjis
なるファイルである。
で、その12行目を見ると、
ptex -kanji=$ENCODE -fmt=$PTEX-$ENCODE -progname=$PTEX $1 && \
だってさ。
試しに端末でptex実行すると問題なく動作した。
よく見ると、このファイルの4行目に
export PATH=$PATH:/usr/local/bin:/usr/local/teTeX/bin
とか、$PATH を再定義しちゃってんですよ。
少なくともTex Live Utility を導入した時点でこのどちらのパスにも
ptex なんてコマンドは存在しない。teTeX/bin なんて存在すらしてねえ。
オレのptexは
/usr/texbin
にあるんだコノヤロー。
そういうわけで、
export PATH=$PATH:/usr/local/bin:/usr/local/teTeX/bin:/usr/texbin
と、パスを付け足してやればひとまず通って実行できた。
しかし、またしても問題が。
I can't find the format file `platex-sjis.fmt'!
イラっとすんぜ、おい。(続く)
20111212 追記
ここによれば、ptexをアップデートすると.fmtファイルがいらなくなるのだそうだ。
なので、余計なエンコーディングを指定する箇所は削除せねばならんということか。
ちなみにこのままタイプセットを実行すると
platex.fmt was written by eptex
とかいうエラー(?)を吐く。
そこで、~/Library/TeXShop/bin/platex2pdf-sjis 内
ptex -kanji=$ENCODE -fmt=$PTEX-$ENCODE -progname=$PTEX $1 && \
----> platex -kanji=$ENCODE -progname=$PTEX $1 && \
というように、エンコーディングのオプションを解除、さらに
ptex -> platex と書き換えることで解決。
しかし、なぜplatexのスクリプト内のコマンドがptexなのか、理解できない。
しかもスクリプトもptex, platexで区別してあったし。
単純なミスか、昔よくあった、「こうしないと動かない」的なバグなのか。
そういうわけで、真実に辿り着いた。
・TeXShop のptex, platex 用のタイプセットスクリプトは古いバージョンのptex, platex 用に書かれている。
・あとパス指定も適当
・新しいバージョンのptex, platex にはエンコーディングを指定するオプションは不要
従って
・タイプセットのスクリプトから該当部分を削除・パス繋ぎ直す
解決!
0 件のコメント:
コメントを投稿