From 0ba0dfb9a07bac614756eb2f7ea858e53dc8a255 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 10 Oct 2020 20:53:35 +0000 Subject: bxjscls (10oct20) git-svn-id: svn://tug.org/texlive/trunk@56620 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx | 134 ++++++++++++++------- Master/texmf-dist/source/latex/bxjscls/bxjscls.ins | 8 +- 2 files changed, 97 insertions(+), 45 deletions(-) (limited to 'Master/texmf-dist/source/latex') diff --git a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx index 9d44ced9498..e3e7a21d007 100644 --- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx +++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx @@ -25,7 +25,7 @@ % %--------------------------------------- % -% Copyright 1993-2019 +% Copyright 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -41,7 +41,7 @@ % \iffalse % % \begin{macrocode} -%\NeedsTeXFormat{LaTeX2e} +%\NeedsTeXFormat{LaTeX2e} %
\ProvidesClass{bxjsarticle} %\ProvidesClass{bxjsreport} %\ProvidesClass{bxjsbook} @@ -56,7 +56,9 @@ %<*driver> \ProvidesFile{bxjscls.dtx} % - [2020/10/04 v2.2c BXJS document classes] + [2020/10/10 v2.3 BXJS document classes] +% based on jsclasses [2020/10/05] +% [2020/10/04 v2.2c 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] @@ -273,9 +275,19 @@ % \StopEventually{} % % 以下では実際のコードに即して説明します。 +% +% \texttt{minijs}は,\texttt{jsclasses}に似た設定を行うパッケージです。 +% % \begin{macrocode} -%<*cls> -%% このファイルは日本語文字を含みます. +%<*minijs> +%% if jsclasses loaded, abort loading this package +\ifx\@jsc@uplatextrue\@undefined\else + \PackageInfo{minijs}{jsclasses does not need minijs, exiting} + \expandafter\endinput +\fi +%% "fake" jsarticle +\expandafter\def\csname ver@jsarticle.cls\endcsname{} +% % \end{macrocode} % % \begin{macro}{\bxjs@clsname} @@ -283,6 +295,8 @@ % 文書クラスの名前です。エラーメッセージ表示などで使われます。 % % \begin{macrocode} +%<*class> +%% このファイルは日本語文字を含みます. %
\def\bxjs@clsname{bxjsarticle} %\def\bxjs@clsname{bxjsbook} %\def\bxjs@clsname{bxjsreport} @@ -2427,6 +2441,11 @@ % [2017-01-11] トンボオプションが指定されているとき「だけ」|\stockwidth|, % |\stockheight|を定義するようにしました。 % +% [2020-10-04] \LaTeXe~2020-10-01でカーネルの |\shipout| コードが拡張され +% |\AtBeginDvi| の実行タイミングが変化したので,この時点で +% 発行する |\special| の中身を展開しておくようにしました。 +% こうしないと,用紙サイズ設定を間違ってしまいます(Issue \#72)。 +% % \begin{ZRnote} % BXJSでは出力用紙サイズ記録は |geometry| パッケージが行う。 % @@ -2953,7 +2972,12 @@ % ここで実際に標準フォントサイズで初期化します。 % % \begin{macrocode} +% +%<*class|minijs> +%% initialize \normalsize +% +%<*class> % \end{macrocode} % % \end{macro} @@ -8112,12 +8136,11 @@ % \end{macrocode} % % おしまい。 +% \end{ZRnote} % \begin{macrocode} -% +% % \end{macrocode} % -% \end{ZRnote} -% % 以上です。 % %^^A//////////////////////////////////////////////////////// @@ -8533,6 +8556,9 @@ % \Note 2020-02-02のNFSSの改修に対する |jsclasses| の対策を % 取り入れた。 % \begin{macrocode} +\@ifl@t@r\fmtversion{2020/10/01} + {\jsc@needsp@tchfalse}{\jsc@needsp@tchtrue} +\ifjsc@needsp@tch % --- for 2020-02-02 or older BEGIN \ifx\@rmfamilyhook\@undefined % old \DeclareRobustCommand\rmfamily {\not@math@alphabet\rmfamily\mathrm @@ -8562,6 +8588,14 @@ \g@addto@macro\@ttfamilyhook {\prepare@family@series@update@kanji{gt}\gtdefault} \fi +\else % --- for 2020-02-02 or older END & for 2020-10-01 BEGIN +\AddToHook{rmfamily}% + {\prepare@family@series@update@kanji{mc}\mcdefault} +\AddToHook{sffamily}% + {\prepare@family@series@update@kanji{gt}\gtdefault} +\AddToHook{ttfamily}% + {\prepare@family@series@update@kanji{gt}\gtdefault} +\fi % --- for 2020-10-01 END \ifx\DeclareFixJFMCJKTextFontCommand\@undefined \DeclareJaTextFontCommand{\textmc}{\mcfamily} \DeclareJaTextFontCommand{\textgt}{\gtfamily} @@ -8645,11 +8679,18 @@ !else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}!fi} \fi % \end{macrocode} -% +% エスケープ文字の変更はここまで。 % \begin{macrocode} \endgroup % \end{macrocode} % +% \paragraph{minijsパッケージのブロック} +% +% やっておく。 +% \begin{macrocode} +\@namedef{ver@minijs.sty}{} +% \end{macrocode} +% %^^A---------------- % \subsection{pdf{\TeX}用の処理} % @@ -9056,11 +9097,13 @@ % \Note |otf| や |luatexja-preset| 等のパッケージがこのオプションを % 利用する。 % \begin{macrocode} -\ifbxjs@jp@jismmiv +\@onlypreamble\bxjs@apply@mmiv +\def\bxjs@apply@mmiv{% \g@addto@macro\@classoptionslist{,jis2004} % \@ifpackagewith 判定への対策 \PassOptionsToPackage{jis2004}{otf} -\fi + \global\let\bxjs@apply@mmiv\relax} +\ifbxjs@jp@jismmiv \bxjs@apply@mmiv \fi % \end{macrocode} % % \paragraph{和文用単位のサポート} @@ -9354,10 +9397,13 @@ \def\bxjs@adjust@jafont#1{% \ifx\jsJaFont\bxjs@@auto \bxjs@get@kanjiEmbed - \ifx\bxjs@kanjiEmbed\relax + \ifx\bxjs@jaEmbed\relax \let\bxjs@tmpa\@empty \else - \let\bxjs@tmpa\bxjs@kanjiEmbed + \let\bxjs@tmpa\bxjs@jaEmbed + \ifx\bxjs@jaVariant\bxjs@@hziv + \bxjs@apply@mmiv + \fi \fi \else \let\bxjs@tmpa\jsJaFont @@ -9371,24 +9417,41 @@ } \def\bxjs@@auto{auto} \def\bxjs@@noEmbed{noEmbed} +\def\bxjs@@hziv{-04} % \end{macrocode} % \end{macro} % -% \begin{macro}{\bxjs@kanjiEmbed} -% 現在の |updmap| の |kanjiEmbed| パラメタの値。 +% \begin{macro}{\bxjs@jaEmbed} +% \begin{macro}{\bxjs@jaVariant} +% 現在の |updmap| の |jaEmbed|・|jaVariant| パラメタの値。 % |\bxjs@get@kanjiEmbed| により実際の設定値が取得されてここに設定される。 +% \Note 古い版の |updmap| では |kanjiEmbed|・|kanjiVariant| であった。 % \begin{macrocode} -\let\bxjs@kanjiEmbed\relax +\let\bxjs@jaEmbed\relax +\let\bxjs@jaVariant\relax % \end{macrocode} % \end{macro} +% \end{macro} % % \begin{macro}{\bxjs@get@kanjiEmbed} -% 現在の |updmap| の |kanjiEmbed| パラメタの値を取得する。 +% 現在の |updmap| の |jaEmbed|・|jaVariant| パラメタの値を取得する。 % \begin{macrocode} \@onlypreamble\bxjs@get@kanjiEmbed \def\bxjs@get@kanjiEmbed{% \begingroup\setbox\z@=\hbox{% + \global\let\bxjs@do\@empty + \def\bxjs@next##1##2##3{% + \def##1####1##3 ####2\@nil####3\@nnil{% + \ifx$####1$\gdef##2{####2}\fi}% + \g@addto@macro\bxjs@do{% + \expandafter##1\bxjs@tmpa\@nil##3 \@nil\@nnil}}% + \bxjs@next\bxjs@do@a\bxjs@g@tmpa{kanjiEmbed}% + \bxjs@next\bxjs@do@b\bxjs@g@tmpa{jaEmbed}% + \bxjs@next\bxjs@do@c\bxjs@g@tmpb{kanjiVariant}% + \bxjs@next\bxjs@do@d\bxjs@g@tmpb{jaVariant}% +% \global\let\bxjs@g@tmpa\relax + \global\let\bxjs@g@tmpb\relax \endlinechar\m@ne \let\do\@makeother\dospecials \catcode32=10 \catcode12=10 %form-feed @@ -9403,32 +9466,14 @@ \@tempswatrue \loop\if@tempswa \read\@inputcheck to\bxjs@tmpa - \expandafter\bxjs@get@ke@a\bxjs@tmpa\@nil kanjiEmbed \@nil\@nnil - \ifx\bxjs@tmpb\relax\else - \global\let\bxjs@g@tmpa\bxjs@tmpb - \@tempswafalse - \fi - \expandafter\bxjs@get@ke@b\bxjs@tmpa\@nil jaEmbed \@nil\@nnil - \ifx\bxjs@tmpb\relax\else - \global\let\bxjs@g@tmpa\bxjs@tmpb - \@tempswafalse - \fi + \bxjs@do \ifeof\@inputcheck \@tempswafalse \fi \repeat \fi }\endgroup - \let\bxjs@kanjiEmbed\bxjs@g@tmpa + \let\bxjs@jaEmbed\bxjs@g@tmpa + \let\bxjs@jaVariant\bxjs@g@tmpb } -\@onlypreamble\bxjs@get@ke@a -\def\bxjs@get@ke@a#1kanjiEmbed #2\@nil#3\@nnil{% - \ifx$#1$\def\bxjs@tmpb{#2}% - \else \let\bxjs@tmpb\relax - \fi} -\@onlypreamble\bxjs@get@ke@b -\def\bxjs@get@ke@b#1jaEmbed #2\@nil#3\@nnil{% - \ifx$#1$\def\bxjs@tmpb{#2}% - \else \let\bxjs@tmpb\relax - \fi} % \end{macrocode} % \end{macro} % @@ -9440,10 +9485,10 @@ \@onlypreamble\bxjs@resolve@jafont@paren \def\bxjs@resolve@jafont@paren#1{% \def\bxjs@tmpb{\let#1}% - \expandafter\bxjs@resolve@jafont@paren@a#1\@nil()\@nil\relax} + \expandafter\bxjs@resolve@jafont@paren@a#1\@nil()\@nil\@nnil#1} \@onlypreamble\bxjs@resolve@jafont@paren@a -\def\bxjs@resolve@jafont@paren@a#1(#2)#3\@nil#4\relax{% - \ifx\relax#4\relax \bxjs@tmpb\jsJaFont +\def\bxjs@resolve@jafont@paren@a#1(#2)#3\@nil#4\@nnil#5{% + \ifx\relax#4\relax \bxjs@tmpb#5% \else \edef\bxjs@tmpa{#1\bxjs@jafont@paren{#2}#3}% \bxjs@tmpb\bxjs@tmpa @@ -9738,6 +9783,11 @@ % \begin{macrocode} \if \ifx\bxjs@driver@given\bxjs@driver@@dvipdfmx T% \else\ifjsWithpTeXng T\else F\fi\fi T% + \IfFileExists{pxjahyper-enc.sty}{\@tempswatrue}{\@tempswafalse} + \if@tempswa + \RequirePackage{pxjahyper-enc}[2020/10/05]%v0.6 + \ifbxjs@bigcode\else \suppressbigcode \fi + \else \ifnum\jis"2121="A1A1 %euc \bxjs@urgent@special{pdf:tounicode EUC-UCS2} \else\ifnum\jis"2121="8140 %sjis @@ -9748,9 +9798,11 @@ \PassOptionsToPackage{bigcode}{pxjahyper} \else \bxjs@urgent@special{pdf:tounicode UTF8-UCS2} + \PassOptionsToPackage{nobigcode}{pxjahyper} \fi \fi\fi\fi \let\bxToUnicodeSpecialDone=t + \fi \fi % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/bxjscls/bxjscls.ins b/Master/texmf-dist/source/latex/bxjscls/bxjscls.ins index 0e533ebe34f..d763620d126 100644 --- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.ins +++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.ins @@ -2,10 +2,10 @@ \def\batchfile{bxjscls.ins} \input docstrip.tex \keepsilent -\generateFile{bxjsarticle.cls}{f}{\from{bxjscls.dtx}{cls,article}} -\generateFile{bxjsreport.cls}{f}{\from{bxjscls.dtx}{cls,report}} -\generateFile{bxjsbook.cls}{f}{\from{bxjscls.dtx}{cls,book}} -\generateFile{bxjsslide.cls}{f}{\from{bxjscls.dtx}{cls,slide}} +\generateFile{bxjsarticle.cls}{f}{\from{bxjscls.dtx}{class,article}} +\generateFile{bxjsreport.cls}{f}{\from{bxjscls.dtx}{class,report}} +\generateFile{bxjsbook.cls}{f}{\from{bxjscls.dtx}{class,book}} +\generateFile{bxjsslide.cls}{f}{\from{bxjscls.dtx}{class,slide}} \generateFile{bxjsja-minimal.def}{f}{\from{bxjscls.dtx}{drv,minimal}} \generateFile{bxjsja-standard.def}{f}{\from{bxjscls.dtx}{drv,standard}} \generateFile{bxjsja-modern.def}{f}{\from{bxjscls.dtx}{drv,modern}} -- cgit v1.2.3