Windows版(W32TeXを含む)のpTeXで、 Shift_JISのダメ文字 (2バイト目の0x5c) を含むファイル名を扱うと うまくいかない問題があることは以前から知られていますが、 どこがまずいかが分かったので、お知らせしておきます。 ◇現象 D:\hoge> platex 表.tex のようなものを実行すると、 表.dvi 表.log 表.aux ではなく、.dvi .log .aux が出力される。 jobname を使う回避法を使うのが現状。 ◇調査結果 ptex.web の more_name の中の IS_DIR_SEP のあたりで、 データが壊れる。 ◇改良実験 添付のようなパッチで、一応直るようです。 mingwでテストし、期待通りの動作をしました。 pTeXの内部コードに関係する話ではなく、 ファイルシステムの文字コードに関係する話のようです。 なので、当パッチでは、 ptexenc の iskanji1(), iskanji2() ではなく、 kpathsearchの方 の is_cp932_system, isknj(), isknj2() でチェックしています。 ◇パッチの問題点 パッチはpTeX専用になっていますが、 この問題は、pTeX に限る話ではなく、 upTeX, luatex, XeTeX などでもおそらく同様であろう、と思いました。 また、Windows版以外の場合には patchが無効になるような形式にはなっていません。 もっと全体的に見てふさわしいやり方があるように思っています。 ご興味のある方はお試しください。