texlive[67364] Master/texmf-dist: bxjscls (14jun23)

commits+karl at tug.org commits+karl at tug.org
Wed Jun 14 22:13:52 CEST 2023


Revision: 67364
          http://tug.org/svn/texlive?view=revision&revision=67364
Author:   karl
Date:     2023-06-14 22:13:52 +0200 (Wed, 14 Jun 2023)
Log Message:
-----------
bxjscls (14jun23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/bxjscls/LICENSE
    trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
    trunk/Master/texmf-dist/doc/latex/bxjscls/README.md
    trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
    trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
    trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
    trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/LICENSE
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxjscls/LICENSE	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/LICENSE	2023-06-14 20:13:52 UTC (rev 67364)
@@ -2,8 +2,8 @@
 
 Copyright 1995-1999 ASCII Corporation.
 Copyright 1999-2016 Haruhiko Okumura
-Copyright 2016-2020 Japanese TeX Development Community
-Copyright 2013-2022 Takayuki YATO (aka. "ZR")
+Copyright 2016-2023 Japanese TeX Development Community
+Copyright 2013-2023 Takayuki YATO (aka. "ZR")
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md	2023-06-14 20:13:52 UTC (rev 67364)
@@ -21,7 +21,7 @@
   * 必須パッケージ:
       - calc
       - geometry v5.0以降
-      - ifpdf
+      - iftex
       - keyval
   * 場合により必須となるパッケージ:
       - bxwareki: 日付の和暦表示機能を使う場合
@@ -43,7 +43,6 @@
           + bxorigcapt: Babel 使用時
           + etoolbox v2.0以降: e-TeX なら
           + filehook v0.5d以降: e-TeX なら
-          + iftex
           + pdftexcmds v0.5以降
           + pxbabel: (u)pLaTeX かつ Babel 使用時
   * エンジンが (u)pTeX 以外で、かつ和文ドライバが standard 以外の場合、
@@ -111,6 +110,9 @@
 更新履歴
 --------
 
+  * Version 2.8  〈2023/06/14〉
+      - jsclasses の 2023/02/23 と同期。
+      - hyperref の unicode 設定に対する調整処理の見直し。
   * Version 2.7a 〈2022/04/10〉
       - (試験的) `nodvidriver*` オプションを追加。
   * Version 2.7  〈2022/03/30〉

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/README.md
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex	2023-06-14 20:13:52 UTC (rev 67364)
@@ -12,8 +12,8 @@
 \bxtexlogoimport{*}
 \usepackage{shortvrb}
 \MakeShortVerb{\|}
-\newcommand{\PkgVersion}{2.7a}
-\newcommand{\PkgDate}{2022/04/10}
+\newcommand{\PkgVersion}{2.8}
+\newcommand{\PkgDate}{2023/06/14}
 \newcommand{\Pkg}[1]{\textsf{#1}}
 \newcommand{\Meta}[1]{$\langle$\mbox{}\nobr#1\nobr\mbox{}$\rangle$}
 \newcommand{\Note}{\par\noindent ※}

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx	2023-06-14 20:13:52 UTC (rev 67364)
@@ -25,15 +25,15 @@
 %
 %---------------------------------------
 %
-%  Copyright 1993-2020
+%  Copyright 1993-2022
 %  The LaTeX3 Project and any individual authors listed elsewhere
 %  in this file.
 %
 %  Copyright 1995-1999 ASCII Corporation.
 %  Copyright 1999-2016 Haruhiko Okumura
-%  Copyright 2016-2020 Japanese TeX Development Community
+%  Copyright 2016-2023 Japanese TeX Development Community
 %
-%  Copyright 2013-2022 Takayuki YATO (aka. "ZR")
+%  Copyright 2013-2023 Takayuki YATO (aka. "ZR")
 %
 % \fi
 % \CheckSum{0}
@@ -56,7 +56,9 @@
 %<*driver>
 \ProvidesFile{bxjscls.dtx}
 %</driver>
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
+% based on jsclasses [2023/02/23]
+% [2022/04/10 v2.7a BXJS document classes]
 % [2022/03/30 v2.7  BXJS document classes]
 % [2022/03/20 v2.6  BXJS document classes]
 % [2021/05/18 v2.5a BXJS document classes]
@@ -320,8 +322,12 @@
 % をあてる場合があります。この処理に使用するフラグを定義します。
 %
 %    \begin{macrocode}
+%</class>
+%<*class|minijs>
 \newif\ifjsc at needsp@tch
 \jsc at needsp@tchfalse
+%</class|minijs>
+%<*class>
 %    \end{macrocode}
 % \end{macro}
 %
@@ -339,7 +345,7 @@
 %    \end{macrocode}
 % クラスの本体ではこの他に以下のパッケージが読み込まれる。
 % \begin{quote}
-%   |geometry|、|ifpdf|
+%   |geometry|、|iftex|
 % \end{quote}
 % また状況によっては以下のパッケージが読み込まれる可能性がある。
 % \begin{quote}
@@ -481,23 +487,6 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\ifjsInPdfMode}
-% 〔スイッチ〕
-% {\pdfTeX}/{\LuaTeX}がPDFモードで動作しているか。
-% \Note {\LuaTeX} 0.8x版でのプリミティブ名変更に対応。
-% \TODO |iftex| パッケージ(+自前実装)に置き換える。
-%    \begin{macrocode}
-\newif\ifjsInPdfMode
-\@nameuse{ImposeOldLuaTeXBehavior}
-\let\bxjs at tmpa\PackageWarningNoLine
-\let\PackageWarningNoLine\PackageInfo % suppress warning
-\RequirePackage{ifpdf}
-\let\PackageWarningNoLine\bxjs at tmpa
-\@nameuse{RevokeOldLuaTeXBehavior}
-\let\ifjsInPdfMode\ifpdf
-%    \end{macrocode}
-% \end{macro}
-%
 % \begin{macro}{\ifbxjs at explIII}
 % 〔スイッチ〕
 % expl3がカーネルに組み込まれているか。
@@ -578,6 +567,20 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\ifjsInPdfMode}
+% 〔スイッチ〕
+% {\pdfTeX}/{\LuaTeX}がPDFモードで動作しているか。
+%    \begin{macrocode}
+\RequirePackage{iftex}
+\newif\ifjsInPdfMode
+\@nameuse{jsInPdfMode\ifnum0%
+  \ifx\pdfoutput\@undefined\else\the\pdfoutput\fi
+  \ifx\outputmode\@undefined\else\the\outputmode\fi
+  >0 true\else false\fi}
+\ifx\pdffalse\@undefined\else \bxjs at csletcs{ifjsInPdfMode}{ifpdf}\fi
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}{\bxjs at catopt}
 % |\bxjs at catopt{|\Meta{文字列1}|}{|\Meta{文字列2}|}|\Means
 % 2つの文字列を |,| で繋いだ文字列。
@@ -1170,10 +1173,14 @@
 %    ようですので,少し小さくします。
 %    また,中央の要素も |\displaystyle| にします。
 %
+% [2022-09-13] \LaTeXe~2021-11-15 (ltmath.dtx 2021/10/14 v1.2j)で
+% |\@currentcounter|が追加されましたので,追随します。
+%
 %    \begin{macrocode}
 \def\eqnarray{%
    \stepcounter{equation}%
    \def\@currentlabel{\p at equation\theequation}%
+   \def\@currentcounter{equation}%
    \global\@eqnswtrue
    \m at th
    \global\@eqcnt\z@
@@ -1193,6 +1200,9 @@
 % \texttt{fleqn} で数式が本文左端から一定距離のところに出力されます。
 % 森本さんにしたがって訂正しました。
 %
+% [2022-09-13] \LaTeXe~2021-11-15 (ltmath.dtx 2021/10/14 v1.2j)で
+% |\@currentcounter|が追加されましたので,追随します。
+%
 %    \begin{macrocode}
 \DeclareOption{leqno}{\input{leqno.clo}}
 \DeclareOption{fleqn}{\input{fleqn.clo}%
@@ -1200,6 +1210,7 @@
   \def\eqnarray{%
     \stepcounter{equation}%
     \def\@currentlabel{\p at equation\theequation}%
+    \def\@currentcounter{equation}%
     \global\@eqnswtrue\m at th
     \global\@eqcnt\z@
     \tabskip\mathindent
@@ -2122,6 +2133,7 @@
 % 〔スイッチ〕 |plautopatch| の指定値。
 %    \begin{macrocode}
 \bxjs at declare@bool at option{plautopatch}{plautopatch}{false}
+\g at addto@macro\bxjs at plautopatchtrue{\let\bxjs at plautopatch@given\@undefined}
 \g at addto@macro\bxjs at plautopatchfalse{\def\bxjs at plautopatch@given{false}}
 %    \end{macrocode}
 % \end{macro}
@@ -2214,22 +2226,19 @@
 %
 % \paragraph{使用エンジンの検査・自動判定}
 %
-% ユーザが |uplatex| オプションの有無により指定したエンジンが,実際に
-% 使われているものと一致しているかを検査し,一致しない場合はエラー
-% メッセージを表示します。
+% デフォルトで現在使われているエンジンが p\LaTeX か up\LaTeX かを判定します。
+% ユーザによって |platex| オプションまたは |uplatex| オプションが明示的に
+% 指定されている場合は、実際に使われているエンジンと一致しているかを検査し,一致
+% しない場合はエラーメッセージを表示します。
 %
 % [2016-11-09] p\LaTeX / up\LaTeX を自動判別するオプション |autodetect-engine| を新設しました。
 % up\LaTeX の場合は,グローバルオプションに |uplatex| を追加することで,
 % 自動判定に応じて |otf| パッケージにも |uplatex| オプションが渡るようにします。
 %
-% \begin{ZRnote}
-% ここのコードを削除。
-% \end{ZRnote}
+% [2023-02-12] |autodetect-engine| 指定時の挙動を規定化しました。
+% また |platex| を新設しました。オプション |autodetect-engine|, |platex|, |uplatex| の
+% うち最後に指定されたものが有効になります。
 %
-% [2016-11-11] p\LaTeX の場合は,オプション |uplatex| が指定されていれば必ずエラーを出します。
-% |autodetect-engine| が有効になっていてもエラーを出しますが,これは |otf| パッケージに
-% |uplatex| オプションが渡ってしまうのを防ぐためです。
-%
 % \begin{ZRnote}
 %
 % 正規化前の和文ドライバの値を |\bxjs at jadriver| に設定する。
@@ -2381,6 +2390,14 @@
 %
 % \paragraph{その他のBXJS特有の後処理 \ZRX}
 %
+% |\documentclass| より前に |plautopatch| パッケージが読み込まれて
+% いる場合は |bxjs at plautopatch| を真にする。
+%    \begin{macrocode}
+\@ifpackageloaded{plautopatch}{%
+  \bxjs at plautopatchtrue
+}{}
+%    \end{macrocode}
+%
 % 標準の和文ドライバの名前の定数。
 %    \begin{macrocode}
 \def\bxjs@@minimal{minimal}
@@ -2412,7 +2429,7 @@
 %
 % |plautopatch| が真の場合はここで |plautopatch| を読み込む。
 % \Note この時点で既に読み込まれているパッケージは、
-% |calc|、|keyval|、|ifpdf|。
+% |calc|、|keyval|、|iftex|。
 % \Note Pandocモードでは |plautopatch| の既定値を真とする。
 %    \begin{macrocode}
 \ifx\bxjs at jadriver\bxjs@@pandoc \ifx\bxjs at plautopatch@given\@undefined
@@ -2566,6 +2583,11 @@
 % 発行する |\special| の中身を展開しておくようにしました。
 % こうしないと,用紙サイズ設定を間違ってしまいます(Issue \#72)。
 %
+% [2022-09-12] 次期\LaTeXe カーネルに|\stockwidth|,|\stockheight|が
+% 追加されるようですので,
+% クラスファイル側では未定義のときのみこれらの長さ変数を定義します。
+% h20y6mさん,ありがとうございます。
+%
 % \begin{ZRnote}
 % BXJSでは出力用紙サイズ記録は |geometry| パッケージが行う。
 %
@@ -2572,7 +2594,8 @@
 % また、JSクラスと異なり、|\stockwidth|、|\stockheight| は常に定義される。
 % \end{ZRnote}
 %    \begin{macrocode}
-\newdimen\stockwidth \newdimen\stockheight
+\ifx\stockwidth\@undefined\newdimen\stockwidth\fi
+\ifx\stockheight\@undefined\newdimen\stockheight\fi
 \begingroup\expandafter\expandafter\expandafter\endgroup
 \expandafter\ifx\csname iftombow\expandafter\endcsname\csname iftrue\endcsname
 % \newdimen\stockwidth \newdimen\stockheight
@@ -4751,6 +4774,7 @@
 % |\subtitle| の定義を |\title| の実行まで遅延させることにする。
 % もしどうしても主題より前に副題を設定したい場合は、
 % |\jsSubtitle| 命令を直接用いればよい。
+% \TODO |\subtitle| の遅延処理はPandocモードに移す。
 % 
 % 本体を |\jsSubtitle| として定義する。
 %    \begin{macrocode}
@@ -7678,6 +7702,13 @@
 %
 % [2018-03-11] |\next|などいくつかの内部命令を |\jsc at ...| 付きの
 % ユニークな名前にしました。
+%
+% [2022-09-13] \LaTeXe~2021-11-15 (ltfloat.dtx 2021/10/14 v1.2g)で
+% |\@currentcounter|が追加されましたので,追随します。
+% なお,\LaTeXe~2021-06-01 (ltfloat.dtx 2021/02/10 v1.2e)で
+% parhook対応として |\par| が追加されていますが,
+% 実は同時に |\color at endgroup| も |\endgraf| するように変更
+% されていますので,不要だと思います。というわけで追加しません。
 %    \begin{macrocode}
 \long\def\@footnotetext{%
   \insert\footins\bgroup
@@ -7686,6 +7717,7 @@
     \splittopskip\footnotesep
     \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
     \hsize\columnwidth \@parboxrestore
+    \def\@currentcounter{footnote}%
     \protected at edef\@currentlabel{%
        \csname p at footnote\endcsname\@thefnmark
     }%
@@ -8184,9 +8216,11 @@
 % \end{macro}
 %
 % \begin{macro}{\jayear}
-% 和暦における年の表記(元号+年数)。
+% 和暦における年の表記の「年」以前の部分(元号+年数)。
+% \Note |\heisei| の代替となる機能(だから常に和暦を扱う)。
 % \begin{macro}{\heisei}
 % 年数を表す整数レジスタで、元号が「平成」である場合にのみ定義される。
+% \Note JSクラスと互換の機能。
 %    \begin{macrocode}
 \ifbxjs at bxwareki@avail
   \let\jayear\warekiyear
@@ -8194,7 +8228,7 @@
     \newcount\heisei \heisei=\value{warekiyear}
   \fi
 %    \end{macrocode}
-% |bxwareki| が使えない場合は西暦表示にする。
+% ただし |bxwareki| が使えない場合は西暦表示にフォールバックする。
 %    \begin{macrocode}
 \else
   \edef\jayear{\the\year \bxjs at iai}
@@ -9726,6 +9760,8 @@
 % \begin{macro}{\jsCheckHyperrefUnicode}
 % 「|hyperref| の |unicode| オプションの値を検証する」ための
 % 本体開始時のフック。
+% \Note |pxjahyper-uni.def| はこのフックを |\relax| に上書きする
+% ことで検証を無効化している。
 %    \begin{macrocode}
 \@onlypreamble\jsCheckHyperrefUnicode
 \let\jsCheckHyperrefUnicode\@empty
@@ -9937,19 +9973,85 @@
 %    \end{macrocode}
 %
 % \paragraph{hyperref対策}
+% |hyperref| の |unicode| オプションに対する調整を行う。
+% \Note |pxjahyper| パッケージの「|unicode| 対応」サポートの履歴:
+% \begin{itemize}
+% \item 0.7版[2021-02-13]:{\upLaTeX}上に限り|unicode|対応。
+% \item 0.9c版[2021-06-06]:|pxjahyper-uni.def| ファイルを追加。
+% \item 1.0版[2022-04-01]:{\pLaTeX}上の|unicode|対応を試験的サポート。
+% \item 1.3版[2023-03-01]:{\pLaTeX}上の|unicode|対応を正式サポート。
+% \end{itemize}
 %
-% |unicode| にしてはいけない。
 %    \begin{macrocode}
 \ifbxjs at hyperref@enc
+%    \end{macrocode}
+% |unicode| オプションが偽であることを検証する。
+% ただし、|pxjahyper| パッケージまたは |pxjahyper-uni.def| が読み込まれて
+% (前提条件を満たしていて)「|unicode| 対応」が行われた場合は
+% 検証は無効化される。
+%    \begin{macrocode}
   \bxjs at check@hyperref at unicode{false}
 %    \end{macrocode}
-% 暫定的なナニカ。
+% |\bxjs at plautopatch@new| は「|pxjahyper| の自動読込に対応した
+% 版の |plautopatch| が読み込まれているか」のフラグ。
 %    \begin{macrocode}
-  \ifjsWithupTeX\ifbxjs at old@hook at system\else
-    \IfFileExists{pxjahyper-uni.def}{%
-      \AddToHook{\bxjs at CGHN{package/hyperref/after}}{\input{pxjahyper-uni.def}}
-    }{}
-  \fi\fi
+  \@ifpackagelater{plautopatch}{2020/05/25}{% v0.9g
+    \let\bxjs at plautopatch@new=t}{}
+%    \end{macrocode}
+% 「|unicode| を有効にできるか」を判定する。
+% まず必要条件として
+% 「|pxjahyper-uni.def| が存在すること」
+% 「|\bxjs at plautopatch@new| が真、または、ファイルフックが利用可能
+% であること」
+% を検査する。
+% \Note |pxjahyper-uni.def| をもつ |pxjahyper| の版であれば、
+% {\upLaTeX}上の |unicode| には対応していることに注意。
+%    \begin{macrocode}
+  \let\bxjs at avail@hy at unicode=f
+  \if \ifx t\bxjs at plautopatch@new T%
+      \else\ifbxjs at old@hook at system F\else T\fi\fi T%
+    \IfFileExists{pxjahyper-uni.def}{\let\bxjs at avail@hy at unicode=t}{}
+  \fi
+  \if t\bxjs at avail@hy at unicode
+    \ifjsWithupTeX
+%    \end{macrocode}
+% 必要条件が満たされていて、かつ{\upLaTeX}である場合の処理。
+% もしファイルフックが利用可能ならば、|hyperref| が読み込まれた場合に
+% その直後に |pxjahyper-uni.def| が読まれるようにする。
+% \Note そうでないなら、前提条件より |pxjahyper| が読み込まれるはず
+% なので何もしなくてよい。
+%    \begin{macrocode}
+      \ifbxjs at old@hook at system\else
+        \AddToHook{\bxjs at CGHN{package/hyperref/after}}{%
+          \input{pxjahyper-uni.def}}
+      \fi
+    \else
+%    \end{macrocode}
+% 必要条件が満たされていて、かつ{\pLaTeX}である場合の処理。
+% |pxjahyper| が
+% 「{\pLaTeX}上の |unicode| 対応をもつほど新しい版(1.3版以降)」
+% であるかを判定する方法はない。
+% しかし、新しい{\LaTeX}システムで |unicode| を無効にするのは
+% 避けたいので、{\LaTeX}カーネルが2023-06-01以降である場合に
+% |pxjahyper| も十分に新しいと推定することにする。
+% すなわち「|pxjahyper| が読み込まれるはず」かつ
+% 「{\LaTeX}がカーネルが新しい」かを判定する。
+%    \begin{macrocode}
+      \let\bxjs at avail@hy at unicode=f
+      \ifx t\bxjs at plautopatch@new
+        \@ifl at t@r\fmtversion{2023/06/01}{\let\bxjs at avail@hy at unicode=t}{}
+      \fi
+    \fi
+  \fi
+%    \end{macrocode}
+% この時点で「|unicode| を有効にできるか」の判定結果が
+% フラグ |\bxjs at avail@hy at unicode| に入っている。
+% |unicode| を有効にできない場合は |unicode| の既定値を
+% 偽に設定する。
+%    \begin{macrocode}
+  \if f\bxjs at avail@hy at unicode
+    \PassOptionsToPackage{unicode=false}{hyperref}
+  \fi
 \fi
 %    \end{macrocode}
 %
@@ -10817,7 +10919,7 @@
 \let\bxjs at kv@orblockheading at true\bxjs at jp@or at block@headingtrue
 \let\bxjs at kv@orblockheading at false\bxjs at jp@or at block@headingfalse
 \define at key{bxjsPan}{or-block-heading}[true]{%
-  \bxjs at set@keyval{blockheading}{#1}{}}
+  \bxjs at set@keyval{orblockheading}{#1}{}}
 %    \end{macrocode}
 %
 % 実際の |japaram| の値を適用する。
@@ -10886,13 +10988,28 @@
 %^^A----------------
 % \subsection{lang変数}
 % |lang=ja| という言語指定が行われると、
-% Pandocはこれに対応していないため
-% 不完全なBabelやPolyglossiaの設定を出力してしまう。
-% これを防ぐための対策を行う。
-% \Note Pandoc 2.12版で |lang=ja| 指定に対応し、
-% 正しく{\LaTeX}側の言語名 |japanese| に変換されるようになった。
-% しかし、日本語指定の場合は相変わらず調整処理が必要である。
+% 2.12版より前のPandocはこれに対応していなかったため
+% 不完全なBabelやPolyglossiaの設定を出力してしまっていた。
+% 現在では |lang=ja| 指定について
+% 正しく{\LaTeX}側の言語名 |japanese| に変換されるようになっているが、
+% それでも日本語指定の場合は相変わらず調整処理が必要である。
+% \Note そもそもBXJSクラスは日本語用の文書クラスであるため、
+% もし言語設定が行われているのであれば
+% 「メイン言語は日本語である」であるはずなので、
+% 「サブ言語が日本語である」ことは考慮しない。
 %
+% \paragraph{Polyglossiaについて}
+% 現在CTANに登録されている日本語用のglossファイルは超絶アレでかつ
+% 有害な設定を行うため、これの読込を避ける必要がある。
+% そのため、メイン言語が |japanese| である場合
+% (古いPandocではこの場合に引数が空の |\setmainlanguage{}| が
+% 実行されるがこのパターンも同様に扱う)
+% には、Polyglossiaの処理を無効化してしまうことにする。
+% つまり、Polyglossiaが提供する命令について、何もしないダミーの
+% 定義を与える。
+% \Note Polyglossiaは古いPandocのテンプレートにおいて、
+% エンジンが{\XeTeX}か{\LuaTeX}の場合に利用されていた。
+%
 % \begin{macro}{\bxjs at polyglossia@options}
 % Polyglossiaのオプション列のテキスト。
 % “実際には読み込まれていない”場合は |\relax| になる。
@@ -10901,16 +11018,7 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \begin{macro}{\bxjs at babel@options}
-% Babelのオプション列のテキスト。
-% “実際には読み込まれていない”場合は |\relax| になる。
-%    \begin{macrocode}
-\let\bxjs at babel@options\relax
-%    \end{macrocode}
-% \end{macro}
-%
-% \paragraph{Polyglossiaについて}
-% つまり{\XeTeX}および{\LuaTeX}(古いPandocで)の場合。
+% エンジンが{\XeTeX}か{\LuaTeX}の場合が対象になる。
 % \Note この場合 |etoolbox| が使用可能になっている。
 %    \begin{macrocode}
 \ifnum0\if x\jsEngine1\fi\if l\jsEngine1\fi>0
@@ -10930,13 +11038,12 @@
 % |polyglossia| の読込が指示された場合、
 % 直後に |\setmainlanguage| が実行されることを想定して、
 % フック用の |\setmainlanguage| を定義する。
-% \Note 先に |\setmainlanguage| 以外が実行された場合はエラーになる。
+% \Note 最初に |\setmainlanguage| 以外が実行された場合はエラーになる。
 %    \begin{macrocode}
   \newcommand*\setmainlanguage[2][]{%
 %    \end{macrocode}
-% もし、言語名が空の |\setmainlanguage{}| が実行された場合は、
-% |lang=ja| が指定されたと見なす。
-% 言語名が |japanese| だった場合も同様。
+% もし、|\setmainlanguage| の引数が空または |japanese| だった
+% 場合はメインが日本語である(|lang=ja| 指定)と見なす。
 %    \begin{macrocode}
     \ifboolexpr{test{\ifblank{##2}}or test{\ifstrequal{##2}{japanese}}}{%
       \ClassWarning\bxjs at clsname
@@ -10961,7 +11068,7 @@
 %
 % プレアンブルで |polyglossia| の読込が指示されなかった場合、
 % Polyglossiaと連携するパッケージの誤動作を防ぐため、
-% 読込済マークを外す。
+% (|\AtEndPreamble| において)読込済マークを外す。
 %    \begin{macrocode}
 \g at addto@macro\bxjs at endpreamble@hook{%
   \ifx\bxjs at polyglossia@options\relax
@@ -10972,10 +11079,10 @@
 % \begin{macro}{\bxjs at pandoc@polyglossia at ja}
 % Pandoc側で |lang=ja| が指定されていた場合の処理。
 % この場合はPolyglossiaの処理を無効化するためにダミーの定義を行う。
-% その時点でダミーの |\setotherlanguage(s)| を定義する。
-% \Note 現在ではPolyglossiaの日本語用の定義ファイル
-% (|gloss-japanese.ldf|)が存在するので、本来なら普通に処理できる
-% はずであるが、現状の定義ファイルはアレなので回避したい。
+% すなわち、サブ言語 |xxx| の各々について、|xxx| 環境と |\textxxx|
+% 命令を(特に何も加工しないものとして)定義する。
+% この目的のため、|\setotherlanguage(s)| をダミーを定義する
+% 命令として定義する。
 %    \begin{macrocode}
 \@onlypreamble\bxjs at pandoc@polyglossia at ja
 \def\bxjs at pandoc@polyglossia at ja{%
@@ -10999,11 +11106,19 @@
 %    \end{macrocode}
 %
 % \paragraph{Babelについて}
-% {\XeTeX}以外の場合。
-% \Note Pandoc 2.15版から、テンプレートで用いられる多言語パッケージが
-% Babelに統一された。
-% ({\LuaTeX}は2.6版でPolyglossiaからBabelに変更されている。)
+% 現在のPandocでは、テンプレートで用いられる多言語パッケージとして
+% エンジンの種別によらずにBabelが使われる。
+% \Note {\XeTeX}では2.15版で、{\LuaTeX}は2.6版で
+% PolyglossiaからBabelに変更されている。
 %
+% \begin{macro}{\bxjs at babel@options}
+% Babelのオプション列のテキスト。
+% “実際には読み込まれていない”場合は |\relax| になる。
+%    \begin{macrocode}
+\let\bxjs at babel@options\relax
+%    \end{macrocode}
+% \end{macro}
+%
 % パッケージの読込を検知するため読込済のマークを付けて
 % duploadの処理を仕込む。
 %    \begin{macrocode}
@@ -11013,35 +11128,20 @@
   \ClassWarning\bxjs at clsname
    {Package babel is requested}%
 %    \end{macrocode}
-% パッケージオプションに言語名が空の |main=| があるかを調べる。
-% ある場合は |lang=ja| 対策を実行する。
-% \Note |\bxjs at babel@options| には |main=| を除いたオプション列を
-% 格納する。
+% パッケージオプションに言語名が空の |main=| がある場合は、
+% |main=japanese| に置き換える。
 %    \begin{macrocode}
   \@tempswafalse \let\bxjs at babel@options\@empty
   \def\bxjs at tmpb{main=}%
-  \def\bxjs at next{main=japanese}%
   \@for\bxjs at tmpa:=#1\do{%
-    \ifx\bxjs at tmpa\bxjs at tmpb \@tempswatrue
-    \else\ifx\bxjs at tmpa\bxjs at next \@tempswatrue
-    \else \edef\bxjs at babel@options{\bxjs at babel@options,\bxjs at tmpa}%
-    \fi\fi}%
-  \if at tempswa
-    \ClassWarning\bxjs at clsname
-     {Main language is 'japanese', thus fallback\MessageBreak
-      definitions will be employed}%
-    \bxjs at pandoc@babel at ja
+    \ifx\bxjs at tmpa\bxjs at tmpb \def\bxjs at tmpa{main=japanese}\fi
+    \edef\bxjs at babel@options{\bxjs at babel@options,\bxjs at tmpa}}%
+  \bxjs at cslet{ver at babel.sty}\@undefined
+  \edef\bxjs at next{%
+    \noexpand\RequirePackage[\bxjs at babel@options]{babel}\relax
+  }\bxjs at next
+  \RequirePackage{bxorigcapt}\relax}
 %    \end{macrocode}
-% ない場合は、本来の |babel| の処理を実行する。
-%    \begin{macrocode}
-  \else
-    \ClassWarning\bxjs at clsname
-     {Main language is not 'japanese',\MessageBreak
-      thus babel will be loaded}%
-    \bxjs at cslet{ver at babel.sty}\@undefined
-    \RequirePackage[#1]{babel}[]%
-  \fi}
-%    \end{macrocode}
 %
 % プレアンブルで |babel| の読込が指示されなかった場合、
 % 読込済マークを外す。
@@ -11051,23 +11151,63 @@
     \bxjs at cslet{ver at babel.sty}\@undefined
   \fi}
 %    \end{macrocode}
-% 
-% \begin{macro}{\bxjs at pandoc@babel at ja}
-% Pandoc側で |lang=ja| が指定されていた場合の処理。
+%
+% 3.0版より前の |japanese.ldf| はサポート対象エンジンが限られていた。
+% ここでは、エンジンの種類を問わず、「|japanese.ldf| が古い場合は
+% 読込を回避してダミー定義で代替する」という対策を入れる。
+% 実は |japanese.ldf| で行う定義は |bxorigcapt| の機能等により
+% 実質的に全て無効化されている。
+% 最新の環境においては
+% 「|japanese| 指定のBabel+|bxorigrcapt| パッケージ」
+% の状態にしておきたい。
+%
 %    \begin{macrocode}
-\@onlypreamble\bxjs at pandoc@babel at ja
-\def\bxjs at pandoc@babel at ja{%
-  \bxjs at cslet{ver at babel.sty}\@undefined
-  \edef\bxjs at next{%
-    \noexpand\RequirePackage[\bxjs at babel@options,english]{babel}[]%
-  }\bxjs at next
-  \if j\jsEngine
-    \RequirePackage[main=japanese]{pxbabel}[]%
-  \else
-    \RequirePackage{bxorigcapt}[]%
+\ifjsWitheTeX
+%    \end{macrocode}
+% |filehook| の機能を用いて |japanese.ldf| の読込にフックを仕込む。
+%    \begin{macrocode}
+\AtBeginOfFile{japanese.ldf}{\bxjs at begin@japanese at ldf@hook}
+\def\bxjs at begin@japanese at ldf@hook{%
+  \let\bxjs at begin@japanese at ldf@hook\relax
+  \let\bxjs at save@ProvidesLanguage\ProvidesLanguage
+  \let\bxjs at save@LdfInit\LdfInit
+  \def\ProvidesLanguage##1[##2]{\bxjs at do@japanese at ldf{##2}}%
+  \def\LdfInit##1##2{\bxjs at do@japanese at ldf{0000/00/00}}}
+%    \end{macrocode}
+% バージョンを判定する部分。
+% \Note |\LdfInit| にも細工を入れている理由は、初期の |japanese.ldf|
+% には |\ProvidesLanguage| が記述されていないため。
+%    \begin{macrocode}
+\def\bxjs at do@japanese at ldf#1{\bxjs at do@japanese at ldf@a#1\@nil}
+\def\bxjs at do@japanese at ldf@a#1/#2/#3#4#5\@nil{%
+  \let\LdfInit\bxjs at save@LdfInit
+  \ClassInfo\bxjs at clsname
+   {Release date of japanese.ldf is:\MessageBreak
+    \@spaces #1/#2/#3#4\@gobble}%
+  \ifnum#1#2#3#4<20201206 % v3.0
+    \let\bxjs at japanese@ldf at skipped=t\csuse{endinput}%
   \fi}
+\AtEndOfFile{japanese.ldf}{\bxjs at end@japanese at ldf@hook}
+\def\bxjs at end@japanese at ldf@hook{%
+  \let\bxjs at end@japanese at ldf@hook\relax
+  \let\ProvidesLanguage\bxjs at save@ProvidesLanguage
+  \let\LdfInit\bxjs at save@LdfInit
+  \ifx t\bxjs at japanese@ldf at skipped
+    \ClassWarningNoLine\bxjs at clsname
+     {Loading japanese.ldf is skipped}%
 %    \end{macrocode}
-% \end{macro}
+% ダミーの言語定義。
+%    \begin{macrocode}
+    \ifundef\l at japanese{\chardef\l at japanese\z@}{}%
+    \let\datejapanese\@empty\let\captionsjapanese\@empty
+    \let\extrasjapanese\@empty\let\noextrasjapanese\@empty
+    \main at language{japanese}%
+  \fi}
+\g at addto@macro\bxjs at begin@document at hook{%
+  \let\bxjs at begin@japanese at ldf@hook\relax
+  \let\bxjs at end@japanese at ldf@hook\relax}
+\fi
+%    \end{macrocode}
 %
 % lang対策はこれで終わり。
 %
@@ -11247,6 +11387,8 @@
 % \subsection{hyperref対策}
 %
 % |hyperref| の |unicode| オプションの固定を行う。
+% \TODO |hyperref| の開発状況を鑑みる限り、|unicode| オプションの固定処理
+% は“危険”だと思われるので、可能ならば廃止したい。
 %    \begin{macrocode}
 \if j\jsEngine
   \bxjs at fix@hyperref at unicode{false}

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls	2023-06-14 20:13:52 UTC (rev 67364)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsarticle}
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \def\bxjs at clsname{bxjsarticle}
 \newif\ifjsc at needsp@tch
@@ -80,14 +80,6 @@
 \else
   \def\bxjs at robust@def{\DeclareRobustCommand*}
 \fi
-\newif\ifjsInPdfMode
-\@nameuse{ImposeOldLuaTeXBehavior}
-\let\bxjs at tmpa\PackageWarningNoLine
-\let\PackageWarningNoLine\PackageInfo % suppress warning
-\RequirePackage{ifpdf}
-\let\PackageWarningNoLine\bxjs at tmpa
-\@nameuse{RevokeOldLuaTeXBehavior}
-\let\ifjsInPdfMode\ifpdf
 \newif\ifbxjs at explIII
 \@ifl at t@r\fmtversion{2020/02/02}{\bxjs at explIIItrue}{}
 \newif\ifbxjs at TUenc
@@ -110,6 +102,13 @@
   \expandafter\let\csname#1\endcsname}
 \def\bxjs at csletcs#1#2{%
   \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\RequirePackage{iftex}
+\newif\ifjsInPdfMode
+\@nameuse{jsInPdfMode\ifnum0%
+  \ifx\pdfoutput\@undefined\else\the\pdfoutput\fi
+  \ifx\outputmode\@undefined\else\the\outputmode\fi
+  >0 true\else false\fi}
+\ifx\pdffalse\@undefined\else \bxjs at csletcs{ifjsInPdfMode}{ifpdf}\fi
 \def\bxjs at catopt#1#2{%
   #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
 \def\bxjs at ifplus#1{\@ifnextchar+{\@firstoftwo{#1}}}
@@ -317,6 +316,7 @@
 \def\eqnarray{%
    \stepcounter{equation}%
    \def\@currentlabel{\p at equation\theequation}%
+   \def\@currentcounter{equation}%
    \global\@eqnswtrue
    \m at th
    \global\@eqcnt\z@
@@ -334,6 +334,7 @@
   \def\eqnarray{%
     \stepcounter{equation}%
     \def\@currentlabel{\p at equation\theequation}%
+    \def\@currentcounter{equation}%
     \global\@eqnswtrue\m at th
     \global\@eqcnt\z@
     \tabskip\mathindent
@@ -660,6 +661,7 @@
 \DeclareOption{nosimplejasetup}{\bxjs at depre@opt at do{nosimplejasetup}{simple-ja-setup=false}}
 \DeclareOption{simplejasetup}{\bxjs at depre@opt at do{simplejasetup}{simple-ja-setup=true}}
 \bxjs at declare@bool at option{plautopatch}{plautopatch}{false}
+\g at addto@macro\bxjs at plautopatchtrue{\let\bxjs at plautopatch@given\@undefined}
 \g at addto@macro\bxjs at plautopatchfalse{\def\bxjs at plautopatch@given{false}}
 \let\bxjs at org@removeelement\@removeelement
 \def\@removeelement#1#2#3{%
@@ -789,6 +791,9 @@
 \ifx\bxjs at driver@given\bxjs at driver@@none
   \bxjs at papersizefalse
 \fi
+\@ifpackageloaded{plautopatch}{%
+  \bxjs at plautopatchtrue
+}{}
 \def\bxjs@@minimal{minimal}
 \def\bxjs@@standard{standard}
 \def\bxjs@@pandoc{pandoc}
@@ -861,7 +866,8 @@
 \ifbxjs at oldfontcommands
   \AtEndOfClass{\allowoldfontcommands}
 \fi
-\newdimen\stockwidth \newdimen\stockheight
+\ifx\stockwidth\@undefined\newdimen\stockwidth\fi
+\ifx\stockheight\@undefined\newdimen\stockheight\fi
 \begingroup\expandafter\expandafter\expandafter\endgroup
 \expandafter\ifx\csname iftombow\expandafter\endcsname\csname iftrue\endcsname
   \setlength{\stockwidth}{\paperwidth}
@@ -2193,6 +2199,7 @@
     \splittopskip\footnotesep
     \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
     \hsize\columnwidth \@parboxrestore
+    \def\@currentcounter{footnote}%
     \protected at edef\@currentlabel{%
        \csname p at footnote\endcsname\@thefnmark
     }%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls	2023-06-14 20:13:52 UTC (rev 67364)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsbook}
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \def\bxjs at clsname{bxjsbook}
 \newif\ifjsc at needsp@tch
@@ -80,14 +80,6 @@
 \else
   \def\bxjs at robust@def{\DeclareRobustCommand*}
 \fi
-\newif\ifjsInPdfMode
-\@nameuse{ImposeOldLuaTeXBehavior}
-\let\bxjs at tmpa\PackageWarningNoLine
-\let\PackageWarningNoLine\PackageInfo % suppress warning
-\RequirePackage{ifpdf}
-\let\PackageWarningNoLine\bxjs at tmpa
-\@nameuse{RevokeOldLuaTeXBehavior}
-\let\ifjsInPdfMode\ifpdf
 \newif\ifbxjs at explIII
 \@ifl at t@r\fmtversion{2020/02/02}{\bxjs at explIIItrue}{}
 \newif\ifbxjs at TUenc
@@ -110,6 +102,13 @@
   \expandafter\let\csname#1\endcsname}
 \def\bxjs at csletcs#1#2{%
   \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\RequirePackage{iftex}
+\newif\ifjsInPdfMode
+\@nameuse{jsInPdfMode\ifnum0%
+  \ifx\pdfoutput\@undefined\else\the\pdfoutput\fi
+  \ifx\outputmode\@undefined\else\the\outputmode\fi
+  >0 true\else false\fi}
+\ifx\pdffalse\@undefined\else \bxjs at csletcs{ifjsInPdfMode}{ifpdf}\fi
 \def\bxjs at catopt#1#2{%
   #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
 \def\bxjs at ifplus#1{\@ifnextchar+{\@firstoftwo{#1}}}
@@ -323,6 +322,7 @@
 \def\eqnarray{%
    \stepcounter{equation}%
    \def\@currentlabel{\p at equation\theequation}%
+   \def\@currentcounter{equation}%
    \global\@eqnswtrue
    \m at th
    \global\@eqcnt\z@
@@ -340,6 +340,7 @@
   \def\eqnarray{%
     \stepcounter{equation}%
     \def\@currentlabel{\p at equation\theequation}%
+    \def\@currentcounter{equation}%
     \global\@eqnswtrue\m at th
     \global\@eqcnt\z@
     \tabskip\mathindent
@@ -669,6 +670,7 @@
 \DeclareOption{nosimplejasetup}{\bxjs at depre@opt at do{nosimplejasetup}{simple-ja-setup=false}}
 \DeclareOption{simplejasetup}{\bxjs at depre@opt at do{simplejasetup}{simple-ja-setup=true}}
 \bxjs at declare@bool at option{plautopatch}{plautopatch}{false}
+\g at addto@macro\bxjs at plautopatchtrue{\let\bxjs at plautopatch@given\@undefined}
 \g at addto@macro\bxjs at plautopatchfalse{\def\bxjs at plautopatch@given{false}}
 \let\bxjs at org@removeelement\@removeelement
 \def\@removeelement#1#2#3{%
@@ -798,6 +800,9 @@
 \ifx\bxjs at driver@given\bxjs at driver@@none
   \bxjs at papersizefalse
 \fi
+\@ifpackageloaded{plautopatch}{%
+  \bxjs at plautopatchtrue
+}{}
 \def\bxjs@@minimal{minimal}
 \def\bxjs@@standard{standard}
 \def\bxjs@@pandoc{pandoc}
@@ -870,7 +875,8 @@
 \ifbxjs at oldfontcommands
   \AtEndOfClass{\allowoldfontcommands}
 \fi
-\newdimen\stockwidth \newdimen\stockheight
+\ifx\stockwidth\@undefined\newdimen\stockwidth\fi
+\ifx\stockheight\@undefined\newdimen\stockheight\fi
 \begingroup\expandafter\expandafter\expandafter\endgroup
 \expandafter\ifx\csname iftombow\expandafter\endcsname\csname iftrue\endcsname
   \setlength{\stockwidth}{\paperwidth}
@@ -2298,6 +2304,7 @@
     \splittopskip\footnotesep
     \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
     \hsize\columnwidth \@parboxrestore
+    \def\@currentcounter{footnote}%
     \protected at edef\@currentlabel{%
        \csname p at footnote\endcsname\@thefnmark
     }%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty	2023-06-14 20:13:52 UTC (rev 67364)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{bxjscjkcat}
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
 \def\bxjx at pkgname{bxjscjkcat}
 \newcount\bxjx at cnta
 \@onlypreamble\bxjx at tmpdo

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty	2023-06-14 20:13:52 UTC (rev 67364)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{bxjscompat}
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
 \def\bxac at pkgname{bxjscompat}
 \let\bxac at engine=n
 \def\bxac at do#1#2{%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def	2023-06-14 20:13:52 UTC (rev 67364)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-minimal.def}
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
 %% このファイルは日本語文字を含みます
 \def\DeclareJaTextFontCommand#1#2{%
   \DeclareRobustCommand#1[1]{%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def	2023-06-14 20:13:52 UTC (rev 67364)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-modern.def}
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
 \input{bxjsja-standard.def}
 \ifnum0\if x\jsEngine1\fi\if l\jsEngine1\fi=\z@
 \def\encodingdefault{T1}%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def	2023-06-14 20:13:52 UTC (rev 67364)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-pandoc.def}
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
 \input{bxjsja-standard.def}
 \RequirePackage{bxjspandoc}
 \ifjsWitheTeX\else
@@ -84,7 +84,7 @@
 \let\bxjs at kv@orblockheading at true\bxjs at jp@or at block@headingtrue
 \let\bxjs at kv@orblockheading at false\bxjs at jp@or at block@headingfalse
 \define at key{bxjsPan}{or-block-heading}[true]{%
-  \bxjs at set@keyval{blockheading}{#1}{}}
+  \bxjs at set@keyval{orblockheading}{#1}{}}
 \def\bxjs at next#1{\bxjs at safe@setkeys{bxjsPan}{#1}}
 \expandafter\bxjs at next\expandafter{\jsJaParam}
 \@onlypreamble\bxjs at set@dupload at proc
@@ -121,7 +121,6 @@
     \bxjs at next{#3}}%
   \@firstoftwo}
 \let\bxjs at polyglossia@options\relax
-\let\bxjs at babel@options\relax
 \ifnum0\if x\jsEngine1\fi\if l\jsEngine1\fi>0
 \pandocSkipLoadPackage{polyglossia}
 \bxjs at set@dupload at proc{polyglossia.sty}{%
@@ -161,6 +160,7 @@
       \setotherlangauge{\bxjs at tmpa}}}%
   \let\bxjs at polyglossia@options\relax}%
 \fi
+\let\bxjs at babel@options\relax
 \pandocSkipLoadPackage{babel}
 \bxjs at set@dupload at proc{babel.sty}{%
   \bxjs at unset@dupload at proc{babel.sty}%
@@ -168,39 +168,52 @@
    {Package babel is requested}%
   \@tempswafalse \let\bxjs at babel@options\@empty
   \def\bxjs at tmpb{main=}%
-  \def\bxjs at next{main=japanese}%
   \@for\bxjs at tmpa:=#1\do{%
-    \ifx\bxjs at tmpa\bxjs at tmpb \@tempswatrue
-    \else\ifx\bxjs at tmpa\bxjs at next \@tempswatrue
-    \else \edef\bxjs at babel@options{\bxjs at babel@options,\bxjs at tmpa}%
-    \fi\fi}%
-  \if at tempswa
-    \ClassWarning\bxjs at clsname
-     {Main language is 'japanese', thus fallback\MessageBreak
-      definitions will be employed}%
-    \bxjs at pandoc@babel at ja
-  \else
-    \ClassWarning\bxjs at clsname
-     {Main language is not 'japanese',\MessageBreak
-      thus babel will be loaded}%
-    \bxjs at cslet{ver at babel.sty}\@undefined
-    \RequirePackage[#1]{babel}[]%
-  \fi}
+    \ifx\bxjs at tmpa\bxjs at tmpb \def\bxjs at tmpa{main=japanese}\fi
+    \edef\bxjs at babel@options{\bxjs at babel@options,\bxjs at tmpa}}%
+  \bxjs at cslet{ver at babel.sty}\@undefined
+  \edef\bxjs at next{%
+    \noexpand\RequirePackage[\bxjs at babel@options]{babel}\relax
+  }\bxjs at next
+  \RequirePackage{bxorigcapt}\relax}
 \g at addto@macro\bxjs at endpreamble@hook{%
   \ifx\bxjs at babel@options\relax
     \bxjs at cslet{ver at babel.sty}\@undefined
   \fi}
-\@onlypreamble\bxjs at pandoc@babel at ja
-\def\bxjs at pandoc@babel at ja{%
-  \bxjs at cslet{ver at babel.sty}\@undefined
-  \edef\bxjs at next{%
-    \noexpand\RequirePackage[\bxjs at babel@options,english]{babel}[]%
-  }\bxjs at next
-  \if j\jsEngine
-    \RequirePackage[main=japanese]{pxbabel}[]%
-  \else
-    \RequirePackage{bxorigcapt}[]%
+\ifjsWitheTeX
+\AtBeginOfFile{japanese.ldf}{\bxjs at begin@japanese at ldf@hook}
+\def\bxjs at begin@japanese at ldf@hook{%
+  \let\bxjs at begin@japanese at ldf@hook\relax
+  \let\bxjs at save@ProvidesLanguage\ProvidesLanguage
+  \let\bxjs at save@LdfInit\LdfInit
+  \def\ProvidesLanguage##1[##2]{\bxjs at do@japanese at ldf{##2}}%
+  \def\LdfInit##1##2{\bxjs at do@japanese at ldf{0000/00/00}}}
+\def\bxjs at do@japanese at ldf#1{\bxjs at do@japanese at ldf@a#1\@nil}
+\def\bxjs at do@japanese at ldf@a#1/#2/#3#4#5\@nil{%
+  \let\LdfInit\bxjs at save@LdfInit
+  \ClassInfo\bxjs at clsname
+   {Release date of japanese.ldf is:\MessageBreak
+    \@spaces #1/#2/#3#4\@gobble}%
+  \ifnum#1#2#3#4<20201206 % v3.0
+    \let\bxjs at japanese@ldf at skipped=t\csuse{endinput}%
   \fi}
+\AtEndOfFile{japanese.ldf}{\bxjs at end@japanese at ldf@hook}
+\def\bxjs at end@japanese at ldf@hook{%
+  \let\bxjs at end@japanese at ldf@hook\relax
+  \let\ProvidesLanguage\bxjs at save@ProvidesLanguage
+  \let\LdfInit\bxjs at save@LdfInit
+  \ifx t\bxjs at japanese@ldf at skipped
+    \ClassWarningNoLine\bxjs at clsname
+     {Loading japanese.ldf is skipped}%
+    \ifundef\l at japanese{\chardef\l at japanese\z@}{}%
+    \let\datejapanese\@empty\let\captionsjapanese\@empty
+    \let\extrasjapanese\@empty\let\noextrasjapanese\@empty
+    \main at language{japanese}%
+  \fi}
+\g at addto@macro\bxjs at begin@document at hook{%
+  \let\bxjs at begin@japanese at ldf@hook\relax
+  \let\bxjs at end@japanese at ldf@hook\relax}
+\fi
 \bxjs at set@dupload at proc{geometry.sty}{%
   \setpagelayout*{#1}}
 \if l\jsEngine

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def	2023-06-14 20:13:52 UTC (rev 67364)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-standard.def}
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
 %% このファイルは日本語文字を含みます
 \input{bxjsja-minimal.def}
 \bxjs at simplejasetupfalse
@@ -405,11 +405,29 @@
 \bxjs at g@tmpa
 \ifbxjs at hyperref@enc
   \bxjs at check@hyperref at unicode{false}
-  \ifjsWithupTeX\ifbxjs at old@hook at system\else
-    \IfFileExists{pxjahyper-uni.def}{%
-      \AddToHook{\bxjs at CGHN{package/hyperref/after}}{\input{pxjahyper-uni.def}}
-    }{}
-  \fi\fi
+  \@ifpackagelater{plautopatch}{2020/05/25}{% v0.9g
+    \let\bxjs at plautopatch@new=t}{}
+  \let\bxjs at avail@hy at unicode=f
+  \if \ifx t\bxjs at plautopatch@new T%
+      \else\ifbxjs at old@hook at system F\else T\fi\fi T%
+    \IfFileExists{pxjahyper-uni.def}{\let\bxjs at avail@hy at unicode=t}{}
+  \fi
+  \if t\bxjs at avail@hy at unicode
+    \ifjsWithupTeX
+      \ifbxjs at old@hook at system\else
+        \AddToHook{\bxjs at CGHN{package/hyperref/after}}{%
+          \input{pxjahyper-uni.def}}
+      \fi
+    \else
+      \let\bxjs at avail@hy at unicode=f
+      \ifx t\bxjs at plautopatch@new
+        \@ifl at t@r\fmtversion{2023/06/01}{\let\bxjs at avail@hy at unicode=t}{}
+      \fi
+    \fi
+  \fi
+  \if f\bxjs at avail@hy at unicode
+    \PassOptionsToPackage{unicode=false}{hyperref}
+  \fi
 \fi
 \if \ifx\bxjs at driver@given\bxjs at driver@@dvipdfmx T%
     \else\ifjsWithpTeXng T\else F\fi\fi T%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjspandoc.sty	2023-06-14 20:13:52 UTC (rev 67364)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{bxjspandoc}
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \def\bxjsp at pkgname{bxjscjkcat}
 \let\bxjsp at engine=n

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls	2023-06-14 20:13:52 UTC (rev 67364)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsreport}
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \def\bxjs at clsname{bxjsreport}
 \newif\ifjsc at needsp@tch
@@ -80,14 +80,6 @@
 \else
   \def\bxjs at robust@def{\DeclareRobustCommand*}
 \fi
-\newif\ifjsInPdfMode
-\@nameuse{ImposeOldLuaTeXBehavior}
-\let\bxjs at tmpa\PackageWarningNoLine
-\let\PackageWarningNoLine\PackageInfo % suppress warning
-\RequirePackage{ifpdf}
-\let\PackageWarningNoLine\bxjs at tmpa
-\@nameuse{RevokeOldLuaTeXBehavior}
-\let\ifjsInPdfMode\ifpdf
 \newif\ifbxjs at explIII
 \@ifl at t@r\fmtversion{2020/02/02}{\bxjs at explIIItrue}{}
 \newif\ifbxjs at TUenc
@@ -110,6 +102,13 @@
   \expandafter\let\csname#1\endcsname}
 \def\bxjs at csletcs#1#2{%
   \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\RequirePackage{iftex}
+\newif\ifjsInPdfMode
+\@nameuse{jsInPdfMode\ifnum0%
+  \ifx\pdfoutput\@undefined\else\the\pdfoutput\fi
+  \ifx\outputmode\@undefined\else\the\outputmode\fi
+  >0 true\else false\fi}
+\ifx\pdffalse\@undefined\else \bxjs at csletcs{ifjsInPdfMode}{ifpdf}\fi
 \def\bxjs at catopt#1#2{%
   #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
 \def\bxjs at ifplus#1{\@ifnextchar+{\@firstoftwo{#1}}}
@@ -323,6 +322,7 @@
 \def\eqnarray{%
    \stepcounter{equation}%
    \def\@currentlabel{\p at equation\theequation}%
+   \def\@currentcounter{equation}%
    \global\@eqnswtrue
    \m at th
    \global\@eqcnt\z@
@@ -340,6 +340,7 @@
   \def\eqnarray{%
     \stepcounter{equation}%
     \def\@currentlabel{\p at equation\theequation}%
+    \def\@currentcounter{equation}%
     \global\@eqnswtrue\m at th
     \global\@eqcnt\z@
     \tabskip\mathindent
@@ -668,6 +669,7 @@
 \DeclareOption{nosimplejasetup}{\bxjs at depre@opt at do{nosimplejasetup}{simple-ja-setup=false}}
 \DeclareOption{simplejasetup}{\bxjs at depre@opt at do{simplejasetup}{simple-ja-setup=true}}
 \bxjs at declare@bool at option{plautopatch}{plautopatch}{false}
+\g at addto@macro\bxjs at plautopatchtrue{\let\bxjs at plautopatch@given\@undefined}
 \g at addto@macro\bxjs at plautopatchfalse{\def\bxjs at plautopatch@given{false}}
 \let\bxjs at org@removeelement\@removeelement
 \def\@removeelement#1#2#3{%
@@ -797,6 +799,9 @@
 \ifx\bxjs at driver@given\bxjs at driver@@none
   \bxjs at papersizefalse
 \fi
+\@ifpackageloaded{plautopatch}{%
+  \bxjs at plautopatchtrue
+}{}
 \def\bxjs@@minimal{minimal}
 \def\bxjs@@standard{standard}
 \def\bxjs@@pandoc{pandoc}
@@ -869,7 +874,8 @@
 \ifbxjs at oldfontcommands
   \AtEndOfClass{\allowoldfontcommands}
 \fi
-\newdimen\stockwidth \newdimen\stockheight
+\ifx\stockwidth\@undefined\newdimen\stockwidth\fi
+\ifx\stockheight\@undefined\newdimen\stockheight\fi
 \begingroup\expandafter\expandafter\expandafter\endgroup
 \expandafter\ifx\csname iftombow\expandafter\endcsname\csname iftrue\endcsname
   \setlength{\stockwidth}{\paperwidth}
@@ -2320,6 +2326,7 @@
     \splittopskip\footnotesep
     \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
     \hsize\columnwidth \@parboxrestore
+    \def\@currentcounter{footnote}%
     \protected at edef\@currentlabel{%
        \csname p at footnote\endcsname\@thefnmark
     }%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls	2023-06-14 20:13:32 UTC (rev 67363)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls	2023-06-14 20:13:52 UTC (rev 67364)
@@ -22,7 +22,7 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsslide}
-  [2022/04/10 v2.7a BXJS document classes]
+  [2023/06/14 v2.8  BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \def\bxjs at clsname{bxjsslide}
 \newif\ifjsc at needsp@tch
@@ -80,14 +80,6 @@
 \else
   \def\bxjs at robust@def{\DeclareRobustCommand*}
 \fi
-\newif\ifjsInPdfMode
-\@nameuse{ImposeOldLuaTeXBehavior}
-\let\bxjs at tmpa\PackageWarningNoLine
-\let\PackageWarningNoLine\PackageInfo % suppress warning
-\RequirePackage{ifpdf}
-\let\PackageWarningNoLine\bxjs at tmpa
-\@nameuse{RevokeOldLuaTeXBehavior}
-\let\ifjsInPdfMode\ifpdf
 \newif\ifbxjs at explIII
 \@ifl at t@r\fmtversion{2020/02/02}{\bxjs at explIIItrue}{}
 \newif\ifbxjs at TUenc
@@ -110,6 +102,13 @@
   \expandafter\let\csname#1\endcsname}
 \def\bxjs at csletcs#1#2{%
   \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname}
+\RequirePackage{iftex}
+\newif\ifjsInPdfMode
+\@nameuse{jsInPdfMode\ifnum0%
+  \ifx\pdfoutput\@undefined\else\the\pdfoutput\fi
+  \ifx\outputmode\@undefined\else\the\outputmode\fi
+  >0 true\else false\fi}
+\ifx\pdffalse\@undefined\else \bxjs at csletcs{ifjsInPdfMode}{ifpdf}\fi
 \def\bxjs at catopt#1#2{%
   #1\if\relax#1\relax\else\if\relax#2\relax\else,\fi\fi#2}
 \def\bxjs at ifplus#1{\@ifnextchar+{\@firstoftwo{#1}}}
@@ -317,6 +316,7 @@
 \def\eqnarray{%
    \stepcounter{equation}%
    \def\@currentlabel{\p at equation\theequation}%
+   \def\@currentcounter{equation}%
    \global\@eqnswtrue
    \m at th
    \global\@eqcnt\z@
@@ -334,6 +334,7 @@
   \def\eqnarray{%
     \stepcounter{equation}%
     \def\@currentlabel{\p at equation\theequation}%
+    \def\@currentcounter{equation}%
     \global\@eqnswtrue\m at th
     \global\@eqcnt\z@
     \tabskip\mathindent
@@ -660,6 +661,7 @@
 \DeclareOption{nosimplejasetup}{\bxjs at depre@opt at do{nosimplejasetup}{simple-ja-setup=false}}
 \DeclareOption{simplejasetup}{\bxjs at depre@opt at do{simplejasetup}{simple-ja-setup=true}}
 \bxjs at declare@bool at option{plautopatch}{plautopatch}{false}
+\g at addto@macro\bxjs at plautopatchtrue{\let\bxjs at plautopatch@given\@undefined}
 \g at addto@macro\bxjs at plautopatchfalse{\def\bxjs at plautopatch@given{false}}
 \let\bxjs at org@removeelement\@removeelement
 \def\@removeelement#1#2#3{%
@@ -789,6 +791,9 @@
 \ifx\bxjs at driver@given\bxjs at driver@@none
   \bxjs at papersizefalse
 \fi
+\@ifpackageloaded{plautopatch}{%
+  \bxjs at plautopatchtrue
+}{}
 \def\bxjs@@minimal{minimal}
 \def\bxjs@@standard{standard}
 \def\bxjs@@pandoc{pandoc}
@@ -861,7 +866,8 @@
 \ifbxjs at oldfontcommands
   \AtEndOfClass{\allowoldfontcommands}
 \fi
-\newdimen\stockwidth \newdimen\stockheight
+\ifx\stockwidth\@undefined\newdimen\stockwidth\fi
+\ifx\stockheight\@undefined\newdimen\stockheight\fi
 \begingroup\expandafter\expandafter\expandafter\endgroup
 \expandafter\ifx\csname iftombow\expandafter\endcsname\csname iftrue\endcsname
   \setlength{\stockwidth}{\paperwidth}
@@ -2191,6 +2197,7 @@
     \splittopskip\footnotesep
     \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
     \hsize\columnwidth \@parboxrestore
+    \def\@currentcounter{footnote}%
     \protected at edef\@currentlabel{%
        \csname p at footnote\endcsname\@thefnmark
     }%



More information about the tex-live-commits mailing list.