summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/bxjscls
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-07-17 21:26:56 +0000
committerKarl Berry <karl@freefriends.org>2016-07-17 21:26:56 +0000
commit1f575200f08d8ba2447a31c849674502b41ab179 (patch)
tree06a0b976b237397abcb5269a4049fec84602875b /Master/texmf-dist/source/latex/bxjscls
parent9ec50960db8f0d00992eac3f81ef372e3dc21f95 (diff)
bxjscls (17jul16)
git-svn-id: svn://tug.org/texlive/trunk@41717 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/bxjscls')
-rw-r--r--Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx316
1 files changed, 204 insertions, 112 deletions
diff --git a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
index cc5774906d4..d0f6af9df3f 100644
--- a/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
+++ b/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
@@ -3,8 +3,9 @@
%
% BXJS ドキュメントクラス
%
-% 本ソフトウェアは奥村晴彦氏による「pLaTeX2ε新ドキュメントクラス」を
-% 「ZR」が改変したものである。
+% 本ソフトウェアは奥村晴彦氏および日本語TeX開発コミュニティによる
+% 「pLaTeX2ε新ドキュメントクラス」を
+% 「八登 崇之(別名 ZR)」が改変したものである。
% 本ソフトウェアは修正 BSD ライセンスの下で配布される。
%
% 以下に原版についての原版著者による情報を示す:
@@ -13,19 +14,26 @@
% pLaTeX2ε新ドキュメントクラス
%
% これは LaTeX3 Project の classes.dtx と株式会社アスキーの jclasses.dtx
-% に基づいて奥村 <okumura@edu.mie-u.ac.jp> が改変したものです。
-% 奥村の改変部分については何の権利も主張しません。
-% オリジナルの著作権の許す範囲で自由にご利用ください。
+% に基づいて,もともと奥村晴彦 <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
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
% Copyright 1995-1999 ASCII Corporation.
+% Copyright 1999-2016 Haruhiko Okumura
+% Copyright 2016 Japanese TeX Development Community
%
% \fi
% \CheckSum{0}
@@ -62,7 +70,9 @@
%<*driver>
\ProvidesFile{bxjscls.dtx}
%</driver>
- [2016/05/28 v1.1e BXJS document classes]
+ [2016/07/16 v1.1f BXJS document classes]
+% based on jsclasses [2016/07/15]
+% [2016/05/28 v1.1e BXJS document classes]
% [2016/05/21 v1.1d BXJS document classes]
% [2016/05/01 v1.1c BXJS document classes]
% [2016/03/27 v1.1b BXJS document classes]
@@ -151,10 +161,10 @@
% \end{tabular}
% \end{quote}
%
-% 本ドキュメントクラスは奥村晴彦氏の「p\LaTeXe 新ドキュメントクラス」
-% に改変を加えたものである。
+% 本ドキュメントクラスは奥村晴彦氏および日本語TeX開発コミュニティ
+% による「p\LaTeXe 新ドキュメントクラス」に改変を加えたものである。
% 本ドキュメントクラスに関する説明は全てこの形式の枠の中に記す。
-% 枠の外にあるものは奥村氏による原版に対する解説である。
+% 枠の外にあるものは原版著者による原版に対する解説である。
% \end{ZRnote}
%
% これは\LaTeX3 Projectの \texttt{classes.dtx} と
@@ -203,7 +213,7 @@
%
% \StopEventually{}
%
-% 以下では実際のコードに即して説明します。^^A 1in
+% 以下では実際のコードに即して説明します。
%
% \paragraph{BXJSクラス特有の設定 ☆}
%
@@ -519,6 +529,9 @@
%
% [2003-04-18] 12Qオプションを追加しました。
%
+% [2016-07-08] |\mag| を使わずに各種寸法をスケールさせるためのオプション \texttt{nomag} を新設しました。
+% \texttt{usemag} オプションの指定で従来通りの動作となります.デフォルトは \texttt{usemag} です.
+%
% \begin{ZRnote}
% |\@ptsize| は |10pt|, |11pt|, |12pt| が指定された時のみ従来と同じ値とし、
% それ以外は |\jsUnusualPtSize|(= $-20$)にする。
@@ -580,6 +593,12 @@
% \end{macrocode}
% \end{macro}
%
+% |\\ifjsc@mag| は「|\mag| を使うか」を表すスイッチ。
+% \begin{macrocode}
+\newif\ifjsc@mag
+%\let\jsc@magscale\@undefined
+% \end{macrocode}
+%
% \begin{macrocode}
\DeclareOption{8pt}{\bxjs@setbasefontsize{8pt}}
\DeclareOption{9pt}{\bxjs@setbasefontsize{9pt}}
@@ -601,13 +620,26 @@
\DeclareOption{11ptj}{\bxjs@setjbasefontsize{11pt}}
\DeclareOption{12ptj}{\bxjs@setjbasefontsize{12pt}}
% \end{macrocode}
+%
+% JSクラス互換のmagstyle設定オプション。
+% \begin{macrocode}
+\DeclareOption{usemag}{\let\bxjs@magstyle\bxjs@magstyle@usemag}
+\DeclareOption{nomag}{\let\bxjs@magstyle\bxjs@magstyle@nomag}
+\DeclareOption{nomag*}{\let\bxjs@magstyle\bxjs@magstyle@xreal}
+% \end{macrocode}
+%
% \end{ZRnote}
%
% \paragraph{トンボオプション}
% \mbox{}
% \begin{ZRnote}
% 欧文 {\LaTeX} のカーネルではサポートされないため削除。
+%
+% ただしJSクラスとの互換のため以下の変数を用意する。
% \end{ZRnote}
+% \begin{macrocode}
+\newdimen\stockwidth \newdimen\stockheight
+% \end{macrocode}
%
% \paragraph{面付け}
% \mbox{}
@@ -1085,7 +1117,11 @@
\bxjs@bigcodetrue}
% \end{macrocode}
%
-% keyval型のオプションの処理。
+% \end{ZRnote}
+%
+% \paragraph{keyval型のオプション ☆}
+% \mbox{}
+% \begin{ZRnote}
% \begin{macrocode}
\def\bxjs@setkey{%
\expandafter\bxjs@setkey@a\expandafter{\CurrentOption}}
@@ -1218,12 +1254,23 @@
% \end{macrocode}
%
% \begin{macro}{\bxjs@magstyle}
-% magstyle設定値。
+% magstyle設定値。(古いイマイチな名前。)
% \begin{macrocode}
\let\bxjs@magstyle@mag=m
\let\bxjs@magstyle@real=r
\let\bxjs@magstyle@xreal=x
-\let\bxjs@magstyle@default\bxjs@magstyle@mag
+% \end{macrocode}
+% (新しい素敵な名前。)
+% \Note ただし制御綴としては、|*|付の名前は扱い難いので、|\bxjs@magstyle@xreal|
+% の方を優先させる。
+% \begin{macrocode}
+\let\bxjs@magstyle@usemag\bxjs@magstyle@mag
+\let\bxjs@magstyle@nomag\bxjs@magstyle@real
+\expandafter\let\csname bxjs@magstyle@nomag*\endcsname\bxjs@magstyle@xreal
+% \end{macrocode}
+% |\bxjs@magstyle@default| は既定の値を表す。
+% \begin{macrocode}
+\let\bxjs@magstyle@default\bxjs@magstyle@usemag
\ifx l\jsEngine \ifnum\luatexversion>86
\let\bxjs@magstyle@default\bxjs@magstyle@xreal
\fi\fi
@@ -1239,7 +1286,7 @@
\ifx\bxjs@magstyle\relax
\ClassError\bxjs@clsname
{Invalid magstyle value `#1'}\@ehc
- \let\bxjs@magstyle\bxjs@magstyle@mag
+ \let\bxjs@magstyle\bxjs@magstyle@default
\fi}
% \end{macrocode}
%
@@ -1478,6 +1525,7 @@
% \begin{ZRnote}
% 8bit欧文{\TeX}の場合は、高位バイトをアクティブ化しておく。
% (和文を含むマクロ定義を通用させるため。)
+% \end{ZRnote}
% \begin{macrocode}
\if \if p\jsEngine T\else\if n\jsEngine T\else F\fi\fi T
\@tempcnta="80 \loop \ifnum\@tempcnta<"100
@@ -1487,10 +1535,12 @@
\fi
% \end{macrocode}
%
+% \begin{ZRnote}
% |js| オプション指定時は、jsarticle(または jsbook)クラスを
% 読込済のように振舞う。
% \Note 「2つのクラスを読み込んだ状態」は |\LoadClass| を使用した
% 場合に出現するので、別に異常ではない。
+% \end{ZRnote}
% \begin{macrocode}
\ifbxjs@disguise@js
%<book|report>\def\bxjs@js@clsname{jsbook}
@@ -1498,7 +1548,15 @@
\@namedef{ver@\bxjs@js@clsname.cls}{2001/01/01 (bxjs)}
\fi
% \end{macrocode}
+%
+% \begin{ZRnote}
+% |color|/|graphics|パッケージがもつ出力用紙サイズ設定の機能は、
+% BXJSクラスでは余計なので無効にしておく。
+% このため、グローバルで |nosetpagesize| を設定しておく。
% \end{ZRnote}
+% \begin{macrocode}
+\g@addto@macro\@classoptionslist{,nosetpagesize}
+% \end{macrocode}
%
% \paragraph{papersizeスペシャルの出力}
% \mbox{}
@@ -1522,13 +1580,6 @@
% \paragraph{拡大率の設定}
%
% \begin{ZRnote}
-% \begin{macro}{\ifbxjs@mag}
-% |\mag| するか。
-% \begin{macrocode}
-\newif\ifbxjs@mag
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\ifbxjs@nfss@patch}
% NFSSパッチするか。
% \begin{macrocode}
@@ -1538,7 +1589,7 @@
%
% \begin{macrocode}
\ifx\bxjs@magstyle\bxjs@magstyle@mag
- \bxjs@magtrue
+ \jsc@magtrue
\else\ifx\bxjs@magstyle\bxjs@magstyle@xreal
\bxjs@nfss@patchtrue
\fi\fi
@@ -1562,6 +1613,7 @@
% 設定すべき |\mag| 値を (基底サイズ)/(10\,pt) $\times$ 1000 と算出。
% BXJSクラスでは、|\mag| を直接指定したい場合は、|geometry| 側では
% なくクラスのオプションで行うものとする。
+% \end{ZRnote}
% \begin{macrocode}
\ifx\bxjs@param@mag\relax
\@tempdima=\bxjs@param@basefontsize
@@ -1582,33 +1634,35 @@
\@tempcnta\bxjs@param@mag \advance\@tempcnta100000
\def\bxjs@tmpa#1#2#3#4\@nil{\@tempdima=#2#3.#4\p@}
\expandafter\bxjs@tmpa\the\@tempcnta\@nil
-\edef\bxjs@real@mag{\strip@pt\@tempdima}
+\edef\jsc@magscale{\strip@pt\@tempdima}
\let\jsBaseFontSize\bxjs@param@basefontsize
%\typeout{\string\jsDocClass: \meaning\jsDocClass}
%\typeout{\string\jsEngine: \meaning\jsEngine}
%\typeout{\string\jsBaseFontSize: \jsBaseFontSize}
%\typeout{\string\bxjs@param@mag: \bxjs@param@mag}
-%\typeout{\string\bxjs@real@mag: \bxjs@real@mag}
-%\typeout{\string\ifbxjs@mag: \meaning\ifbxjs@mag}
+%\typeout{\string\jsc@magscale: \jsc@magscale}
+%\typeout{\string\ifjsc@mag: \meaning\ifjsc@mag}
%\typeout{\string\ifbxjs@nfss@patch: \meaning\ifbxjs@nfss@patch}
% \end{macrocode}
%
-% |\bxjs@mpt| は基底スケールしたpt。
-% |\mag| する場合は |\p@| と同値にする。
+% [2016-07-08] |\jsc@mpt| および |\jsc@mmm| に,それぞれ1ptおよび1mmを拡大させた値を格納します。
+% 以降のレイアウト指定ではこちらを使います。
%
+% \begin{ZRnote}
% |\mag| する場合(現状はこれが既定)にコードの変更を低減するために、
-% 以下では必要に応じて、|\bxjs@mpt| を |\p@?| と書く。
+% 以下では必要に応じて、|\jsc@mpt| を |\p@?| と書く。
% その上で、|\mag| する場合は |?| を無視して |\p@| と解釈させ、
% |\mag| しない場合は |?| を英字扱いにして |\p@?| という制御綴を
-% |\bxjs@mpt| と同値にする。
+% |\jsc@mpt| と同値にする。
% \begin{macrocode}
-\ifbxjs@mag
- \let\bxjs@mpt\p@
+\ifjsc@mag
+ \let\jsc@mpt\p@
+ \newdimen\jsc@mmm \jsc@mmm=1mm
\catcode`\?=9 % \p@? read as \p@
\else
- \newdimen\bxjs@mpt
- \bxjs@mpt=\bxjs@real@mag \p@
- \catcode`\?=11 \let\p@?\bxjs@mpt
+ \newdimen\jsc@mpt \jsc@mpt=\jsc@magscale \p@
+ \newdimen\jsc@mmm \jsc@mmm=\jsc@magscale mm
+ \catcode`\?=11 \let\p@?\jsc@mpt
\fi
\chardef\bxjs@qmcc=\catcode`\?\relax
% \end{macrocode}
@@ -1619,7 +1673,7 @@
% |nozw| 非指定時は |\zw| を |\jsZw| と同義にする。
% \begin{macrocode}
\newdimen\jsZw
-\jsZw=10\bxjs@mpt \jsZw=\jsScale\jsZw
+\jsZw=10\jsc@mpt \jsZw=\jsScale\jsZw
\ifbxjs@usezw
\providecommand*\zw{\jsZw}
\fi
@@ -1649,7 +1703,7 @@
\fi}
\def\bxjs@preadjust@extract@font{%
\let\bxjs@req@size\f@size
- \dimen@\f@size\p@ \bxjs@invscale\dimen@\bxjs@real@mag
+ \dimen@\f@size\p@ \bxjs@invscale\dimen@\jsc@magscale
\advance\dimen@.005pt\relax \bxjs@fstrunc\dimen@
\let\bxjs@ref@size\bxjs@tmpa
\let\f@size\bxjs@ref@size}
@@ -1659,7 +1713,7 @@
\csname s@fct@#1\endcsname}
\let\bxjs@DeclareErrorFont\DeclareErrorFont
\def\DeclareErrorFont#1#2#3#4#5{%
- \@tempdimc#5\p@ \@tempdimc\bxjs@real@mag\@tempdimc
+ \@tempdimc#5\p@ \@tempdimc\jsc@magscale\@tempdimc
\edef\bxjs@tmpa{{#1}{#2}{#3}{#4}{\strip@pt\@tempdimc}}
\expandafter\bxjs@DeclareErrorFont\bxjs@tmpa}
\def\gen@sfcnt{%
@@ -1694,7 +1748,8 @@
%
% \begin{macrocode}
\chardef\bxjs@periodchar=`\.
-\def\@{\spacefactor\sfcode\bxjs@periodchar}
+\bxjs@protected\def\bxjs@SE{\spacefactor\sfcode\bxjs@periodchar}
+\def\@{\bxjs@SE{}}
% \end{macrocode}
% \end{macro}
%
@@ -1784,19 +1839,20 @@
\newcommand*\jsResetDimen{}
% \end{macrocode}
% \end{macro}
+% \end{ZRnote}
%
-% \begin{macro}{\bxjs@setfontsize}
-% 基底スケールを考慮した |\@setfontsize|。
+% \begin{macro}{\jsc@setfontsize}
+% クラスファイルの内部では,拡大率も考慮した |\jsc@setfontsize| を
+% |\@setfontsize| の変わりに用いることにします。
% \begin{macrocode}
-\ifbxjs@mag
- \let\bxjs@setfontsize\@setfontsize
+\ifjsc@mag
+ \let\jsc@setfontsize\@setfontsize
\else
- \def\bxjs@setfontsize#1#2#3{%
- \@setfontsize#1{#2\bxjs@mpt}{#3\bxjs@mpt}}
+ \def\jsc@setfontsize#1#2#3{%
+ \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}}
\fi
% \end{macrocode}
% \end{macro}
-% \end{ZRnote}
%
% これらのグルーをもってしても行分割ができない場合は,
% |\emergencystretch| に訴えます。
@@ -1898,9 +1954,9 @@
% \begin{macrocode}
\renewcommand{\normalsize}{%
\bxjs@if@narrowbaselines{%
- \bxjs@setfontsize\normalsize\@xpt\@xiipt
+ \jsc@setfontsize\normalsize\@xpt\@xiipt
}{%else
- \bxjs@setfontsize\normalsize\@xpt{\n@baseline}%
+ \jsc@setfontsize\normalsize\@xpt{\n@baseline}%
}%
% \end{macrocode}
%
@@ -1991,11 +2047,11 @@
% \begin{macrocode}
\newcommand{\small}{%
\bxjs@if@narrowbaselines{%
-%<!kiyou> \bxjs@setfontsize\small\@ixpt{11}%
-%<kiyou> \bxjs@setfontsize\small{8.8888}{11}%
+%<!kiyou> \jsc@setfontsize\small\@ixpt{11}%
+%<kiyou> \jsc@setfontsize\small{8.8888}{11}%
}{%else
-%<!kiyou> \bxjs@setfontsize\small\@ixpt{13}%
-%<kiyou> \bxjs@setfontsize\small{8.8888}{13.2418}%
+%<!kiyou> \jsc@setfontsize\small\@ixpt{13}%
+%<kiyou> \jsc@setfontsize\small{8.8888}{13.2418}%
}%
\abovedisplayskip 9\p@? \@plus3\p@? \@minus4\p@?
\abovedisplayshortskip \z@ \@plus3\p@?
@@ -2017,11 +2073,11 @@
% \begin{macrocode}
\newcommand{\footnotesize}{%
\bxjs@if@narrowbaselines{%
-%<!kiyou> \bxjs@setfontsize\footnotesize\@viiipt{9.5}%
-%<kiyou> \bxjs@setfontsize\footnotesize{8.8888}{11}%
+%<!kiyou> \jsc@setfontsize\footnotesize\@viiipt{9.5}%
+%<kiyou> \jsc@setfontsize\footnotesize{8.8888}{11}%
}{%else
-%<!kiyou> \bxjs@setfontsize\footnotesize\@viiipt{11}%
-%<kiyou> \bxjs@setfontsize\footnotesize{8.8888}{13.2418}%
+%<!kiyou> \jsc@setfontsize\footnotesize\@viiipt{11}%
+%<kiyou> \jsc@setfontsize\footnotesize{8.8888}{13.2418}%
}%
\abovedisplayskip 6\p@? \@plus2\p@? \@minus3\p@?
\abovedisplayshortskip \z@ \@plus2\p@?
@@ -2053,21 +2109,21 @@
% [2004-11-03] |\HUGE| を追加。
%
% \begin{macrocode}
-\newcommand{\scriptsize}{\bxjs@setfontsize\scriptsize\@viipt\@viiipt}
-\newcommand{\tiny}{\bxjs@setfontsize\tiny\@vpt\@vipt}
+\newcommand{\scriptsize}{\jsc@setfontsize\scriptsize\@viipt\@viiipt}
+\newcommand{\tiny}{\jsc@setfontsize\tiny\@vpt\@vipt}
\if@twocolumn
-%<!kiyou> \newcommand{\large}{\bxjs@setfontsize\large\@xiipt{\n@baseline}}
-%<kiyou> \newcommand{\large}{\bxjs@setfontsize\large{11.111}{\n@baseline}}
+%<!kiyou> \newcommand{\large}{\jsc@setfontsize\large\@xiipt{\n@baseline}}
+%<kiyou> \newcommand{\large}{\jsc@setfontsize\large{11.111}{\n@baseline}}
\else
-%<!kiyou> \newcommand{\large}{\bxjs@setfontsize\large\@xiipt{17}}
-%<kiyou> \newcommand{\large}{\bxjs@setfontsize\large{11.111}{17}}
+%<!kiyou> \newcommand{\large}{\jsc@setfontsize\large\@xiipt{17}}
+%<kiyou> \newcommand{\large}{\jsc@setfontsize\large{11.111}{17}}
\fi
-%<!kiyou>\newcommand{\Large}{\bxjs@setfontsize\Large\@xivpt{21}}
-%<kiyou>\newcommand{\Large}{\bxjs@setfontsize\Large{12.222}{21}}
-\newcommand{\LARGE}{\bxjs@setfontsize\LARGE\@xviipt{25}}
-\newcommand{\huge}{\bxjs@setfontsize\huge\@xxpt{28}}
-\newcommand{\Huge}{\bxjs@setfontsize\Huge\@xxvpt{33}}
-\newcommand{\HUGE}{\bxjs@setfontsize\HUGE{30}{40}}
+%<!kiyou>\newcommand{\Large}{\jsc@setfontsize\Large\@xivpt{21}}
+%<kiyou>\newcommand{\Large}{\jsc@setfontsize\Large{12.222}{21}}
+\newcommand{\LARGE}{\jsc@setfontsize\LARGE\@xviipt{25}}
+\newcommand{\huge}{\jsc@setfontsize\huge\@xxpt{28}}
+\newcommand{\Huge}{\jsc@setfontsize\Huge\@xxvpt{33}}
+\newcommand{\HUGE}{\jsc@setfontsize\HUGE{30}{40}}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2230,7 +2286,7 @@
% |\topskip| も指定する。
% \end{ZRnote}
% \begin{macrocode}
-\ifbxjs@mag
+\ifjsc@mag
\mag=\bxjs@param@mag
\fi
\setlength{\topskip}{10\p@?}
@@ -2255,7 +2311,7 @@
% \end{ZRnote}
% \begin{macrocode}
\edef\bxjs@layout@paper{%
- \ifbxjs@mag truedimen,\fi
+ \ifjsc@mag truedimen,\fi
\if@landscape landscape,\fi
\bxjs@param@paper}
% \end{macrocode}
@@ -2276,9 +2332,8 @@
%</article|report>
%<*book>
\def\bxjs@layout{%
-% 6mm=17.07164pt, 36mm=102.42992pt
- headheight=\topskip,headsep=17.07164\p@?,nofoot,includeheadfoot,%
- hmargin=102.42992\p@?,hmarginratio=1:1,%
+ headheight=\topskip,headsep=6\jsc@mmm,nofoot,includeheadfoot,%
+ hmargin=36\jsc@mmm,hmarginratio=1:1,%
vscale=0.83,vmarginratio=1:1,%
}
%</book>
@@ -2332,10 +2387,12 @@
\setlength\marginparsep{\columnsep}
\setlength\marginparpush{\baselineskip}
\setlength\marginparwidth{\paperwidth-\oddsidemargin-1truein%
- -\textwidth-1cm-\marginparsep}
+ -\textwidth-10\jsc@mmm-\marginparsep}
\divide\marginparwidth\Cwd \multiply\marginparwidth\Cwd
% 連動する変数
\maxdepth=.5\topskip
+ \stockwidth=\paperwidth
+ \stockheight=\paperheight
}
% \end{macrocode}
%
@@ -2414,6 +2471,8 @@
% \end{macrocode}
% \begin{ZRnote}
% ここで |geometry| を読み込む。
+% \Note |geometry| のbegin-documentフックにおいて、Lua{\TeX}の
+% 旧版互換を有効にする。
% \end{ZRnote}
% \begin{macrocode}
\edef\bxjs@nxt{%
@@ -2422,9 +2481,11 @@
\bxjs@nxt \bxjs@revert
\AtBeginDocument{\RevokeOldLuaTeXBehavior}
% \end{macrocode}
+% \begin{ZRnote}
% |\bxjs@geometry@driver| は |geometry| が用いるドライバの名前。
% \Note この値は一度決めた後は変わってほしくないので、
% |\bxjs@postproc@layout| において書き戻す処理を入れている。
+% \end{ZRnote}
% \begin{macrocode}
\let\bxjs@geometry@driver\Gm@driver
\bxjs@postproc@layout
@@ -3757,8 +3818,8 @@
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
- \addtocontents{lof}{\protect\addvspace{10\p@}}%
- \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \addtocontents{lof}{\protect\addvspace{10\jsc@mpt}}%
+ \addtocontents{lot}{\protect\addvspace{10\jsc@mpt}}%
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
@@ -4941,18 +5002,18 @@
%
% 目次を生成します。
%
-% \begin{macro}{\js@tocl@width}
+% \begin{macro}{\jsc@tocl@width}
%
% [2013-12-30] |\prechaptername| などから見積もった目次のラベルの長さです。(by ts)
%
% \begin{macrocode}
-\newdimen\js@tocl@width
+\newdimen\jsc@tocl@width
\newcommand{\tableofcontents}{%
%<*book|report>
- \settowidth\js@tocl@width{\headfont\prechaptername\postchaptername}%
+ \settowidth\jsc@tocl@width{\headfont\prechaptername\postchaptername}%
\settowidth\@tempdima{\headfont\appendixname}%
- \ifdim\js@tocl@width<\@tempdima \setlength\js@tocl@width{\@tempdima}\fi
- \ifdim\js@tocl@width<2\jsZw \divide\js@tocl@width by 2 \advance\js@tocl@width 1\jsZw\fi
+ \ifdim\jsc@tocl@width<\@tempdima \setlength\jsc@tocl@width{\@tempdima}\fi
+ \ifdim\jsc@tocl@width<2\jsZw \divide\jsc@tocl@width by 2 \advance\jsc@tocl@width 1\jsZw\fi
\if@twocolumn
\@restonecoltrue\onecolumn
\else
@@ -4962,10 +5023,10 @@
\@mkboth{\contentsname}{}%
%</book|report>
%<*!book&!report>
- \settowidth\js@tocl@width{\headfont\presectionname\postsectionname}%
+ \settowidth\jsc@tocl@width{\headfont\presectionname\postsectionname}%
\settowidth\@tempdima{\headfont\appendixname}%
- \ifdim\js@tocl@width<\@tempdima\relax\setlength\js@tocl@width{\@tempdima}\fi
- \ifdim\js@tocl@width<2\jsZw \divide\js@tocl@width by 2 \advance\js@tocl@width 1\jsZw\fi
+ \ifdim\jsc@tocl@width<\@tempdima\relax\setlength\jsc@tocl@width{\@tempdima}\fi
+ \ifdim\jsc@tocl@width<2\jsZw \divide\jsc@tocl@width by 2 \advance\jsc@tocl@width 1\jsZw\fi
\section*{\contentsname}%
\@mkboth{\contentsname}{\contentsname}%
%</!book&!report>
@@ -5007,7 +5068,7 @@
%
% 章の目次です。|\@lnumwidth| を4.683zwに増やしました。
%
-% [2013-12-30] |\@lnumwidth| を |\js@tocl@width| から
+% [2013-12-30] |\@lnumwidth| を |\jsc@tocl@width| から
% 決めるようにしてみました。(by ts)
%
% \begin{macrocode}
@@ -5024,7 +5085,7 @@
\parfillskip-\rightskip
\leavevmode\headfont
% % \if@english\setlength\@lnumwidth{5.5em}\else\setlength\@lnumwidth{4.683\jsZw}\fi
- \setlength\@lnumwidth{\js@tocl@width}\advance\@lnumwidth 2.683\jsZw
+ \setlength\@lnumwidth{\jsc@tocl@width}\advance\@lnumwidth 2.683\jsZw
\advance\leftskip\@lnumwidth \hskip-\leftskip
#1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par
\penalty\@highpenalty
@@ -5051,7 +5112,7 @@
\parfillskip-\rightskip
\leavevmode\headfont
% % \setlength\@lnumwidth{4\jsZw}% 元1.5em [2003-03-02]
- \setlength\@lnumwidth{\js@tocl@width}\advance\@lnumwidth 2\jsZw
+ \setlength\@lnumwidth{\jsc@tocl@width}\advance\@lnumwidth 2\jsZw
\advance\leftskip\@lnumwidth \hskip-\leftskip
#1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par
\endgroup
@@ -5065,7 +5126,7 @@
%<book|report> % \newcommand*{\l@section}{\@dottedtocline{1}{1\jsZw}{3.683\jsZw}}
% \end{macrocode}
%
-% [2013-12-30] 上のインデントは |\js@tocl@width| から決めるように
+% [2013-12-30] 上のインデントは |\jsc@tocl@width| から決めるように
% しました。(by ts)
%
% \end{macro}
@@ -5078,7 +5139,7 @@
% さらに下位レベルの目次項目の体裁です。
% あまり使ったことがありませんので,要修正かもしれません。
%
-% [2013-12-30] ここも |\js@tocl@width| から決めるように
+% [2013-12-30] ここも |\jsc@tocl@width| から決めるように
% してみました。(by ts)
%
% \begin{macrocode}
@@ -5093,16 +5154,16 @@
% \newcommand*{\l@subparagraph} {\@dottedtocline{5}{4\jsZw}{3\jsZw}}
%
\newcommand*{\l@subsection}{%
- \@tempdima\js@tocl@width \advance\@tempdima -1\jsZw
+ \@tempdima\jsc@tocl@width \advance\@tempdima -1\jsZw
\@dottedtocline{2}{\@tempdima}{3\jsZw}}
\newcommand*{\l@subsubsection}{%
- \@tempdima\js@tocl@width \advance\@tempdima 0\jsZw
+ \@tempdima\jsc@tocl@width \advance\@tempdima 0\jsZw
\@dottedtocline{3}{\@tempdima}{4\jsZw}}
\newcommand*{\l@paragraph}{%
- \@tempdima\js@tocl@width \advance\@tempdima 1\jsZw
+ \@tempdima\jsc@tocl@width \advance\@tempdima 1\jsZw
\@dottedtocline{4}{\@tempdima}{5\jsZw}}
\newcommand*{\l@subparagraph}{%
- \@tempdima\js@tocl@width \advance\@tempdima 2\jsZw
+ \@tempdima\jsc@tocl@width \advance\@tempdima 2\jsZw
\@dottedtocline{5}{\@tempdima}{6\jsZw}}
%</!book&!report>
%<*book|report>
@@ -5111,19 +5172,19 @@
% \newcommand*{\l@paragraph} {\@dottedtocline{4}{10em}{5em}}
% \newcommand*{\l@subparagraph} {\@dottedtocline{5}{12em}{6em}}
\newcommand*{\l@section}{%
- \@tempdima\js@tocl@width \advance\@tempdima -1\jsZw
+ \@tempdima\jsc@tocl@width \advance\@tempdima -1\jsZw
\@dottedtocline{1}{\@tempdima}{3.683\jsZw}}
\newcommand*{\l@subsection}{%
- \@tempdima\js@tocl@width \advance\@tempdima 2.683\jsZw
+ \@tempdima\jsc@tocl@width \advance\@tempdima 2.683\jsZw
\@dottedtocline{2}{\@tempdima}{3.5\jsZw}}
\newcommand*{\l@subsubsection}{%
- \@tempdima\js@tocl@width \advance\@tempdima 6.183\jsZw
+ \@tempdima\jsc@tocl@width \advance\@tempdima 6.183\jsZw
\@dottedtocline{3}{\@tempdima}{4.5\jsZw}}
\newcommand*{\l@paragraph}{%
- \@tempdima\js@tocl@width \advance\@tempdima 10.683\jsZw
+ \@tempdima\jsc@tocl@width \advance\@tempdima 10.683\jsZw
\@dottedtocline{4}{\@tempdima}{5.5\jsZw}}
\newcommand*{\l@subparagraph}{%
- \@tempdima\js@tocl@width \advance\@tempdima 16.183\jsZw
+ \@tempdima\jsc@tocl@width \advance\@tempdima 16.183\jsZw
\@dottedtocline{5}{\@tempdima}{6.5\jsZw}}
%</book|report>
% \end{macrocode}
@@ -5482,14 +5543,11 @@
%
% [2013-05-14] plcore.ltx に倣った形に書き直しました(Thanks: 北川さん)。
%
+% [2016-07-11] コミュニティ版p\LaTeX の変更に追随しました(Thanks: 角藤さん)。
+%
% \begin{ZRnote}
-% {\pTeX}依存のコードなので、{\pTeX}連携モジュールに移動。
+% {\pTeX}依存のコードなので、minimal和文ドライバ実装に移動。
% \end{ZRnote}
-% \begin{macrocode}
-%\renewcommand\@makefnmark{\hbox{}\hbox{%
-% \ifydir \@textsuperscript{\normalfont\@thefnmark}%
-% \else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}\fi}\hbox{}}
-% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\thefootnote}
@@ -5518,7 +5576,7 @@
%
% \begin{macrocode}
\renewcommand{\footnoterule}{%
- \kern-3\p@?
+ \kern-2.6\p@? \kern-.4\p@
\hrule width .4\columnwidth
\kern 2.6\p@?}
% \end{macrocode}
@@ -6377,13 +6435,6 @@
\xspcode\@tempcnta=3\advance\@tempcnta\@ne}
% \end{macrocode}
%
-% 新版の{\pTeX}で脚注番号の周囲の空きが過大になる現象への対処。
-% \begin{macrocode}
-%\renewcommand\@makefnmark{\hbox{}\hbox{%
-% \ifydir \@textsuperscript{\normalfont\@thefnmark}%
-% \else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}\fi}\hbox{}}
-% \end{macrocode}
-%
% |\jsInhibitGlueAtParTop| の定義。
% \begin{macrocode}
\let\jsInhibitGlueAtParTop\@inhibitglue
@@ -6391,6 +6442,47 @@
%
% |\jsResetDimen| は空のままでよい。
%
+% \paragraph{組方向依存の処理}
+%
+% 組方向判定のif-トークン(|\if?dir|)は{\pTeX}以外では未定義で
+% あるため、そのままif文に入れることができない。
+% これを回避するため部分的に|!|をエスケープ文字に使う。
+% \begin{macrocode}
+\begingroup
+\catcode`\!=0
+% \end{macrocode}
+%
+% \begin{macro}{\bxjs@ptex@dir}
+% 現在の組方向: |t|=縦、|y|=横、|?|=その他。
+% \begin{macrocode}
+\gdef\bxjs@ptex@dir{%
+ !iftdir t%
+ !else!ifydir y%
+ !else ?%
+ !fi!fi}
+% \end{macrocode}
+% \end{macro}
+%
+% 新版の{\pTeX}で脚注番号の周囲の空きが過大になる現象への対処。
+% \Note 現在の{p\LaTeX}カーネルでは対処が既に行われている。
+% ここでは、|\@makefnmark| の定義が古いものであった場合に、
+% 新しいものに置き換える。
+% \begin{macrocode}
+% 古い \@makefnmark の定義
+\long\def\bxjs@tmpa{\hbox{%
+ !ifydir \@textsuperscript{\normalfont\@thefnmark}%
+ !else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}!fi}}
+\ifx\@makefnmark\bxjs@tmpa
+\long\gdef\@makefnmark{%
+ !ifydir \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}%
+ !else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}!fi}
+\fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+\endgroup
+% \end{macrocode}
+%
%^^A----------------
% \subsection{pdf{\TeX}用の処理}
%
@@ -6582,7 +6674,7 @@
% \begin{macro}{\trueH}
% |\trueQ| と |\trueH| はともに0.25\,true\,mmに等しい。
% \begin{macrocode}
- \ifbxjs@mag
+ \ifjsc@mag
\@tempdima=2.5mm
\@tempdimb=\jsBaseFontSize\relax
\edef\bxjs@tmpa{\strip@pt\@tempdimb}%