新しい BXjscls の話(v1.9)
TeX Live 2018 および W32TeX は既に更新されている。
- Package BXjscls (CTAN) 1.9 版
近いうちに、メジャー改版となる 2.0 版のリリースを予定していて、今回の 1.9 版はそれに向けた準備が含まれる。
textwidth と textwidth-limit と \jsTextWidthLimit と
もともと bxjsbook では、他の BXJS クラスと異なり、textwidth-limit というオプションで一行の文字数を指定していた。ところが、1.8 版において、行の長さを指定する全クラス共通のオプションである textwidth が新設された。そして、bxjsbook においては、この textwidth は旧来の textwidth-limit と全く同じ役割を果たす(\fullwidth
以下の範囲内で \textwidth
の値を決める*1)ものなので、両方存在するのは無駄である。
従って、2.0 版においては、汎用性の高い textwidth の方を残し textwidth-limit は非推奨の扱いにする予定である。
従来の仕様では、textwidth-limit で指定した値は \jsTextWidthLimit
という数値マクロに保存される。((というか、元々は「bxjsbook の \textwidth
を変えるにはこのマクロを直接再定義する」という仕様であった。))2.0 版の仕様では textwidth-limit は「textwidth の旧式の別インタフェース」となるため、それを見越して今回(1.9 版)の改修において、 textwidth で行長を指定した場合にも \jsTextWidthLimit
に一行の文字数の値を保存することにした。
通常は、textwidth で指定した長さ値は実際には全角の整数倍に切り捨てられるが、\jsTextWidthLimit
に入るのは切り捨てた後の整数値である。ここで、whole-zw-lines=false を指定して整数全角の切り捨てを無効化した場合は、\jsTextWidthLimit
には実数値(行長÷全角幅)が入ることになる。
一部のオプションの名前がそのうち変わる話
2.0 版において、以下の 4 つの(ほとんど使われていないであろう)真偽値型オプションの名前を変更する予定である。
(no)js
→disguise-js=<真偽値>
(no)zw
→use-zw=<真偽値>
(no)precisetext
→precise-text=<真偽値>
(no)simplejasetup
→simple-ja-setup=<真偽値>
1.9 版では、この変更を見越して、新名称のオプションを別名として用意した。つまり、1.9 版では両方のオプションが使用可能でかつ正当である。2.0 版では古いオプションは非推奨になる予定である(後述)。
その他もろもろ
- 新元号について、BXwareki パッケージが利用可能であれば、その情報を利用する。
jafontscale
が認識されないバグを修正。
補足:今よりもっと新しい BXjscls の話
2.0 版では、次のような(互換性に影響のある)変更を予定している。
- geometry 4.x 版のサポートを廃止し、5.0 版以降を必須とする。
※ geometry 4.x 版 の使用は 1.2 版 [2016/08/01] において非推奨となっている。 \ifdraft
命令を廃止する。代わりに\ifjsDraft
を使う必要がある。 ((LaTeX ユーザレベルで\ifthenelse{\boolean{draft}}...
を使っている場合、\ifthenelse{\boolean{jsDraft}}...
に変更してもよいが、それよりも ifdraft パッケージの使用の方を推奨する。))
※ 1.2 版 [2016/08/01] において非推奨となっている。
- (u)pLaTeX 以外のエンジンにおいて、
ja
オプションを省略する(この場合和文ドライバは minimal になる)指定を非推奨とする。 - 以下に挙げる、旧版との互換性のためのオプションを非推奨とする(廃止ではない)。
(no)js
(→disguise-js=<真偽値>
)(no)zw
(→use-zw=<真偽値>
)(no)precisetext
(→precise-text=<真偽値>
)(no)simplejasetup
(→simple-ja-setup=<真偽値>
)textwidth-limit=<整数>
(→textwidth-limit=<整数>zw
)dvipdfmx-if-dvi
(→dvi=dvipdfmx
)magstyle=mag/real/xreal
(→magstyle=usemag/nomag/nomag*
)jadriver=<名前>
(→ja=<名前>
)noscale
(→scale=1
)
*1:ただし、指定の書式について、textwidth-limit は全角単位の整数値、textwidth は長さ値で指定するという違いがある。textwidth で指定した場合も、普通は全角の整数倍に切り捨てられる。