summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx')
-rw-r--r--Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx153
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}%