summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-10-17 21:02:14 +0000
committerKarl Berry <karl@freefriends.org>2020-10-17 21:02:14 +0000
commit707f629e14e56b9e7b47522033f588c210c34cbb (patch)
tree8980cf90122d9ee89a81bd04044ca7cc41827a43 /Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
parent0e5e2f0d8a0472c17785e552e27fa41b0930c74c (diff)
bxjscls (17oct20)
git-svn-id: svn://tug.org/texlive/trunk@56686 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls')
-rw-r--r--Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls276
1 files changed, 138 insertions, 138 deletions
diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
index c12704d5459..d5222dbe4ef 100644
--- a/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
+++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bxjsreport}
- [2020/10/10 v2.3 BXJS document classes]
+ [2020/10/16 v2.4 BXJS document classes]
%% このファイルは日本語文字を含みます.
\def\bxjs@clsname{bxjsreport}
\newif\ifjsc@needsp@tch
@@ -186,13 +186,18 @@
\newif\if@enablejfam \@enablejfamfalse
\@onlypreamble\bxjs@setpaper
\def\bxjs@setpaper#1{\def\bxjs@param@paper{#1}}
+\newif\ifbxjs@iso@bsize
+\DeclareOption{iso-bsize}{\bxjs@iso@bsizetrue}
+\@onlypreamble\bxjs@setpaper@bsize
+\def\bxjs@setpaper@bsize#1{\edef\bxjs@param@paper{%
+ b#1\ifbxjs@iso@bsize paper\else j\fi}}
\DeclareOption{a3paper}{\bxjs@setpaper{a3paper}}
\DeclareOption{a4paper}{\bxjs@setpaper{a4paper}}
\DeclareOption{a5paper}{\bxjs@setpaper{a5paper}}
\DeclareOption{a6paper}{\bxjs@setpaper{a6paper}}
-\DeclareOption{b4paper}{\bxjs@setpaper{b4j}}
-\DeclareOption{b5paper}{\bxjs@setpaper{b5j}}
-\DeclareOption{b6paper}{\bxjs@setpaper{b6j}}
+\DeclareOption{b4paper}{\bxjs@setpaper@bsize{4}}
+\DeclareOption{b5paper}{\bxjs@setpaper@bsize{5}}
+\DeclareOption{b6paper}{\bxjs@setpaper@bsize{6}}
\DeclareOption{a4j}{\bxjs@setpaper{a4paper}}
\DeclareOption{a5j}{\bxjs@setpaper{a5paper}}
\DeclareOption{b4j}{\bxjs@setpaper{b4j}}
@@ -202,19 +207,16 @@
\DeclareOption{letterpaper}{\bxjs@setpaper{letterpaper}}
\DeclareOption{legalpaper}{\bxjs@setpaper{legalpaper}}
\DeclareOption{executivepaper}{\bxjs@setpaper{executivepaper}}
-\def\bxjs@tmpb#1#2{\DeclareOption{#1}{\bxjs@setpaper{#2}}}
\@for\bxjs@tmpa:={%
a0,a1,a2,c0,c1,c2,c3,c4,c5,c6,ansia,ansib,ansic,ansid,ansie%
}\do{\edef\bxjs@next{%
- \noexpand\bxjs@tmpb{\bxjs@tmpa paper}{\bxjs@tmpa paper}%
+ \noexpand\DeclareOption{\bxjs@tmpa paper}%
+ {\noexpand\bxjs@setpaper{\bxjs@tmpa paper}}%
}\bxjs@next}
-\bxjs@tmpb{screen}{screen}
+\DeclareOption{screen}{\bxjs@setpaper{screen}}
\@for\bxjs@tmpa:={0,1,2,3}\do{\edef\bxjs@next{%
- \noexpand\bxjs@tmpb{b\bxjs@tmpa paper}{b\bxjs@tmpa j}%
-}\bxjs@next}
-\@for\bxjs@tmpa:={0,1,2,3,4,5,6}\do{\edef\bxjs@next{%
- \noexpand\bxjs@tmpb{A\bxjs@tmpa paper}{a\bxjs@tmpa paper}%
- \noexpand\bxjs@tmpb{B\bxjs@tmpa paper}{b\bxjs@tmpa paper}%
+ \noexpand\DeclareOption{b\bxjs@tmpa paper}%
+ {\noexpand\bxjs@setpaper@bsize{\bxjs@tmpa}}%
}\bxjs@next}
\DeclareOption{a4varpaper}{\bxjs@setpaper{{210truemm}{283truemm}}}
\DeclareOption{b5varpaper}{\bxjs@setpaper{{182truemm}{230truemm}}}
@@ -258,9 +260,9 @@
\DeclareOption{10.5ptj}{\bxjs@setjbasefontsize{10.5pt}}
\DeclareOption{11ptj}{\bxjs@setjbasefontsize{11pt}}
\DeclareOption{12ptj}{\bxjs@setjbasefontsize{12pt}}
-\DeclareOption{usemag}{\let\bxjs@magstyle\bxjs@magstyle@usemag}
-\DeclareOption{nomag}{\let\bxjs@magstyle\bxjs@magstyle@nomag}
-\DeclareOption{nomag*}{\let\bxjs@magstyle\bxjs@magstyle@xreal}
+\DeclareOption{usemag}{\let\bxjs@magstyle\bxjs@magstyle@@usemag}
+\DeclareOption{nomag}{\let\bxjs@magstyle\bxjs@magstyle@@nomag}
+\DeclareOption{nomag*}{\let\bxjs@magstyle\bxjs@magstyle@@xreal}
\if j\jsEngine
\hour\time \divide\hour by 60\relax
\@tempcnta\hour \multiply\@tempcnta 60\relax
@@ -379,12 +381,22 @@
\xdef\bxjs@gtmpa{\the\@tempdimb}%
\endgroup #1=\bxjs@gtmpa\relax}
\DeclareOption{pandoc}{%
+ \bxjs@apply@pandoc@opt}
+\@onlypreamble\bxjs@apply@pandoc@opt
+\def\bxjs@apply@pandoc@opt{%
\g@addto@macro\bxjs@post@option@hook{%
\bxjs@oldfontcommandstrue
\setkeys{bxjs}{ja=pandoc}%
\let\bxjs@engine@given=*}%
- \def\bxjs@driver@opt{dvipdfmx}%
- \bxjs@dvi@opttrue}
+ \ifx\bxjs@driver@opt\@undefined
+ \def\bxjs@driver@opt{dvipdfmx}%
+ \bxjs@dvi@opttrue
+ \fi
+ \global\let\bxjs@apply@pandoc@opt\relax}
+\DeclareOption{pandoc+}{%
+ \g@addto@macro\bxjs@post@option@hook{%
+ \edef\jsJaParam{\bxjs@catopt{_plus}\jsJaParam}}%
+ \ExecuteOptions{pandoc}}
\DeclareOption{autodetect-engine}{%
\let\bxjs@engine@given=*}
\DeclareOption{latex}{%
@@ -442,13 +454,18 @@
\DeclareOption{xetex}{%
\def\bxjs@driver@opt{xetex}%
\let\bxjs@driver@given\bxjs@driver@@xetex}
-\DeclareOption{dvipdfmx-if-dvi}{%
+\DeclareOption{dvipdfmx-if-dvi}{\bxjs@depre@opt@do{dvipdfmx-if-dvi}{dvi=dvipdfmx}}
+\@onlypreamble\bxjs@depre@opt
+\def\bxjs@depre@opt#1#2{%
\ClassWarningNoLine\bxjs@clsname
- {The old option 'dvipdfmx-if-dvi' is DEPRECATED\MessageBreak
+ {The old option '#1' is DEPRECATED\MessageBreak
and may be abolished in future!\MessageBreak
- You should write 'dvi=dvipdfmx' instead}%
- \setkeys{bxjs}{dvi=dvipdfmx}}
-
+ You should instead write:\MessageBreak
+ \space\space #2}}
+\@onlypreamble\bxjs@depre@opt@do
+\def\bxjs@depre@opt@do#1#2{%
+ \bxjs@depre@opt{#1}{#2}%
+ \setkeys{bxjs}{#2}}
\newif\ifbxjs@bigcode \bxjs@bigcodetrue
\DeclareOption{nobigcode}{%
\bxjs@bigcodefalse}
@@ -479,21 +496,24 @@
\setkeys{#1}{#2}%
\let\KV@errx\bxjs@save@KV@errx}
\@onlypreamble\bxjs@declare@enum@option
-\def\bxjs@declare@enum@option#1#2{%
+\def\bxjs@declare@enum@option#1#2#3{%
+ \bxjs@csletcs{bxjs@#2}{bxjs@#2@@#3}%
\define@key{bxjs}{#1}{%
\expandafter\ifx\csname bxjs@#2@@##1\endcsname\relax
\bxjs@error@keyval{#1}{##1}%
\else \bxjs@csletcs{bxjs@#2}{bxjs@#2@@##1}%
\fi}}
\@onlypreamble\bxjs@declare@bool@option
-\def\bxjs@declare@bool@option#1#2{%
+\def\bxjs@declare@bool@option#1#2#3{%
+ \csname newif\expandafter\endcsname\csname ifbxjs@#2\endcsname
+ \@nameuse{bxjs@#2#3}%
\define@key{bxjs}{#1}[true]{%
\expandafter\ifx\csname bxjs@#2##1\endcsname\relax
\bxjs@error@keyval{#1}{##1}%
\else \@nameuse{bxjs@#2##1}%
\fi}}
\def\bxjs@set@keyval#1#2#3{%
- \expandafter\let\expandafter\bxjs@next\csname bxjs@kv@#1@#2\endcsname
+ \bxjs@csletcs{bxjs@next}{bxjs@kv@#1@#2}%
\ifx\bxjs@next\relax
\bxjs@error@keyval{#1}{#2}%
#3%
@@ -514,56 +534,50 @@
\edef\bxjs@scale@opt{#1}%
\let\jsScale\bxjs@scale@opt}
\define@key{bxjs}{jafontscale}{\setkeys{bxjs}{scale=#1}}
-\DeclareOption{noscale}{\setkeys{bxjs}{scale=1}}
+\DeclareOption{noscale}{\bxjs@depre@opt@do{noscale}{scale=1}}
\let\bxjs@param@mag\relax
\define@key{bxjs}{mag}{\edef\bxjs@param@mag{#1}}
\define@key{bxjs}{paper}{\edef\bxjs@param@paper{#1}}
\let\bxjs@jadriver\relax
-\define@key{bxjs}{jadriver}{\edef\bxjs@jadriver@opt{#1}}
+\define@key{bxjs}{jadriver}{%
+ \bxjs@depre@opt{jadriver}{ja=#1}\edef\bxjs@jadriver@opt{#1}}
\define@key{bxjs}{ja}[\relax]{%
\ifx\relax#1\else\edef\bxjs@jadriver@opt{#1}\fi}
\let\jsJaFont\@empty
\define@key{bxjs}{jafont}{\edef\jsJaFont{#1}}
\let\jsJaParam\@empty
-\define@key{bxjs}{japaram}{\edef\jsJaParam{#1}}
-\let\bxjs@magstyle@mag=m
-\let\bxjs@magstyle@real=r
-\let\bxjs@magstyle@xreal=x
-\let\bxjs@magstyle@usemag\bxjs@magstyle@mag
-\let\bxjs@magstyle@nomag\bxjs@magstyle@real
-\expandafter\let\csname bxjs@magstyle@nomag*\endcsname\bxjs@magstyle@xreal
-\let\bxjs@magstyle@default\bxjs@magstyle@usemag
+\define@key{bxjs}{japaram}{%
+ \edef\jsJaParam{\bxjs@catopt\jsJaParam{#1}}}
+\define@key{bxjs}{pandoc}[]{%
+ \ExecuteOptions{pandoc}%
+ \edef\jsJaParam{\bxjs@catopt\jsJaParam{#1}}}
+\define@key{bxjs}{pandoc+}[]{%
+ \ExecuteOptions{pandoc+}%
+ \edef\jsJaParam{\bxjs@catopt\jsJaParam{#1}}}
+\let\bxjs@magstyle@@mag=m
+\let\bxjs@magstyle@@real=r
+\let\bxjs@magstyle@@xreal=x
+\let\bxjs@magstyle@@usemag\bxjs@magstyle@@mag
+\let\bxjs@magstyle@@nomag\bxjs@magstyle@@real
+\bxjs@cslet{bxjs@magstyle@@nomag*}\bxjs@magstyle@@xreal
+\let\bxjs@magstyle@@default\bxjs@magstyle@@usemag
\ifx l\jsEngine \ifnum\luatexversion>86
- \let\bxjs@magstyle@default\bxjs@magstyle@xreal
+ \let\bxjs@magstyle@@default\bxjs@magstyle@@xreal
\fi\fi
\ifjsWithpTeXng
- \let\bxjs@magstyle@default\bxjs@magstyle@xreal
+ \let\bxjs@magstyle@@default\bxjs@magstyle@@xreal
\fi
-\let\bxjs@magstyle\bxjs@magstyle@default
+\let\bxjs@magstyle\bxjs@magstyle@@default
\define@key{bxjs}{magstyle}{%
- \expandafter\let\expandafter\bxjs@magstyle\csname
- bxjs@magstyle@#1\endcsname
+ \bxjs@csletcs{bxjs@magstyle}{bxjs@magstyle@@#1}%
\ifx\bxjs@magstyle\relax
- \ClassError\bxjs@clsname
- {Invalid value '#1' for option magstyle}\@ehc
- \let\bxjs@magstyle\bxjs@magstyle@default
- \fi}
-\let\bxjs@geometry@class=c
-\let\bxjs@geometry@user=u
-\let\bxjs@geometry\bxjs@geometry@class
-\define@key{bxjs}{geometry}{%
- \expandafter\let\expandafter\bxjs@geometry\csname
- bxjs@geometry@#1\endcsname
- \ifx\bxjs@geometry\relax
- \ClassError\bxjs@clsname
- {Invalid value '#1' for option geometry}\@ehc
- \let\bxjs@geometry\bxjs@geometry@class
+ \bxjs@error@keyval{magstyle}{#1}%
+ \let\bxjs@magstyle\bxjs@magstyle@@default
\fi}
-\newif\ifbxjs@fancyhdr \bxjs@fancyhdrtrue
-\let\bxjs@kv@fancyhdr@true\bxjs@fancyhdrtrue
-\let\bxjs@kv@fancyhdr@false\bxjs@fancyhdrfalse
-\define@key{bxjs}{fancyhdr}[true]{%
- \bxjs@set@keyval{fancyhdr}{#1}{}}
+\let\bxjs@geometry@@class=c
+\let\bxjs@geometry@@user=u
+\bxjs@declare@enum@option{geometry}{geometry}{class}
+\bxjs@declare@bool@option{fancyhdr}{fancyhdr}{true}
\newif\ifbxjs@dvi@opt
\let\bxjs@dvidriver@@dvipdfmx=\bxjs@driver@@dvipdfmx
\let\bxjs@dvidriver@@dvips=\bxjs@driver@@dvips
@@ -571,11 +585,9 @@
\let\bxjs@dvidriver@@xdvi=\bxjs@driver@@dvimode
\let\bxjs@dvidriver@@nodvidriver=\bxjs@driver@@none
\define@key{bxjs}{dvi}{%
- \expandafter\let\expandafter\bxjs@tmpa\csname
- bxjs@dvidriver@@#1\endcsname
+ \bxjs@csletcs{bxjs@tmpa}{bxjs@dvidriver@@#1}%
\ifx\bxjs@tmpa\relax
- \ClassError\bxjs@clsname
- {Invalid value '#1' for option dvi}\@ehc
+ \bxjs@error@keyval{dvi}{#1}%
\else
\def\bxjs@driver@opt{#1}%
\let\bxjs@driver@given\@undefined
@@ -592,6 +604,7 @@
\define@key{bxjs}{layout}{%
\bxjs@set@keyval{layout}{#1}{}}
\define@key{bxjs}{textwidth-limit}{%
+ \bxjs@depre@opt{textwidth-limit}{textwidth=#1zw}%
\edef\bxjs@textwidth@limit@opt{#1}}
\define@key{bxjs}{textwidth}{\edef\bxjs@textwidth@opt{#1}}
\define@key{bxjs}{line_length}{\setkeys{bxjs}{textwidth=#1}}
@@ -599,59 +612,32 @@
\define@key{bxjs}{number_of_lines}{\setkeys{bxjs}{number-of-lines=#1}}
\define@key{bxjs}{paragraph-mark}{%
\edef\bxjs@paragraph@mark{#1}}
-\newif\ifbxjs@whole@zw@lines \bxjs@whole@zw@linestrue
-\let\bxjs@kv@wholezwlines@true\bxjs@whole@zw@linestrue
-\let\bxjs@kv@wholezwlines@false\bxjs@whole@zw@linesfalse
-\define@key{bxjs}{whole-zw-lines}[true]{\bxjs@set@keyval{wholezwlines}{#1}{}}
-\newif\ifbxjs@jaspace@cmd \bxjs@jaspace@cmdtrue
-\let\bxjs@kv@jaspacecmd@true\bxjs@jaspace@cmdtrue
-\let\bxjs@kv@jaspacecmd@false\bxjs@jaspace@cmdfalse
-\define@key{bxjs}{jaspace-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#1}{}}
-\define@key{bxjs}{xkanjiskip-cmd}[true]{\bxjs@set@keyval{jaspacecmd}{#1}{}}
-\newif\ifbxjs@fix@at@cmd \bxjs@fix@at@cmdtrue
-\let\bxjs@kv@fixatcmd@true\bxjs@fix@at@cmdtrue
-\let\bxjs@kv@fixatcmd@false\bxjs@fix@at@cmdfalse
-\define@key{bxjs}{fix-at-cmd}[true]{\bxjs@set@keyval{fixatcmd}{#1}{}}
-\newif\ifbxjs@hyperref@enc \bxjs@hyperref@enctrue
-\let\bxjs@kv@hyperrefenc@true\bxjs@hyperref@enctrue
-\let\bxjs@kv@hyperrefenc@false\bxjs@hyperref@encfalse
-\define@key{bxjs}{hyperref-enc}[true]{\bxjs@set@keyval{hyperrefenc}{#1}{}}
-\chardef\bxjs@everyparhook@none=0
-\chardef\bxjs@everyparhook@compat=1
-\chardef\bxjs@everyparhook@modern=2
-\if j\jsEngine
- \let\bxjs@everyparhook\bxjs@everyparhook@compat
-\else
- \let\bxjs@everyparhook\bxjs@everyparhook@modern
-\fi
-\def\bxjs@kv@everyparhook@none{\let\bxjs@everyparhook\bxjs@everyparhook@none}
-\def\bxjs@kv@everyparhook@compat{\let\bxjs@everyparhook\bxjs@everyparhook@compat}
-\def\bxjs@kv@everyparhook@modern{\let\bxjs@everyparhook\bxjs@everyparhook@modern}
-\define@key{bxjs}{everyparhook}{\bxjs@set@keyval{everyparhook}{#1}{}}
-\chardef\bxjs@label@section@none=0
-\chardef\bxjs@label@section@compat=1
-\chardef\bxjs@label@section@modern=2
-\let\bxjs@label@section\bxjs@label@section@compat
-\def\bxjs@kv@labelsection@none{\let\bxjs@label@section\bxjs@label@section@none}
-\def\bxjs@kv@labelsection@compat{\let\bxjs@label@section\bxjs@label@section@compat}
-\def\bxjs@kv@labelsection@modern{\let\bxjs@label@section\bxjs@label@section@modern}
-\define@key{bxjs}{label-section}{\bxjs@set@keyval{labelsection}{#1}{}}
-\newif\ifbxjs@usezw \bxjs@usezwtrue
-\bxjs@declare@bool@option{use-zw}{usezw}
-\DeclareOption{nozw}{\setkeys{bxjs}{use-zw=false}}
-\DeclareOption{zw}{\setkeys{bxjs}{use-zw=true}}
-\newif\ifbxjs@disguise@js \bxjs@disguise@jstrue
-\bxjs@declare@bool@option{disguise-js}{disguise@js}
-\DeclareOption{nojs}{\setkeys{bxjs}{disguise-js=false}}
-\DeclareOption{js}{\setkeys{bxjs}{disguise-js=true}}
-\newif\ifbxjs@precisetext
-\bxjs@declare@bool@option{precise-text}{precisetext}
-\DeclareOption{noprecisetext}{\setkeys{bxjs}{precise-text=false}}
-\DeclareOption{precisetext}{\setkeys{bxjs}{precise-text=true}}
-\newif\ifbxjs@simplejasetup \bxjs@simplejasetuptrue
-\bxjs@declare@bool@option{simple-ja-setup}{simplejasetup}
-\DeclareOption{nosimplejasetup}{\setkeys{bxjs}{simple-ja-setup=false}}
-\DeclareOption{simplejasetup}{\setkeys{bxjs}{simple-ja-setup=true}}
+\bxjs@declare@bool@option{whole-zw-lines}{whole@zw@lines}{true}
+\bxjs@declare@bool@option{jaspace-cmd}{jaspace@cmd}{true}
+\define@key{bxjs}{xkanjiskip-cmd}[true]{\setkeys{bxjs}{jaspace-cmd=#1}}
+\bxjs@declare@bool@option{fix-at-cmd}{fix@at@cmd}{true}
+\bxjs@declare@bool@option{hyperref-enc}{hyperref@enc}{true}
+\chardef\bxjs@everyparhook@@none=0
+\chardef\bxjs@everyparhook@@compat=1
+\chardef\bxjs@everyparhook@@modern=2
+\bxjs@declare@enum@option{everyparhook}{everyparhook}{%
+ \if j\jsEngine compat\else modern\fi}
+\chardef\bxjs@label@section@@none=0
+\chardef\bxjs@label@section@@compat=1
+\chardef\bxjs@label@section@@modern=2
+\bxjs@declare@enum@option{label-section}{label@section}{compat}
+\bxjs@declare@bool@option{use-zw}{usezw}{true}
+\DeclareOption{nozw}{\bxjs@depre@opt@do{nozw}{use-zw=false}}
+\DeclareOption{zw}{\bxjs@depre@opt@do{zw}{use-zw=true}}
+\bxjs@declare@bool@option{disguise-js}{disguise@js}{true}
+\DeclareOption{nojs}{\bxjs@depre@opt@do{nojs}{disguise-js=false}}
+\DeclareOption{js}{\bxjs@depre@opt@do{js}{disguise-js=true}}
+\bxjs@declare@bool@option{precise-text}{precisetext}{false}
+\DeclareOption{noprecisetext}{\bxjs@depre@opt@do{noprecisetext}{precise-text=false}}
+\DeclareOption{precisetext}{\bxjs@depre@opt@do{precisetext}{precise-text=true}}
+\bxjs@declare@bool@option{simple-ja-setup}{simplejasetup}{true}
+\DeclareOption{nosimplejasetup}{\bxjs@depre@opt@do{nosimplejasetup}{simple-ja-setup=false}}
+\DeclareOption{simplejasetup}{\bxjs@depre@opt@do{simplejasetup}{simple-ja-setup=true}}
\let\bxjs@org@removeelement\@removeelement
\def\@removeelement#1#2#3{%
\def\reserved@a{#2}%
@@ -794,9 +780,9 @@
{When you use a Japanese-driver you must specify a correct\MessageBreak
engine option.\MessageBreak\@ehc}
\fi\fi
-\ifx\bxjs@magstyle@default\bxjs@magstyle@mag\else
- \ifx\bxjs@magstyle\bxjs@magstyle@mag
- \let\bxjs@magstyle\bxjs@magstyle@default
+\ifx\bxjs@magstyle@@default\bxjs@magstyle@@mag\else
+ \ifx\bxjs@magstyle\bxjs@magstyle@@mag
+ \let\bxjs@magstyle\bxjs@magstyle@@default
\ClassError\bxjs@clsname
{The engine does not support 'magstyle=usemag'}%
{LuaTeX v0.87 or later no longer supports the "mag" feature of TeX.\MessageBreak
@@ -845,9 +831,9 @@
\fi
\ifdim\bxjs@param@basefontsize<10pt \def\n@baseline{15}%
\else \def\n@baseline{16}\fi
-\ifx\bxjs@magstyle\bxjs@magstyle@mag
+\ifx\bxjs@magstyle\bxjs@magstyle@@mag
\jsc@magtrue
-\else\ifx\bxjs@magstyle\bxjs@magstyle@xreal
+\else\ifx\bxjs@magstyle\bxjs@magstyle@@xreal
\jsc@mag@xrealtrue
\fi\fi
\ifx\bxjs@param@mag\relax
@@ -1090,15 +1076,29 @@
\setlength{\topskip}{10\p@?}
\def\bxjs@unit@trueQ{0.25truemm}\let\bxjs@unit@trueH\bxjs@unit@trueQ
\def\bxjs@unit@zw{\jsZw}\let\bxjs@unit@zh\bxjs@unit@zw
-\def\bxjs@tmpdo{\futurelet\bxjs@tmpa\bxjs@tmpdo@a}
-\def\bxjs@tmpdo@a{%
- \ifx\bxjs@tmpa\bgroup \expandafter\bxjs@tmpdo@b
- \else \expandafter\bxjs@tmpdo@c \fi}
-\def\bxjs@tmpdo@b#1#2#3\@nil{\edef\bxjs@param@paper{papersize={#1,#2}}}
-\def\bxjs@tmpdo@c#1\@nil{\bxjs@tmpdo@d#1,,\@nil}
-\def\bxjs@tmpdo@d#1,#2,#3\@nil{%
- \ifx\@nil#3\@nil\else \edef\bxjs@param@paper{papersize={#1,#2}}\fi}
-\expandafter\bxjs@tmpdo\bxjs@param@paper\@empty\@empty\@nil
+\@tempswafalse
+\def\bxjs@tmpdo{\@ifnextchar\bgroup\bxjs@tmpdo@a\remove@to@nnil}
+\def\bxjs@tmpdo@a#1{\edef\bxjs@tmpa{#1}%
+ \@ifnextchar\bgroup\bxjs@tmpdo@b\remove@to@nnil}
+\def\bxjs@tmpdo@b#1{\edef\bxjs@tmpa{\bxjs@tmpa,#1}%
+ \@ifnextchar\@nnil\bxjs@tmpdo@c\remove@to@nnil}
+\def\bxjs@tmpdo@c\@nnil{\@tempswatrue
+ \edef\bxjs@param@paper{papersize={\bxjs@tmpa}}}
+\expandafter\bxjs@tmpdo\bxjs@param@paper\@nnil
+\if@tempswa\else
+ \def\bxjs@tmpa{\@nil,\@nil}
+ \def\bxjs@tmpdo#1,#2,#3\@nnil{%
+ \def\bxjs@tmpb{#3}\ifx\bxjs@tmpa\bxjs@tmpb
+ \@tempswatrue\edef\bxjs@param@paper{papersize={#1,#2}}\fi}
+ \expandafter\bxjs@tmpdo\bxjs@param@paper,\@nil,\@nil\@nnil
+\fi
+\if@tempswa\else
+ \def\bxjs@tmpa{\@nil*\@nil}
+ \def\bxjs@tmpdo#1*#2*#3\@nnil{%
+ \def\bxjs@tmpb{#3}\ifx\bxjs@tmpa\bxjs@tmpb
+ \@tempswatrue\edef\bxjs@param@paper{papersize={#1,#2}}\fi}
+ \expandafter\bxjs@tmpdo\bxjs@param@paper*\@nil*\@nil\@nnil
+\fi
\edef\bxjs@layout@paper{%
\ifjsc@mag truedimen,\fi
\if@landscape landscape,\fi
@@ -1167,7 +1167,7 @@
\def\bxjs@apply@bd@pre@geometry@hook{%
\AddToHook{begindocument}[\bxjs@geometry@name]}
\fi
-\ifx\bxjs@geometry\bxjs@geometry@class
+\ifx\bxjs@geometry\bxjs@geometry@@class
\ifbxjs@papersize
\ifx\bxjs@driver@given\bxjs@driver@@dvipdfmx
\PassOptionsToPackage{dvipdfm}{geometry}
@@ -1215,7 +1215,7 @@
\noexpand\geometry{\bxjs@next}%
}\bxjs@next
\bxjs@postproc@layout}
-\else\ifx\bxjs@geometry\bxjs@geometry@user
+\else\ifx\bxjs@geometry\bxjs@geometry@@user
\g@addto@macro\bxjs@begin@document@hook{%
\ifdim\textwidth=.5\maxdimen
\ClassError\bxjs@clsname
@@ -1470,11 +1470,11 @@
\else \csname label#1\endcsname
\fi}
\def\@seccntformat#1{\bxjs@label@sect{#1}\quad}
-\ifnum\bxjs@label@section=\bxjs@label@section@compat\else
+\ifnum\bxjs@label@section=\bxjs@label@section@@compat\else
\def\@secapp{\presectionname}
\def\@secpos{\postsectionname}
\fi
-\ifnum\bxjs@label@section=\bxjs@label@section@modern
+\ifnum\bxjs@label@section=\bxjs@label@section@@modern
\def\labelsection{\@secapp\thesection\@secpos}
\fi
\def\@startsection#1#2#3#4#5#6{%
@@ -1501,7 +1501,7 @@
\@ifstar
{\@ssect{#3}{#4}{#5}{#6}}%
{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
-\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@@compat
\let\bxjs@if@ceph\@firstofone
\else \let\bxjs@if@ceph\@gobble
\fi
@@ -2293,7 +2293,7 @@
\llap{\@makefnmark\hskip0.3\jsZw}#1}
\let\jsInhibitGlueAtParTop\@empty
\def\everyparhook{\jsInhibitGlueAtParTop}
-\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@@compat
\g@addto@macro\bxjs@begin@document@hook{\everypar{\everyparhook}}
\fi
\ifx j\jsEngine
@@ -2325,7 +2325,7 @@
\fi
\fi}
\fi
-\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@@compat
\def\@doendpe{%
\@endpetrue
\def\par{%
@@ -2412,7 +2412,7 @@
\everypar{\everyparhook}%
\fi\everyparhook}}
\fi
-\ifnum\bxjs@everyparhook=\bxjs@everyparhook@none\else
+\ifnum\bxjs@everyparhook=\bxjs@everyparhook@@none\else
\AtEndOfPackage{%
\def\@gnewline #1{%
\ifvmode