土村です。
From: Masaki Kawamura <kawamura@xxxxxxxxxxxxxxxxxxxxxxxx>
Subject: [vine-users:070537] Re: tetex tocで文字化け
Date: Mon, 21 Feb 2005 15:32:22 +0900 (JST)
Message-ID: <20050221.153222.719921944.kawamura@xxxxxxxxxxxxxxxxxxxxxxxx>
> 簡単なサンプルを作成してみました。
> クラス定義ファイル(sample.cls)と、TeXファイルです。
>
> sample.cls
> -----------------------------------------------
> \NeedsTeXFormat{pLaTeX2e}
> \ProvidesClass{sample}[2004/01/20 サンプル]
>
> \LoadClass{jbook}
>
> \long\def\addtocontents#1#2{%
> \protected@write\@auxout
> {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble}%
> {\string\@writefile{#1}{#2}}}
> \newcommand{\発表者}[1]{\addtocontents{toc}{\protect\発表者{#1}}}
> -----------------------------------------------
>
> sample.tex
> -----------------------------------------------
> \documentclass[12pt]{sample}
> \begin{document}
> \tableofcontents
> \発表者{小泉}
> \end{document}
> -----------------------------------------------
>
> > ptex が 3.1.5 に更新されてると思いますが、
> > /usr/share/doc/tetex-2.0.2/pTeX/Changes.txt には
> > 「印字不可能文字 を^^形式で出力するように修正」
> > という文面もありますので、その影響かもしれません。
>
> いろいろ修正があったようですね。
> 私のクラス定義の書き方が悪いのかも知れませんが。
>
> 上記のサンプルでなにかわかりますか?
ソースからビルドした環境で試しました。
teTeX-2.0.2 + pTeX p3.1.4 --- ok (Vine3.1 相当)
teTeX-2.0.2 + pTeX p3.1.5 --- NG (Vine3.1+update 相当)
teTeX-3.0 + pTeX p3.1.8 --- ok
NG というのは、最初にコンパイルすると
*.toc に化けた文字列が書き込まれ、
2度目以降は、この文字列のためにコンパイルエラーになる、
というものです。
pTeX の 更新情報を見る限り、
変更点が影響しているように思います。
http://www.ascii.co.jp/pb/ptex/base/changes2004.html
teTeX-2.0.2 系列では p3.1.5 が最終なので、
p3.1.8 の変更点をバックポートすればよいのでしょうが、
Web2C の changefile を改造するとなれば、
私の手には余りそう...
状況がわかりましたので、
ASCII さんと VineSeed には私から報告しておきます。
-----
土村 展之 Nobuyuki Tsuchimura