diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx | 153 |
1 files changed, 59 insertions, 94 deletions
diff --git a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx index ca0d3e12daf..2f61b3218a9 100644 --- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx +++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx @@ -56,7 +56,8 @@ %<*driver> \ProvidesFile{bxjscls.dtx} %</driver> - [2020/02/15 v1.9k BXJS document classes] + [2020/03/25 v2.0 BXJS document classes] +% [2020/02/15 v1.9k BXJS document classes] % [2020/02/05 v1.9j BXJS document classes] % based on jsclasses [2020/02/02] % [2019/11/24 v1.9i BXJS document classes] @@ -1150,24 +1151,13 @@ % % \begin{ZRnote} % \begin{macro}{\ifjsDraft} -% JSクラスは |\ifdraft| という公開名のスイッチを用いているが、 -% これは |ifdraft| パッケージと衝突するので、代わりに |\ifjsDraft| -% の名前を用い、本文開始時に |\ifdraft| が未定義の場合に限り、 -% |\ifjsDraft| を |\ifdraft| にコピーする処理にする。 +% |draft| オプションが指定されているか。 % \Note JSクラスの |\ifdraft| が廃止されたので、 -% |\ifdraft| は2.0版で廃止を予定する。 -% \begin{macrocode} -\let\ifjsDraft\iffalse -\@onlypreamble\bxjs@draft -\def\bxjs@draft#1{% - \expandafter\let\expandafter\ifjsDraft\csname if#1\endcsname} -\DeclareOption{draft}{\bxjs@draft{true}\setlength\overfullrule{5pt}} -\DeclareOption{final}{\bxjs@draft{false}\setlength\overfullrule{0pt}} -\g@addto@macro\bxjs@begin@document@hook{% - \expandafter\ifx\csname ifdraft\endcsname\relax - \expandafter\let\csname ifdraft\expandafter\endcsname - \csname ifjsDraft\endcsname - \fi} +% BXJSクラスでも |\ifdraft| を2.0版で廃止した。 +% \begin{macrocode} +\newif\ifjsDraft +\DeclareOption{draft}{\jsDrafttrue \overfullrule=5pt } +\DeclareOption{final}{\jsDraftfalse \overfullrule=0pt } % \end{macrocode} % \end{macro} % \end{ZRnote} @@ -1448,20 +1438,10 @@ % 「|UTF8-UCS2|」の代わりに「|UTF8-UTF16|」を使うか。 % BMP外の文字に対応できる「|UTF8-UTF16|」の方が望ましいのであるが、 % このファイルが利用可能かの確実な判定が困難であるため、 -% オプションで指定することとする。 +% 既定を真とした上で、オプションで指定することとする。 +% \Note 2.0版より、既定値を常に真とする。 % \begin{macrocode} -\newif\ifbxjs@bigcode \bxjs@bigcodefalse -% \end{macrocode} -% その上で、「{\TeX}環境がある程度新しければ利用可能であろう」 -% と判断し |bxjs@bigcode| の既定値を真とする。 -% 具体的な判断基準として、 -% 「{\TeX}のバージョンが3.14159265(2014年1月)以上であるか」 -% を採用する。 -% \begin{macrocode} -\edef\bxjs@tmpa{\expandafter\noexpand\csname\endcsname} -\def\bxjs@tmpb#1 #2#3\@nil{% - \ifx1#2\bxjs@bigcodetrue \fi} -\expandafter\bxjs@tmpb\meaning\bxjs@tmpa1 0\@nil +\newif\ifbxjs@bigcode \bxjs@bigcodetrue % \end{macrocode} % \end{macro} % @@ -3497,19 +3477,13 @@ % \begin{macrocode} \g@addto@macro\bxjs@bd@pre@geometry@hook{% % \end{macrocode} -% |geometry| の4.x版に関する対策。 -% \Note |geometry| の4.x版の使用はBXJS 1.2版より非推奨とし、 -% 2.0版でサポートを廃止する予定。 +% BXJS2.0版より、|geometry| の4.x版のサポートは廃止された。 % \begin{macrocode} \@ifpackagelater{geometry}{2010/02/12}{}{%else - \PackageWarningNoLine\bxjs@clsname - {The 'geometry' package installed\MessageBreak - is too old (< v5.0)}% - \if x\jsEngine \ifnum\mag=\@m\else - \def\bxjs@Gm@driver{pdftex} - \ifx\pdfhorigin\@undefined \newdimen\pdfhorigin \fi - \ifx\pdfvorigin\@undefined \newdimen\pdfvorigin \fi - \fi\fi}% + \PackageError\bxjs@clsname + {Your 'geometry' package is too old (< v5.0)}% + {\@ehc}% + \let\Gm@driver\relax}% % \end{macrocode} % エンジンが |platex-ng| の時は |geometry| のドライバを |pdftex| にする。 % \begin{macrocode} @@ -7887,9 +7861,8 @@ % \begin{ZRnote} % 環境変数 |SOURCE_DATE_EPOCH|/|FORCE_SOURCE_DATE| が % 設定されている場合は“今日”が過去・未来の日付になる可能性がある。 -% BXJSクラスでは、和暦の扱いは |bxwareki| パッケージに任せることを -% 原則とする。 -% ただし、|bxwareki| が使えない場合は自前で処理する。 +% BXJSクラスでは、和暦の扱いは |bxwareki| パッケージに任せる。 +% \Note 2.0版より、\textbf{完全に} |bxwareki| に任せる。 % \end{ZRnote} % % \begin{macrocode} @@ -7897,39 +7870,30 @@ \@tempswafalse \if p\jsEngine \@tempswatrue \fi \if n\jsEngine \@tempswatrue \fi -\if@tempswa \expandafter\@firstoftwo -\else \expandafter\@secondoftwo -\fi -{% +\bxjs@cond\if@tempswa\fi{% % 欧文8bitTeXの場合 \newif\ifjsSeireki \jsSeirekitrue \def\bxjs@decl@Seireki@cmds{% \def\西暦{\jsSeirekitrue}% - \def\和暦{\jsSeirekifalse}} + \def\和暦{\jsSeirekifalse\bxjs@wareki@used}} \def\Seireki{\jsSeirekitrue} -\def\Wareki{\jsSeirekifalse} -\def\bxjs@if@use@seireki{% - \ifjsSeireki \expandafter\@firstoftwo - \else \expandafter\@secondoftwo \fi} +\def\Wareki{\jsSeirekifalse\bxjs@wareki@used} +\def\bxjs@if@use@seireki{\bxjs@cond\ifjsSeireki\fi} +\def\bxjs@iai{\noexpand~} }{% \newif\if西暦 \西暦true \def\bxjs@decl@Seireki@cmds{% \def\西暦{\西暦true}% - \def\和暦{\西暦false}} + \def\和暦{\西暦false\bxjs@wareki@used}} \def\Seireki{\西暦true} -\def\Wareki{\西暦false} -\def\bxjs@if@use@seireki{% - \if西暦 \expandafter\@firstoftwo - \else \expandafter\@secondoftwo \fi} +\def\Wareki{\西暦false\bxjs@wareki@used} +\def\bxjs@if@use@seireki{\bxjs@cond\if西暦\fi} +\let\bxjs@iai\@empty } \bxjs@decl@Seireki@cmds \let\bxjs@unxp\@firstofone \let\bxjs@onxp\@firstofone -\bxjs@test@engine\unexpanded{\let\bxjs@unxp\unexpanded - \def\bxjs@onxp{\unexpanded\expandafter}} -\if \if p\jsEngine T\else\if n\jsEngine T\else F\fi\fi T - \def\bxjs@iai{\noexpand~} -\else \def\bxjs@iai{} -\fi +\bxjs@test@engine\unexpanded{% + \let\bxjs@unxp\unexpanded \def\bxjs@onxp{\unexpanded\expandafter}} % \end{macrocode} % % \begin{macro}{\ifbxjs@bxwareki@avail} @@ -7942,11 +7906,26 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\bxjs@wareki@used} +% 和暦が非対応の場合に警告を出す。 +% \begin{macrocode} +\ifbxjs@bxwareki@avail \let\bxjs@wareki@used\@empty +\else + \bxjs@robust@def\bxjs@wareki@used{% + \global\let\bxjs@wareki@used\@empty + \ClassWarning\bxjs@clsname + {Wareki mode is not supported, since\MessageBreak + 'bxwareki' is unavailable, found}} + \g@addto@macro\bxjs@begin@document@hook{% + \let\bxjs@wareki@used\@empty} +\fi +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\jayear} % 和暦における年の表記(元号+年数)。 % \begin{macro}{\heisei} -% 年数を表す整数レジスタで、 -% 元号が「平成」である場合にのみ定義される。 +% 年数を表す整数レジスタで、元号が「平成」である場合にのみ定義される。 % \begin{macrocode} \ifbxjs@bxwareki@avail \let\jayear\warekiyear @@ -7954,18 +7933,10 @@ \newcount\heisei \heisei=\value{warekiyear} \fi % \end{macrocode} -% |bxwareki| が使えない場合のフォールバック処理。 -% 平成のみに対応する。 +% |bxwareki| が使えない場合は西暦表示にする。 % \begin{macrocode} \else - \@tempcnta=\the\year\two@digits\month\two@digits\day\relax - \ifnum\@tempcnta<19890108 \else \ifnum\@tempcnta<20190501 - \newcount\heisei \heisei\year \advance\heisei-1988\relax - \fi\fi - \ifnum \ifx\heisei\@undefined\z@\else\heisei\fi >\@ne - \edef\jayear{\bxjs@unxp{平成}\bxjs@iai \the\heisei \bxjs@iai} - \else \edef\jayear{\the\year \bxjs@iai} - \fi + \edef\jayear{\the\year \bxjs@iai} \fi % \end{macrocode} % \end{macro} @@ -7975,15 +7946,8 @@ % 英語、西暦、和暦で場合分けをする。 % \begin{macrocode} \let\bxjs@next\relax -\ifbxjs@bxwareki@avail - \ifx\warekigengo\@empty\else - \def\bxjs@next{\bxjs@onxp{\warekitoday}} - \fi -\else\ifnum \ifx\heisei\@undefined\z@\else\heisei\fi >\@ne - \def\bxjs@next{% - \bxjs@unxp{平成}\bxjs@iai\number\heisei\bxjs@iai\bxjs@unxp{年}% - \bxjs@iai\number\month\bxjs@iai\bxjs@unxp{月}% - \bxjs@iai\number\day\bxjs@iai\bxjs@unxp{日}} +\ifbxjs@bxwareki@avail \ifx\warekigengo\@empty\else + \def\bxjs@next{\bxjs@onxp{\warekitoday}} \fi\fi \edef\bxjs@today{% \if@english @@ -8009,7 +7973,7 @@ % 場合に影響を受けないようにする。 % \begin{macrocode} \g@addto@macro\bxjs@begin@document@hook{% - \ifx\bbl@jpn@Seirekitrue\@undefined\else + \ifx\bbl@jpn@maybekansuji\@undefined\else \bxjs@decl@Seireki@cmds \g@addto@macro\datejapanese{% \let\today\bxjs@today}% @@ -9809,15 +9773,16 @@ % % |\jsJaFont| が指定された場合は、その値をオプションと % して |zxjafont| を読み込む。 -% 非指定の場合はIPAexフォントを使用する。 +% 非指定の場合は原ノ味フォントを使用する。 +% \Note 2.0版より既定をIPAexから原ノ味に変更。 % \begin{macrocode} \bxjs@adjust@jafont{f} \let\bxjs@jafont@paren\@gobble \bxjs@resolve@jafont@paren\bxjs@tmpa \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty - \setCJKmainfont[BoldFont=ipaexg.ttf]{ipaexm.ttf} - \setCJKsansfont[BoldFont=ipaexg.ttf]{ipaexg.ttf} + \setCJKmainfont[BoldFont=HaranoAjiGothic-Medium.otf]{HaranoAjiMincho-Regular.otf} + \setCJKsansfont[BoldFont=HaranoAjiGothic-Medium.otf]{HaranoAjiGothic-Medium.otf} \else \edef\bxjs@next{% \noexpand\RequirePackage[\bxjs@tmpa]{zxjafont}[2013/01/28]% v0.2a @@ -10004,9 +9969,9 @@ % % |\jsJaFont| が指定された場合は、その値をオプションと % して |luatexja-preset| を読み込む。 -% 非指定の場合は、|luatexja-preset| パッケージの |ipaex| -% オプション(IPAexフォント使用)と等価な設定を用いる +% 非指定の場合は原ノ味フォントを指定する % (|luatexja-preset| は読み込まない)。 +% \Note 2.0版より既定をIPAexから原ノ味に変更。 % \begin{macrocode} \bxjs@adjust@jafont{t} \ifx\bxjs@tmpa\bxjs@@noEmbed @@ -10017,8 +9982,8 @@ \edef\bxjs@tmpa{\bxjs@catopt\bxjs@tmpa\bxjs@jp@font} \ifx\bxjs@tmpa\@empty \defaultjfontfeatures{ Kerning=Off } - \setmainjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexMincho} - \setsansjfont[BoldFont=IPAexGothic,JFM=ujis]{IPAexGothic} + \setmainjfont[BoldFont=HaranoAjiGothic-Medium.otf,JFM=ujis]{HaranoAjiMincho-Regular.otf} + \setsansjfont[BoldFont=HaranoAjiGothic-Medium.otf,JFM=ujis]{HaranoAjiGothic-Medium.otf} \else \edef\bxjs@next{% \noexpand\RequirePackage[\bxjs@tmpa]{luatexja-preset}% |