upTeX 1.24 のバグ: コントロールシーケンス作成、widow処理

upTeX 1.24 のバグ: コントロールシーケンス作成、widow処理

- t tk の投稿
返信数: 6
upTeX 1.24 を2月23日にリリースしTeX Live 2019に入りましたが、その際誤ってバグを混入してしまいました。現象は以下の通りです。

  1. 全角英数・半角仮名の \kcatcode のデフォルト値が 17(kana) になるはずが 18(other_kchar) になってしまった
  2. 全角英数, 半角仮名, その他の"Halfwidth and Fullwidth Forms"ブロックの文字の \kcatcode をバラバラに設定できるはずが出来なくなってしまった

その結果、以下の影響が出ています。

  1. 本来、「コントロールシーケンス(制御綴)の一部として、全角英数字・半角仮名を含む一方で全角疑問符・感嘆符・カンマ・ピリオド・括弧等を含まない」という動作だが、upTeX 1.24では両立できない。
  2. 該当ブロックのkcatcodeを17(kana)に設定すると、「widow penartyの処理の際全角疑問符・感嘆符・カンマ・ピリオド・括弧等は記号扱い」という動作が出来なくなる。
  3. 該当ブロックのkcatcodeを18(other_kchar)に設定すると、「widow penartyの処理の際全角英数字・半角仮名は仮名扱い」という動作が出来なくなる。
  4. kcatcodeの設定をいずれに変更しても上記の動作のどれかは動かなくなる。

バグは修正し 1.25 をリリースしました。WindowsのW32TeXでは既に更新して戴いたと思います。
しかし、TeX Live 2019をお使いの場合、通常のTeX Liveのスケジュールでは行き渡るのはTeX Live 2020の配布後になってしまいます。現在、TeX Liveのバイナリーのリビルドを申請中です。

参考:
TeX Live svn(r51021, r51069, r50221)

tlpkgをお使いの場合は、現時点では、upTeXをTeX Live 2019の版(upTeX 1.24)にしないか、旧版に戻す方法をご検討ください。

tlmgr update --self --all --exclude uplatex

または

tlmgr restore uplatex 50811

参考:
(当フォーラム)

(gitHub)

(gitHub)

ご不便をお掛けし申し訳ありません。

t tk への返信

Re: upTeX 1.24 のバグ: コントロールシーケンス作成、widow処理

- 若松 久仁光 の投稿
tk様
upTeX 1.24 に関するバグ情報の開示有難う御座います。
「細かい」処理の指定をすることは(幸いに小生は)実行していませんので
問題発生がどのようなことか良く把握していませんが、Macの環境下では
「uplatex 50811」がインストールされているのなら、アップデートを避けるべきと理解しています。
MacOSX10.12.6環境下での現状を「tlshell」で確認できた範囲でご報告致します。

MacTeX20190419.pkgからインストールし、時折更新をしています。

-----------現在「uplatex」関連でインストールされているものは2つ
package: uplatex
category: Package
shortdesc: pLaTeX2e and miscellaneous macros for upTeX
longdesc: The bundle provides pLaTeX2e macros for upTeX by Takuji Tanaka.
This is a community edition syncing with platex. The bundle depends on platex.
installed: Yes
revision: 50811
sizes: src: 277k, doc: 909k, run: 377k, bin: 5k
relocatable: No
cat-date: 2019-04-06 09:47:29 +0200

package: uplatex.x86_64-darwin
category: Package
shortdesc: x86_64-darwin files of uplatex
installed: Yes
revision: 26341
sizes:
relocatable: No

------ tlshellでupdate可能なものを探しました。
(これが該当するバージョンでしょうか?)
package: uplatex
category: Package
revision: 51191

また既に更新済みの
「 uplatex.x86_64-darwin revision: 26341」も該当するのでしょうか?
以上ご報告まで。若松久仁光拝
若松 久仁光 への返信

Re: upTeX 1.24 のバグ: コントロールシーケンス作成、widow処理

- t tk の投稿
「tlshell」の中身が分からないので適切なコメントが難しいのですが、ソースコードの観点で言うと

2019年2月23日 TeX Live svn r50095 以前の版または
2019年5月25日 TeX Live svn r51221 以降の版

ならば、問題は発生しません。

2019年5月6日 TeX Live svn r51021 以降の版

ならば、kcatcodeの初期値を適切に設定することで問題を回避できます。


t tk への返信

Re: upTeX 1.24 のバグ: コントロールシーケンス作成、widow処理

- aminophen の投稿
> TeX Live 2019をお使いの場合、通常のTeX Liveのスケジュールでは
> 行き渡るのはTeX Live 2020の配布後になってしまいます。
> 現在、TeX Liveのバイナリーのリビルドを申請中です。

リビルドが承認され,現時点では TeX Live 2019 において
下記のプラットフォームで upTeX 1.25 が配布開始されました。

* win32 → Windows のユーザはこれ

* x86_64-darwin → macOS 10.12 Sierra, 10.13 High Sierra, 10.14 Mojave

* i386-linux
* x86_64-linux
* x86_64-linuxmusl

* amd64-freebsd

* amd64-netbsd
* i386-netbsd

* i386-cygwin
* x86_64-cygwin

メジャーなもので未更新なのは

* x86_64-darwinlegacy → macOS 10.11 El Capitan 以前
* i386-freebsd
* i386-solaris
* x86_64-solaris


正常に更新完了すると「u1.25」と表示されるはずです。

$ uptex --version
upTeX 3.14159265-p3.8.2-u1.25 (utf8.uptex)

$ euptex --version
e-upTeX 3.14159265-p3.8.2-u1.25-190131-2.6 (utf8.uptex)
aminophen への返信

Re: upTeX 1.24 のバグ: コントロールシーケンス作成、widow処理

- Toshio Otaguro の投稿

皆様,

ありがとうございました.大変お疲れ様です.u1.25が落ちてくるのを待つことにします.なおリマインダーとして,このバグに起因すると思われる新たな事象の例をご紹介します.

TL2019で,BXjsarticle + 入れ子の enumerate 構造を使うと,

! Undefined control sequence.
\jsInJaParen #1->\bxjs@dust \jsInhibitGlue(
\theenumii) \jsInhibitGlue \...

というメッセージを吐いてハネられます.内部に全角カッコが使われている?プリアンブルの最初(bxjsarticleを読み込む前)に,緩和策の2番目の

\kcatcode"FF00=18

書いておくと回避できます.以下再現サンプルです.

%\kcatcode"FF00=18% Halfwidth and Fullwidth Forms -> 18(other_kchar)
\documentclass[uplatex,dvipdfmx,ja=standard,11pt,a4paper]{bxjsarticle}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{lmodern} % Latin Modern Font
\usepackage{ascmac}

\title{タイトル}
\author{著者}
\date{2019年XX月XX日}

\begin{document}
\maketitle

\section{セクション}
セクションの中に列記構造を入れる.
\begin{enumerate}
 \item 上位のアイテム その1
 \item 上位のアイテム その2
 \begin{enumerate}
 \item 下位のアイテム その1
 \item 下位のアイテム その2
 \end{enumerate}
\end{enumerate}

\end{document}
Toshio Otaguro への返信

Re: upTeX 1.24 のバグ: コントロールシーケンス作成、widow処理

- aminophen の投稿
> このバグに起因すると思われる新たな事象の例
> BXjsarticle + 入れ子の enumerate 構造

なるほど,以下に報告しておきました。
https://github.com/zr-tex8r/BXjscls/issues/10
aminophen への返信

Re: upTeX 1.24 のバグ: コントロールシーケンス作成、widow処理

- 若松 久仁光 の投稿
aminophen様
配布開始の情報有難う御座います。
早速tlshellで確認したところ、
update可能なものが見つかりました。
ターミナルで
$upTeX
upTeX 3.14159265-p3.8.2-u1.25 (utf8.uptex)
$eupTeX
e-upTeX 3.14159265-p3.8.2-u1.25-190131-2.6 (utf8.uptex)
これらが確認できました。色々有難う御座います。
先ずはお礼とご報告まで。若松久仁光拝