From 707f629e14e56b9e7b47522033f588c210c34cbb Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 17 Oct 2020 21:02:14 +0000 Subject: bxjscls (17oct20) git-svn-id: svn://tug.org/texlive/trunk@56686 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls | 276 +++++++++++------------ 1 file changed, 138 insertions(+), 138 deletions(-) (limited to 'Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls') diff --git a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls index 2192ed1e64f..6b8e939c8fe 100644 --- a/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls +++ b/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls @@ -22,7 +22,7 @@ %% in the same archive or directory.) \NeedsTeXFormat{LaTeX2e} \ProvidesClass{bxjsbook} - [2020/10/10 v2.3 BXJS document classes] + [2020/10/16 v2.4 BXJS document classes] %% このファイルは日本語文字を含みます. \def\bxjs@clsname{bxjsbook} \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 @@ -593,6 +605,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}} @@ -600,59 +613,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}% @@ -795,9 +781,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 @@ -846,9 +832,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 @@ -1091,15 +1077,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 @@ -1193,7 +1193,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} @@ -1241,7 +1241,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 @@ -1496,11 +1496,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{% @@ -1527,7 +1527,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 @@ -2271,7 +2271,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 @@ -2303,7 +2303,7 @@ \fi \fi} \fi -\ifnum\bxjs@everyparhook=\bxjs@everyparhook@compat +\ifnum\bxjs@everyparhook=\bxjs@everyparhook@@compat \def\@doendpe{% \@endpetrue \def\par{% @@ -2390,7 +2390,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 -- cgit v1.2.3