summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/platex/jsclasses/jsclasses.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/platex/jsclasses/jsclasses.dtx')
-rw-r--r--Master/texmf-dist/source/platex/jsclasses/jsclasses.dtx171
1 files changed, 84 insertions, 87 deletions
diff --git a/Master/texmf-dist/source/platex/jsclasses/jsclasses.dtx b/Master/texmf-dist/source/platex/jsclasses/jsclasses.dtx
index 16fc5985b1f..8c1d87f9ca8 100644
--- a/Master/texmf-dist/source/platex/jsclasses/jsclasses.dtx
+++ b/Master/texmf-dist/source/platex/jsclasses/jsclasses.dtx
@@ -6,29 +6,16 @@
%
% \iffalse meta-comment
%
-% pLaTeX2ε新ドキュメントクラス
+% pLaTeX2ε新ドキュメントクラス(日本語 TeX 開発コミュニティ版)
+% 原作者:奥村晴彦 <okumura@okumuralab.org>
%
-% これは LaTeX3 Project の classes.dtx と株式会社アスキーの jclasses.dtx
-% に基づいて,もともと奥村晴彦 <okumura@okumuralab.org> により
-% 作成されたものです。
-% 現在は日本語\TeX 開発コミュニティにより管理されています。
-%
-% [2002-12-19] いろいろなものに収録していただく際にライセンスを明確にする
-% 必要が生じてきました。アスキーのものが最近はmodified BSDライセンスになっ
-% ていますので,私のものもそれに準じてmodified BSDとすることにします。
-%
-% [2016-07-11] abenoriさんによる\texttt{nomag}オプションをマージしました。
-% なお,ソースコードの管理はGitHubで行うことにしました。
-%
-% [2016-07-13] 日本語\TeX 開発コミュニティによる管理に移行しました。
-%
-% Copyright 1993 1994 1995 1996 1997 1998 1999
+% Copyright 1993-2016
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
% Copyright 1995-1999 ASCII Corporation.
% Copyright 1999-2016 Haruhiko Okumura
-% Copyright 2016-2017 Japanese TeX Development Community
+% Copyright 2016-2018 Japanese TeX Development Community
%
% \fi
%
@@ -44,16 +31,19 @@
%<*driver>
\ProvidesFile{jsclasses.dtx}
%</driver>
- [2017/10/04 jsclasses (okumura, texjporg)]
+ [2018/03/11 jsclasses (okumura, texjporg)]
%<*driver>
\documentclass{jsarticle}
\usepackage{doc}
+\xspcode"5C=1 %% \
+\xspcode"22=1 %% "
\addtolength{\textwidth}{-1in}
\addtolength{\evensidemargin}{1in}
\addtolength{\oddsidemargin}{1in}
\addtolength{\marginparwidth}{1in}
\setlength\marginparpush{0pt}
% \OnlyDescription
+\CodelineNumbered
\DisableCrossrefs
\setcounter{StandardModuleDepth}{1}
\GetFileInfo{jsclasses.dtx}
@@ -81,7 +71,12 @@
% \begin{quote}
% |https://github.com/texjporg/jsclasses|
% \end{quote}
-% ライセンスはmodified BSDです。
+%
+% [2002-12-19] いろいろなものに収録していただく際にライセンスを明確にする
+% 必要が生じてきました。アスキーのものが最近はmodified BSDライセンスになっ
+% ていますので,私のものもそれに準じてmodified BSDとすることにします。
+%
+% [2016-07-13] 日本語\TeX 開発コミュニティによる管理に移行しました。
%
% [2009-02-22] 田中琢爾氏によるup\LaTeX 対応パッチを取り込みました。
%
@@ -565,14 +560,20 @@
%
% \paragraph{和文フォントメトリックの選択}
%
-% ここでは新しい \texttt{jis} フォントメトリックを標準で使いますが,
-% 古い \texttt{min10},\texttt{goth10} などを使いたいときは \texttt{mingoth}
-% というオプションを指定します。
-% また,\texttt{winjis} オプションで \texttt{winjis} メトリックが使えます。
+% このクラスファイルでは,和文TFMとして東京書籍印刷の小林肇さんの
+% 作られたJISフォントメトリック(\texttt{jis},\texttt{jisg})
+% を標準で使うことにしますが,
+% 従来の \texttt{min10},\texttt{goth10} などを使いたいときは
+% \texttt{mingoth} というオプションを指定します。
+% また,\texttt{winjis} オプションで \texttt{winjis} メトリック
+% (OTFパッケージと同じpsitauさん作;ソースに書かれたWindowsの
+% 機種依存文字がdvips, dvipdfmxなどで出力出来るようになる)が使えます。
+%
+% [2018-02-04] \texttt{winjis} オプションはコッソリ削除しました。
+% 代替として,同等なものをパッケージ化(winjis.sty)して,
+% GitHubにはコッソリ置いておきます。
%
% \begin{macrocode}
-\newif\ifwinjis
-\winjisfalse
\newif\ifmingoth
\mingothfalse
\newif\ifjisfont
@@ -581,10 +582,13 @@
\@jsc@uplatexfalse
\newif\if@jsc@autodetect
\@jsc@autodetectfalse
+\DeclareOption{winjis}{%
+ \ClassWarningNoLine{\jsc@clsname}{%
+ The option `winjis' has been removed;\MessageBreak
+ Use `\string\usepackage{winjis}' instead}}
\DeclareOption{mingoth}{\mingothtrue}
-\DeclareOption{winjis}{\winjistrue}
\DeclareOption{jis}{\jisfonttrue}
-\DeclareOption{uplatex}{\@jsc@uplatextrue\winjisfalse}
+\DeclareOption{uplatex}{\@jsc@uplatextrue}
\DeclareOption{autodetect-engine}{\@jsc@autodetecttrue}
\def\jsc@JYn{\if@jsc@uplatex JY2\else JY1\fi}
\def\jsc@JTn{\if@jsc@uplatex JT2\else JT1\fi}
@@ -1032,93 +1036,84 @@
% PostScriptの単位では9.5862ポイントになります。
% \texttt{jis} フォントなどもこの値を踏襲しています。
%
-% この公称10ポイントのフォントをここでは13級に縮小して
+% この公称10ポイントのフォントを,ここでは13級に縮小して
% 使うことにします。そのためには,$13/13.527 = 0.961$ 倍
-% すればいいことになります。
+% すればいいことになります(\texttt{min10} や \texttt{jis} の場合)。
+% 9.62216ポイントの和文フォントをさらに0.961倍したことにより,
+% 約9.25ポイント,
+% DTPで使う単位(1/72インチ)では9.21ポイントということになり,
+% 公称10ポイントといっても実は9ポイント強になります。
%
-% また,ここでは和文TFMとして東京書籍印刷の小林肇さんの
-% 作られたJISフォントメトリック(\texttt{jis},\texttt{jisg})
-% を標準で使うことにしますが,\texttt{mingoth} オプションを付けると
-% 従来のフォントメトリック(\texttt{min},\texttt{goth})
-% を使うようにします。
+% [2018-02-04] 上記のとおりの「クラスファイルが意図する
+% 和文スケール値($1\,\mathrm{zw} \div \textmc{要求サイズ}$)」を
+% 表すマクロ |\Cjascale| を定義します。このマクロが定義されて
+% いる場合,OTFパッケージ(2018/02/01以降のバージョン)はこれに
+% 従います。jsarticle, jsbook, jsreportでは,
+% $9.62216\,\mathrm{pt} * 0.961 / 10\,\mathrm{pt} = 0.924690$ です。
%
% \begin{macrocode}
%<*!jspf>
-\ifwinjis
- \DeclareFontShape{JY1}{mc}{m}{n}{<-> s * [0.961] winjis}{}
- \DeclareFontShape{JY1}{gt}{m}{n}{<-> s * [0.961] winjisg}{}
- \DeclareFontShape{JT1}{mc}{m}{n}{<-> s * [0.961] winjis-v}{}
- \DeclareFontShape{JT1}{gt}{m}{n}{<-> s * [0.961] winjisg-v}{}
+\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}{}
+ \DeclareFontShape{\jsc@JTn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ tmin10}{}
+ \DeclareFontShape{\jsc@JTn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ tgoth10}{}
\else
- \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}{}
+ \ifjisfont
+ \DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ jis}{}
+ \DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ jisg}{}
\DeclareFontShape{\jsc@JTn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ tmin10}{}
\DeclareFontShape{\jsc@JTn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ tgoth10}{}
\else
- \ifjisfont
+ \if@jsc@uplatex
+ \DeclareFontShape{JY2}{mc}{m}{n}{<-> s * [0.924690] upjisr-h}{}
+ \DeclareFontShape{JY2}{gt}{m}{n}{<-> s * [0.924690] upjisg-h}{}
+ \DeclareFontShape{JT2}{mc}{m}{n}{<-> s * [0.924690] upjisr-v}{}
+ \DeclareFontShape{JT2}{gt}{m}{n}{<-> s * [0.924690] upjisg-v}{}
+ \else
\DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ jis}{}
\DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ jisg}{}
\DeclareFontShape{\jsc@JTn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ tmin10}{}
\DeclareFontShape{\jsc@JTn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ tgoth10}{}
- \else
- \if@jsc@uplatex
- \DeclareFontShape{JY2}{mc}{m}{n}{<-> s * [0.924690] upjisr-h}{}
- \DeclareFontShape{JY2}{gt}{m}{n}{<-> s * [0.924690] upjisg-h}{}
- \DeclareFontShape{JT2}{mc}{m}{n}{<-> s * [0.924690] upjisr-v}{}
- \DeclareFontShape{JT2}{gt}{m}{n}{<-> s * [0.924690] upjisg-v}{}
- \else
- \DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ jis}{}
- \DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ jisg}{}
- \DeclareFontShape{\jsc@JTn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ tmin10}{}
- \DeclareFontShape{\jsc@JTn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ tgoth10}{}
- \fi
\fi
\fi
\fi
%</!jspf>
% \end{macrocode}
%
-% 9.62216ポイントの和文フォントをさらに0.961倍したことにより,
-% 約9.25ポイント,
-% DTPで使う単位(1/72インチ)では9.21ポイントということになり,
-% 公称10ポイントといっても実は9ポイント強になります。
-%
% 某学会誌では,
% 和文フォントをPostScriptの9ポイントにするために,
% $9/(9.62216*72/72.27) = 0.93885$ 倍します。
%
+% [2018-02-04] 和文スケール値 |\Cjascale| は
+% $9.62216\,\mathrm{pt} * 0.93885 / 10\,\mathrm{pt} = 0.903375$ です。
+%
% \begin{macrocode}
%<*jspf>
-\ifwinjis
- \DeclareFontShape{JY1}{mc}{m}{n}{<-> s * [0.93885] winjis}{}
- \DeclareFontShape{JY1}{gt}{m}{n}{<-> s * [0.93885] winjisg}{}
- \DeclareFontShape{JT1}{mc}{m}{n}{<-> s * [0.93885] winjis-v}{}
- \DeclareFontShape{JT1}{gt}{m}{n}{<-> s * [0.93885] winjisg-v}{}
+\def\Cjascale{0.903375}
+\ifmingoth
+ \DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.93885] \jsc@pfx@ min10}{}
+ \DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.93885] \jsc@pfx@ goth10}{}
+ \DeclareFontShape{\jsc@JTn}{mc}{m}{n}{<-> s * [0.93885] \jsc@pfx@ tmin10}{}
+ \DeclareFontShape{\jsc@JTn}{gt}{m}{n}{<-> s * [0.93885] \jsc@pfx@ tgoth10}{}
\else
- \ifmingoth
- \DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.93885] \jsc@pfx@ min10}{}
- \DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.93885] \jsc@pfx@ goth10}{}
+ \ifjisfont
+ \DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.93885] \jsc@pfx@ jis}{}
+ \DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.93885] \jsc@pfx@ jisg}{}
\DeclareFontShape{\jsc@JTn}{mc}{m}{n}{<-> s * [0.93885] \jsc@pfx@ tmin10}{}
\DeclareFontShape{\jsc@JTn}{gt}{m}{n}{<-> s * [0.93885] \jsc@pfx@ tgoth10}{}
\else
- \ifjisfont
+ \if@jsc@uplatex
+ \DeclareFontShape{JY2}{mc}{m}{n}{<-> s * [0.903375] upjisr-h}{}
+ \DeclareFontShape{JY2}{gt}{m}{n}{<-> s * [0.903375] upjisg-h}{}
+ \DeclareFontShape{JT2}{mc}{m}{n}{<-> s * [0.903375] upjisr-v}{}
+ \DeclareFontShape{JT2}{gt}{m}{n}{<-> s * [0.903375] upjisg-v}{}
+ \else
\DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.93885] \jsc@pfx@ jis}{}
\DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.93885] \jsc@pfx@ jisg}{}
\DeclareFontShape{\jsc@JTn}{mc}{m}{n}{<-> s * [0.93885] \jsc@pfx@ tmin10}{}
\DeclareFontShape{\jsc@JTn}{gt}{m}{n}{<-> s * [0.93885] \jsc@pfx@ tgoth10}{}
- \else
- \if@jsc@uplatex
- \DeclareFontShape{JY2}{mc}{m}{n}{<-> s * [0.903375] upjisr-h}{}
- \DeclareFontShape{JY2}{gt}{m}{n}{<-> s * [0.903375] upjisg-h}{}
- \DeclareFontShape{JT2}{mc}{m}{n}{<-> s * [0.903375] upjisr-v}{}
- \DeclareFontShape{JT2}{gt}{m}{n}{<-> s * [0.903375] upjisg-v}{}
- \else
- \DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.93885] \jsc@pfx@ jis}{}
- \DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.93885] \jsc@pfx@ jisg}{}
- \DeclareFontShape{\jsc@JTn}{mc}{m}{n}{<-> s * [0.93885] \jsc@pfx@ tmin10}{}
- \DeclareFontShape{\jsc@JTn}{gt}{m}{n}{<-> s * [0.93885] \jsc@pfx@ tgoth10}{}
- \fi
\fi
\fi
\fi
@@ -5453,6 +5448,8 @@
% ^^A |\ifx\pltx@foot@penalty\@undefined\else ... \fi|
% ^^A 条件の内側に置いておくのが安全。
%
+% [2018-03-11] |\next|などいくつかの内部命令を |\jsc@...| 付きの
+% ユニークな名前にしました。
% \begin{macrocode}
\long\def\@footnotetext{%
\insert\footins\bgroup
@@ -5467,12 +5464,12 @@
\color@begingroup
\@makefntext{%
\rule\z@\footnotesep\ignorespaces}%
- \futurelet\next\fo@t}
-\def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t
- \else \let\next\f@t\fi \next}
-\def\f@@t{\bgroup\aftergroup\@foot\let\next}
-\def\f@t#1{#1\@foot}
-\def\@foot{\@finalstrut\strutbox\color@endgroup\egroup
+ \futurelet\jsc@next\jsc@fo@t}
+\def\jsc@fo@t{\ifcat\bgroup\noexpand\jsc@next \let\jsc@next\jsc@f@@t
+ \else \let\jsc@next\jsc@f@t\fi \jsc@next}
+\def\jsc@f@@t{\bgroup\aftergroup\jsc@@foot\let\jsc@next}
+\def\jsc@f@t#1{#1\jsc@@foot}
+\def\jsc@@foot{\@finalstrut\strutbox\color@endgroup\egroup
\ifx\pltx@foot@penalty\@undefined\else
\ifhmode\null\fi
\ifnum\pltx@foot@penalty=\z@\else