BibTeXu (BibTeXのUnicode対応版) を日本語対応(CJK対応)にしました。
詳細はこちらのコメントにまとめてあります。
BibTeXu は入力を UTF-8とし内部処理にICUを導入して BibTeX を Unicodeに拡張したソフトウェアです。BibTeX-x の一部であり BibTeX8 (BibTeXの8bit文字対応版)と兄弟関係にあります。今まで BibTeXu は Unicode対応していたものの日本語特有の処理が実装されておらず、jBibTeX, (u)pBibTeX で施された日本語向けの拡張の機能が入っていませんでした。
今回、(j,(u)p)BibTeXの流れを汲む日本語向け拡張仕様をBibTeXu ver4.00 に取り入れ、日本語対応といえるレベルにした次第です。
TeX Liveの開発版 (r63360まで)にコミットしたのでTeX Live 2023に正式に入る予定です。
BibTeXu (v4.00) は (u)pBibTeX とほぼ互換の日本語対応になっていますが、以下のような違いがあります。
- upBibTeX は入力ファイルの文字コードとしてJIS, UTF-8その他が可能だがBibTeXuはUTF-8のみ可能。
- jname.bstで文献のタグに現れるイニシャルが日本語の場合に長さが異なる。
- *.bblの改行の位置が異なる場合がある。 (*.dviの結果には違いが無い)
- 文字列中のU+FEFF (BOM)がupBibTeXでは削除されるが、BibTeXuでは消されないで*.bblに残る。 (*.dviの結果には違いが無い)
その他の点で違いが無く、UTF-8になっていさえすれば従来の日本語を含む *.bibや *.bst がそのまま使えます。将来BibTeXuが(u)pBibTeXの後継として広く使われるようになることを期待しております。
その他、開発の過程で ((u)p)BibTeX の方にも改良や拡張を入れました。
- 組み込み関数 int.to.chr$, chr.to.int$ の対象を文字集合全体に拡張。(pBibTeX, upBibTeX共通)
- 組み込み関数 change.case$ の対象を拡張し、Latin-1、ギリシャ文字、キリル文字を扱えるように。(upBibTeXのみ)
- 変数 max_print_line を kpathsearchライブラリ変数にした。これにより texmf.cnf や環境変数で *.bbl の行の折り返しまでの文字の長さを変更できるようになった。(BibTeX, pBibTeX, upBibTeX共通)
何かお気づきの点があればお知らせください。