OSDN Git Service

ltjsclasses: Fix an error when jslogo.sty is not found.
[luatex-ja/luatexja.git] / src / ltjsclasses.dtx
index 175e44e..ee896d5 100644 (file)
@@ -21,7 +21,7 @@
 %
 %  Copyright 1993 1994 1995 1996 1997 1998 1999
 %  The LaTeX3 Project and any individual authors listed elsewhere
-%  in this file. 
+%  in this file.
 %
 %  Copyright 1995-1999 ASCII Corporation.
 %  Copyright 1999-2016 Haruhiko Okumura
@@ -29,7 +29,7 @@
 %  -----------------------------------------
 %
 % \fi
-% \CheckSum{5291}
+% \CheckSum{5377}
 %% \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
 %<*driver>
 \ProvidesFile{ltjsclasses.dtx}
 %</driver>
-  [2016/07/18 ltjsclasses ]
+  [2016/08/03 ltjsclasses ]
 %<*driver>
 \IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
 \documentclass{ltjsarticle}
 \usepackage{doc}
 \usepackage{fontspec}
 \usepackage[ipaex,nfssonly]{luatexja-preset}
+\ltjsetparameter{alxspmode={`\*,allow}}
+\ltjsetparameter{alxspmode={`\\,allow}}
 %%%%\usepackage{unicode-math}
 %%%%\setmathfont{Latin Modern Math}
 \usepackage[unicode]{hyperref}
@@ -96,7 +98,7 @@
 % \section{はじめに}
 %
 % これは,元々奥村晴彦先生により作成され,現在は日本語\TeX 開発コミュニティにより
-% 管理されている |jsclasses.dtx| をLua\LaTeX-ja用に改変したものです。
+% 管理されている\texttt{jsclasses.dtx}をLua\LaTeX-ja用に改変したものです。
 % 次のドキュメントクラス(スタイルファイル)を生成します。
 % \begin{quote}
 %   \begin{tabular}{lll}
 % \end{quote}
 %
 % \subsection{\texttt{jsclasses.dtx}からの主な変更点}
-% 全ての変更点を知りたい場合は,|jsclasses.dtx| と |ltjsclasses.dtx| で |diff| 
+% 全ての変更点を知りたい場合は,\texttt{jsclasses.dtx}と\texttt{ltjsclasses.dtx}でdiff
 % とって下さい。zw, zh は全て |\zw|, |\zh| に置き換えられています。
 % \begin{itemize}
-% \item フォントメトリック関係のオプション |winjis| は単に無視されます。
-% \item 標準では |jfm-ujis.lua|(Lua\TeX-ja標準のメトリック,OTFパッケージのものがベース)を使用します。
-% \item |uplatex| オプションを削除してあります。
-% \item |disablejfam| オプションが無効になっています。もし
+% \item フォントメトリック関係のオプション\texttt{winjis}は単に無視されます。
+% \item 標準では\texttt{jfm-ujis.lua}(Lua\TeX-ja標準のメトリック,OTFパッケージのものがベース)を使用します。
+% \item \texttt{uplatex}オプションを削除してあります。
+% \item \texttt{disablejfam}オプションが無効になっています。もし
 % \begin{quotation}
 %   |! LaTeX Error: Too many math alphabets used in version ****.|
 % \end{quotation}
-% のエラーが起こった場合は,|lualatex-math| パッケージを読み込んでみて下さい。
-% \item |papersize| オプションの指定に関わらずPDFのページサイズは適切に
+% のエラーが起こった場合は,\texttt{lualatex-math}パッケージを読み込んでみて下さい。
+% \item \texttt{papersize}オプションの指定に関わらずPDFのページサイズは適切に
 %   設定されます。
 % \item Lua\TeX-ja同梱のメトリックを用いる限りは,段落の頭にグルーは挿入されません。
-%   そのため,オリジナルの |jsclasses.dtx| 内にあったhack (|\everyparhook|)は不要になったので,
+%   そのため,オリジナルの\texttt{jsclasses}内にあったhack (|\everyparhook|)は不要になったので,
 %   削除しました。
 % \item 「\texttt{amsmath}との衝突の回避」のコードは,上流で既に対処されているうえ,
-%   これがあると |grfext.sty| を読み込んだ際にエラーを引き起こすので削除しました。
-% \item 本家 |jsclasses.dtx| では |\mag| を用いて「10pt時の組版結果を本文フォントサイズに合わせ拡大縮小」
-%   という方針でしたが,本 |ltjsclasses.dtx| ではそのような方法を取っていません。
+%   これがあると\texttt{grfext.sty}を読み込んだ際にエラーを引き起こすので削除しました。
+% \item 本家\texttt{jsclasses}では |\mag| を用いて「10\,pt時の組版結果を本文フォントサイズに合わせ拡大縮小」
+%   という方針でしたが,本\texttt{ltjsclasses}ではそのような方法を取っていません。
 %   \begin{itemize}
-%    \item |nomag| オプション指定時には,単にレイアウトに用いる各種長さの値をスケールさせるだけです。
-%      そのため,例えば本文の文字サイズが17ptのときにはcmr10でなくcmr17を用いることになり,組版結果の印象が
+%    \item \texttt{nomag}オプション指定時には,単にレイアウトに用いる各種長さの値をスケールさせるだけです。
+%      そのため,例えば本文の文字サイズが17\,ptのときにはcmr10でなくcmr17を用いることになり,組版結果の印象が
 %      異なる恐れがあります。
-%    \item |nomagx| オプション指定時には,上記に加えてオプティカルサイズを調整する(本文ではcmr17の代わりに
+%    \item \texttt{nomag*}オプション指定時には,上記に加えてオプティカルサイズを調整する(本文ではcmr17の代わりに
 %      cmr10を拡大縮小する,など)ため,\LaTeX のフォント選択システムNFSSへパッチを当てます。
 %      こうすることで前項に書いた不具合はなくなりますが,かえって別の不具合が起きる可能性
-%      はあります。
+%      はあります\footnote{%
+%        \texttt{nomag*}は\texttt{jsclasses}でも利用可能ですが,\texttt{ltjsclasses}では\texttt{jsclasses}とは
+%        別の実装をしています。
+%      }。
 %   \end{itemize}
-%   標準では |nomagx| オプションが有効になっています。|jsclasses.dtx| で用意されていた
-%   |usemag| オプションを指定すると警告を出します.
+%   標準では\texttt{nomag*}オプションが有効になっています。\texttt{jsclasses}で用意され,かつ既定になっている
+%   \texttt{usemag}オプションを指定すると警告を出します。
 % \end{itemize}
 %
 % [2014-02-07 LTJ] jsclasses 2014-02-07 ベースにしました。
 % Lua\TeX-ja カーネル内に移しました。
 %
 % [2016-03-21 LTJ] Lua\TeX~beta-0.87.0 ではPDF出力時に|\mag|が使用できなくなったので,
-% ZRさんの|bxjscls|を参考に使わないように書き換えました。
+% ZRさんの\texttt{bxjscls}を参考に使わないように書き換えました。
 %
-% [2016-03-31 LTJ] |xreal|オプションを標準で有効にしました.
+% [2016-03-31 LTJ] \texttt{xreal}オプションを標準で有効にしました。
 %
-% [2016-07-12 LTJ] |jsclasses.dtx| 開発版に合わせ、|real|, |xreal| オプションの名称を変更するなどの変更を行いました。
+% [2016-07-12 LTJ] \texttt{jsclasses}開発版に合わせ,\texttt{real},~\texttt{xreal}オプションの名称を変更するなどの変更を行いました。
 %
-% [2016-07-18 LTJ] |usemag| オプションが指定されると警告を出すようにしました.
+% [2016-07-18 LTJ] \texttt{usemag}オプションが指定されると警告を出すようにしました。
+%
+% [2016-07-21 LTJ] \LaTeX 等のロゴの再定義で,\texttt{jslogo}パッケージがあればそちらを読み込むことにしました。
 %
 % \StopEventually{}
 %
 %
 % \section{Lua\TeX-jaの読み込み}
 %
-% まず,|luatexja| を読み込みます。
+% まず,Lua\TeX-jaを読み込みます。
 %    \begin{macrocode}
 \RequirePackage{luatexja}
 %    \end{macrocode}
 % \pLaTeXe の \texttt{b5paper}
 % は $257\,\mathrm{mm} \times 182\,\mathrm{mm}$ になっています。
 % ここでは\pLaTeXe にならってJISに従いました。
-% 
+%
 % デフォルトは \texttt{a4paper} です。
 %
 % \texttt{b5var}(B5変形,182mm×230mm),
 % [2016-07-08] |\mag| を使わずに各種寸法をスケールさせるためのオプション \texttt{nomag} を新設しました。
 % \texttt{usemag} オプションの指定で従来通りの動作となります。デフォルトは \texttt{usemag} です。
 %
+% [2016-07-24] オプティカルサイズを調整するためにNFSSへパッチを当てるオプション \texttt{nomag*} を新設しました。
+%
 %    \begin{macrocode}
 \def\jsc@magscale{1}
 \DeclareOption{slide}{\@slidetrue\def\jsc@magscale{3.583}\@landscapetrue\@titlepagetrue}
 %    \end{macrocode}
 %
 % \paragraph{オプティカルサイズの補正}
-% |nomagx| オプション指定時には,本文のフォントサイズが10pt以外の場合に
+% \texttt{nomag*}オプション指定時には,本文のフォントサイズが10pt以外の場合に
 % オプティカルサイズの補正を行うためにNFSSにパッチを当てます。
-% 現在の |ltjsclasses| ではこのパッチ当ては標準では行いますが,
-% 将来どうなるかわからないので |nomag| で無効化することができるようにしました。
+% 現在の\texttt{ltjsclasses}ではこのパッチ当ては標準では行いますが,
+% 将来どうなるかわからないので\texttt{nomag}で無効化することができるようにしました。
 %
-% |noxreal|, |real| は旧来の互換性として今は残してありますが、2017年7月に削除する予定です。
+% \texttt{noxreal},~\texttt{real}は旧来の互換性として今は残してありますが,2017年7月に削除する予定です。
 %    \begin{macrocode}
 \newif\if@ltjs@mag@xreal
 \@ltjs@mag@xrealtrue
-\DeclareOption{nomagx}{\@ltjs@mag@xrealtrue}
+\DeclareOption{nomag*}{\@ltjs@mag@xrealtrue}
 \DeclareOption{nomag}{\@ltjs@mag@xrealfalse}
 \DeclareOption{noxreal}{%
   \ClassWarningNoLine{\jsc@clsname}{%
     This \jsc@clsname\space cls does not support `usemag'\MessageBreak
        option, since LuaTeX does not support \string\mag\MessageBreak in pdf output}%
   \@ltjs@mag@xrealtrue}
-  
+
 
 %    \end{macrocode}
 %
 % \paragraph{トンボオプション}
 %
 % トンボ(crop marks)を出力します。
-% 実際の処理は |lltjcore.sty| で行います。
+% 実際の処理は\texttt{lltjcore.sty}で行います。
 % オプション \texttt{tombow} で日付付きのトンボ,
 % オプション \texttt{tombo} で日付なしのトンボを出力します。
 % これらはアスキー版のままです。
-% カウンタ |\hour|,|\minute| は |luatexja-compat.sty| で宣言されています。
+% カウンタ |\hour|,|\minute| は\texttt{luatexja-compat.sty}で宣言されています。
 %
 %    \begin{macrocode}
 \hour\time \divide\hour by 60\relax
 % \pTeX では数式中では16通りのフォントしか使えませんでしたが,Lua\TeX では
 % Omega拡張が取り込まれていて256通りのフォントが使えます。
 % ただし,\LaTeXe カーネルでは未だに数式ファミリの数は16個に制限されているので,
-% 実際に使用可能な数式ファミリの数を増やすためには |lualatex-math| パッケージを
+% 実際に使用可能な数式ファミリの数を増やすためには\texttt{lualatex-math}パッケージを
 % 読み込む必要があることに注意が必要です。
 %
 %    \begin{macrocode}
 %
 % \paragraph{和文フォントメトリックの選択}
 %
-% ここではOTFパッケージのメトリックを元とした,|jfm-ujis.lua| メトリックを標準で使います。
+% ここではOTFパッケージのメトリックを元とした,\texttt{jfm-ujis.lua}メトリックを標準で使います。
 % 古い\texttt{min10},\texttt{goth10}互換のメトリックを使いたいときは\texttt{mingoth}
 % というオプションを指定します。
 % \pTeX でよく利用される\texttt{jis}フォントメトリックと互換のメトリックを使いたい場合は,
 %
 % \paragraph{papersizeスペシャルの利用}
 %
-% |ltjsclasses| では |papersize| オプションの有無に関わらず,
+% \texttt{ltjsclasses}では\texttt{papersize}オプションの有無に関わらず,
 % PDFのページサイズは適切に設定されるので,削除しました。
 %
 % \paragraph{英語化}
 %</book>
 %    \end{macrocode}
 %
+% \paragraph{\texttt{jslogo}パッケージの読み込み}
+%
+% \LaTeX 関連のロゴを再定義する\texttt{jslogo}パッケージを
+% 読み込まないオプション\texttt{nojslogo}を新設しました。
+% \texttt{jslogo}オプションの指定で従来どおりの動作となります。
+% デフォルトは\texttt{jslogo}で,すなわちパッケージを読み込みます。
+%    \begin{macrocode}
+\newif\if@jslogo \@jslogotrue
+\DeclareOption{jslogo}{\@jslogotrue}
+\DeclareOption{nojslogo}{\@jslogofalse}
+%    \end{macrocode}
+%
 % \paragraph{オプションの実行}
 %
 % デフォルトのオプションを実行します。
 %
 % [2016-03-21 LTJ] |\mag| を使わないように全面的に書き換えました。
 % |\ltjs@mpt| に「拡大率だけ大きくしたpt」の値が格納されます。
-% |bxjscls| と同様に,|\@ptsize| は |10pt|,~|11pt|,~|12pt| オプションが指定された時だけ
+% \texttt{bxjscls}と同様に,|\@ptsize| は |10pt|,~|11pt|,~|12pt| オプションが指定された時だけ
 % 従来通り0,~1,~2と設定し,それ以外の場合は$-20$とすることにしました。
 % |\inv@mag| はもはや定義していません。
 %
 % [2016-07-08] |\jsc@mpt| および |\jsc@mmm| に,それぞれ1ptおよび1mmを拡大させた値を格納します。
 % 以降のレイアウト指定ではこちらを使います。
 %
-% [2016-07-12 LTJ] |\ltjs@...|を本家に合わせて|\jsc@...|に名称変更しました。
+% [2016-07-12 LTJ] |\ltjs@...| を本家に合わせて |\jsc@...| に名称変更しました。
 %    \begin{macrocode}
 %<*kiyou>
 \def\jsc@magscale{0.9769230}
 %
 % \paragraph{オプティカルサイズの補正}
 % \leavevmode\par
-% [2016-03-26 LTJ] |xreal|オプションの指定時には,|bxjscls|の|magstyle=xreal|
+% [2016-03-26 LTJ] |xreal|オプションの指定時には,\texttt{bxjscls}の|magstyle=xreal|
 % オプションのように,オプティカルの補正を行うためにNFSSにパッチを当てます。
 % パッチは,概ねmiscさんによる「js*.cls 同様の文字サイズ設定を
 % |\mag|によらずに行う方法:試案」
 % 方法に沿っていますが,拡大/縮小するところの計算にはLuaを用いています。
 %
 % なお,\TeX 内部で長さはsp単位の整数倍で表現されているので,数spの誤差は仕方がないです。
-% そのため,事前に|type1cm|パッケージを読みこんでおきます。
+% そのため,事前に\texttt{type1cm}パッケージを読みこんでおきます。
 %
-% [2016-03-28 LTJ] |\luafunction|を使うようにし,また本文のフォントサイズが10ptのときには
+% [2016-03-28 LTJ] |\luafunction|を使うようにし,また本文のフォントサイズが10\,ptのときには
 % (不要なので)パッチを当てないことにしました。
 %
-% [2016-04-04 LTJ] NFSSへのパッチを修正
+% [2016-04-04 LTJ] NFSSへのパッチを修正
 %    \begin{macrocode}
 \if@ltjs@mag@xreal\RequirePackage{type1cm}
 \ifdim\jsc@mpt=\p@\else
 % 一方,Lua\TeX-jaの提供するメトリックでは,そのようなことはありません。
 % 公称10ポイントの和文フォントは,10ポイントで出力されます。
 %
-% この |ltjsclasses| でも,派生元の |jsclasses| と同じように,
+% この\texttt{ltjsclasses}でも,派生元の\texttt{jsclasses}と同じように,
 % この公称10ポイントのフォントをここでは13級に縮小して
 % 使うことにします。そのためには,$13\,\textrm{Q}/10\,\textrm{pt}\simeq 0.924715$倍
 % すればいいことになります。
 %
-% |\ltj@stdmcfont|,~|\ltj@stdgtfont| によるデフォルトで使われる明朝・ゴシックのフォントの
-% 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではなく
-% 何らかの理由で非埋め込みフォントが正しく利用できない場合にのみ |luatexja.cfg| によって
+% |\ltj@stdmcfont|,~|\ltj@stdgtfont| によるデフォルトで使われる明朝・ゴシックのフォントの
+% 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではなく
+% 何らかの理由で非埋め込みフォントが正しく利用できない場合にのみ\texttt{luatexja.cfg}によって
 % セットされるものです。
 %
-% [2014-07-26 LTJ] なお,現状のところ,縦組用JFMは |jfm-ujisv.lua| しか準備していません。
+% [2014-07-26 LTJ] なお,現状のところ,縦組用JFMは\texttt{jfm-ujisv.lua}しか準備していません。
 %
-% [2016-03-21 LTJ] 拡大率の計算で1~ptを$1/72.27$インチでなく0.3514~mmと間違えて扱っていたのを修正
+% [2016-03-21 LTJ] 拡大率の計算で1~ptを$1/72.27$インチでなく0.3514~mmと間違えて扱っていたのを修正
 %    \begin{macrocode}
 %<*!jspf>
 \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
 % [2004-11-03] |\rmfamily| も和文対応にしました。
 %
 % [2016-01-30 LTJ] |\rmfamily|, |\sffamily|, |\ttfamily| の再定義をLua\TeX-ja
-% カーネルに移動させたので,ここでは和文対応にするフラグ |\@ltj@match@family|\ 
+% カーネルに移動させたので,ここでは和文対応にするフラグ |\@ltj@match@family|\
 % を有効にさせるだけでよいです。
 %    \begin{macrocode}
 \DeclareFontShape{JY3}{mc}{bx}{n}{<->ssub*gt/m/n}{}
 % Lua\TeX-jaでは和文組版に伴うグルーはノードベースで挿入するようになり,また
 % 欧文・和文間のグルーとイタリック補正は干渉しないようになりました。
 % まだ「和文の斜体」についてはLua\LaTeX カーネル側でまともな対応がされていませんが,
-% |jsclasses.dtx| で行われていた |\textmc|, |\textgt| の再定義は不要のように思われます。
+% \texttt{jsclasses}で行われていた |\textmc|, |\textgt| の再定義は不要のように思われます。
 %
-% |jsclasses.dtx| 中で行われていた |\reDeclareMathAlphabet| の再定義は削除。
+% \texttt{jsclasses.dtx}中で行われていた |\reDeclareMathAlphabet| の再定義は削除。
 %
 %    \begin{macrocode}
 \AtBeginDocument{%
 % 和文文字間のスペース |kanjiskip|,
 % 和文・欧文間のスペース |xkanjiskip| を変更しています。
 %
-% |kanjiskip| は |ltj-latex.sty| で |0pt plus 0.4pt minus 0.4pt| に
+% |kanjiskip| は |ltj-latex.sty| で |0pt plus 0.4pt minus 0.5pt| に
 % 設定していますが,
 % これはそもそも文字サイズの変更に応じて変わるべきものです。
 % それに,プラスになったりマイナスになったりするのは,
   \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
   \@tempskipa=\ltjgetparameter{xkanjiskip}
   \ifdim\@tempskipa>\z@
-    \if@slide 
+    \if@slide
       \ltjsetxkanjiskip .1em
     \else
       \ltjsetxkanjiskip .25em plus .15em minus .06em
 % ページスタイルとして,\LaTeXe (欧文版)の標準クラス
 % では |empty|,|plain|,|headings|,|myheadings| があります。
 % このうち |empty|,|plain| スタイルは\LaTeXe 本体
-% で定義されています。 
+% で定義されています。
 %
 % アスキーのクラスファイルでは |headnombre|,|footnombre|,
 % |bothstyle|,|jpl@in| が追加されていますが,
 %
 % [2011-10-05 LTJ] Lua\TeX-jaでは |\everyparhook| は不要なので削除。
 %
+% [2016-07-28] \texttt{slide}オプションと\texttt{twocolumn}オプションを
+% 同時に指定した場合の罫線の位置を微調整しました。
+%
 %    \begin{macrocode}
 \def\@xsect#1{%
 % 見出しの後ろの空きを \@tempskipa にセット
     \@afterheading
   \fi
   \if@slide
-    {\vskip-6\jsc@mpt\maybeblue\hrule height0\jsc@mpt depth1\jsc@mpt\vskip7\jsc@mpt\relax}%
+    {\vskip\if@twocolumn-5\jsc@mpt\else-6\jsc@mpt\fi
+     \maybeblue\hrule height0\jsc@mpt depth1\jsc@mpt
+     \vskip\if@twocolumn 4\jsc@mpt\else 7\jsc@mpt\fi\relax}
   \fi
   \par  % 2000-12-18
   \ignorespaces}
 %    \begin{macrocode}
 \if@twocolumn
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if@slide .4\Cvs \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \else
   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
 % \end{macro}
 %
 % \begin{macro}{\subsubsection}
+%
+% [2016-07-22] \texttt{slide}オプション指定時に |\subsubsection| の文字列
+% と罫線が重なる問題に対処しました(forum:1982)。
+%
 %    \begin{macrocode}
 \if@twocolumn
   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
-    {\z@}{\z@}%
+    {\z@}{\if@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@slide .5\Cvs \@plus.3\Cdp \else \z@ \fi}%
     {\normalfont\normalsize\headfont}}
 \fi
 %    \end{macrocode}
 %    \begin{macrocode}
 \if@twocolumn
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
-    {\z@}{-1\zw}% 改行せず 1\zw のアキ
+    {\z@}{\if@slide .4\Cvs \else -1\zw\fi}% 改行せず 1\zw のアキ
 %<jspf>    {\normalfont\normalsize\headfont}}
 %<!jspf>    {\normalfont\normalsize\headfont ■}}
 \else
   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
     {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
-    {-1\zw}% 改行せず 1\zw のアキ
+    {\if@slide .5\Cvs \@plus.3\Cdp \else -1\zw\fi}% 改行せず 1\zw のアキ
 %<jspf>    {\normalfont\normalsize\headfont}}
 %<!jspf>    {\normalfont\normalsize\headfont ■}}
 \fi
 %    見出しの後ろで改行されません。
 %
 %    \begin{macrocode}
-\newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
-   {\z@}{-1\zw}%
-   {\normalfont\normalsize\headfont}}
+\if@twocolumn
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if@slide .4\Cvs \@plus.3\Cdp \else -1\zw\fi}%
+    {\normalfont\normalsize\headfont}}
+\else
+  \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
+    {\z@}{\if@slide .5\Cvs \@plus.3\Cdp \else -1\zw\fi}%
+    {\normalfont\normalsize\headfont}}
+\fi
 %    \end{macrocode}
 % \end{macro}
 %
 % \begin{verbatim}
 % ! Missing number, treated as zero.
 % \end{verbatim}
-% 
+%
 %
 %    \begin{macrocode}
 %<*!jspf>
 % これらは互換性のためのもので,
 % できるだけ |\text...| と |\math...| を使ってください。
 %
-% [2016-07-15] KOMA-Script中の |\scr@DeclareOldFontCommand| に倣い
+% [2016-07-15] KOMA-Script中の |\scr@DeclareOldFontCommand| に倣い
 % これらの命令を使うときには警告を発することにしました。
 %
 % [2016-07-16] 警告を最初の一回だけ発することにしました。また,
    \@lnumwidth #3\relax
    \advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip
     {#4}\nobreak
-    \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep 
+    \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill \nobreak\hb@xt@\@pnumwidth{%
          \hfil\normalfont \normalcolor #5}\par}\fi}
 %    \end{macrocode}
 %
 % \LaTeX 関連のロゴを作り直します。
 %
+% [2016-07-14] ロゴの定義は\texttt{jslogo}パッケージに移転しました。
+% 後方互換のため,\texttt{jsclasses}ではデフォルトでこれを読み込みます。
+%
+% \texttt{nojslogo}オプションが指定されている場合は読み込みません。
+%
+% [2016-07-21 LTJ] \texttt{jsclasses} とLua\TeX-jaの更新タイミングが一致しない可能性を考慮し,
+% \texttt{jslogo}パッケージが存在しない場合は旧来の定義をそのまま使うことにしました。
+%
+%    \begin{macrocode}
+\IfFileExists{jslogo.sty}{}{\@jslogofalse}%
+\if@jslogo
+  \RequirePackage{jslogo}
+  \def\小{\jslg@small}
+  \def\上小{\jslg@uppersmall}
+\else
+%    \end{macrocode}
+%
+% 以下は\texttt{jslogo}パッケージがない場合の定義です。
+%
 % \begin{macro}{\小}
 % \begin{macro}{\上小}
 %
 % \end{macro}
 % \end{macro}
 %
+% \texttt{jslogo}パッケージがない場合の定義はここで終わりです。
+%    \begin{macrocode}
+\fi
+%    \end{macrocode}
+%
 % \section{初期設定}
 %
 % \paragraph{いろいろな語}