texlive[42430] Master/texmf-dist: bxjscls (3nov16)

commits+karl at tug.org commits+karl at tug.org
Thu Nov 3 22:17:15 CET 2016


Revision: 42430
          http://tug.org/svn/texlive?view=revision&revision=42430
Author:   karl
Date:     2016-11-03 22:17:15 +0100 (Thu, 03 Nov 2016)
Log Message:
-----------
bxjscls (3nov16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/bxjscls/LICENSE
    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/LICENSE
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxjscls/LICENSE	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/LICENSE	2016-11-03 21:17:15 UTC (rev 42430)
@@ -1,8 +1,3 @@
-本ソフトウェアは修正BSDライセンス(The BSD 2-Clause License)の下で
-配布されます。
-著作権は作者である「八登 崇之(別名 ZR)」に属します。
-また本ソフトウェアは無保証です。
-
 The BSD 2-Clause License
 
 Copyright (c) 2016 Takayuki YATO (aka. "ZR")

Modified: trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/README-ja.md	2016-11-03 21:17:15 UTC (rev 42430)
@@ -97,6 +97,16 @@
 更新履歴
 --------
 
+  * Version 1.3  〈2016/11/01〉
+      - bxjsbook について、水平マージンの量が jsbook と大きく異なると
+        いう不具合を修正した。同時に修正前のレイアウトを継続するための
+        オプション `layout` を新設した。
+      - jsclasses の 2016/10/08 と同期。  
+        ※ページレイアウトの修正にはまだ追随てきていない。
+          + `(no)jslogo` オプションを新設。`jslogo` 指定時は(jsclasses
+            の)jslogo パッケージを読みこむ。(既定は `nojslogo`。)
+          + bxjsslide の一部の節見出しのレイアウトを修正。
+          + 和文用の微調整。
   * Version 1.2a 〈2016/08/17〉
       - fancyhdr パッケージに対する調整を入れた。
       - `fancyhdr`、`textwidth-limit`、`paragraph-mark` オプションを新設。

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	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex	2016-11-03 21:17:15 UTC (rev 42430)
@@ -12,8 +12,8 @@
   \renewcommand*{\XeLaTeX}{XeLaTeX}}
 \usepackage{shortvrb}
 \MakeShortVerb{\|}
-\newcommand{\PkgVersion}{1.2a}
-\newcommand{\PkgDate}{2016/08/16}
+\newcommand{\PkgVersion}{1.3}
+\newcommand{\PkgDate}{2016/11/01}
 \newcommand{\Pkg}[1]{\textsf{#1}}
 \newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
 \newcommand{\Note}{\par\noindent ※}
@@ -744,6 +744,18 @@
 \item |paragraph-mark=|\Meta{文字1つ}\Means
   パラグラフ(|\paragraph|)の見出し先頭に付く記号。
   既定値は“■”。
+\item |layout=|\Meta{値}\Means
+  レイアウトの変種を選択する。
+  有効な値は以下の通り。
+  \begin{itemize}
+  \item |v2|(既定)\Means
+    現版の既定のレイアウト。
+  \item |v1|\Means
+    \Pkg{bxjsbook}クラスについて、1.2a版以前の
+    (本来は不適切な)水平マージンの設定を適用する。
+    (詳細は\ref{ssec:page-layout}節を参照。)
+    その他のクラスについては |v2| と全く同じ。
+  \end{itemize}
 \end{itemize}
 
 %-------------------
@@ -1012,16 +1024,17 @@
 \end{verbatim}\end{quote}
   \item
     \Pkg{bxjsbook}の場合は次のパラメタ値。%
-    \footnote{この設定の中の“|hmargin=36mm,| |hmarginratio=1:1|”の
-      部分は実は不適切で、\Pkg{jsbook}のレイアウトと同様にするには
-      “|hmargin=18mm|”としなければならない。
-      これは近い将来の版(多分1.3版)で修正される予定である。
-      現在の版においても、クラスオプションに |layout=v2| を指定する
-      ことで“修正後”の設定を適用できる。}
 \begin{quote}\small\begin{verbatim}
 headheight=10pt, headsep=6mm, nofoot, includeheadfoot,
-hmargin=36mm, hmarginratio=1:1, vscale=0.83, vmarginratio=1:1
+hmargin=18mm, vscale=0.83, vmarginratio=1:1
 \end{verbatim}\end{quote}
+    \Note \Pkg{bxjsbook}の1.2a版以前では、この設定の中の
+    “|hmargin=18mm|”の代わりに“|hmargin=36mm,| |hmarginratio=1:1|”
+    を用いていた。
+    これでは\Pkg{jsbook}の水平マージン設定と同等にならないため
+    1.3版で現在の設定に修正された。
+    もし1.2a版以前との互換性を保ちたい場合は、
+    クラスオプションに |layout=v1| を指定してほしい。
   \item
     \Pkg{bxjsslide}の場合は次のパラメタ値。
 \begin{quote}\small\begin{verbatim}

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	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/source/latex/bxjscls/bxjscls.dtx	2016-11-03 21:17:15 UTC (rev 42430)
@@ -2,13 +2,22 @@
 % \iffalse meta-comment
 %
 %  BXJS ドキュメントクラス
+% (BXJS Document Classes)
 %
 %  本ソフトウェアは奥村晴彦氏および日本語TeX開発コミュニティによる
 %  「pLaTeX2ε新ドキュメントクラス」を
 %  「八登 崇之(別名 ZR)」が改変したものである。
+% (This software is a modified version of
+%  "New Document CLasses for pLaTeX2e"
+%  authored by Haruhiko Okumura and the Japanese TeX Development Community,
+%  and the modification is by Takayuki YATO (aka."ZR").)
+%
 %  本ソフトウェアは修正 BSD ライセンスの下で配布される。
+% (This software is distributed under the BSD 2-Clause License.)
 %
 %  以下に原版についての原版著者による情報を示す:
+% (Below is shown the information on the original version,
+%  provided by the original authors.)
 %---------------------------------------
 %
 %  pLaTeX2ε新ドキュメントクラス
@@ -27,6 +36,7 @@
 %
 %  [2016-07-13] 日本語\TeX 開発コミュニティによる管理に移行しました。
 %
+%---------------------------------------
 %  Copyright 1993 1994 1995 1996 1997 1998 1999
 %  The LaTeX3 Project and any individual authors listed elsewhere
 %  in this file.
@@ -35,23 +45,10 @@
 %  Copyright 1999-2016 Haruhiko Okumura
 %  Copyright 2016 Japanese TeX Development Community
 %
+%  Copyright 2013-2016 Takayuki YATO (aka."ZR")
+%
 % \fi
 % \CheckSum{0}
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 %
 % \iffalse
 %
@@ -70,7 +67,9 @@
 %<*driver>
 \ProvidesFile{bxjscls.dtx}
 %</driver>
-  [2016/08/16 v1.2a BXJS document classes]
+  [2016/11/01 v1.3 BXJS document classes]
+% based on jsclasses [2016/10/08]
+% [2016/08/16 v1.2a BXJS document classes]
 % [2016/08/01 v1.2 BXJS document classes]
 % based on jsclasses [2016/07/18]
 % [2016/07/16 v1.1f BXJS document classes]
@@ -339,7 +338,7 @@
 \ifx O\jsEngine \def\bxjs at tmpa{Omega}\fi
 \ifx\bxjs at tmpa\relax \expandafter\@gobble
 \else
-  \ClassError\@currname
+  \ClassError\bxjs at clsname
    {The engine in use (\bxjs at tmpa) is not supported}
    {It's a fatal error. I'll quit right now.}
   \expandafter\@firstofone
@@ -439,9 +438,10 @@
 \if at compatibility
   \ClassError\bxjs at clsname
    {Something went chaotic!\MessageBreak
+    (How come '\string\documentstyle' is there?)\MessageBreak
     I cannot go a single step further...}
-   {If the chant of \string\documentstyle\space was just a blunder
-    of yours,\MessageBreak then there'll still be hope....}
+   {If the chant of '\string\documentstyle' was just a blunder of yours,\MessageBreak
+    then there'll still be hope....}
   \expandafter\@firstofone
 \else \expandafter\@gobble
 \fi{\typeout{Farewell!}\endinput\@@end}
@@ -594,8 +594,13 @@
 % [2003-04-18] 12Qオプションを追加しました。
 %
 % [2016-07-08] |\mag| を使わずに各種寸法をスケールさせるためのオプション \texttt{nomag} を新設しました。
-% \texttt{usemag} オプションの指定で従来通りの動作となります.デフォルトは \texttt{usemag} です.
+% \texttt{usemag} オプションの指定で従来通りの動作となります。デフォルトは \texttt{usemag} です。
 %
+% [2016-07-24] オプティカルサイズを調整するためにNFSSへパッチを当てるオプション \texttt{nomag*} を新設しました。
+%
+% [2016-10-08] \texttt{slide} オプションは article 以外では使い物にならなかったので,
+% 簡単のため article のみで使えるオプションとしました。
+%
 % \begin{ZRnote}
 % |\@ptsize| は |10pt|, |11pt|, |12pt| が指定された時のみ従来と同じ値とし、
 % それ以外は |\jsUnusualPtSize|(= $-20$)にする。
@@ -658,8 +663,11 @@
 % \end{macro}
 %
 % |\ifjsc at mag| は「|\mag| を使うか」を表すスイッチ。
+%
+% |\ifjsc at mag@xreal| は「NFSSにパッチを当てるか」を表すスイッチ。
 %    \begin{macrocode}
 \newif\ifjsc at mag
+\newif\ifjsc at mag@xreal
 %\let\jsc at magscale\@undefined
 %    \end{macrocode}
 %
@@ -906,6 +914,22 @@
 % BXJS では `|report|' 相当のものは別に |bxjsreport| クラスとして用意する。
 % \end{ZRnote}
 %
+% \paragraph{jslogoパッケージの読み込み}
+%
+% \LaTeX 関連のロゴを再定義する\texttt{jslogo}パッケージを
+% 読み込まないオプション\texttt{nojslogo}を新設しました。
+% \texttt{jslogo}オプションの指定で従来どおりの動作となります。
+% デフォルトは\texttt{jslogo}で,すなわちパッケージを読み込みます。
+%
+% \begin{ZRnote}
+% BXJSクラスでは、|nojslogo| を既定とする。
+% \end{ZRnote}
+%    \begin{macrocode}
+\newif\if at jslogo \@jslogofalse
+\DeclareOption{jslogo}{\@jslogotrue}
+\DeclareOption{nojslogo}{\@jslogofalse}
+%    \end{macrocode}
+%
 % \paragraph{BXJS特有のオプションの一覧 \ZRX}
 % \mbox{}
 % \begin{ZRnote}
@@ -1341,14 +1365,6 @@
   \def\jsScale{1}}
 %    \end{macrocode}
 %
-% |CJK| オプションは廃止された。
-% \Note 1.3版で宣言そのものを削除する。
-%    \begin{macrocode}
-\DeclareOption{CJK}{%
-  \ClassWarning\bxjs at clsname
-  {Option `CJK' was abolished}}
-%    \end{macrocode}
-%
 % \begin{macro}{\bxjs at param@mag}
 % |mag| オプションの値。
 %    \begin{macrocode}
@@ -1442,7 +1458,7 @@
    bxjs at magstyle@#1\endcsname
   \ifx\bxjs at magstyle\relax
     \ClassError\bxjs at clsname
-    {Invalid magstyle value `#1'}\@ehc
+     {Invalid value '#1' for option magstyle}\@ehc
     \let\bxjs at magstyle\bxjs at magstyle@default
   \fi}
 %    \end{macrocode}
@@ -1463,7 +1479,7 @@
    bxjs at geometry@#1\endcsname
   \ifx\bxjs at geometry\relax
     \ClassError\bxjs at clsname
-    {Invalid geometry value `#1'}\@ehc
+     {Invalid value '#1' for option geometry}\@ehc
     \let\bxjs at geometry\bxjs at geometry@class
   \fi}
 %    \end{macrocode}
@@ -1506,7 +1522,7 @@
    bxjs at dvidriver@@#1\endcsname
   \ifx\bxjs at tmpa\relax
     \ClassError\bxjs at clsname
-    {Invalid dvi value `#1'}\@ehc
+     {Invalid value '#1' for option dvi}\@ehc
   \else
 %    \end{macrocode}
 % |\bxjs at driver@given| を未定義にしていることに注意。
@@ -1522,7 +1538,7 @@
 % |bxjsbook| の左右マージンがアレか。
 % \Note 既定はアレだが1.3版で非アレになる予定。
 %    \begin{macrocode}
-\newif\ifbxjs at layout@buggyhmargin \bxjs at layout@buggyhmargintrue
+\newif\ifbxjs at layout@buggyhmargin \bxjs at layout@buggyhmarginfalse
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1700,8 +1716,8 @@
 \fi
 \ifx\bxjs at engine@given\@undefined\else
   \ifx\bxjs at engine@given\bxjs at tmpb\else
-    \ClassError\bxjs at clsname%
-    {Option `\bxjs at engine@opt' used on wrong engine}\@ehc
+    \ClassError\bxjs at clsname
+     {Option '\bxjs at engine@opt' used on wrong engine}\@ehc
   \fi
 \fi
 %    \end{macrocode}
@@ -1739,8 +1755,8 @@
   \fi\fi
 \fi
 \if at tempswa\else
-  \ClassError\bxjs at clsname%
-  {Option `\bxjs at driver@opt' used on wrong engine}\@ehc
+  \ClassError\bxjs at clsname
+   {Option '\bxjs at driver@opt' used on wrong engine}\@ehc
 \fi
 %    \end{macrocode}
 %
@@ -1811,25 +1827,25 @@
 %    \begin{macrocode}
 \ifx\bxjs at jadriver@given\@undefined\else
   \ifx\bxjs at engine@given\@undefined
-    \ClassError\bxjs at clsname%
-    {An engine option must be explicitly given}%
-    {When you employ a Japanese-driver you must specify a
-    correct\MessageBreak engine option.\MessageBreak\@ehc}
+    \ClassError\bxjs at clsname
+     {An engine option must be explicitly given}%
+     {When you use a Japanese-driver you must specify a correct\MessageBreak
+      engine option.\MessageBreak\@ehc}
 \fi\fi
 %    \end{macrocode}
 %
 % 新しいLua{\TeX}(0.87版以降)ではmagがアレなので、
-% |magstyle=mag| が指定されていた場合はエラーを出す。
-% (この場合の既定値は |xreal| であり、
+% |magstyle=usemag| が指定されていた場合はエラーを出す。
+% (この場合の既定値は |nomag*| であり、
 % エラーの場合は既定値に置き換えられる。)
 %    \begin{macrocode}
 \ifx\bxjs at magstyle@default\bxjs at magstyle@mag\else
   \ifx\bxjs at magstyle\bxjs at magstyle@mag
     \let\bxjs at magstyle\bxjs at magstyle@default
-    \ClassError\bxjs at clsname%
-    {The engine does not support 'magstyle=mag'}%
-    {LuaTeX v0.87 or later no longer supports "mag" feature.\MessageBreak
-     The default value is used instead.\MessageBreak \@ehc}
+    \ClassError\bxjs at clsname
+     {The engine does not support 'magstyle=usemag'}%
+     {LuaTeX v0.87 or later no longer supports the "mag" feature of TeX.\MessageBreak
+      The default value 'nomag*' is used instead.\MessageBreak \@ehc}
   \fi
 \fi
 %    \end{macrocode}
@@ -1925,18 +1941,13 @@
 % \paragraph{拡大率の設定}
 % \mbox{}
 % \begin{ZRnote}
-% \begin{macro}{\ifbxjs at nfss@patch}
-% NFSSパッチするか。
+% |\bxjs at magstyle| の値に応じてスイッチ |jsc at mag| と |jsc at mag@xreal| を
+% 設定する。
 %    \begin{macrocode}
-\newif\ifbxjs at nfss@patch
-%    \end{macrocode}
-% \end{macro}
-%
-%    \begin{macrocode}
 \ifx\bxjs at magstyle\bxjs at magstyle@mag
   \jsc at magtrue
 \else\ifx\bxjs at magstyle\bxjs at magstyle@xreal
-  \bxjs at nfss@patchtrue
+  \jsc at mag@xrealtrue
 \fi\fi
 %    \end{macrocode}
 % \end{ZRnote}
@@ -1965,6 +1976,7 @@
   \divide\@tempdima16384\relax \@tempcnta\@tempdima\relax
   \edef\bxjs at param@mag{\the\@tempcnta}
 \else
+% mag値が直接指定された場合
   \let\c at bxjs@cnta\@tempcnta
   \setcounter{bxjs at cnta}{\bxjs at param@mag}
   \ifnum\@tempcnta<\z@ \@tempcnta=\z@ \fi
@@ -1986,7 +1998,7 @@
 %\typeout{\string\bxjs at param@mag: \bxjs at param@mag}
 %\typeout{\string\jsc at magscale: \jsc at magscale}
 %\typeout{\string\ifjsc at mag: \meaning\ifjsc at mag}
-%\typeout{\string\ifbxjs at nfss@patch: \meaning\ifbxjs at nfss@patch}
+%\typeout{\string\ifjsc at mag@xreal: \meaning\ifjsc at mag@xreal}
 %    \end{macrocode}
 % \end{ZRnote}
 %
@@ -2025,55 +2037,55 @@
   \providecommand*\zw{\jsZw}
 \fi
 %    \end{macrocode}
-% \end{ZRnote}
 %
-% \paragraph{NFSSパッチ \ZRX}
-% \mbox{}
-% \begin{ZRnote}
+% そして、magstyle が |nomag*| の場合は、NFSSにパッチを当てる。
+%    \begin{macrocode}
+\ifjsc at mag@xreal
+  \RequirePackage{type1cm}
+  \let\jsc at invscale\bxjs at invscale
+%    \end{macrocode}
 % ムニャムニャムニャ……。
+% \end{ZRnote}
 %    \begin{macrocode}
-\ifbxjs at nfss@patch
-\RequirePackage{type1cm}
-\expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
-\expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
-\let\bxjs at get@external at font\get at external@font
-\def\get at external@font{%
-  \bxjs at preadjust@extract at font
-  \bxjs at get@external at font}
-\def\bxjs at fstrunc#1{%
-  \edef\bxjs at tmpa{\strip at pt#1}%
-  \expandafter\bxjs at fstrunc@a\bxjs at tmpa.****\@nil}
-\def\bxjs at fstrunc@a#1.#2#3#4#5#6\@nil{%
-  \if#5*\else
-    \edef\bxjs at tmpa{#1%
-    \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}%
-  \fi}
-\def\bxjs at preadjust@extract at font{%
-  \let\bxjs at req@size\f at size
-  \dimen@\f at size\p@ \bxjs at invscale\dimen@\jsc at magscale
-  \advance\dimen at .005pt\relax \bxjs at fstrunc\dimen@
-  \let\bxjs at ref@size\bxjs at tmpa
-  \let\f at size\bxjs at ref@size}
-\def\execute at size@function#1{%
-  \let\bxjs at cref@size\f at size
-  \let\f at size\bxjs at req@size
-  \csname s at fct@#1\endcsname}
-\let\bxjs at DeclareErrorFont\DeclareErrorFont
-\def\DeclareErrorFont#1#2#3#4#5{%
-  \@tempdimc#5\p@ \@tempdimc\jsc at magscale\@tempdimc
-  \edef\bxjs at tmpa{{#1}{#2}{#3}{#4}{\strip at pt\@tempdimc}}
-  \expandafter\bxjs at DeclareErrorFont\bxjs at tmpa}
-\def\gen at sfcnt{%
-  \edef\mandatory at arg{\mandatory at arg\bxjs at cref@size}%
-  \empty at sfcnt}
-\def\genb at sfcnt{%
-  \edef\mandatory at arg{%
-    \mandatory at arg\expandafter\genb at x\bxjs at cref@size..\@@}%
-  \empty at sfcnt}
-\DeclareErrorFont{OT1}{cmr}{m}{n}{10}
+  \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
+  \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
+  \let\jsc at get@external at font\get at external@font
+  \def\get at external@font{%
+    \jsc at preadjust@extract at font
+    \jsc at get@external at font}
+  \def\jsc at fstrunc#1{%
+    \edef\jsc at tmpa{\strip at pt#1}%
+    \expandafter\jsc at fstrunc@a\jsc at tmpa.****\@nil}
+  \def\jsc at fstrunc@a#1.#2#3#4#5#6\@nil{%
+    \if#5*\else
+      \edef\jsc at tmpa{#1%
+      \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}%
+    \fi}
+  \def\jsc at preadjust@extract at font{%
+    \let\jsc at req@size\f at size
+    \dimen@\f at size\p@ \jsc at invscale\dimen@\jsc at magscale
+    \advance\dimen at .005pt\relax \jsc at fstrunc\dimen@
+    \let\jsc at ref@size\jsc at tmpa
+    \let\f at size\jsc at ref@size}
+  \def\execute at size@function#1{%
+    \let\jsc at cref@size\f at size
+    \let\f at size\jsc at req@size
+    \csname s at fct@#1\endcsname}
+  \let\jsc at DeclareErrorFont\DeclareErrorFont
+  \def\DeclareErrorFont#1#2#3#4#5{%
+    \@tempdimc#5\p@ \@tempdimc\jsc at magscale\@tempdimc
+    \edef\jsc at tmpa{{#1}{#2}{#3}{#4}{\strip at pt\@tempdimc}}
+    \expandafter\jsc at DeclareErrorFont\jsc at tmpa}
+  \def\gen at sfcnt{%
+    \edef\mandatory at arg{\mandatory at arg\jsc at cref@size}%
+    \empty at sfcnt}
+  \def\genb at sfcnt{%
+    \edef\mandatory at arg{%
+      \mandatory at arg\expandafter\genb at x\jsc at cref@size..\@@}%
+    \empty at sfcnt}
+  \DeclareErrorFont{OT1}{cmr}{m}{n}{10}
 \fi
 %    \end{macrocode}
-% \end{ZRnote}
 %
 % \paragraph{pagesizeスペシャルの出力}
 % \mbox{}
@@ -2898,7 +2910,7 @@
 % この場合はユーザが何らかの方法(例えば |geometry| を読み込む)
 % でページレイアウトを設定する必要がある。
 % もし、本体開始時に |\textwidth| がカーネル設定の値(|.5\maxdimen|)
-% になっている場合はエラーを出す。
+% のままになっている場合はエラーを出す。
 % \Note |\jsUseMinimalPageLayout| は動作テスト用。
 %    \begin{macrocode}
 \AtBeginDocument{\bxjs at check@page at layout}
@@ -2906,8 +2918,8 @@
 \def\bxjs at check@page at layout{%
   \ifdim\textwidth=.5\maxdimen
     \ClassError\bxjs at clsname
-     {Page layout is not properly set}
-     \@ehd
+     {Page layout is not properly set}%
+     {\@ehd}
   \fi}
 \def\jsUseMinimalPageLayout{%
   \setlength{\textwidth}{6.5in}%
@@ -2921,7 +2933,7 @@
   {\bxjs at pagelayout@a}{\bxjs at pagelayout@a}}
 \def\bxjs at pagelayout@a#1{%
   \ClassError\bxjs at clsname
-   {Command \string\setpagelayout\space is not supported,\MessageBreak
+   {Command '\string\setpagelayout' is not supported,\MessageBreak
     because 'geometry' value is not 'class'}\@eha}
 %    \end{macrocode}
 %
@@ -3785,6 +3797,9 @@
 % 二つ挿入した |\everyparhook| のうち後者が |\paragraph| 類の後で2回実行され,
 % それ以降は前者が実行されます。
 %
+% [2016-07-28] \texttt{slide}オプションと\texttt{twocolumn}オプションを
+% 同時に指定した場合の罫線の位置を微調整しました。
+%
 %    \begin{macrocode}
 \def\@xsect#1{%
 % 見出しの後ろの空きを \@tempskipa にセット
@@ -3813,7 +3828,9 @@
     \@afterheading
   \fi
   \if at slide
-    {\vskip-6\p@?\maybeblue\hrule height0\p@? depth1\p@?\vskip7\p@?\relax}%
+    {\vskip\if at twocolumn-5\jsc at mpt\else-6\jsc at mpt\fi
+     \maybeblue\hrule height0\jsc at mpt depth1\jsc at mpt
+     \vskip\if at twocolumn 4\jsc at mpt\else 7\jsc at mpt\fi\relax}%
   \fi
   \par  % 2000-12-18
   \ignorespaces}
@@ -4346,7 +4363,7 @@
 %    \begin{macrocode}
 \if at twocolumn
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if at slide .4\Cvs \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \else
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
@@ -4359,15 +4376,19 @@
 % \end{macro}
 %
 % \begin{macro}{\subsubsection}
+%
+% [2016-07-22] \texttt{slide}オプション指定時に |\subsubsection| の文字列
+% と罫線が重なる問題に対処しました(forum:1982)。
+%
 %    \begin{macrocode}
 \if at twocolumn
   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if at slide .4\Cvs \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \else
   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
     {\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
-    {\z@}%
+    {\if at slide .5\Cvs \@plus.3\Cdp \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \fi
 %    \end{macrocode}
@@ -4393,13 +4414,13 @@
 \let\jsJaChar\@empty
 \if at twocolumn
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
-    {\z@}{-1\jsZw}% 改行せず 1\jsZw のアキ
+    {\z@}{\if at slide .4\Cvs \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ
 %<jspf>    {\normalfont\normalsize\headfont}}
 %<!jspf>    {\normalfont\normalsize\headfont\jsParagraphMark}}
 \else
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
     {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
-    {-1\jsZw}% 改行せず 1\jsZw のアキ
+    {\if at slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ
 %<jspf>    {\normalfont\normalsize\headfont}}
 %<!jspf>    {\normalfont\normalsize\headfont\jsParagraphMark}}
 \fi
@@ -4411,9 +4432,15 @@
 %    見出しの後ろで改行されません。
 %
 %    \begin{macrocode}
-\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
-   {\z@}{-1\jsZw}%
-   {\normalfont\normalsize\headfont}}
+\if at twocolumn
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if at slide .4\Cvs \@plus.3\Cdp \else -1\jsZw\fi}%
+    {\normalfont\normalsize\headfont}}
+\else
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if at slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}%
+    {\normalfont\normalsize\headfont}}
+\fi
 %    \end{macrocode}
 % \end{macro}
 %
@@ -5325,7 +5352,7 @@
 \DeclareRobustCommand*{\jsc at warnoldfontcmd}[1]{%
   \ClassInfo\bxjs at clsname
    {Old font command '\string#1' is used!!\MessageBreak
-    First occurrence is}%
+    The first occurrence is}%
 }
 %    \end{macrocode}
 % \end{macro}
@@ -5368,7 +5395,7 @@
   \ifx\@tempa\@empty\else
     \ClassWarningNoLine\bxjs at clsname
      {Some old font commands were used in text\MessageBreak
-      (see the log output for detail)}%
+      (see the log file for detail)}%
     \ClassInfo\bxjs at clsname
      {Some old font commands were used in text:\MessageBreak
       \space\@tempa\MessageBreak
@@ -6041,15 +6068,21 @@
 % \begin{macro}{\footnote}
 % \begin{macro}{\footnotemark}
 %
-% 和文の句読点・閉じかっこ類の直後で用いた際に
-% 余分なアキが入るのを防ぐため,
-% |\jsInhibitGlue| を入れることにします。
+% 和文の句読点・閉じかっこ類の直後で用いた際に余分なアキが入るのを防ぐため,
+% |\inhibitglue| を入れることにします。
+% p\LaTeX の日付が2016/09/03より新しい場合は,このパッチが不要なのであてません。
 %
+% \begin{ZRnote}
+% パッチの必要性は「|\pltx at foot@penalty| が未定義か」で行う。
+% |\inhibitglue| の代わりに |\jsInhibitGlue| を使う。
+% \end{ZRnote}
 %    \begin{macrocode}
-\let\footnotes at ve=\footnote
-\def\footnote{\jsInhibitGlue\footnotes at ve}
-\let\footnotemarks at ve=\footnotemark
-\def\footnotemark{\jsInhibitGlue\footnotemarks at ve}
+\ifx\pltx at foot@penalty\@undefined
+  \let\footnotes at ve=\footnote
+  \def\footnote{\jsInhibitGlue\footnotes at ve}
+  \let\footnotemarks at ve=\footnotemark
+  \def\footnotemark{\jsInhibitGlue\footnotemarks at ve}
+\fi
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -6071,6 +6104,7 @@
 % [2013-05-14] plcore.ltx に倣った形に書き直しました(Thanks: 北川さん)。
 %
 % [2016-07-11] コミュニティ版p\LaTeX の変更に追随しました(Thanks: 角藤さん)。
+% p\LaTeX の日付が2016/04/17より新しい場合は,このパッチが不要なのであてません。
 %
 % \begin{ZRnote}
 % {\pTeX}依存のコードなので、minimal和文ドライバ実装に移動。
@@ -6085,6 +6119,11 @@
 % [2003-08-15] |\textasteriskcentered| ではフォントによって
 % 下がりすぎるので変更しました。
 %
+% [2016-10-08] TODO: 脚注番号が |newtxtext| や |newpxtext| の使用時に
+% おかしくなってしまいます。これらのパッケージは内部で |\thefootnote| を
+% 再定義していますので,気になる場合はパッケージを読み込むときに
+% \texttt{defaultsups} オプションを付けてください(qa:57284, qa:57287)。
+%
 %    \begin{macrocode}
 \def\thefootnote{\ifnum\c at footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c at footnote\fi}
 %    \end{macrocode}
@@ -6124,6 +6163,12 @@
 % Jeremy Gibbons, \textit{\TeX\ and TUG NEWS},
 %  Vol.~2, No.~4 (1993), p.~9)
 %
+% [2016-08-25] コミュニティ版\pLaTeX の「閉じ括弧類の直後に
+% |\footnotetext| が続く場合に改行が起きることがある問題に対処」
+% と同等のコードを追加しました。
+%
+% [2016-09-08] コミュニティ版\pLaTeX のバグ修正に追随しました。
+%
 %    \begin{macrocode}
 \long\def\@footnotetext{%
   \insert\footins\bgroup
@@ -6143,7 +6188,14 @@
                                 \else \let\next\f at t\fi \next}
 \def\f@@t{\bgroup\aftergroup\@foot\let\next}
 \def\f at t#1{#1\@foot}
-\def\@foot{\@finalstrut\strutbox\color at endgroup\egroup}
+\def\@foot{\@finalstrut\strutbox\color at endgroup\egroup
+  \ifhmode\null\fi
+  \ifx\pltx at foot@penalty\@undefined\else
+    \ifnum\pltx at foot@penalty=\z@\else
+      \penalty\pltx at foot@penalty
+      \pltx at foot@penalty\z@
+    \fi
+  \fi}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -6362,9 +6414,30 @@
 %
 % \section{いろいろなロゴ}
 %
+% \LaTeX 関連のロゴを作り直します。
+%
+% [2016-07-14] ロゴの定義は\texttt{jslogo}パッケージに移転しました。
+% 後方互換のため,\texttt{jsclasses}ではデフォルトでこれを読み込みます。
+% \texttt{nojslogo}オプションが指定されている場合は読み込みません。
+%
 % \begin{ZRnote}
-% とりあえず削除。
+% BXJSクラスでも |jslogo| オプション指定の場合に jslogo パッケージを
+% 読み込むようにした。
+% ただしJSクラスと異なり、既定では読み込まない。
+% \Note |\小|、|\上小| の制御綴は定義しない。
 % \end{ZRnote}
+%    \begin{macrocode}
+\if at jslogo
+  \IfFileExists{jslogo.sty}{%
+    \RequirePackage{jslogo}%
+  }{%
+    \ClassWarningNoLine\bxjs at clsname
+     {The package 'jslogo' is not installed.\MessageBreak
+      It is included in the recent release of\MessageBreak
+      the 'jsclasses' bundle}
+  }
+\fi
+%    \end{macrocode}
 %
 % \section{\texttt{amsmath} との衝突の回避}
 %
@@ -7089,7 +7162,7 @@
   \else\ifnum\strcmp{\the\XeTeXlinebreakskip}{\the\z@}=\z@
     \jsSimpleJaSetup
     \ClassInfo\bxjs at clsname
-     {\string\jsSimpleJaSetup\space is applied\@gobble}%
+     {'\string\jsSimpleJaSetup' is applied\@gobble}%
   \fi\fi}
 %    \end{macrocode}
 % \end{macro}
@@ -7449,9 +7522,9 @@
     \let\bxjs at tmpa\jsJaFont
   \fi
   \if f#1\ifx\bxjs at tmpa\bxjs@@noEmbed
-    \ClassWarning\bxjs at clsname
-    {Option 'jafont=noEmbed' is ignored, because no-embed\MessageBreak
-     is not available}%
+    \ClassWarningNoLine\bxjs at clsname
+     {Option 'jafont=noEmbed' is ignored, because it is\MessageBreak
+      not available on the current situation}%
     \let\bxjs at tmpa\@empty
   \fi\fi
 }
@@ -8305,7 +8378,7 @@
 %
 %^^A----------------
 %\subsection{CJKmainfont変数}
-% Lua{\TeX}(+ Lua{{TeX}-ja)の場合に CJKmainfont 変数が
+% Lua{\TeX}(+ Lua{TeX}-ja)の場合に CJKmainfont 変数が
 % 指定された場合は |\setmainjfont| の指定にまわす。
 %    \begin{macrocode}
 \if l\jsEngine

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls	2016-11-03 21:17:15 UTC (rev 42430)
@@ -20,24 +20,9 @@
 %% original source files, as listed above, are part of the
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsarticle}
-  [2016/08/16 v1.2a BXJS document classes]
+  [2016/11/01 v1.3 BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \RequirePackage{calc}
 \RequirePackage{keyval}
@@ -76,7 +61,7 @@
 \ifx O\jsEngine \def\bxjs at tmpa{Omega}\fi
 \ifx\bxjs at tmpa\relax \expandafter\@gobble
 \else
-  \ClassError\@currname
+  \ClassError\bxjs at clsname
    {The engine in use (\bxjs at tmpa) is not supported}
    {It's a fatal error. I'll quit right now.}
   \expandafter\@firstofone
@@ -119,9 +104,10 @@
 \if at compatibility
   \ClassError\bxjs at clsname
    {Something went chaotic!\MessageBreak
+    (How come '\string\documentstyle' is there?)\MessageBreak
     I cannot go a single step further...}
-   {If the chant of \string\documentstyle\space was just a blunder
-    of yours,\MessageBreak then there'll still be hope....}
+   {If the chant of '\string\documentstyle' was just a blunder of yours,\MessageBreak
+    then there'll still be hope....}
   \expandafter\@firstofone
 \else \expandafter\@gobble
 \fi{\typeout{Farewell!}\endinput\@@end}
@@ -179,6 +165,7 @@
     {You should not use 'true' lengths here}%
   \fi}
 \newif\ifjsc at mag
+\newif\ifjsc at mag@xreal
 \DeclareOption{8pt}{\bxjs at setbasefontsize{8pt}}
 \DeclareOption{9pt}{\bxjs at setbasefontsize{9pt}}
 \DeclareOption{10pt}{\bxjs at setbasefontsize{10pt}}
@@ -268,6 +255,9 @@
 \newif\if at english
 \@englishfalse
 \DeclareOption{english}{\@englishtrue}
+\newif\if at jslogo \@jslogofalse
+\DeclareOption{jslogo}{\@jslogotrue}
+\DeclareOption{nojslogo}{\@jslogofalse}
 \mathchardef\bxjs at csta=259
 \def\bxjs at invscale#1#2{%
   \begingroup \@tempdima=#1\relax \@tempdimb#2\p@\relax
@@ -420,9 +410,6 @@
 \DeclareOption{noscale}{%
   \bxjs at scalesettrue
   \def\jsScale{1}}
-\DeclareOption{CJK}{%
-  \ClassWarning\bxjs at clsname
-  {Option `CJK' was abolished}}
 \let\bxjs at param@mag\relax
 \define at key{bxjs}{mag}{\edef\bxjs at param@mag{#1}}
 \define at key{bxjs}{paper}{\edef\bxjs at param@paper{#1}}
@@ -453,7 +440,7 @@
    bxjs at magstyle@#1\endcsname
   \ifx\bxjs at magstyle\relax
     \ClassError\bxjs at clsname
-    {Invalid magstyle value `#1'}\@ehc
+     {Invalid value '#1' for option magstyle}\@ehc
     \let\bxjs at magstyle\bxjs at magstyle@default
   \fi}
 \let\bxjs at geometry@class=c
@@ -464,7 +451,7 @@
    bxjs at geometry@#1\endcsname
   \ifx\bxjs at geometry\relax
     \ClassError\bxjs at clsname
-    {Invalid geometry value `#1'}\@ehc
+     {Invalid value '#1' for option geometry}\@ehc
     \let\bxjs at geometry\bxjs at geometry@class
   \fi}
 \newif\ifbxjs at fancyhdr \bxjs at fancyhdrtrue
@@ -482,13 +469,13 @@
    bxjs at dvidriver@@#1\endcsname
   \ifx\bxjs at tmpa\relax
     \ClassError\bxjs at clsname
-    {Invalid dvi value `#1'}\@ehc
+     {Invalid value '#1' for option dvi}\@ehc
   \else
     \def\bxjs at driver@opt{#1}%
     \let\bxjs at driver@given\@undefined
     \bxjs at dvi@opttrue
   \fi}
-\newif\ifbxjs at layout@buggyhmargin \bxjs at layout@buggyhmargintrue
+\newif\ifbxjs at layout@buggyhmargin \bxjs at layout@buggyhmarginfalse
 \@namedef{bxjs at kv@layout at v1}{%
   \bxjs at layout@buggyhmargintrue}
 \@namedef{bxjs at kv@layout at v2}{%
@@ -567,8 +554,8 @@
 \fi
 \ifx\bxjs at engine@given\@undefined\else
   \ifx\bxjs at engine@given\bxjs at tmpb\else
-    \ClassError\bxjs at clsname%
-    {Option `\bxjs at engine@opt' used on wrong engine}\@ehc
+    \ClassError\bxjs at clsname
+     {Option '\bxjs at engine@opt' used on wrong engine}\@ehc
   \fi
 \fi
 \ifjsWithpTeXng
@@ -596,8 +583,8 @@
   \fi\fi
 \fi
 \if at tempswa\else
-  \ClassError\bxjs at clsname%
-  {Option `\bxjs at driver@opt' used on wrong engine}\@ehc
+  \ClassError\bxjs at clsname
+   {Option '\bxjs at driver@opt' used on wrong engine}\@ehc
 \fi
 \ifjsInPdfMode \@tempswafalse
 \else\ifx x\jsEngine \@tempswafalse
@@ -635,18 +622,18 @@
 \fi
 \ifx\bxjs at jadriver@given\@undefined\else
   \ifx\bxjs at engine@given\@undefined
-    \ClassError\bxjs at clsname%
-    {An engine option must be explicitly given}%
-    {When you employ a Japanese-driver you must specify a
-    correct\MessageBreak engine option.\MessageBreak\@ehc}
+    \ClassError\bxjs at clsname
+     {An engine option must be explicitly given}%
+     {When you use a Japanese-driver you must specify a correct\MessageBreak
+      engine option.\MessageBreak\@ehc}
 \fi\fi
 \ifx\bxjs at magstyle@default\bxjs at magstyle@mag\else
   \ifx\bxjs at magstyle\bxjs at magstyle@mag
     \let\bxjs at magstyle\bxjs at magstyle@default
-    \ClassError\bxjs at clsname%
-    {The engine does not support 'magstyle=mag'}%
-    {LuaTeX v0.87 or later no longer supports "mag" feature.\MessageBreak
-     The default value is used instead.\MessageBreak \@ehc}
+    \ClassError\bxjs at clsname
+     {The engine does not support 'magstyle=usemag'}%
+     {LuaTeX v0.87 or later no longer supports the "mag" feature of TeX.\MessageBreak
+      The default value 'nomag*' is used instead.\MessageBreak \@ehc}
   \fi
 \fi
 \bxjs at do@opt at jbase
@@ -675,11 +662,10 @@
 \fi
 \ifdim\bxjs at param@basefontsize<10pt \def\n at baseline{15}%
 \else \def\n at baseline{16}\fi
-\newif\ifbxjs at nfss@patch
 \ifx\bxjs at magstyle\bxjs at magstyle@mag
   \jsc at magtrue
 \else\ifx\bxjs at magstyle\bxjs at magstyle@xreal
-  \bxjs at nfss@patchtrue
+  \jsc at mag@xrealtrue
 \fi\fi
 \ifx\bxjs at param@mag\relax
   \@tempdima=\bxjs at param@basefontsize
@@ -716,45 +702,46 @@
 \ifbxjs at usezw
   \providecommand*\zw{\jsZw}
 \fi
-\ifbxjs at nfss@patch
-\RequirePackage{type1cm}
-\expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
-\expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
-\let\bxjs at get@external at font\get at external@font
-\def\get at external@font{%
-  \bxjs at preadjust@extract at font
-  \bxjs at get@external at font}
-\def\bxjs at fstrunc#1{%
-  \edef\bxjs at tmpa{\strip at pt#1}%
-  \expandafter\bxjs at fstrunc@a\bxjs at tmpa.****\@nil}
-\def\bxjs at fstrunc@a#1.#2#3#4#5#6\@nil{%
-  \if#5*\else
-    \edef\bxjs at tmpa{#1%
-    \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}%
-  \fi}
-\def\bxjs at preadjust@extract at font{%
-  \let\bxjs at req@size\f at size
-  \dimen@\f at size\p@ \bxjs at invscale\dimen@\jsc at magscale
-  \advance\dimen at .005pt\relax \bxjs at fstrunc\dimen@
-  \let\bxjs at ref@size\bxjs at tmpa
-  \let\f at size\bxjs at ref@size}
-\def\execute at size@function#1{%
-  \let\bxjs at cref@size\f at size
-  \let\f at size\bxjs at req@size
-  \csname s at fct@#1\endcsname}
-\let\bxjs at DeclareErrorFont\DeclareErrorFont
-\def\DeclareErrorFont#1#2#3#4#5{%
-  \@tempdimc#5\p@ \@tempdimc\jsc at magscale\@tempdimc
-  \edef\bxjs at tmpa{{#1}{#2}{#3}{#4}{\strip at pt\@tempdimc}}
-  \expandafter\bxjs at DeclareErrorFont\bxjs at tmpa}
-\def\gen at sfcnt{%
-  \edef\mandatory at arg{\mandatory at arg\bxjs at cref@size}%
-  \empty at sfcnt}
-\def\genb at sfcnt{%
-  \edef\mandatory at arg{%
-    \mandatory at arg\expandafter\genb at x\bxjs at cref@size..\@@}%
-  \empty at sfcnt}
-\DeclareErrorFont{OT1}{cmr}{m}{n}{10}
+\ifjsc at mag@xreal
+  \RequirePackage{type1cm}
+  \let\jsc at invscale\bxjs at invscale
+  \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
+  \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
+  \let\jsc at get@external at font\get at external@font
+  \def\get at external@font{%
+    \jsc at preadjust@extract at font
+    \jsc at get@external at font}
+  \def\jsc at fstrunc#1{%
+    \edef\jsc at tmpa{\strip at pt#1}%
+    \expandafter\jsc at fstrunc@a\jsc at tmpa.****\@nil}
+  \def\jsc at fstrunc@a#1.#2#3#4#5#6\@nil{%
+    \if#5*\else
+      \edef\jsc at tmpa{#1%
+      \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}%
+    \fi}
+  \def\jsc at preadjust@extract at font{%
+    \let\jsc at req@size\f at size
+    \dimen@\f at size\p@ \jsc at invscale\dimen@\jsc at magscale
+    \advance\dimen at .005pt\relax \jsc at fstrunc\dimen@
+    \let\jsc at ref@size\jsc at tmpa
+    \let\f at size\jsc at ref@size}
+  \def\execute at size@function#1{%
+    \let\jsc at cref@size\f at size
+    \let\f at size\jsc at req@size
+    \csname s at fct@#1\endcsname}
+  \let\jsc at DeclareErrorFont\DeclareErrorFont
+  \def\DeclareErrorFont#1#2#3#4#5{%
+    \@tempdimc#5\p@ \@tempdimc\jsc at magscale\@tempdimc
+    \edef\jsc at tmpa{{#1}{#2}{#3}{#4}{\strip at pt\@tempdimc}}
+    \expandafter\jsc at DeclareErrorFont\jsc at tmpa}
+  \def\gen at sfcnt{%
+    \edef\mandatory at arg{\mandatory at arg\jsc at cref@size}%
+    \empty at sfcnt}
+  \def\genb at sfcnt{%
+    \edef\mandatory at arg{%
+      \mandatory at arg\expandafter\genb at x\jsc at cref@size..\@@}%
+    \empty at sfcnt}
+  \DeclareErrorFont{OT1}{cmr}{m}{n}{10}
 \fi
 \chardef\bxjs at periodchar=`\.
 \bxjs at protected\def\bxjs at SE{\spacefactor\sfcode\bxjs at periodchar}
@@ -995,8 +982,8 @@
 \def\bxjs at check@page at layout{%
   \ifdim\textwidth=.5\maxdimen
     \ClassError\bxjs at clsname
-     {Page layout is not properly set}
-     \@ehd
+     {Page layout is not properly set}%
+     {\@ehd}
   \fi}
 \def\jsUseMinimalPageLayout{%
   \setlength{\textwidth}{6.5in}%
@@ -1006,7 +993,7 @@
   {\bxjs at pagelayout@a}{\bxjs at pagelayout@a}}
 \def\bxjs at pagelayout@a#1{%
   \ClassError\bxjs at clsname
-   {Command \string\setpagelayout\space is not supported,\MessageBreak
+   {Command '\string\setpagelayout' is not supported,\MessageBreak
     because 'geometry' value is not 'class'}\@eha}
 \fi\fi
 \footnotesep=11\p@? \footnotesep=0.7\footnotesep
@@ -1308,7 +1295,9 @@
     \@afterheading
   \fi
   \if at slide
-    {\vskip-6\p@?\maybeblue\hrule height0\p@? depth1\p@?\vskip7\p@?\relax}%
+    {\vskip\if at twocolumn-5\jsc at mpt\else-6\jsc at mpt\fi
+     \maybeblue\hrule height0\jsc at mpt depth1\jsc at mpt
+     \vskip\if at twocolumn 4\jsc at mpt\else 7\jsc at mpt\fi\relax}%
   \fi
   \par  % 2000-12-18
   \ignorespaces}
@@ -1394,7 +1383,7 @@
 \fi
 \if at twocolumn
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if at slide .4\Cvs \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \else
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
@@ -1404,12 +1393,12 @@
 \fi
 \if at twocolumn
   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if at slide .4\Cvs \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \else
   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
     {\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
-    {\z@}%
+    {\if at slide .5\Cvs \@plus.3\Cdp \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \fi
 \newcommand\jsParagraphMark{\jsJaChar{■}}
@@ -1419,17 +1408,23 @@
 \let\jsJaChar\@empty
 \if at twocolumn
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
-    {\z@}{-1\jsZw}% 改行せず 1\jsZw のアキ
+    {\z@}{\if at slide .4\Cvs \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ
     {\normalfont\normalsize\headfont\jsParagraphMark}}
 \else
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
     {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
-    {-1\jsZw}% 改行せず 1\jsZw のアキ
+    {\if at slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ
     {\normalfont\normalsize\headfont\jsParagraphMark}}
 \fi
-\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
-   {\z@}{-1\jsZw}%
-   {\normalfont\normalsize\headfont}}
+\if at twocolumn
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if at slide .4\Cvs \@plus.3\Cdp \else -1\jsZw\fi}%
+    {\normalfont\normalsize\headfont}}
+\else
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if at slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}%
+    {\normalfont\normalsize\headfont}}
+\fi
 \if at slide
   \setlength\leftmargini{1\jsZw}
 \else
@@ -1658,7 +1653,7 @@
 \DeclareRobustCommand*{\jsc at warnoldfontcmd}[1]{%
   \ClassInfo\bxjs at clsname
    {Old font command '\string#1' is used!!\MessageBreak
-    First occurrence is}%
+    The first occurrence is}%
 }
 \newcommand*{\allowoldfontcommands}{%
   \@jsc at warnoldfontcmdexceptiontrue}
@@ -1685,7 +1680,7 @@
   \ifx\@tempa\@empty\else
     \ClassWarningNoLine\bxjs at clsname
      {Some old font commands were used in text\MessageBreak
-      (see the log output for detail)}%
+      (see the log file for detail)}%
     \ClassInfo\bxjs at clsname
      {Some old font commands were used in text:\MessageBreak
       \space\@tempa\MessageBreak
@@ -1858,10 +1853,12 @@
 \newcommand{\indexspace}{\par \vskip 10\p@? \@plus5\p@? \@minus3\p@?\relax}
 \newcommand\seename{\if at english see\else →\fi}
 \newcommand\alsoname{\if at english see also\else →\fi}
-\let\footnotes at ve=\footnote
-\def\footnote{\jsInhibitGlue\footnotes at ve}
-\let\footnotemarks at ve=\footnotemark
-\def\footnotemark{\jsInhibitGlue\footnotemarks at ve}
+\ifx\pltx at foot@penalty\@undefined
+  \let\footnotes at ve=\footnote
+  \def\footnote{\jsInhibitGlue\footnotes at ve}
+  \let\footnotemarks at ve=\footnotemark
+  \def\footnotemark{\jsInhibitGlue\footnotemarks at ve}
+\fi
 \def\thefootnote{\ifnum\c at footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c at footnote\fi}
 \renewcommand{\footnoterule}{%
   \kern-2.6\p@? \kern-.4\p@
@@ -1885,7 +1882,14 @@
                                 \else \let\next\f at t\fi \next}
 \def\f@@t{\bgroup\aftergroup\@foot\let\next}
 \def\f at t#1{#1\@foot}
-\def\@foot{\@finalstrut\strutbox\color at endgroup\egroup}
+\def\@foot{\@finalstrut\strutbox\color at endgroup\egroup
+  \ifhmode\null\fi
+  \ifx\pltx at foot@penalty\@undefined\else
+    \ifnum\pltx at foot@penalty=\z@\else
+      \penalty\pltx at foot@penalty
+      \pltx at foot@penalty\z@
+    \fi
+  \fi}
 \newcommand\@makefntext[1]{%
   \advance\leftskip 3\jsZw
   \parindent 1\jsZw
@@ -2001,6 +2005,16 @@
     \unskip \reserved at e {\reserved at f#1}\nobreak \hfil \break \null
     \jsInhibitGlue \ignorespaces
   \fi}
+\if at jslogo
+  \IfFileExists{jslogo.sty}{%
+    \RequirePackage{jslogo}%
+  }{%
+    \ClassWarningNoLine\bxjs at clsname
+     {The package 'jslogo' is not installed.\MessageBreak
+      It is included in the recent release of\MessageBreak
+      the 'jsclasses' bundle}
+  }
+\fi
 \newcommand{\prepartname}{\if at english Part~\else 第\fi}
 \newcommand{\postpartname}{\if at english\else 部\fi}
 \newcommand{\presectionname}{}%  第

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsbook.cls	2016-11-03 21:17:15 UTC (rev 42430)
@@ -20,24 +20,9 @@
 %% original source files, as listed above, are part of the
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsbook}
-  [2016/08/16 v1.2a BXJS document classes]
+  [2016/11/01 v1.3 BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \RequirePackage{calc}
 \RequirePackage{keyval}
@@ -76,7 +61,7 @@
 \ifx O\jsEngine \def\bxjs at tmpa{Omega}\fi
 \ifx\bxjs at tmpa\relax \expandafter\@gobble
 \else
-  \ClassError\@currname
+  \ClassError\bxjs at clsname
    {The engine in use (\bxjs at tmpa) is not supported}
    {It's a fatal error. I'll quit right now.}
   \expandafter\@firstofone
@@ -119,9 +104,10 @@
 \if at compatibility
   \ClassError\bxjs at clsname
    {Something went chaotic!\MessageBreak
+    (How come '\string\documentstyle' is there?)\MessageBreak
     I cannot go a single step further...}
-   {If the chant of \string\documentstyle\space was just a blunder
-    of yours,\MessageBreak then there'll still be hope....}
+   {If the chant of '\string\documentstyle' was just a blunder of yours,\MessageBreak
+    then there'll still be hope....}
   \expandafter\@firstofone
 \else \expandafter\@gobble
 \fi{\typeout{Farewell!}\endinput\@@end}
@@ -181,6 +167,7 @@
     {You should not use 'true' lengths here}%
   \fi}
 \newif\ifjsc at mag
+\newif\ifjsc at mag@xreal
 \DeclareOption{8pt}{\bxjs at setbasefontsize{8pt}}
 \DeclareOption{9pt}{\bxjs at setbasefontsize{9pt}}
 \DeclareOption{10pt}{\bxjs at setbasefontsize{10pt}}
@@ -272,6 +259,9 @@
 \newif\if at english
 \@englishfalse
 \DeclareOption{english}{\@englishtrue}
+\newif\if at jslogo \@jslogofalse
+\DeclareOption{jslogo}{\@jslogotrue}
+\DeclareOption{nojslogo}{\@jslogofalse}
 \mathchardef\bxjs at csta=259
 \def\bxjs at invscale#1#2{%
   \begingroup \@tempdima=#1\relax \@tempdimb#2\p@\relax
@@ -424,9 +414,6 @@
 \DeclareOption{noscale}{%
   \bxjs at scalesettrue
   \def\jsScale{1}}
-\DeclareOption{CJK}{%
-  \ClassWarning\bxjs at clsname
-  {Option `CJK' was abolished}}
 \let\bxjs at param@mag\relax
 \define at key{bxjs}{mag}{\edef\bxjs at param@mag{#1}}
 \define at key{bxjs}{paper}{\edef\bxjs at param@paper{#1}}
@@ -457,7 +444,7 @@
    bxjs at magstyle@#1\endcsname
   \ifx\bxjs at magstyle\relax
     \ClassError\bxjs at clsname
-    {Invalid magstyle value `#1'}\@ehc
+     {Invalid value '#1' for option magstyle}\@ehc
     \let\bxjs at magstyle\bxjs at magstyle@default
   \fi}
 \let\bxjs at geometry@class=c
@@ -468,7 +455,7 @@
    bxjs at geometry@#1\endcsname
   \ifx\bxjs at geometry\relax
     \ClassError\bxjs at clsname
-    {Invalid geometry value `#1'}\@ehc
+     {Invalid value '#1' for option geometry}\@ehc
     \let\bxjs at geometry\bxjs at geometry@class
   \fi}
 \newif\ifbxjs at fancyhdr \bxjs at fancyhdrtrue
@@ -486,13 +473,13 @@
    bxjs at dvidriver@@#1\endcsname
   \ifx\bxjs at tmpa\relax
     \ClassError\bxjs at clsname
-    {Invalid dvi value `#1'}\@ehc
+     {Invalid value '#1' for option dvi}\@ehc
   \else
     \def\bxjs at driver@opt{#1}%
     \let\bxjs at driver@given\@undefined
     \bxjs at dvi@opttrue
   \fi}
-\newif\ifbxjs at layout@buggyhmargin \bxjs at layout@buggyhmargintrue
+\newif\ifbxjs at layout@buggyhmargin \bxjs at layout@buggyhmarginfalse
 \@namedef{bxjs at kv@layout at v1}{%
   \bxjs at layout@buggyhmargintrue}
 \@namedef{bxjs at kv@layout at v2}{%
@@ -571,8 +558,8 @@
 \fi
 \ifx\bxjs at engine@given\@undefined\else
   \ifx\bxjs at engine@given\bxjs at tmpb\else
-    \ClassError\bxjs at clsname%
-    {Option `\bxjs at engine@opt' used on wrong engine}\@ehc
+    \ClassError\bxjs at clsname
+     {Option '\bxjs at engine@opt' used on wrong engine}\@ehc
   \fi
 \fi
 \ifjsWithpTeXng
@@ -600,8 +587,8 @@
   \fi\fi
 \fi
 \if at tempswa\else
-  \ClassError\bxjs at clsname%
-  {Option `\bxjs at driver@opt' used on wrong engine}\@ehc
+  \ClassError\bxjs at clsname
+   {Option '\bxjs at driver@opt' used on wrong engine}\@ehc
 \fi
 \ifjsInPdfMode \@tempswafalse
 \else\ifx x\jsEngine \@tempswafalse
@@ -639,18 +626,18 @@
 \fi
 \ifx\bxjs at jadriver@given\@undefined\else
   \ifx\bxjs at engine@given\@undefined
-    \ClassError\bxjs at clsname%
-    {An engine option must be explicitly given}%
-    {When you employ a Japanese-driver you must specify a
-    correct\MessageBreak engine option.\MessageBreak\@ehc}
+    \ClassError\bxjs at clsname
+     {An engine option must be explicitly given}%
+     {When you use a Japanese-driver you must specify a correct\MessageBreak
+      engine option.\MessageBreak\@ehc}
 \fi\fi
 \ifx\bxjs at magstyle@default\bxjs at magstyle@mag\else
   \ifx\bxjs at magstyle\bxjs at magstyle@mag
     \let\bxjs at magstyle\bxjs at magstyle@default
-    \ClassError\bxjs at clsname%
-    {The engine does not support 'magstyle=mag'}%
-    {LuaTeX v0.87 or later no longer supports "mag" feature.\MessageBreak
-     The default value is used instead.\MessageBreak \@ehc}
+    \ClassError\bxjs at clsname
+     {The engine does not support 'magstyle=usemag'}%
+     {LuaTeX v0.87 or later no longer supports the "mag" feature of TeX.\MessageBreak
+      The default value 'nomag*' is used instead.\MessageBreak \@ehc}
   \fi
 \fi
 \bxjs at do@opt at jbase
@@ -679,11 +666,10 @@
 \fi
 \ifdim\bxjs at param@basefontsize<10pt \def\n at baseline{15}%
 \else \def\n at baseline{16}\fi
-\newif\ifbxjs at nfss@patch
 \ifx\bxjs at magstyle\bxjs at magstyle@mag
   \jsc at magtrue
 \else\ifx\bxjs at magstyle\bxjs at magstyle@xreal
-  \bxjs at nfss@patchtrue
+  \jsc at mag@xrealtrue
 \fi\fi
 \ifx\bxjs at param@mag\relax
   \@tempdima=\bxjs at param@basefontsize
@@ -720,45 +706,46 @@
 \ifbxjs at usezw
   \providecommand*\zw{\jsZw}
 \fi
-\ifbxjs at nfss@patch
-\RequirePackage{type1cm}
-\expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
-\expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
-\let\bxjs at get@external at font\get at external@font
-\def\get at external@font{%
-  \bxjs at preadjust@extract at font
-  \bxjs at get@external at font}
-\def\bxjs at fstrunc#1{%
-  \edef\bxjs at tmpa{\strip at pt#1}%
-  \expandafter\bxjs at fstrunc@a\bxjs at tmpa.****\@nil}
-\def\bxjs at fstrunc@a#1.#2#3#4#5#6\@nil{%
-  \if#5*\else
-    \edef\bxjs at tmpa{#1%
-    \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}%
-  \fi}
-\def\bxjs at preadjust@extract at font{%
-  \let\bxjs at req@size\f at size
-  \dimen@\f at size\p@ \bxjs at invscale\dimen@\jsc at magscale
-  \advance\dimen at .005pt\relax \bxjs at fstrunc\dimen@
-  \let\bxjs at ref@size\bxjs at tmpa
-  \let\f at size\bxjs at ref@size}
-\def\execute at size@function#1{%
-  \let\bxjs at cref@size\f at size
-  \let\f at size\bxjs at req@size
-  \csname s at fct@#1\endcsname}
-\let\bxjs at DeclareErrorFont\DeclareErrorFont
-\def\DeclareErrorFont#1#2#3#4#5{%
-  \@tempdimc#5\p@ \@tempdimc\jsc at magscale\@tempdimc
-  \edef\bxjs at tmpa{{#1}{#2}{#3}{#4}{\strip at pt\@tempdimc}}
-  \expandafter\bxjs at DeclareErrorFont\bxjs at tmpa}
-\def\gen at sfcnt{%
-  \edef\mandatory at arg{\mandatory at arg\bxjs at cref@size}%
-  \empty at sfcnt}
-\def\genb at sfcnt{%
-  \edef\mandatory at arg{%
-    \mandatory at arg\expandafter\genb at x\bxjs at cref@size..\@@}%
-  \empty at sfcnt}
-\DeclareErrorFont{OT1}{cmr}{m}{n}{10}
+\ifjsc at mag@xreal
+  \RequirePackage{type1cm}
+  \let\jsc at invscale\bxjs at invscale
+  \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
+  \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
+  \let\jsc at get@external at font\get at external@font
+  \def\get at external@font{%
+    \jsc at preadjust@extract at font
+    \jsc at get@external at font}
+  \def\jsc at fstrunc#1{%
+    \edef\jsc at tmpa{\strip at pt#1}%
+    \expandafter\jsc at fstrunc@a\jsc at tmpa.****\@nil}
+  \def\jsc at fstrunc@a#1.#2#3#4#5#6\@nil{%
+    \if#5*\else
+      \edef\jsc at tmpa{#1%
+      \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}%
+    \fi}
+  \def\jsc at preadjust@extract at font{%
+    \let\jsc at req@size\f at size
+    \dimen@\f at size\p@ \jsc at invscale\dimen@\jsc at magscale
+    \advance\dimen at .005pt\relax \jsc at fstrunc\dimen@
+    \let\jsc at ref@size\jsc at tmpa
+    \let\f at size\jsc at ref@size}
+  \def\execute at size@function#1{%
+    \let\jsc at cref@size\f at size
+    \let\f at size\jsc at req@size
+    \csname s at fct@#1\endcsname}
+  \let\jsc at DeclareErrorFont\DeclareErrorFont
+  \def\DeclareErrorFont#1#2#3#4#5{%
+    \@tempdimc#5\p@ \@tempdimc\jsc at magscale\@tempdimc
+    \edef\jsc at tmpa{{#1}{#2}{#3}{#4}{\strip at pt\@tempdimc}}
+    \expandafter\jsc at DeclareErrorFont\jsc at tmpa}
+  \def\gen at sfcnt{%
+    \edef\mandatory at arg{\mandatory at arg\jsc at cref@size}%
+    \empty at sfcnt}
+  \def\genb at sfcnt{%
+    \edef\mandatory at arg{%
+      \mandatory at arg\expandafter\genb at x\jsc at cref@size..\@@}%
+    \empty at sfcnt}
+  \DeclareErrorFont{OT1}{cmr}{m}{n}{10}
 \fi
 \chardef\bxjs at periodchar=`\.
 \bxjs at protected\def\bxjs at SE{\spacefactor\sfcode\bxjs at periodchar}
@@ -1016,8 +1003,8 @@
 \def\bxjs at check@page at layout{%
   \ifdim\textwidth=.5\maxdimen
     \ClassError\bxjs at clsname
-     {Page layout is not properly set}
-     \@ehd
+     {Page layout is not properly set}%
+     {\@ehd}
   \fi}
 \def\jsUseMinimalPageLayout{%
   \setlength{\textwidth}{6.5in}%
@@ -1027,7 +1014,7 @@
   {\bxjs at pagelayout@a}{\bxjs at pagelayout@a}}
 \def\bxjs at pagelayout@a#1{%
   \ClassError\bxjs at clsname
-   {Command \string\setpagelayout\space is not supported,\MessageBreak
+   {Command '\string\setpagelayout' is not supported,\MessageBreak
     because 'geometry' value is not 'class'}\@eha}
 \fi\fi
 \footnotesep=11\p@? \footnotesep=0.7\footnotesep
@@ -1323,7 +1310,9 @@
     \@afterheading
   \fi
   \if at slide
-    {\vskip-6\p@?\maybeblue\hrule height0\p@? depth1\p@?\vskip7\p@?\relax}%
+    {\vskip\if at twocolumn-5\jsc at mpt\else-6\jsc at mpt\fi
+     \maybeblue\hrule height0\jsc at mpt depth1\jsc at mpt
+     \vskip\if at twocolumn 4\jsc at mpt\else 7\jsc at mpt\fi\relax}%
   \fi
   \par  % 2000-12-18
   \ignorespaces}
@@ -1500,7 +1489,7 @@
 \fi
 \if at twocolumn
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if at slide .4\Cvs \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \else
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
@@ -1510,12 +1499,12 @@
 \fi
 \if at twocolumn
   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if at slide .4\Cvs \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \else
   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
     {\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
-    {\z@}%
+    {\if at slide .5\Cvs \@plus.3\Cdp \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \fi
 \newcommand\jsParagraphMark{\jsJaChar{■}}
@@ -1525,17 +1514,23 @@
 \let\jsJaChar\@empty
 \if at twocolumn
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
-    {\z@}{-1\jsZw}% 改行せず 1\jsZw のアキ
+    {\z@}{\if at slide .4\Cvs \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ
     {\normalfont\normalsize\headfont\jsParagraphMark}}
 \else
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
     {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
-    {-1\jsZw}% 改行せず 1\jsZw のアキ
+    {\if at slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ
     {\normalfont\normalsize\headfont\jsParagraphMark}}
 \fi
-\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
-   {\z@}{-1\jsZw}%
-   {\normalfont\normalsize\headfont}}
+\if at twocolumn
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if at slide .4\Cvs \@plus.3\Cdp \else -1\jsZw\fi}%
+    {\normalfont\normalsize\headfont}}
+\else
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if at slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}%
+    {\normalfont\normalsize\headfont}}
+\fi
 \if at slide
   \setlength\leftmargini{1\jsZw}
 \else
@@ -1726,7 +1721,7 @@
 \DeclareRobustCommand*{\jsc at warnoldfontcmd}[1]{%
   \ClassInfo\bxjs at clsname
    {Old font command '\string#1' is used!!\MessageBreak
-    First occurrence is}%
+    The first occurrence is}%
 }
 \newcommand*{\allowoldfontcommands}{%
   \@jsc at warnoldfontcmdexceptiontrue}
@@ -1753,7 +1748,7 @@
   \ifx\@tempa\@empty\else
     \ClassWarningNoLine\bxjs at clsname
      {Some old font commands were used in text\MessageBreak
-      (see the log output for detail)}%
+      (see the log file for detail)}%
     \ClassInfo\bxjs at clsname
      {Some old font commands were used in text:\MessageBreak
       \space\@tempa\MessageBreak
@@ -1946,10 +1941,12 @@
 \newcommand{\indexspace}{\par \vskip 10\p@? \@plus5\p@? \@minus3\p@?\relax}
 \newcommand\seename{\if at english see\else →\fi}
 \newcommand\alsoname{\if at english see also\else →\fi}
-\let\footnotes at ve=\footnote
-\def\footnote{\jsInhibitGlue\footnotes at ve}
-\let\footnotemarks at ve=\footnotemark
-\def\footnotemark{\jsInhibitGlue\footnotemarks at ve}
+\ifx\pltx at foot@penalty\@undefined
+  \let\footnotes at ve=\footnote
+  \def\footnote{\jsInhibitGlue\footnotes at ve}
+  \let\footnotemarks at ve=\footnotemark
+  \def\footnotemark{\jsInhibitGlue\footnotemarks at ve}
+\fi
 \def\thefootnote{\ifnum\c at footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c at footnote\fi}
 \renewcommand{\footnoterule}{%
   \kern-2.6\p@? \kern-.4\p@
@@ -1974,7 +1971,14 @@
                                 \else \let\next\f at t\fi \next}
 \def\f@@t{\bgroup\aftergroup\@foot\let\next}
 \def\f at t#1{#1\@foot}
-\def\@foot{\@finalstrut\strutbox\color at endgroup\egroup}
+\def\@foot{\@finalstrut\strutbox\color at endgroup\egroup
+  \ifhmode\null\fi
+  \ifx\pltx at foot@penalty\@undefined\else
+    \ifnum\pltx at foot@penalty=\z@\else
+      \penalty\pltx at foot@penalty
+      \pltx at foot@penalty\z@
+    \fi
+  \fi}
 \newcommand\@makefntext[1]{%
   \advance\leftskip 3\jsZw
   \parindent 1\jsZw
@@ -2090,6 +2094,16 @@
     \unskip \reserved at e {\reserved at f#1}\nobreak \hfil \break \null
     \jsInhibitGlue \ignorespaces
   \fi}
+\if at jslogo
+  \IfFileExists{jslogo.sty}{%
+    \RequirePackage{jslogo}%
+  }{%
+    \ClassWarningNoLine\bxjs at clsname
+     {The package 'jslogo' is not installed.\MessageBreak
+      It is included in the recent release of\MessageBreak
+      the 'jsclasses' bundle}
+  }
+\fi
 \newcommand{\prepartname}{\if at english Part~\else 第\fi}
 \newcommand{\postpartname}{\if at english\else 部\fi}
 \newcommand{\prechaptername}{\if at english Chapter~\else 第\fi}

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscjkcat.sty	2016-11-03 21:17:15 UTC (rev 42430)
@@ -20,23 +20,8 @@
 %% original source files, as listed above, are part of the
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 \ProvidesPackage{bxjscjkcat}
-  [2016/08/16 v1.2a BXJS document classes]
+  [2016/11/01 v1.3 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	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjscompat.sty	2016-11-03 21:17:15 UTC (rev 42430)
@@ -20,23 +20,8 @@
 %% original source files, as listed above, are part of the
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 \ProvidesPackage{bxjscompat}
-  [2016/08/16 v1.2a BXJS document classes]
+  [2016/11/01 v1.3 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	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def	2016-11-03 21:17:15 UTC (rev 42430)
@@ -20,23 +20,8 @@
 %% original source files, as listed above, are part of the
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 \ProvidesFile{bxjsja-minimal.def}
-  [2016/08/16 v1.2a BXJS document classes]
+  [2016/11/01 v1.3 BXJS document classes]
 %% このファイルは日本語文字を含みます
 \def\DeclareJaTextFontCommand#1#2{%
   \DeclareRobustCommand#1[1]{%
@@ -266,7 +251,7 @@
   \else\ifnum\strcmp{\the\XeTeXlinebreakskip}{\the\z@}=\z@
     \jsSimpleJaSetup
     \ClassInfo\bxjs at clsname
-     {\string\jsSimpleJaSetup\space is applied\@gobble}%
+     {'\string\jsSimpleJaSetup' is applied\@gobble}%
   \fi\fi}
 \newcommand*{\jsSimpleJaSetup}{%
   \XeTeXlinebreaklocale "ja"\relax

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-modern.def	2016-11-03 21:17:15 UTC (rev 42430)
@@ -20,23 +20,8 @@
 %% original source files, as listed above, are part of the
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 \ProvidesFile{bxjsja-modern.def}
-  [2016/08/16 v1.2a BXJS document classes]
+  [2016/11/01 v1.3 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	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-pandoc.def	2016-11-03 21:17:15 UTC (rev 42430)
@@ -20,23 +20,8 @@
 %% original source files, as listed above, are part of the
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 \ProvidesFile{bxjsja-pandoc.def}
-  [2016/08/16 v1.2a BXJS document classes]
+  [2016/11/01 v1.3 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	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def	2016-11-03 21:17:15 UTC (rev 42430)
@@ -20,23 +20,8 @@
 %% original source files, as listed above, are part of the
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 \ProvidesFile{bxjsja-standard.def}
-  [2016/08/16 v1.2a BXJS document classes]
+  [2016/11/01 v1.3 BXJS document classes]
 %% このファイルは日本語文字を含みます
 \input{bxjsja-minimal.def}
 \bxjs at simplejasetupfalse
@@ -117,9 +102,9 @@
     \let\bxjs at tmpa\jsJaFont
   \fi
   \if f#1\ifx\bxjs at tmpa\bxjs@@noEmbed
-    \ClassWarning\bxjs at clsname
-    {Option 'jafont=noEmbed' is ignored, because no-embed\MessageBreak
-     is not available}%
+    \ClassWarningNoLine\bxjs at clsname
+     {Option 'jafont=noEmbed' is ignored, because it is\MessageBreak
+      not available on the current situation}%
     \let\bxjs at tmpa\@empty
   \fi\fi
 }

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsreport.cls	2016-11-03 21:17:15 UTC (rev 42430)
@@ -20,24 +20,9 @@
 %% original source files, as listed above, are part of the
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsreport}
-  [2016/08/16 v1.2a BXJS document classes]
+  [2016/11/01 v1.3 BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \RequirePackage{calc}
 \RequirePackage{keyval}
@@ -76,7 +61,7 @@
 \ifx O\jsEngine \def\bxjs at tmpa{Omega}\fi
 \ifx\bxjs at tmpa\relax \expandafter\@gobble
 \else
-  \ClassError\@currname
+  \ClassError\bxjs at clsname
    {The engine in use (\bxjs at tmpa) is not supported}
    {It's a fatal error. I'll quit right now.}
   \expandafter\@firstofone
@@ -119,9 +104,10 @@
 \if at compatibility
   \ClassError\bxjs at clsname
    {Something went chaotic!\MessageBreak
+    (How come '\string\documentstyle' is there?)\MessageBreak
     I cannot go a single step further...}
-   {If the chant of \string\documentstyle\space was just a blunder
-    of yours,\MessageBreak then there'll still be hope....}
+   {If the chant of '\string\documentstyle' was just a blunder of yours,\MessageBreak
+    then there'll still be hope....}
   \expandafter\@firstofone
 \else \expandafter\@gobble
 \fi{\typeout{Farewell!}\endinput\@@end}
@@ -181,6 +167,7 @@
     {You should not use 'true' lengths here}%
   \fi}
 \newif\ifjsc at mag
+\newif\ifjsc at mag@xreal
 \DeclareOption{8pt}{\bxjs at setbasefontsize{8pt}}
 \DeclareOption{9pt}{\bxjs at setbasefontsize{9pt}}
 \DeclareOption{10pt}{\bxjs at setbasefontsize{10pt}}
@@ -272,6 +259,9 @@
 \newif\if at english
 \@englishfalse
 \DeclareOption{english}{\@englishtrue}
+\newif\if at jslogo \@jslogofalse
+\DeclareOption{jslogo}{\@jslogotrue}
+\DeclareOption{nojslogo}{\@jslogofalse}
 \mathchardef\bxjs at csta=259
 \def\bxjs at invscale#1#2{%
   \begingroup \@tempdima=#1\relax \@tempdimb#2\p@\relax
@@ -424,9 +414,6 @@
 \DeclareOption{noscale}{%
   \bxjs at scalesettrue
   \def\jsScale{1}}
-\DeclareOption{CJK}{%
-  \ClassWarning\bxjs at clsname
-  {Option `CJK' was abolished}}
 \let\bxjs at param@mag\relax
 \define at key{bxjs}{mag}{\edef\bxjs at param@mag{#1}}
 \define at key{bxjs}{paper}{\edef\bxjs at param@paper{#1}}
@@ -457,7 +444,7 @@
    bxjs at magstyle@#1\endcsname
   \ifx\bxjs at magstyle\relax
     \ClassError\bxjs at clsname
-    {Invalid magstyle value `#1'}\@ehc
+     {Invalid value '#1' for option magstyle}\@ehc
     \let\bxjs at magstyle\bxjs at magstyle@default
   \fi}
 \let\bxjs at geometry@class=c
@@ -468,7 +455,7 @@
    bxjs at geometry@#1\endcsname
   \ifx\bxjs at geometry\relax
     \ClassError\bxjs at clsname
-    {Invalid geometry value `#1'}\@ehc
+     {Invalid value '#1' for option geometry}\@ehc
     \let\bxjs at geometry\bxjs at geometry@class
   \fi}
 \newif\ifbxjs at fancyhdr \bxjs at fancyhdrtrue
@@ -486,13 +473,13 @@
    bxjs at dvidriver@@#1\endcsname
   \ifx\bxjs at tmpa\relax
     \ClassError\bxjs at clsname
-    {Invalid dvi value `#1'}\@ehc
+     {Invalid value '#1' for option dvi}\@ehc
   \else
     \def\bxjs at driver@opt{#1}%
     \let\bxjs at driver@given\@undefined
     \bxjs at dvi@opttrue
   \fi}
-\newif\ifbxjs at layout@buggyhmargin \bxjs at layout@buggyhmargintrue
+\newif\ifbxjs at layout@buggyhmargin \bxjs at layout@buggyhmarginfalse
 \@namedef{bxjs at kv@layout at v1}{%
   \bxjs at layout@buggyhmargintrue}
 \@namedef{bxjs at kv@layout at v2}{%
@@ -571,8 +558,8 @@
 \fi
 \ifx\bxjs at engine@given\@undefined\else
   \ifx\bxjs at engine@given\bxjs at tmpb\else
-    \ClassError\bxjs at clsname%
-    {Option `\bxjs at engine@opt' used on wrong engine}\@ehc
+    \ClassError\bxjs at clsname
+     {Option '\bxjs at engine@opt' used on wrong engine}\@ehc
   \fi
 \fi
 \ifjsWithpTeXng
@@ -600,8 +587,8 @@
   \fi\fi
 \fi
 \if at tempswa\else
-  \ClassError\bxjs at clsname%
-  {Option `\bxjs at driver@opt' used on wrong engine}\@ehc
+  \ClassError\bxjs at clsname
+   {Option '\bxjs at driver@opt' used on wrong engine}\@ehc
 \fi
 \ifjsInPdfMode \@tempswafalse
 \else\ifx x\jsEngine \@tempswafalse
@@ -639,18 +626,18 @@
 \fi
 \ifx\bxjs at jadriver@given\@undefined\else
   \ifx\bxjs at engine@given\@undefined
-    \ClassError\bxjs at clsname%
-    {An engine option must be explicitly given}%
-    {When you employ a Japanese-driver you must specify a
-    correct\MessageBreak engine option.\MessageBreak\@ehc}
+    \ClassError\bxjs at clsname
+     {An engine option must be explicitly given}%
+     {When you use a Japanese-driver you must specify a correct\MessageBreak
+      engine option.\MessageBreak\@ehc}
 \fi\fi
 \ifx\bxjs at magstyle@default\bxjs at magstyle@mag\else
   \ifx\bxjs at magstyle\bxjs at magstyle@mag
     \let\bxjs at magstyle\bxjs at magstyle@default
-    \ClassError\bxjs at clsname%
-    {The engine does not support 'magstyle=mag'}%
-    {LuaTeX v0.87 or later no longer supports "mag" feature.\MessageBreak
-     The default value is used instead.\MessageBreak \@ehc}
+    \ClassError\bxjs at clsname
+     {The engine does not support 'magstyle=usemag'}%
+     {LuaTeX v0.87 or later no longer supports the "mag" feature of TeX.\MessageBreak
+      The default value 'nomag*' is used instead.\MessageBreak \@ehc}
   \fi
 \fi
 \bxjs at do@opt at jbase
@@ -679,11 +666,10 @@
 \fi
 \ifdim\bxjs at param@basefontsize<10pt \def\n at baseline{15}%
 \else \def\n at baseline{16}\fi
-\newif\ifbxjs at nfss@patch
 \ifx\bxjs at magstyle\bxjs at magstyle@mag
   \jsc at magtrue
 \else\ifx\bxjs at magstyle\bxjs at magstyle@xreal
-  \bxjs at nfss@patchtrue
+  \jsc at mag@xrealtrue
 \fi\fi
 \ifx\bxjs at param@mag\relax
   \@tempdima=\bxjs at param@basefontsize
@@ -720,45 +706,46 @@
 \ifbxjs at usezw
   \providecommand*\zw{\jsZw}
 \fi
-\ifbxjs at nfss@patch
-\RequirePackage{type1cm}
-\expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
-\expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
-\let\bxjs at get@external at font\get at external@font
-\def\get at external@font{%
-  \bxjs at preadjust@extract at font
-  \bxjs at get@external at font}
-\def\bxjs at fstrunc#1{%
-  \edef\bxjs at tmpa{\strip at pt#1}%
-  \expandafter\bxjs at fstrunc@a\bxjs at tmpa.****\@nil}
-\def\bxjs at fstrunc@a#1.#2#3#4#5#6\@nil{%
-  \if#5*\else
-    \edef\bxjs at tmpa{#1%
-    \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}%
-  \fi}
-\def\bxjs at preadjust@extract at font{%
-  \let\bxjs at req@size\f at size
-  \dimen@\f at size\p@ \bxjs at invscale\dimen@\jsc at magscale
-  \advance\dimen at .005pt\relax \bxjs at fstrunc\dimen@
-  \let\bxjs at ref@size\bxjs at tmpa
-  \let\f at size\bxjs at ref@size}
-\def\execute at size@function#1{%
-  \let\bxjs at cref@size\f at size
-  \let\f at size\bxjs at req@size
-  \csname s at fct@#1\endcsname}
-\let\bxjs at DeclareErrorFont\DeclareErrorFont
-\def\DeclareErrorFont#1#2#3#4#5{%
-  \@tempdimc#5\p@ \@tempdimc\jsc at magscale\@tempdimc
-  \edef\bxjs at tmpa{{#1}{#2}{#3}{#4}{\strip at pt\@tempdimc}}
-  \expandafter\bxjs at DeclareErrorFont\bxjs at tmpa}
-\def\gen at sfcnt{%
-  \edef\mandatory at arg{\mandatory at arg\bxjs at cref@size}%
-  \empty at sfcnt}
-\def\genb at sfcnt{%
-  \edef\mandatory at arg{%
-    \mandatory at arg\expandafter\genb at x\bxjs at cref@size..\@@}%
-  \empty at sfcnt}
-\DeclareErrorFont{OT1}{cmr}{m}{n}{10}
+\ifjsc at mag@xreal
+  \RequirePackage{type1cm}
+  \let\jsc at invscale\bxjs at invscale
+  \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
+  \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
+  \let\jsc at get@external at font\get at external@font
+  \def\get at external@font{%
+    \jsc at preadjust@extract at font
+    \jsc at get@external at font}
+  \def\jsc at fstrunc#1{%
+    \edef\jsc at tmpa{\strip at pt#1}%
+    \expandafter\jsc at fstrunc@a\jsc at tmpa.****\@nil}
+  \def\jsc at fstrunc@a#1.#2#3#4#5#6\@nil{%
+    \if#5*\else
+      \edef\jsc at tmpa{#1%
+      \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}%
+    \fi}
+  \def\jsc at preadjust@extract at font{%
+    \let\jsc at req@size\f at size
+    \dimen@\f at size\p@ \jsc at invscale\dimen@\jsc at magscale
+    \advance\dimen at .005pt\relax \jsc at fstrunc\dimen@
+    \let\jsc at ref@size\jsc at tmpa
+    \let\f at size\jsc at ref@size}
+  \def\execute at size@function#1{%
+    \let\jsc at cref@size\f at size
+    \let\f at size\jsc at req@size
+    \csname s at fct@#1\endcsname}
+  \let\jsc at DeclareErrorFont\DeclareErrorFont
+  \def\DeclareErrorFont#1#2#3#4#5{%
+    \@tempdimc#5\p@ \@tempdimc\jsc at magscale\@tempdimc
+    \edef\jsc at tmpa{{#1}{#2}{#3}{#4}{\strip at pt\@tempdimc}}
+    \expandafter\jsc at DeclareErrorFont\jsc at tmpa}
+  \def\gen at sfcnt{%
+    \edef\mandatory at arg{\mandatory at arg\jsc at cref@size}%
+    \empty at sfcnt}
+  \def\genb at sfcnt{%
+    \edef\mandatory at arg{%
+      \mandatory at arg\expandafter\genb at x\jsc at cref@size..\@@}%
+    \empty at sfcnt}
+  \DeclareErrorFont{OT1}{cmr}{m}{n}{10}
 \fi
 \chardef\bxjs at periodchar=`\.
 \bxjs at protected\def\bxjs at SE{\spacefactor\sfcode\bxjs at periodchar}
@@ -999,8 +986,8 @@
 \def\bxjs at check@page at layout{%
   \ifdim\textwidth=.5\maxdimen
     \ClassError\bxjs at clsname
-     {Page layout is not properly set}
-     \@ehd
+     {Page layout is not properly set}%
+     {\@ehd}
   \fi}
 \def\jsUseMinimalPageLayout{%
   \setlength{\textwidth}{6.5in}%
@@ -1010,7 +997,7 @@
   {\bxjs at pagelayout@a}{\bxjs at pagelayout@a}}
 \def\bxjs at pagelayout@a#1{%
   \ClassError\bxjs at clsname
-   {Command \string\setpagelayout\space is not supported,\MessageBreak
+   {Command '\string\setpagelayout' is not supported,\MessageBreak
     because 'geometry' value is not 'class'}\@eha}
 \fi\fi
 \footnotesep=11\p@? \footnotesep=0.7\footnotesep
@@ -1306,7 +1293,9 @@
     \@afterheading
   \fi
   \if at slide
-    {\vskip-6\p@?\maybeblue\hrule height0\p@? depth1\p@?\vskip7\p@?\relax}%
+    {\vskip\if at twocolumn-5\jsc at mpt\else-6\jsc at mpt\fi
+     \maybeblue\hrule height0\jsc at mpt depth1\jsc at mpt
+     \vskip\if at twocolumn 4\jsc at mpt\else 7\jsc at mpt\fi\relax}%
   \fi
   \par  % 2000-12-18
   \ignorespaces}
@@ -1483,7 +1472,7 @@
 \fi
 \if at twocolumn
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if at slide .4\Cvs \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \else
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
@@ -1493,12 +1482,12 @@
 \fi
 \if at twocolumn
   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if at slide .4\Cvs \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \else
   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
     {\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
-    {\z@}%
+    {\if at slide .5\Cvs \@plus.3\Cdp \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \fi
 \newcommand\jsParagraphMark{\jsJaChar{■}}
@@ -1508,17 +1497,23 @@
 \let\jsJaChar\@empty
 \if at twocolumn
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
-    {\z@}{-1\jsZw}% 改行せず 1\jsZw のアキ
+    {\z@}{\if at slide .4\Cvs \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ
     {\normalfont\normalsize\headfont\jsParagraphMark}}
 \else
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
     {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
-    {-1\jsZw}% 改行せず 1\jsZw のアキ
+    {\if at slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ
     {\normalfont\normalsize\headfont\jsParagraphMark}}
 \fi
-\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
-   {\z@}{-1\jsZw}%
-   {\normalfont\normalsize\headfont}}
+\if at twocolumn
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if at slide .4\Cvs \@plus.3\Cdp \else -1\jsZw\fi}%
+    {\normalfont\normalsize\headfont}}
+\else
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if at slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}%
+    {\normalfont\normalsize\headfont}}
+\fi
 \if at slide
   \setlength\leftmargini{1\jsZw}
 \else
@@ -1709,7 +1704,7 @@
 \DeclareRobustCommand*{\jsc at warnoldfontcmd}[1]{%
   \ClassInfo\bxjs at clsname
    {Old font command '\string#1' is used!!\MessageBreak
-    First occurrence is}%
+    The first occurrence is}%
 }
 \newcommand*{\allowoldfontcommands}{%
   \@jsc at warnoldfontcmdexceptiontrue}
@@ -1736,7 +1731,7 @@
   \ifx\@tempa\@empty\else
     \ClassWarningNoLine\bxjs at clsname
      {Some old font commands were used in text\MessageBreak
-      (see the log output for detail)}%
+      (see the log file for detail)}%
     \ClassInfo\bxjs at clsname
      {Some old font commands were used in text:\MessageBreak
       \space\@tempa\MessageBreak
@@ -1929,10 +1924,12 @@
 \newcommand{\indexspace}{\par \vskip 10\p@? \@plus5\p@? \@minus3\p@?\relax}
 \newcommand\seename{\if at english see\else →\fi}
 \newcommand\alsoname{\if at english see also\else →\fi}
-\let\footnotes at ve=\footnote
-\def\footnote{\jsInhibitGlue\footnotes at ve}
-\let\footnotemarks at ve=\footnotemark
-\def\footnotemark{\jsInhibitGlue\footnotemarks at ve}
+\ifx\pltx at foot@penalty\@undefined
+  \let\footnotes at ve=\footnote
+  \def\footnote{\jsInhibitGlue\footnotes at ve}
+  \let\footnotemarks at ve=\footnotemark
+  \def\footnotemark{\jsInhibitGlue\footnotemarks at ve}
+\fi
 \def\thefootnote{\ifnum\c at footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c at footnote\fi}
 \renewcommand{\footnoterule}{%
   \kern-2.6\p@? \kern-.4\p@
@@ -1957,7 +1954,14 @@
                                 \else \let\next\f at t\fi \next}
 \def\f@@t{\bgroup\aftergroup\@foot\let\next}
 \def\f at t#1{#1\@foot}
-\def\@foot{\@finalstrut\strutbox\color at endgroup\egroup}
+\def\@foot{\@finalstrut\strutbox\color at endgroup\egroup
+  \ifhmode\null\fi
+  \ifx\pltx at foot@penalty\@undefined\else
+    \ifnum\pltx at foot@penalty=\z@\else
+      \penalty\pltx at foot@penalty
+      \pltx at foot@penalty\z@
+    \fi
+  \fi}
 \newcommand\@makefntext[1]{%
   \advance\leftskip 3\jsZw
   \parindent 1\jsZw
@@ -2073,6 +2077,16 @@
     \unskip \reserved at e {\reserved at f#1}\nobreak \hfil \break \null
     \jsInhibitGlue \ignorespaces
   \fi}
+\if at jslogo
+  \IfFileExists{jslogo.sty}{%
+    \RequirePackage{jslogo}%
+  }{%
+    \ClassWarningNoLine\bxjs at clsname
+     {The package 'jslogo' is not installed.\MessageBreak
+      It is included in the recent release of\MessageBreak
+      the 'jsclasses' bundle}
+  }
+\fi
 \newcommand{\prepartname}{\if at english Part~\else 第\fi}
 \newcommand{\postpartname}{\if at english\else 部\fi}
 \newcommand{\prechaptername}{\if at english Chapter~\else 第\fi}

Modified: trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls	2016-11-03 21:17:00 UTC (rev 42429)
+++ trunk/Master/texmf-dist/tex/latex/bxjscls/bxjsslide.cls	2016-11-03 21:17:15 UTC (rev 42430)
@@ -20,24 +20,9 @@
 %% original source files, as listed above, are part of the
 %% same distribution. (The sources need not necessarily be
 %% in the same archive or directory.)
-%% \CharacterTable
-%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%%   Digits        \0\1\2\3\4\5\6\7\8\9
-%%   Exclamation   \!     Double quote  \"     Hash (number) \#
-%%   Dollar        \$     Percent       \%     Ampersand     \&
-%%   Acute accent  \'     Left paren    \(     Right paren   \)
-%%   Asterisk      \*     Plus          \+     Comma         \,
-%%   Minus         \-     Point         \.     Solidus       \/
-%%   Colon         \:     Semicolon     \;     Less than     \<
-%%   Equals        \=     Greater than  \>     Question mark \?
-%%   Commercial at \@     Left bracket  \[     Backslash     \\
-%%   Right bracket \]     Circumflex    \^     Underscore    \_
-%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
-%%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesClass{bxjsslide}
-  [2016/08/16 v1.2a BXJS document classes]
+  [2016/11/01 v1.3 BXJS document classes]
 %% このファイルは日本語文字を含みます.
 \RequirePackage{calc}
 \RequirePackage{keyval}
@@ -76,7 +61,7 @@
 \ifx O\jsEngine \def\bxjs at tmpa{Omega}\fi
 \ifx\bxjs at tmpa\relax \expandafter\@gobble
 \else
-  \ClassError\@currname
+  \ClassError\bxjs at clsname
    {The engine in use (\bxjs at tmpa) is not supported}
    {It's a fatal error. I'll quit right now.}
   \expandafter\@firstofone
@@ -119,9 +104,10 @@
 \if at compatibility
   \ClassError\bxjs at clsname
    {Something went chaotic!\MessageBreak
+    (How come '\string\documentstyle' is there?)\MessageBreak
     I cannot go a single step further...}
-   {If the chant of \string\documentstyle\space was just a blunder
-    of yours,\MessageBreak then there'll still be hope....}
+   {If the chant of '\string\documentstyle' was just a blunder of yours,\MessageBreak
+    then there'll still be hope....}
   \expandafter\@firstofone
 \else \expandafter\@gobble
 \fi{\typeout{Farewell!}\endinput\@@end}
@@ -179,6 +165,7 @@
     {You should not use 'true' lengths here}%
   \fi}
 \newif\ifjsc at mag
+\newif\ifjsc at mag@xreal
 \DeclareOption{8pt}{\bxjs at setbasefontsize{8pt}}
 \DeclareOption{9pt}{\bxjs at setbasefontsize{9pt}}
 \DeclareOption{10pt}{\bxjs at setbasefontsize{10pt}}
@@ -268,6 +255,9 @@
 \newif\if at english
 \@englishfalse
 \DeclareOption{english}{\@englishtrue}
+\newif\if at jslogo \@jslogofalse
+\DeclareOption{jslogo}{\@jslogotrue}
+\DeclareOption{nojslogo}{\@jslogofalse}
 \mathchardef\bxjs at csta=259
 \def\bxjs at invscale#1#2{%
   \begingroup \@tempdima=#1\relax \@tempdimb#2\p@\relax
@@ -420,9 +410,6 @@
 \DeclareOption{noscale}{%
   \bxjs at scalesettrue
   \def\jsScale{1}}
-\DeclareOption{CJK}{%
-  \ClassWarning\bxjs at clsname
-  {Option `CJK' was abolished}}
 \let\bxjs at param@mag\relax
 \define at key{bxjs}{mag}{\edef\bxjs at param@mag{#1}}
 \define at key{bxjs}{paper}{\edef\bxjs at param@paper{#1}}
@@ -453,7 +440,7 @@
    bxjs at magstyle@#1\endcsname
   \ifx\bxjs at magstyle\relax
     \ClassError\bxjs at clsname
-    {Invalid magstyle value `#1'}\@ehc
+     {Invalid value '#1' for option magstyle}\@ehc
     \let\bxjs at magstyle\bxjs at magstyle@default
   \fi}
 \let\bxjs at geometry@class=c
@@ -464,7 +451,7 @@
    bxjs at geometry@#1\endcsname
   \ifx\bxjs at geometry\relax
     \ClassError\bxjs at clsname
-    {Invalid geometry value `#1'}\@ehc
+     {Invalid value '#1' for option geometry}\@ehc
     \let\bxjs at geometry\bxjs at geometry@class
   \fi}
 \newif\ifbxjs at fancyhdr \bxjs at fancyhdrtrue
@@ -482,13 +469,13 @@
    bxjs at dvidriver@@#1\endcsname
   \ifx\bxjs at tmpa\relax
     \ClassError\bxjs at clsname
-    {Invalid dvi value `#1'}\@ehc
+     {Invalid value '#1' for option dvi}\@ehc
   \else
     \def\bxjs at driver@opt{#1}%
     \let\bxjs at driver@given\@undefined
     \bxjs at dvi@opttrue
   \fi}
-\newif\ifbxjs at layout@buggyhmargin \bxjs at layout@buggyhmargintrue
+\newif\ifbxjs at layout@buggyhmargin \bxjs at layout@buggyhmarginfalse
 \@namedef{bxjs at kv@layout at v1}{%
   \bxjs at layout@buggyhmargintrue}
 \@namedef{bxjs at kv@layout at v2}{%
@@ -567,8 +554,8 @@
 \fi
 \ifx\bxjs at engine@given\@undefined\else
   \ifx\bxjs at engine@given\bxjs at tmpb\else
-    \ClassError\bxjs at clsname%
-    {Option `\bxjs at engine@opt' used on wrong engine}\@ehc
+    \ClassError\bxjs at clsname
+     {Option '\bxjs at engine@opt' used on wrong engine}\@ehc
   \fi
 \fi
 \ifjsWithpTeXng
@@ -596,8 +583,8 @@
   \fi\fi
 \fi
 \if at tempswa\else
-  \ClassError\bxjs at clsname%
-  {Option `\bxjs at driver@opt' used on wrong engine}\@ehc
+  \ClassError\bxjs at clsname
+   {Option '\bxjs at driver@opt' used on wrong engine}\@ehc
 \fi
 \ifjsInPdfMode \@tempswafalse
 \else\ifx x\jsEngine \@tempswafalse
@@ -635,18 +622,18 @@
 \fi
 \ifx\bxjs at jadriver@given\@undefined\else
   \ifx\bxjs at engine@given\@undefined
-    \ClassError\bxjs at clsname%
-    {An engine option must be explicitly given}%
-    {When you employ a Japanese-driver you must specify a
-    correct\MessageBreak engine option.\MessageBreak\@ehc}
+    \ClassError\bxjs at clsname
+     {An engine option must be explicitly given}%
+     {When you use a Japanese-driver you must specify a correct\MessageBreak
+      engine option.\MessageBreak\@ehc}
 \fi\fi
 \ifx\bxjs at magstyle@default\bxjs at magstyle@mag\else
   \ifx\bxjs at magstyle\bxjs at magstyle@mag
     \let\bxjs at magstyle\bxjs at magstyle@default
-    \ClassError\bxjs at clsname%
-    {The engine does not support 'magstyle=mag'}%
-    {LuaTeX v0.87 or later no longer supports "mag" feature.\MessageBreak
-     The default value is used instead.\MessageBreak \@ehc}
+    \ClassError\bxjs at clsname
+     {The engine does not support 'magstyle=usemag'}%
+     {LuaTeX v0.87 or later no longer supports the "mag" feature of TeX.\MessageBreak
+      The default value 'nomag*' is used instead.\MessageBreak \@ehc}
   \fi
 \fi
 \bxjs at do@opt at jbase
@@ -674,11 +661,10 @@
   \AtEndOfClass{\allowoldfontcommands}
 \fi
 \def\n at baseline{13}%
-\newif\ifbxjs at nfss@patch
 \ifx\bxjs at magstyle\bxjs at magstyle@mag
   \jsc at magtrue
 \else\ifx\bxjs at magstyle\bxjs at magstyle@xreal
-  \bxjs at nfss@patchtrue
+  \jsc at mag@xrealtrue
 \fi\fi
 \ifx\bxjs at param@mag\relax
   \@tempdima=\bxjs at param@basefontsize
@@ -715,45 +701,46 @@
 \ifbxjs at usezw
   \providecommand*\zw{\jsZw}
 \fi
-\ifbxjs at nfss@patch
-\RequirePackage{type1cm}
-\expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
-\expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
-\let\bxjs at get@external at font\get at external@font
-\def\get at external@font{%
-  \bxjs at preadjust@extract at font
-  \bxjs at get@external at font}
-\def\bxjs at fstrunc#1{%
-  \edef\bxjs at tmpa{\strip at pt#1}%
-  \expandafter\bxjs at fstrunc@a\bxjs at tmpa.****\@nil}
-\def\bxjs at fstrunc@a#1.#2#3#4#5#6\@nil{%
-  \if#5*\else
-    \edef\bxjs at tmpa{#1%
-    \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}%
-  \fi}
-\def\bxjs at preadjust@extract at font{%
-  \let\bxjs at req@size\f at size
-  \dimen@\f at size\p@ \bxjs at invscale\dimen@\jsc at magscale
-  \advance\dimen at .005pt\relax \bxjs at fstrunc\dimen@
-  \let\bxjs at ref@size\bxjs at tmpa
-  \let\f at size\bxjs at ref@size}
-\def\execute at size@function#1{%
-  \let\bxjs at cref@size\f at size
-  \let\f at size\bxjs at req@size
-  \csname s at fct@#1\endcsname}
-\let\bxjs at DeclareErrorFont\DeclareErrorFont
-\def\DeclareErrorFont#1#2#3#4#5{%
-  \@tempdimc#5\p@ \@tempdimc\jsc at magscale\@tempdimc
-  \edef\bxjs at tmpa{{#1}{#2}{#3}{#4}{\strip at pt\@tempdimc}}
-  \expandafter\bxjs at DeclareErrorFont\bxjs at tmpa}
-\def\gen at sfcnt{%
-  \edef\mandatory at arg{\mandatory at arg\bxjs at cref@size}%
-  \empty at sfcnt}
-\def\genb at sfcnt{%
-  \edef\mandatory at arg{%
-    \mandatory at arg\expandafter\genb at x\bxjs at cref@size..\@@}%
-  \empty at sfcnt}
-\DeclareErrorFont{OT1}{cmr}{m}{n}{10}
+\ifjsc at mag@xreal
+  \RequirePackage{type1cm}
+  \let\jsc at invscale\bxjs at invscale
+  \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
+  \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
+  \let\jsc at get@external at font\get at external@font
+  \def\get at external@font{%
+    \jsc at preadjust@extract at font
+    \jsc at get@external at font}
+  \def\jsc at fstrunc#1{%
+    \edef\jsc at tmpa{\strip at pt#1}%
+    \expandafter\jsc at fstrunc@a\jsc at tmpa.****\@nil}
+  \def\jsc at fstrunc@a#1.#2#3#4#5#6\@nil{%
+    \if#5*\else
+      \edef\jsc at tmpa{#1%
+      \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}%
+    \fi}
+  \def\jsc at preadjust@extract at font{%
+    \let\jsc at req@size\f at size
+    \dimen@\f at size\p@ \jsc at invscale\dimen@\jsc at magscale
+    \advance\dimen at .005pt\relax \jsc at fstrunc\dimen@
+    \let\jsc at ref@size\jsc at tmpa
+    \let\f at size\jsc at ref@size}
+  \def\execute at size@function#1{%
+    \let\jsc at cref@size\f at size
+    \let\f at size\jsc at req@size
+    \csname s at fct@#1\endcsname}
+  \let\jsc at DeclareErrorFont\DeclareErrorFont
+  \def\DeclareErrorFont#1#2#3#4#5{%
+    \@tempdimc#5\p@ \@tempdimc\jsc at magscale\@tempdimc
+    \edef\jsc at tmpa{{#1}{#2}{#3}{#4}{\strip at pt\@tempdimc}}
+    \expandafter\jsc at DeclareErrorFont\jsc at tmpa}
+  \def\gen at sfcnt{%
+    \edef\mandatory at arg{\mandatory at arg\jsc at cref@size}%
+    \empty at sfcnt}
+  \def\genb at sfcnt{%
+    \edef\mandatory at arg{%
+      \mandatory at arg\expandafter\genb at x\jsc at cref@size..\@@}%
+    \empty at sfcnt}
+  \DeclareErrorFont{OT1}{cmr}{m}{n}{10}
 \fi
 \chardef\bxjs at periodchar=`\.
 \bxjs at protected\def\bxjs at SE{\spacefactor\sfcode\bxjs at periodchar}
@@ -993,8 +980,8 @@
 \def\bxjs at check@page at layout{%
   \ifdim\textwidth=.5\maxdimen
     \ClassError\bxjs at clsname
-     {Page layout is not properly set}
-     \@ehd
+     {Page layout is not properly set}%
+     {\@ehd}
   \fi}
 \def\jsUseMinimalPageLayout{%
   \setlength{\textwidth}{6.5in}%
@@ -1004,7 +991,7 @@
   {\bxjs at pagelayout@a}{\bxjs at pagelayout@a}}
 \def\bxjs at pagelayout@a#1{%
   \ClassError\bxjs at clsname
-   {Command \string\setpagelayout\space is not supported,\MessageBreak
+   {Command '\string\setpagelayout' is not supported,\MessageBreak
     because 'geometry' value is not 'class'}\@eha}
 \fi\fi
 \footnotesep=11\p@? \footnotesep=0.7\footnotesep
@@ -1306,7 +1293,9 @@
     \@afterheading
   \fi
   \if at slide
-    {\vskip-6\p@?\maybeblue\hrule height0\p@? depth1\p@?\vskip7\p@?\relax}%
+    {\vskip\if at twocolumn-5\jsc at mpt\else-6\jsc at mpt\fi
+     \maybeblue\hrule height0\jsc at mpt depth1\jsc at mpt
+     \vskip\if at twocolumn 4\jsc at mpt\else 7\jsc at mpt\fi\relax}%
   \fi
   \par  % 2000-12-18
   \ignorespaces}
@@ -1392,7 +1381,7 @@
 \fi
 \if at twocolumn
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if at slide .4\Cvs \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \else
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
@@ -1402,12 +1391,12 @@
 \fi
 \if at twocolumn
   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if at slide .4\Cvs \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \else
   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
     {\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
-    {\z@}%
+    {\if at slide .5\Cvs \@plus.3\Cdp \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \fi
 \newcommand\jsParagraphMark{\jsJaChar{■}}
@@ -1417,17 +1406,23 @@
 \let\jsJaChar\@empty
 \if at twocolumn
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
-    {\z@}{-1\jsZw}% 改行せず 1\jsZw のアキ
+    {\z@}{\if at slide .4\Cvs \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ
     {\normalfont\normalsize\headfont\jsParagraphMark}}
 \else
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
     {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
-    {-1\jsZw}% 改行せず 1\jsZw のアキ
+    {\if at slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}% 改行せず 1\jsZw のアキ
     {\normalfont\normalsize\headfont\jsParagraphMark}}
 \fi
-\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
-   {\z@}{-1\jsZw}%
-   {\normalfont\normalsize\headfont}}
+\if at twocolumn
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if at slide .4\Cvs \@plus.3\Cdp \else -1\jsZw\fi}%
+    {\normalfont\normalsize\headfont}}
+\else
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if at slide .5\Cvs \@plus.3\Cdp \else -1\jsZw\fi}%
+    {\normalfont\normalsize\headfont}}
+\fi
 \if at slide
   \setlength\leftmargini{1\jsZw}
 \else
@@ -1656,7 +1651,7 @@
 \DeclareRobustCommand*{\jsc at warnoldfontcmd}[1]{%
   \ClassInfo\bxjs at clsname
    {Old font command '\string#1' is used!!\MessageBreak
-    First occurrence is}%
+    The first occurrence is}%
 }
 \newcommand*{\allowoldfontcommands}{%
   \@jsc at warnoldfontcmdexceptiontrue}
@@ -1683,7 +1678,7 @@
   \ifx\@tempa\@empty\else
     \ClassWarningNoLine\bxjs at clsname
      {Some old font commands were used in text\MessageBreak
-      (see the log output for detail)}%
+      (see the log file for detail)}%
     \ClassInfo\bxjs at clsname
      {Some old font commands were used in text:\MessageBreak
       \space\@tempa\MessageBreak
@@ -1856,10 +1851,12 @@
 \newcommand{\indexspace}{\par \vskip 10\p@? \@plus5\p@? \@minus3\p@?\relax}
 \newcommand\seename{\if at english see\else →\fi}
 \newcommand\alsoname{\if at english see also\else →\fi}
-\let\footnotes at ve=\footnote
-\def\footnote{\jsInhibitGlue\footnotes at ve}
-\let\footnotemarks at ve=\footnotemark
-\def\footnotemark{\jsInhibitGlue\footnotemarks at ve}
+\ifx\pltx at foot@penalty\@undefined
+  \let\footnotes at ve=\footnote
+  \def\footnote{\jsInhibitGlue\footnotes at ve}
+  \let\footnotemarks at ve=\footnotemark
+  \def\footnotemark{\jsInhibitGlue\footnotemarks at ve}
+\fi
 \def\thefootnote{\ifnum\c at footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c at footnote\fi}
 \renewcommand{\footnoterule}{%
   \kern-2.6\p@? \kern-.4\p@
@@ -1883,7 +1880,14 @@
                                 \else \let\next\f at t\fi \next}
 \def\f@@t{\bgroup\aftergroup\@foot\let\next}
 \def\f at t#1{#1\@foot}
-\def\@foot{\@finalstrut\strutbox\color at endgroup\egroup}
+\def\@foot{\@finalstrut\strutbox\color at endgroup\egroup
+  \ifhmode\null\fi
+  \ifx\pltx at foot@penalty\@undefined\else
+    \ifnum\pltx at foot@penalty=\z@\else
+      \penalty\pltx at foot@penalty
+      \pltx at foot@penalty\z@
+    \fi
+  \fi}
 \newcommand\@makefntext[1]{%
   \advance\leftskip 3\jsZw
   \parindent 1\jsZw
@@ -1999,6 +2003,16 @@
     \unskip \reserved at e {\reserved at f#1}\nobreak \hfil \break \null
     \jsInhibitGlue \ignorespaces
   \fi}
+\if at jslogo
+  \IfFileExists{jslogo.sty}{%
+    \RequirePackage{jslogo}%
+  }{%
+    \ClassWarningNoLine\bxjs at clsname
+     {The package 'jslogo' is not installed.\MessageBreak
+      It is included in the recent release of\MessageBreak
+      the 'jsclasses' bundle}
+  }
+\fi
 \newcommand{\prepartname}{\if at english Part~\else 第\fi}
 \newcommand{\postpartname}{\if at english\else 部\fi}
 \newcommand{\presectionname}{}%  第



More information about the tex-live-commits mailing list