texlive[45252] Master/texmf-dist: bxjscls (9sep17)

commits+karl at tug.org commits+karl at tug.org
Sun Sep 10 00:34:24 CEST 2017


Revision: 45252
          http://tug.org/svn/texlive?view=revision&revision=45252
Author:   karl
Date:     2017-09-10 00:34:23 +0200 (Sun, 10 Sep 2017)
Log Message:
-----------
bxjscls (9sep17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
    trunk/Master/texmf-dist/doc/latex/bxjscls/README.md
    trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
    trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
    trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
    trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
    trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md	2017-09-09 22:34:23 UTC (rev 45252)
@@ -13,7 +13,7 @@
 
 ### 前提環境
 
-  * TeX エンジン: pdfTeX / XeTeX / LuaTeX / pTeX / upTeX
+  * TeX エンジン: pdfTeX / XeTeX / LuaTeX / pTeX / upTeX / pTeX-ng
       - e-TeX 拡張は必須でない
       - XeTeX は 0.997 版以降が必要
   * フォーマット: LaTeX
@@ -97,6 +97,9 @@
 更新履歴
 --------
 
+  * Version 1.6  〈2017/09/09〉
+      - bxjsreport の継承元を jsbook + report から jsreport に変更した。
+      - jsclasses の 2017/09/03 版と同期。
   * Version 1.5d 〈2017/07/07〉
       - バグ修正。
   * Version 1.5c 〈2017/06/10〉

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/README.md
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex	2017-09-09 22:34:23 UTC (rev 45252)
@@ -12,8 +12,8 @@
   \renewcommand*{\XeLaTeX}{XeLaTeX}}
 \usepackage{shortvrb}
 \MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.5d}
-\newcommand{\PkgDate}{2017/07/07}
+\newcommand{\PkgVersion}{1.6}
+\newcommand{\PkgDate}{2017/09/09}
 \newcommand{\Pkg}[1]{\textsf{#1}}
 \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
 \newcommand{\Note}{\par\noindent ※}
@@ -452,11 +452,12 @@
   \end{itemize}
 
   コマンド行は次のようになる
-  \footnote{もちろん、実際には改行を含めず1行で書く。}%
-  (Pandoc 1.16版の場合
-  \footnote{少し古い版の場合、変数 |papersize| の値は |a4|
-    ではなく |a4paper| と書くことになる。}%
-  ):
+  \footnote{もちろん、実際には改行を含めず1行で書く。
+    なお、Pandoc 1.16版以降では、用紙サイズオプションについては、
+    変数 |papersize| の値に“|paper|”を付加したもの
+    (|-V papersize=a4| ならば |a4paper|)が使われる。
+    ここで |a4var| や |b5var| を使えるようにするため、
+    BXJSクラスでは |a4varpaper| 等を別名として用意している。}:
   \begin{quote}
   |pandoc| \Meta{入力ファイル名}
     |-o| \Meta{出力ファイル名}|.pdf|
@@ -540,6 +541,15 @@
   |lualatex|、|platex-ng| である。
   エンジンオプション(と次項の |autodetect-engine| の何れか)
   の指定は必須である。
+  \Note |platex-ng| は{\pTeX-ng}エンジン
+    (別名“A\pTeX”、“Asiatic \pTeX”)のためのオプションである。
+    現時点では |platex-ng| 指定時の仕様は流動的であり詳細を述べる
+    ことは避けるが、大体は |uplatex| と同様になる。
+    {\pTeX-ng}はPDF出力を行うので、ドライバオプションは指定しない。
+    \footnote{現状の実装では、自動的に |dvipdfmx| が
+      グローバルオプションに追加される。
+      また、|platex-ng| オプションの変種に |platex-ng*| があり、
+      こちらは |dvipdfmx| の自動追加を行わない。}
 \item |autodetect-engine|\Means
   使用しているエンジンを判定して、自動的に適切なエンジンオプションを
   設定する。
@@ -711,6 +721,9 @@
   読み込まれるため、このオプションは無意味である。
 \item |nosimplejasetup|\Means
   |simplejasetup| の否定。
+\item |a4varpaper|、|b5varpaper|\Means
+  用紙サイズ指定オプション |a4var|、|b5var| の別名。
+  \Note Pandocで |-V papersize=a4var| の指定を可能にするため。
 \item |mag=|\Meta{整数}\Means
   版面拡大率(mag値)の直接設定。
   既定は |base| から算出する。
@@ -787,10 +800,10 @@
     \end{itemize}
   \item \Pkg{bxjsreport}クラスの場合:
     \begin{itemize}
-    \item |v2|\Means
+    \item |v2|(既定
+      \footnote{1.6版より既定値が |v2| に変更された。})\Means
       JSクラスに新設された\Pkg{jsreport}クラスのレイアウトを継承する。
-      \Note 近い将来に、既定値が |v2| に変更される予定。
-    \item |v1|(既定)\Means
+    \item |v1|\Means
       従来の「\Pkg{jsbook}クラス\,+\,|report|オプション」の
       レイアウトを継承する。
     \end{itemize}

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx	2017-09-09 22:34:23 UTC (rev 45252)
@@ -67,7 +67,9 @@
 %<*driver>
 \ProvidesFile{bxjscls.dtx}
 %</driver>
-  [2017/07/07 v1.5d BXJS document classes]
+  [2017/09/09 v1.6  BXJS document classes]
+% based on jsclasses [2017/09/03]
+% [2017/07/07 v1.5d BXJS document classes]
 % [2017/06/10 v1.5c BXJS document classes]
 % [2017/04/01 v1.5b BXJS document classes]
 % [2017/03/14 v1.5a BXJS document classes]
@@ -238,15 +240,42 @@
 % \StopEventually{}
 %
 % 以下では実際のコードに即して説明します。
+%    \begin{macrocode}
+%<*cls>
+%% このファイルは日本語文字を含みます.
+%    \end{macrocode}
 %
+% \begin{macro}{\bxjs at clsname}
+%
+% 文書クラスの名前です。エラーメッセージ表示などで使われます。
+%
+%    \begin{macrocode}
+%<article>\def\bxjs at clsname{bxjsarticle}
+%<book>\def\bxjs at clsname{bxjsbook}
+%<report>\def\bxjs at clsname{bxjsreport}
+%<slide>\def\bxjs at clsname{bxjsslide}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifjsc at needsp@tch}
+%
+% [2016-08-22] 従来\texttt{jsclasses}では,\pLaTeX や\LaTeX の
+% 不都合な点に対して,クラスファイル内で独自に対策を施していま
+% した。しかし,2016年以降,コミュニティ版\pLaTeX が次第に対策
+% コードをカーネル内に取り込むようになりました。そこで,新しい
+% \pLaTeX カーネルと衝突しないように,日付が古い場合だけパッチ
+% をあてる場合があります。この処理に使用するフラグを定義します。
+%
+%    \begin{macrocode}
+\newif\ifjsc at needsp@tch
+\jsc at needsp@tchfalse
+%    \end{macrocode}
+% \end{macro}
+%
 % \paragraph{BXJSクラス特有の設定 \ZRX}
 %
 % \mbox{}
 % \begin{ZRnote}
-%    \begin{macrocode}
-%<*cls>
-%% このファイルは日本語文字を含みます.
-%    \end{macrocode}
 % 長さ値の指定で式を利用可能にするため |calc| を読み込む。
 %    \begin{macrocode}
 \RequirePackage{calc}
@@ -279,13 +308,9 @@
 \let\jsReport=r
 \let\jsSlide=s
 %<article>\let\jsDocClass\jsArticle
-%<article>\def\bxjs at clsname{bxjsarticle}
 %<book>\let\jsDocClass\jsBook
-%<book>\def\bxjs at clsname{bxjsbook}
 %<report>\let\jsDocClass\jsReport
-%<report>\def\bxjs at clsname{bxjsreport}
 %<slide>\let\jsDocClass\jsSlide
-%<slide>\def\bxjs at clsname{bxjsslide}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -542,6 +567,9 @@
 % 真なら本文,偽なら前付け・後付けです。
 % 偽なら |\chapter| で章番号が出ません。
 %
+% \begin{ZRnote}
+% BXJSではreport系でも定義されることに注意。
+% \end{ZRnote}
 %    \begin{macrocode}
 %<book|report>\newif\if at mainmatter \@mainmattertrue
 %    \end{macrocode}
@@ -576,7 +604,7 @@
 % \pLaTeXe の \texttt{b5paper}
 % は $257\,\mathrm{mm} \times 182\,\mathrm{mm}$ になっています。
 % ここでは\pLaTeXe にならってJISに従いました。
-%
+% 
 % デフォルトは \texttt{a4paper} です。
 %
 % \texttt{b5var}(B5変形,182mm×230mm),
@@ -600,6 +628,11 @@
 \DeclareOption{b5j}{\bxjs at setpaper{{182truemm}{257truemm}}}
 \DeclareOption{a4var}{\bxjs at setpaper{{210truemm}{283truemm}}}
 \DeclareOption{b5var}{\bxjs at setpaper{{182truemm}{230truemm}}}
+%    \end{macrocode}
+% \Note |...var| をPandocで使えるように後ろに |paper| をつけた形を用意する。
+%    \begin{macrocode}
+\DeclareOption{a4varpaper}{\bxjs at setpaper{{210truemm}{283truemm}}}
+\DeclareOption{b5varpaper}{\bxjs at setpaper{{182truemm}{230truemm}}}
 \DeclareOption{letterpaper}{\bxjs at setpaper{letterpaper}}
 \DeclareOption{legalpaper}{\bxjs at setpaper{legalpaper}}
 \DeclareOption{executivepaper}{\bxjs at setpaper{executivepaper}}
@@ -757,27 +790,52 @@
 % \end{ZRnote}
 %
 % \paragraph{トンボオプション}
-% \mbox{}
-% \begin{ZRnote}
-% 欧文 {\LaTeX} のカーネルではサポートされないため削除。
 %
-% ただしJSクラスとの互換のため以下の変数を用意する。
+% トンボ(crop marks)を出力します。
+% 実際の処理は\pLaTeXe 本体で行います(\texttt{plcore.dtx} 参照)。
+% オプション \texttt{tombow} で日付付きのトンボ,
+% オプション \texttt{tombo} で日付なしのトンボを出力します。
+% これらはアスキー版のままです。
+% カウンタ |\hour|,|\minute| はp\LaTeXe 本体で宣言されています。
 %
-% \Note JSクラスでは、2017-01-11の改修で、「トンボオプション指定時
-% のみ |\stockwidth|/|height| を定義する」という仕様に変更された。
-% BXJSでの対応は要検討。
-%
+% \begin{ZRnote}
+% 取りあえず、{\pTeX}系の場合に限り、JSクラスのトンボ関連の
+% コードをそのまま活かしておく。
+% 正常に動作する保証はない。
 % \end{ZRnote}
 %    \begin{macrocode}
-\newdimen\stockwidth \newdimen\stockheight
+\if j\jsEngine
+\hour\time \divide\hour by 60\relax
+\@tempcnta\hour \multiply\@tempcnta 60\relax
+\minute\time \advance\minute-\@tempcnta
+\DeclareOption{tombow}{%
+  \tombowtrue \tombowdatetrue
+  \setlength{\@tombowwidth}{.1\p@}%
+  \@bannertoken{%
+     \jobname\space(\number\year-\two at digits\month-\two at digits\day
+     \space\two at digits\hour:\two at digits\minute)}%
+  \maketombowbox}
+\DeclareOption{tombo}{%
+  \tombowtrue \tombowdatefalse
+  \setlength{\@tombowwidth}{.1\p@}%
+  \maketombowbox}
+\fi
 %    \end{macrocode}
 %
 % \paragraph{面付け}
-% \mbox{}
-% \begin{ZRnote}
-% 欧文 {\LaTeX} のカーネルではサポートされないため削除。
-% \end{ZRnote}
 %
+% オプション \texttt{mentuke} で幅ゼロのトンボを出力します。
+% 面付けに便利です。これもアスキー版のままです。
+%
+%    \begin{macrocode}
+\if j\jsEngine
+\DeclareOption{mentuke}{%
+  \tombowtrue \tombowdatefalse
+  \setlength{\@tombowwidth}{\z@}%
+  \maketombowbox}
+\fi
+%    \end{macrocode}
+%
 % \paragraph{両面,片面オプション}
 %
 % \texttt{twoside} で奇数ページ・偶数ページのレイアウトが変わります。
@@ -953,6 +1011,8 @@
 %
 % \texttt{draft} でoverfull boxの起きた行末に5ptの罫線を引きます。
 %
+% [2016-07-13] |\ifdraft| を定義するのをやめました。
+%
 % \begin{ZRnote}
 % \begin{macro}{\ifjsDraft}
 % JSクラスは |\ifdraft| という公開名のスイッチを用いているが、
@@ -959,8 +1019,8 @@
 % これは |ifdraft| パッケージと衝突するので、代わりに |\ifjsDraft|
 % の名前を用い、本文開始時に |\ifdraft| が未定義の場合に限り、
 % |\ifjsDraft| を |\ifdraft| にコピーする処理にする。
-% \Note JSクラスの |\ifdraft| は2016/07/13版で廃止された。
-% よって |\ifdraft| は2.0版で廃止を予定する。
+% \Note JSクラスの |\ifdraft| が廃止されたので、
+% |\ifdraft| は2.0版で廃止を予定する。
 %    \begin{macrocode}
 \let\ifjsDraft\iffalse
 \@onlypreamble\bxjs at draft
@@ -978,15 +1038,23 @@
 % \end{ZRnote}
 %
 % \paragraph{和文フォントメトリックの選択}
-% \mbox{}
+%
+% ここでは新しい \texttt{jis} フォントメトリックを標準で使いますが,
+% 古い \texttt{min10},\texttt{goth10} などを使いたいときは \texttt{mingoth}
+% というオプションを指定します。
+% また,\texttt{winjis} オプションで \texttt{winjis} メトリックが使えます。
+%
 % \begin{ZRnote}
-% ここは和文ドライバの管轄。
+% BXJSクラスではここは和文ドライバの管轄。
 % \end{ZRnote}
 %
 % \paragraph{papersizeスペシャルの利用}
-% \mbox{}
+%
+% dvipsやdvioutで用紙設定を自動化するには
+% オプション \texttt{papersize} を与えます。
+%
 % \begin{ZRnote}
-% |geometry| パッケージが行う。
+% BXJSクラスでは |geometry| パッケージがこの処理を行う。
 %
 % \begin{macro}{\ifbxjs at papersize}
 % 〔スイッチ〕 papersizeスペシャルを出力するか。
@@ -1019,8 +1087,7 @@
 % いましたが,新しくjsreportクラスも作りました。どちらでもお好きな方を使ってください。
 %
 % \begin{ZRnote}
-% BXJS では `|report|' 相当のものは別に |bxjsreport| クラスとして用意する。
-% \Note FIXME:|jsbook|\,+\,|report| と |jsreport|のどちらに合わせるか。
+% BXJSでは当初から |bxjsreport| クラスが用意されている。
 % \end{ZRnote}
 %
 % \paragraph{jslogoパッケージの読み込み}
@@ -1669,10 +1736,9 @@
 % abstract環境をchapterabstractにするか。
 % \Note |bxjsbook| では常に真。
 % |bxjsreport| では |layout| が |v1| の場合に真になる。
-% \Note ただし1.5版では移行措置のため |bxjsreport| の既定値を真にする。
 %    \begin{macrocode}
 \newif\ifbxjs at force@chapterabstract
-%<book|report>\bxjs at force@chapterabstracttrue
+%<book>\bxjs at force@chapterabstracttrue
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1775,6 +1841,21 @@
 \bxjs at composite@proc
 %    \end{macrocode}
 %
+% 後処理
+%
+%    \begin{macrocode}
+\if at slide
+  \def\maybeblue{\@ifundefined{ver at color.sty}{}{\color{blue}}}
+\fi
+\if at landscape
+  \setlength\@tempdima  {\paperheight}
+  \setlength\paperheight{\paperwidth}
+  \setlength\paperwidth {\@tempdima}
+\fi
+%    \end{macrocode}
+%
+% \paragraph{グローバルオプションの整理 \ZRX}
+%
 % \begin{ZRnote}
 %
 % グローバルオプションのトークン列に |{ }| が含まれていると、
@@ -1814,6 +1895,27 @@
   {noscale}\@classoptionslist\@classoptionslist
 %    \end{macrocode}
 %
+% \end{ZRnote}
+%
+% \paragraph{使用エンジンの検査・自動判定}
+%
+% ユーザが |uplatex| オプションの有無により指定したエンジンが,実際に
+% 使われているものと一致しているかを検査し,一致しない場合はエラー
+% メッセージを表示します。
+%
+% [2016-11-09] p\LaTeX / up\LaTeX を自動判別するオプション |autodetect-engine| を新設しました。
+% up\LaTeX の場合は,グローバルオプションに |uplatex| を追加することで,
+% 自動判定に応じて |otf| パッケージにも |uplatex| オプションが渡るようにします。
+%
+%    \begin{macrocode}
+%    \end{macrocode}
+%
+% [2016-11-11] p\LaTeX の場合は,オプション |uplatex| が指定されていれば必ずエラーを出します。
+% |autodetect-engine| が有効になっていてもエラーを出しますが,これは |otf| パッケージに
+% |uplatex| オプションが渡ってしまうのを防ぐためです。
+%
+% \begin{ZRnote}
+%
 % 現在の(正規化前の)和文ドライバの値を\
 % |\bxjs at jadriver@given| に保存する。
 %    \begin{macrocode}
@@ -1868,6 +1970,8 @@
 \fi
 %    \end{macrocode}
 %
+% \paragraph{ドライバ指定 \ZRX}
+%
 % ドライバ指定のオプションが与えられた場合は、
 % それがエンジンと整合するかを検査する。
 %    \begin{macrocode}
@@ -1953,6 +2057,8 @@
 \fi
 %    \end{macrocode}
 %
+% \paragraph{その他のBXJS特有の後処理 \ZRX}
+%
 % |\bxjs at jadriver| の正規化。
 % 値が未指定の場合は |minimal| に変える。
 % ただしエンジンが{(u)\pTeX}である場合は |standard|
@@ -2010,20 +2116,6 @@
 % \end{macro}
 %
 % \end{ZRnote}
-%
-% 後処理
-%
-%    \begin{macrocode}
-\if at slide
-  \def\maybeblue{\@ifundefined{ver at color.sty}{}{\color{blue}}}
-\fi
-\if at landscape
-  \setlength\@tempdima  {\paperheight}
-  \setlength\paperheight{\paperwidth}
-  \setlength\paperwidth {\@tempdima}
-\fi
-%    \end{macrocode}
-%
 % \begin{ZRnote}
 %
 % 8bit欧文{\TeX}の場合は、高位バイトをアクティブ化しておく。
@@ -2066,10 +2158,43 @@
 % \end{ZRnote}
 %
 % \paragraph{papersizeスペシャルの出力}
-% \mbox{}
+%
+% dvipsのpapersizeスペシャルを出力します。
+% これでdvipsや新しいdvioutで出力領域が自動設定できます。
+% トンボの付いたときの用紙サイズは無意味ですが,
+% いわゆる「ノビ」サイズという縦横1インチずつ長い用紙に出力することを考えて,
+% 1インチずつ加えました。
+% ところが\pLaTeXe はトンボ出力幅を両側に1インチとっていますので,
+% dvips使用時に
+% \begin{quote}
+%   |-O -0.5in,-0.5in|
+% \end{quote}
+% というオプションを与えて両側0.5インチのトンボにするといいでしょう。
+%
+% [2003-05-17] トンボをプレビューに使うことを考えて1インチを2インチにしました。
+%
+% [2016-07-11] memoirクラスのマニュアルによると,トンボを含めた用紙の寸法は
+% |\stockwidth|,|\stockheight|と呼ぶようですので,これを使うことにしました。
+%
+% [2017-01-11] トンボオプションが指定されているとき「だけ」|\stockwidth|,
+% |\stockheight|を定義するようにしました。
+%
 % \begin{ZRnote}
-% |geometry| パッケージが行う。
+% BXJSでは出力用紙サイズ記録は |geometry| パッケージが行う。
+%
+% また、JSクラスと異なり、|\stockwidth|、|\stockheight| は常に定義される。
 % \end{ZRnote}
+%    \begin{macrocode}
+\newdimen\stockwidth \newdimen\stockheight
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname iftombow\expandafter\endcsname\csname iftrue\endcsname
+% \newdimen\stockwidth \newdimen\stockheight
+  \setlength{\stockwidth}{\paperwidth}
+  \setlength{\stockheight}{\paperheight}
+  \advance \stockwidth 2in
+  \advance \stockheight 2in
+\fi
+%    \end{macrocode}
 %
 % \paragraph{基準となる行送り}
 %
@@ -2160,13 +2285,15 @@
 % \Note (多分2.0版あたりで)JSクラスに合わせるため |\p@?| 表記を
 % 止める予定。
 %    \begin{macrocode}
+\newdimen\jsc at mpt
+\newdimen\jsc at mmm
 \ifjsc at mag
-  \let\jsc at mpt\p@
-  \newdimen\jsc at mmm \jsc at mmm=1mm
+  \jsc at mpt=1\p@
+  \jsc at mmm=1mm
   \catcode`\?=9 % \p@? read as \p@
 \else
-  \newdimen\jsc at mpt \jsc at mpt=\jsc at magscale \p@
-  \newdimen\jsc at mmm \jsc at mmm=\jsc at magscale mm
+  \jsc at mpt=\jsc at magscale\p@
+  \jsc at mmm=\jsc at magscale mm
   \catcode`\?=11 \let\p@?\jsc at mpt
 \fi
 \chardef\bxjs at qmcc=\catcode`\?\relax
@@ -2272,12 +2399,33 @@
 % \end{macro}
 % \end{macro}
 %
+% [2016-07-11] 新しく追加した|\stockwidth|,|\stockheight|も|\mag|にあわせて
+% スケールします。
+%
+% [2017-01-11] トンボオプションが指定されているとき「だけ」|\stockwidth|,
+% |\stockheight|が定義されています。
+%
+%    \begin{macrocode}
+%    \end{macrocode}
+%
 % \paragraph{pagesizeスペシャルの出力}
-% \mbox{}
-% \begin{ZRnote}
-% 削除。
-% \end{ZRnote}
 %
+% [2003-05-17] dvipdfm(x)のpagesizeスペシャルを出力します。
+%
+% [2004-08-08] 今のdvipdfmxはdvips用スペシャルを理解するようなので外しました。
+%
+%    \begin{macrocode}
+% \ifpapersize
+%   \setlength{\@tempdima}{\paperwidth}
+%   \setlength{\@tempdimb}{\paperheight}
+%   \iftombow
+%     \advance \@tempdima 2truein
+%     \advance \@tempdimb 2truein
+%   \fi
+%   \AtBeginDvi{\special{pdf: pagesize width \the\@tempdima\space height \the\@tempdimb}}
+% \fi
+%    \end{macrocode}
+%
 % \section{和文フォントの変更}
 %
 % \begin{ZRnote}
@@ -2290,6 +2438,9 @@
 % では |I watch TV\@.| と書くと V とピリオドのペアカーニングが効かなくなります。
 % そこで,次のような定義に直し,|I watch TV.\@| と書くことにします。
 %
+% [2016-07-14] 2015-01-01の\LaTeX で,auxiliary filesに書き出されたときに
+% スペースが食われないようにする修正が入りました。これに合わせて |{}| を補いました。
+%
 %    \begin{macrocode}
 \chardef\bxjs at periodchar=`\.
 \bxjs at protected\def\bxjs at SE{\spacefactor\sfcode\bxjs at periodchar}
@@ -2546,8 +2697,11 @@
 % パラメータに実際の値を設定します。
 % たとえば |\Cwd| は |\normalfont| の全角幅(1zw)です。
 %
+% [2017-08-31] 基準とする文字を「全角空白」(EUCコード\texttt{0xA1A1})から
+% 「漢」(JISコード\texttt{0x3441})へ変更しました。
+%
 % \begin{ZRnote}
-% まず |\Cwd| 等の変数を定義する。
+% |\Cwd| 等の変数は{\pTeX}系以外では未定義なのでここで定義する。
 %    \begin{macrocode}
 \ifx\Cht\@undefined \newdimen\Cht \fi
 \ifx\Cdp\@undefined \newdimen\Cdp \fi
@@ -2557,7 +2711,7 @@
 %    \end{macrocode}
 %
 % 規約上、現在の |\jsZw| の値が |\Cwd| である。
-% |\Cht| と |\Cdp| は単純に |\Cwd| の88\%と12\%の値とする。
+% BXJSでは |\Cht| と |\Cdp| は単純に |\Cwd| の88\%と12\%の値とする。
 % \end{ZRnote}
 %    \begin{macrocode}
 \setlength\Cht{0.88\jsZw}
@@ -2721,7 +2875,7 @@
 %    \begin{macrocode}
 %<!kiyou>\setlength\columnsep{2\Cwd}
 %<kiyou>\setlength\columnsep{28truebp}
-\setlength\columnseprule{0\p@}
+\setlength\columnseprule{0\jsc at mpt}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -2739,10 +2893,10 @@
 % \texttt{normal...} の付いた方は保存用です。
 %
 %    \begin{macrocode}
-\setlength\lineskip{1\p@?}
-\setlength\normallineskip{1\p@?}
-\setlength\lineskiplimit{1\p@?}
-\setlength\normallineskiplimit{1\p@?}
+\setlength\lineskip{1\jsc at mpt}
+\setlength\normallineskip{1\jsc at mpt}
+\setlength\lineskiplimit{1\jsc at mpt}
+\setlength\normallineskiplimit{1\jsc at mpt}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -2773,7 +2927,7 @@
 % |\parindent| は段落の先頭の字下げ幅です。
 %
 %    \begin{macrocode}
-\setlength\parskip{0\p@}
+\setlength\parskip{0\jsc at mpt}
 \if at slide
   \setlength\parindent{0\p@}
 \else
@@ -3140,6 +3294,385 @@
 % \end{itemize}
 % \end{ZRnote}
 %
+% \begin{ZRnote}
+% \Note diffが崩壊するのを避けるためオリジナルのコードを無効化した状態で
+% 挿入しておく。
+% \end{ZRnote}
+%<*jsclasses>
+%
+% \paragraph{縦方向のスペース}
+%
+% \begin{macro}{\headheight}
+% \begin{macro}{\topskip}
+%
+% |\topskip| は本文領域上端と本文1行目のベースラインとの距離です。
+% あまりぎりぎりの値にすると,本文中に $\int$ のような高い文字が
+% 入ったときに1行目のベースラインが他のページより下がってしまいます。
+% ここでは本文の公称フォントサイズ(10pt)にします。
+%
+% [2003-06-26] |\headheight| はヘッダの高さで,
+% 元は12ptでしたが,新ドキュメントクラスでは |\topskip|
+% と等しくしていました。ところが,|fancyhdr| パッケージ
+% で |\headheight| が小さいとおかしいことになるようです
+% ので,2倍に増やしました。代わりに,版面の上下揃えの
+% 計算では |\headheight| ではなく |\topskip| を使う
+% ことにしました。
+%
+% [2016-08-17] 圏点やルビが一行目に来た場合に下がるのを防ぐた
+% め,|\topskip| を10ptから1.38zwに増やしました。
+% |\headheight| は従来と同じ20ptのままとします。
+%
+%    \begin{macrocode}
+\setlength\topskip{1.38zw}%% from 10\jsc at mpt (2016-08-17)
+\if at slide
+  \setlength\headheight{0\jsc at mpt}
+\else
+  \setlength\headheight{20\jsc at mpt}%% from 2\topskip (2016-08-17); from \topskip (2003-06-26)
+\fi
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\footskip}
+%
+% |\footskip| は本文領域下端とフッタ下端との距離です。
+% 標準クラスファイルでは,book で0.35in(約8.89mm),
+% book 以外で30pt(約10.54mm)となっていましたが,
+% ここではA4判のときちょうど1cmとなるように,
+% |\paperheight| の0.03367倍(最小 |\baselineskip|)としました。
+% 書籍については,フッタは使わないことにして,ゼロにしました。
+%
+%    \begin{macrocode}
+%<*article|kiyou>
+\if at slide
+  \setlength\footskip{0pt}
+\else
+  \setlength\footskip{0.03367\paperheight}
+  \ifdim\footskip<\baselineskip
+    \setlength\footskip{\baselineskip}
+  \fi
+\fi
+%</article|kiyou>
+%<jspf>\setlength\footskip{9\jsc at mmm}
+%<*book>
+\if at report
+  \setlength\footskip{0.03367\paperheight}
+  \ifdim\footskip<\baselineskip
+    \setlength\footskip{\baselineskip}
+  \fi
+\else
+  \setlength\footskip{0pt}
+\fi
+%</book>
+%<*report>
+\setlength\footskip{0.03367\paperheight}
+\ifdim\footskip<\baselineskip
+  \setlength\footskip{\baselineskip}
+\fi
+%</report>
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\headsep}
+%
+% |\headsep| はヘッダ下端と本文領域上端との距離です。
+% 元は book で18pt(約6.33mm),
+% それ以外で25pt(約8.79mm)になっていました。
+% ここでは article は |\footskip| $-$ |\topskip| としました。
+%
+% [2016-10-08] article の \texttt{slide} のとき,
+% および book の非 \texttt{report} と kiyou のときに |\headsep| を
+% 減らしそこねていたのを修正しました(2016-08-17での修正漏れ)。
+%
+%    \begin{macrocode}
+%<*article>
+\if at slide
+  \setlength\headsep{0\jsc at mpt}
+  \addtolength\headsep{-\topskip}%% added (2016-10-08)
+  \addtolength\headsep{10\jsc at mpt}%% added (2016-10-08)
+\else
+  \setlength\headsep{\footskip}
+  \addtolength\headsep{-\topskip}
+\fi
+%</article>
+%<*book>
+\if at report
+  \setlength\headsep{\footskip}
+  \addtolength\headsep{-\topskip}
+\else
+  \setlength\headsep{6\jsc at mmm}
+  \addtolength\headsep{-\topskip}%% added (2016-10-08)
+  \addtolength\headsep{10\jsc at mpt}%% added (2016-10-08)
+\fi
+%</book>
+%<*report>
+\setlength\headsep{\footskip}
+\addtolength\headsep{-\topskip}
+%</report>
+%<*jspf>
+\setlength\headsep{9\jsc at mmm}
+\addtolength\headsep{-\topskip}
+%</jspf>
+%<*kiyou>
+\setlength\headheight{0\jsc at mpt}
+\setlength\headsep{0\jsc at mpt}
+\addtolength\headsep{-\topskip}%% added (2016-10-08)
+\addtolength\headsep{10\jsc at mpt}%% added (2016-10-08)
+%</kiyou>
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\maxdepth}
+%
+% |\maxdepth| は本文最下行の最大の深さで,
+% plain \TeX や\LaTeX~2.09では4ptに固定でした。
+% \LaTeX2e では |\maxdepth| $+$ |\topskip| を本文フォントサイズ
+% の1.5倍にしたいのですが,|\topskip| は本文フォントサイズ
+% (ここでは10pt)に等しいので,結局 |\maxdepth| は |\topskip|
+% の半分の値(具体的には5pt)にします。
+%
+%    \begin{macrocode}
+\setlength\maxdepth{.5\topskip}
+%    \end{macrocode}
+% \end{macro}
+%
+% \paragraph{本文の幅と高さ}
+%
+% \begin{macro}{\fullwidth}
+%
+% 本文の幅が全角40文字を超えると読みにくくなります。
+% そこで,書籍の場合に限って,
+% 紙の幅が広いときは外側のマージンを余分にとって全角40文字に押え,
+% ヘッダやフッタは本文領域より広く取ることにします。
+% このときヘッダやフッタの幅を表す |\fullwidth| という長さを定義します。
+%
+%    \begin{macrocode}
+\newdimen\fullwidth
+%    \end{macrocode}
+%
+% この |\fullwidth| は article では紙幅 |\paperwidth|の0.76倍を超えない
+% 全角幅の整数倍(二段組では全角幅の偶数倍)にします。0.76倍という数値は
+% A4縦置きの場合に紙幅から約2インチを引いた値になるように選びました。
+% book では紙幅から36ミリを引いた値にしました。
+%
+% \begin{macro}{\textwidth}
+%
+% 書籍以外では本文領域の幅 |\textwidth| は |\fullwidth| と等しくします。
+% |article| ではA4縦置きで49文字となります。
+% 某学会誌スタイルでは50zw(25文字×2段)+段間8mmとします。
+%
+%    \begin{macrocode}
+%<*article>
+\if at slide
+  \setlength\fullwidth{0.9\paperwidth}
+\else
+  \setlength\fullwidth{0.76\paperwidth}
+\fi
+\if at twocolumn \@tempdima=2zw \else \@tempdima=1zw \fi
+\divide\fullwidth\@tempdima \multiply\fullwidth\@tempdima
+\setlength\textwidth{\fullwidth}
+%</article>
+%<*book>
+\if at report
+  \setlength\fullwidth{0.76\paperwidth}
+\else
+  \setlength\fullwidth{\paperwidth}
+  \addtolength\fullwidth{-36\jsc at mmm}
+\fi
+\if at twocolumn \@tempdima=2zw \else \@tempdima=1zw \fi
+\divide\fullwidth\@tempdima \multiply\fullwidth\@tempdima
+\setlength\textwidth{\fullwidth}
+\if at report \else
+  \if at twocolumn \else
+    \ifdim \fullwidth>40zw
+      \setlength\textwidth{40zw}
+    \fi
+  \fi
+\fi
+%</book>
+%<*report>
+\setlength\fullwidth{0.76\paperwidth}
+\if at twocolumn \@tempdima=2zw \else \@tempdima=1zw \fi
+\divide\fullwidth\@tempdima \multiply\fullwidth\@tempdima
+\setlength\textwidth{\fullwidth}
+%</report>
+%<*jspf>
+\setlength\fullwidth{50zw}
+\addtolength\fullwidth{8\jsc at mmm}
+\setlength\textwidth{\fullwidth}
+%</jspf>
+%<*kiyou>
+\setlength\fullwidth{48zw}
+\addtolength\fullwidth{\columnsep}
+\setlength\textwidth{\fullwidth}
+%</kiyou>
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\textheight}
+%
+% 紙の高さ |\paperheight| は,1インチと |\topmargin|
+% と |\headheight| と |\headsep| と |\textheight|
+% と |\footskip| とページ下部の余白を加えたものです。
+%
+% 本文部分の高さ |\textheight| は,
+% 紙の高さ |\paperheight| の0.83倍から,
+% ヘッダの高さ,ヘッダと本文の距離,本文とフッタ下端の距離,
+% |\topskip| を引き,
+% それを |\baselineskip| の倍数に切り捨て,
+% 最後に |\topskip| を加えます。
+% 念のため0.1ポイント余分に加えておきます。
+% 0.83倍という数値は,A4縦置きの場合に紙の高さから
+% 上下マージン各約1インチを引いた値になるように選びました。
+%
+% 某学会誌スタイルでは44行にします。
+%
+% [2003-06-26] |\headheight| を |\topskip| に直しました。
+% 以前はこの二つは値が同じであったので,変化はないはずです。
+%
+% [2016-08-26] |\topskip| を10ptから1.38zwに増やしましたので,
+% その分 |\textheight| を増やします(2016-08-17での修正漏れ)。
+%
+% [2016-10-08] article の slide のときに |\headheight| はゼロ
+% なので,さらに修正しました(2016-08-17での修正漏れ)。
+%
+%    \begin{macrocode}
+%<*article|book|report>
+\if at slide
+  \setlength{\textheight}{0.95\paperheight}
+\else
+  \setlength{\textheight}{0.83\paperheight}
+\fi
+\addtolength{\textheight}{-10\jsc at mpt}%% from -\topskip (2016-10-08); from -\headheight (2003-06-26)
+\addtolength{\textheight}{-\headsep}
+\addtolength{\textheight}{-\footskip}
+\addtolength{\textheight}{-\topskip}
+\divide\textheight\baselineskip
+\multiply\textheight\baselineskip
+%</article|book|report>
+%<jspf>\setlength{\textheight}{51\baselineskip}
+%<kiyou>\setlength{\textheight}{47\baselineskip}
+\addtolength{\textheight}{\topskip}
+\addtolength{\textheight}{0.1\jsc at mpt}
+%<jspf>\setlength{\mathindent}{10\jsc at mmm}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\flushbottom}
+%
+% [2016-07-18] |\textheight| に念のため0.1ポイント余裕を持たせて
+% いるのと同様に,|\flushbottom| にも余裕を持たせます。
+% 元の\LaTeXe での完全な |\flushbottom| の定義は
+%\begin{verbatim}
+%  \def\flushbottom{%
+%    \let\@textbottom\relax \let\@texttop\relax}
+%\end{verbatim}
+% ですが,次のようにします。
+%
+%    \begin{macrocode}
+\def\flushbottom{%
+  \def\@textbottom{\vskip \z@ \@plus.1\jsc at mpt}%
+  \let\@texttop\relax}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\marginparsep}
+% \begin{macro}{\marginparpush}
+%
+% |\marginparsep| は欄外の書き込みと本文との間隔です。
+% |\marginparpush| は欄外の書き込みどうしの最小の間隔です。
+%
+%    \begin{macrocode}
+\setlength\marginparsep{\columnsep}
+\setlength\marginparpush{\baselineskip}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\oddsidemargin}
+% \begin{macro}{\evensidemargin}
+%
+% それぞれ奇数ページ,偶数ページの左マージンから1インチ引いた値です。
+% 片面印刷では |\oddsidemargin| が使われます。
+% \TeX は上・左マージンに |1truein| を挿入しますが,
+% トンボ関係のオプションが指定されるとp\LaTeXe (|plcore.ltx|)
+% はトンボの内側に |1in| のスペース(|1truein| ではなく)を挿入するので,
+% 場合分けしています。
+%
+%    \begin{macrocode}
+\setlength{\oddsidemargin}{\paperwidth}
+\addtolength{\oddsidemargin}{-\fullwidth}
+\setlength{\oddsidemargin}{.5\oddsidemargin}
+\iftombow
+  \addtolength{\oddsidemargin}{-1in}
+\else
+  \addtolength{\oddsidemargin}{-\inv at mag in}
+\fi
+\setlength{\evensidemargin}{\oddsidemargin}
+\if at mparswitch
+  \addtolength{\evensidemargin}{\fullwidth}
+  \addtolength{\evensidemargin}{-\textwidth}
+\fi
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\marginparwidth}
+%
+% |\marginparwidth| は欄外の書き込みの横幅です。
+% 外側マージンの幅(|\evensidemargin| $+$ 1インチ)から1センチを引き,
+% さらに |\marginparsep|(欄外の書き込みと本文のアキ)を引いた値に
+% しました。最後に1\,zwの整数倍に切り捨てます。
+%
+%    \begin{macrocode}
+\setlength\marginparwidth{\paperwidth}
+\addtolength\marginparwidth{-\oddsidemargin}
+\addtolength\marginparwidth{-\inv at mag in}
+\addtolength\marginparwidth{-\textwidth}
+\addtolength\marginparwidth{-10\jsc at mmm}
+\addtolength\marginparwidth{-\marginparsep}
+\@tempdima=1zw
+\divide\marginparwidth\@tempdima
+\multiply\marginparwidth\@tempdima
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\topmargin}
+%
+% 上マージン(紙の上端とヘッダ上端の距離)
+% から1インチ引いた値です。
+%
+% [2003-06-26] |\headheight| を |\topskip| に直しました。
+% 以前はこの二つは値が同じであったので,変化はないはずです。
+%
+% [2016-08-17] |\topskip| を10ptから1.38zwに直しましたが,
+% |\topmargin| は従来の値から変わらないように調節しました。
+% …のつもりでしたが,|\textheight| を増やし忘れていたので
+% 変わってしまっていました(2016-08-26修正済み)。
+%
+%    \begin{macrocode}
+\setlength\topmargin{\paperheight}
+\addtolength\topmargin{-\textheight}
+\if at slide
+  \addtolength\topmargin{-\headheight}
+\else
+  \addtolength\topmargin{-10\jsc at mpt}%% from -\topskip (2016-10-08); from -\headheight (2003-06-26)
+\fi
+\addtolength\topmargin{-\headsep}
+\addtolength\topmargin{-\footskip}
+\setlength\topmargin{0.5\topmargin}
+%<kiyou>\setlength\topmargin{81truebp}
+\iftombow
+  \addtolength\topmargin{-1in}
+\else
+  \addtolength\topmargin{-\inv at mag in}
+\fi
+%    \end{macrocode}
+% \end{macro}
+%
+%</jsclasses>
+%
 % \paragraph{脚注}
 %
 % \begin{macro}{\footnotesep}
@@ -3435,7 +3968,7 @@
 % ページスタイルとして,\LaTeXe (欧文版)の標準クラス
 % では |empty|,|plain|,|headings|,|myheadings| があります。
 % このうち |empty|,|plain| スタイルは\LaTeXe 本体
-% で定義されています。
+% で定義されています。 
 %
 % アスキーのクラスファイルでは |headnombre|,|footnombre|,
 % |bothstyle|,|jpl at in| が追加されていますが,
@@ -3953,7 +4486,7 @@
   \centerline{\box\@abstractbox}
   \ifx\@keywords\@undefined\else
     \vskip 1.5em
-    \centerline{\parbox{157mm}{\textsf{Keywords:}\\ \small\@keywords}}
+    \centerline{\parbox{157\jsc at mmm}{\textsf{Keywords:}\\ \small\@keywords}}
   \fi
   \vskip 1.5em}
 %</jspf>
@@ -5151,9 +5684,9 @@
 \newbox\@abstractbox
 \newenvironment{abstract}{%
   \global\setbox\@abstractbox\hbox\bgroup
-  \begin{minipage}[b]{157mm}{\sffamily Abstract}\par
+  \begin{minipage}[b]{157\jsc at mmm}{\sffamily Abstract}\par
     \small
-    \if at english \parindent6mm \else \parindent1\jsZw \fi}%
+    \if at english \parindent6\jsc at mmm \else \parindent1\jsZw \fi}%
   {\end{minipage}\egroup}
 %</jspf>
 %    \end{macrocode}
@@ -5184,7 +5717,7 @@
 %\newbox\@keywordsbox
 %\newenvironment{keywords}{%
 %  \global\setbox\@keywordsbox\hbox\bgroup
-%  \begin{minipage}[b]{157mm}{\sffamily Keywords:}\par
+%  \begin{minipage}[b]{1570\jsc at mmm}{\sffamily Keywords:}\par
 %    \small\parindent0\jsZw}%
 %  {\end{minipage}\egroup}
 %</jspf>
@@ -5621,8 +6154,8 @@
 %    \begin{macrocode}
 %<*!jspf>
 % \long\def\@makecaption#1#2{{\small
-%   \advance\leftskip1cm
-%   \advance\rightskip1cm
+%   \advance\leftskip 10\jsc at mmm
+%   \advance\rightskip 10\jsc at mmm
 %   \vskip\abovecaptionskip
 %   \sbox\@tempboxa{#1\hskip1\jsZw\relax #2}%
 %   \ifdim \wd\@tempboxa >\hsize
@@ -5652,9 +6185,9 @@
         \itemsep    \z@
         \itemindent \z@
         \labelsep   \z@
-        \labelwidth 11mm
+        \labelwidth 11\jsc at mmm
         \listparindent\z@
-        \leftmargin 11mm}\item\relax #2\endlist}
+        \leftmargin 11\jsc at mmm}\item\relax #2\endlist}
   \else
     \global \@minipagefalse
     \hb at xt@\hsize{\hfil\box\@tempboxa\hfil}%
@@ -6062,6 +6595,7 @@
 % \newcommand*{\l at paragraph}    {\@dottedtocline{4}{7.0em}{4.1em}}
 % \newcommand*{\l at subparagraph} {\@dottedtocline{5}{10em}{5em}}
 %
+% \newcommand*{\l at subsection}   {\@dottedtocline{2}{1zw}{3zw}}
 % \newcommand*{\l at subsubsection}{\@dottedtocline{3}{2\jsZw}{3\jsZw}}
 % \newcommand*{\l at paragraph}    {\@dottedtocline{4}{3\jsZw}{3\jsZw}}
 % \newcommand*{\l at subparagraph} {\@dottedtocline{5}{4\jsZw}{3\jsZw}}
@@ -6138,7 +6672,7 @@
    \@lnumwidth #3\relax
    \advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip
     {#4}\nobreak
-    \leaders\hbox{$\m at th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
+    \leaders\hbox{$\m at th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep 
        mu$}\hfill \nobreak\hb at xt@\@pnumwidth{%
          \hfil\normalfont \normalcolor #5}\par}\fi}
 %    \end{macrocode}
@@ -6701,6 +7235,15 @@
   \everypar{{\setbox\z@\lastbox}\everypar{\everyparhook}\@endpefalse\everyparhook}}
 %    \end{macrocode}
 %
+% [2017-08-31] minipage環境にも対策します。
+%
+%    \begin{macrocode}
+\def\@setminipage{%
+  \@minipagetrue
+  \everypar{\@minipagefalse\everypar{\everyparhook}}%
+}
+%    \end{macrocode}
+%
 % |\item| 命令の直後です。
 %
 %    \begin{macrocode}
@@ -6837,10 +7380,39 @@
 %
 % \section{\texttt{amsmath} との衝突の回避}
 %
-% \begin{ZRnote}
-% 最近の |\LaTeX| では該当の問題は対処されているので削除。
-% \end{ZRnote}
+% \begin{macro}{\ltx at ifnextchar}
+% \begin{macro}{\ProvidesFile}
 %
+% \texttt{amsmath} パッケージでは行列中で |\@ifnextchar|
+% を再定義していますが,これが\LaTeX の |\ProvidesFile|
+% で悪さをする例がFTeXで報告されています。
+% これを避けるためのtDBさんのフィックスを挿入しておきます。
+% 副作用がありましたらお知らせください。
+%
+% この現象については私のTeX掲示板 4273〜,16058〜 で議論がありました。
+% なお,AMS関係のパッケージを読み込む際に psamsfonts オプションを
+% 与えても回避できます(Thanks: しっぽ愛好家さん)。
+%
+% [2016-11-19] 本家の ltclass.dtx 2004/01/28 v1.1g で修正されているので
+% コメントアウトしました。
+%
+%    \begin{macrocode}
+%\let\ltx at ifnextchar\@ifnextchar
+%\def\ProvidesFile#1{%
+%  \begingroup
+%    \catcode`\ 10 %
+%    \ifnum \endlinechar<256 %
+%      \ifnum \endlinechar>\m at ne
+%        \catcode\endlinechar 10 %
+%      \fi
+%    \fi
+%    \@makeother\/%
+%    \@makeother\&%
+%    \ltx at ifnextchar[{\@providesfile{#1}}{\@providesfile{#1}[]}}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
 % \section{初期設定}
 %
 % \paragraph{いろいろな語}
@@ -6893,8 +7465,10 @@
 % \begin{macro}{\figurename}
 % \begin{macro}{\tablename}
 %    \begin{macrocode}
-\newcommand{\figurename}{\if at english Fig.~\else 図\fi}
-\newcommand{\tablename}{\if at english Table~\else 表\fi}
+%<!jspf>\newcommand{\figurename}{\if at english Fig.~\else 図\fi}
+%<jspf>\newcommand{\figurename}{Fig.~}
+%<!jspf>\newcommand{\tablename}{\if at english Table~\else 表\fi}
+%<jspf>\newcommand{\tablename}{Table~}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -7457,8 +8031,10 @@
 \DeclareRobustCommand\ttfamily
   {\not at math@alphabet\ttfamily\mathtt
    \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
+\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
 \DeclareJaTextFontCommand{\textmc}{\mcfamily}
 \DeclareJaTextFontCommand{\textgt}{\gtfamily}
+\fi
 \bxjs at if@sf at default{%
   \renewcommand\kanjifamilydefault{\gtdefault}}
 %    \end{macrocode}
@@ -8872,8 +9448,10 @@
 % minimal ドライバ実装中で定義した |\DeclareJaTextFontCommand|
 % を利用する。
 %    \begin{macrocode}
+\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
 \DeclareJaTextFontCommand{\textmc}{\mcfamily}
 \DeclareJaTextFontCommand{\textgt}{\gtfamily}
+\fi
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls	2017-09-09 22:34:23 UTC (rev 45252)
@@ -22,8 +22,11 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsarticle}
-  [2017/07/07 v1.5d BXJS document classes]
+  [2017/09/09 v1.6  BXJS document classes]
 %% このファイルは日本語文字を含みます.
+\def\bxjs at clsname{bxjsarticle}
+\newif\ifjsc at needsp@tch
+\jsc at needsp@tchfalse
 \RequirePackage{calc}
 \RequirePackage{keyval}
 \IfFileExists{bxjscompat.sty}{%
@@ -35,7 +38,6 @@
 \let\jsReport=r
 \let\jsSlide=s
 \let\jsDocClass\jsArticle
-\def\bxjs at clsname{bxjsarticle}
 \let\jsEngine=n
 \def\bxjs at test@engine#1#2{%
   \edef\bxjs at tmpa{\string#1}%
@@ -134,6 +136,8 @@
 \DeclareOption{b5j}{\bxjs at setpaper{{182truemm}{257truemm}}}
 \DeclareOption{a4var}{\bxjs at setpaper{{210truemm}{283truemm}}}
 \DeclareOption{b5var}{\bxjs at setpaper{{182truemm}{230truemm}}}
+\DeclareOption{a4varpaper}{\bxjs at setpaper{{210truemm}{283truemm}}}
+\DeclareOption{b5varpaper}{\bxjs at setpaper{{182truemm}{230truemm}}}
 \DeclareOption{letterpaper}{\bxjs at setpaper{letterpaper}}
 \DeclareOption{legalpaper}{\bxjs at setpaper{legalpaper}}
 \DeclareOption{executivepaper}{\bxjs at setpaper{executivepaper}}
@@ -194,7 +198,28 @@
 \DeclareOption{usemag}{\let\bxjs at magstyle\bxjs at magstyle@usemag}
 \DeclareOption{nomag}{\let\bxjs at magstyle\bxjs at magstyle@nomag}
 \DeclareOption{nomag*}{\let\bxjs at magstyle\bxjs at magstyle@xreal}
-\newdimen\stockwidth \newdimen\stockheight
+\if j\jsEngine
+\hour\time \divide\hour by 60\relax
+\@tempcnta\hour \multiply\@tempcnta 60\relax
+\minute\time \advance\minute-\@tempcnta
+\DeclareOption{tombow}{%
+  \tombowtrue \tombowdatetrue
+  \setlength{\@tombowwidth}{.1\p@}%
+  \@bannertoken{%
+     \jobname\space(\number\year-\two at digits\month-\two at digits\day
+     \space\two at digits\hour:\two at digits\minute)}%
+  \maketombowbox}
+\DeclareOption{tombo}{%
+  \tombowtrue \tombowdatefalse
+  \setlength{\@tombowwidth}{.1\p@}%
+  \maketombowbox}
+\fi
+\if j\jsEngine
+\DeclareOption{mentuke}{%
+  \tombowtrue \tombowdatefalse
+  \setlength{\@tombowwidth}{\z@}%
+  \maketombowbox}
+\fi
 \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
 \DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
 \DeclareOption{vartwoside}{\@twosidetrue \@mparswitchfalse}
@@ -533,6 +558,14 @@
 \ExecuteOptions{a4paper,oneside,onecolumn,notitlepage,final}
 \ProcessOptions\relax
 \bxjs at composite@proc
+\if at slide
+  \def\maybeblue{\@ifundefined{ver at color.sty}{}{\color{blue}}}
+\fi
+\if at landscape
+  \setlength\@tempdima  {\paperheight}
+  \setlength\paperheight{\paperwidth}
+  \setlength\paperwidth {\@tempdima}
+\fi
 \@onlypreamble\bxjs at purge@brace at elts
 \def\bxjs at purge@brace at elts{%
   \def\bxjs at tmpa{\@gobble}%
@@ -667,14 +700,6 @@
 \fi
 \bxjs at do@opt at jbase
 \let\Cjascale\jsScale
-\if at slide
-  \def\maybeblue{\@ifundefined{ver at color.sty}{}{\color{blue}}}
-\fi
-\if at landscape
-  \setlength\@tempdima  {\paperheight}
-  \setlength\paperheight{\paperwidth}
-  \setlength\paperwidth {\@tempdima}
-\fi
 \if \if p\jsEngine T\else\if n\jsEngine T\else F\fi\fi T
   \@tempcnta="80 \loop \ifnum\@tempcnta<"100
     \catcode\@tempcnta\active
@@ -689,6 +714,14 @@
 \ifbxjs at oldfontcommands
   \AtEndOfClass{\allowoldfontcommands}
 \fi
+\newdimen\stockwidth \newdimen\stockheight
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname iftombow\expandafter\endcsname\csname iftrue\endcsname
+  \setlength{\stockwidth}{\paperwidth}
+  \setlength{\stockheight}{\paperheight}
+  \advance \stockwidth 2in
+  \advance \stockheight 2in
+\fi
 \ifdim\bxjs at param@basefontsize<10pt \def\n at baseline{15}%
 \else \def\n at baseline{16}\fi
 \ifx\bxjs at magstyle\bxjs at magstyle@mag
@@ -716,13 +749,15 @@
 \expandafter\bxjs at tmpa\the\@tempcnta\@nil
 \edef\jsc at magscale{\strip at pt\@tempdima}
 \let\jsBaseFontSize\bxjs at param@basefontsize
+\newdimen\jsc at mpt
+\newdimen\jsc at mmm
 \ifjsc at mag
-  \let\jsc at mpt\p@
-  \newdimen\jsc at mmm \jsc at mmm=1mm
+  \jsc at mpt=1\p@
+  \jsc at mmm=1mm
   \catcode`\?=9 % \p@? read as \p@
 \else
-  \newdimen\jsc at mpt \jsc at mpt=\jsc at magscale \p@
-  \newdimen\jsc at mmm \jsc at mmm=\jsc at magscale mm
+  \jsc at mpt=\jsc at magscale\p@
+  \jsc at mmm=\jsc at magscale mm
   \catcode`\?=11 \let\p@?\jsc at mpt
 \fi
 \chardef\bxjs at qmcc=\catcode`\?\relax
@@ -892,13 +927,13 @@
 \everydisplay=\expandafter{\the\everydisplay \narrowbaselines}
 \newcommand{\headfont}{\sffamily}
 \setlength\columnsep{2\Cwd}
-\setlength\columnseprule{0\p@}
-\setlength\lineskip{1\p@?}
-\setlength\normallineskip{1\p@?}
-\setlength\lineskiplimit{1\p@?}
-\setlength\normallineskiplimit{1\p@?}
+\setlength\columnseprule{0\jsc at mpt}
+\setlength\lineskip{1\jsc at mpt}
+\setlength\normallineskip{1\jsc at mpt}
+\setlength\lineskiplimit{1\jsc at mpt}
+\setlength\normallineskiplimit{1\jsc at mpt}
 \renewcommand{\baselinestretch}{}
-\setlength\parskip{0\p@}
+\setlength\parskip{0\jsc at mpt}
 \if at slide
   \setlength\parindent{0\p@}
 \else
@@ -1986,6 +2021,10 @@
   \def\par{%
     \@restorepar\clubpenalty\@clubpenalty\everypar{\everyparhook}\par\@endpefalse}%
   \everypar{{\setbox\z@\lastbox}\everypar{\everyparhook}\@endpefalse\everyparhook}}
+\def\@setminipage{%
+  \@minipagetrue
+  \everypar{\@minipagefalse\everypar{\everyparhook}}%
+}
 \def\@item[#1]{%
   \if at noparitem
     \@donoparitem

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls	2017-09-09 22:34:23 UTC (rev 45252)
@@ -22,8 +22,11 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsbook}
-  [2017/07/07 v1.5d BXJS document classes]
+  [2017/09/09 v1.6  BXJS document classes]
 %% このファイルは日本語文字を含みます.
+\def\bxjs at clsname{bxjsbook}
+\newif\ifjsc at needsp@tch
+\jsc at needsp@tchfalse
 \RequirePackage{calc}
 \RequirePackage{keyval}
 \IfFileExists{bxjscompat.sty}{%
@@ -35,7 +38,6 @@
 \let\jsReport=r
 \let\jsSlide=s
 \let\jsDocClass\jsBook
-\def\bxjs at clsname{bxjsbook}
 \let\jsEngine=n
 \def\bxjs at test@engine#1#2{%
   \edef\bxjs at tmpa{\string#1}%
@@ -137,6 +139,8 @@
 \DeclareOption{b5j}{\bxjs at setpaper{{182truemm}{257truemm}}}
 \DeclareOption{a4var}{\bxjs at setpaper{{210truemm}{283truemm}}}
 \DeclareOption{b5var}{\bxjs at setpaper{{182truemm}{230truemm}}}
+\DeclareOption{a4varpaper}{\bxjs at setpaper{{210truemm}{283truemm}}}
+\DeclareOption{b5varpaper}{\bxjs at setpaper{{182truemm}{230truemm}}}
 \DeclareOption{letterpaper}{\bxjs at setpaper{letterpaper}}
 \DeclareOption{legalpaper}{\bxjs at setpaper{legalpaper}}
 \DeclareOption{executivepaper}{\bxjs at setpaper{executivepaper}}
@@ -197,7 +201,28 @@
 \DeclareOption{usemag}{\let\bxjs at magstyle\bxjs at magstyle@usemag}
 \DeclareOption{nomag}{\let\bxjs at magstyle\bxjs at magstyle@nomag}
 \DeclareOption{nomag*}{\let\bxjs at magstyle\bxjs at magstyle@xreal}
-\newdimen\stockwidth \newdimen\stockheight
+\if j\jsEngine
+\hour\time \divide\hour by 60\relax
+\@tempcnta\hour \multiply\@tempcnta 60\relax
+\minute\time \advance\minute-\@tempcnta
+\DeclareOption{tombow}{%
+  \tombowtrue \tombowdatetrue
+  \setlength{\@tombowwidth}{.1\p@}%
+  \@bannertoken{%
+     \jobname\space(\number\year-\two at digits\month-\two at digits\day
+     \space\two at digits\hour:\two at digits\minute)}%
+  \maketombowbox}
+\DeclareOption{tombo}{%
+  \tombowtrue \tombowdatefalse
+  \setlength{\@tombowwidth}{.1\p@}%
+  \maketombowbox}
+\fi
+\if j\jsEngine
+\DeclareOption{mentuke}{%
+  \tombowtrue \tombowdatefalse
+  \setlength{\@tombowwidth}{\z@}%
+  \maketombowbox}
+\fi
 \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
 \DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
 \DeclareOption{vartwoside}{\@twosidetrue \@mparswitchfalse}
@@ -542,6 +567,14 @@
 \ExecuteOptions{a4paper,twoside,onecolumn,titlepage,openright,final}
 \ProcessOptions\relax
 \bxjs at composite@proc
+\if at slide
+  \def\maybeblue{\@ifundefined{ver at color.sty}{}{\color{blue}}}
+\fi
+\if at landscape
+  \setlength\@tempdima  {\paperheight}
+  \setlength\paperheight{\paperwidth}
+  \setlength\paperwidth {\@tempdima}
+\fi
 \@onlypreamble\bxjs at purge@brace at elts
 \def\bxjs at purge@brace at elts{%
   \def\bxjs at tmpa{\@gobble}%
@@ -676,14 +709,6 @@
 \fi
 \bxjs at do@opt at jbase
 \let\Cjascale\jsScale
-\if at slide
-  \def\maybeblue{\@ifundefined{ver at color.sty}{}{\color{blue}}}
-\fi
-\if at landscape
-  \setlength\@tempdima  {\paperheight}
-  \setlength\paperheight{\paperwidth}
-  \setlength\paperwidth {\@tempdima}
-\fi
 \if \if p\jsEngine T\else\if n\jsEngine T\else F\fi\fi T
   \@tempcnta="80 \loop \ifnum\@tempcnta<"100
     \catcode\@tempcnta\active
@@ -698,6 +723,14 @@
 \ifbxjs at oldfontcommands
   \AtEndOfClass{\allowoldfontcommands}
 \fi
+\newdimen\stockwidth \newdimen\stockheight
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname iftombow\expandafter\endcsname\csname iftrue\endcsname
+  \setlength{\stockwidth}{\paperwidth}
+  \setlength{\stockheight}{\paperheight}
+  \advance \stockwidth 2in
+  \advance \stockheight 2in
+\fi
 \ifdim\bxjs at param@basefontsize<10pt \def\n at baseline{15}%
 \else \def\n at baseline{16}\fi
 \ifx\bxjs at magstyle\bxjs at magstyle@mag
@@ -725,13 +758,15 @@
 \expandafter\bxjs at tmpa\the\@tempcnta\@nil
 \edef\jsc at magscale{\strip at pt\@tempdima}
 \let\jsBaseFontSize\bxjs at param@basefontsize
+\newdimen\jsc at mpt
+\newdimen\jsc at mmm
 \ifjsc at mag
-  \let\jsc at mpt\p@
-  \newdimen\jsc at mmm \jsc at mmm=1mm
+  \jsc at mpt=1\p@
+  \jsc at mmm=1mm
   \catcode`\?=9 % \p@? read as \p@
 \else
-  \newdimen\jsc at mpt \jsc at mpt=\jsc at magscale \p@
-  \newdimen\jsc at mmm \jsc at mmm=\jsc at magscale mm
+  \jsc at mpt=\jsc at magscale\p@
+  \jsc at mmm=\jsc at magscale mm
   \catcode`\?=11 \let\p@?\jsc at mpt
 \fi
 \chardef\bxjs at qmcc=\catcode`\?\relax
@@ -901,13 +936,13 @@
 \everydisplay=\expandafter{\the\everydisplay \narrowbaselines}
 \newcommand{\headfont}{\sffamily}
 \setlength\columnsep{2\Cwd}
-\setlength\columnseprule{0\p@}
-\setlength\lineskip{1\p@?}
-\setlength\normallineskip{1\p@?}
-\setlength\lineskiplimit{1\p@?}
-\setlength\normallineskiplimit{1\p@?}
+\setlength\columnseprule{0\jsc at mpt}
+\setlength\lineskip{1\jsc at mpt}
+\setlength\normallineskip{1\jsc at mpt}
+\setlength\lineskiplimit{1\jsc at mpt}
+\setlength\normallineskiplimit{1\jsc at mpt}
 \renewcommand{\baselinestretch}{}
-\setlength\parskip{0\p@}
+\setlength\parskip{0\jsc at mpt}
 \if at slide
   \setlength\parindent{0\p@}
 \else
@@ -2093,6 +2128,10 @@
   \def\par{%
     \@restorepar\clubpenalty\@clubpenalty\everypar{\everyparhook}\par\@endpefalse}%
   \everypar{{\setbox\z@\lastbox}\everypar{\everyparhook}\@endpefalse\everyparhook}}
+\def\@setminipage{%
+  \@minipagetrue
+  \everypar{\@minipagefalse\everypar{\everyparhook}}%
+}
 \def\@item[#1]{%
   \if at noparitem
     \@donoparitem

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty	2017-09-09 22:34:23 UTC (rev 45252)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesPackage{bxjscjkcat}
-  [2017/07/07 v1.5d BXJS document classes]
+  [2017/09/09 v1.6  BXJS document classes]
 \def\bxjx at pkgname{bxjscjkcat}
 \newcount\bxjx at cnta
 \let\bxjx at engine=n

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty	2017-09-09 22:34:23 UTC (rev 45252)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesPackage{bxjscompat}
-  [2017/07/07 v1.5d BXJS document classes]
+  [2017/09/09 v1.6  BXJS document classes]
 \def\bxac at pkgname{bxjscompat}
 \let\bxac at engine=n
 \def\bxac at do#1#2{%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def	2017-09-09 22:34:23 UTC (rev 45252)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-minimal.def}
-  [2017/07/07 v1.5d BXJS document classes]
+  [2017/09/09 v1.6  BXJS document classes]
 %% このファイルは日本語文字を含みます
 \def\DeclareJaTextFontCommand#1#2{%
   \DeclareRobustCommand#1[1]{%
@@ -188,8 +188,10 @@
 \DeclareRobustCommand\ttfamily
   {\not at math@alphabet\ttfamily\mathtt
    \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont}
+\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
 \DeclareJaTextFontCommand{\textmc}{\mcfamily}
 \DeclareJaTextFontCommand{\textgt}{\gtfamily}
+\fi
 \bxjs at if@sf at default{%
   \renewcommand\kanjifamilydefault{\gtdefault}}
 \selectfont

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def	2017-09-09 22:34:23 UTC (rev 45252)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-modern.def}
-  [2017/07/07 v1.5d BXJS document classes]
+  [2017/09/09 v1.6  BXJS document classes]
 \input{bxjsja-standard.def}
 \ifnum0\if x\jsEngine1\fi\if l\jsEngine1\fi=\z@
 \def\encodingdefault{T1}%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def	2017-09-09 22:34:23 UTC (rev 45252)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-pandoc.def}
-  [2017/07/07 v1.5d BXJS document classes]
+  [2017/09/09 v1.6  BXJS document classes]
 \input{bxjsja-standard.def}
 \@onlypreamble\bxjs at set@dupload at proc
 \def\bxjs at set@dupload at proc#1{%

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def	2017-09-09 22:34:23 UTC (rev 45252)
@@ -21,7 +21,7 @@
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
 \ProvidesFile{bxjsja-standard.def}
-  [2017/07/07 v1.5d BXJS document classes]
+  [2017/09/09 v1.6  BXJS document classes]
 %% このファイルは日本語文字を含みます
 \input{bxjsja-minimal.def}
 \bxjs at simplejasetupfalse
@@ -564,8 +564,10 @@
     LuaTeX-ja always provides Japanese math families}
 \fi
 \fi\fi\fi\fi
+\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
 \DeclareJaTextFontCommand{\textmc}{\mcfamily}
 \DeclareJaTextFontCommand{\textgt}{\gtfamily}
+\fi
 \ifx\mathmc\@undefined
   \DeclareJaMathFontCommand{\mathmc}{\mcfamily}
   \DeclareJaMathFontCommand{\mathgt}{\gtfamily}

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls	2017-09-09 22:34:23 UTC (rev 45252)
@@ -22,8 +22,11 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsreport}
-  [2017/07/07 v1.5d BXJS document classes]
+  [2017/09/09 v1.6  BXJS document classes]
 %% このファイルは日本語文字を含みます.
+\def\bxjs at clsname{bxjsreport}
+\newif\ifjsc at needsp@tch
+\jsc at needsp@tchfalse
 \RequirePackage{calc}
 \RequirePackage{keyval}
 \IfFileExists{bxjscompat.sty}{%
@@ -35,7 +38,6 @@
 \let\jsReport=r
 \let\jsSlide=s
 \let\jsDocClass\jsReport
-\def\bxjs at clsname{bxjsreport}
 \let\jsEngine=n
 \def\bxjs at test@engine#1#2{%
   \edef\bxjs at tmpa{\string#1}%
@@ -137,6 +139,8 @@
 \DeclareOption{b5j}{\bxjs at setpaper{{182truemm}{257truemm}}}
 \DeclareOption{a4var}{\bxjs at setpaper{{210truemm}{283truemm}}}
 \DeclareOption{b5var}{\bxjs at setpaper{{182truemm}{230truemm}}}
+\DeclareOption{a4varpaper}{\bxjs at setpaper{{210truemm}{283truemm}}}
+\DeclareOption{b5varpaper}{\bxjs at setpaper{{182truemm}{230truemm}}}
 \DeclareOption{letterpaper}{\bxjs at setpaper{letterpaper}}
 \DeclareOption{legalpaper}{\bxjs at setpaper{legalpaper}}
 \DeclareOption{executivepaper}{\bxjs at setpaper{executivepaper}}
@@ -197,7 +201,28 @@
 \DeclareOption{usemag}{\let\bxjs at magstyle\bxjs at magstyle@usemag}
 \DeclareOption{nomag}{\let\bxjs at magstyle\bxjs at magstyle@nomag}
 \DeclareOption{nomag*}{\let\bxjs at magstyle\bxjs at magstyle@xreal}
-\newdimen\stockwidth \newdimen\stockheight
+\if j\jsEngine
+\hour\time \divide\hour by 60\relax
+\@tempcnta\hour \multiply\@tempcnta 60\relax
+\minute\time \advance\minute-\@tempcnta
+\DeclareOption{tombow}{%
+  \tombowtrue \tombowdatetrue
+  \setlength{\@tombowwidth}{.1\p@}%
+  \@bannertoken{%
+     \jobname\space(\number\year-\two at digits\month-\two at digits\day
+     \space\two at digits\hour:\two at digits\minute)}%
+  \maketombowbox}
+\DeclareOption{tombo}{%
+  \tombowtrue \tombowdatefalse
+  \setlength{\@tombowwidth}{.1\p@}%
+  \maketombowbox}
+\fi
+\if j\jsEngine
+\DeclareOption{mentuke}{%
+  \tombowtrue \tombowdatefalse
+  \setlength{\@tombowwidth}{\z@}%
+  \maketombowbox}
+\fi
 \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
 \DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
 \DeclareOption{vartwoside}{\@twosidetrue \@mparswitchfalse}
@@ -508,7 +533,6 @@
   \fi}
 \newif\ifbxjs at layout@buggyhmargin
 \newif\ifbxjs at force@chapterabstract
-\bxjs at force@chapterabstracttrue
 \@namedef{bxjs at kv@layout at v1}{%
 \bxjs at force@chapterabstracttrue
 }
@@ -542,6 +566,14 @@
 \ExecuteOptions{a4paper,oneside,onecolumn,titlepage,openany,final}
 \ProcessOptions\relax
 \bxjs at composite@proc
+\if at slide
+  \def\maybeblue{\@ifundefined{ver at color.sty}{}{\color{blue}}}
+\fi
+\if at landscape
+  \setlength\@tempdima  {\paperheight}
+  \setlength\paperheight{\paperwidth}
+  \setlength\paperwidth {\@tempdima}
+\fi
 \@onlypreamble\bxjs at purge@brace at elts
 \def\bxjs at purge@brace at elts{%
   \def\bxjs at tmpa{\@gobble}%
@@ -676,14 +708,6 @@
 \fi
 \bxjs at do@opt at jbase
 \let\Cjascale\jsScale
-\if at slide
-  \def\maybeblue{\@ifundefined{ver at color.sty}{}{\color{blue}}}
-\fi
-\if at landscape
-  \setlength\@tempdima  {\paperheight}
-  \setlength\paperheight{\paperwidth}
-  \setlength\paperwidth {\@tempdima}
-\fi
 \if \if p\jsEngine T\else\if n\jsEngine T\else F\fi\fi T
   \@tempcnta="80 \loop \ifnum\@tempcnta<"100
     \catcode\@tempcnta\active
@@ -698,6 +722,14 @@
 \ifbxjs at oldfontcommands
   \AtEndOfClass{\allowoldfontcommands}
 \fi
+\newdimen\stockwidth \newdimen\stockheight
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname iftombow\expandafter\endcsname\csname iftrue\endcsname
+  \setlength{\stockwidth}{\paperwidth}
+  \setlength{\stockheight}{\paperheight}
+  \advance \stockwidth 2in
+  \advance \stockheight 2in
+\fi
 \ifdim\bxjs at param@basefontsize<10pt \def\n at baseline{15}%
 \else \def\n at baseline{16}\fi
 \ifx\bxjs at magstyle\bxjs at magstyle@mag
@@ -725,13 +757,15 @@
 \expandafter\bxjs at tmpa\the\@tempcnta\@nil
 \edef\jsc at magscale{\strip at pt\@tempdima}
 \let\jsBaseFontSize\bxjs at param@basefontsize
+\newdimen\jsc at mpt
+\newdimen\jsc at mmm
 \ifjsc at mag
-  \let\jsc at mpt\p@
-  \newdimen\jsc at mmm \jsc at mmm=1mm
+  \jsc at mpt=1\p@
+  \jsc at mmm=1mm
   \catcode`\?=9 % \p@? read as \p@
 \else
-  \newdimen\jsc at mpt \jsc at mpt=\jsc at magscale \p@
-  \newdimen\jsc at mmm \jsc at mmm=\jsc at magscale mm
+  \jsc at mpt=\jsc at magscale\p@
+  \jsc at mmm=\jsc at magscale mm
   \catcode`\?=11 \let\p@?\jsc at mpt
 \fi
 \chardef\bxjs at qmcc=\catcode`\?\relax
@@ -901,13 +935,13 @@
 \everydisplay=\expandafter{\the\everydisplay \narrowbaselines}
 \newcommand{\headfont}{\sffamily}
 \setlength\columnsep{2\Cwd}
-\setlength\columnseprule{0\p@}
-\setlength\lineskip{1\p@?}
-\setlength\normallineskip{1\p@?}
-\setlength\lineskiplimit{1\p@?}
-\setlength\normallineskiplimit{1\p@?}
+\setlength\columnseprule{0\jsc at mpt}
+\setlength\lineskip{1\jsc at mpt}
+\setlength\normallineskip{1\jsc at mpt}
+\setlength\lineskiplimit{1\jsc at mpt}
+\setlength\normallineskiplimit{1\jsc at mpt}
 \renewcommand{\baselinestretch}{}
-\setlength\parskip{0\p@}
+\setlength\parskip{0\jsc at mpt}
 \if at slide
   \setlength\parindent{0\p@}
 \else
@@ -2124,6 +2158,10 @@
   \def\par{%
     \@restorepar\clubpenalty\@clubpenalty\everypar{\everyparhook}\par\@endpefalse}%
   \everypar{{\setbox\z@\lastbox}\everypar{\everyparhook}\@endpefalse\everyparhook}}
+\def\@setminipage{%
+  \@minipagetrue
+  \everypar{\@minipagefalse\everypar{\everyparhook}}%
+}
 \def\@item[#1]{%
   \if at noparitem
     \@donoparitem

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls	2017-09-09 22:34:08 UTC (rev 45251)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls	2017-09-09 22:34:23 UTC (rev 45252)
@@ -22,8 +22,11 @@
 %% in the same archive or directory.)
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsslide}
-  [2017/07/07 v1.5d BXJS document classes]
+  [2017/09/09 v1.6  BXJS document classes]
 %% このファイルは日本語文字を含みます.
+\def\bxjs at clsname{bxjsslide}
+\newif\ifjsc at needsp@tch
+\jsc at needsp@tchfalse
 \RequirePackage{calc}
 \RequirePackage{keyval}
 \IfFileExists{bxjscompat.sty}{%
@@ -35,7 +38,6 @@
 \let\jsReport=r
 \let\jsSlide=s
 \let\jsDocClass\jsSlide
-\def\bxjs at clsname{bxjsslide}
 \let\jsEngine=n
 \def\bxjs at test@engine#1#2{%
   \edef\bxjs at tmpa{\string#1}%
@@ -134,6 +136,8 @@
 \DeclareOption{b5j}{\bxjs at setpaper{{182truemm}{257truemm}}}
 \DeclareOption{a4var}{\bxjs at setpaper{{210truemm}{283truemm}}}
 \DeclareOption{b5var}{\bxjs at setpaper{{182truemm}{230truemm}}}
+\DeclareOption{a4varpaper}{\bxjs at setpaper{{210truemm}{283truemm}}}
+\DeclareOption{b5varpaper}{\bxjs at setpaper{{182truemm}{230truemm}}}
 \DeclareOption{letterpaper}{\bxjs at setpaper{letterpaper}}
 \DeclareOption{legalpaper}{\bxjs at setpaper{legalpaper}}
 \DeclareOption{executivepaper}{\bxjs at setpaper{executivepaper}}
@@ -194,7 +198,28 @@
 \DeclareOption{usemag}{\let\bxjs at magstyle\bxjs at magstyle@usemag}
 \DeclareOption{nomag}{\let\bxjs at magstyle\bxjs at magstyle@nomag}
 \DeclareOption{nomag*}{\let\bxjs at magstyle\bxjs at magstyle@xreal}
-\newdimen\stockwidth \newdimen\stockheight
+\if j\jsEngine
+\hour\time \divide\hour by 60\relax
+\@tempcnta\hour \multiply\@tempcnta 60\relax
+\minute\time \advance\minute-\@tempcnta
+\DeclareOption{tombow}{%
+  \tombowtrue \tombowdatetrue
+  \setlength{\@tombowwidth}{.1\p@}%
+  \@bannertoken{%
+     \jobname\space(\number\year-\two at digits\month-\two at digits\day
+     \space\two at digits\hour:\two at digits\minute)}%
+  \maketombowbox}
+\DeclareOption{tombo}{%
+  \tombowtrue \tombowdatefalse
+  \setlength{\@tombowwidth}{.1\p@}%
+  \maketombowbox}
+\fi
+\if j\jsEngine
+\DeclareOption{mentuke}{%
+  \tombowtrue \tombowdatefalse
+  \setlength{\@tombowwidth}{\z@}%
+  \maketombowbox}
+\fi
 \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
 \DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
 \DeclareOption{vartwoside}{\@twosidetrue \@mparswitchfalse}
@@ -533,6 +558,14 @@
 \ExecuteOptions{36pt,a4paper,landscape,oneside,onecolumn,titlepage,final}
 \ProcessOptions\relax
 \bxjs at composite@proc
+\if at slide
+  \def\maybeblue{\@ifundefined{ver at color.sty}{}{\color{blue}}}
+\fi
+\if at landscape
+  \setlength\@tempdima  {\paperheight}
+  \setlength\paperheight{\paperwidth}
+  \setlength\paperwidth {\@tempdima}
+\fi
 \@onlypreamble\bxjs at purge@brace at elts
 \def\bxjs at purge@brace at elts{%
   \def\bxjs at tmpa{\@gobble}%
@@ -667,14 +700,6 @@
 \fi
 \bxjs at do@opt at jbase
 \let\Cjascale\jsScale
-\if at slide
-  \def\maybeblue{\@ifundefined{ver at color.sty}{}{\color{blue}}}
-\fi
-\if at landscape
-  \setlength\@tempdima  {\paperheight}
-  \setlength\paperheight{\paperwidth}
-  \setlength\paperwidth {\@tempdima}
-\fi
 \if \if p\jsEngine T\else\if n\jsEngine T\else F\fi\fi T
   \@tempcnta="80 \loop \ifnum\@tempcnta<"100
     \catcode\@tempcnta\active
@@ -689,6 +714,14 @@
 \ifbxjs at oldfontcommands
   \AtEndOfClass{\allowoldfontcommands}
 \fi
+\newdimen\stockwidth \newdimen\stockheight
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname iftombow\expandafter\endcsname\csname iftrue\endcsname
+  \setlength{\stockwidth}{\paperwidth}
+  \setlength{\stockheight}{\paperheight}
+  \advance \stockwidth 2in
+  \advance \stockheight 2in
+\fi
 \def\n at baseline{13}%
 \ifx\bxjs at magstyle\bxjs at magstyle@mag
   \jsc at magtrue
@@ -715,13 +748,15 @@
 \expandafter\bxjs at tmpa\the\@tempcnta\@nil
 \edef\jsc at magscale{\strip at pt\@tempdima}
 \let\jsBaseFontSize\bxjs at param@basefontsize
+\newdimen\jsc at mpt
+\newdimen\jsc at mmm
 \ifjsc at mag
-  \let\jsc at mpt\p@
-  \newdimen\jsc at mmm \jsc at mmm=1mm
+  \jsc at mpt=1\p@
+  \jsc at mmm=1mm
   \catcode`\?=9 % \p@? read as \p@
 \else
-  \newdimen\jsc at mpt \jsc at mpt=\jsc at magscale \p@
-  \newdimen\jsc at mmm \jsc at mmm=\jsc at magscale mm
+  \jsc at mpt=\jsc at magscale\p@
+  \jsc at mmm=\jsc at magscale mm
   \catcode`\?=11 \let\p@?\jsc at mpt
 \fi
 \chardef\bxjs at qmcc=\catcode`\?\relax
@@ -891,13 +926,13 @@
 \everydisplay=\expandafter{\the\everydisplay \narrowbaselines}
 \newcommand{\headfont}{\sffamily}
 \setlength\columnsep{2\Cwd}
-\setlength\columnseprule{0\p@}
-\setlength\lineskip{1\p@?}
-\setlength\normallineskip{1\p@?}
-\setlength\lineskiplimit{1\p@?}
-\setlength\normallineskiplimit{1\p@?}
+\setlength\columnseprule{0\jsc at mpt}
+\setlength\lineskip{1\jsc at mpt}
+\setlength\normallineskip{1\jsc at mpt}
+\setlength\lineskiplimit{1\jsc at mpt}
+\setlength\normallineskiplimit{1\jsc at mpt}
 \renewcommand{\baselinestretch}{}
-\setlength\parskip{0\p@}
+\setlength\parskip{0\jsc at mpt}
 \if at slide
   \setlength\parindent{0\p@}
 \else
@@ -1984,6 +2019,10 @@
   \def\par{%
     \@restorepar\clubpenalty\@clubpenalty\everypar{\everyparhook}\par\@endpefalse}%
   \everypar{{\setbox\z@\lastbox}\everypar{\everyparhook}\@endpefalse\everyparhook}}
+\def\@setminipage{%
+  \@minipagetrue
+  \everypar{\@minipagefalse\everypar{\everyparhook}}%
+}
 \def\@item[#1]{%
   \if at noparitem
     \@donoparitem



More information about the tex-live-commits mailing list