vendor/jsclasses/jsclasses.dtx in review-4.2.0 vs vendor/jsclasses/jsclasses.dtx in review-5.0.0
- old
+ new
@@ -7,11 +7,11 @@
% \iffalse meta-comment
%
% pLaTeX2ε新ドキュメントクラス(日本語 TeX 開発コミュニティ版)
% 原作者:奥村晴彦 <okumura@okumuralab.org>
%
-% Copyright 1993-2019
+% Copyright 1993-2020
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
% Copyright 1995-1999 ASCII Corporation.
% Copyright 1999-2016 Haruhiko Okumura
@@ -26,14 +26,15 @@
%<article>\ProvidesClass{jsarticle}
%<book>\ProvidesClass{jsbook}
%<report>\ProvidesClass{jsreport}
%<jspf>\ProvidesClass{jspf}
%<kiyou>\ProvidesClass{kiyou}
+%<minijs>\ProvidesPackage{minijs}
%<*driver>
\ProvidesFile{jsclasses.dtx}
%</driver>
- [2020/02/02 jsclasses (okumura, texjporg)]
+ [2020/10/09 jsclasses (okumura, texjporg)]
%<*driver>
\documentclass{jsarticle}
\usepackage{doc}
\xspcode"5C=1 %% \
\xspcode"22=1 %% "
@@ -122,15 +123,30 @@
%
% \StopEventually{}
%
% 以下では実際のコードに即して説明します。
%
+% \texttt{minijs}は,\texttt{jsclasses}に似た設定を行うパッケージです。
+%
+% \begin{macrocode}
+%<*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{}
+%</minijs>
+% \end{macrocode}
+%
% \begin{macro}{\jsc@clsname}
%
% 文書クラスの名前です。エラーメッセージ表示などで使われます。
%
% \begin{macrocode}
+%<*class>
%<article>\def\jsc@clsname{jsarticle}
%<book>\def\jsc@clsname{jsbook}
%<report>\def\jsc@clsname{jsreport}
%<jspf>\def\jsc@clsname{jspf}
%<kiyou>\def\jsc@clsname{kiyou}
@@ -145,12 +161,16 @@
% コードをカーネル内に取り込むようになりました。そこで,新しい
% \pLaTeX カーネルと衝突しないように,日付が古い場合だけパッチ
% をあてる場合があります。この処理に使用するフラグを定義します。
%
% \begin{macrocode}
+%</class>
+%<*class|minijs>
\newif\ifjsc@needsp@tch
\jsc@needsp@tchfalse
+%</class|minijs>
+%<*class>
% \end{macrocode}
% \end{macro}
%
% \section{オプション}
%
@@ -744,24 +764,30 @@
% |\stockwidth|,|\stockheight|と呼ぶようですので,これを使うことにしました。
%
% [2017-01-11] トンボオプションが指定されているとき「だけ」|\stockwidth|,
% |\stockheight|を定義するようにしました。
%
+% [2020-10-04] \LaTeXe~2020-10-01でカーネルの |\shipout| コードが拡張され
+% |\AtBeginDvi| の実行タイミングが変化したので,この時点で
+% 発行する |\special| の中身を展開しておくようにしました。
+% こうしないと,用紙サイズ設定を間違ってしまいます(Issue \#72)。
+%
% \begin{macrocode}
\iftombow
\newdimen\stockwidth \newdimen\stockheight
\setlength{\stockwidth}{\paperwidth}
\setlength{\stockheight}{\paperheight}
\advance \stockwidth 2in
\advance \stockheight 2in
\fi
\ifpapersize
\iftombow
- \AtBeginDvi{\special{papersize=\the\stockwidth,\the\stockheight}}
+ \edef\jsc@papersize@special{papersize=\the\stockwidth,\the\stockheight}
\else
- \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}
+ \edef\jsc@papersize@special{papersize=\the\paperwidth,\the\paperheight}
\fi
+ \AtBeginDvi{\special{\jsc@papersize@special}}
\fi
% \end{macrocode}
%
% \paragraph{基準となる行送り}
%
@@ -1057,10 +1083,28 @@
% いる場合,OTFパッケージ(2018/02/01以降のバージョン)はこれに
% 従います。jsarticle, jsbook, jsreportでは,
% $9.62216\,\mathrm{pt} * 0.961 / 10\,\mathrm{pt} = 0.924690$ です。
%
% \begin{macrocode}
+%</class>
+%<*minijs>
+%% min/goth -> jis/jisg (for pLaTeX only)
+\ifx\ucs\@undefined
+\@for\@tempa:=5,6,7,8,9,10,10.95,12,14.4,17.28,20.74,24.88\do{%
+ \expandafter\let\csname JY1/mc/m/n/\@tempa\endcsname\relax
+ \expandafter\let\csname JY1/gt/m/n/\@tempa\endcsname\relax
+ \expandafter\let\csname JT1/mc/m/n/\@tempa\endcsname\relax
+ \expandafter\let\csname JT1/gt/m/n/\@tempa\endcsname\relax
+}
+\def\Cjascale{0.924690}
+\DeclareFontShape{JY1}{mc}{m}{n}{<-> s * [0.961] jis}{}
+\DeclareFontShape{JY1}{gt}{m}{n}{<-> s * [0.961] jisg}{}
+\DeclareFontShape{JT1}{mc}{m}{n}{<-> s * [0.961] tmin10}{}
+\DeclareFontShape{JT1}{gt}{m}{n}{<-> s * [0.961] tgoth10}{}
+\fi
+%</minijs>
+%<*class>
%<*!jspf>
\def\Cjascale{0.924690}
\ifmingoth
\DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ min10}{}
\DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ goth10}{}
@@ -1168,11 +1212,26 @@
% NFSSの拡張部分を壊してしまいますので,
% 新たに提供されたフックにコードを挿入します。
% 従来のコードも\LaTeXe~2019-10-01以前のために残してありますが,
% \texttt{mweights}パッケージ対策も施しました(forum:2763)。
%
+% [2020-10-04] \LaTeXe~2020-10-01では |\AddToHook| を利用します。
+%
+% ^^A Note that |\AddToHook| is defined as follows:
+% ^^A \begin{itemize}
+% ^^A \item Format date 2020-02-02 or older: undefined
+% ^^A \item Format date 2020-10-01 or newer: available
+% ^^A \item ... under \texttt{latexrelease} rollback: defined but no-op
+% ^^A \end{itemize}
+%
% \begin{macrocode}
+%</class>
+%<*class|minijs>
+%% ad-hoc "relation font"
+\@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
\romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
\DeclareRobustCommand\sffamily
@@ -1198,10 +1257,20 @@
\g@addto@macro\@sffamilyhook
{\prepare@family@series@update@kanji{gt}\gtdefault}
\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
+%</class|minijs>
+%<*class>
% \end{macrocode}
%
% \begin{macro}{\textmc}
% \begin{macro}{\textgt}
%
@@ -1565,29 +1634,35 @@
% |\parindent| については,0(以下)でなければ全角幅(1zw)に直します。
%
% [2008-02-18] |english| オプションで |\parindent| を 1em にしました。
%
% \begin{macrocode}
+%</class>
+%<*class|minijs>
+%% \@setfontsize with \parindent and \(x)kanjiskip settings
\def\@setfontsize#1#2#3{%
-% \@nomath#1%
+%<minijs> \@nomath#1%
\ifx\protect\@typeset@protect
\let\@currsize#1%
\fi
\fontsize{#2}{#3}\selectfont
\ifdim\parindent>\z@
- \if@english
- \parindent=1em
- \else
+%<class> \if@english
+%<class> \parindent=1em
+%<class> \else
\parindent=1zw
- \fi
+%<class> \fi
\fi
\kanjiskip=0zw plus .1zw minus .01zw
- \ifdim\xkanjiskip>\z@
- \if@slide \xkanjiskip=0.1em \else
+%<class> \ifdim\xkanjiskip>\z@
+%<class> \if@slide \xkanjiskip=0.1em \else
\xkanjiskip=0.25em plus 0.15em minus 0.06em
- \fi
- \fi}
+%<class> \fi
+%<class> \fi
+}
+%</class|minijs>
+%<*class>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\jsc@setfontsize}
% クラスファイルの内部では,拡大率も考慮した |\jsc@setfontsize| を
@@ -1692,11 +1767,16 @@
% \end{macrocode}
%
% ここで実際に標準フォントサイズで初期化します。
%
% \begin{macrocode}
+%</class>
+%<*class|minijs>
+%% initialize
\normalsize
+%</class|minijs>
+%<*class>
% \end{macrocode}
%
% \end{macro}
%
% \begin{macro}{\Cht}
@@ -6013,9 +6093,10 @@
\else
\unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \hskip \z@
\ignorespaces
\fi}
%</article|book|report>
+%</class>
% \end{macrocode}
% \end{macro}
%
% 以上です。
%