summaryrefslogtreecommitdiff
path: root/language/japanese/BX/bxjscls/bxjscls.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'language/japanese/BX/bxjscls/bxjscls.dtx')
-rw-r--r--language/japanese/BX/bxjscls/bxjscls.dtx41
1 files changed, 36 insertions, 5 deletions
diff --git a/language/japanese/BX/bxjscls/bxjscls.dtx b/language/japanese/BX/bxjscls/bxjscls.dtx
index 84ea99b549..5d3a66f964 100644
--- a/language/japanese/BX/bxjscls/bxjscls.dtx
+++ b/language/japanese/BX/bxjscls/bxjscls.dtx
@@ -56,7 +56,8 @@
%<*driver>
\ProvidesFile{bxjscls.dtx}
%</driver>
- [2020/09/22 v2.2a BXJS document classes]
+ [2020/09/29 v2.2b BXJS document classes]
+% [2020/09/22 v2.2a BXJS document classes]
% [2020/09/04 v2.2 BXJS document classes]
% [2020/05/28 v2.1 BXJS document classes]
% [2020/04/04 v2.0a BXJS document classes]
@@ -3488,6 +3489,17 @@
% \paragraph{geometry パッケージを読み込む \ZRX}
% \mbox{}
% \begin{ZRnote}
+% ムニャムニャ。
+% \begin{macrocode}
+\def\bxjs@geometry@name{geometry}
+\ifx\AddToHook\@undefined
+ \let\bxjs@apply@bd@pre@geometry@hook\AtBeginDocument
+\else
+ \def\bxjs@apply@bd@pre@geometry@hook{%
+ \AddToHook{begindocument}[\bxjs@geometry@name]}
+\fi
+% \end{macrocode}
+%
% |geoemtry=class| の場合に、実際に |geometry| パッケージを読みこむ。
% \begin{macrocode}
\ifx\bxjs@geometry\bxjs@geometry@class
@@ -3516,13 +3528,14 @@
% \Note |geometry| のbegin-documentフックにおいて、Lua{\TeX}の
% 旧版互換を有効にする。
% \begin{macrocode}
-\AtBeginDocument{\bxjs@bd@pre@geometry@hook}
-\AtBeginDocument{\ImposeOldLuaTeXBehavior}
+\bxjs@apply@bd@pre@geometry@hook
+\bxjs@apply@bd@pre@geometry@hook{\bxjs@bd@pre@geometry@hook}
+\bxjs@apply@bd@pre@geometry@hook{\ImposeOldLuaTeXBehavior}
\bxjs@preproc@layout
\edef\bxjs@next{%
\noexpand\RequirePackage[\bxjs@layout@paper,\bxjs@layout]{geometry}%
}\bxjs@next
-\AtBeginDocument{\RevokeOldLuaTeXBehavior}
+\bxjs@apply@bd@pre@geometry@hook{\RevokeOldLuaTeXBehavior}
% \end{macrocode}
%
% \begin{macro}{\bxjs@geometry@driver}
@@ -4562,7 +4575,7 @@
% |\title| にフックを入れる。
% \begin{macrocode}
\renewcommand*{\title}[1]{\bxjs@decl@subtitle\gdef\@title{#1}}
-\AtBeginDocument{\bxjs@decl@subtitle}
+\g@addto@macro\bxjs@begin@document@hook{\bxjs@decl@subtitle}
\def\bxjs@decl@subtitle{%
\global\let\bxjs@decl@subtitle\relax
\ifx\subtitle\@undefined
@@ -9525,6 +9538,12 @@
% DVIのなるべく早い位置にspecialを出力する。
% \begin{macrocode}
\@onlypreamble\bxjs@urgent@special
+\@onlypreamble\bxjs@urgent@special@a
+% \end{macrocode}
+% {\LaTeX}カーネルの新フック管理が導入済かを調べる。
+% 未導入の古い版である場合。
+% \begin{macrocode}
+\ifx\AddToHook\@undefined
\def\bxjs@urgent@special#1{%
\AtBeginDvi{\special{#1}}%
\g@addto@macro\bxjs@begin@document@hook{%
@@ -9538,6 +9557,18 @@
}%
}
% \end{macrocode}
+% 導入済の場合。
+% \Note 自分が先行する必要がある対象のパッケージを適宜追加する。
+% \begin{macrocode}
+\else
+ \def\bxjs@urgent@special#1{%
+ \bxjs@urgent@special@a
+ \AddToHook{shipout/firstpage}[./urgent]{\special{#1}}}
+ \def\bxjs@urgent@special@a{%
+ \DeclareHookRule{shipout/firstpage}{./urgent}{<}{hyperref}%
+ \global\let\bxjs@urgent@special@a\relax}
+\fi
+% \end{macrocode}
% \end{macro}
%
%^^A----------------