名前: 土村 日時: 2006-07-12 21:16:05 IPアドレス: 133.11.136.*
以下のソースを platex で処理すると、 環境によって結果が変わるとの相談を受けました。 手元では Vine3.1 (i386), FC5 (i386) が OK で、 SUSE10.1 (x86-64), RHEL4(x86-64), Solaris 9 (sparc) なんかが NG です。 どれも ptetex3 の最新版です。 \documentclass{jarticle} \begin{document} \footnote{・} % コメントにすると正常 \footnote{あぁあ} % 下との比較用 \footnote{$あぁあ$} % 「あ」と「ぁ」があき過ぎることがある \end{document} 調べたところ、ptex 内部で初期化されてない変数を 使っていることがわかりました。 修正するパッチを作ってみましたが、意味を理解できずにいますので、 間違っているかもしれません。 直前で代入した rr を使わずに、初期化されていない r を使うのは 不自然だと思って r を rr にしたのですが、どうでしょうか。 それなりに正しく動いてはいるようです。 --- ptex-src-3.1.10/ptex-base.ch~ 2006-06-07 12:12:57.000000000 +0900 +++ ptex-src-3.1.10/ptex-base.ch 2006-07-12 19:30:50.000000000 +0900 @@ -3890,7 +3890,7 @@ if op_byte(cur_i)<kern_flag then begin gp:=font_glue[cur_f]; rr:=rem_byte(cur_i); if gp<>null then begin - while((type(gp)<>r)and(link(gp)<>null)) do begin gp:=link(gp); + while((type(gp)<>rr)and(link(gp)<>null)) do begin gp:=link(gp); end; gq:=glue_ptr(gp); end
この書き込みへの返事: