% -----------------------------------------
%
% \fi
-% \CheckSum{5310}
+% \CheckSum{5366}
%% \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/08/03 ltjsclasses ]
+ [2016/08/27 ltjsclasses ]
%<*driver>
\IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
\documentclass{ltjsarticle}
-\usepackage{doc}
+\usepackage{hypdoc}
+\hypersetup{unicode=true}
\usepackage{fontspec}
\usepackage[ipaex,nfssonly]{luatexja-preset}
\ltjsetparameter{alxspmode={`\*,allow}}
\ltjsetparameter{alxspmode={`\\,allow}}
%%%%\usepackage{unicode-math}
%%%%\setmathfont{Latin Modern Math}
-\usepackage[unicode]{hyperref}
\addtolength{\textwidth}{-1in}
\addtolength{\evensidemargin}{1in}
\addtolength{\oddsidemargin}{1in}
\addtolength{\marginparwidth}{1in}
\setlength\marginparpush{0pt}
% \OnlyDescription
-\DisableCrossrefs
+\EnableCrossrefs
\setcounter{StandardModuleDepth}{1}
\GetFileInfo{ltjsclasses.dtx}
\CodelineNumbered
%</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{オプションの実行}
%
% デフォルトのオプションを実行します。
% 計算では |\headheight| ではなく |\topskip| を使う
% ことにしました。
%
+%
+% [2016-08-17] 圏点やルビが一行目に来た場合に下がるのを防ぐた
+% め,|\topskip| を10ptから1.38zwに増やしました。
+% |\headheight| は従来と同じ20ptのままとします。
+%
+% [2016-08-17 LTJ] 1.38zwの代わりに1.38|\zh|にしています。
+%
% \begin{macrocode}
-\setlength\topskip{10\jsc@mpt}
+\setlength\topskip{1.38\zh}%% from 10\jsc@mpt (2016-08-17)
\if@slide
\setlength\headheight{0\jsc@mpt}
\else
- \setlength\headheight{2\topskip}
+ \setlength\headheight{20\jsc@mpt}%% from 2\topskip (2016-08-17); from \topskip (2003-06-26)
\fi
% \end{macrocode}
% \end{macro}
% [2003-06-26] |\headheight| を |\topskip| に直しました。
% 以前はこの二つは値が同じであったので,変化はないはずです。
%
+% [2016-08-26] |\topskip| を10ptから1.38zwに増やしましたので,
+% その分 |\textheight| を増やします(2016-08-17での修正漏れ)。
+%
% \begin{macrocode}
%<*article|book>
\if@slide
\else
\setlength{\textheight}{0.83\paperheight}
\fi
-\addtolength{\textheight}{-\topskip}
+\addtolength{\textheight}{-0.5\headheight}%% from -\topskip (2016-08-26); from -\headheight (2003-06-26)
\addtolength{\textheight}{-\headsep}
\addtolength{\textheight}{-\footskip}
\addtolength{\textheight}{-\topskip}
% [2011-10-03 LTJ] ここも |\oddsidemargin| のときと同様に |-\inv@mag in| ではなく
% |-1in| にします。
%
+% [2016-08-17] |\topskip| を10ptから1.38zwに直しましたが,
+% |\topmargin| は従来の値から変わらないように調節しました。
+% …のつもりでしたが,|\textheight| を増やし忘れていたので
+% 変わってしまっていました(2016-08-26修正済み)。
% \begin{macrocode}
\setlength\topmargin{\paperheight}
\addtolength\topmargin{-\textheight}
\if@slide
\addtolength\topmargin{-\headheight}
\else
- \addtolength\topmargin{-\topskip}
+ \addtolength\topmargin{-0.5\headheight}%% from -\topskip (2016-08-17); from -\headheight (2003-06-26)
\fi
\addtolength\topmargin{-\headsep}
\addtolength\topmargin{-\footskip}
%
% [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}
%
%
% [2016-07-11] コミュニティ版p\LaTeX の変更に追随しました(Thanks: 角藤さん)。
%
-% \begin{macrocode}
-\renewcommand\@makefnmark{%
- \unless\ifnum\ltjgetparameter{direction}=3
- \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}%
- \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}
-% \end{macrocode}
+% [2016-08-27 LTJ] 結果的に |\@makefnmark| の定義が
+% Lua\TeX-ja本体(lltjcore.sty)中のものと全く同じになっていたので,削除します,
% \end{macro}
%
% \begin{macro}{\thefootnote}
% [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}{%
+\IfFileExists{jslogo.sty}{}{\@jslogofalse}%
+\if@jslogo
\RequirePackage{jslogo}
\def\小{\jslg@small}
\def\上小{\jslg@uppersmall}
-}{%
+\else
% \end{macrocode}
%
% 以下は\texttt{jslogo}パッケージがない場合の定義です。
% 文字を小さめに出したり上寄りに小さめに出したりする命令です。
%
% \begin{macrocode}
-\def\小##1{\hbox{$\m@th$%
+\def\小#1{\hbox{$\m@th$%
\csname S@\f@size\endcsname
\fontsize\sf@size\z@
\math@fontsfalse\selectfont
- ##1}}
-\def\上小##1{{\sbox\z@ T\vbox to\ht0{\小{##1}\vss}}}
+ #1}}
+\def\上小#1{{\sbox\z@ T\vbox to\ht0{\小{#1}\vss}}}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
% \texttt{jslogo}パッケージがない場合の定義はここで終わりです。
% \begin{macrocode}
-}
+\fi
% \end{macrocode}
%
% \section{初期設定}