%
% Copyright 1995-1999 ASCII Corporation.
% Copyright 1999-2016 Haruhiko Okumura
-% Copyright 2016 Japanese TeX Development Community
+% Copyright 2016-2017 Japanese TeX Development Community
% -----------------------------------------
%
% \fi
% \iffalse
%
% \begin{macrocode}
-%<article|book|jspf|kiyou>\NeedsTeXFormat{LaTeX2e}
+\NeedsTeXFormat{LaTeX2e}
%<article>\ProvidesClass{ltjsarticle}
%<book>\ProvidesClass{ltjsbook}
+%<report>\ProvidesClass{ltjsreport}
%<jspf>\ProvidesClass{ltjspf}
%<kiyou>\ProvidesClass{ltjskiyou}
%<*driver>
\ProvidesFile{ltjsclasses.dtx}
%</driver>
- [2016/10/13 ltjsclasses ]
+ [2017/03/06 ltjsclasses ]
%<*driver>
\IfFileExists{luatex85.sty}{\RequirePackage{luatex85}}{}
\documentclass{ltjsarticle}
\usepackage{hypdoc}
\hypersetup{unicode=true}
-\usepackage{fontspec}
\usepackage[ipaex,nfssonly]{luatexja-preset}
\ltjsetparameter{alxspmode={`\*,allow}}
\ltjsetparameter{alxspmode={`\\,allow}}
% これは,元々奥村晴彦先生により作成され,現在は日本語\TeX 開発コミュニティにより
% 管理されている\texttt{jsclasses.dtx}をLua\LaTeX-ja用に改変したものです。
% 次のドキュメントクラス(スタイルファイル)を生成します。
+%
+% [2017-02-13] forum:2121の議論を機に,ltjsreportクラスを新設しました。
+% 従来のltjsbookの |report| オプションと比べると,|abstract| 環境の使い方
+% および挙動がアスキーのjreportに近づきました。
+%
% \begin{quote}
% \begin{tabular}{lll}
% $\langle$\textsf{article}$\rangle$ & \texttt{ltjsarticle.cls} & 論文・レポート用 \\
% $\langle$\textsf{book}$\rangle$ & \texttt{ltjsbook.cls} & 書籍用 \\
+% $\langle$\textsf{report}$\rangle$ & \texttt{ltjsreport.cls} & レポート用 \\
% $\langle$\textsf{jspf}$\rangle$ & \texttt{ltjspf.cls} & 某学会誌用 \\
-% $\langle$\textsf{kiyou}$\rangle$ & \texttt{ltjskiyou.cls} & 某紀要用
+% $\langle$\textsf{kiyou}$\rangle$ & \texttt{ltjskiyou.cls} & 某紀要用
% \end{tabular}
% \end{quote}
%
% \begin{itemize}
% \item フォントメトリック関係のオプション\texttt{winjis}は単に無視されます。
% \item 標準では\texttt{jfm-ujis.lua}(Lua\TeX-ja標準のメトリック,OTFパッケージのものがベース)を使用します。
-% \item \texttt{uplatex}オプションを削除してあります。
+% \item \texttt{uplatex}オプション,\texttt{autodetect-engine}オプションを
+% 削除してあります(前者ではエラーを出すようにしています)。
% \item \texttt{disablejfam}オプションが無効になっています。もし
% \begin{quotation}
% |! LaTeX Error: Too many math alphabets used in version ****.|
% \begin{macrocode}
%<article>\def\jsc@clsname{ltjsarticle}
%<book>\def\jsc@clsname{ltjsbook}
+%<report>\def\jsc@clsname{ltjsreport}
%<jspf>\def\jsc@clsname{ltjspf}
%<kiyou>\def\jsc@clsname{ltjskiyou}
% \end{macrocode}
%
% \begin{macro}{\if@openright}
%
-% |\chapter|,|\part| を奇数ページ起こしにするかどうかです。
-% 書籍では真が標準です。
+% |\chapter|,|\part| を右ページ起こしにするかどうかです。
+% 横組の書籍では真が標準で,要するに片起こし,奇数ページ起こしになります。
+%
+% \begin{macrocode}
+%<book|report>\newif\if@openright
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\if@openleft}
+%
+% [2017-02-24] |\chapter|,|\part| を左ページ起こしにするかどうかです。
%
% \begin{macrocode}
-%<book>\newif\if@openright
+%<book|report>\newif\if@openleft
% \end{macrocode}
% \end{macro}
%
%
% オプション \texttt{slide} を新設しました。
%
+% [2016-10-08] \texttt{slide} オプションは article 以外では使い物にならなかったので,
+% 簡単のため article のみで使えるオプションとしました。
+%
% \begin{macrocode}
\newif\if@slide
\@slidefalse
%
% [2016-07-24] オプティカルサイズを調整するためにNFSSへパッチを当てるオプション \texttt{nomag*} を新設しました。
%
-% [2016-10-08] \texttt{slide} オプションは article 以外では使い物にならなかったので,
-% 簡単のため article のみで使えるオプションとしました。
-%
% \begin{macrocode}
\def\jsc@magscale{1}
%<*article>
%
% \paragraph{右左起こし}
%
-% 書籍では章は通常は奇数ページ起こしになりますが,
+% 書籍では章は通常は奇数ページ起こしになりますが,横組ではこれを
+% \texttt{openright} と表すことにしてあります。
% \texttt{openany} で偶数ページからでも始まるようになります。
%
+% [2017-02-24] \texttt{openright} は横組では奇数ページ起こし,縦組では
+% 偶数ページ起こしを表します。ややこしいですが,これは\LaTeX の標準クラスが
+% 西欧の横組事情しか考慮せずに,奇数ページ起こしと右起こしを一緒にしてしまっ
+% たせいです。縦組での奇数ページ起こしと横組での偶数ページ起こしも表現したい
+% ので,ltjsclassesでは新たに \texttt{openleft} も追加しました。
+%
% \begin{macrocode}
-%<book>\DeclareOption{openright}{\@openrighttrue}
-%<book>\DeclareOption{openany}{\@openrightfalse}
+%<book|report>\DeclareOption{openright}{\@openrighttrue\@openleftfalse}
+%<book|report>\DeclareOption{openleft}{\@openlefttrue\@openrightfalse}
+%<book|report>\DeclareOption{openany}{\@openrightfalse\@openleftfalse}
% \end{macrocode}
%
% \paragraph{eqnarray環境と数式の位置}
% \texttt{ptexjis}というオプションを指定します。
% \texttt{winjis}メトリックは用済みのため,\texttt{winjis}オプションは無視されます。
%
+% [2016-11-09] pLaTeX / upLaTeX を自動判別するオプション \texttt{autodetect-engine} を新設しました。
+%
+% [2016-11-24 LTJ] \texttt{autodetect-engine} はLua\TeX-jaでは意味がないので警告を表示させます.
+%
% \begin{macrocode}
\newif\ifmingoth
\mingothfalse
\DeclareOption{winjis}{%
\ClassWarningNoLine{\jsc@clsname}{The \jsc@clsname\space class does not support `winjis' option}}
\DeclareOption{uplatex}{%
- \ClassWarningNoLine{\jsc@clsname}{The \jsc@clsname\space class does not support `uplatex' option}}
+ \ClassErrorNoLine{\jsc@clsname}{The \jsc@clsname\space class does not support `uplatex' option}}
+\DeclareOption{autodetect-engine}{%
+ \ClassWarningNoLine{\jsc@clsname}{The \jsc@clsname\space class does not support `autodetect-engine' option}}
\DeclareOption{mingoth}{\mingothtrue}
\DeclareOption{ptexjis}{\ptexjistrue}
\DeclareOption{jis}{\jisfonttrue}
\DeclareOption{english}{\@englishtrue}
% \end{macrocode}
%
-% \paragraph{ltjsreport相当}
+% \paragraph{ltjsbookをltjsreportもどきに}
%
% オプション \texttt{report} を新設しました。
%
+% [2017-02-13] 従来は「ltjsreport相当」をltjsbookの \texttt{report} オプションで提供して
+% いましたが,新しくltjsreportクラスも作りました。どちらでもお好きな方を使ってください。
+%
% \begin{macrocode}
%<*book>
\newif\if@report
% \begin{macrocode}
%<article>\ExecuteOptions{a4paper,oneside,onecolumn,notitlepage,final}
%<book>\ExecuteOptions{a4paper,twoside,onecolumn,titlepage,openright,final}
+%<report>\ExecuteOptions{a4paper,oneside,onecolumn,titlepage,openany,final}
%<jspf>\ExecuteOptions{a4paper,twoside,twocolumn,notitlepage,fleqn,final}
%<kiyou>\ExecuteOptions{a4paper,twoside,twocolumn,notitlepage,final}
\ProcessOptions
% 基準となる行送りをポイント単位で表したものです。
%
% \begin{macrocode}
-%<article|book>\if@slide\def\n@baseline{13}\else\def\n@baseline{16}\fi
+%<article|book|report>\if@slide\def\n@baseline{13}\else\def\n@baseline{16}\fi
%<jspf>\def\n@baseline{14.554375}
%<kiyou>\def\n@baseline{14.897}
% \end{macrocode}
% (不要なので)パッチを当てないことにしました。
%
% [2016-04-04 LTJ] NFSSへのパッチを修正。
+%
+% [2017-01-23] \LaTeXe\ 2017-01-01以降ではTUエンコーディングが標準なので,
+% \texttt{type1cm}パッケージは読み込まないようにしました.
+%
+% [2017-02-17 LTJ] |\directlua|中で出力される数字のカテゴリーコードが12になるようにしました.
+% この保証をしないと例えば\texttt{listings}パッケージで無限ループになります.
% \begin{macrocode}
-\if@ltjs@mag@xreal\RequirePackage{type1cm}
+\if@ltjs@mag@xreal
\ifdim\jsc@mpt=\p@\else
\expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
+ \expandafter\let\csname TU/lmr/m/n/10\endcsname\relax
\expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
\newluafunction\ltjs@@magnify@font@calc
\begingroup\catcode`\%=12\relax
local getdimen, mpt=tex.getdimen, tex.getdimen('jsc@mpt')/65536
local t = lua.get_functions_table()
t[\the\ltjs@@magnify@font@calc] = function()
- tex.sprint(math.floor(0.5+mpt*getdimen('dimen@')))
+ tex.sprint(-2,math.floor(0.5+mpt*getdimen('dimen@')))
end
function luatexja.ltjs_unmagnify_fsize(a)
local s = luatexja.print_scaled(math.floor(0.5+a/mpt*65536))
- tex.sprint( (s:match('%.0$')) and s:sub(1,-3) or s )
+ tex.sprint(-2, (s:match('%.0$')) and s:sub(1,-3) or s )
end
}
\endgroup
\def\@tempa{#1}\def\@tempb{#2}%
\ifx\@tempb\@empty
\edef\@tempb{ scaled\directlua{%
- tex.sprint(math.floor(0.5+\jsc@magscale*1000))
+ tex.sprint(-2,math.floor(0.5+\jsc@magscale*1000))
}}%
\else
\dimen@\@tempb\relax
\fi\fi
% \end{macrocode}
%
+% [2016-11-16] latex.ltx (ltspace.dtx)で定義されている |\smallskip| の,
+% 単位 |pt| を |\jsc@mpt| に置き換えた |\jsc@smallskip| を定義します。
+% これは |\maketitle| で用いられます。
+% |\jsc@medskip| と |\jsc@bigskip| は必要ないのでコメントアウトしています。
+%
+% \begin{macro}{\jsc@smallskip}
+% \begin{macro}{\jsc@medskip}
+% \begin{macro}{\jsc@bigskip}
+% \begin{macrocode}
+\def\jsc@smallskip{\vspace\jsc@smallskipamount}
+%\def\jsc@medskip{\vspace\jsc@medskipamount}
+%\def\jsc@bigskip{\vspace\jsc@bigskipamount}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\jsc@smallskipamount}
+% \begin{macro}{\jsc@medskipamount}
+% \begin{macro}{\jsc@bigskipamount}
+% \begin{macrocode}
+\newskip\jsc@smallskipamount
+\jsc@smallskipamount=3\jsc@mpt plus 1\jsc@mpt minus 1\jsc@mpt
+%\newskip\jsc@medskipamount
+%\jsc@medskipamount =6\jsc@mpt plus 2\jsc@mpt minus 2\jsc@mpt
+%\newskip\jsc@bigskipamount
+%\jsc@bigskipamoun =12\jsc@mpt plus 4\jsc@mpt minus 4\jsc@mpt
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
%
% \paragraph{PDFの用紙サイズの設定}
%
%
% [2016-07-12 LTJ] luatex.defが新しくなったことに対応するaminophenさんのパッチを取り込みました。
%
+% [2017-01-11] トンボオプションが指定されているとき「だけ」|\stockwidth|,
+% |\stockheight|を定義するようにしました。
+%
% \begin{macrocode}
-\newlength{\stockwidth}
-\newlength{\stockheight}
-\setlength{\stockwidth}{\paperwidth}
-\setlength{\stockheight}{\paperheight}
\iftombow
+ \newlength{\stockwidth}
+ \newlength{\stockheight}
+ \setlength{\stockwidth}{\paperwidth}
+ \setlength{\stockheight}{\paperheight}
\advance \stockwidth 2in
\advance \stockheight 2in
-\fi
-\ifdefined\pdfpagewidth
- \setlength{\pdfpagewidth}{\stockwidth}
- \setlength{\pdfpageheight}{\stockheight}
+ \ifdefined\pdfpagewidth
+ \setlength{\pdfpagewidth}{\stockwidth}
+ \setlength{\pdfpageheight}{\stockheight}
+ \else
+ \setlength{\pagewidth}{\stockwidth}
+ \setlength{\pageheight}{\stockheight}
+ \fi
\else
- \setlength{\pagewidth}{\stockwidth}
- \setlength{\pageheight}{\stockheight}
+ \ifdefined\pdfpagewidth
+ \setlength{\pdfpagewidth}{\paperwidth}
+ \setlength{\pdfpageheight}{\paperheight}
+ \else
+ \setlength{\pagewidth}{\paperwidth}
+ \setlength{\pageheight}{\paperheight}
+ \fi
\fi
% \end{macrocode}
% \end{macro}
\setlength\footskip{\z@}
\fi
%</book>
+%<*report>
+\setlength\footskip{0.03367\paperheight}
+\ifdim\footskip<\baselineskip
+ \setlength\footskip{\baselineskip}
+\fi
+%</report>
% \end{macrocode}
% \end{macro}
%
\addtolength\headsep{10\jsc@mpt}%% added (2016-10-08)
\fi
%</book>
+%<*report>
+\setlength\headsep{\footskip}
+\addtolength\headsep{-\topskip}
+%</report>
%<*jspf>
\setlength\headsep{9\jsc@mmm}
\addtolength\headsep{-\topskip}
\fi
\fi
%</book>
+%<*report>
+\setlength\fullwidth{0.76\paperwidth}
+\if@twocolumn \@tempdima=2\zw \else \@tempdima=1\zw \fi
+\divide\fullwidth\@tempdima \multiply\fullwidth\@tempdima
+\setlength\textwidth{\fullwidth}
+%</report>
%<*jspf>
\setlength\fullwidth{50\zw}
\addtolength\fullwidth{8\jsc@mmm}
% なので,さらに修正しました(2016-08-17での修正漏れ)。
%
% \begin{macrocode}
-%<*article|book>
+%<*article|book|report>
\if@slide
\setlength{\textheight}{0.95\paperheight}
\else
\addtolength{\textheight}{-\topskip}
\divide\textheight\baselineskip
\multiply\textheight\baselineskip
-%</article|book>
+%</article|book|report>
%<jspf>\setlength{\textheight}{51\baselineskip}
%<kiyou>\setlength{\textheight}{47\baselineskip}
\addtolength{\textheight}{\topskip}
% \end{macro}
% \end{macro}
%
+% \section{改ページ(日本語\TeX{}開発コミュニティ版のみ)}\label{sec:cleardoublepage}
+%
+% \begin{macro}{\pltx@cleartorightpage}
+% \begin{macro}{\pltx@cleartoleftpage}
+% \begin{macro}{\pltx@cleartooddpage}
+% \begin{macro}{\pltx@cleartoevenpage}
+% [2017-02-24] コミュニティ版\pLaTeX の標準クラス2017/02/15に合わせて,
+% 同じ命令を追加しました。
+% \begin{enumerate}
+% \item|\pltx@cleartorightpage|:右ページになるまでページを繰る命令
+% \item|\pltx@cleartoleftpage|:左ページになるまでページを繰る命令
+% \item|\pltx@cleartooddpage|:奇数ページになるまでページを繰る命令
+% \item|\pltx@cleartoevenpage|:偶数ページになるまでページを繰る命令
+% \end{enumerate}
+% となっています。
+%
+% \begin{macrocode}
+%<*article|book|report>
+\def\pltx@cleartorightpage{\clearpage\if@twoside
+ \unless\ifodd\numexpr\c@page+\ltjgetparameter{direction}\relax
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\def\pltx@cleartoleftpage{\clearpage\if@twoside
+ \ifodd\numexpr\c@page+\ltjgetparameter{direction}\relax
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\def\pltx@cleartooddpage{\clearpage\if@twoside
+ \ifodd\c@page\else
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+\def\pltx@cleartoevenpage{\clearpage\if@twoside
+ \ifodd\c@page
+ \hbox{}\thispagestyle{empty}\newpage
+ \if@twocolumn\hbox{}\newpage\fi
+ \fi\fi}
+%</article|book|report>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\cleardoublepage}
+% [2017-02-24] コミュニティ版\pLaTeX の標準クラス2017/02/15に合わせて,
+% reportとbookクラスの場合に|\cleardoublepage|を再定義します。
+% \begin{macrocode}
+%<*book|report>
+\if@openleft
+ \let\cleardoublepage\pltx@cleartoleftpage
+\else\if@openright
+ \let\cleardoublepage\pltx@cleartorightpage
+\fi\fi
+%</book|report>
+% \end{macrocode}
+% \end{macro}
+%
% \section{ページスタイル}\label{sec:pagestyle}
%
% ページスタイルとして,\LaTeXe (欧文版)の標準クラス
%</article|kiyou>
% \end{macrocode}
%
-% 次は book の場合です。
+% 次ã\81¯ book ã\81\8aã\82\88ã\81³ report ã\81®å ´å\90\88ã\81§ã\81\99ã\80\82
% [2011-05-10] しっぽ愛好家さん [qa:6370] のパッチを取り込ませていただきました
% (北見さん [qa:55896] のご指摘ありがとうございます)。
%
% \begin{macrocode}
-%<*book>
+%<*book|report>
\newif\if@omit@number
\def\ps@headings{%
\let\@oddfoot\@empty
\let\@mkboth\markboth
\def\chaptermark##1{\markboth{%
\ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
+%<book> \if@mainmatter
\if@omit@number\else
\@chapapp\thechapter\@chappos\hskip1\zw
\fi
- \fi
+%<book> \fi
\fi
##1}{}}%
\def\sectionmark##1{\markright{%
\ifnum \c@secnumdepth >\z@ \thesection \hskip1\zw\fi
##1}}}%
-%</book>
+%</book|report>
% \end{macrocode}
%
% 最後は学会誌の場合です。
\def\@oddhead{%
\hbox to \fullwidth{\rightmark\hfil\thepage}\hss}%
\let\@mkboth\@gobbletwo
-%<book> \let\chaptermark\@gobble
+%<book|report> \let\chaptermark\@gobble
\let\sectionmark\@gobble
-%<!book> \let\subsectionmark\@gobble
+%<!book&!report> \let\subsectionmark\@gobble
}
% \end{macrocode}
% \end{macro}
% にしました。
%
% \begin{macrocode}
-%<*article|book|kiyou>
+%<*article|book|report|kiyou>
\if@titlepage
\newcommand{\maketitle}{%
\begin{titlepage}%
\mbox{} \\[1\zw]
\large
{\maybeblue\hrule height0\jsc@mpt depth2\jsc@mpt\relax}\par
- \smallskip
+ \jsc@smallskip
\@title
- \smallskip
+ \jsc@smallskip
{\maybeblue\hrule height0\jsc@mpt depth2\jsc@mpt\relax}\par
\vfill
{\small \@author}%
{\large \@date}%
\end{center}%
\par\vskip 1.5em
-%<article|kiyou> \ifvoid\@abstractbox\else\centerline{\box\@abstractbox}\vskip1.5em\fi
+%<article|report|kiyou> \ifvoid\@abstractbox\else\centerline{\box\@abstractbox}\vskip1.5em\fi
}
\fi
-%</article|book|kiyou>
+%</article|book|report|kiyou>
%<*jspf>
\newcommand{\maketitle}{\par
\begingroup
\begingroup \@svsechd \endgroup
\unskip
\@tempskipa #1\relax
- \hskip -\@tempskipa\@inhibitglue
+ \hskip -\@tempskipa\ltjfakeparbegin
\else
\clubpenalty \@clubpenalty
\everypar{}%
% 番号を付けるかを決めるカウンタです。
%
% \begin{macrocode}
-%<!book>\setcounter{secnumdepth}{3}
-%<book>\setcounter{secnumdepth}{2}
+%<!book&!report>\setcounter{secnumdepth}{3}
+%<book|report>\setcounter{secnumdepth}{2}
% \end{macrocode}
% \end{macro}
%
%
% \begin{macrocode}
\newcounter{part}
-%<book>\newcounter{chapter}
-%<book>\newcounter{section}[chapter]
-%<!book>\newcounter{section}
+%<book|report>\newcounter{chapter}
+%<book|report>\newcounter{section}[chapter]
+%<!book&!report>\newcounter{section}
\newcounter{subsection}[section]
\newcounter{subsubsection}[subsection]
\newcounter{paragraph}[subsubsection]
%
% \begin{macrocode}
\renewcommand{\thepart}{\@Roman\c@part}
-%<!book>% \renewcommand{\thesection}{\@arabic\c@section}
-%<!book>\renewcommand{\thesection}{\presectionname\@arabic\c@section\postsectionname}
-%<!book>\renewcommand{\thesubsection}{\@arabic\c@section.\@arabic\c@subsection}
-%<*book>
+%<!book&!report>% \renewcommand{\thesection}{\@arabic\c@section}
+%<!book&!report>\renewcommand{\thesection}{\presectionname\@arabic\c@section\postsectionname}
+%<!book&!report>\renewcommand{\thesubsection}{\@arabic\c@section.\@arabic\c@subsection}
+%<*book|report>
\renewcommand{\thechapter}{\@arabic\c@chapter}
\renewcommand{\thesection}{\thechapter.\@arabic\c@section}
\renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection}
-%</book>
+%</book|report>
\renewcommand{\thesubsubsection}{%
\thesubsection.\@arabic\c@subsubsection}
\renewcommand{\theparagraph}{%
% [2003-03-02] |\@secapp| は外しました。
%
% \begin{macrocode}
-%<book>\newcommand{\@chapapp}{\prechaptername}
-%<book>\newcommand{\@chappos}{\postchaptername}
+%<book|report>\newcommand{\@chapapp}{\prechaptername}
+%<book|report>\newcommand{\@chappos}{\postchaptername}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \begin{macrocode}
%<*book>
\newcommand\frontmatter{%
- \if@openright
- \cleardoublepage
- \else
- \clearpage
- \fi
+ \pltx@cleartooddpage
\@mainmatterfalse
\pagenumbering{roman}}
% \end{macrocode}
%
% ページ番号を算用数字にし,章番号を付けるようにします。
%
+% [2017-03-05] |\frontmatter| と |\mainmatter| の2つの命令は,
+% 改丁または改ページした後で |\pagenumbering{...}| でノンブルを1に
+% リセットします。長い間 |\frontmatter| は \texttt{openany} のときに
+% 単なる改ページとしていましたが,これではノンブルをリセットする際に
+% 偶奇逆転が起こる場合がありました。\texttt{openany} かどうかに依らず
+% 奇数ページまで繰るように修正することで,問題を解消しました。
+% 実は,\LaTeX の標準クラスでは1998年に修正されていた問題です
+% (コミュニティ版\pLaTeX の標準クラス2017/03/05も参照)。
+%
% \begin{macrocode}
\newcommand\mainmatter{%
-% \if@openright
- \cleardoublepage
-% \else
-% \clearpage
-% \fi
+ \pltx@cleartooddpage
\@mainmattertrue
\pagenumbering{arabic}}
% \end{macrocode}
%
% \begin{macrocode}
\newcommand\backmatter{%
- \if@openright
+ \if@openleft
+ \cleardoublepage
+ \else\if@openright
\cleardoublepage
\else
\clearpage
- \fi
+ \fi\fi
\@mainmatterfalse}
%</book>
% \end{macrocode}
% \def\CMDB #1{....} % \chapter*{...} の定義
%\end{verbatim}
%
-% まず |book| クラス以外です。
+% ã\81¾ã\81\9a |book| ã\81¨ |report| ã\81®ã\82¯ã\83©ã\82¹ä»¥å¤\96ã\81§ã\81\99ã\80\82
%
% \begin{macrocode}
-%<*!book>
+%<*!book&!report>
\newcommand\part{%
\if@noskipsec \leavevmode \fi
\par
\addvspace{4ex}%
\if@english \@afterindentfalse \else \@afterindenttrue \fi
\secdef\@part\@spart}
-%</!book>
+%</!book&!report>
% \end{macrocode}
%
-% |book| ã\82¹ã\82¿ã\82¤ã\83«の場合は,少し複雑です。
+% |book| ã\81\8aã\82\88ã\81³ |report| ã\82¯ã\83©ã\82¹の場合は,少し複雑です。
%
% \begin{macrocode}
-%<*book>
+%<*book|report>
\newcommand\part{%
- \if@openright
+ \if@openleft
+ \cleardoublepage
+ \else\if@openright
\cleardoublepage
\else
\clearpage
- \fi
+ \fi\fi
\thispagestyle{empty}% 欧文用標準スタイルでは plain
\if@twocolumn
\onecolumn
\fi
\null\vfil
\secdef\@part\@spart}
-%</book>
+%</book|report>
% \end{macrocode}
% \end{macro}
%
% 部の見出しを出力します。
% |\bfseries| を |\headfont| に変えました。
%
-% |book| クラス以外では |secnumdepth| が $-1$ より大きいとき
+% |book| ã\81\8aã\82\88ã\81³ |report| ã\82¯ã\83©ã\82¹ä»¥å¤\96ã\81§ã\81¯ |secnumdepth| ã\81\8c $-1$ ã\82\88ã\82\8a大ã\81\8dã\81\84ã\81¨ã\81\8d
% 部番号を付けます。
%
% \begin{macrocode}
-%<*!book>
+%<*!book&!report>
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >\m@ne
\refstepcounter{part}%
\nobreak
\vskip 3ex
\@afterheading}
-%</!book>
+%</!book&!report>
% \end{macrocode}
%
-% |book| クラスでは |secnumdepth| が $-2$ より大きいとき部番号を付けます。
+% |book| ã\81\8aã\82\88ã\81³ |report| ã\82¯ã\83©ã\82¹ã\81§ã\81¯ |secnumdepth| ã\81\8c $-2$ ã\82\88ã\82\8a大ã\81\8dã\81\84ã\81¨ã\81\8dé\83¨ç\95ªå\8f·ã\82\92ä»\98ã\81\91ã\81¾ã\81\99ã\80\82
%
% \begin{macrocode}
-%<*book>
+%<*book|report>
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\fi
\Huge \headfont #2\par}%
\@endpart}
-%</book>
+%</book|report>
% \end{macrocode}
% \end{macro}
%
% 番号を付けない部です。
%
% \begin{macrocode}
-%<*!book>
+%<*!book&!report>
\def\@spart#1{{%
\parindent \z@ \raggedright
\interlinepenalty \@M
\nobreak
\vskip 3ex
\@afterheading}
-%</!book>
-%<*book>
+%</!book&!report>
+%<*book|report>
\def\@spart#1{{%
\centering
\interlinepenalty \@M
\normalfont
\Huge \headfont #1\par}%
\@endpart}
-%</book>
+%</book|report>
% \end{macrocode}
% \end{macro}
%
% 両面印刷のときは白ページを追加します。
% 二段組のときには,二段組に戻します。
%
+% [2016-12-13] \texttt{openany} のときには白ページが追加されるのは変なので,
+% その場合は追加しないようにしました。このバグは\LaTeX では
+% classes.dtx v1.4b (2000/05/19)
+% で修正されています。
+%
% \begin{macrocode}
-%<*book>
+%<*book|report>
\def\@endpart{\vfil\newpage
\if@twoside
- \null
- \thispagestyle{empty}%
- \newpage
+ \if@openleft %% added (2017/02/24)
+ \null\thispagestyle{empty}\newpage
+ \else\if@openright %% added (2016/12/13)
+ \null\thispagestyle{empty}\newpage
+ \fi\fi %% added (2016/12/13, 2017/02/24)
\fi
\if@restonecol
\twocolumn
\fi}
-%</book>
+%</book|report>
% \end{macrocode}
% \end{macro}
%
% 章見出しの上に図や表が来ないようにします。
%
% \begin{macrocode}
-%<*book>
+%<*book|report>
\newcommand{\chapter}{%
- \if@openright\cleardoublepage\else\clearpage\fi
+ \if@openleft\cleardoublepage\else
+ \if@openright\cleardoublepage\else\clearpage\fi\fi
\plainifnotempty % 元: \thispagestyle{plain}
\global\@topnum\z@
\if@english \@afterindentfalse \else \@afterindenttrue \fi
% \begin{macrocode}
\def\@chapter[#1]#2{%
\ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
+%<book> \if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\thechapter\@chappos}%
\addcontentsline{toc}{chapter}%
% {\if@english\thechapter\else\@chapapp\thechapter\@chappos\fi}%
{\@chapapp\thechapter\@chappos}%
#1}%
- \else\addcontentsline{toc}{chapter}{#1}\fi
+%<book> \else\addcontentsline{toc}{chapter}{#1}\fi
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\vspace*{2\Cvs}% 欧文は50pt
{\parindent \z@ \raggedright \normalfont
\ifnum \c@secnumdepth >\m@ne
- \if@mainmatter
+%<book> \if@mainmatter
\huge\headfont \@chapapp\thechapter\@chappos
\par\nobreak
\vskip \Cvs % 欧文は20pt
- \fi
+%<book> \fi
\fi
\interlinepenalty\@M
\Huge \headfont #1\par\nobreak
\interlinepenalty\@M
\Huge \headfont #1\par\nobreak
\vskip 3\Cvs}} % 欧文は40pt
-%</book>
+%</book|report>
% \end{macrocode}
% \end{macro}
%
%
% 見出しの後ろで改行されません。
%
+% [2016-11-16] 従来は |\paragraph| の最初に出るマークを「■」に固定して
+% いましたが,このマークを変更可能にするため |\jsParagraphMark| というマクロ
+% に切り出しました。これで,たとえば
+%\begin{verbatim}
+% \renewcommand{\jsParagraphMark}{★}
+%\end{verbatim}
+% とすれば「★」に変更できますし,マークを空にすることも容易です。
+% なお,某学会クラスでは従来どおりマークは付きません。
+%
% \begin{macrocode}
+%<!jspf>\newcommand{\jsParagraphMark}{■}
\if@twocolumn
\newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
{\z@}{\if@slide .4\Cvs \else -1\zw\fi}% 改行せず 1\zw のアキ
%<jspf> {\normalfont\normalsize\headfont}}
-%<!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}%
{\if@slide .5\Cvs \@plus.3\Cdp \else -1\zw\fi}% 改行せず 1\zw のアキ
%<jspf> {\normalfont\normalsize\headfont}}
-%<!jspf> {\normalfont\normalsize\headfont ■}}
+%<!jspf> {\normalfont\normalsize\headfont\jsParagraphMark}}
\fi
% \end{macrocode}
% \end{macro}
\rightmargin=0pt
\leftmargin=5\zw}\item[]}{\end{list}\vspace{\baselineskip}}
%</book>
-%<*article|kiyou>
+%<*article|report|kiyou>
\newbox\@abstractbox
\if@titlepage
\newenvironment{abstract}{%
\endlist
\fi}
\fi
-%</article|kiyou>
+%</article|report|kiyou>
%<*jspf>
\newbox\@abstractbox
\newenvironment{abstract}{%
%
% タイトルを独立のページに出力するのに使われます。
%
+% [2017-02-24] コミュニティ版\pLaTeX の標準クラス2017/02/15に合わせて,
+% bookクラスでタイトルを必ず奇数ページに送るようにしました。といっても,
+% 横組クラスしかありませんでしたので,従来の挙動は何も変わっていません。
+% また,book以外の場合のページ番号のリセットもコミュニティ版\pLaTeX の
+% 標準クラス2017/02/15に合わせましたが,こちらも片面印刷あるいは
+% 独立のタイトルページを作らないクラスばかりでしたので,従来の挙動は
+% 何も変わらずに済みました。
+%
% \begin{macrocode}
\newenvironment{titlepage}{%
-%<book> \cleardoublepage
+%<book> \pltx@cleartooddpage %% 2017-02-24
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
- \setcounter{page}\@ne
+ \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi
}%
{\if@restonecol\twocolumn \else \newpage \fi
\if@twoside\else
% 本文と付録を分離するコマンドです。
%
% \begin{macrocode}
-%<*!book>
+%<*!book&!report>
\newcommand{\appendix}{\par
\setcounter{section}{0}%
\setcounter{subsection}{0}%
% \gdef\thesection{\@Alph\c@section}% [2003-03-02]
\gdef\thesection{\presectionname\@Alph\c@section\postsectionname}%
\gdef\thesubsection{\@Alph\c@section.\@arabic\c@subsection}}
-%</!book>
-%<*book>
+%</!book&!report>
+%<*book|report>
\newcommand{\appendix}{\par
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\gdef\@chapapp{\appendixname}%
\gdef\@chappos{}%
\gdef\thechapter{\@Alph\c@chapter}}
-%</book>
+%</book|report>
% \end{macrocode}
% \end{macro}
%
% 数式番号を出力するコマンドです。
%
% \begin{macrocode}
-%<!book>\renewcommand \theequation {\@arabic\c@equation}
-%<*book>
+%<!book&!report>\renewcommand \theequation {\@arabic\c@equation}
+%<*book|report>
\@addtoreset{equation}{chapter}
\renewcommand\theequation
{\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
-%</book>
+%</book|report>
% \end{macrocode}
% \end{macro}
%
% 図番号を出力するコマンドです。
%
% \begin{macrocode}
-%<*!book>
+%<*!book&!report>
\newcounter{figure}
\renewcommand \thefigure {\@arabic\c@figure}
-%</!book>
-%<*book>
+%</!book&!report>
+%<*book|report>
\newcounter{figure}[chapter]
\renewcommand \thefigure
{\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure}
-%</book>
+%</book|report>
% \end{macrocode}
% \end{macro}
% \end{macro}
% ここではオリジナルのままにしています。
%
% \begin{macrocode}
-%<*!book>
+%<*!book&!report>
\newcounter{table}
\renewcommand\thetable{\@arabic\c@table}
-%</!book>
-%<*book>
+%</!book&!report>
+%<*book|report>
\newcounter{table}[chapter]
\renewcommand \thetable
{\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table}
-%</book>
+%</book|report>
% \end{macrocode}
% \end{macro}
% \end{macro}
\newcommand\@pnumwidth{1.55em}
\newcommand\@tocrmarg{2.55em}
\newcommand\@dotsep{4.5}
-%<!book>\setcounter{tocdepth}{2}
-%<book>\setcounter{tocdepth}{1}
+%<!book&!report>\setcounter{tocdepth}{2}
+%<book|report>\setcounter{tocdepth}{1}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \begin{macrocode}
\newdimen\jsc@tocl@width
\newcommand{\tableofcontents}{%
-%<*book>
+%<*book|report>
\settowidth\jsc@tocl@width{\headfont\prechaptername\postchaptername}%
\settowidth\@tempdima{\headfont\appendixname}%
\ifdim\jsc@tocl@width<\@tempdima \setlength\jsc@tocl@width{\@tempdima}\fi
\fi
\chapter*{\contentsname}%
\@mkboth{\contentsname}{}%
-%</book>
-%<*!book>
+%</book|report>
+%<*!book&!report>
\settowidth\jsc@tocl@width{\headfont\presectionname\postsectionname}%
\settowidth\@tempdima{\headfont\appendixname}%
\ifdim\jsc@tocl@width<\@tempdima\relax\setlength\jsc@tocl@width{\@tempdima}\fi
\ifdim\jsc@tocl@width<2\zw \divide\jsc@tocl@width by 2 \advance\jsc@tocl@width 1\zw\fi
\section*{\contentsname}%
\@mkboth{\contentsname}{\contentsname}%
-%</!book>
+%</!book&!report>
\@starttoc{toc}%
-%<book> \if@restonecol\twocolumn\fi
+%<book|report> \if@restonecol\twocolumn\fi
}
% \end{macrocode}
% \end{macro}\end{macro}
% \begin{macrocode}
\newcommand*{\l@part}[2]{%
\ifnum \c@tocdepth >-2\relax
-%<!book> \addpenalty\@secpenalty
-%<book> \addpenalty{-\@highpenalty}%
+%<!book&!report> \addpenalty\@secpenalty
+%<book|report> \addpenalty{-\@highpenalty}%
\addvspace{2.25em \@plus\jsc@mpt}%
\begingroup
\parindent \z@
\setlength\@lnumwidth{4\zw}%
#1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
\nobreak
-%<book> \global\@nobreaktrue
-%<book> \everypar{\global\@nobreakfalse\everypar{}}%
+%<book|report> \global\@nobreaktrue
+%<book|report> \everypar{\global\@nobreakfalse\everypar{}}%
\endgroup
\fi}
% \end{macrocode}
% 決めるようにしてみました。(by ts)
%
% \begin{macrocode}
-%<*book>
+%<*book|report>
\newcommand*{\l@chapter}[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\penalty\@highpenalty
\endgroup
\fi}
-%</book>
+%</book|report>
% \end{macrocode}
% \end{macro}
%
% 節の目次です。
%
% \begin{macrocode}
-%<*!book>
+%<*!book&!report>
\newcommand*{\l@section}[2]{%
\ifnum \c@tocdepth >\z@
\addpenalty{\@secpenalty}%
#1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par
\endgroup
\fi}
-%</!book>
+%</!book&!report>
% \end{macrocode}
%
% インデントと幅はそれぞれ1.5em,2.3emでしたが,
% |1\zw|,|3.683\zw|に変えました。
%
% \begin{macrocode}
-%<book> % \newcommand*{\l@section}{\@dottedtocline{1}{1\zw}{3.683\zw}}
+%<book|report> % \newcommand*{\l@section}{\@dottedtocline{1}{1\zw}{3.683\zw}}
% \end{macrocode}
%
% [2013-12-30] 上のインデントは |\jsc@tocl@width| から決めるように
% してみました。(by ts)
%
% \begin{macrocode}
-%<*!book>
+%<*!book&!report>
% \newcommand*{\l@subsection} {\@dottedtocline{2}{1.5em}{2.3em}}
% \newcommand*{\l@subsubsection}{\@dottedtocline{3}{3.8em}{3.2em}}
% \newcommand*{\l@paragraph} {\@dottedtocline{4}{7.0em}{4.1em}}
\newcommand*{\l@subparagraph}{%
\@tempdima\jsc@tocl@width \advance\@tempdima 2\zw
\@dottedtocline{5}{\@tempdima}{6\zw}}
-%</!book>
-%<*book>
+%</!book&!report>
+%<*book|report>
% \newcommand*{\l@subsection} {\@dottedtocline{2}{3.8em}{3.2em}}
% \newcommand*{\l@subsubsection}{\@dottedtocline{3}{7.0em}{4.1em}}
% \newcommand*{\l@paragraph} {\@dottedtocline{4}{10em}{5em}}
\newcommand*{\l@subparagraph}{%
\@tempdima\jsc@tocl@width \advance\@tempdima 16.183\zw
\@dottedtocline{5}{\@tempdima}{6.5\zw}}
-%</book>
+%</book|report>
% \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macrocode}
\newcommand{\listoffigures}{%
-%<*book>
+%<*book|report>
\if@twocolumn\@restonecoltrue\onecolumn
\else\@restonecolfalse\fi
\chapter*{\listfigurename}%
\@mkboth{\listfigurename}{}%
-%</book>
-%<*!book>
+%</book|report>
+%<*!book&!report>
\section*{\listfigurename}%
\@mkboth{\listfigurename}{\listfigurename}%
-%</!book>
+%</!book&!report>
\@starttoc{lof}%
-%<book> \if@restonecol\twocolumn\fi
+%<book|report> \if@restonecol\twocolumn\fi
}
% \end{macrocode}
% \end{macro}
%
% \begin{macrocode}
\newcommand{\listoftables}{%
-%<*book>
+%<*book|report>
\if@twocolumn\@restonecoltrue\onecolumn
\else\@restonecolfalse\fi
\chapter*{\listtablename}%
\@mkboth{\listtablename}{}%
-%</book>
-%<*!book>
+%</book|report>
+%<*!book&!report>
\section*{\listtablename}%
\@mkboth{\listtablename}{\listtablename}%
-%</!book>
+%</!book&!report>
\@starttoc{lot}%
-%<book> \if@restonecol\twocolumn\fi
+%<book|report> \if@restonecol\twocolumn\fi
}
% \end{macrocode}
% \end{macro}
\subsubsection*{\refname}\@mkboth{\refname}{\refname}%
\vspace{0.5\baselineskip}
%</kiyou>
-%<book> \chapter*{\bibname}\@mkboth{\bibname}{}%
-%<book> \addcontentsline{toc}{chapter}{\bibname}%
+%<book|report> \chapter*{\bibname}\@mkboth{\bibname}{}%
+%<book|report> \addcontentsline{toc}{chapter}{\bibname}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
% で囲んでください。
%
% \begin{macrocode}
-% \def\@citex[#1]#2{%
+% \def\@citex[#1]#2{\leavevmode
% \let\@citea\@empty
% \@cite{\@for\@citeb:=#2\do
% {\@citea\def\@citea{,\inhibitglue\penalty\@m\ }%
-% \edef\@citeb{\expandafter\@firstofone\@citeb}%
+% \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
% \@ifundefined{b@\@citeb}{\mbox{\normalfont\bfseries ?}%
% \G@refundefinedtrue
% \@latex@warning
% {Citation `\@citeb' on page \thepage \space undefined}}%
-% {\hbox{\csname b@\@citeb\endcsname}}}}{#1}}
+% {\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}}
% \def\@cite#1#2{\inhibitglue[{#1\if@tempswa ,#2\fi}]\inhibitglue}
% \end{macrocode}
%
\fi
\columnseprule.4pt \columnsep 2\zw
\ifx\multicols\@undefined
-%<book> \twocolumn[\@makeschapterhead{\indexname}%
-%<book> \addcontentsline{toc}{chapter}{\indexname}]%
-%<!book> \def\presectionname{}\def\postsectionname{}%
-%<!book> \twocolumn[\section*{\indexname}]%
+%<book|report> \twocolumn[\@makeschapterhead{\indexname}%
+%<book|report> \addcontentsline{toc}{chapter}{\indexname}]%
+%<!book&!report> \def\presectionname{}\def\postsectionname{}%
+%<!book&!report> \twocolumn[\section*{\indexname}]%
\else
\ifdim\textwidth<\fullwidth
\setlength{\evensidemargin}{\oddsidemargin}
\setlength{\textwidth}{\fullwidth}
\setlength{\linewidth}{\fullwidth}
-%<book> \begin{multicols}{3}[\chapter*{\indexname}%
-%<book> \addcontentsline{toc}{chapter}{\indexname}]%
-%<!book> \def\presectionname{}\def\postsectionname{}%
-%<!book> \begin{multicols}{3}[\section*{\indexname}]%
+%<book|report> \begin{multicols}{3}[\chapter*{\indexname}%
+%<book|report> \addcontentsline{toc}{chapter}{\indexname}]%
+%<!book&!report> \def\presectionname{}\def\postsectionname{}%
+%<!book&!report> \begin{multicols}{3}[\section*{\indexname}]%
\else
-%<book> \begin{multicols}{2}[\chapter*{\indexname}%
-%<book> \addcontentsline{toc}{chapter}{\indexname}]%
-%<!book> \def\presectionname{}\def\postsectionname{}%
-%<!book> \begin{multicols}{2}[\section*{\indexname}]%
+%<book|report> \begin{multicols}{2}[\chapter*{\indexname}%
+%<book|report> \addcontentsline{toc}{chapter}{\indexname}]%
+%<!book&!report> \def\presectionname{}\def\postsectionname{}%
+%<!book&!report> \begin{multicols}{2}[\section*{\indexname}]%
\fi
\fi
-%<book> \@mkboth{\indexname}{}%
-%<!book> \@mkboth{\indexname}{\indexname}%
+%<book|report> \@mkboth{\indexname}{}%
+%<!book&!report> \@mkboth{\indexname}{\indexname}%
\plainifnotempty % \thispagestyle{plain}
\parindent\z@
\parskip\z@ \@plus .3\jsc@mpt\relax
% [2003-08-15] |\textasteriskcentered| ではフォントによって
% 下がりすぎるので変更しました。
%
+% [2016-10-08] TODO: 脚注番号が |newtxtext| や |newpxtext| の使用時に
+% おかしくなってしまいます。これらのパッケージは内部で |\thefootnote| を
+% 再定義していますので,気になる場合はパッケージを読み込むときに
+% \texttt{defaultsups} オプションを付けてください(qa:57284, qa:57287)。
+%
% \begin{macrocode}
\def\thefootnote{\ifnum\c@footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi}
% \end{macrocode}
% 脚注番号は章ごとにリセットされます。
%
% \begin{macrocode}
-%<book>\@addtoreset{footnote}{chapter}
+%<book|report>\@addtoreset{footnote}{chapter}
% \end{macrocode}
% \end{macro}
%
% する機能がありますが,|\item| 直後ではラベル用のボックスが段落先頭になる
% ため,うまく働きませんでした。形を変えて復活させます。
%
+% [2017-04-03 LTJ] 従来クラフファイルで定義していた |\@inhibitglue| は,
+% Lua\TeX-jaのコアに |\ltjfakeparbegin| として正式に追加されたのでリネームします.
+%
% |\item| 命令の直後です。
%
% \begin{macrocode}
-\protected\def\@inhibitglue{\directlua{luatexja.jfmglue.create_beginpar_node()}}
+\let\@inhibitglue=\ltjfakeparbegin
\def\@item[#1]{%
\if@noparitem
\@donoparitem
\else
\clubpenalty \@clubpenalty
\everypar{}%
- \fi\@inhibitglue}%
+ \fi\ltjfakeparbegin}%
\if@noitemarg
\@noitemargfalse
\if@nmbrlist
%
% しかし単に戻すだけでも駄目みたいなので,ここでも最後にグルーを消しておきます。
%
+% [2016-12-05 LTJ] 本家[2016-11-29],lltjcore.styでの変更に追従させます.
+%
+% [2017-02-18 LTJ] lltjcore.sty側で戻したのを忘れていました.
% \begin{macrocode}
\def\@gnewline #1{%
\ifvmode
\@nolnerr
\else
\unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
- \inhibitglue \ignorespaces
+ \inhibitglue\ignorespaces
\fi}
% \end{macrocode}
%
% \begin{macrocode}
\newcommand{\prepartname}{\if@english Part~\else 第\fi}
\newcommand{\postpartname}{\if@english\else 部\fi}
-%<book>\newcommand{\prechaptername}{\if@english Chapter~\else 第\fi}
-%<book>\newcommand{\postchaptername}{\if@english\else 章\fi}
+%<book|report>\newcommand{\prechaptername}{\if@english Chapter~\else 第\fi}
+%<book|report>\newcommand{\postchaptername}{\if@english\else 章\fi}
\newcommand{\presectionname}{}% 第
\newcommand{\postsectionname}{}% 節
% \end{macrocode}
% \paragraph{ページ設定}
%
% ページ設定の初期化です。
+% |stfloats|パッケージがシステムにインストールされている場合は、このパッケージを使って
+% \pLaTeX の標準時と同じようにボトムフロートの下に脚注が組まれるようにします。
%
+% [2017-02-19] \pLaTeX とLua\TeX-jaの|\@makecol|が違うことを
+% 考慮していませんでした。
% \begin{macrocode}
-%<article|kiyou>\if@slide \pagestyle{empty} \else \pagestyle{plain} \fi
+%<article>\if@slide \pagestyle{empty} \else \pagestyle{plain} \fi
%<book>\if@report \pagestyle{plain} \else \pagestyle{headings} \fi
+%<report|kiyou>\pagestyle{plain}
%<jspf>\pagestyle{headings}
\pagenumbering{arabic}
+\fnfixbottomtrue % 2017-02-19
+\IfFileExists{stfloats.sty}{\RequirePackage{stfloats}\fnbelowfloat}{}
\if@twocolumn
\twocolumn
\sloppy