texlive2022のupmendex(version1.0)について

texlive2022のupmendex(version1.0)について

- tosyo taro の投稿
返信数: 3
texlive2021からtexlive2022に更新したところ一部文書でエラーがでるようになりました。
原因はupmendexの出力結果に違いがあることにありました。

FreeBSD12.4(amd64) + texlive2022にて添付ファイルの001.dic, 001.ist, 001.idxの内容で

upmendex -l -s 001.ist -d 001.dic 001.idx

とすると

Warning: Illegal input for character_order (E)....done(2 comparisons).

と警告がでて、結果001.indは

###############start
\INDEXHEAD{ア}
\item あゆひ(脚結)\DOTFILL \hyperpage{1}

\indexspace

\INDEXHEAD{\symbolindexname}
\item 「あゆひ抄」\DOTFILL \hyperpage{1}
###############end

となります

texlive2021のupmendex version0.54では

#################001.ind(texlive2021 upmendex version0.54) start
\INDEXHEAD{ア}
\item あゆひ(脚結)\DOTFILL \hyperpage{1}
\item 「あゆひ抄」\DOTFILL \hyperpage{1}
################end

となり、これがのぞみの結果です。

version1.0のバグではないでしょか?。
tosyo taro への返信

Re: texlive2022のupmendex(version1.0)について

- はやて (h20y6m) の投稿

「仕様」なんじゃないでしょうか。

https://github.com/t-tk/upmendex-package/issues/8

をみると 『「』(Ps: start punctuation) は辞書参照の対象外のようです。

辞書はあくまで漢字(と一部の記号)に読みを与えるものという想定で、このような使い方は想定外なのかもしれません。

辞書に頼らず文書中で \index{あゆひし@「あゆひ抄」} のように明示的によみを指定すればうまくいきませんか?

tosyo taro への返信

Re: texlive2022のupmendex(version1.0)について

- t tk の投稿
ご報告ありがとうございます。
ご指摘の件、
treatment by Unicode character types https://github.com/t-tk/upmendex-package/issues/8
で施した更新の影響で動作が変化したものと思います。

http://www.unicode.org/Public/UCD/latest/ucd/Scripts.txt
によると ”「” U+300C は、Ps: start punctuation なので、
upmendex 1.0xでは、記号(Symbol)のところに分類され、しかも辞書検索の方に回らない仕様になっています。

v1.0x の仕様でありバグでは無い、ということになります。
括弧類を辞書に登録して検索するような使用法は想定していませんでした。
ご指摘の入力に対して、v0.54 の動作に戻す考えは、今のところありません。

それと、下記警告ですが、
Warning: Illegal input for character_order (E)....done(2 comparisons).
001.ist の中で
character_order "JESN"
の代わりに
character_order "JLSN"
とすると Warning が消えます。
これは、前者が仕様外、後者が仕様通りです。mendex と仕様を替えたところになります。(Latin文字の諸語は英語(E)とは限らないので)

いかがでしょうか。
t tk への返信

Re: texlive2022のupmendex(version1.0)について

- tosyo taro の投稿
はやてさん、ttkさん、ご教示ありがとうございます。

 \index{あゆひし@「あゆひ抄」}
 character_order "JLSN"

とします。