vendor/jsclasses/jsclasses.dtx in review-4.0.0 vs vendor/jsclasses/jsclasses.dtx in review-4.1.0
- old
+ new
@@ -7,17 +7,17 @@
% \iffalse meta-comment
%
% pLaTeX2ε新ドキュメントクラス(日本語 TeX 開発コミュニティ版)
% 原作者:奥村晴彦 <okumura@okumuralab.org>
%
-% Copyright 1993-2016
+% Copyright 1993-2019
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
% Copyright 1995-1999 ASCII Corporation.
% Copyright 1999-2016 Haruhiko Okumura
-% Copyright 2016-2018 Japanese TeX Development Community
+% Copyright 2016-2020 Japanese TeX Development Community
%
% \fi
%
% \iffalse
%
@@ -29,11 +29,11 @@
%<jspf>\ProvidesClass{jspf}
%<kiyou>\ProvidesClass{kiyou}
%<*driver>
\ProvidesFile{jsclasses.dtx}
%</driver>
- [2018/06/23 jsclasses (okumura, texjporg)]
+ [2020/02/02 jsclasses (okumura, texjporg)]
%<*driver>
\documentclass{jsarticle}
\usepackage{doc}
\xspcode"5C=1 %% \
\xspcode"22=1 %% "
@@ -882,20 +882,20 @@
\ifnum\@ptsize=-2
\def\n@baseline{15}%
\fi
\ifnum\@ptsize=-1
\def\n@baseline{15}%
- \fi
+ \fi
\fi
%<*kiyou>
\def\jsc@magscale{0.9769230}
\ifjsc@mag
\mag 977
\def\inv@mag{1.02354}
\jsc@mpt=1\p@
\jsc@mmm=1mm
-\else
+\else
\jsc@mpt=\jsc@magscale\p@
\jsc@mmm=\jsc@magscale mm
\def\inv@mag{1}
\fi
%</kiyou>
@@ -1158,19 +1158,50 @@
\DeclareFontShape{\jsc@JTn}{mc}{m}{sc}{<->ssub*mc/m/n}{}
\DeclareFontShape{\jsc@JTn}{gt}{m}{it}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{}
\DeclareFontShape{\jsc@JTn}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+% \end{macrocode}
+%
+% [2020-02-02] \LaTeXe~2020-02-02でNFSSが拡張され,
+% それに伴いオリジナルの |\rmfamily| などの定義が変化しました。
+% |\DeclareRobustCommand| で直接定義すると,これを上書きして
+% NFSSの拡張部分を壊してしまいますので,
+% 新たに提供されたフックにコードを挿入します。
+% 従来のコードも\LaTeXe~2019-10-01以前のために残してありますが,
+% \texttt{mweights}パッケージ対策も施しました(forum:2763)。
+%
+% \begin{macrocode}
+\ifx\@rmfamilyhook\@undefined % old
\DeclareRobustCommand\rmfamily
{\not@math@alphabet\rmfamily\mathrm
\romanfamily\rmdefault\kanjifamily\mcdefault\selectfont}
\DeclareRobustCommand\sffamily
{\not@math@alphabet\sffamily\mathsf
\romanfamily\sfdefault\kanjifamily\gtdefault\selectfont}
\DeclareRobustCommand\ttfamily
{\not@math@alphabet\ttfamily\mathtt
\romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
+\AtBeginDocument{%
+ \ifx\mweights@init\@undefined\else % mweights.sty is loaded
+ % my definitions above should have been overwritten, recover it!
+ % \selectfont is executed twice but I don't care about speed...
+ \expandafter\g@addto@macro\csname rmfamily \endcsname
+ {\kanjifamily\mcdefault\selectfont}%
+ \expandafter\g@addto@macro\csname sffamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \expandafter\g@addto@macro\csname ttfamily \endcsname
+ {\kanjifamily\gtdefault\selectfont}%
+ \fi}
+\else % 2020-02-02
+\g@addto@macro\@rmfamilyhook
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
+\g@addto@macro\@sffamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\g@addto@macro\@ttfamilyhook
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\fi
% \end{macrocode}
%
% \begin{macro}{\textmc}
% \begin{macro}{\textgt}
%
@@ -1338,14 +1369,14 @@
%
% \begin{macrocode}
\xspcode`+=3
\xspcode`\%=3
% \end{macrocode}
-%
+%
% これ以外にT1エンコーディングで80〜ffの文字もすべて欧文文字ですので,
% 両側の和文文字との間にスペースが入らなければなりません。
-%
+%
% \begin{macrocode}
\xspcode`^^80=3
\xspcode`^^81=3
\xspcode`^^82=3
\xspcode`^^83=3
@@ -4035,11 +4066,11 @@
% その両側に入る余分なグルーを |\inhibitglue| で
% 取り除いています。
%
% \begin{macrocode}
\newcommand{\labelenumi}{\theenumi.}
-\newcommand{\labelenumii}{\inhibitglue(\theenumii)\inhibitglue}
+\newcommand{\labelenumii}{\inhibitglue (\theenumii )\inhibitglue}
\newcommand{\labelenumiii}{\theenumiii.}
\newcommand{\labelenumiv}{\theenumiv.}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -4054,11 +4085,11 @@
% 項目が参照されるときの書式です。
% これも第2レベルは和文用かっこにしました。
%
% \begin{macrocode}
\renewcommand{\p@enumii}{\theenumi}
-\renewcommand{\p@enumiii}{\theenumi\inhibitglue(\theenumii)}
+\renewcommand{\p@enumiii}{\theenumi\inhibitglue (\theenumii )}
\renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
@@ -4454,22 +4485,22 @@
% \begin{macro}{\@eqnnum}
%
% 数式番号の形式です。
% デフォルトの値をコメントアウトして示しておきます。
%
-% |\inhibitglue(\theequation)\inhibitglue| のように和文かっこ
+% |\inhibitglue (\theequation )\inhibitglue| のように和文かっこ
% を使うことも可能です。
%
% \begin{macrocode}
% \def\@eqnnum{(\theequation)}
% \end{macrocode}
% \end{macro}
%
% |amsmath| パッケージを使う場合は |\tagform@| を次のように修正します。
%
% \begin{macrocode}
-% \def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)}}
+% \def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr )}}
% \end{macrocode}
%
% \subsection{フロート}
%
% タイプ \texttt{TYPE} のフロートオブジェクトを
@@ -4639,10 +4670,14 @@
% オリジナルと異なり,文字サイズを |\small| にし,
% キャプションの幅を2cm狭くしました。
%
% [2003-11-05] ロジックを少し変えてみました。
%
+% [2018-12-11] 遅くなりましたが,|listings| パッケージを使うときに
+% |title| を指定すると ``1zw'' が出力されてしまう
+% 問題 (forum:1543,Issue \#71) に対処しました。
+%
% \begin{macrocode}
%<*!jspf>
% \long\def\@makecaption#1#2{{\small
% \advance\leftskip10\jsc@mmm
% \advance\rightskip10\jsc@mmm
@@ -4659,11 +4694,11 @@
\advance\leftskip .0628\linewidth
\advance\rightskip .0628\linewidth
\vskip\abovecaptionskip
\sbox\@tempboxa{#1\hskip1zw\relax #2}%
\ifdim \wd\@tempboxa <\hsize \centering \fi
- #1\hskip1zw\relax #2\par
+ #1{\hskip1zw\relax}#2\par
\vskip\belowcaptionskip}}
%</!jspf>
%<*jspf>
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
@@ -5214,11 +5249,11 @@
% \texttt{ltbibl.dtx} の定義の半角 [] を全角[]に変え,
% 余分なスペースが入らないように |\inhibitglue| ではさみました。
% とりあえずコメントアウトしておきますので,必要に応じて生かしてください。
%
% \begin{macrocode}
-% \def\@biblabel#1{\inhibitglue[#1]\inhibitglue}
+% \def\@biblabel#1{\inhibitglue [#1]\inhibitglue}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\cite}
% \begin{macro}{\@cite}
@@ -5241,11 +5276,11 @@
% \@ifundefined{b@\@citeb}{\mbox{\normalfont\bfseries ?}%
% \G@refundefinedtrue
% \@latex@warning
% {Citation `\@citeb' on page \thepage \space undefined}}%
% {\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}}
-% \def\@cite#1#2{\inhibitglue[{#1\if@tempswa ,#2\fi}]\inhibitglue}
+% \def\@cite#1#2{\inhibitglue [{#1\if@tempswa ,#2\fi}]\inhibitglue}
% \end{macrocode}
%
% 引用番号を上ツキの 1)のようなスタイルにするには次のようにします。
% |\cite| の先頭に |\unskip| を付けて先行のスペース(\verb|~| も)
% を帳消しにしています。
@@ -5860,35 +5895,59 @@
% \end{macro}
%
% \paragraph{今日の日付}
%
% \LaTeX で処理した日付を出力します。
-% |jarticle| などと違って,標準を西暦にし,余分な空白が入らないように改良しました。
+% ^^A |jarticle| などと違って,標準を西暦にし,
+% ^^A 余分な空白が入らないように改良しました。
+% ^^A -- 2018年7月以降は |jarticle| なども標準が西暦,
+% ^^A -- 2019年4月以降は余分な空白が入らなくなっています。
% 和暦にするには |\和暦| と書いてください。
+% ちなみにこの文章の作成日は西暦では{\西暦\today}で,
+% 和暦では{\和暦\today}です。
%
% \begin{macro}{\today}
% \begin{macrocode}
\newif\if西暦 \西暦true
\def\西暦{\西暦true}
\def\和暦{\西暦false}
\newcount\heisei \heisei\year \advance\heisei-1988\relax
+\def\pltx@today@year@#1{%
+ \ifnum\numexpr\year-#1=1 元\else
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
+ \kansuji\numexpr\year-#1\relax
+ \else
+ \number\numexpr\year-#1\relax\nobreak
+ \fi
+ \fi 年
+}
+\def\pltx@today@year{%
+ \ifnum\numexpr\year*10000+\month*100+\day<19890108
+ 昭和\pltx@today@year@{1925}%
+ \else\ifnum\numexpr\year*10000+\month*100+\day<20190501
+ 平成\pltx@today@year@{1988}%
+ \else
+ 令和\pltx@today@year@{2018}%
+ \fi\fi}
\def\today{%
\if@english
\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\day, \number\year
+ \else\if西暦
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi \kansuji\year
+ \else\number\year\nobreak\fi 年
\else
- \if西暦
- \number\year 年
- \number\month 月
- \number\day 日
- \else
- 平成\number\heisei 年
- \number\month 月
- \number\day 日
- \fi
- \fi}
+ \pltx@today@year
+ \fi
+ \ifnum1=\iftdir\ifmdir0\else1\fi\else0\fi
+ \kansuji\month 月
+ \kansuji\day 日
+ \else
+ \number\month\nobreak 月
+ \number\day\nobreak 日
+ \fi\fi}
% \end{macrocode}
% \end{macro}
%
% \paragraph{ハイフネーション例外}
%