diff options
Diffstat (limited to 'Master/texmf-dist/source/platex/jsclasses/jsclasses.dtx')
-rw-r--r-- | Master/texmf-dist/source/platex/jsclasses/jsclasses.dtx | 171 |
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 |