OSDN Git Service

target release date: 2019-08-27
[luatex-ja/luatexja.git] / src / ltjclasses.dtx
1 % \iffalse meta-comment
2 %% File: ltjclasses.dtx
3 %  -----------------------------------------
4 %  Original: jclasses.dtx
5 %
6 %  Copyright 1995-2001 ASCII Corporation.
7 %  Copyright (c) 2010 ASCII MEDIA WORKS
8 %  Copyright (c) 2016-2018 Japanese TeX Development Community
9 %
10 %  This file is part of the pLaTeX2e system (community edition).
11 %  -------------------------------------------------------------
12 %
13 % \fi
14 %
15 %
16 % \setcounter{StandardModuleDepth}{1}
17 % \StopEventually{}
18 %
19 % \iffalse
20 % \changes{v1.0}{1995/04/19}{first edition}
21 % \changes{v1.0a}{1995/08/30}{ページスタイル部分の調整}
22 % \changes{v1.0b}{1995/11/08}{ページスタイル部分の調整}
23 % \changes{v1.0c}{1996/01/30}{\LaTeX\ \texttt{!<1995/12/01!>}での修正を反映}
24 % \changes{v1.0d}{1996/02/29}{デフォルトページスタイルの修正}
25 % \changes{v1.0e}{1996/03/14}{itemize, enumerate環境の修正}
26 % \changes{v1.0f}{1996/07/10}{面付けオプションを追加}
27 % \changes{v1.0g}{1996/09/03}{トンボの横に作成日時を出力するようにした}
28 % \changes{v1.1}{1997/01/16}{\LaTeX\ \texttt{!<1996/06/01!>}版に対応}
29 % \changes{v1.1a}{1997/01/23}{\LaTeX\ \texttt{!<1996/12/01!>}版に対応}
30 % \changes{v1.1a}{1997/01/25}{互換モードでp\LaTeX~2.09のa4jなどの
31 %      用紙オプションに対応}
32 % \changes{v1.1b}{1997/01/28}{日本語ファミリの宣言を再度、実装}
33 % \changes{v1.1d}{1997/01/29}{2eモードでa4jなどのオプションに対応}
34 % \changes{v1.1e}{1997/04/08}{トップマージンの値を修正}
35 % \changes{v1.1f}{1997/07/08}{縦組クラスでベースラインがおかしいのを修正}
36 % \changes{v1.1g}{1997/08/25}{片面印刷のとき、sectionレベルが出力されない
37 %      のを修正}
38 % \changes{v1.1h}{1997/09/03}{landscape指定時の値を修正}
39 % \changes{v1.1i}{1997/12/12}{report, bookクラスで片面印刷時に、
40 %      bothstyleスタイルにすると、コンパイルエラーになるのを修正}
41 % \changes{v1.1j}{1998/02/03}{互換モード時のa5pのトップマージンを0.7in増加}
42 % \changes{v1.1k}{1998/03/23}{reportとbookクラスで番号を付けない見出しの
43 %   ペナルティが\cs{M@}だったのを\cs{@M}に修正}
44 % \changes{v1.1m}{1998/04/07}{\cs{today}の計算手順を変更}
45 % \changes{v1.1n}{1998/10/13}{report,bookクラスの表番号が
46 %   見出しレベルに関係なくchapter番号が出力されてしまうのを修正}
47 % \changes{v1.1n}{1998/10/13}{mentukeオプションがエラーになっていたのを修正}
48 % \changes{v1.1o}{1998/12/24}{secnumdepthカウンタを$-1$以下にすると、
49 %   見出し文字列も消えてしまうのを修正}
50 % \changes{v1.1p}{1999/1/6}{\cs{oddsidemargin}のポイントへの変換を後ろに}
51 % \changes{v1.1q}{1999/05/18}{縦組時のみに設定するようにした}
52 % \changes{v1.1r}{1999/08/09}{トップマージンの計算式を修正}
53 % \changes{v1.2}{2001/09/04}{\cs{chapter}の出力位置がアスタリスク形式と
54 %   そうでないときと違うのを修正(ありがとう、鈴木@津さん)}
55 % \changes{v1.3}{2001/10/04}{目次のページ番号の書体を\cs{rmfamily}から
56 %   \cs{normalfont}に変更(ありがとう、鈴木た@MILNさん)}
57 % \changes{v1.4}{2002/04/09}{縦組スタイルで\cs{flushbottom}しないようにした}
58 % \changes{v1.5}{2004/01/15}{\cs{part},\cs{chapter}の\cs{@afterindentfalse}を
59 %   \cs{@afterindenttrue}に変更。
60 %   \cs{section},\cs{subsection},\cs{subsubsection}の前後空きの伸縮幅を修正。
61 %   (ありがとうございます、鈴木た@MILNさん)}
62 % \changes{v1.6}{2006/06/27}{フォントコマンドを修正。ありがとう、ymtさん。}
63 % \changes{v1.6-ltj}{2011/09/27}{jclasses.dtx v1.6 をベースにLua\LaTeX-ja用に修正。}
64 % \changes{v1.6-ltj-2}{2013/06/06}{luatexja.cfgに対応.}
65 % \changes{v1.6-ltj-3}{2014/06/08}{縦組クラスの時のgeometry.styに対応.}
66 % \changes{v1.6-ltj-4}{2014/06/30}{組方向の変更箇所を現行のLua\TeX-jaの仕様に合うように修正.}
67 % \changes{v1.6-ltj-5}{2014/07/02}{\cs{ifydir}, \cs{iftdir}を使わないように修正.}
68 % \changes{v1.6-ltj-6}{2014/07/28}{縦組クラスでlltjext.styを読み込むように修正.}
69 % \changes{v1.6-ltj-7}{2014/11/15}{縦組クラスとeveryshi.styとの相性が悪い問題を修正.}
70 % \changes{v1.6-ltj-8}{2014/11/22}{縦組時のgeometry.styへの対応を別ファイル(lltjp-geometry.sty)に分離.それに伴いv1.6-ltj-3での変更を削除.}
71 % \changes{v1.6-ltj-9}{2015/01/01}{縦組クラスの日付出力でエラーになることなどを修正.}
72 % \changes{v1.6-ltj-10}{2015/10/18}{Lua\TeX\ 0.81.0に伴うプリミティブ名の変更に対応.}
73 % \changes{v1.6-ltj-11}{2016/07/19}{トンボ使用時の用紙サイズの設定方法を変更(aminophenさん,ありがとうございます).}
74 % \changes{v1.7}{2016/11/12}{ドキュメントに反して\cs{@maketitle}が
75 %    空になっていなかったのを修正}
76 % \changes{v1.7}{2016/11/12}{use \cs{@width} (sync with classes.dtx v1.3a)}
77 % \changes{v1.7}{2016/11/12}{Replaced all \cs{hbox to} by
78 %    \cs{hb@xt@} (sync with classes.dtx v1.3a)}
79 % \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
80 %                            arg (sync with classes.dtx v1.4c)}
81 % \changes{v1.7}{2016/11/12}{\cs{columnsep}と\cs{columnseprule}の
82 %    変更を後ろに移動(sync with classes.dtx v1.4f)}
83 % \changes{v1.7a}{2016/11/16}{Check \texttt{@noskipsec} switch and
84 %    possibly force horizontal mode (sync with classes.dtx v1.4a)}
85 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
86 %    \cs{normalfont} (sync with classes.dtx v1.3c)}
87 % \changes{v1.7a}{2016/11/16}{Added \cs{nobreak} for
88 %    latex/2343 (sync with ltsect.dtx v1.0z)}
89 % \changes{v1.7a}{2016/11/16}{Use \cs{expandafter}
90 %    (sync with ltlists.dtx v1.0j)}
91 % \changes{v1.7b}{2016/11/22}{補足ドキュメントを追加}
92 % \changes{v1.7c}{2016/12/18}{Only add empty page after part if
93 %    twoside and openright (sync with classes.dtx v1.4b)}
94 % \changes{v1.7c-ltj-12}{2017/01/17}{|\stockwidth|,~|\stockheight|をトンボオプション指定時にのみ定義
95 %    (aminophenさん,ありがとうございます).}
96 % \changes{v1.7c}{2016/12/18}{奇妙なarticleガードとコードを削除して
97 %    ドキュメントを追加}
98 % \changes{v1.7d}{2017/02/15}{\cs{if@openleft}スイッチ追加}
99 % \changes{v1.7d}{2017/02/15}{openleftオプション追加}
100 % \changes{v1.7d}{2017/02/15}{\cs{cleardoublepage}の代用となる命令群を追加}
101 % \changes{v1.7d}{2017/02/15}{bookクラスでtitlepageを必ず奇数ページ
102 %   に送るように変更}
103 % \changes{v1.7d}{2017/02/15}{titlepageのページ番号を奇数ならば1に、
104 %   偶数ならば0にリセットするように変更}
105 % \changes{v1.7d}{2017/02/15}{縦組クラスの所属表示の番号を直立にした}
106 % \changes{v1.7d-ltj-13}{2017/02/19}{縦組時クラスで|ftnright|パッケージを使うと
107 %   脚注番号が上書きされ横に寝てしまう問題を修正(aminophenさん,ありがとうございます).}
108 % \changes{v1.7d-ltj-14}{2017/02/20}{openleftオプションの処理で\cs{iftdir}, \cs{ifydir}を
109 %   誤って使っている問題を修正(aminophenさん,ありがとうございます).}
110 % \changes{v1.7e}{2017/03/05}{トンボに表示するジョブ情報の書式を変更}
111 % \changes{v1.7e}{2017/03/05}{\cs{frontmatter}と\cs{mainmatter}を
112 %   奇数ページに送るように変更}
113 % \changes{v1.7e-ltj-15}{2017/08/31}{本ドキュメントのタイプセットで,小塚フォントが存在するときには
114 %   それを用いるように変更(PDFサイズ削減のため).}
115 % \changes{v1.7f}{2017/08/31}{和文書体の基準を全角空白から「漢」に変更}
116 % \changes{v1.7g}{2017/09/19}{内部処理で使ったボックス0を空にした}
117 % \changes{v1.7h}{2018/02/04}{和文スケール値\cs{Cjascale}を定義}
118 % \changes{v1.8}{2018/07/03}{\cs{today}のデフォルトを和暦から西暦に変更}
119 % \changes{v1.8-ltj-16}{2018/10/08}{Lua\TeX-jaが|disablejfam|オプションをサポートしたことによる変更}
120 % \changes{v1.8a}{2018/10/25}{ファイル書き出し時の行末文字対策
121 %    (sync with ltsect.dtx 2018/09/26 v1.1c)}
122 % \changes{v1.8b}{2019/04/02}{新元号対応}
123 % \changes{v1.8b-ltj-17}{2019/08/12}{disablejfamの``Unused global option(s)''警告を出さないようにした}
124
125 % \fi
126 %
127 % \iffalse
128 \NeedsTeXFormat{LaTeX2e}
129 %<*driver>
130 \ProvidesFile{ltjclasses.dtx}
131 %</driver>
132 %<*yoko>
133 %<article>\ProvidesClass{ltjarticle}
134 %<report>\ProvidesClass{ltjreport}
135 %<book>\ProvidesClass{ltjbook}
136 %<10pt&!bk>\ProvidesFile{ltjsize10.clo}
137 %<11pt&!bk>\ProvidesFile{ltjsize11.clo}
138 %<12pt&!bk>\ProvidesFile{ltjsize12.clo}
139 %<10pt&bk>\ProvidesFile{ltjbk10.clo}
140 %<11pt&bk>\ProvidesFile{ltjbk11.clo}
141 %<12pt&bk>\ProvidesFile{ltjbk12.clo}
142 %</yoko>
143 %<*tate>
144 %<article>\ProvidesClass{ltjtarticle}
145 %<report>\ProvidesClass{ltjtreport}
146 %<book>\ProvidesClass{ltjtbook}
147 %<10pt&!bk>\ProvidesFile{ltjtsize10.clo}
148 %<11pt&!bk>\ProvidesFile{ltjtsize11.clo}
149 %<12pt&!bk>\ProvidesFile{ltjtsize12.clo}
150 %<10pt&bk>\ProvidesFile{ltjtbk10.clo}
151 %<11pt&bk>\ProvidesFile{ltjtbk11.clo}
152 %<12pt&bk>\ProvidesFile{ltjtbk12.clo}
153 %</tate>
154   [2019/08/12 v1.8b-ltj-17
155 %<article|report|book> Standard LuaLaTeX-ja class]
156 %<10pt|11pt|12pt>  Standard LuaLaTeX-ja file (size option)]
157 %<*driver>
158 ]
159 \documentclass{ltjltxdoc}
160 \GetFileInfo{ltjclasses.dtx}
161 \begingroup
162  \suppressfontnotfounderror=1
163  \global\font\testfont=file:KozMinPr6N-Regular.otf
164 \endgroup
165 \ifx\testfont\nullfont
166   \usepackage[ipaex,nfssonly]{luatexja-preset}
167 \else
168   \usepackage[kozuka-pr6n,nfssonly]{luatexja-preset}
169 \fi
170 \def\pLaTeX{p\kern-.05em\LaTeX}
171 \usepackage[unicode]{hyperref}
172 \title{Lua\LaTeX-ja用\texttt{jclasses}互換クラス}
173 \author{Lua\TeX-jaプロジェクト}
174 \date{\filedate}
175 \begin{document}
176   \maketitle
177   \tableofcontents
178   \DocInput{\filename}
179 \end{document}
180 %</driver>
181 % \fi
182 %
183 % \section{はじめに}
184 % このファイルは、Lua\LaTeX-ja用の|jclasses|互換クラスファイルです。
185 % コミュニティ版をベースに作成しています。
186 % \dst{}プログラムによって、横組用のクラスファイルと縦組用のクラスファイル
187 % を作成することができます。
188 %
189 % 次に\dst{}プログラムのためのオプションを示します。
190 %
191 % \DeleteShortVerb{\|}
192 % \begin{center}
193 % \begin{tabular}{l|l}
194 % \emph{オプション} & \emph{意味}\\\hline
195 % article & articleクラスを生成\\
196 % report  & reportクラスを生成\\
197 % book    & bookクラスを生成\\
198 % 10pt    & 10ptサイズの設定を生成\\
199 % 11pt    & 11ptサイズの設定を生成\\
200 % 12pt    & 12ptサイズの設定を生成\\
201 % bk      & bookクラス用のサイズの設定を生成\\
202 % tate    & 縦組用の設定を生成\\
203 % yoko    & 横組用の設定を生成\\
204 % \end{tabular}
205 % \end{center}
206 % \MakeShortVerb{\|}
207 %
208 % \subsection{\texttt{jclasses.dtx} からの主な変更点}
209 % 全ての変更点を知りたい場合は、|jclasses.dtx|と|ltjclasses.dtx|で|diff|を
210 % とって下さい。
211 % \begin{itemize}
212 % \item もし
213 % \begin{quotation}
214 %   |! LaTeX Error: Too many math alphabets used in version ****.|
215 % \end{quotation}
216 % のエラーが起こった場合は、|lualatex-math|パッケージを読み込んでみて下さい。
217 % \item 出力PDFの用紙サイズが自動的に設定されるようにしてあります。
218 % %%%\item 縦組みクラスにおいて、|geometry|パッケージを読み込んだときに意図通りにならない問題に対応しました。%
219 % \end{itemize}
220 %
221 % \section{Lua\TeX-ja の読み込み}
222 % 最初に|luatexja|を読み込みます。
223 %    \begin{macrocode}
224 %<*article|report|book>
225 \RequirePackage{luatexja}
226 %    \end{macrocode}
227 %
228 % \section{オプションスイッチ}
229 % ここでは、後ほど使用するいくつかのコマンドやスイッチを定義しています。
230 %
231 % \begin{macro}{\c@@paper}
232 % 用紙サイズを示すために使います。
233 % A4, A5, B4, B5用紙はそれぞれ、1, 2, 3, 4として表されます。
234 %    \begin{macrocode}
235 \newcounter{@paper}
236 %    \end{macrocode}
237 % \end{macro}
238 %
239 % \begin{macro}{\if@landscape}
240 % 用紙を横向きにするかどうかのスイッチです。デフォルトは、縦向きです。
241 %    \begin{macrocode}
242 \newif\if@landscape \@landscapefalse
243 %    \end{macrocode}
244 % \end{macro}
245 %
246 % \begin{macro}{\@ptsize}
247 % 組版をするポイント数の一の位を保存するために使います。
248 % 0, 1, 2のいずれかです。
249 %    \begin{macrocode}
250 \newcommand{\@ptsize}{}
251 %    \end{macrocode}
252 % \end{macro}
253 %
254 % \begin{macro}{\if@restonecol}
255 % 二段組時に用いるテンポラリスイッチです。
256 %    \begin{macrocode}
257 \newif\if@restonecol
258 %    \end{macrocode}
259 % \end{macro}
260 %
261 % \begin{macro}{\if@titlepage}
262 % タイトルページやアブストラクト(概要)を
263 % 独立したページにするかどうかのスイッチです。
264 % reportとbookスタイルのデフォルトでは、独立したページになります。
265 %    \begin{macrocode}
266 \newif\if@titlepage
267 %<article>\@titlepagefalse
268 %<report|book>\@titlepagetrue
269 %    \end{macrocode}
270 % \end{macro}
271 %
272 % \begin{macro}{\if@openright}
273 % chapterレベルを右ページからはじめるかどうかのスイッチです。
274 % 横組では奇数ページ、縦組では偶数ページから始まることになります。
275 % reportクラスのデフォルトは、``no''です。
276 % bookクラスのデフォルトは、``yes''です。
277 %    \begin{macrocode}
278 %<!article>\newif\if@openright
279 %    \end{macrocode}
280 % \end{macro}
281 %
282 % \begin{macro}{\if@openleft}
283 % chapterレベルを左ページからはじめるかどうかのスイッチです。
284 % 日本語\TeX{}開発コミュニティ版で新たに追加されました。
285 % 横組では偶数ページ、縦組では奇数ページから始まることになります。
286 % reportクラスとbookクラスの両方で、デフォルトは``no''です。
287 % \changes{v1.7d}{2017/02/15}{\cs{if@openleft}スイッチ追加}
288 %    \begin{macrocode}
289 %<!article>\newif\if@openleft
290 %    \end{macrocode}
291 % \end{macro}
292 %
293 % \changes{v1.0c}{1995/12/25}{Macro \cs{if@openbib} removed}
294 %
295 % \begin{macro}{\if@mainmatter}
296 % スイッチ|\@mainmatter|が真の場合、本文を処理しています。
297 % このスイッチが偽の場合は、|\chapter|コマンドは見出し番号を出力しません。
298 %    \begin{macrocode}
299 %<book>\newif\if@mainmatter \@mainmattertrue
300 %    \end{macrocode}
301 % \end{macro}
302 %
303 % \begin{macro}{\hour}
304 % \begin{macro}{\minute}
305 %    \begin{macrocode}
306 \hour\time \divide\hour by 60\relax
307 \@tempcnta\hour \multiply\@tempcnta 60\relax
308 \minute\time \advance\minute-\@tempcnta
309 %    \end{macrocode}
310 % \end{macro}
311 % \end{macro}
312 %
313 % \begin{macro}{\if@stysize}
314 % \changes{v1.1a}{1997/01/25}{Add \cs{if@stysize}.}
315 % \LaTeXe~2.09互換モードで、スタイルオプションにa4j, a5pなどが指定された
316 % ときの動作をエミュレートするためのフラグです。
317 %    \begin{macrocode}
318 \newif\if@stysize \@stysizefalse
319 %    \end{macrocode}
320 % \end{macro}
321 %
322 % \begin{macro}{\if@mathrmmc}
323 % 和欧文両対応の数式文字コマンドを有効にするときに用いるフラグです。
324 % マクロの展開順序が複雑になるのを避けるため、
325 % デフォルトではfalseとしてあります。
326 %    \begin{macrocode}
327 \newif\if@mathrmmc \@mathrmmcfalse
328 %    \end{macrocode}
329 % \end{macro}
330 %
331 % \section{オプションの宣言}
332 % ここでは、クラスオプションの宣言を行なっています。
333 %
334 % \subsection{用紙オプション}
335 % 用紙サイズを指定するオプションです。
336 %    \begin{macrocode}
337 \DeclareOption{a4paper}{\setcounter{@paper}{1}%
338   \setlength\paperheight {297mm}%
339   \setlength\paperwidth  {210mm}}
340 \DeclareOption{a5paper}{\setcounter{@paper}{2}%
341   \setlength\paperheight {210mm}
342   \setlength\paperwidth  {148mm}}
343 \DeclareOption{b4paper}{\setcounter{@paper}{3}%
344   \setlength\paperheight {364mm}
345   \setlength\paperwidth  {257mm}}
346 \DeclareOption{b5paper}{\setcounter{@paper}{4}%
347   \setlength\paperheight {257mm}
348   \setlength\paperwidth  {182mm}}
349 %    \end{macrocode}
350 % \changes{v1.0a}{1995/09/26}{Change b4paper width/height 352x250 to 364x257}
351 % \changes{v1.0a}{1995/09/26}{Change b5paper width/height 250x176 to 257x182}
352 % ドキュメントクラスに、以下のオプションを指定すると、通常よりもテキストを
353 % 組み立てる領域の広いスタイルとすることができます。
354 %    \begin{macrocode}
355 %
356 \DeclareOption{a4j}{\setcounter{@paper}{1}\@stysizetrue
357   \setlength\paperheight {297mm}%
358   \setlength\paperwidth  {210mm}}
359 \DeclareOption{a5j}{\setcounter{@paper}{2}\@stysizetrue
360   \setlength\paperheight {210mm}
361   \setlength\paperwidth  {148mm}}
362 \DeclareOption{b4j}{\setcounter{@paper}{3}\@stysizetrue
363   \setlength\paperheight {364mm}
364   \setlength\paperwidth  {257mm}}
365 \DeclareOption{b5j}{\setcounter{@paper}{4}\@stysizetrue
366   \setlength\paperheight {257mm}
367   \setlength\paperwidth  {182mm}}
368 %
369 \DeclareOption{a4p}{\setcounter{@paper}{1}\@stysizetrue
370   \setlength\paperheight {297mm}%
371   \setlength\paperwidth  {210mm}}
372 \DeclareOption{a5p}{\setcounter{@paper}{2}\@stysizetrue
373   \setlength\paperheight {210mm}
374   \setlength\paperwidth  {148mm}}
375 \DeclareOption{b4p}{\setcounter{@paper}{3}\@stysizetrue
376   \setlength\paperheight {364mm}
377   \setlength\paperwidth  {257mm}}
378 \DeclareOption{b5p}{\setcounter{@paper}{4}\@stysizetrue
379   \setlength\paperheight {257mm}
380   \setlength\paperwidth  {182mm}}
381 %    \end{macrocode}
382 %
383 % \subsection{サイズオプション}
384 % 基準となるフォントの大きさを指定するオプションです。
385 %    \begin{macrocode}
386 \if@compatibility
387   \renewcommand{\@ptsize}{0}
388 \else
389   \DeclareOption{10pt}{\renewcommand{\@ptsize}{0}}
390 \fi
391 \DeclareOption{11pt}{\renewcommand{\@ptsize}{1}}
392 \DeclareOption{12pt}{\renewcommand{\@ptsize}{2}}
393 %    \end{macrocode}
394 %
395 % \subsection{横置きオプション}
396 % このオプションが指定されると、用紙の縦と横の長さを入れ換えます。
397 % \changes{v1.1h}{1997/09/03}{オプションの処理時に縦横の値を交換}
398 % \changes{v1.1h}{1997/09/03}{landscapeオプションを互換モードでも有効に}
399 %    \begin{macrocode}
400 \DeclareOption{landscape}{\@landscapetrue
401   \setlength\@tempdima{\paperheight}%
402   \setlength\paperheight{\paperwidth}%
403   \setlength\paperwidth{\@tempdima}}
404 %    \end{macrocode}
405 %
406 % \subsection{トンボオプション}
407 % |tombow|オプションが指定されると、用紙サイズに合わせてトンボを出力します。
408 % このとき、トンボの脇にPDFを作成した日付が出力されます。
409 % 作成日付の出力を抑制するには、|tombow|ではなく、|tombo|と指定をします。
410 %
411 % ジョブ情報の書式は元々|filename :  2017/3/5(13:3)|のような書式でしたが、
412 % jsclassesにあわせて桁数固定の|filename (2017-03-05 13:03)|に直しました。
413 % \changes{v1.0g}{1996/09/03}{Add to \cs{@bannertoken}.}
414 % \changes{v1.1a}{1997/01/23}{日付出力オプション}
415 % \changes{v1.7e}{2017/03/05}{トンボに表示するジョブ情報の書式を変更}
416 %    \begin{macrocode}
417 \DeclareOption{tombow}{%
418   \tombowtrue \tombowdatetrue
419   \setlength{\@tombowwidth}{.1\p@}%
420   \@bannertoken{%
421      \jobname\space(\number\year-\two@digits\month-\two@digits\day
422      \space\two@digits\hour:\two@digits\minute)}%
423   \maketombowbox}
424 \DeclareOption{tombo}{%
425   \tombowtrue \tombowdatefalse
426   \setlength{\@tombowwidth}{.1\p@}%
427   \maketombowbox}
428 %    \end{macrocode}
429 %
430 % \subsection{面付けオプション}
431 % このオプションが指定されると、トンボオプションを指定したときと同じ
432 % 位置に文章を出力します。作成したPDFをフィルムに面付け出力する場合など
433 % に指定をします。
434 % \changes{v1.0f}{1996/07/10}{面付けオプションを追加}
435 % \changes{v1.1n}{1998/10/13}
436 %     {動作していなかったのを修正。ありがとう、刀祢さん}
437 %    \begin{macrocode}
438 \DeclareOption{mentuke}{%
439   \tombowtrue \tombowdatefalse
440   \setlength{\@tombowwidth}{\z@}%
441   \maketombowbox}
442 %    \end{macrocode}
443 %
444 % \subsection{組方向オプション}
445 % このオプションが指定されると、縦組で組版をします。
446 % \changes{v1.0g}{1997/01/25}{Insert \cs{hbox}, to switch tate-mode.}
447 % \changes{v1.1d}{1997/02/05}{開始ページがおかしくなるのを修正}
448 % \changes{v1.1f}{1997/07/08}{縦組時にベースラインがおかしくなるのを修正}
449 %
450 % \changes{v1.6-ltj-4}{2014/06/30}{本文の組方向を \cs{AtBeginDocument} で
451 %   変更することができなくなったことに対応}
452 %    \begin{macrocode}
453 \DeclareOption{tate}{%
454   \tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}%
455 }
456 %    \end{macrocode}
457 %
458 % 縦組クラスと|everyshi|パッケージの相性が悪い問題に対処します。
459 % この処理は、ZRさんの|pxeveryshi|パッケージと実質的に同じ内容です。
460 %    \begin{macrocode}
461 %<*tate>
462 \AtEndOfPackageFile{everyshi}{%
463   \def\@EveryShipout@Output{%
464     \setbox8\vbox{%
465       \yoko
466       \@EveryShipout@Hook
467       \@EveryShipout@AtNextHook
468       \global\setbox\luatexoutputbox=\box\luatexoutputbox
469     }%
470     \gdef\@EveryShipout@AtNextHook{}%
471     \@EveryShipout@Org@Shipout\box\luatexoutputbox
472   }}
473 %</tate>
474 %    \end{macrocode}
475 %
476 % \subsection{両面、片面オプション}
477 % twosideオプションが指定されると、両面印字出力に適した整形を行ないます。
478 %    \begin{macrocode}
479 \DeclareOption{oneside}{\@twosidefalse}
480 \DeclareOption{twoside}{\@twosidetrue}
481 %    \end{macrocode}
482 %
483 % \subsection{二段組オプション}
484 % 二段組にするかどうかのオプションです。
485 %    \begin{macrocode}
486 \DeclareOption{onecolumn}{\@twocolumnfalse}
487 \DeclareOption{twocolumn}{\@twocolumntrue}
488 %    \end{macrocode}
489 %
490 % \subsection{表題ページオプション}
491 % |@titlepage|が真の場合、表題を独立したページに出力します。
492 %    \begin{macrocode}
493 \DeclareOption{titlepage}{\@titlepagetrue}
494 \DeclareOption{notitlepage}{\@titlepagefalse}
495 %    \end{macrocode}
496 %
497 % \subsection{右左起こしオプション}
498 % chapterを右ページあるいは左ページから
499 % はじめるかどうかを指定するオプションです。
500 % |openleft|オプションは日本語\TeX{}開発コミュニティによって追加されました。
501 % \changes{v1.7d}{2017/02/15}{openleftオプション追加}
502 %    \begin{macrocode}
503 %<!article>\if@compatibility
504 %<book>\@openrighttrue
505 %<!article>\else
506 %<!article>\DeclareOption{openright}{\@openrighttrue\@openleftfalse}
507 %<!article>\DeclareOption{openleft}{\@openlefttrue\@openrightfalse}
508 %<!article>\DeclareOption{openany}{\@openrightfalse\@openleftfalse}
509 %<!article>\fi
510 %    \end{macrocode}
511 %
512 % \subsection{数式のオプション}
513 % \Lopt{leqno}を指定すると、数式番号を数式の左側に出力します。
514 % \Lopt{fleqn}を指定するとディスプレイ数式を左揃えで出力します。
515 %    \begin{macrocode}
516 \DeclareOption{leqno}{\input{leqno.clo}}
517 \DeclareOption{fleqn}{\input{fleqn.clo}}
518 %    \end{macrocode}
519 %
520 % \subsection{参考文献のオプション}
521 % 参考文献一覧を``オープンスタイル''の書式で出力します。
522 % これは各ブロックが改行で区切られ、|\bibindent|のインデントが付く書式です。
523 % \changes{v1.0c}{1995/12/25}{openbibオプションを再実装}
524 %    \begin{macrocode}
525 \DeclareOption{openbib}{%
526 %    \end{macrocode}
527 % 参考文献環境内の最初のいくつかのフックを満たします。
528 %    \begin{macrocode}
529   \AtEndOfPackage{%
530    \renewcommand\@openbib@code{%
531       \advance\leftmargin\bibindent
532       \itemindent -\bibindent
533       \listparindent \itemindent
534       \parsep \z@
535       }%
536 %    \end{macrocode}
537 % そして、|\newblock|を再定義します。
538 %    \begin{macrocode}
539    \renewcommand\newblock{\par}}}
540 %    \end{macrocode}
541 %
542 % \subsection{日本語ファミリ宣言の抑制、和欧文両対応の数式文字}
543 % p\TeX では数式ファミリの数が16個だったので日本語ファミリ宣言を抑制する
544 % |disablejfam|オプションが用意されていましたが、Lua\TeX ではOmega拡張が
545 % 取り込まれて数式ファミリは256個まで使用できるため、このオプションは必要ありません。
546 % ただし、\LaTeXe カーネルでは未だに数式ファミリの数は16個に制限されているので、
547 % 実際に使用可能な数式ファミリの数を増やすためには|lualatex-math|パッケージを
548 % 読み込む必要があることに注意が必要です。
549 %
550 % |mathrmmc|オプションは、
551 % |\mathrm|と|\mathbf|を和欧文両対応にするためのクラスオプションです。
552 % \changes{v1.1d}{1992/02/04}{disablejfamの判断を間違えてたのを修正}
553 % \changes{v1.8-ltj-16}{2018/10/08}{Lua\TeX-ja本体が,主にメモリ消費を抑える目的で
554 %   |disablejfam|オプションをサポートしました。そのため以前出していた警告は削除します。}
555 %    \begin{macrocode}
556 \if@compatibility
557   \@mathrmmctrue
558 \else
559   \DeclareOption{mathrmmc}{\@mathrmmctrue}
560 \fi
561 %    \end{macrocode}
562 %
563 %
564 % \subsection{ドラフトオプション}
565 % |draft|オプションを指定すると、オーバフルボックスの起きた箇所に、
566 % 5ptの罫線が引かれます。
567 %    \begin{macrocode}
568 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
569 \DeclareOption{final}{\setlength\overfullrule{0pt}}
570 %</article|report|book>
571 %    \end{macrocode}
572 %
573 % \subsection{フォントメトリックの変更}
574
575 % Lua\LaTeX-jaの標準では、OTFパッケージ由来のメトリックが使われるようになっています。
576 % 本クラスでは、「p\TeX の組版と互換性をできるだけ持たせる」例を提示するため、
577 % \begin{itemize}
578 % \item メトリックを\texttt{min10.tfm}ベースの\texttt{jfm-min.lua}に変更。
579 % \item 明朝とゴシックは両方とも\texttt{jfm-min.lua}を用いるが、
580 %   和文処理用グルー挿入時には「違うメトリックを使用」として思わせる。
581 % \item p\TeX と同様に、「異なるメトリックの2つの和文文字」の間には、両者から定める
582 %   グルーを両方挿入する。
583 % \item calllbackを利用し、標準で用いる\texttt{jfm-min.lua}を、段落始めの括弧が全角二分下がりになるように内部で変更している。
584 %
585 % \end{itemize}
586 %
587 % |\ltj@stdmcfont|,~|\ltj@stdgtfont| による、デフォルトで使われ明朝・ゴシックのフォントの
588 % 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではなく、
589 % 何らかの理由で非埋め込みフォントが正しく利用できない場合にのみ |luatexja.cfg| によって
590 % セットされるものです。
591 %
592 % \changes{v1.6-ltj-9}{2015/01/01}{サイズクラスのロード前にメトリックの変更を行わないと,
593 % \cs{Cht}等の値が反映されないのでこの場所に移動させました.}
594 %
595 %    \begin{macrocode}
596 %<*article|report|book>
597 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
598   function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
599   'ltj.jclasses_load_jfm', 1)}
600 {\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua
601 \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
602 \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:jfm=min}{}
603 \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
604 \ltjglobalsetparameter{differentjfm=both}
605 \directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
606 %</article|report|book>
607 %    \end{macrocode}
608 %
609 % \subsection{disablejfamオプション}
610 % \changes{v1.8b-ltj-17}{2019/08/12}{disablejfamの``Unused global option(s)''警告を出さないようにした}
611 % disablejfamオプションはLua\TeX-ja本体で処理しますが,
612 % もうLua\TeX-jaは読み込んでいるため,このままでは``Unused global option(s): [disablejfam]''警告が
613 % 出てしまいます.そのため,「何もしない」disablejfamオプションをクラス内で定義しておきます.
614 %
615 %    \begin{macrocode}
616 %<*article|report|book>
617 \DeclareOption{disablejfam}{}
618 %</article|report|book>
619 %    \end{macrocode}
620 %
621 % \subsection{オプションの実行}
622 % オプションの実行、およびサイズクラスのロードを行ないます。
623 %    \begin{macrocode}
624 %<*article|report|book>
625 %<*article>
626 %<tate>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,tate}
627 %<yoko>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final}
628 %</article>
629 %<*report>
630 %<tate>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany,tate}
631 %<yoko>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany}
632 %</report>
633 %<*book>
634 %<tate>\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright,tate}
635 %<yoko>\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright}
636 %</book>
637 \ProcessOptions\relax
638 %<book&tate>\input{ltjtbk1\@ptsize.clo}
639 %<!book&tate>\input{ltjtsize1\@ptsize.clo}
640 %<book&yoko>\input{ltjbk1\@ptsize.clo}
641 %<!book&yoko>\input{ltjsize1\@ptsize.clo}
642 %    \end{macrocode}
643 % 縦組用クラスファイルの場合は、ここで\file{plext.sty}も読み込みます。
644 % \changes{v1.0e}{1996/03/21}{\cs{usepackage} to \cs{RequirePackage}}
645 % \changes{v1.6-ltj-6}{2014/07/28}{Lua\TeX-jaでは,代わりに\file{lltjext.sty}を読み込みま
646 % す.これは\file{plext.sty}をLua\TeX-ja用に書きなおしたものです.}
647 %    \begin{macrocode}
648 %<tate>\RequirePackage{lltjext}
649 %</article|report|book>
650 %    \end{macrocode}
651 %
652 % \section{フォント}
653 %
654 % ここでは、\LaTeX{}のフォントサイズコマンドの定義をしています。
655 % フォントサイズコマンドの定義は、次のコマンドを用います。
656 %
657 % |\@setfontsize||\size|\meta{font-size}\meta{baselineskip}
658 %
659 % \begin{description}
660 % \item[\meta{font-size}] これから使用する、フォントの実際の大きさです。
661 % \item[\meta{baselineskip}] 選択されるフォントサイズ用の通常の
662 %    |\baselineskip|の値です(実際は、|\baselinestretch| * \meta{baselineskip}
663 %    の値です)。
664 % \end{description}
665 %
666 % 数値コマンドは、次のように\LaTeX{}カーネルで定義されています。
667 % \begin{center}
668 % \begin{tabular}{ll@{\qquad}ll@{\qquad}ll}
669 %  \verb=\@vpt= & 5 & \verb=\@vipt= & 6 & \verb=\@viipt= & 7 \\
670 %  \verb=\@viiipt= & 8 & \verb=\@ixpt= & 9 & \verb=\@xpt= & 10 \\
671 %  \verb=\@xipt= & 10.95 & \verb=\@xiipt= & 12 & \verb=\@xivpt= & 14.4\\
672 %  ...
673 %  \end{tabular}
674 %  \end{center}
675 %
676 % \begin{macro}{\normalsize}
677 % \begin{macro}{\@normalsize}
678 % 基本サイズとするユーザレベルのコマンドは|\normalsize|です。
679 % \LaTeX{}の内部では|\@normalsize|を使用します。
680 %
681 % |\normalsize|マクロは、|\abovedisplayskip|と
682 % |\abovedisplayshortskip|、および|\belowdisplayshortskip|の値も設定をします。
683 % |\belowdisplayskip|は、つねに|\abovedisplayskip|と同値です。
684 %
685 % また、リスト環境のトップレベルのパラメータは、つねに|\@listI|で与えられます。
686 %    \begin{macrocode}
687 %<*10pt|11pt|12pt>
688 \renewcommand{\normalsize}{%
689 %<10pt&yoko>    \@setfontsize\normalsize\@xpt{15}%
690 %<11pt&yoko>    \@setfontsize\normalsize\@xipt{15.5}%
691 %<12pt&yoko>    \@setfontsize\normalsize\@xiipt{16.5}%
692 %<10pt&tate>    \@setfontsize\normalsize\@xpt{17}%
693 %<11pt&tate>    \@setfontsize\normalsize\@xipt{17}%
694 %<12pt&tate>    \@setfontsize\normalsize\@xiipt{18}%
695 %<*10pt>
696   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
697   \abovedisplayshortskip \z@ \@plus3\p@
698   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
699 %</10pt>
700 %<*11pt>
701   \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
702   \abovedisplayshortskip \z@ \@plus3\p@
703   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
704 %</11pt>
705 %<*12pt>
706   \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
707   \abovedisplayshortskip \z@ \@plus3\p@
708   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
709 %</12pt>
710    \belowdisplayskip \abovedisplayskip
711    \let\@listi\@listI}
712 %    \end{macrocode}
713 %
714 % ここで、ノーマルフォントを選択し、初期化をします。
715 % このとき、縦組モードならば、デフォルトのエンコードを変更します。
716 %    \begin{macrocode}
717 %<tate>\def\kanjiencodingdefault{JT3}%
718 %<tate>\kanjiencoding{\kanjiencodingdefault}%
719 \normalsize
720 %    \end{macrocode}
721 % \end{macro}
722 % \end{macro}
723 %
724 % \begin{macro}{\Cht}
725 % \begin{macro}{\Cdp}
726 % \begin{macro}{\Cwd}
727 % \begin{macro}{\Cvs}
728 % \begin{macro}{\Chs}
729 % 基準となる長さの設定をします。これらのパラメータは\file{lltjfont.sty}で定義
730 % されています。基準とする文字を「全角空白」(EUCコード\texttt{0xA1A1})から
731 % 「漢」(JISコード\texttt{0x3441})へ変更しました。
732 % \changes{v1.7f}{2017/08/31}{和文書体の基準を全角空白から「漢」に変更}
733 % \changes{v1.7g}{2017/09/19}{内部処理で使ったボックス0を空にした}
734 %    \begin{macrocode}
735 \setbox0\hbox{漢}
736 \setlength\Cht{\ht0}
737 \setlength\Cdp{\dp0}
738 \setlength\Cwd{\wd0}
739 \setlength\Cvs{\baselineskip}
740 \setlength\Chs{\wd0}
741 \setbox0=\box\voidb@x
742 %    \end{macrocode}
743 % \end{macro}
744 % \end{macro}
745 % \end{macro}
746 % \end{macro}
747 % \end{macro}
748 %
749 % \begin{macro}{\small}
750 % |\small|コマンドの定義は、|\normalsize|に似ています。
751 %    \begin{macrocode}
752 \newcommand{\small}{%
753 %<*10pt>
754   \@setfontsize\small\@ixpt{11}%
755   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
756   \abovedisplayshortskip \z@ \@plus2\p@
757   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
758   \def\@listi{\leftmargin\leftmargini
759               \topsep 4\p@ \@plus2\p@ \@minus2\p@
760               \parsep 2\p@ \@plus\p@ \@minus\p@
761               \itemsep \parsep}%
762 %</10pt>
763 %<*11pt>
764   \@setfontsize\small\@xpt\@xiipt
765   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
766   \abovedisplayshortskip \z@ \@plus3\p@
767   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
768   \def\@listi{\leftmargin\leftmargini
769               \topsep 6\p@ \@plus2\p@ \@minus2\p@
770               \parsep 3\p@ \@plus2\p@ \@minus\p@
771               \itemsep \parsep}%
772 %</11pt>
773 %<*12pt>
774   \@setfontsize\small\@xipt{13.6}%
775   \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
776   \abovedisplayshortskip \z@ \@plus3\p@
777   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
778   \def\@listi{\leftmargin\leftmargini
779               \topsep 9\p@ \@plus3\p@ \@minus5\p@
780               \parsep 4.5\p@ \@plus2\p@ \@minus\p@
781               \itemsep \parsep}%
782 %</12pt>
783   \belowdisplayskip \abovedisplayskip}
784 %    \end{macrocode}
785 % \end{macro}
786 %
787 % \begin{macro}{\footnotesize}
788 % |\footnotesize|コマンドの定義は、|\normalsize|に似ています。
789 %    \begin{macrocode}
790 \newcommand{\footnotesize}{%
791 %<*10pt>
792   \@setfontsize\footnotesize\@viiipt{9.5}%
793   \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
794   \abovedisplayshortskip \z@ \@plus\p@
795   \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
796   \def\@listi{\leftmargin\leftmargini
797               \topsep 3\p@ \@plus\p@ \@minus\p@
798               \parsep 2\p@ \@plus\p@ \@minus\p@
799               \itemsep \parsep}%
800 %</10pt>
801 %<*11pt>
802   \@setfontsize\footnotesize\@ixpt{11}%
803   \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
804   \abovedisplayshortskip \z@ \@plus\p@
805   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
806   \def\@listi{\leftmargin\leftmargini
807               \topsep 4\p@ \@plus2\p@ \@minus2\p@
808               \parsep 2\p@ \@plus\p@ \@minus\p@
809               \itemsep \parsep}%
810 %</11pt>
811 %<*12pt>
812   \@setfontsize\footnotesize\@xpt\@xiipt
813   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
814   \abovedisplayshortskip \z@ \@plus3\p@
815   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
816   \def\@listi{\leftmargin\leftmargini
817               \topsep 6\p@ \@plus2\p@ \@minus2\p@
818               \parsep 3\p@ \@plus2\p@ \@minus\p@
819               \itemsep \parsep}%
820 %</12pt>
821   \belowdisplayskip \abovedisplayskip}
822 %    \end{macrocode}
823 % \end{macro}
824 %
825 % \begin{macro}{\scriptsize}
826 % \begin{macro}{\tiny}
827 % \begin{macro}{\large}
828 % \begin{macro}{\Large}
829 % \begin{macro}{\LARGE}
830 % \begin{macro}{\huge}
831 % \begin{macro}{\Huge}
832 % これらは先ほどのマクロよりも簡単です。これらはフォントサイズを変更する
833 % だけで、リスト環境とディスプレイ数式のパラメータは変更しません。
834 %    \begin{macrocode}
835 %<*10pt>
836 \newcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt}
837 \newcommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt}
838 \newcommand{\large}{\@setfontsize\large\@xiipt{17}}
839 \newcommand{\Large}{\@setfontsize\Large\@xivpt{21}}
840 \newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
841 \newcommand{\huge}{\@setfontsize\huge\@xxpt{28}}
842 \newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
843 %</10pt>
844 %<*11pt>
845 \newcommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
846 \newcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
847 \newcommand{\large}{\@setfontsize\large\@xiipt{17}}
848 \newcommand{\Large}{\@setfontsize\Large\@xivpt{21}}
849 \newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
850 \newcommand{\huge}{\@setfontsize\huge\@xxpt{28}}
851 \newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
852 %</11pt>
853 %<*12pt>
854 \newcommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
855 \newcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
856 \newcommand{\large}{\@setfontsize\large\@xivpt{21}}
857 \newcommand{\Large}{\@setfontsize\Large\@xviipt{25}}
858 \newcommand{\LARGE}{\@setfontsize\LARGE\@xxpt{28}}
859 \newcommand{\huge}{\@setfontsize\huge\@xxvpt{33}}
860 \let\Huge=\huge
861 %</12pt>
862 %</10pt|11pt|12pt>
863 %    \end{macrocode}
864 % \end{macro}
865 % \end{macro}
866 % \end{macro}
867 % \end{macro}
868 % \end{macro}
869 % \end{macro}
870 % \end{macro}
871 %
872 % \begin{macro}{\Cjascale}
873 % このクラスファイルが意図する和文スケール値
874 % ($1\,\mathrm{zw} \div \textmc{要求サイズ}$)を
875 % 表す実数値マクロ|\Cjascale|を定義します。
876 % この\texttt{jclasses}互換クラスでは、Lua\TeX-ja読み込み時の和文スケール値がそのまま
877 % 使用され、その値は0.962216です。
878 % \changes{v1.7h}{2018/02/04}{和文スケール値\cs{Cjascale}を定義}
879 %    \begin{macrocode}
880 %<*article|report|book>
881 \def\Cjascale{0.962216}
882 %</article|report|book>
883 %    \end{macrocode}
884 % \end{macro}
885 %
886 %
887 %
888 % \section{レイアウト}
889 %
890 % \subsection{用紙サイズの決定}
891 %
892 % \begin{macro}{\columnsep}
893 % \begin{macro}{\columnseprule}
894 % |\columnsep|は、二段組のときの、左右(あるいは上下)の段間の幅です。
895 % このスペースの中央に|\columnseprule|の幅の罫線が引かれます。
896 % \changes{v1.0g}{1997/01/25}{\cs{columnsep}: 10pt to 3\cs{Cwd} or 2\cs{Cwd}.}
897 %    \begin{macrocode}
898 %<*article|report|book>
899 \if@stysize
900 %<tate>  \setlength\columnsep{3\Cwd}
901 %<yoko>  \setlength\columnsep{2\Cwd}
902 \else
903   \setlength\columnsep{10\p@}
904 \fi
905 \setlength\columnseprule{0\p@}
906 %    \end{macrocode}
907 % \end{macro}
908 % \end{macro}
909 %
910 % \begin{macro}{\pagewidth}
911 % \begin{macro}{\pageheight}
912 % \begin{macro}{\stockwidth}
913 % \begin{macro}{\stockheight}
914 % 出力のPDFの用紙サイズをここで設定しておきます。
915 % |tombow|が真のときは2インチ足しておきます。
916 %
917 % [2015-10-18 LTJ] Lua\TeX\ 0.81.0ではプリミティブの名称変更がされたので,
918 % それに合わせておきます.
919 %
920 % [2016-07-19 LTJ] luatex.defが新しくなったことに対応するaminophenさんのパッチを取り込みました。
921 %
922 % [2017-01-17 LTJ] [lt]jsclassesに合わせ,トンボオプションが指定されているとき「だけ」|\stockwidth|,
923 % |\stockheight|を定義するようにしました。aminophenさん,ありがとうございます.
924 %
925 %    \begin{macrocode}
926 \iftombow
927   \newlength{\stockwidth}
928   \newlength{\stockheight}
929   \setlength{\stockwidth}{\paperwidth}
930   \setlength{\stockheight}{\paperheight}
931   \advance \stockwidth 2in
932   \advance \stockheight 2in
933   \ifdefined\pdfpagewidth
934     \setlength{\pdfpagewidth}{\stockwidth}
935     \setlength{\pdfpageheight}{\stockheight}
936   \else
937     \setlength{\pagewidth}{\stockwidth}
938     \setlength{\pageheight}{\stockheight}
939   \fi
940 \else
941   \ifdefined\pdfpagewidth
942     \setlength{\pdfpagewidth}{\paperwidth}
943     \setlength{\pdfpageheight}{\paperheight}
944   \else
945     \setlength{\pagewidth}{\paperwidth}
946     \setlength{\pageheight}{\paperheight}
947   \fi
948 \fi
949 %    \end{macrocode}
950 % \end{macro}
951 % \end{macro}
952 % \end{macro}
953 % \end{macro}
954 %
955 % \subsection{段落の形}
956 %
957 % \begin{macro}{\lineskip}
958 % \begin{macro}{\normallineskip}
959 % これらの値は、行が近付き過ぎたときの\TeX の動作を制御します。
960 %    \begin{macrocode}
961 \setlength\lineskip{1\p@}
962 \setlength\normallineskip{1\p@}
963 %    \end{macrocode}
964 % \end{macro}
965 % \end{macro}
966 %
967 % \begin{macro}{\baselinestretch}
968 % これは、|\baselineskip|の倍率を示すために使います。
969 % デフォルトでは、\emph{何もしません}。このコマンドが``empty''でない場合、
970 % |\baselineskip|の指定の\texttt{plus}や\texttt{minus}部分は無視される
971 % ことに注意してください。
972 %    \begin{macrocode}
973 \renewcommand{\baselinestretch}{}
974 %    \end{macrocode}
975 % \end{macro}
976 %
977 % \begin{macro}{\parskip}
978 % \begin{macro}{\parindent}
979 % |\parskip|は段落間に挿入される、縦方向の追加スペースです。
980 % |\parindent|は段落の先頭の字下げ幅です。
981 %    \begin{macrocode}
982 \setlength\parskip{0\p@ \@plus \p@}
983 \setlength\parindent{1\Cwd}
984 %    \end{macrocode}
985 % \end{macro}
986 % \end{macro}
987 %
988 %  \begin{macro}{\smallskipamount}
989 %  \begin{macro}{\medskipamount}
990 %  \begin{macro}{\bigskipamount}
991 % これら3つのパラメータの値は、\LaTeX{}カーネルの中で設定されています。
992 % これらはおそらく、サイズオプションの指定によって変えるべきです。
993 % しかし、\LaTeX~2.09や\LaTeXe{}の以前のリリースの両方との互換性を保つために、
994 % これらはまだ同じ値としています。
995 %    \begin{macrocode}
996 %<*10pt|11pt|12pt>
997 \setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
998 \setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
999 \setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
1000 %</10pt|11pt|12pt>
1001 %    \end{macrocode}
1002 %  \end{macro}
1003 %  \end{macro}
1004 %  \end{macro}
1005 %
1006 % \begin{macro}{\@lowpenalty}
1007 % \begin{macro}{\@medpenalty}
1008 % \begin{macro}{\@highpenalty}
1009 % |\nopagebreak|と|\nolinebreak|コマンドは、これらのコマンドが置かれた場所に、
1010 % ペナルティを起いて、分割を制御します。
1011 % 置かれるペナルティは、コマンドの引数によって、
1012 % |\@lowpenalty|, |\@medpenalty|, |\@highpenalty|のいずれかが使われます。
1013 %    \begin{macrocode}
1014 \@lowpenalty   51
1015 \@medpenalty  151
1016 \@highpenalty 301
1017 %</article|report|book>
1018 %    \end{macrocode}
1019 % \end{macro}
1020 % \end{macro}
1021 % \end{macro}
1022 %
1023 % \subsection{ページレイアウト}
1024 %
1025 % \subsubsection{縦方向のスペース}
1026 %
1027 % \begin{macro}{\headheight}
1028 % \begin{macro}{\headsep}
1029 % \begin{macro}{\topskip}
1030 % |\headheight|は、ヘッダが入るボックスの高さです。
1031 % |\headsep|は、ヘッダの下端と本文領域との間の距離です。
1032 % |\topskip|は、本文領域の上端と1行目のテキストのベースラインとの距離です。
1033 %    \begin{macrocode}
1034 %<*10pt|11pt|12pt>
1035 \setlength\headheight{12\p@}
1036 %<*tate>
1037 \if@stysize
1038   \ifnum\c@@paper=2 % A5
1039     \setlength\headsep{6mm}
1040   \else % A4, B4, B5 and other
1041     \setlength\headsep{8mm}
1042   \fi
1043 \else
1044     \setlength\headsep{8mm}
1045 \fi
1046 %</tate>
1047 %<*yoko>
1048 %<!bk>\setlength\headsep{25\p@}
1049 %<10pt&bk>\setlength\headsep{.25in}
1050 %<11pt&bk>\setlength\headsep{.275in}
1051 %<12pt&bk>\setlength\headsep{.275in}
1052 %</yoko>
1053 \setlength\topskip{1\Cht}
1054 %    \end{macrocode}
1055 % \end{macro}
1056 % \end{macro}
1057 % \end{macro}
1058 %
1059 % \begin{macro}{\footskip}
1060 % |\footskip|は、本文領域の下端とフッタの下端との距離です。
1061 % フッタのボックスの高さを示す、|\footheight|は削除されました。
1062 %    \begin{macrocode}
1063 %<tate>\setlength\footskip{14mm}
1064 %<*yoko>
1065 %<!bk>\setlength\footskip{30\p@}
1066 %<10pt&bk>\setlength\footskip{.35in}
1067 %<11pt&bk>\setlength\footskip{.38in}
1068 %<12pt&bk>\setlength\footskip{30\p@}
1069 %</yoko>
1070 %    \end{macrocode}
1071 % \end{macro}
1072 %
1073 % \begin{macro}{\maxdepth}
1074 % \changes{v1.1c}{1995/12/25}{\cs{@maxdepth}の設定を除外した}
1075 % \TeX のプリミティブレジスタ|\maxdepth|は、|\topskip|と同じような
1076 % 働きをします。|\@maxdepth|レジスタは、つねに|\maxdepth|のコピーでなくては
1077 % いけません。これは|\begin{document}|の内部で設定されます。
1078 % \TeX{}と\LaTeX~2.09では、|\maxdepth|は\texttt{4pt}に固定です。
1079 % \LaTeXe{}では、|\maxdepth|$+$|\topskip|を基本サイズの1.5倍にしたいので、
1080 % |\maxdepth|を|\topskip|の半分の値で設定します。
1081 %    \begin{macrocode}
1082 \if@compatibility
1083   \setlength\maxdepth{4\p@}
1084 \else
1085   \setlength\maxdepth{.5\topskip}
1086 \fi
1087 %    \end{macrocode}
1088 % \end{macro}
1089 %
1090 % \subsubsection{本文領域}
1091 % |\textheight|と|\textwidth|は、本文領域の通常の高さと幅を示します。
1092 % 縦組でも横組でも、``高さ''は行数を、``幅''は字詰めを意味します。
1093 % 後ほど、これらの長さに|\topskip|の値が加えられます。
1094 %
1095 % \begin{macro}{\textwidth}
1096 % 基本組の字詰めです。
1097 %
1098 % 互換モードの場合:
1099 %    \begin{macrocode}
1100 \if@compatibility
1101 %    \end{macrocode}
1102 % \changes{v1.1a}{1997/01/25}{Add paper option with compatibility mode.}
1103 % \changes{v1.1h}{1997/09/03}{landscapeでの指定を追加}
1104 % 互換モード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1105 %    \begin{macrocode}
1106   \if@stysize
1107     \ifnum\c@@paper=2 % A5
1108       \if@landscape
1109 %<10pt&yoko>        \setlength\textwidth{47\Cwd}
1110 %<11pt&yoko>        \setlength\textwidth{42\Cwd}
1111 %<12pt&yoko>        \setlength\textwidth{40\Cwd}
1112 %<10pt&tate>        \setlength\textwidth{27\Cwd}
1113 %<11pt&tate>        \setlength\textwidth{25\Cwd}
1114 %<12pt&tate>        \setlength\textwidth{23\Cwd}
1115       \else
1116 %<10pt&yoko>        \setlength\textwidth{28\Cwd}
1117 %<11pt&yoko>        \setlength\textwidth{25\Cwd}
1118 %<12pt&yoko>        \setlength\textwidth{24\Cwd}
1119 %<10pt&tate>        \setlength\textwidth{46\Cwd}
1120 %<11pt&tate>        \setlength\textwidth{42\Cwd}
1121 %<12pt&tate>        \setlength\textwidth{38\Cwd}
1122       \fi
1123     \else\ifnum\c@@paper=3 % B4
1124       \if@landscape
1125 %<10pt&yoko>        \setlength\textwidth{75\Cwd}
1126 %<11pt&yoko>        \setlength\textwidth{69\Cwd}
1127 %<12pt&yoko>        \setlength\textwidth{63\Cwd}
1128 %<10pt&tate>        \setlength\textwidth{53\Cwd}
1129 %<11pt&tate>        \setlength\textwidth{49\Cwd}
1130 %<12pt&tate>        \setlength\textwidth{44\Cwd}
1131       \else
1132 %<10pt&yoko>        \setlength\textwidth{60\Cwd}
1133 %<11pt&yoko>        \setlength\textwidth{55\Cwd}
1134 %<12pt&yoko>        \setlength\textwidth{50\Cwd}
1135 %<10pt&tate>        \setlength\textwidth{85\Cwd}
1136 %<11pt&tate>        \setlength\textwidth{76\Cwd}
1137 %<12pt&tate>        \setlength\textwidth{69\Cwd}
1138       \fi
1139     \else\ifnum\c@@paper=4 % B5
1140       \if@landscape
1141 %<10pt&yoko>        \setlength\textwidth{60\Cwd}
1142 %<11pt&yoko>        \setlength\textwidth{55\Cwd}
1143 %<12pt&yoko>        \setlength\textwidth{50\Cwd}
1144 %<10pt&tate>        \setlength\textwidth{34\Cwd}
1145 %<11pt&tate>        \setlength\textwidth{31\Cwd}
1146 %<12pt&tate>        \setlength\textwidth{28\Cwd}
1147       \else
1148 %<10pt&yoko>        \setlength\textwidth{37\Cwd}
1149 %<11pt&yoko>        \setlength\textwidth{34\Cwd}
1150 %<12pt&yoko>        \setlength\textwidth{31\Cwd}
1151 %<10pt&tate>        \setlength\textwidth{55\Cwd}
1152 %<11pt&tate>        \setlength\textwidth{51\Cwd}
1153 %<12pt&tate>        \setlength\textwidth{47\Cwd}
1154       \fi
1155     \else % A4 ant other
1156       \if@landscape
1157 %<10pt&yoko>        \setlength\textwidth{73\Cwd}
1158 %<11pt&yoko>        \setlength\textwidth{68\Cwd}
1159 %<12pt&yoko>        \setlength\textwidth{61\Cwd}
1160 %<10pt&tate>        \setlength\textwidth{41\Cwd}
1161 %<11pt&tate>        \setlength\textwidth{38\Cwd}
1162 %<12pt&tate>        \setlength\textwidth{35\Cwd}
1163       \else
1164 %<10pt&yoko>        \setlength\textwidth{47\Cwd}
1165 %<11pt&yoko>        \setlength\textwidth{43\Cwd}
1166 %<12pt&yoko>        \setlength\textwidth{40\Cwd}
1167 %<10pt&tate>        \setlength\textwidth{67\Cwd}
1168 %<11pt&tate>        \setlength\textwidth{61\Cwd}
1169 %<12pt&tate>        \setlength\textwidth{57\Cwd}
1170       \fi
1171     \fi\fi\fi
1172   \else
1173 %    \end{macrocode}
1174 % 互換モード:デフォルト設定
1175 %    \begin{macrocode}
1176     \if@twocolumn
1177       \setlength\textwidth{52\Cwd}
1178     \else
1179 %<10pt&!bk&yoko>      \setlength\textwidth{327\p@}
1180 %<11pt&!bk&yoko>      \setlength\textwidth{342\p@}
1181 %<12pt&!bk&yoko>      \setlength\textwidth{372\p@}
1182 %<10pt&bk&yoko>      \setlength\textwidth{4.3in}
1183 %<11pt&bk&yoko>      \setlength\textwidth{4.8in}
1184 %<12pt&bk&yoko>      \setlength\textwidth{4.8in}
1185 %<10pt&tate>      \setlength\textwidth{67\Cwd}
1186 %<11pt&tate>      \setlength\textwidth{61\Cwd}
1187 %<12pt&tate>      \setlength\textwidth{57\Cwd}
1188     \fi
1189   \fi
1190 %    \end{macrocode}
1191 % 2eモードの場合:
1192 %    \begin{macrocode}
1193 \else
1194 %    \end{macrocode}
1195 % 2eモード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1196 % 二段組では用紙サイズの8割、一段組では用紙サイズの7割を版面の幅として
1197 % 設定します。
1198 %    \begin{macrocode}
1199   \if@stysize
1200     \if@twocolumn
1201 %<yoko>      \setlength\textwidth{.8\paperwidth}
1202 %<tate>      \setlength\textwidth{.8\paperheight}
1203     \else
1204 %<yoko>      \setlength\textwidth{.7\paperwidth}
1205 %<tate>      \setlength\textwidth{.7\paperheight}
1206     \fi
1207   \else
1208 %    \end{macrocode}
1209 % 2eモード:デフォルト設定
1210 %    \begin{macrocode}
1211 %<tate>    \setlength\@tempdima{\paperheight}
1212 %<yoko>    \setlength\@tempdima{\paperwidth}
1213     \addtolength\@tempdima{-2in}
1214 %<tate>    \addtolength\@tempdima{-1.3in}
1215 %<yoko&10pt>    \setlength\@tempdimb{327\p@}
1216 %<yoko&11pt>    \setlength\@tempdimb{342\p@}
1217 %<yoko&12pt>    \setlength\@tempdimb{372\p@}
1218 %<tate&10pt>    \setlength\@tempdimb{67\Cwd}
1219 %<tate&11pt>    \setlength\@tempdimb{61\Cwd}
1220 %<tate&12pt>    \setlength\@tempdimb{57\Cwd}
1221     \if@twocolumn
1222       \ifdim\@tempdima>2\@tempdimb\relax
1223         \setlength\textwidth{2\@tempdimb}
1224       \else
1225         \setlength\textwidth{\@tempdima}
1226       \fi
1227     \else
1228       \ifdim\@tempdima>\@tempdimb\relax
1229         \setlength\textwidth{\@tempdimb}
1230       \else
1231         \setlength\textwidth{\@tempdima}
1232       \fi
1233     \fi
1234   \fi
1235 \fi
1236 \@settopoint\textwidth
1237 %    \end{macrocode}
1238 % \end{macro}
1239 %
1240 % \begin{macro}{\textheight}
1241 % 基本組の行数です。
1242 %
1243 % 互換モードの場合:
1244 %    \begin{macrocode}
1245 \if@compatibility
1246 %    \end{macrocode}
1247 % \changes{v1.1a}{1997/01/25}{Add paper option with compatibility mode.}
1248 % \changes{v1.1f}{1997/09/03}{landscapeでの指定を追加}
1249 % 互換モード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1250 %    \begin{macrocode}
1251   \if@stysize
1252     \ifnum\c@@paper=2 % A5
1253       \if@landscape
1254 %<10pt&yoko>        \setlength\textheight{17\Cvs}
1255 %<11pt&yoko>        \setlength\textheight{17\Cvs}
1256 %<12pt&yoko>        \setlength\textheight{16\Cvs}
1257 %<10pt&tate>        \setlength\textheight{26\Cvs}
1258 %<11pt&tate>        \setlength\textheight{26\Cvs}
1259 %<12pt&tate>        \setlength\textheight{25\Cvs}
1260       \else
1261 %<10pt&yoko>        \setlength\textheight{28\Cvs}
1262 %<11pt&yoko>        \setlength\textheight{25\Cvs}
1263 %<12pt&yoko>        \setlength\textheight{24\Cvs}
1264 %<10pt&tate>        \setlength\textheight{16\Cvs}
1265 %<11pt&tate>        \setlength\textheight{16\Cvs}
1266 %<12pt&tate>        \setlength\textheight{15\Cvs}
1267       \fi
1268     \else\ifnum\c@@paper=3 % B4
1269       \if@landscape
1270 %<10pt&yoko>        \setlength\textheight{38\Cvs}
1271 %<11pt&yoko>        \setlength\textheight{36\Cvs}
1272 %<12pt&yoko>        \setlength\textheight{34\Cvs}
1273 %<10pt&tate>        \setlength\textheight{48\Cvs}
1274 %<11pt&tate>        \setlength\textheight{48\Cvs}
1275 %<12pt&tate>        \setlength\textheight{45\Cvs}
1276       \else
1277 %<10pt&yoko>        \setlength\textheight{57\Cvs}
1278 %<11pt&yoko>        \setlength\textheight{55\Cvs}
1279 %<12pt&yoko>        \setlength\textheight{52\Cvs}
1280 %<10pt&tate>        \setlength\textheight{33\Cvs}
1281 %<11pt&tate>        \setlength\textheight{33\Cvs}
1282 %<12pt&tate>        \setlength\textheight{31\Cvs}
1283       \fi
1284     \else\ifnum\c@@paper=4 % B5
1285       \if@landscape
1286 %<10pt&yoko>        \setlength\textheight{22\Cvs}
1287 %<11pt&yoko>        \setlength\textheight{21\Cvs}
1288 %<12pt&yoko>        \setlength\textheight{20\Cvs}
1289 %<10pt&tate>        \setlength\textheight{34\Cvs}
1290 %<11pt&tate>        \setlength\textheight{34\Cvs}
1291 %<12pt&tate>        \setlength\textheight{32\Cvs}
1292       \else
1293 %<10pt&yoko>        \setlength\textheight{35\Cvs}
1294 %<11pt&yoko>        \setlength\textheight{34\Cvs}
1295 %<12pt&yoko>        \setlength\textheight{32\Cvs}
1296 %<10pt&tate>        \setlength\textheight{21\Cvs}
1297 %<11pt&tate>        \setlength\textheight{21\Cvs}
1298 %<12pt&tate>        \setlength\textheight{20\Cvs}
1299       \fi
1300     \else % A4 and other
1301       \if@landscape
1302 %<10pt&yoko>        \setlength\textheight{27\Cvs}
1303 %<11pt&yoko>        \setlength\textheight{26\Cvs}
1304 %<12pt&yoko>        \setlength\textheight{25\Cvs}
1305 %<10pt&tate>        \setlength\textheight{41\Cvs}
1306 %<11pt&tate>        \setlength\textheight{41\Cvs}
1307 %<12pt&tate>        \setlength\textheight{38\Cvs}
1308       \else
1309 %<10pt&yoko>        \setlength\textheight{43\Cvs}
1310 %<11pt&yoko>        \setlength\textheight{42\Cvs}
1311 %<12pt&yoko>        \setlength\textheight{39\Cvs}
1312 %<10pt&tate>        \setlength\textheight{26\Cvs}
1313 %<11pt&tate>        \setlength\textheight{26\Cvs}
1314 %<12pt&tate>        \setlength\textheight{22\Cvs}
1315       \fi
1316     \fi\fi\fi
1317 %<yoko>    \addtolength\textheight{\topskip}
1318 %<bk&yoko>    \addtolength\textheight{\baselineskip}
1319 %<tate>    \addtolength\textheight{\Cht}
1320 %<tate>    \addtolength\textheight{\Cdp}
1321 %    \end{macrocode}
1322 % 互換モード:デフォルト設定
1323 %    \begin{macrocode}
1324   \else
1325 %<10pt&!bk&yoko>  \setlength\textheight{578\p@}
1326 %<10pt&bk&yoko>  \setlength\textheight{554\p@}
1327 %<11pt&yoko>  \setlength\textheight{580.4\p@}
1328 %<12pt&yoko>  \setlength\textheight{586.5\p@}
1329 %<10pt&tate>  \setlength\textheight{26\Cvs}
1330 %<11pt&tate>  \setlength\textheight{25\Cvs}
1331 %<12pt&tate>  \setlength\textheight{24\Cvs}
1332   \fi
1333 %    \end{macrocode}
1334 % 2eモードの場合:
1335 %    \begin{macrocode}
1336 \else
1337 %    \end{macrocode}
1338 % 2eモード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1339 % 縦組では用紙サイズの70\%(book)か78\%(ariticle,report)、
1340 % 横組では70\%(book)か75\%(article,report)を版面の高さに設定します。
1341 %    \begin{macrocode}
1342   \if@stysize
1343 %<tate&bk>    \setlength\textheight{.75\paperwidth}
1344 %<tate&!bk>    \setlength\textheight{.78\paperwidth}
1345 %<yoko&bk>    \setlength\textheight{.70\paperheight}
1346 %<yoko&!bk>    \setlength\textheight{.75\paperheight}
1347 %    \end{macrocode}
1348 % 2eモード:デフォルト値
1349 %    \begin{macrocode}
1350   \else
1351 %<tate>    \setlength\@tempdima{\paperwidth}
1352 %<yoko>    \setlength\@tempdima{\paperheight}
1353     \addtolength\@tempdima{-2in}
1354 %<yoko>    \addtolength\@tempdima{-1.5in}
1355     \divide\@tempdima\baselineskip
1356     \@tempcnta\@tempdima
1357     \setlength\textheight{\@tempcnta\baselineskip}
1358   \fi
1359 \fi
1360 %    \end{macrocode}
1361 % 最後に、|\textheight|に|\topskip|の値を加えます。
1362 %    \begin{macrocode}
1363 \addtolength\textheight{\topskip}
1364 \@settopoint\textheight
1365 %    \end{macrocode}
1366 % \end{macro}
1367 %
1368 % \subsubsection{マージン}
1369 %
1370 % \begin{macro}{\topmargin}
1371 % |\topmargin|は、``印字可能領域''---用紙の上端から1インチ内側---%
1372 % の上端からヘッダ部分の上端までの距離です。
1373 %
1374 % 2.09互換モードの場合:
1375 %    \begin{macrocode}
1376 \if@compatibility
1377 %<*yoko>
1378   \if@stysize
1379     \setlength\topmargin{-.3in}
1380   \else
1381 %<!bk>    \setlength\topmargin{27\p@}
1382 %<10pt&bk>    \setlength\topmargin{.75in}
1383 %<11pt&bk>    \setlength\topmargin{.73in}
1384 %<12pt&bk>    \setlength\topmargin{.73in}
1385   \fi
1386 %</yoko>
1387 %<*tate>
1388   \if@stysize
1389     \ifnum\c@@paper=2 % A5
1390       \setlength\topmargin{.8in}
1391     \else % A4, B4, B5 and other
1392       \setlength\topmargin{32mm}
1393     \fi
1394   \else
1395     \setlength\topmargin{32mm}
1396   \fi
1397   \addtolength\topmargin{-1in}
1398   \addtolength\topmargin{-\headheight}
1399   \addtolength\topmargin{-\headsep}
1400 %</tate>
1401 %    \end{macrocode}
1402 % 2eモードの場合:
1403 %    \begin{macrocode}
1404 \else
1405   \setlength\topmargin{\paperheight}
1406   \addtolength\topmargin{-\headheight}
1407   \addtolength\topmargin{-\headsep}
1408 %<tate>  \addtolength\topmargin{-\textwidth}
1409 %<yoko>  \addtolength\topmargin{-\textheight}
1410   \addtolength\topmargin{-\footskip}
1411 %    \end{macrocode}
1412 % \changes{v1.1e}{1997/04/08}{横組クラスでの調整量を
1413 %      -2.4インチから-2.0インチにした。}
1414 % \changes{v1.1j}{1998/02/03}{互換モード時のa5pのトップマージンを0.7in増加}
1415 %    \begin{macrocode}
1416   \if@stysize
1417     \ifnum\c@@paper=2 % A5
1418       \addtolength\topmargin{-1.3in}
1419     \else
1420       \addtolength\topmargin{-2.0in}
1421     \fi
1422   \else
1423 %<yoko>    \addtolength\topmargin{-2.0in}
1424 %<tate>    \addtolength\topmargin{-2.8in}
1425   \fi
1426 %    \end{macrocode}
1427 % \changes{v1.1d}{1997/02/05}{\cs{tompargin}を半分にするのはアキ領域の計算後}
1428 % \changes{v1.1r}{1999/08/09}{\cs{if@stysize}フラグに限らず半分にする}
1429 %    \begin{macrocode}
1430   \addtolength\topmargin{-.5\topmargin}
1431 \fi
1432 \@settopoint\topmargin
1433 %    \end{macrocode}
1434 % \end{macro}
1435 %
1436 % \begin{macro}{\marginparsep}
1437 % \begin{macro}{\marginparpush}
1438 % |\marginparsep|は、本文と傍注の間にあけるスペースの幅です。
1439 % 横組では本文の左(右)端と傍注、
1440 % 縦組では本文の下(上)端と傍注の間になります。
1441 % |\marginparpush|は、傍注と傍注との間のスペースの幅です。
1442 %    \begin{macrocode}
1443 \if@twocolumn
1444   \setlength\marginparsep{10\p@}
1445 \else
1446 %<tate>  \setlength\marginparsep{15\p@}
1447 %<yoko>  \setlength\marginparsep{10\p@}
1448 \fi
1449 %<tate>\setlength\marginparpush{7\p@}
1450 %<*yoko>
1451 %<10pt>\setlength\marginparpush{5\p@}
1452 %<11pt>\setlength\marginparpush{5\p@}
1453 %<12pt>\setlength\marginparpush{7\p@}
1454 %</yoko>
1455 %    \end{macrocode}
1456 % \end{macro}
1457 % \end{macro}
1458 %
1459 % \begin{macro}{\oddsidemargin}
1460 % \begin{macro}{\evensidemargin}
1461 % \begin{macro}{\marginparwidth}
1462 % まず、互換モードでの長さを示します。
1463 %
1464 % 互換モード、縦組の場合:
1465 %    \begin{macrocode}
1466 \if@compatibility
1467 %<tate>   \setlength\oddsidemargin{0\p@}
1468 %<tate>   \setlength\evensidemargin{0\p@}
1469 %    \end{macrocode}
1470 % 互換モード、横組、bookクラスの場合:
1471 %    \begin{macrocode}
1472 %<*yoko>
1473 %<*bk>
1474 %<10pt>    \setlength\oddsidemargin   {.5in}
1475 %<11pt>    \setlength\oddsidemargin   {.25in}
1476 %<12pt>    \setlength\oddsidemargin   {.25in}
1477 %<10pt>    \setlength\evensidemargin  {1.5in}
1478 %<11pt>    \setlength\evensidemargin  {1.25in}
1479 %<12pt>    \setlength\evensidemargin  {1.25in}
1480 %<10pt>    \setlength\marginparwidth {.75in}
1481 %<11pt>    \setlength\marginparwidth {1in}
1482 %<12pt>    \setlength\marginparwidth {1in}
1483 %</bk>
1484 %    \end{macrocode}
1485 % 互換モード、横組、reportとarticleクラスの場合:
1486 %    \begin{macrocode}
1487 %<*!bk>
1488     \if@twoside
1489 %<10pt>      \setlength\oddsidemargin   {44\p@}
1490 %<11pt>      \setlength\oddsidemargin   {36\p@}
1491 %<12pt>      \setlength\oddsidemargin   {21\p@}
1492 %<10pt>      \setlength\evensidemargin  {82\p@}
1493 %<11pt>      \setlength\evensidemargin  {74\p@}
1494 %<12pt>      \setlength\evensidemargin  {59\p@}
1495 %<10pt>      \setlength\marginparwidth {107\p@}
1496 %<11pt>      \setlength\marginparwidth {100\p@}
1497 %<12pt>      \setlength\marginparwidth {85\p@}
1498     \else
1499 %<10pt>     \setlength\oddsidemargin   {60\p@}
1500 %<11pt>     \setlength\oddsidemargin   {54\p@}
1501 %<12pt>     \setlength\oddsidemargin   {39.5\p@}
1502 %<10pt>     \setlength\evensidemargin  {60\p@}
1503 %<11pt>     \setlength\evensidemargin  {54\p@}
1504 %<12pt>     \setlength\evensidemargin  {39.5\p@}
1505 %<10pt>     \setlength\marginparwidth  {90\p@}
1506 %<11pt>     \setlength\marginparwidth  {83\p@}
1507 %<12pt>     \setlength\marginparwidth  {68\p@}
1508   \fi
1509 %</!bk>
1510 %    \end{macrocode}
1511 % 互換モード、横組、二段組の場合:
1512 %    \begin{macrocode}
1513   \if@twocolumn
1514      \setlength\oddsidemargin  {30\p@}
1515      \setlength\evensidemargin {30\p@}
1516      \setlength\marginparwidth {48\p@}
1517   \fi
1518 %</yoko>
1519 %    \end{macrocode}
1520 % 縦組、横組にかかわらず、スタイルオプション設定ではゼロです。
1521 % \changes{v1.0g}{1997/01/25}{\cs{oddsidemargin}, \cs{evensidemagin}:
1522 %    0pt if specified papersize at \cs{documentstyle} option.}
1523 %    \begin{macrocode}
1524   \if@stysize
1525     \if@twocolumn\else
1526       \setlength\oddsidemargin{0\p@}
1527       \setlength\evensidemargin{0\p@}
1528     \fi
1529   \fi
1530 %    \end{macrocode}
1531 %
1532 % 互換モードでない場合:
1533 %    \begin{macrocode}
1534 \else
1535   \setlength\@tempdima{\paperwidth}
1536 %<tate>  \addtolength\@tempdima{-\textheight}
1537 %<yoko>  \addtolength\@tempdima{-\textwidth}
1538 %    \end{macrocode}
1539 %
1540 % |\oddsidemargin|を計算します。
1541 %    \begin{macrocode}
1542   \if@twoside
1543 %<tate>    \setlength\oddsidemargin{.6\@tempdima}
1544 %<yoko>    \setlength\oddsidemargin{.4\@tempdima}
1545   \else
1546     \setlength\oddsidemargin{.5\@tempdima}
1547   \fi
1548   \addtolength\oddsidemargin{-1in}
1549 %    \end{macrocode}
1550 % \changes{v1.1p}{1999/1/6}{\cs{oddsidemargin}のポイントへの変換を後ろに}
1551 % |\evensidemargin|を計算します。
1552 %    \begin{macrocode}
1553   \setlength\evensidemargin{\paperwidth}
1554   \addtolength\evensidemargin{-2in}
1555 %<tate>  \addtolength\evensidemargin{-\textheight}
1556 %<yoko>  \addtolength\evensidemargin{-\textwidth}
1557   \addtolength\evensidemargin{-\oddsidemargin}
1558   \@settopoint\oddsidemargin % 1999.1.6
1559   \@settopoint\evensidemargin
1560 %    \end{macrocode}
1561 % |\marginparwidth|を計算します。
1562 % ここで、|\@tempdima|の値は、\linebreak
1563 % |\paperwidth| $-$ |\textwidth|です。
1564 % \changes{v1.1d}{1995/11/24}{\break typo: \cs{marginmarwidth} to \cs{marginparwidth}}
1565 %    \begin{macrocode}
1566 %<*yoko>
1567   \if@twoside
1568     \setlength\marginparwidth{.6\@tempdima}
1569     \addtolength\marginparwidth{-.4in}
1570   \else
1571     \setlength\marginparwidth{.5\@tempdima}
1572     \addtolength\marginparwidth{-.4in}
1573   \fi
1574   \ifdim \marginparwidth >2in
1575     \setlength\marginparwidth{2in}
1576   \fi
1577 %</yoko>
1578 %    \end{macrocode}
1579 %
1580 % 縦組の場合は、少し複雑です。
1581 %    \begin{macrocode}
1582 %<*tate>
1583   \setlength\@tempdima{\paperheight}
1584   \addtolength\@tempdima{-\textwidth}
1585   \addtolength\@tempdima{-\topmargin}
1586   \addtolength\@tempdima{-\headheight}
1587   \addtolength\@tempdima{-\headsep}
1588   \addtolength\@tempdima{-\footskip}
1589   \setlength\marginparwidth{.5\@tempdima}
1590 %</tate>
1591   \@settopoint\marginparwidth
1592 \fi
1593 %    \end{macrocode}
1594 % \end{macro}
1595 % \end{macro}
1596 % \end{macro}
1597 %
1598 %
1599 % \subsection{脚注}
1600 %
1601 % \begin{macro}{\footnotesep}
1602 % |\footnotesep|は、それぞれの脚注の先頭に置かれる``支柱''の高さです。
1603 % このクラスでは、通常の|\footnotesize|の支柱と同じ長さですので、
1604 % 脚注間に余計な空白は入りません。
1605 %    \begin{macrocode}
1606 %<10pt>\setlength\footnotesep{6.65\p@}
1607 %<11pt>\setlength\footnotesep{7.7\p@}
1608 %<12pt>\setlength\footnotesep{8.4\p@}
1609 %    \end{macrocode}
1610 % \end{macro}
1611 %
1612 % \begin{macro}{\footins}
1613 % |\skip\footins|は、本文の最終行と最初の脚注との間の距離です。
1614 %    \begin{macrocode}
1615 %<10pt>\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@}
1616 %<11pt>\setlength{\skip\footins}{10\p@ \@plus 4\p@ \@minus 2\p@}
1617 %<12pt>\setlength{\skip\footins}{10.8\p@ \@plus 4\p@ \@minus 2\p@}
1618 %    \end{macrocode}
1619 % \end{macro}
1620 %
1621 % \subsection{フロート}
1622 % すべてのフロートパラメータは、\LaTeX{}のカーネルでデフォルトが定義
1623 % されています。そのため、カウンタ以外のパラメータは|\renewcommand|で
1624 % 設定する必要があります。
1625 %
1626 % \subsubsection{フロートパラメータ}
1627 %
1628 % \begin{macro}{\floatsep}
1629 % \begin{macro}{\textfloatsep}
1630 % \begin{macro}{\intextsep}
1631 % フロートオブジェクトが本文のあるページに置かれるとき、
1632 % フロートとそのページにある別のオブジェクトの距離は、
1633 % これらのパラメータで制御されます。これらのパラメータは、一段組モードと
1634 % 二段組モードの段抜きでないフロートの両方で使われます。
1635 %
1636 % |\floatsep|は、ページ上部あるいは下部のフロート間の距離です。
1637 %
1638 % |\textfloatsep|は、ページ上部あるいは下部のフロートと本文との距離です。
1639 %
1640 % |\intextsep|は、本文の途中に出力されるフロートと本文との距離です。
1641 %    \begin{macrocode}
1642 %<*10pt>
1643 \setlength\floatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}
1644 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1645 \setlength\intextsep   {12\p@ \@plus 2\p@ \@minus 2\p@}
1646 %</10pt>
1647 %<*11pt>
1648 \setlength\floatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}
1649 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1650 \setlength\intextsep   {12\p@ \@plus 2\p@ \@minus 2\p@}
1651 %</11pt>
1652 %<*12pt>
1653 \setlength\floatsep    {12\p@ \@plus 2\p@ \@minus 4\p@}
1654 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1655 \setlength\intextsep   {14\p@ \@plus 4\p@ \@minus 4\p@}
1656 %</12pt>
1657 %    \end{macrocode}
1658 % \end{macro}
1659 % \end{macro}
1660 % \end{macro}
1661 %
1662 % \begin{macro}{\dblfloatsep}
1663 % \begin{macro}{\dbltextfloatsep}
1664 % 二段組モードで、|\textwidth|の幅を持つ、段抜きのフロートオブジェクトが
1665 % 本文と同じページに置かれるとき、本文とフロートとの距離は、
1666 % |\dblfloatsep|と|\dbltextfloatsep|によって制御されます。
1667 %
1668 % |\dblfloatsep|は、ページ上部あるいは下部のフロートと本文との距離です。
1669 %
1670 % |\dbltextfloatsep|は、ページ上部あるいは下部のフロート間の距離です。
1671 %    \begin{macrocode}
1672 %<*10pt>
1673 \setlength\dblfloatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}
1674 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1675 %</10pt>
1676 %<*11pt>
1677 \setlength\dblfloatsep    {12\p@ \@plus 2\p@ \@minus 2\p@}
1678 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1679 %</11pt>
1680 %<*12pt>
1681 \setlength\dblfloatsep    {14\p@ \@plus 2\p@ \@minus 4\p@}
1682 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1683 %</12pt>
1684 %    \end{macrocode}
1685 % \end{macro}
1686 % \end{macro}
1687 %
1688 % \begin{macro}{\@fptop}
1689 % \begin{macro}{\@fpsep}
1690 % \begin{macro}{\@fpbot}
1691 % フロートオブジェクトが、独立したページに置かれるとき、
1692 % このページのレイアウトは、次のパラメータで制御されます。
1693 % これらのパラメータは、一段組モードか、二段組モードでの一段出力の
1694 % フロートオブジェクトに対して使われます。
1695 %
1696 % ページ上部では、|\@fptop|の伸縮長が挿入されます。
1697 % ページ下部では、|\@fpbot|の伸縮長が挿入されます。
1698 % フロート間には|\@fpsep|が挿入されます。
1699 %
1700 % なお、そのページを空白で満たすために、|\@fptop|と|\@fpbot|の
1701 % 少なくともどちらか一方に、|plus ...fil|を含めてください。
1702 %    \begin{macrocode}
1703 %<*10pt>
1704 \setlength\@fptop{0\p@ \@plus 1fil}
1705 \setlength\@fpsep{8\p@ \@plus 2fil}
1706 \setlength\@fpbot{0\p@ \@plus 1fil}
1707 %</10pt>
1708 %<*11pt>
1709 \setlength\@fptop{0\p@ \@plus 1fil}
1710 \setlength\@fpsep{8\p@ \@plus 2fil}
1711 \setlength\@fpbot{0\p@ \@plus 1fil}
1712 %</11pt>
1713 %<*12pt>
1714 \setlength\@fptop{0\p@ \@plus 1fil}
1715 \setlength\@fpsep{10\p@ \@plus 2fil}
1716 \setlength\@fpbot{0\p@ \@plus 1fil}
1717 %</12pt>
1718 %    \end{macrocode}
1719 % \end{macro}
1720 % \end{macro}
1721 % \end{macro}
1722 %
1723 % \begin{macro}{\@dblfptop}
1724 % \begin{macro}{\@dblfpsep}
1725 % \begin{macro}{\@dblfpbot}
1726 % 二段組モードでの二段抜きのフロートに対しては、
1727 % これらのパラメータが使われます。
1728 %    \begin{macrocode}
1729 %<*10pt>
1730 \setlength\@dblfptop{0\p@ \@plus 1fil}
1731 \setlength\@dblfpsep{8\p@ \@plus 2fil}
1732 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1733 %</10pt>
1734 %<*11pt>
1735 \setlength\@dblfptop{0\p@ \@plus 1fil}
1736 \setlength\@dblfpsep{8\p@ \@plus 2fil}
1737 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1738 %</11pt>
1739 %<*12pt>
1740 \setlength\@dblfptop{0\p@ \@plus 1fil}
1741 \setlength\@dblfpsep{10\p@ \@plus 2fil}
1742 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1743 %</12pt>
1744 %</10pt|11pt|12pt>
1745 %    \end{macrocode}
1746 % \end{macro}
1747 % \end{macro}
1748 % \end{macro}
1749 %
1750 % \subsubsection{フロートオブジェクトの上限値}
1751 %
1752 % \begin{macro}{\c@topnumber}
1753 % \Lcount{topnumber}は、本文ページの上部に出力できるフロートの最大数です。
1754 %    \begin{macrocode}
1755 %<*article|report|book>
1756 \setcounter{topnumber}{2}
1757 %    \end{macrocode}
1758 % \end{macro}
1759 %
1760 % \begin{macro}{\c@bottomnumber}
1761 % \Lcount{bottomnumber}は、本文ページの下部に出力できるフロートの最大数です。
1762 %    \begin{macrocode}
1763 \setcounter{bottomnumber}{1}
1764 %    \end{macrocode}
1765 % \end{macro}
1766 %
1767 % \begin{macro}{\c@totalnumber}
1768 % \Lcount{totalnumber}は、本文ページに出力できるフロートの最大数です。
1769 %    \begin{macrocode}
1770 \setcounter{totalnumber}{3}
1771 %    \end{macrocode}
1772 % \end{macro}
1773 %
1774 % \begin{macro}{\c@dbltopnumber}
1775 % \Lcount{dbltopnumber}は、二段組時における、本文ページの上部に出力できる
1776 % 段抜きのフロートの最大数です。
1777 %    \begin{macrocode}
1778 \setcounter{dbltopnumber}{2}
1779 %    \end{macrocode}
1780 % \end{macro}
1781 %
1782 % \begin{macro}{\topfraction}
1783 % これは、本文ページの上部に出力されるフロートが占有できる最大の割り合いです。
1784 %    \begin{macrocode}
1785 \renewcommand{\topfraction}{.7}
1786 %    \end{macrocode}
1787 % \end{macro}
1788 %
1789 % \begin{macro}{\bottomfraction}
1790 % これは、本文ページの下部に出力されるフロートが占有できる最大の割り合いです。
1791 %    \begin{macrocode}
1792 \renewcommand{\bottomfraction}{.3}
1793 %    \end{macrocode}
1794 % \end{macro}
1795 %
1796 % \begin{macro}{\textfraction}
1797 % これは、本文ページに最低限、入らなくてはならない本文の割り合いです。
1798 %    \begin{macrocode}
1799 \renewcommand{\textfraction}{.2}
1800 %    \end{macrocode}
1801 % \end{macro}
1802 %
1803 % \begin{macro}{\floatpagefraction}
1804 % これは、フロートだけのページで最低限、入らなくてはならない
1805 % フロートの割り合いです。
1806 %    \begin{macrocode}
1807 \renewcommand{\floatpagefraction}{.5}
1808 %    \end{macrocode}
1809 % \end{macro}
1810 %
1811 % \begin{macro}{\dbltopfraction}
1812 % これは、2段組時における本文ページに、
1813 % 2段抜きのフロートが占めることができる最大の割り合いです。
1814 %    \begin{macrocode}
1815 \renewcommand{\dbltopfraction}{.7}
1816 %    \end{macrocode}
1817 % \end{macro}
1818 %
1819 % \begin{macro}{\dblfloatpagefraction}
1820 % これは、2段組時におけるフロートだけのページに最低限、
1821 % 入らなくてはならない2段抜きのフロートの割り合いです。
1822 %    \begin{macrocode}
1823 \renewcommand{\dblfloatpagefraction}{.5}
1824 %    \end{macrocode}
1825 % \end{macro}
1826 %
1827 %
1828 % \section{改ページ(日本語\TeX{}開発コミュニティ版のみ)}\label{sec:cleardoublepage}
1829 %
1830 % \begin{macro}{\pltx@cleartorightpage}
1831 % \begin{macro}{\pltx@cleartoleftpage}
1832 % \begin{macro}{\pltx@cleartooddpage}
1833 % \begin{macro}{\pltx@cleartoevenpage}
1834 % |\cleardoublepage|命令は、\LaTeX{}カーネルでは「奇数ページになるまでページを
1835 % 繰る命令」として定義されています。しかしp\LaTeX{}カーネルでは、アスキーの方針
1836 % により「横組では奇数ページになるまで、縦組では偶数ページになるまでページを
1837 % 繰る命令」に再定義されています。すなわち、p\LaTeX{}では縦組でも横組でも
1838 % 右ページになるまでページを繰ることになります。
1839 %
1840 % p\LaTeX{}標準クラスのbookは、横組も縦組も|openright|がデフォルトになっていて、
1841 % これは従来p\LaTeX{}カーネルで定義された|\cleardoublepage|を利用していました。
1842 % しかし、縦組で奇数ページ始まりの文書を作りたい場合もあるでしょうから、
1843 % コミュニティ版クラスでは以下の(非ユーザ向け)命令を追加します。
1844 % \begin{enumerate}
1845 %   \item|\pltx@cleartorightpage|:右ページになるまでページを繰る命令
1846 %   \item|\pltx@cleartoleftpage|:左ページになるまでページを繰る命令
1847 %   \item|\pltx@cleartooddpage|:奇数ページになるまでページを繰る命令
1848 %   \item|\pltx@cleartoevenpage|:偶数ページになるまでページを繰る命令
1849 % \end{enumerate}
1850 % \changes{v1.7d}{2017/02/15}{\cs{cleardoublepage}の代用となる命令群を追加}
1851 % \changes{v1.7d-ltj-14}{2017/02/20}{\cs{iftdir}, \cs{ifydir}を使わないように修正}
1852 %    \begin{macrocode}
1853 \def\pltx@cleartorightpage{\clearpage\if@twoside
1854   \unless\ifodd\numexpr\c@page+\ltjgetparameter{direction}\relax
1855     \hbox{}\thispagestyle{empty}\newpage
1856     \if@twocolumn\hbox{}\newpage\fi
1857   \fi\fi}
1858 \def\pltx@cleartoleftpage{\clearpage\if@twoside
1859   \ifodd\numexpr\c@page+\ltjgetparameter{direction}\relax
1860     \hbox{}\thispagestyle{empty}\newpage
1861     \if@twocolumn\hbox{}\newpage\fi
1862   \fi\fi}
1863 %    \end{macrocode}
1864 %
1865 % |\pltx@cleartooddpage|は\LaTeX{}の|\cleardoublepage|に似ていますが、
1866 % 上の2つに合わせるため|\thispagestyle{empty}|を追加してあります。
1867 %    \begin{macrocode}
1868 \def\pltx@cleartooddpage{\clearpage\if@twoside
1869   \ifodd\c@page\else
1870     \hbox{}\thispagestyle{empty}\newpage
1871     \if@twocolumn\hbox{}\newpage\fi
1872   \fi\fi}
1873 \def\pltx@cleartoevenpage{\clearpage\if@twoside
1874   \ifodd\c@page
1875     \hbox{}\thispagestyle{empty}\newpage
1876     \if@twocolumn\hbox{}\newpage\fi
1877   \fi\fi}
1878 %    \end{macrocode}
1879 % \end{macro}
1880 % \end{macro}
1881 % \end{macro}
1882 % \end{macro}
1883 %
1884 % \begin{macro}{\cleardoublepage}
1885 % そしてreportとbookクラスの場合は、ユーザ向け命令である|\cleardoublepage|を、
1886 % |openright|オプションが指定されている場合は|\pltx@cleartorightpage|に、
1887 % |openleft|オプションが指定されている場合は|\pltx@cleartoleftpage|に、
1888 % それぞれ|\let|します。|openany|の場合はp\LaTeX{}カーネルの定義のままです。
1889 %    \begin{macrocode}
1890 %<*!article>
1891 \if@openleft
1892   \let\cleardoublepage\pltx@cleartoleftpage
1893 \else\if@openright
1894   \let\cleardoublepage\pltx@cleartorightpage
1895 \fi\fi
1896 %</!article>
1897 %    \end{macrocode}
1898 % \end{macro}
1899 %
1900 %
1901 %
1902 % \section{ページスタイル}\label{sec:pagestyle}
1903 % つぎの6種類のページスタイルを使用できます。
1904 % \pstyle{empty}は\file{ltpage.dtx}で定義されています。
1905 %
1906 % \begin{tabular}{ll}
1907 % empty      & ヘッダにもフッタにも出力しない\\
1908 % plain      & フッタにページ番号のみを出力する\\
1909 % headnombre & ヘッダにページ番号のみを出力する\\
1910 % footnombre & フッタにページ番号のみを出力する\\
1911 % headings   & ヘッダに見出しとページ番号を出力する\\
1912 % bothstyle  & ヘッダに見出し、フッタにページ番号を出力する\\
1913 % \end{tabular}
1914 %
1915 % ページスタイル\pstyle{foo}は、|\ps@foo|コマンドとして定義されます。
1916 %
1917 % \begin{macro}{\@evenhead}
1918 % \begin{macro}{\@oddhead}
1919 % \begin{macro}{\@evenfoot}
1920 % \begin{macro}{\@oddfoot}
1921 % これらは|\ps@...|から呼び出され、ヘッダとフッタを出力するマクロです。
1922 %
1923 % \DeleteShortVerb{\|}
1924 % \begin{tabular}{ll}
1925 %   \cs{@oddhead} & 奇数ページのヘッダを出力\\
1926 %   \cs{@oddfoot} & 奇数ページのフッタを出力\\
1927 %   \cs{@evenhead} & 偶数ページのヘッダを出力\\
1928 %   \cs{@evenfoot} & 偶数ページのフッタを出力\\
1929 % \end{tabular}
1930 % \MakeShortVerb{\|}
1931 %
1932 % これらの内容は、横組の場合は|\textwidth|の幅を持つ|\hbox|に入れられ、
1933 % 縦組の場合は|\textheight|の幅を持つ|\hbox|に入れられます。
1934 % \end{macro}
1935 % \end{macro}
1936 % \end{macro}
1937 % \end{macro}
1938 %
1939 % \subsection{マークについて}
1940 % ヘッダに入る章番号や章見出しは、見出しコマンドで実行されるマークコマンドで
1941 % 決定されます。ここでは、実行されるマークコマンドの定義を行なっています。
1942 % これらのマークコマンドは、\TeX{}の|\mark|機能を用いて、
1943 % `left'と`right'の2種類のマークを生成するように定義しています。
1944 %
1945 % \begin{flushleft}
1946 % |\markboth{|\meta{LEFT}|}{|\meta{RIGHT}|}|: 両方のマークに追加します。
1947 %
1948 % |\markright{|\meta{RIGHT}|}|: `右'マークに追加します。
1949 %
1950 % |\leftmark|: |\@oddhead|, |\@oddfoot|, |\@evenhead|, |\@evenfoot|マクロで
1951 %     使われ、現在の``左''マークを出力します。
1952 %     |\leftmark|は\TeX{}の|\botmark|コマンドのような働きをします。
1953 %     初期値は空でなくてはいけません。
1954 %
1955 % |\rightmark|: |\@oddhead|, |\@oddfoot|, |\@evenhead|, |\@evenfoot|マクロで
1956 %     使われ、現在の``右''マークを出力します。
1957 %     |\rightmark|は\TeX{}の|\firstmark|コマンドのような働きをします。
1958 %     初期値は空でなくてはいけません。
1959 % \end{flushleft}
1960 %
1961 % マークコマンドの動作は、左マークの`範囲内の'右マークのために
1962 % 合理的になっています。たとえば、左マークは|\chapter|コマンドによって
1963 % 変更されます。そして右マークは|\section|コマンドによって変更されます。
1964 % しかし、同一ページに複数の|\markboth|コマンドが現れたとき、
1965 % おかしな結果となることがあります。
1966 %
1967 % |\tableofcontents|のようなコマンドは、|\@mkboth|コマンドを用いて、
1968 % あるページスタイルの中でマークを設定しなくてはなりません。
1969 % |\@mkboth|は、|\ps@...|コマンドによって、|\markboth|(ヘッダを設定する)か、
1970 % |\@gobbletwo|(何もしない)に|\let|されます。
1971 %
1972 % \changes{v1.0a}{1995/08/30}{柱の書体がノンブルに影響するバグの修正}
1973 %
1974 % \subsection{plainページスタイル}
1975 %
1976 % \begin{macro}{\ps@plain}
1977 % \pstyle{jpl@in}に|\let|するために、ここで定義をします。
1978 %    \begin{macrocode}
1979 \def\ps@plain{\let\@mkboth\@gobbletwo
1980    \let\ps@jpl@in\ps@plain
1981    \let\@oddhead\@empty
1982    \def\@oddfoot{\reset@font\hfil\thepage\hfil}%
1983    \let\@evenhead\@empty
1984    \let\@evenfoot\@oddfoot}
1985 %    \end{macrocode}
1986 % \end{macro}
1987 %
1988 % \subsection{jpl@inページスタイル}
1989 %
1990 % \begin{macro}{\ps@jpl@in}
1991 % \changes{v1.0d}{1996/02/29}{\pstyle{jpl@in}の初期値を定義}
1992 %
1993 % \pstyle{jpl@in}スタイルは、クラスファイル内部で使用するものです。
1994 % \LaTeX{}では、bookクラスを\pstyle{headings}としています。
1995 % しかし、\cs{tableofcontents}コマンドの内部では\pstyle{plain}として
1996 % 設定されるため、一つの文書でのページ番号の位置が上下に出力される
1997 % ことになります。
1998 %
1999 % そこで、ここでは\cs{tableofcontents}や\cs{theindex}のページスタイル
2000 % を\pstyle{jpl@in}にし、実際に出力される形式は、ほかのページスタイル
2001 % で|\let|をしています。したがって、\pstyle{headings}のとき、目次ページの
2002 % ページ番号はヘッダ位置に出力され、\pstyle{plain}のときには、フッタ位置に
2003 % 出力されます。
2004 %
2005 % ここで、定義をしているのは、その初期値です。
2006 %    \begin{macrocode}
2007 \let\ps@jpl@in\ps@plain
2008 %    \end{macrocode}
2009 % \end{macro}
2010 %
2011 % \subsection{headnombreページスタイル}
2012 %
2013 % \begin{macro}{\ps@headnombre}
2014 % \pstyle{headnombre}スタイルは、ヘッダにページ番号のみを出力します。
2015 %    \begin{macrocode}
2016 \def\ps@headnombre{\let\@mkboth\@gobbletwo
2017     \let\ps@jpl@in\ps@headnombre
2018 %<yoko>  \def\@evenhead{\thepage\hfil}%
2019 %<yoko>  \def\@oddhead{\hfil\thepage}%
2020 %<tate>  \def\@evenhead{\hfil\thepage}%
2021 %<tate>  \def\@oddhead{\thepage\hfil}%
2022   \let\@oddfoot\@empty\let\@evenfoot\@empty}
2023 %    \end{macrocode}
2024 % \end{macro}
2025 %
2026 % \subsection{footnombreページスタイル}
2027 %
2028 % \begin{macro}{\ps@footnombre}
2029 % \pstyle{footnombre}スタイルは、フッタにページ番号のみを出力します。
2030 %    \begin{macrocode}
2031 \def\ps@footnombre{\let\@mkboth\@gobbletwo
2032     \let\ps@jpl@in\ps@footnombre
2033 %<yoko>  \def\@evenfoot{\thepage\hfil}%
2034 %<yoko>  \def\@oddfoot{\hfil\thepage}%
2035 %<tate>  \def\@evenfoot{\hfil\thepage}%
2036 %<tate>  \def\@oddfoot{\thepage\hfil}%
2037   \let\@oddhead\@empty\let\@evenhead\@empty}
2038 %    \end{macrocode}
2039 % \end{macro}
2040 %
2041 % \subsection{headingsスタイル}
2042 % \pstyle{headings}スタイルは、ヘッダに見出しとページ番号を出力します。
2043 %
2044 % \begin{macro}{\ps@headings}
2045 % このスタイルは、両面印刷と片面印刷とで形式が異なります。
2046 %    \begin{macrocode}
2047 \if@twoside
2048 %    \end{macrocode}
2049 % 横組の場合は、奇数ページが右に、偶数ページが左にきます。
2050 % 縦組の場合は、奇数ページが左に、偶数ページが右にきます。
2051 %    \begin{macrocode}
2052   \def\ps@headings{\let\ps@jpl@in\ps@headnombre
2053     \let\@oddfoot\@empty\let\@evenfoot\@empty
2054 %<yoko>    \def\@evenhead{\thepage\hfil\leftmark}%
2055 %<yoko>    \def\@oddhead{{\rightmark}\hfil\thepage}%
2056 %<tate>    \def\@evenhead{{\leftmark}\hfil\thepage}%
2057 %<tate>    \def\@oddhead{\thepage\hfil\rightmark}%
2058     \let\@mkboth\markboth
2059 %<*article>
2060     \def\sectionmark##1{\markboth{%
2061        \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
2062        ##1}{}}%
2063     \def\subsectionmark##1{\markright{%
2064        \ifnum \c@secnumdepth >\@ne \thesubsection.\hskip1\zw\fi
2065        ##1}}%
2066 %</article>
2067 %<*report|book>
2068   \def\chaptermark##1{\markboth{%
2069      \ifnum \c@secnumdepth >\m@ne
2070 %<book>       \if@mainmatter
2071          \@chapapp\thechapter\@chappos\hskip1\zw
2072 %<book>       \fi
2073      \fi
2074      ##1}{}}%
2075   \def\sectionmark##1{\markright{%
2076      \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
2077      ##1}}%
2078 %</report|book>
2079   }
2080 %    \end{macrocode}
2081 % 片面印刷の場合:
2082 % \changes{v1.1g}{1997/08/25}{片面印刷のとき、sectionレベルが出力されない
2083 %      のを修正}
2084 %    \begin{macrocode}
2085 \else % if not twoside
2086   \def\ps@headings{\let\ps@jpl@in\ps@headnombre
2087     \let\@oddfoot\@empty
2088 %<yoko>    \def\@oddhead{{\rightmark}\hfil\thepage}%
2089 %<tate>    \def\@oddhead{\thepage\hfil\rightmark}%
2090     \let\@mkboth\markboth
2091 %<*article>
2092   \def\sectionmark##1{\markright{%
2093      \ifnum \c@secnumdepth >\m@ne \thesection.\hskip1\zw\fi
2094      ##1}}%
2095 %</article>
2096 %<*report|book>
2097 \def\chaptermark##1{\markright{%
2098    \ifnum \c@secnumdepth >\m@ne
2099 %<book>     \if@mainmatter
2100        \@chapapp\thechapter\@chappos\hskip1\zw
2101 %<book>     \fi
2102    \fi
2103    ##1}}%
2104 %</report|book>
2105   }
2106 \fi
2107 %    \end{macrocode}
2108 % \end{macro}
2109 %
2110 % \subsection{bothstyleスタイル}
2111 %
2112 % \begin{macro}{\ps@bothstyle}
2113 % \pstyle{bothstyle}スタイルは、
2114 % ヘッダに見出しを、フッタにページ番号を出力します。
2115 %
2116 % このスタイルは、両面印刷と片面印刷とで形式が異なります。
2117 % \changes{v1.0d}{1995/08/23}{横組のevenfootが中央揃えになっていたのを修正}
2118 % \changes{v1.0d}{1996/03/05}{横組で偶数ページと奇数ページの設定が逆なのを修正}
2119 %    \begin{macrocode}
2120 \if@twoside
2121   \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
2122 %<*yoko>
2123     \def\@evenhead{\leftmark\hfil}% right page
2124     \def\@evenfoot{\thepage\hfil}% right page
2125     \def\@oddhead{\hfil\rightmark}% left page
2126     \def\@oddfoot{\hfil\thepage}% left page
2127 %</yoko>
2128 %<*tate>
2129     \def\@evenhead{\hfil\leftmark}% right page
2130     \def\@evenfoot{\hfil\thepage}% right page
2131     \def\@oddhead{\rightmark\hfil}% left page
2132     \def\@oddfoot{\thepage\hfil}% left page
2133 %</tate>
2134   \let\@mkboth\markboth
2135 %<*article>
2136   \def\sectionmark##1{\markboth{%
2137      \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
2138      ##1}{}}%
2139   \def\subsectionmark##1{\markright{%
2140      \ifnum \c@secnumdepth >\@ne \thesubsection.\hskip1\zw\fi
2141      ##1}}%
2142 %</article>
2143 %<*report|book>
2144 \def\chaptermark##1{\markboth{%
2145      \ifnum \c@secnumdepth >\m@ne
2146 %<book>       \if@mainmatter
2147          \@chapapp\thechapter\@chappos\hskip1\zw
2148 %<book>       \fi
2149      \fi
2150      ##1}{}}%
2151   \def\sectionmark##1{\markright{%
2152      \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
2153      ##1}}%
2154 %</report|book>
2155   }
2156 %    \end{macrocode}
2157 % \changes{v1.1g}{1997/08/25}{片面印刷のとき、sectionレベルが出力されない
2158 %      のを修正}
2159 % \changes{v1.1i}{1997/12/12}{report, bookクラスで片面印刷時に、
2160 %      bothstyleスタイルにすると、コンパイルエラーになるのを修正}
2161 %    \begin{macrocode}
2162 \else % if one column
2163   \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
2164 %<yoko>    \def\@oddhead{\hfil\rightmark}%
2165 %<yoko>    \def\@oddfoot{\hfil\thepage}%
2166 %<tate>    \def\@oddhead{\rightmark\hfil}%
2167 %<tate>    \def\@oddfoot{\thepage\hfil}%
2168     \let\@mkboth\markboth
2169 %<*article>
2170   \def\sectionmark##1{\markright{%
2171      \ifnum \c@secnumdepth >\m@ne \thesection.\hskip1\zw\fi
2172      ##1}}%
2173 %</article>
2174 %<*report|book>
2175   \def\chaptermark##1{\markright{%
2176      \ifnum \c@secnumdepth >\m@ne
2177 %<book>       \if@mainmatter
2178          \@chapapp\thechapter\@chappos\hskip1\zw
2179 %<book>       \fi
2180      \fi
2181      ##1}}%
2182 %</report|book>
2183   }
2184 \fi
2185 %    \end{macrocode}
2186 % \end{macro}
2187 %
2188 % \subsection{myheadingスタイル}
2189 %
2190 % \begin{macro}{\ps@myheadings}
2191 % \changes{v1.0d}{1995/08/23}{横組モードの左右が逆であったのを修正}
2192 % \pstyle{myheadings}ページスタイルは簡潔に定義されています。
2193 % ユーザがページスタイルを設計するときのヒナ型として使用することができます。
2194 %    \begin{macrocode}
2195 \def\ps@myheadings{\let\ps@jpl@in\ps@plain%
2196   \let\@oddfoot\@empty\let\@evenfoot\@empty
2197 %<yoko>  \def\@evenhead{\thepage\hfil\leftmark}%
2198 %<yoko>  \def\@oddhead{{\rightmark}\hfil\thepage}%
2199 %<tate>  \def\@evenhead{{\leftmark}\hfil\thepage}%
2200 %<tate>  \def\@oddhead{\thepage\hfil\rightmark}%
2201   \let\@mkboth\@gobbletwo
2202 %<!article>  \let\chaptermark\@gobble
2203   \let\sectionmark\@gobble
2204 %<article>  \let\subsectionmark\@gobble
2205 }
2206 %    \end{macrocode}
2207 % \end{macro}
2208 %
2209 %
2210 % \section{文書コマンド}
2211 %
2212 % \subsection{表題}
2213 %
2214 % \begin{macro}{\title}
2215 % \begin{macro}{\author}
2216 % \begin{macro}{\date}
2217 % 文書のタイトル、著者、日付の情報のための、
2218 % これらの3つのコマンドは\file{ltsect.dtx}で提供されています。
2219 % これらのコマンドは次のように定義されています。
2220 %    \begin{macrocode}
2221 %\newcommand*{\title}[1]{\gdef\@title{#1}}
2222 %\newcommand*{\author}[1]{\gdef\@author{#1}}
2223 %\newcommand*{\date}[1]{\gdef\@date{#1}}
2224 %    \end{macrocode}
2225 % |\date|マクロのデフォルトは、今日の日付です。
2226 %    \begin{macrocode}
2227 %\date{\today}
2228 %    \end{macrocode}
2229 % \end{macro}
2230 % \end{macro}
2231 % \end{macro}
2232 %
2233 % \begin{environment}{titlepage}
2234 % 通常の環境では、ページの最初と最後を除き、タイトルページ環境は何もしません。
2235 % また、ページ番号の出力を抑制します。レポートスタイルでは、
2236 % ページ番号を1にリセットし、そして最後で1に戻します。
2237 % 互換モードでは、ページ番号はゼロに設定されますが、
2238 % 右起こしページ用のページパラメータでは誤った結果になります。
2239 % 二段組スタイルでも一段組のページが作られます。
2240 %
2241 % \noindent\emph{日本語\TeX{}開発コミュニティによる変更}:
2242 % 上にあるのはアスキー版の説明です。改めてアスキー版の挙動を整理すると、
2243 % 以下のようになります。
2244 % \begin{enumerate}
2245 % \item アスキー版では、タイトルページの番号を必ず1にリセットしていましたが、
2246 %   これは正しくありません。これは、タイトルページが奇数ページ目か偶数ページ目
2247 %   かにかかわらず、レイアウトだけ奇数ページ用が適用されてしまうからです。
2248 %   さらに、タイトルの次のページも偶数のページ番号を持ってしまうため、両面印刷
2249 %   で奇数ページと偶数ページが交互に出なくなるという問題もあります。
2250 % \item アスキー版bookクラスは、タイトルページを必ず|\cleardoublepage|で始めて
2251 %   いました。p\LaTeX{}カーネルでの|\cleardoublepage|の定義から、縦組の既定では
2252 %   タイトルが偶数ページ目に出ることになります。これ自体が正しくないと断定する
2253 %   ことはできませんが、タイトルのページ番号を1にリセットすることと合わさって、
2254 %   偶数ページに送ったタイトルに奇数ページ用レイアウトが適用されてしまうという
2255 %   結果は正しくありません。
2256 % \end{enumerate}
2257 % そこで、コミュニティ版ではタイトルのレイアウトが必ず奇数ページ用になるという
2258 % 挙動を支持し、bookクラスではタイトルページを奇数ページ目に送ることにしました。
2259 % これでタイトルページが表紙らしく見えるようになります。また、reportクラスの
2260 % ようなタイトルが成り行きに従って出る場合には
2261 % \begin{itemize}
2262 %   \item 奇数ページ目に出る場合、ページ番号を1(奇数)にリセット
2263 %   \item 偶数ページ目に出る場合、ページ番号を0(偶数)にリセット
2264 % \end{itemize}
2265 % としました。
2266 %
2267 % 一つめの例を考えます。
2268 %\begin{verbatim}
2269 %   \documentclass{tbook}
2270 %   \title{タイトル}\author{著者}
2271 %   \begin{document}
2272 %   \maketitle
2273 %   \chapter{チャプター}
2274 %   \end{document}
2275 %\end{verbatim}
2276 % アスキー版tbookクラスでの結果は
2277 %\begin{verbatim}
2278 %   1ページ目:空白(ページ番号1は非表示)
2279 %   2ページ目:タイトル(奇数レイアウト、ページ番号1は非表示)
2280 %   3ページ目:チャプター(偶数レイアウト、ページ番号2)
2281 %\end{verbatim}
2282 % ですが、仮に最初の空白ページさえなければ
2283 %\begin{verbatim}
2284 %   1ページ目:タイトルすなわち表紙(奇数レイアウト、ページ番号1は非表示)
2285 %   2ページ目:チャプター(偶数レイアウト、ページ番号2)
2286 %\end{verbatim}
2287 % とみなせるため、コミュニティ版では空白ページを発生させないようにしました。
2288 %
2289 % 二つめの例を考えます。
2290 %\begin{verbatim}
2291 %   \documentclass{tbook}
2292 %   \title{タイトル}\author{著者}
2293 %   \begin{document}
2294 %   テスト文章
2295 %   \maketitle
2296 %   \chapter{チャプター}
2297 %   \end{document}
2298 %\end{verbatim}
2299 % アスキー版tbookクラスでの結果は
2300 %\begin{verbatim}
2301 %   1ページ目:テスト文章(奇数レイアウト、ページ番号1)
2302 %   2ページ目:タイトル(奇数レイアウト、ページ番号1は非表示)
2303 %   3ページ目:チャプター(偶数レイアウト、ページ番号2)
2304 %\end{verbatim}
2305 % ですが、これでは奇数と偶数のページ番号が交互になっていないので正しく
2306 % ありません。そこで、コミュニティ版では
2307 %\begin{verbatim}
2308 %   1ページ目:テスト文章(奇数レイアウト、ページ番号1)
2309 %   2ページ目:空白ページ(ページ番号2は非表示)
2310 %   3ページ目:タイトル(奇数レイアウト、ページ番号1は非表示)
2311 %   4ページ目:チャプター(偶数レイアウト、ページ番号2)
2312 %\end{verbatim}
2313 % と直しました。
2314 %
2315 % なお、p\LaTeX~2.09互換モードはアスキー版のまま、すなわち「ページ番号をゼロに
2316 % 設定」としてあります。これは、横組の右起こしの挙動としては誤りですが、縦組の
2317 % 右起こしの挙動としては一応正しくなっているといえます。
2318 %
2319 % 最初に互換モードの定義を作ります。
2320 %    \begin{macrocode}
2321 \if@compatibility
2322 \newenvironment{titlepage}
2323     {%
2324 %<book>     \cleardoublepage
2325      \if@twocolumn\@restonecoltrue\onecolumn
2326      \else\@restonecolfalse\newpage\fi
2327      \thispagestyle{empty}%
2328      \setcounter{page}\z@
2329     }%
2330     {\if@restonecol\twocolumn\else\newpage\fi
2331     }
2332 %    \end{macrocode}
2333 %
2334 % そして、\LaTeX{}ネイティブのための定義です。
2335 % \changes{v1.7d}{2017/02/15}{bookクラスでtitlepageを必ず奇数ページ
2336 %   に送るように変更}
2337 % \changes{v1.7d}{2017/02/15}{titlepageのページ番号を奇数ならば1に、
2338 %   偶数ならば0にリセットするように変更}
2339 %    \begin{macrocode}
2340 \else
2341 \newenvironment{titlepage}
2342     {%
2343 %<book>      \pltx@cleartooddpage %% 2017/02/15
2344       \if@twocolumn
2345         \@restonecoltrue\onecolumn
2346       \else
2347         \@restonecolfalse\newpage
2348       \fi
2349       \thispagestyle{empty}%
2350       \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi %% 2017/02/15
2351     }%
2352     {\if@restonecol\twocolumn \else \newpage \fi
2353 %    \end{macrocode}
2354 % 両面モードでなければ、タイトルページの直後のページのページ番号も1に
2355 % します。
2356 %    \begin{macrocode}
2357      \if@twoside\else
2358         \setcounter{page}\@ne
2359      \fi
2360     }
2361 \fi
2362 %    \end{macrocode}
2363 % \end{environment}
2364 %
2365 % \begin{macro}{\maketitle}
2366 % このコマンドは、表題を作成し、出力します。
2367 % 表題ページを独立させるかどうかによって定義が異なります。
2368 % reportとbookクラスのデフォルトは独立した表題です。
2369 % articleクラスはオプションで独立させることができます。
2370 %
2371 % \begin{macro}{\p@thanks}
2372 % 縦組のときは、|\thanks|コマンドを|\p@thanks|に|\let|します。
2373 % このコマンドは|\footnotetext|を使わず、直接、文字を|\@thanks|に格納
2374 % していきます。
2375 %
2376 % 著者名の脇に表示される合印は直立した数字、注釈側は横に寝た数字となっていまし
2377 % たが、不自然なので|\hbox{\yoko ...}|を追加し、両方とも直立するようにしました。
2378 % \changes{v1.7d}{2017/02/15}{縦組クラスの所属表示の番号を直立にした}
2379 %    \begin{macrocode}
2380 \def\p@thanks#1{\footnotemark
2381   \protected@xdef\@thanks{\@thanks
2382     \protect{\noindent\hbox{\yoko$\m@th^\thefootnote$}#1\protect\par}}}
2383 %    \end{macrocode}
2384 % \end{macro}
2385 %
2386 %    \begin{macrocode}
2387 \if@titlepage
2388   \newcommand{\maketitle}{\begin{titlepage}%
2389   \let\footnotesize\small
2390   \let\footnoterule\relax
2391 %<tate>  \let\thanks\p@thanks
2392   \let\footnote\thanks
2393 %    \end{macrocode}
2394 % \changes{v1.1d}{1997/02/12}{縦組クラスの表紙を縦書きにするようにした}
2395 %    \begin{macrocode}
2396 %<tate>  \vbox to\textheight\bgroup\tate\hsize\textwidth
2397   \null\vfil
2398   \vskip 60\p@
2399   \begin{center}%
2400     {\LARGE \@title \par}%
2401     \vskip 3em%
2402     {\Large
2403      \lineskip .75em%
2404       \begin{tabular}[t]{c}%
2405         \@author
2406       \end{tabular}\par}%
2407       \vskip 1.5em%
2408     {\large \@date \par}%       % Set date in \large size.
2409   \end{center}\par
2410 %<tate>  \vfil{\centering\@thanks}\vfil\null
2411 %<tate>  \egroup
2412 %<yoko>  \@thanks\vfil\null
2413   \end{titlepage}%
2414 %    \end{macrocode}
2415 % \Lcount{footnote}カウンタをリセットし、|\thanks|と|\maketitle|コマンドを
2416 % 無効にし、いくつかの内部マクロを空にして格納領域を節約します。
2417 %    \begin{macrocode}
2418   \setcounter{footnote}{0}%
2419   \global\let\thanks\relax
2420   \global\let\maketitle\relax
2421   \global\let\p@thanks\relax
2422   \global\let\@thanks\@empty
2423   \global\let\@author\@empty
2424   \global\let\@date\@empty
2425   \global\let\@title\@empty
2426 %    \end{macrocode}
2427 % タイトルが組版されたら、|\title|コマンドなどの宣言を無効にできます。
2428 % |\and|の定義は、|\author|の引数でのみ使用しますので、破棄します。
2429 %    \begin{macrocode}
2430   \global\let\title\relax
2431   \global\let\author\relax
2432   \global\let\date\relax
2433   \global\let\and\relax
2434   }%
2435 \else
2436   \newcommand{\maketitle}{\par
2437   \begingroup
2438     \renewcommand{\thefootnote}{\fnsymbol{footnote}}%
2439     \def\@makefnmark{\hbox{\unless\ifnum\ltjgetparameter{direction}=3 $\m@th^{\@thefnmark}$
2440       \else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}%
2441 %<*tate>
2442     \long\def\@makefntext##1{\parindent 1\zw\noindent
2443        \hb@xt@ 2\zw{\hss\@makefnmark}##1}%
2444 %</tate>
2445 %<*yoko>
2446      \long\def\@makefntext##1{\parindent 1em\noindent
2447        \hb@xt@1.8em{\hss$\m@th^{\@thefnmark}$}##1}%
2448 %</yoko>
2449     \if@twocolumn
2450       \ifnum \col@number=\@ne \@maketitle
2451       \else \twocolumn[\@maketitle]%
2452       \fi
2453     \else
2454       \newpage
2455       \global\@topnum\z@   % Prevents figures from going at top of page.
2456       \@maketitle
2457     \fi
2458      \thispagestyle{jpl@in}\@thanks
2459 %    \end{macrocode}
2460 % ここでグループを閉じ、\Lcount{footnote}カウンタをリセットし、
2461 % |\thanks|, |\maketitle|, |\@maketitle|を無効にし、
2462 % いくつかの内部マクロを空にして格納領域を節約します。
2463 % \changes{v1.7}{2016/11/12}{ドキュメントに反して\cs{@maketitle}が
2464 %    空になっていなかったのを修正}
2465 %    \begin{macrocode}
2466   \endgroup
2467   \setcounter{footnote}{0}%
2468   \global\let\thanks\relax
2469   \global\let\maketitle\relax
2470   \global\let\@maketitle\relax
2471   \global\let\p@thanks\relax
2472   \global\let\@thanks\@empty
2473   \global\let\@author\@empty
2474   \global\let\@date\@empty
2475   \global\let\@title\@empty
2476   \global\let\title\relax
2477   \global\let\author\relax
2478   \global\let\date\relax
2479   \global\let\and\relax
2480   }
2481 %    \end{macrocode}
2482 % \end{macro}
2483 %
2484 % \begin{macro}{\@maketitle}
2485 % 独立した表題ページを作らない場合の、表題の出力形式です。
2486 %    \begin{macrocode}
2487   \def\@maketitle{%
2488   \newpage\null
2489   \vskip 2em%
2490   \begin{center}%
2491 %<yoko>  \let\footnote\thanks
2492 %<tate>  \let\footnote\p@thanks
2493     {\LARGE \@title \par}%
2494     \vskip 1.5em%
2495     {\large
2496       \lineskip .5em%
2497       \begin{tabular}[t]{c}%
2498         \@author
2499       \end{tabular}\par}%
2500     \vskip 1em%
2501     {\large \@date}%
2502   \end{center}%
2503   \par\vskip 1.5em}
2504 \fi
2505 %    \end{macrocode}
2506 % \end{macro}
2507 %
2508 % \subsection{概要}
2509 %
2510 % \begin{environment}{abstract}
2511 % 要約文のための環境です。bookクラスでは使えません。
2512 % reportスタイルと、|titlepage|オプションを指定したarticleスタイルでは、
2513 % 独立したページに出力されます。
2514 %    \begin{macrocode}
2515 %<*article|report>
2516 \if@titlepage
2517   \newenvironment{abstract}{%
2518       \titlepage
2519       \null\vfil
2520       \@beginparpenalty\@lowpenalty
2521       \begin{center}%
2522         {\bfseries\abstractname}%
2523         \@endparpenalty\@M
2524       \end{center}}%
2525       {\par\vfil\null\endtitlepage}
2526 \else
2527   \newenvironment{abstract}{%
2528     \if@twocolumn
2529       \section*{\abstractname}%
2530     \else
2531       \small
2532       \begin{center}%
2533         {\bfseries\abstractname\vspace{-.5em}\vspace{\z@}}%
2534       \end{center}%
2535       \quotation
2536     \fi}{\if@twocolumn\else\endquotation\fi}
2537 \fi
2538 %</article|report>
2539 %    \end{macrocode}
2540 % \end{environment}
2541 %
2542 %
2543 % \subsection{章見出し}
2544 %
2545 % \subsubsection{マークコマンド}
2546 %
2547 % \begin{macro}{\chaptermark}
2548 % \begin{macro}{\sectionmark}
2549 % \begin{macro}{\subsectionmark}
2550 % \begin{macro}{\subsubsectionmark}
2551 % \begin{macro}{\paragraphmark}
2552 % \begin{macro}{\subparagraphmark}
2553 % |\...mark|コマンドを初期化します。これらのコマンドはページスタイルの
2554 % 定義で使われます(第\ref{sec:pagestyle}節参照)。
2555 % これらのたいていのコマンドは\file{ltsect.dtx}ですでに定義されています。
2556 %    \begin{macrocode}
2557 %<!article>\newcommand*{\chaptermark}[1]{}
2558 %\newcommand*{\sectionmark}[1]{}
2559 %\newcommand*{\subsectionmark}[1]{}
2560 %\newcommand*{\subsubsectionmark}[1]{}
2561 %\newcommand*{\paragraphmark}[1]{}
2562 %\newcommand*{\subparagraphmark}[1]{}
2563 %    \end{macrocode}
2564 % \end{macro}
2565 % \end{macro}
2566 % \end{macro}
2567 % \end{macro}
2568 % \end{macro}
2569 % \end{macro}
2570 %
2571 % \subsubsection{カウンタの定義}
2572 %
2573 % \begin{macro}{\c@secnumdepth}
2574 % \Lcount{secnumdepth}には、番号を付ける、見出しコマンドのレベルを設定します。
2575 %    \begin{macrocode}
2576 %<article>\setcounter{secnumdepth}{3}
2577 %<!article>\setcounter{secnumdepth}{2}
2578 %    \end{macrocode}
2579 % \end{macro}
2580 %
2581 % \begin{macro}{\c@chapter}
2582 % \begin{macro}{\c@section}
2583 % \begin{macro}{\c@subsection}
2584 % \begin{macro}{\c@subsubsection}
2585 % \begin{macro}{\c@paragraph}
2586 % \begin{macro}{\c@subparagraph}
2587 % これらのカウンタは見出し番号に使われます。
2588 % 最初の引数は、二番目の引数が増加するたびにリセットされます。
2589 % 二番目のカウンタはすでに定義されているものでなくてはいけません。
2590 %    \begin{macrocode}
2591 \newcounter{part}
2592 %<*book|report>
2593 \newcounter{chapter}
2594 \newcounter{section}[chapter]
2595 %</book|report>
2596 %<article>\newcounter{section}
2597 \newcounter{subsection}[section]
2598 \newcounter{subsubsection}[subsection]
2599 \newcounter{paragraph}[subsubsection]
2600 \newcounter{subparagraph}[paragraph]
2601 %    \end{macrocode}
2602 % \end{macro}
2603 % \end{macro}
2604 % \end{macro}
2605 % \end{macro}
2606 % \end{macro}
2607 % \end{macro}
2608 %
2609 % \begin{macro}{\thepart}
2610 % \begin{macro}{\thechapter}
2611 % \begin{macro}{\thesection}
2612 % \begin{macro}{\thesubsection}
2613 % \begin{macro}{\thesubsubsection}
2614 % \begin{macro}{\theparagraph}
2615 % \begin{macro}{\thesubparagraph}
2616 % |\theCTR|が実際に出力される形式の定義です。
2617 %
2618 % |\arabic{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2619 % 算用数字で出力します。
2620 %
2621 % |\roman{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2622 % 小文字のローマ数字で出力します。
2623 %
2624 % |\Roman{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2625 % 大文字のローマ数字で出力します。
2626 %
2627 % |\alph{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2628 % $1=$~a, $2=$~b のようにして出力します。
2629 %
2630 % |\Alph{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2631 % $1=$~A, $2=$~B のようにして出力します。
2632 %
2633 % |\Kanji{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2634 % 漢数字で出力します。
2635 %
2636 % |\rensuji{|\meta{obj}|}|は、\meta{obj}を横に並べて出力します。
2637 % したがって、横組のときには、何も影響しません。
2638 %
2639 %    \begin{macrocode}
2640 %<*tate>
2641 \renewcommand{\thepart}{\rensuji{\@Roman\c@part}}
2642 %<article>\renewcommand{\thesection}{\rensuji{\@arabic\c@section}}
2643 %<*report|book>
2644 \renewcommand{\thechapter}{\rensuji{\@arabic\c@chapter}}
2645 \renewcommand{\thesection}{\thechapter・\rensuji{\@arabic\c@section}}
2646 %</report|book>
2647 \renewcommand{\thesubsection}{\thesection・\rensuji{\@arabic\c@subsection}}
2648 \renewcommand{\thesubsubsection}{%
2649    \thesubsection・\rensuji{\@arabic\c@subsubsection}}
2650 \renewcommand{\theparagraph}{%
2651    \thesubsubsection・\rensuji{\@arabic\c@paragraph}}
2652 \renewcommand{\thesubparagraph}{%
2653    \theparagraph・\rensuji{\@arabic\c@subparagraph}}
2654 %</tate>
2655 %<*yoko>
2656 \renewcommand{\thepart}{\@Roman\c@part}
2657 %<article>\renewcommand{\thesection}{\@arabic\c@section}
2658 %<*report|book>
2659 \renewcommand{\thechapter}{\@arabic\c@chapter}
2660 \renewcommand{\thesection}{\thechapter.\@arabic\c@section}
2661 %</report|book>
2662 \renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection}
2663 \renewcommand{\thesubsubsection}{%
2664    \thesubsection.\@arabic\c@subsubsection}
2665 \renewcommand{\theparagraph}{%
2666    \thesubsubsection.\@arabic\c@paragraph}
2667 \renewcommand{\thesubparagraph}{%
2668    \theparagraph.\@arabic\c@subparagraph}
2669 %</yoko>
2670 %    \end{macrocode}
2671 % \end{macro}
2672 % \end{macro}
2673 % \end{macro}
2674 % \end{macro}
2675 % \end{macro}
2676 % \end{macro}
2677 % \end{macro}
2678 %
2679 % \begin{macro}{\@chapapp}
2680 % \begin{macro}{\@chappos}
2681 % |\@chapapp|の初期値は`|\prechaptername|'です。
2682 %
2683 % |\@chappos|の初期値は`|\postchaptername|'です。
2684 %
2685 % |\appendix|コマンドは|\@chapapp|を`|\appendixname|'に、
2686 % |\@chappos|を空に再定義します。
2687 %    \begin{macrocode}
2688 %<*report|book>
2689 \newcommand{\@chapapp}{\prechaptername}
2690 \newcommand{\@chappos}{\postchaptername}
2691 %</report|book>
2692 %    \end{macrocode}
2693 % \end{macro}
2694 % \end{macro}
2695 %
2696 % \subsubsection{前付け、本文、後付け}
2697 %
2698 % \begin{macro}{\frontmatter}
2699 % \begin{macro}{\mainmatter}
2700 % \begin{macro}{\backmatter}
2701 % \changes{v1.1}{1997/01/15}{\cs{frontmatter}, \cs{mainmatter}, \cs{backmatter}
2702 %   を\LaTeX{}の定義に修正}
2703 % 一冊の本は論理的に3つに分割されます。
2704 % 表題や目次や「はじめに」あるいは権利などの前付け、
2705 % そして本文、それから用語集や索引や奥付けなどの後付けです。
2706 %
2707 % \emph{日本語\TeX{}開発コミュニティによる補足}:
2708 % \LaTeX{}のclasses.dtxは、1996/05/26 (v1.3r)と1998/05/05 (v1.3y)の
2709 % 計2回、|\frontmatter|と|\mainmatter|の定義を修正しています。一回目は
2710 % これらの命令を|openany|オプションに応じて切り替え、二回目はそれを
2711 % 元に戻しています。アスキーによるjclasses.dtxは、1997/01/15に
2712 % 一回目の修正に追随しましたが、二回目の修正には追随していません。
2713 % コミュニティ版では、一旦はアスキーによる仕様を維持しようと考え
2714 % ました(2016/11/22)が、以下の理由により二回目の修正にも追随する
2715 % ことにしました(2017/03/05)。
2716 %
2717 % アスキー版での|\frontmatter|と|\mainmatter|の改ページ挙動は
2718 %\begin{quote}
2719 % |openright|なら|\cleardoublepage|、|openany|なら|\clearpage|を実行
2720 %\end{quote}
2721 % というものでした。しかし、|\frontmatter|及び|\mainmatter|はノンブルを
2722 % 1にリセットしますから、改ページの結果が偶数ページ目になる場合
2723 % \footnote{縦tbookのデフォルト(openright)が該当するほか、横jbookと
2724 % 縦tbookのopenanyのときには成り行き次第で該当する可能性があります。}に
2725 % ノンブルが偶奇逆転してしまいました。このままでは|openany|の場合に両面
2726 % 印刷がうまくいかないため、新しいコミュニティ版では
2727 %\begin{quote}
2728 % 必ず|\pltx@cleartooddpage|を実行
2729 %\end{quote}
2730 % としました。これは両面印刷(twoside)の場合は奇数ページに送り、
2731 % 片面印刷(oneside)の場合は単に改ページとなります。(参考:latex/2754)
2732 % \changes{v1.7b}{2016/11/22}{補足ドキュメントを追加}
2733 % \changes{v1.7e}{2017/03/05}{\cs{frontmatter}と\cs{mainmatter}を
2734 %   奇数ページに送るように変更}
2735 %    \begin{macrocode}
2736 %<*book>
2737 \newcommand{\frontmatter}{%
2738   \pltx@cleartooddpage
2739   \@mainmatterfalse\pagenumbering{roman}}
2740 \newcommand{\mainmatter}{%
2741   \pltx@cleartooddpage
2742   \@mainmattertrue\pagenumbering{arabic}}
2743 \newcommand{\backmatter}{%
2744   \if@openleft \cleardoublepage \else
2745   \if@openright \cleardoublepage \else \clearpage \fi \fi
2746   \@mainmatterfalse}
2747 %</book>
2748 %    \end{macrocode}
2749 % \end{macro}
2750 % \end{macro}
2751 % \end{macro}
2752 %
2753 % \subsubsection{ボックスの組み立て}
2754 % クラスファイル定義の、この部分では、|\@startsection|と|\secdef|の
2755 % 二つの内部マクロを使います。これらの構文を次に示します。
2756 %
2757 % |\@startsection|マクロは6つの引数と1つのオプション引数`*'を取ります。
2758 %
2759 %    |\@startsection|\meta{name}\meta{level}\meta{indent}^^A
2760 %                    \meta{beforeskip}\meta{afterskip}\meta{style}
2761 %            optional *\\
2762 %    \null\hphantom{\bslash @startsection}^^A
2763 %            |[|\meta{altheading}|]|\meta{heading}
2764 %
2765 % それぞれの引数の意味は、次のとおりです。
2766 %
2767 % \begin{description}
2768 % \item[\meta{name}] レベルコマンドの名前です(例:section)。
2769 % \item[\meta{level}] 見出しの深さを示す数値です(chapter=1, section=2,
2770 %    $\ldots$)。``\meta{level}$<=$カウンタ\Lcount{secnumdepth}の値''のとき、
2771 %    見出し番号が出力されます。
2772 % \item[\meta{indent}] 見出しに対する、左マージンからのインデント量です。
2773 % \item[\meta{beforeskip}] 見出しの上に置かれる空白の絶対値です。
2774 %    負の場合は、見出しに続くテキストのインデントを抑制します。
2775 % \item[\meta{afterskip}] 正のとき、見出しの後の垂直方向のスペースとなります。
2776 %    負の場合は、見出しの後の水平方向のスペースとなります。
2777 % \item[\meta{style}] 見出しのスタイルを設定するコマンドです。
2778 % \item[\meta{$*$}] 見出し番号を付けないとき、対応するカウンタは増加します。
2779 % \item[\meta{heading}] 新しい見出しの文字列です。
2780 % \end{description}
2781 %
2782 % 見出しコマンドは通常、|\@startsection|と6つの引数で定義されています。
2783 %
2784 % |\secdef|マクロは、
2785 % 見出しコマンドを|\@startsection|を用いないで定義するときに使います。
2786 % このマクロは、2つの引数を持ちます。
2787 %
2788 % |\secdef|\meta{unstarcmds}\meta{starcmds}
2789 %
2790 % \begin{description}
2791 % \item[\meta{unstarcmds}] 見出しコマンドの普通の形式で使われます。
2792 % \item[\meta{starcmds}] $*$形式の見出しコマンドで使われます。
2793 % \end{description}
2794 %
2795 % |\secdef|は次のようにして使うことができます。
2796 %\begin{verbatim}
2797 %    \def\chapter {... \secdef \CMDA \CMDB }
2798 %    \def\CMDA    [#1]#2{....} % \chapter[...]{...} の定義
2799 %    \def\CMDB    #1{....}     % \chapter*{...} の定義
2800 %\end{verbatim}
2801 %
2802 %
2803 % \subsubsection{partレベル}
2804 %
2805 % \begin{macro}{\part}
2806 % このコマンドは、新しいパート(部)をはじめます。
2807 %
2808 % articleクラスの場合は、簡単です。
2809 %
2810 % 新しい段落を開始し、小さな空白を入れ、段落後のインデントを行い、
2811 % |\secdef|で作成します。(アスキーによる元のドキュメントには
2812 % 「段落後のインデントをしないようにし」と書かれていましたが、
2813 % 実際のコードでは段落後のインデントを行っていました。そこで
2814 % 日本語\TeX{}開発コミュニティは、ドキュメントをコードに合わせて
2815 % 「段落後のインデントを行い」へと修正しました。)
2816 % \changes{v1.7a}{2016/11/16}{Check \texttt{@noskipsec} switch and
2817 %    possibly force horizontal mode (sync with classes.dtx v1.4a)}
2818 %    \begin{macrocode}
2819 %<*article>
2820 \newcommand{\part}{%
2821   \if@noskipsec \leavevmode \fi
2822   \par\addvspace{4ex}%
2823   \@afterindenttrue
2824   \secdef\@part\@spart}
2825 %</article>
2826 %    \end{macrocode}
2827 % reportとbookスタイルの場合は、少し複雑です。
2828 %
2829 % まず、右ページからはじまるように改ページをします。
2830 % そして、部扉のページスタイルを\pstyle{empty}にします。
2831 % 2段組の場合でも、1段組で作成しますが、後ほど2段組に戻すために、
2832 % |\@restonecol|スイッチを使います。
2833 % \changes{v1.1}{1997/01/15}{\cs{part}を\LaTeX\ の定義に修正}
2834 %    \begin{macrocode}
2835 %<*report|book>
2836 \newcommand{\part}{%
2837   \if@openleft \cleardoublepage \else
2838   \if@openright \cleardoublepage \else \clearpage \fi \fi
2839   \thispagestyle{empty}%
2840   \if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
2841   \null\vfil
2842   \secdef\@part\@spart}
2843 %</report|book>
2844 %    \end{macrocode}
2845 % \end{macro}
2846 %
2847 % \begin{macro}{\@part}
2848 % このマクロが実際に部レベルの見出しを作成します。
2849 % このマクロも文書クラスによって定義が異なります。
2850 %
2851 % articleクラスの場合は、\Lcount{secnumdepth}が$-1$よりも大きいとき、
2852 % 見出し番号を付けます。このカウンタが$-1$以下の場合には付けません。
2853 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2854 %    \cs{normalfont} (sync with classes.dtx v1.3c)}
2855 %    \begin{macrocode}
2856 %<*article>
2857 \def\@part[#1]#2{%
2858   \ifnum \c@secnumdepth >\m@ne
2859     \refstepcounter{part}%
2860     \addcontentsline{toc}{part}{%
2861        \prepartname\thepart\postpartname\hspace{1\zw}#1}%
2862   \else
2863     \addcontentsline{toc}{part}{#1}%
2864   \fi
2865   \markboth{}{}%
2866   {\parindent\z@\raggedright
2867    \interlinepenalty\@M\normalfont
2868    \ifnum \c@secnumdepth >\m@ne
2869      \Large\bfseries\prepartname\thepart\postpartname
2870      \par\nobreak
2871    \fi
2872    \huge\bfseries#2\par}%
2873   \nobreak\vskip3ex\@afterheading}
2874 %</article>
2875 %    \end{macrocode}
2876 %
2877 % reportとbookクラスの場合は、\Lcount{secnumdepth}が$-2$よりも大きいときに、
2878 % 見出し番号を付けます。$-2$以下では付けません。
2879 %
2880 %    \begin{macrocode}
2881 %<*report|book>
2882 \def\@part[#1]#2{%
2883   \ifnum \c@secnumdepth >-2\relax
2884     \refstepcounter{part}%
2885     \addcontentsline{toc}{part}{%
2886        \prepartname\thepart\postpartname\hspace{1em}#1}%
2887   \else
2888     \addcontentsline{toc}{part}{#1}%
2889   \fi
2890   \markboth{}{}%
2891   {\centering
2892    \interlinepenalty\@M\normalfont
2893    \ifnum \c@secnumdepth >-2\relax
2894      \huge\bfseries\prepartname\thepart\postpartname
2895      \par\vskip20\p@
2896    \fi
2897    \Huge\bfseries#2\par}%
2898    \@endpart}
2899 %</report|book>
2900 %    \end{macrocode}
2901 % \end{macro}
2902 %
2903 % \begin{macro}{\@spart}
2904 % このマクロは、番号を付けないときの体裁です。
2905 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2906 %    \cs{normalfont} (sync with classes.dtx v1.3c)}
2907 %    \begin{macrocode}
2908 %<*article>
2909 \def\@spart#1{{%
2910   \parindent\z@\raggedright
2911   \interlinepenalty\@M\normalfont
2912   \huge\bfseries#1\par}%
2913   \nobreak\vskip3ex\@afterheading}
2914 %</article>
2915 %    \end{macrocode}
2916 % \changes{v1.1k}{1998/03/23}{reportとbookクラスで番号を付けない見出しの
2917 %   ペナルティが\cs{M@}だったのを\cs{@M}に修正}
2918 %    \begin{macrocode}
2919 %<*report|book>
2920 \def\@spart#1{{%
2921   \centering
2922   \interlinepenalty\@M\normalfont
2923   \Huge\bfseries#1\par}%
2924   \@endpart}
2925 %</report|book>
2926 %    \end{macrocode}
2927 % \end{macro}
2928 %
2929 % \begin{macro}{\@endpart}
2930 % |\@part|と|\@spart|の最後で実行されるマクロです。
2931 % 両面印刷モードのときは、白ページを追加します。
2932 % 二段組モードのときには、これ以降のページを二段組に戻します。
2933 % 2016年12月から、|openany| のときに白ページを追加するのをやめました。
2934 % このバグは\LaTeX{}ではclasses.dtx v1.4b (2000/05/19)で修正されていました。
2935 % (参考:latex/3155、texjporg/jsclasses\#48)
2936 % \changes{v1.7c}{2016/12/18}{Only add empty page after part if
2937 %    twoside and openright (sync with classes.dtx v1.4b)}
2938 %    \begin{macrocode}
2939 %<*report|book>
2940 \def\@endpart{\vfil\newpage
2941    \if@twoside
2942     \if@openleft %% \if@openleft added (2017/02/15)
2943      \null\thispagestyle{empty}\newpage
2944     \else\if@openright %% \if@openright added (2016/12/18)
2945      \null\thispagestyle{empty}\newpage
2946     \fi\fi %% added (2016/12/18, 2017/02/15)
2947    \fi
2948 %    \end{macrocode}
2949 % 二段組文書のとき、スイッチを二段組モードに戻す必要があります。
2950 %    \begin{macrocode}
2951    \if@tempswa\twocolumn\fi}
2952 %</report|book>
2953 %    \end{macrocode}
2954 % \end{macro}
2955 %
2956 % \subsubsection{chapterレベル}
2957 %
2958 % \begin{macro}{chapter}
2959 % 章レベルは、必ずページの先頭から開始します。
2960 % |openright|オプションが指定されている場合は、右ページからはじまる
2961 % ように|\cleardoublepage|を呼び出します。
2962 % そうでなければ、|\clearpage|を呼び出します。
2963 % なお、縦組の場合でも右ページからはじまるように、
2964 % フォーマットファイルで|\clerdoublepage|が定義されています。
2965 %
2966 % \emph{日本語\TeX{}開発コミュニティによる補足}:コミュニティ版の実装では、
2967 % |openright|と|openleft|の場合に|\cleardoublepage|をクラスファイルの中で
2968 % 再々定義しています。\ref{sec:cleardoublepage}を参照してください。
2969 %
2970 % 章見出しが出力されるページのスタイルは、\pstyle{jpl@in}になります。
2971 % \pstyle{jpl@in}は、\pstyle{headnomble}か\pstyle{footnomble}のいずれかです。
2972 % 詳細は、第\ref{sec:pagestyle}節を参照してください。
2973 %
2974 % また、|\@topnum|をゼロにして、
2975 % 章見出しの上にトップフロートが置かれないようにしています。
2976 %    \begin{macrocode}
2977 %<*report|book>
2978 \newcommand{\chapter}{%
2979   \if@openleft \cleardoublepage \else
2980   \if@openright \cleardoublepage \else \clearpage \fi \fi
2981   \thispagestyle{jpl@in}%
2982   \global\@topnum\z@
2983   \@afterindenttrue
2984   \secdef\@chapter\@schapter}
2985 %    \end{macrocode}
2986 % \end{macro}
2987 %
2988 % \begin{macro}{\@chapter}
2989 % このマクロは、章見出しに番号を付けるときに呼び出されます。
2990 % \Lcount{secnumdepth}が$-1$よりも大きく、
2991 % |\@mainmatter|が真(bookクラスの場合)のときに、番号を出力します。
2992 %
2993 % \emph{日本語\TeX{}開発コミュニティによる補足}:本家\LaTeX{}の
2994 % \file{classes}では、二段組のときチャプタータイトルは一段組に戻され
2995 % ますが、アスキーによる\file{jclasses}では二段組のままにされています。
2996 % したがって、チャプタータイトルより高い位置に右カラムの始点が来るという
2997 % 挙動になっていますが、コミュニティ版でもアスキー版の挙動を維持しています。
2998 %    \begin{macrocode}
2999 \def\@chapter[#1]#2{%
3000   \ifnum \c@secnumdepth >\m@ne
3001 %<book>    \if@mainmatter
3002     \refstepcounter{chapter}%
3003     \typeout{\@chapapp\space\thechapter\space\@chappos}%
3004     \addcontentsline{toc}{chapter}%
3005       {\protect\numberline{\@chapapp\thechapter\@chappos}#1}%
3006 %<book>    \else\addcontentsline{toc}{chapter}{#1}\fi
3007   \else
3008     \addcontentsline{toc}{chapter}{#1}%
3009   \fi
3010   \chaptermark{#1}%
3011   \addtocontents{lof}{\protect\addvspace{10\p@}}%
3012   \addtocontents{lot}{\protect\addvspace{10\p@}}%
3013   \@makechapterhead{#2}\@afterheading}
3014 %    \end{macrocode}
3015 % \end{macro}
3016 %
3017 % \begin{macro}{\@makechapterhead}
3018 % このマクロが実際に章見出しを組み立てます。
3019 % \changes{v1.1o}{1998/12/24}{secnumdepthカウンタを$-1$以下にすると、
3020 %   見出し文字列も消えてしまうのを修正}
3021 % \changes{v1.2}{2001/09/04}{\cs{chapter}の出力位置がアスタリスク形式と
3022 %   そうでないときと違うのを修正(ありがとう、鈴木@津さん)}
3023 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3024 %    \cs{normalfont} (sync with classes.dtx v1.3c)}
3025 %    \begin{macrocode}
3026 \def\@makechapterhead#1{\hbox{}%
3027   \vskip2\Cvs
3028   {\parindent\z@
3029    \raggedright
3030    \normalfont\huge\bfseries
3031    \leavevmode
3032    \ifnum \c@secnumdepth >\m@ne
3033      \setlength\@tempdima{\linewidth}%
3034 %<book>    \if@mainmatter
3035      \setbox\z@\hbox{\@chapapp\thechapter\@chappos\hskip1\zw}%
3036      \addtolength\@tempdima{-\wd\z@}%
3037      \unhbox\z@\nobreak
3038 %<book>    \fi
3039      \vtop{\hsize\@tempdima#1}%
3040    \else
3041      #1\relax
3042    \fi}\nobreak\vskip3\Cvs}
3043 %    \end{macrocode}
3044 % \end{macro}
3045 %
3046 % \begin{macro}{\@schapter}
3047 % このマクロは、章見出しに番号を付けないときに呼び出されます。
3048 %
3049 % \emph{日本語\TeX{}開発コミュニティによる補足}:やはり二段組でチャプター
3050 % タイトルより高い位置に右カラムの始点が来るという挙動を維持してあります。
3051 % \changes{v1.7c}{2016/12/18}{奇妙なarticleガードとコードを削除して
3052 %    ドキュメントを追加}
3053 %    \begin{macrocode}
3054 \def\@schapter#1{%
3055   \@makeschapterhead{#1}\@afterheading
3056 }
3057 %    \end{macrocode}
3058 % \end{macro}
3059 %
3060 % \begin{macro}{\@makeschapterhead}
3061 % 番号を付けない場合の形式です。
3062 % \changes{v1.2}{2001/09/04}{\cs{chapter}の出力位置がアスタリスク形式と
3063 %   そうでないときと違うのを修正(ありがとう、鈴木@津さん)}
3064 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3065 %    \cs{normalfont} (sync with classes.dtx v1.3c)}
3066 %    \begin{macrocode}
3067 \def\@makeschapterhead#1{\hbox{}%
3068   \vskip2\Cvs
3069   {\parindent\z@
3070    \raggedright
3071    \normalfont\huge\bfseries
3072    \leavevmode
3073    \setlength\@tempdima{\linewidth}%
3074    \vtop{\hsize\@tempdima#1}}\vskip3\Cvs}
3075 %</report|book>
3076 %    \end{macrocode}
3077 % \end{macro}
3078 %
3079 % \subsubsection{下位レベルの見出し}
3080 %
3081 % \begin{macro}{\section}
3082 % 見出しの前後に空白を付け、|\Large\bfseries|で出力をします。
3083 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3084 %    \cs{normalfont} (sync with classes.dtx v1.3c)}
3085 %    \begin{macrocode}
3086 \newcommand{\section}{\@startsection{section}{1}{\z@}%
3087    {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
3088    {.5\Cvs \@plus.3\Cvs}%
3089    {\normalfont\Large\bfseries}}
3090 %    \end{macrocode}
3091 % \end{macro}
3092 %
3093 % \begin{macro}{\subsection}
3094 % 見出しの前後に空白を付け、|\large\bfseries|で出力をします。
3095 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3096 %    \cs{normalfont} (sync with classes.dtx v1.3c)}
3097 %    \begin{macrocode}
3098 \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
3099    {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
3100    {.5\Cvs \@plus.3\Cvs}%
3101    {\normalfont\large\bfseries}}
3102 %    \end{macrocode}
3103 % \end{macro}
3104 %
3105 % \begin{macro}{\subsubsection}
3106 % 見出しの前後に空白を付け、|\normalsize\bfseries|で出力をします。
3107 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3108 %    \cs{normalfont} (sync with classes.dtx v1.3c)}
3109 %    \begin{macrocode}
3110 \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
3111    {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
3112    {.5\Cvs \@plus.3\Cvs}%
3113    {\normalfont\normalsize\bfseries}}
3114 %    \end{macrocode}
3115 % \end{macro}
3116 %
3117 % \begin{macro}{\paragraph}
3118 % 見出しの前に空白を付け、|\normalsize\bfseries|で出力をします。
3119 % 見出しの後ろで改行されません。
3120 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3121 %    \cs{normalfont} (sync with classes.dtx v1.3c)}
3122 %    \begin{macrocode}
3123 \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
3124    {3.25ex \@plus 1ex \@minus .2ex}%
3125    {-1em}%
3126    {\normalfont\normalsize\bfseries}}
3127 %    \end{macrocode}
3128 % \end{macro}
3129 %
3130 % \begin{macro}{\subparagraph}
3131 % 見出しの前に空白を付け、|\normalsize\bfseries|で出力をします。
3132 % 見出しの後ろで改行されません。
3133 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3134 %    \cs{normalfont} (sync with classes.dtx v1.3c)}
3135 %    \begin{macrocode}
3136 \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
3137    {3.25ex \@plus 1ex \@minus .2ex}%
3138    {-1em}%
3139    {\normalfont\normalsize\bfseries}}
3140 %    \end{macrocode}
3141 % \end{macro}
3142 %
3143 %
3144 % \subsubsection{付録}
3145 %
3146 % \begin{macro}{\appendix}
3147 % articleクラスの場合、|\appendix|コマンドは次のことを行ないます。
3148 %
3149 % \begin{itemize}
3150 % \item \Lcount{section}と\Lcount{subsection}カウンタをリセットする。
3151 % \item |\thesection|を英小文字で出力するように再定義する。
3152 % \end{itemize}
3153 %
3154 %    \begin{macrocode}
3155 %<*article>
3156 \newcommand{\appendix}{\par
3157   \setcounter{section}{0}%
3158   \setcounter{subsection}{0}%
3159 %<tate>  \renewcommand{\thesection}{\rensuji{\@Alph\c@section}}}
3160 %<yoko>  \renewcommand{\thesection}{\@Alph\c@section}}
3161 %</article>
3162 %    \end{macrocode}
3163 %
3164 % reportとbookクラスの場合、|\appendix|コマンドは次のことを行ないます。
3165 %
3166 % \begin{itemize}
3167 % \item \Lcount{chapter}と\Lcount{section}カウンタをリセットする。
3168 % \item |\@chapapp|を|\appendixname|に設定する。
3169 % \item |\@chappos|を空にする。
3170 % \item |\thechapter|を英小文字で出力するように再定義する。
3171 % \end{itemize}
3172 %
3173 %    \begin{macrocode}
3174 %<*report|book>
3175 \newcommand{\appendix}{\par
3176   \setcounter{chapter}{0}%
3177   \setcounter{section}{0}%
3178   \renewcommand{\@chapapp}{\appendixname}%
3179   \renewcommand{\@chappos}\space%
3180 %<tate>  \renewcommand{\thechapter}{\rensuji{\@Alph\c@chapter}}}
3181 %<yoko>  \renewcommand{\thechapter}{\@Alph\c@chapter}}
3182 %</report|book>
3183 %    \end{macrocode}
3184 % \end{macro}
3185 %
3186 %
3187 %
3188 % \subsection{リスト環境}
3189 % ここではリスト環境について説明をしています。
3190 %
3191 % リスト環境のデフォルトは次のように設定されます。
3192 %
3193 % まず、|\rigtmargin|, |\listparindent|, |\itemindent|をゼロにします。
3194 % そして、K番目のレベルのリストは|\@listK|で示されるマクロが呼び出されます。
3195 % ここで`K'は小文字のローマ数字で示されます。たとえば、3番目のレベルのリスト
3196 % として|\@listiii|が呼び出されます。
3197 % |\@listK|は|\leftmargin|を|\leftmarginK|に設定します。
3198 %
3199 % \begin{macro}{\leftmargin}
3200 % \begin{macro}{\leftmargini}
3201 % \begin{macro}{\leftmarginii}
3202 % \begin{macro}{\leftmarginiii}
3203 % \begin{macro}{\leftmarginiv}
3204 % \begin{macro}{\leftmarginv}
3205 % \begin{macro}{\leftmarginvi}
3206 % 二段組モードのマージンは少しだけ小さく設定してあります。
3207 %    \begin{macrocode}
3208 \if@twocolumn
3209   \setlength\leftmargini {2em}
3210 \else
3211   \setlength\leftmargini {2.5em}
3212 \fi
3213 %    \end{macrocode}
3214 % 次の3つの値は、|\labelsep|とデフォルトラベル(`(m)', `vii.', `M.')の
3215 % 幅の合計よりも大きくしてあります。
3216 %    \begin{macrocode}
3217 \setlength\leftmarginii  {2.2em}
3218 \setlength\leftmarginiii {1.87em}
3219 \setlength\leftmarginiv  {1.7em}
3220 \if@twocolumn
3221   \setlength\leftmarginv {.5em}
3222   \setlength\leftmarginvi{.5em}
3223 \else
3224   \setlength\leftmarginv {1em}
3225   \setlength\leftmarginvi{1em}
3226 \fi
3227 %    \end{macrocode}
3228 % \end{macro}
3229 % \end{macro}
3230 % \end{macro}
3231 % \end{macro}
3232 % \end{macro}
3233 % \end{macro}
3234 % \end{macro}
3235 %
3236 % \begin{macro}{\labelsep}
3237 % \begin{macro}{\labelwidth}
3238 % |\labelsep|はラベルとテキストの項目の間の距離です。
3239 % |\labelwidth|はラベルの幅です。
3240 %    \begin{macrocode}
3241 \setlength  \labelsep  {.5em}
3242 \setlength  \labelwidth{\leftmargini}
3243 \addtolength\labelwidth{-\labelsep}
3244 %    \end{macrocode}
3245 % \end{macro}
3246 % \end{macro}
3247 %
3248 % \begin{macro}{\@beginparpenalty}
3249 % \begin{macro}{\@endparpenalty}
3250 % これらのペナルティは、リストや段落環境の前後に挿入されます。
3251 % \begin{macro}{\@itempenalty}
3252 % このペナルティは、リスト項目の間に挿入されます。
3253 %    \begin{macrocode}
3254 \@beginparpenalty -\@lowpenalty
3255 \@endparpenalty   -\@lowpenalty
3256 \@itempenalty     -\@lowpenalty
3257 %</article|report|book>
3258 %    \end{macrocode}
3259 % \end{macro}
3260 % \end{macro}
3261 % \end{macro}
3262 %
3263 % \begin{macro}{\partopsep}
3264 % リスト環境の前に空行がある場合、|\parskip|と|\topsep|に|\partopsep|が
3265 % 加えられた値の縦方向の空白が取られます。
3266 %    \begin{macrocode}
3267 %<10pt>\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@}
3268 %<11pt>\setlength\partopsep{3\p@ \@plus 1\p@ \@minus 1\p@}
3269 %<12pt>\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@}
3270 %    \end{macrocode}
3271 % \end{macro}
3272 %
3273 % \begin{macro}{\@listi}
3274 % \begin{macro}{\@listI}
3275 % |\@listi|は、|\leftmargin|, |\parsep|, |\topsep|, |\itemsep|などの
3276 % トップレベルの定義をします。
3277 % この定義は、フォントサイズコマンドによって変更されます(たとえば、
3278 % |\small|の中では``小さい''リストパラメータになります)。
3279 %
3280 % このため、|\normalsize|がすべてのパラメータを戻せるように、
3281 % |\@listI|は|\@listi|のコピーを保存するように定義されています。
3282 %    \begin{macrocode}
3283 %<*10pt|11pt|12pt>
3284 \def\@listi{\leftmargin\leftmargini
3285 %<*10pt>
3286   \parsep 4\p@ \@plus2\p@ \@minus\p@
3287   \topsep 8\p@ \@plus2\p@ \@minus4\p@
3288   \itemsep4\p@ \@plus2\p@ \@minus\p@}
3289 %</10pt>
3290 %<*11pt>
3291   \parsep 4.5\p@ \@plus2\p@ \@minus\p@
3292   \topsep 9\p@   \@plus3\p@ \@minus5\p@
3293   \itemsep4.5\p@ \@plus2\p@ \@minus\p@}
3294 %</11pt>
3295 %<*12pt>
3296   \parsep 5\p@  \@plus2.5\p@ \@minus\p@
3297   \topsep 10\p@ \@plus4\p@   \@minus6\p@
3298   \itemsep5\p@  \@plus2.5\p@ \@minus\p@}
3299 %</12pt>
3300 \let\@listI\@listi
3301 %    \end{macrocode}
3302 % ここで、パラメータを初期化しますが、厳密には必要ありません。
3303 %    \begin{macrocode}
3304 \@listi
3305 %    \end{macrocode}
3306 % \end{macro}
3307 % \end{macro}
3308 %
3309 % \begin{macro}{\@listii}
3310 % \begin{macro}{\@listiii}
3311 % \begin{macro}{\@listiv}
3312 % \begin{macro}{\@listv}
3313 % \begin{macro}{\@listvi}
3314 % 下位レベルのリスト環境のパラメータの設定です。
3315 % これらは保存用のバージョンを持たないことと、
3316 % フォントサイズコマンドによって変更されないことに注意をしてください。
3317 % 言い換えれば、このクラスは、本文サイズが
3318 % |\normalsize|で現れるリストの入れ子についてだけ考えています。
3319 %    \begin{macrocode}
3320 \def\@listii{\leftmargin\leftmarginii
3321    \labelwidth\leftmarginii \advance\labelwidth-\labelsep
3322 %<*10pt>
3323    \topsep  4\p@ \@plus2\p@ \@minus\p@
3324    \parsep  2\p@ \@plus\p@  \@minus\p@
3325 %</10pt>
3326 %<*11pt>
3327    \topsep  4.5\p@ \@plus2\p@ \@minus\p@
3328    \parsep  2\p@   \@plus\p@  \@minus\p@
3329 %</11pt>
3330 %<*12pt>
3331    \topsep  5\p@   \@plus2.5\p@ \@minus\p@
3332    \parsep  2.5\p@ \@plus\p@  \@minus\p@
3333 %</12pt>
3334    \itemsep\parsep}
3335 \def\@listiii{\leftmargin\leftmarginiii
3336    \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
3337 %<10pt>   \topsep 2\p@  \@plus\p@\@minus\p@
3338 %<11pt>   \topsep 2\p@  \@plus\p@\@minus\p@
3339 %<12pt>   \topsep 2.5\p@\@plus\p@\@minus\p@
3340    \parsep\z@
3341    \partopsep \p@ \@plus\z@ \@minus\p@
3342    \itemsep\topsep}
3343 \def\@listiv {\leftmargin\leftmarginiv
3344               \labelwidth\leftmarginiv
3345               \advance\labelwidth-\labelsep}
3346 \def\@listv  {\leftmargin\leftmarginv
3347               \labelwidth\leftmarginv
3348               \advance\labelwidth-\labelsep}
3349 \def\@listvi {\leftmargin\leftmarginvi
3350               \labelwidth\leftmarginvi
3351               \advance\labelwidth-\labelsep}
3352 %</10pt|11pt|12pt>
3353 %    \end{macrocode}
3354 % \end{macro}
3355 % \end{macro}
3356 % \end{macro}
3357 % \end{macro}
3358 % \end{macro}
3359 %
3360 %
3361 % \subsubsection{enumerate環境}
3362 % enumerate環境は、カウンタ\Lcount{enumi}, \Lcount{enumii}, \Lcount{enumiii},
3363 % \Lcount{enumiv}を使います。\Lcount{enumN}はN番目のレベルの番号を制御します。
3364 %
3365 % \begin{macro}{\theenumi}
3366 % \begin{macro}{\theenumii}
3367 % \begin{macro}{\theenumiii}
3368 % \begin{macro}{\theenumiv}
3369 % 出力する番号の書式を設定します。
3370 % これらは、すでに\file{ltlists.dtx}で定義されています。
3371 %    \begin{macrocode}
3372 %<*article|report|book>
3373 %<*tate>
3374 \renewcommand{\theenumi}{\rensuji{\@arabic\c@enumi}}
3375 \renewcommand{\theenumii}{\rensuji{(\@alph\c@enumii)}}
3376 \renewcommand{\theenumiii}{\rensuji{\@roman\c@enumiii}}
3377 \renewcommand{\theenumiv}{\rensuji{\@Alph\c@enumiv}}
3378 %</tate>
3379 %<*yoko>
3380 \renewcommand{\theenumi}{\@arabic\c@enumi}
3381 \renewcommand{\theenumii}{\@alph\c@enumii}
3382 \renewcommand{\theenumiii}{\@roman\c@enumiii}
3383 \renewcommand{\theenumiv}{\@Alph\c@enumiv}
3384 %</yoko>
3385 %    \end{macrocode}
3386 % \end{macro}
3387 % \end{macro}
3388 % \end{macro}
3389 % \end{macro}
3390 %
3391 % \begin{macro}{\labelenumi}
3392 % \begin{macro}{\labelenumii}
3393 % \begin{macro}{\labelenumiii}
3394 % \begin{macro}{\labelenumiv}
3395 % enumerate環境のそれぞれの項目のラベルは、
3396 % |\labelenumi| \ldots\ |\labelenumiv|で生成されます。
3397 %    \begin{macrocode}
3398 %<*tate>
3399 \newcommand{\labelenumi}{\theenumi}
3400 \newcommand{\labelenumii}{\theenumii}
3401 \newcommand{\labelenumiii}{\theenumiii}
3402 \newcommand{\labelenumiv}{\theenumiv}
3403 %</tate>
3404 %<*yoko>
3405 \newcommand{\labelenumi}{\theenumi.}
3406 \newcommand{\labelenumii}{(\theenumii)}
3407 \newcommand{\labelenumiii}{\theenumiii.}
3408 \newcommand{\labelenumiv}{\theenumiv.}
3409 %</yoko>
3410 %    \end{macrocode}
3411 % \end{macro}
3412 % \end{macro}
3413 % \end{macro}
3414 % \end{macro}
3415 %
3416 % \begin{macro}{\p@enumii}
3417 % \begin{macro}{\p@enumiii}
3418 % \begin{macro}{\p@enumiv}
3419 % |\ref|コマンドによって、
3420 % enumerate環境のN番目のリスト項目が参照されるときの書式です。
3421 %    \begin{macrocode}
3422 \renewcommand{\p@enumii}{\theenumi}
3423 \renewcommand{\p@enumiii}{\theenumi(\theenumii)}
3424 \renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
3425 %    \end{macrocode}
3426 % \end{macro}
3427 % \end{macro}
3428 % \end{macro}
3429 %
3430 % \begin{environment}{enumerate}
3431 % \changes{v1.1q}{1999/05/18}{縦組時のみに設定するようにした}
3432 % トップレベルで使われたときに、最初と最後に半行分のスペースを開けるように、
3433 % 変更します。この環境は、\file{ltlists.dtx}で定義されています。
3434 % \changes{v1.7a}{2016/11/16}{Use \cs{expandafter}
3435 %    (sync with ltlists.dtx v1.0j)}
3436 %
3437 %    \begin{macrocode}
3438 \renewenvironment{enumerate}
3439   {\ifnum \@enumdepth >\thr@@\@toodeep\else
3440    \advance\@enumdepth\@ne
3441    \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
3442    \expandafter \list \csname label\@enumctr\endcsname{%
3443       \ifnum\ltjgetparameter{direction}=3
3444          \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
3445            \else\topsep\z@\fi
3446          \parskip\z@ \itemsep\z@ \parsep\z@
3447          \labelwidth1\zw \labelsep.3\zw
3448          \ifnum \@enumdepth=\@ne \leftmargin1\zw\relax
3449            \else\leftmargin\leftskip\fi
3450          \advance\leftmargin 1\zw
3451       \fi
3452          \usecounter{\@enumctr}%
3453          \def\makelabel##1{\hss\llap{##1}}}%
3454    \fi}{\endlist}
3455 %    \end{macrocode}
3456 % \end{environment}
3457 %
3458 %
3459 % \subsubsection{itemize環境}
3460 %
3461 % \begin{macro}{\labelitemi}
3462 % \begin{macro}{\labelitemii}
3463 % \begin{macro}{\labelitemiii}
3464 % \begin{macro}{\labelitemiv}
3465 % itemize環境のそれぞれの項目のラベルは、
3466 % |\labelenumi| \ldots\ |\labelenumiv|で生成されます。
3467 % \changes{v1.1a}{1997/01/28}{Bug fix: \cs{labelitemii}.}
3468 %    \begin{macrocode}
3469 \newcommand{\labelitemi}{\textbullet}
3470 \newcommand{\labelitemii}{%
3471   \ifnum\ltjgetparameter{direction}=3
3472      {\textcircled{~}}
3473   \else
3474      {\normalfont\bfseries\textendash}
3475   \fi
3476 }
3477 \newcommand{\labelitemiii}{\textasteriskcentered}
3478 \newcommand{\labelitemiv}{\textperiodcentered}
3479 %    \end{macrocode}
3480 % \end{macro}
3481 % \end{macro}
3482 % \end{macro}
3483 % \end{macro}
3484 %
3485 % \begin{environment}{itemize}
3486 % \changes{v1.0e}{1996/03/14}{縦組時のみに設定するようにした}
3487 % トップレベルで使われたときに、最初と最後に半行分のスペースを開けるように、
3488 % 変更します。この環境は、\file{ltlists.dtx}で定義されています。
3489 % \changes{v1.7a}{2016/11/16}{Use \cs{expandafter}
3490 %    (sync with ltlists.dtx v1.0j)}
3491 %    \begin{macrocode}
3492 \renewenvironment{itemize}
3493   {\ifnum \@itemdepth >\thr@@\@toodeep\else
3494    \advance\@itemdepth\@ne
3495    \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
3496    \expandafter \list \csname \@itemitem\endcsname{%
3497       \ifnum\ltjgetparameter{direction}=3
3498          \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
3499            \else\topsep\z@\fi
3500          \parskip\z@ \itemsep\z@ \parsep\z@
3501          \labelwidth1\zw \labelsep.3\zw
3502          \ifnum \@itemdepth =\@ne \leftmargin1\zw\relax
3503            \else\leftmargin\leftskip\fi
3504          \advance\leftmargin 1\zw
3505       \fi
3506          \def\makelabel##1{\hss\llap{##1}}}%
3507    \fi}{\endlist}
3508 %    \end{macrocode}
3509 % \end{environment}
3510 %
3511 %
3512 % \subsubsection{description環境}
3513 %
3514 % \begin{environment}{description}
3515 % \changes{v1.0e}{1996/03/14}{\cs{topskip}や\cs{parkip}などの値を縦組時のみに
3516 %        設定するようにした}
3517 % description環境を定義します。
3518 % 縦組時には、インデントが3字分だけ深くなります。
3519 %    \begin{macrocode}
3520 \newenvironment{description}
3521   {\list{}{\labelwidth\z@ \itemindent-\leftmargin
3522    \ifnum\ltjgetparameter{direction}=3
3523      \leftmargin\leftskip \advance\leftmargin3\Cwd
3524      \rightmargin\rightskip
3525      \labelsep=1\zw \itemsep\z@
3526      \listparindent\z@ \topskip\z@ \parskip\z@ \partopsep\z@
3527    \fi
3528            \let\makelabel\descriptionlabel}}{\endlist}
3529 %    \end{macrocode}
3530 % \end{environment}
3531 %
3532 % \begin{macro}{\descriptionlabel}
3533 % ラベルの形式を変更する必要がある場合は、|\descriptionlabel|を
3534 % 再定義してください。
3535 %    \begin{macrocode}
3536 \newcommand{\descriptionlabel}[1]{%
3537    \hspace\labelsep\normalfont\bfseries #1}
3538 %    \end{macrocode}
3539 % \end{macro}
3540 %
3541 %
3542 % \subsubsection{verse環境}
3543 %
3544 % \begin{environment}{verse}
3545 % verse環境は、リスト環境のパラメータを使って定義されています。
3546 % 改行をするには|\\|を用います。|\\|は|\@centercr|に|\let|されています。
3547 %    \begin{macrocode}
3548 \newenvironment{verse}
3549   {\let\\\@centercr
3550    \list{}{\itemsep\z@ \itemindent -1.5em%
3551            \listparindent\itemindent
3552            \rightmargin\leftmargin \advance\leftmargin 1.5em}%
3553            \item\relax}{\endlist}
3554 %    \end{macrocode}
3555 % \end{environment}
3556 %
3557 % \subsubsection{quotation環境}
3558 %
3559 % \begin{environment}{quotation}
3560 % quotation環境もまた、list環境のパラメータを使用して定義されています。
3561 % この環境の各行は、|\textwidth|よりも小さく設定されています。
3562 % この環境における、段落の最初の行はインデントされます。
3563 %    \begin{macrocode}
3564 \newenvironment{quotation}
3565   {\list{}{\listparindent 1.5em%
3566            \itemindent\listparindent
3567            \rightmargin\leftmargin
3568            \parsep\z@ \@plus\p@}%
3569            \item\relax}{\endlist}
3570 %    \end{macrocode}
3571 % \end{environment}
3572 %
3573 % \subsubsection{quote環境}
3574 %
3575 % \begin{environment}{quote}
3576 % quote環境は、段落がインデントされないことを除き、quotation環境と同じです。
3577 %    \begin{macrocode}
3578 \newenvironment{quote}
3579   {\list{}{\rightmargin\leftmargin}%
3580            \item\relax}{\endlist}
3581 %    \end{macrocode}
3582 % \end{environment}
3583 %
3584 %
3585 %
3586 % \subsection{フロート}
3587 %
3588 % \file{ltfloat.dtx}では、フロートオブジェクトを操作するためのツールしか
3589 % 定義していません。タイプが\texttt{TYPE}のフロートオブジェクトを
3590 % 扱うマクロを定義するには、次の変数が必要です。
3591 %
3592 % \begin{description}
3593 % \item[\texttt{\bslash fps@TYPE}]
3594 %   タイプ\texttt{TYPE}のフロートを置くデフォルトの位置です。
3595 %
3596 % \item[\texttt{\bslash ftype@TYPE}]
3597 %   タイプ\texttt{TYPE}のフロートの番号です。
3598 %   各\texttt{TYPE}には、一意な、2の倍数の\texttt{TYPE}番号を割り当てます。
3599 %   たとえば、図が番号1ならば、表は2です。次のタイプは4となります。
3600 %
3601 % \item[\texttt{\bslash ext@TYPE}]
3602 %   タイプ\texttt{TYPE}のフロートの目次を出力するファイルの拡張子です。
3603 %   たとえば、|\ext@figure|は`lot'です。
3604 %
3605 % \item[\texttt{\bslash fnum@TYPE}]
3606 %   キャプション用の図番号を生成するマクロです。
3607 %   たとえば、|\fnum@figure|は`図|\thefigure|'を作ります。
3608 % \end{description}
3609 %
3610 % \subsubsection{figure環境}
3611 % ここでは、figure環境を実装しています。
3612 %
3613 % \begin{macro}{\c@figure}
3614 % \begin{macro}{\thefigure}
3615 % 図番号です。
3616 %    \begin{macrocode}
3617 %<article>\newcounter{figure}
3618 %<report|book>\newcounter{figure}[chapter]
3619 %<*tate>
3620 %<article>\renewcommand{\thefigure}{\rensuji{\@arabic\c@figure}}
3621 %    \end{macrocode}
3622 % \changes{v1.1d}{1997/02/14}{\cs{ifnum}文の構文エラーを訂正。}
3623 %    \begin{macrocode}
3624 %<*report|book>
3625 \renewcommand{\thefigure}{%
3626   \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@figure}}
3627 %</report|book>
3628 %</tate>
3629 %<*yoko>
3630 %<article>\renewcommand{\thefigure}{\@arabic\c@figure}
3631 %<*report|book>
3632 \renewcommand{\thefigure}{%
3633   \ifnum\c@chapter>\z@\thechapter.\fi\@arabic\c@figure}
3634 %</report|book>
3635 %</yoko>
3636 %    \end{macrocode}
3637 % \end{macro}
3638 % \end{macro}
3639 %
3640 % \begin{macro}{\fps@figure}
3641 % \begin{macro}{\ftype@figure}
3642 % \begin{macro}{\ext@figure}
3643 % \begin{macro}{\fnum@figure}
3644 % フロートオブジェクトタイプ``figure''のためのパラメータです。
3645 %    \begin{macrocode}
3646 \def\fps@figure{tbp}
3647 \def\ftype@figure{1}
3648 \def\ext@figure{lof}
3649 %<tate>\def\fnum@figure{\figurename\thefigure}
3650 %<yoko>\def\fnum@figure{\figurename~\thefigure}
3651 %    \end{macrocode}
3652 % \end{macro}
3653 % \end{macro}
3654 % \end{macro}
3655 % \end{macro}
3656 %
3657 % \begin{environment}{figure}
3658 % \begin{environment}{figure*}
3659 % |*|形式は2段抜きのフロートとなります。
3660 %    \begin{macrocode}
3661 \newenvironment{figure}
3662                {\@float{figure}}
3663                {\end@float}
3664 \newenvironment{figure*}
3665                {\@dblfloat{figure}}
3666                {\end@dblfloat}
3667 %    \end{macrocode}
3668 % \end{environment}
3669 % \end{environment}
3670 %
3671 % \subsubsection{table環境}
3672 % ここでは、table環境を実装しています。
3673 %
3674 % \begin{macro}{\c@table}
3675 % \begin{macro}{\thetable}
3676 % \changes{v1.1n}{1998/10/13}
3677 %    {report, bookクラスでchapterカウンタを考慮していなかったのを修正。
3678 %     ありがとう、平川@慶應大さん。}
3679 % 表番号です。
3680 %    \begin{macrocode}
3681 %<article>\newcounter{table}
3682 %<report|book>\newcounter{table}[chapter]
3683 %<*tate>
3684 %<article>\renewcommand{\thetable}{\rensuji{\@arabic\c@table}}
3685 %<*report|book>
3686 \renewcommand{\thetable}{%
3687   \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@table}}
3688 %</report|book>
3689 %</tate>
3690 %<*yoko>
3691 %<article>\renewcommand{\thetable}{\@arabic\c@table}
3692 %<*report|book>
3693 \renewcommand{\thetable}{%
3694   \ifnum\c@chapter>\z@\thechapter.\fi\@arabic\c@table}
3695 %</report|book>
3696 %</yoko>
3697 %    \end{macrocode}
3698 % \end{macro}
3699 % \end{macro}
3700 %
3701 % \begin{macro}{\fps@table}
3702 % \begin{macro}{\ftype@table}
3703 % \begin{macro}{\ext@table}
3704 % \begin{macro}{\fnum@table}
3705 % フロートオブジェクトタイプ``table''のためのパラメータです。
3706 %    \begin{macrocode}
3707 \def\fps@table{tbp}
3708 \def\ftype@table{2}
3709 \def\ext@table{lot}
3710 %<tate>\def\fnum@table{\tablename\thetable}
3711 %<yoko>\def\fnum@table{\tablename~\thetable}
3712 %    \end{macrocode}
3713 % \end{macro}
3714 % \end{macro}
3715 % \end{macro}
3716 % \end{macro}
3717 %
3718 % \begin{environment}{table}
3719 % \begin{environment}{table*}
3720 % |*|形式は2段抜きのフロートとなります。
3721 %    \begin{macrocode}
3722 \newenvironment{table}
3723                {\@float{table}}
3724                {\end@float}
3725 \newenvironment{table*}
3726                {\@dblfloat{table}}
3727                {\end@dblfloat}
3728 %    \end{macrocode}
3729 % \end{environment}
3730 % \end{environment}
3731 %
3732 % \subsection{キャプション}
3733 %
3734 % \begin{macro}{\@makecaption}
3735 % |\caption|コマンドは、キャプションを組み立てるために|\@mkcaption|を呼出ます。
3736 % このコマンドは二つの引数を取ります。
3737 % 一つは、\meta{number}で、フロートオブジェクトの番号です。
3738 % もう一つは、\meta{text}でキャプション文字列です。
3739 % \meta{number}には通常、`図 3.2'のような文字列が入っています。
3740 % このマクロは、|\parbox|の中で呼び出されます。書体は|\normalsize|です。
3741 %
3742 % \begin{macro}{\abovecaptionskip}
3743 % \begin{macro}{\belowcaptionskip}
3744 % これらの長さはキャプションの前後に挿入されるスペースです。
3745 %    \begin{macrocode}
3746 \newlength\abovecaptionskip
3747 \newlength\belowcaptionskip
3748 \setlength\abovecaptionskip{10\p@}
3749 \setlength\belowcaptionskip{0\p@}
3750 %    \end{macrocode}
3751 % \end{macro}
3752 % \end{macro}
3753 %
3754 % キャプション内で複数の段落を作成することができるように、
3755 % このマクロは|\long|で定義をします。
3756 %    \begin{macrocode}
3757 \long\def\@makecaption#1#2{%
3758   \vskip\abovecaptionskip
3759   \ifnum\ltjgetparameter{direction}=3 \sbox\@tempboxa{#1\hskip1\zw#2}%
3760     \else\sbox\@tempboxa{#1: #2}%
3761   \fi
3762   \ifdim \wd\@tempboxa >\hsize
3763     \ifnum\ltjgetparameter{direction}=3  #1\hskip1\zw#2\relax\par
3764       \else #1: #2\relax\par\fi
3765   \else
3766     \global \@minipagefalse
3767     \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
3768   \fi
3769   \vskip\belowcaptionskip}
3770 %    \end{macrocode}
3771 % \end{macro}
3772 %
3773 % \subsection{コマンドパラメータの設定}
3774 %
3775 % \subsubsection{arrayとtabular環境}
3776 %
3777 % \begin{macro}{\arraycolsep}
3778 % array環境のカラムは2|\arraycolsep|で分離されます。
3779 %    \begin{macrocode}
3780 \setlength\arraycolsep{5\p@}
3781 %    \end{macrocode}
3782 % \end{macro}
3783 %
3784 % \begin{macro}{\tabcolsep}
3785 % tabular環境のカラムは2|\tabcolsep|で分離されます。
3786 %    \begin{macrocode}
3787 \setlength\tabcolsep{6\p@}
3788 %    \end{macrocode}
3789 % \end{macro}
3790 %
3791 % \begin{macro}{\arrayrulewidth}
3792 % arrayとtabular環境内の罫線の幅です。
3793 %    \begin{macrocode}
3794 \setlength\arrayrulewidth{.4\p@}
3795 %    \end{macrocode}
3796 % \end{macro}
3797 %
3798 % \begin{macro}{\doublerulesep}
3799 % arrayとtabular環境内の罫線間を調整する空白です。
3800 %    \begin{macrocode}
3801 \setlength\doublerulesep{2\p@}
3802 %    \end{macrocode}
3803 % \end{macro}
3804 %
3805 % \subsubsection{tabbing環境}
3806 %
3807 % \begin{macro}{\tabbingsep}
3808 % |\'|コマンドで置かれるスペースを制御します。
3809 %    \begin{macrocode}
3810 \setlength\tabbingsep{\labelsep}
3811 %    \end{macrocode}
3812 % \end{macro}
3813 %
3814 % \subsubsection{minipage環境}
3815 %
3816 % \begin{macro}{\@mpfootins}
3817 % minipageにも脚注を付けることができます。
3818 % |\skip||\@mpfootins|は、通常の|\skip||\footins|と同じような動作をします。
3819 %    \begin{macrocode}
3820 \skip\@mpfootins = \skip\footins
3821 %    \end{macrocode}
3822 % \end{macro}
3823 %
3824 % \subsubsection{framebox環境}
3825 %
3826 % \begin{macro}{\fboxsep}
3827 % \begin{macro}{\fboxrule}
3828 % |\fboxsep|は、|\fbox|と|\framebox|での、
3829 % テキストとボックスの間に入る空白です。
3830 % |\fboxrule|は|\fbox|と|\framebox|で作成される罫線の幅です。
3831 %    \begin{macrocode}
3832 \setlength\fboxsep{3\p@}
3833 \setlength\fboxrule{.4\p@}
3834 %    \end{macrocode}
3835 % \end{macro}
3836 % \end{macro}
3837 %
3838 % \subsubsection{equationとeqnarray環境}
3839 %
3840 % \begin{macro}{\theequation}
3841 % equationカウンタは、新しい章の開始でリセットされます。
3842 % また、equation番号には、章番号が付きます。
3843 %
3844 % このコードは|\chapter|定義の後、より正確にはchapterカウンタの定義の後、
3845 % でなくてはいけません。
3846 %    \begin{macrocode}
3847 %<article>\renewcommand{\theequation}{\@arabic\c@equation}
3848 %<*report|book>
3849 \@addtoreset{equation}{chapter}
3850 \renewcommand{\theequation}{%
3851   \ifnum\c@chapter>\z@\thechapter.\fi \@arabic\c@equation}
3852 %</report|book>
3853 %    \end{macrocode}
3854 % \end{macro}
3855 %
3856 %
3857 % \section{フォントコマンド}
3858 % まず、数式内に日本語を直接、記述するために数式記号用文字に
3859 % ``JY3/mc/m/n''を登録します。数式バージョンがboldの場合は、
3860 % ``JY3/gt/m/n''を用います。
3861 % これらは、|\mathmc|, |\mathgt|として登録されます。
3862 % また、日本語数式ファミリとして|\symmincho|がこの段階で設定されます。
3863 % |mathrmmc|オプションが指定されていた場合には、これに引き続き
3864 % |\mathrm|と|\mathbf|を和欧文両対応にするための作業がなされます。この際、
3865 % 他のマクロとの衝突を避けるため|\AtBeginDocument|
3866 % を用いて展開順序を遅らせる必要があります。
3867 %
3868 %   \textbf{変更}
3869 %
3870 % \changes{v1.6}{2006/06/27}{フォントコマンドを修正。ありがとう、ymtさん。}
3871 %    \LaTeX{} 2.09
3872 %    compatibility mode では和文数式フォントfamが2重定義されていた
3873 %    ので、その部分を変更しました。
3874 %
3875 % \changes{v1.8-ltj-14}{2018/10/08}{Lua\TeX-ja本体が|disablejfam|オプションをサポートしました。
3876 %    クラス読み込み時に|disablejfam|オプションを指定した場合は、それがLua\TeX-jaに渡されて
3877 %        数式中に日本語を記述することができなくなります(|\mathmc|, |\mathgt|も定義されません)。}
3878 %    \begin{macrocode}
3879 \unless\ifltj@disablejfam
3880 \if@compatibility\else
3881   \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
3882   \DeclareSymbolFontAlphabet{\mathmc}{mincho}
3883   \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
3884   \jfam\symmincho
3885   \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
3886 \fi
3887 \if@mathrmmc
3888   \AtBeginDocument{%
3889   \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}
3890   \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}
3891 }%
3892 \fi
3893 \fi
3894 %    \end{macrocode}
3895 %
3896 % ここでは\LaTeX~2.09で一般的に使われていたコマンドを定義しています。
3897 % これらのコマンドはテキストモードと数式モードの\emph{どちらでも}動作します。
3898 % これらは互換性のために提供をしますが、できるだけ|\text...|と|\math...|を
3899 % 使うようにしてください。
3900 %
3901 % \begin{macro}{\mc}
3902 % \begin{macro}{\gt}
3903 % \begin{macro}{\rm}
3904 % \begin{macro}{\sf}
3905 % \begin{macro}{\tt}
3906 % これらのコマンドはフォントファミリを変更します。
3907 % 互換モードの同名コマンドと異なり、すべてのコマンドがデフォルトフォントに
3908 % リセットしてから、対応する属性を変更することに注意してください。
3909 %    \begin{macrocode}
3910 \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
3911 \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
3912 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
3913 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
3914 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
3915 %    \end{macrocode}
3916 % \end{macro}
3917 % \end{macro}
3918 % \end{macro}
3919 % \end{macro}
3920 % \end{macro}
3921 %
3922 % \begin{macro}{\bf}
3923 % このコマンドはボールド書体にします。ノーマル書体に変更するには、
3924 % |\mdseries|と指定をします。
3925 %    \begin{macrocode}
3926 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
3927 %    \end{macrocode}
3928 % \end{macro}
3929 %
3930 % \begin{macro}{\it}
3931 % \begin{macro}{\sl}
3932 % \begin{macro}{\sc}
3933 % これらのコマンドはフォントシェイプを切替えます。
3934 % スラント体とスモールキャップの数式アルファベットはありませんので、
3935 % 数式モードでは何もしませんが、警告メッセージを出力します。
3936 % |\upshape|コマンドで通常のシェイプにすることができます。
3937 %    \begin{macrocode}
3938 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
3939 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
3940 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
3941 %    \end{macrocode}
3942 % \end{macro}
3943 % \end{macro}
3944 % \end{macro}
3945 %
3946 % \begin{macro}{\cal}
3947 % \begin{macro}{\mit}
3948 % これらのコマンドは数式モードでだけ使うことができます。
3949 % 数式モード以外では何もしません。
3950 % 現在のNFSSは、これらのコマンドが警告を生成するように定義していますので、
3951 % `手ずから'定義する必要があります。
3952 %    \begin{macrocode}
3953 \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
3954 \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
3955 %    \end{macrocode}
3956 % \end{macro}
3957 % \end{macro}
3958 %
3959 %
3960 %
3961 % \section{相互参照}
3962 %
3963 % \subsection{目次}
3964 % |\section|コマンドは、\file{.toc}ファイルに、次のような行を出力します。
3965 %
3966 % |\contentsline{section}{|\meta{title}|}{|\meta{page}|}|
3967 %
3968 % \meta{title}には項目が、\meta{page}にはページ番号が入ります。
3969 % |\section|に見出し番号が付く場合は、\meta{title}は、
3970 % |\numberline{|\meta{num}|}{|\meta{heading}|}|となります。
3971 % \meta{num}は|\thesection|コマンドで生成された見出し番号です。
3972 % \meta{heading}は見出し文字列です。この他の見出しコマンドも同様です。
3973 %
3974 % figure環境での|\caption|コマンドは、\file{.lof}ファイルに、
3975 % 次のような行を出力します。
3976 %
3977 % |\contentsline{figure}{\numberline{|\meta{num}|}{|%
3978 %                              \meta{caption}|}}{|\meta{page}|}|
3979 %
3980 % \meta{num}は、|\thefigure|コマンドで生成された図番号です。
3981 % \meta{caption}は、キャプション文字列です。table環境も同様です。
3982 %
3983 % |\contentsline{|\meta{name}|}|コマンドは、|\l@|\meta{name}に展開されます。
3984 % したがって、目次の体裁を記述するには、|\l@chapter|, |\l@section|などを
3985 % 定義します。図目次のためには|\l@figure|です。
3986 % これらの多くのコマンドは|\@dottedtocline|コマンドで定義されています。
3987 % このコマンドは次のような書式となっています。
3988 %
3989 % |\@dottedtocline{|\meta{level}|}{|\meta{indent}|}{|^^A
3990 %        \meta{numwidth}|}{|\meta{title}|}{|\meta{page}|}|
3991 %
3992 % \begin{description}
3993 % \item[\meta{level}] ``\meta{level} $<=$ \Lcount{tocdepth}''のときにだけ、
3994 %   生成されます。|\chapter|はレベル0、|\section|はレベル1、$\ldots$ です。
3995 % \item[\meta{indent}] 一番外側からの左マージンです。
3996 % \item[\meta{numwidth}] 見出し番号(|\numberline|コマンドの\meta{num})が
3997 %   入るボックスの幅です。
3998 % \end{description}
3999 %
4000 % \begin{macro}{\c@tocdepth}
4001 % \Lcount{tocdepth}は、目次ページに出力をする見出しレベルです。
4002 %    \begin{macrocode}
4003 %<article>\setcounter{tocdepth}{3}
4004 %<!article>\setcounter{tocdepth}{2}
4005 %    \end{macrocode}
4006 % \end{macro}
4007 %
4008 % また、目次を生成するために次のパラメータも使います。
4009 %
4010 % \begin{macro}{\@pnumwidth}
4011 % ページ番号の入るボックスの幅です。
4012 %    \begin{macrocode}
4013 \newcommand{\@pnumwidth}{1.55em}
4014 %    \end{macrocode}
4015 % \end{macro}
4016 %
4017 % \begin{macro}{\@tocrmarg}
4018 % 複数行にわたる場合の右マージンです。
4019 %    \begin{macrocode}
4020 \newcommand{\@tocrmarg}{2.55em}
4021 %    \end{macrocode}
4022 % \end{macro}
4023 %
4024 % \begin{macro}{\@dotsep}
4025 % ドットの間隔(mu単位)です。2や1.7のように指定をします。
4026 %    \begin{macrocode}
4027 \newcommand{\@dotsep}{4.5}
4028 %    \end{macrocode}
4029 % \end{macro}
4030 %
4031 % \begin{macro}{\toclineskip}
4032 % この長さ変数は、目次項目の間に入るスペースの長さです。
4033 % デフォルトはゼロとなっています。縦組のとき、スペースを少し広げます。
4034 %    \begin{macrocode}
4035 \newdimen\toclineskip
4036 %<yoko>\setlength\toclineskip{\z@}
4037 %<tate>\setlength\toclineskip{2\p@}
4038 %    \end{macrocode}
4039 % \end{macro}
4040 %
4041 % \begin{macro}{\numberline}
4042 % \begin{macro}{\@lnumwidth}
4043 % |\numberline|マクロの定義を示します。オリジナルの定義では、ボックスの幅を
4044 % |\@tempdima|にしていますが、この変数はいろいろな箇所で使われますので、
4045 % 期待した値が入らない場合があります。
4046 %
4047 % ^^A たとえば、|lltjfont.sty|での|\selectfont|は、和欧文のベースラインを調整する
4048 % ^^A ために|\@tempdima|変数を用いています。そのため、|\l@...|マクロの中で
4049 % ^^A フォントを切替えると、|\numberline|マクロのボックス
4050 % ^^A の幅が、ベースラインを調整するときに計算した値になってしまいます。
4051 % ^^A →修正(texjporg):最近の|\adjustbaseline|では|\adjust@dimen|が使われて
4052 % ^^A いるため、記述をコメントアウトしました。
4053 %
4054 % フォント選択コマンドの後、あるいは|\numberline|マクロの中でフォントを
4055 % 切替えてもよいのですが、一時変数を意識したくないので、
4056 % 見出し番号の入るボックスを|\@lnumwidth|変数を用いて組み立てるように
4057 % |\numberline|マクロを再定義します。
4058 %    \begin{macrocode}
4059 \newdimen\@lnumwidth
4060 \def\numberline#1{\hb@xt@\@lnumwidth{#1\hfil}}
4061 %    \end{macrocode}
4062 % \end{macro}
4063 % \end{macro}
4064 %
4065 % \begin{macro}{\@dottedtocline}
4066 % 目次の各行間に|\toclineskip|を入れるように変更します。
4067 % このマクロは\file{ltsect.dtx}で定義されています。
4068 % \changes{v1.3}{2001/10/04}{第5引数の書体を\cs{rmfamily}から\cs{normalfont}に変更}
4069 % \changes{v1.7a}{2016/11/16}{Added \cs{nobreak} for
4070 %    latex/2343 (sync with ltsect.dtx v1.0z)}
4071 %    \begin{macrocode}
4072 \def\@dottedtocline#1#2#3#4#5{%
4073   \ifnum #1>\c@tocdepth \else
4074     \vskip\toclineskip \@plus.2\p@
4075     {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
4076      \parindent #2\relax\@afterindenttrue
4077      \interlinepenalty\@M
4078      \leavevmode
4079      \@lnumwidth #3\relax
4080      \advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip
4081      {#4}\nobreak
4082      \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$}%
4083      \hfill\nobreak
4084      \hb@xt@\@pnumwidth{\hss\normalfont \normalcolor #5}%
4085      \par}%
4086   \fi}
4087 %    \end{macrocode}
4088 % \end{macro}
4089 %
4090 % \begin{macro}{\addcontentsline}
4091 % 縦組の場合にページ番号を|\rensuji|で囲むように変更します。
4092 % ^^A 横組のときにも`|\rensuji|'コマンドが出力されますが、
4093 % ^^A このコマンドによる影響はありません。
4094 %
4095 % このマクロは\file{ltsect.dtx}で定義されています。
4096 % \changes{v1.8a}{2018/10/25}{ファイル書き出し時の行末文字対策
4097 %    (sync with ltsect.dtx 2018/09/26 v1.1c)}
4098 %    \begin{macrocode}
4099 \providecommand*\protected@file@percent{}
4100 \def\addcontentsline#1#2#3{%
4101   \protected@write\@auxout
4102     {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble
4103 %<tate>     \@temptokena{\rensuji{\thepage}}}%
4104 %<yoko>     \@temptokena{\thepage}}%
4105     {\string\@writefile{#1}%
4106        {\protect\contentsline{#2}{#3}{\the\@temptokena}%
4107                 \protected@file@percent}}%
4108 }
4109 %    \end{macrocode}
4110 % \end{macro}
4111 %
4112 %
4113 % \subsubsection{本文目次}
4114 %
4115 % \begin{macro}{\tableofcontents}
4116 % 目次を生成します。
4117 %    \begin{macrocode}
4118 \newcommand{\tableofcontents}{%
4119 %<*report|book>
4120   \if@twocolumn\@restonecoltrue\onecolumn
4121   \else\@restonecolfalse\fi
4122 %</report|book>
4123 %<article>  \section*{\contentsname
4124 %<!article>  \chapter*{\contentsname
4125 %    \end{macrocode}
4126 % |\tableofcontents|では、|\@mkboth|はheadingの中に入れてあります。
4127 % ほかの命令(|\listoffigures|など)については、|\@mkboth|はheadingの
4128 % 外に出してあります。これは\LaTeX の\file{classes.dtx}に合わせています。
4129 %    \begin{macrocode}
4130     \@mkboth{\contentsname}{\contentsname}%
4131   }\@starttoc{toc}%
4132 %<report|book>  \if@restonecol\twocolumn\fi
4133 }
4134 %    \end{macrocode}
4135 % \end{macro}
4136 %
4137 % \begin{macro}{\l@part}
4138 % partレベルの目次です。
4139 %    \begin{macrocode}
4140 \newcommand*{\l@part}[2]{%
4141   \ifnum \c@tocdepth >-2\relax
4142 %<article>    \addpenalty{\@secpenalty}%
4143 %<!article>    \addpenalty{-\@highpenalty}%
4144     \addvspace{2.25em \@plus\p@}%
4145     \begingroup
4146     \parindent\z@\rightskip\@pnumwidth
4147     \parfillskip-\@pnumwidth
4148     {\leavevmode\large\bfseries
4149      \setlength\@lnumwidth{4\zw}%
4150      #1\hfil\nobreak
4151      \hb@xt@\@pnumwidth{\hss#2}}\par
4152     \nobreak
4153 %<article>    \if@compatibility
4154     \global\@nobreaktrue
4155     \everypar{\global\@nobreakfalse\everypar{}}%
4156 %<article>    \fi
4157      \endgroup
4158   \fi}
4159 %    \end{macrocode}
4160 % \end{macro}
4161 %
4162 % \begin{macro}{\l@chapter}
4163 % chapterレベルの目次です。
4164 %    \begin{macrocode}
4165 %<*report|book>
4166 \newcommand*{\l@chapter}[2]{%
4167   \ifnum \c@tocdepth >\m@ne
4168     \addpenalty{-\@highpenalty}%
4169     \addvspace{1.0em \@plus\p@}%
4170     \begingroup
4171       \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip
4172       \leavevmode\bfseries
4173       \setlength\@lnumwidth{4\zw}%
4174       \advance\leftskip\@lnumwidth \hskip-\leftskip
4175       #1\nobreak\hfil\nobreak\hb@xt@\@pnumwidth{\hss#2}\par
4176       \penalty\@highpenalty
4177     \endgroup
4178   \fi}
4179 %</report|book>
4180 %    \end{macrocode}
4181 % \end{macro}
4182 %
4183 % \begin{macro}{\l@section}
4184 % sectionレベルの目次です。
4185 %    \begin{macrocode}
4186 %<*article>
4187 \newcommand*{\l@section}[2]{%
4188   \ifnum \c@tocdepth >\z@
4189     \addpenalty{\@secpenalty}%
4190     \addvspace{1.0em \@plus\p@}%
4191     \begingroup
4192       \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip
4193       \leavevmode\bfseries
4194       \setlength\@lnumwidth{1.5em}%
4195       \advance\leftskip\@lnumwidth \hskip-\leftskip
4196       #1\nobreak\hfil\nobreak\hb@xt@\@pnumwidth{\hss#2}\par
4197     \endgroup
4198   \fi}
4199 %</article>
4200 %    \end{macrocode}
4201 %
4202 %    \begin{macrocode}
4203 %<*report|book>
4204 %<tate>\newcommand*{\l@section}{\@dottedtocline{1}{1\zw}{4\zw}}
4205 %<yoko>\newcommand*{\l@section}{\@dottedtocline{1}{1.5em}{2.3em}}
4206 %</report|book>
4207 %    \end{macrocode}
4208 % \end{macro}
4209 %
4210 % \begin{macro}{\l@subsection}
4211 % \begin{macro}{\l@subsubsection}
4212 % \begin{macro}{\l@paragraph}
4213 % \begin{macro}{\l@subparagraph}
4214 % 下位レベルの目次項目の体裁です。
4215 %    \begin{macrocode}
4216 %<*tate>
4217 %<*article>
4218 \newcommand*{\l@subsection}   {\@dottedtocline{2}{1\zw}{4\zw}}
4219 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{2\zw}{6\zw}}
4220 \newcommand*{\l@paragraph}    {\@dottedtocline{4}{3\zw}{8\zw}}
4221 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{4\zw}{9\zw}}
4222 %</article>
4223 %<*report|book>
4224 \newcommand*{\l@subsection}   {\@dottedtocline{2}{2\zw}{6\zw}}
4225 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{3\zw}{8\zw}}
4226 \newcommand*{\l@paragraph}    {\@dottedtocline{4}{4\zw}{9\zw}}
4227 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{5\zw}{10\zw}}
4228 %</report|book>
4229 %</tate>
4230 %<*yoko>
4231 %<*article>
4232 \newcommand*{\l@subsection}   {\@dottedtocline{2}{1.5em}{2.3em}}
4233 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{3.8em}{3.2em}}
4234 \newcommand*{\l@paragraph}    {\@dottedtocline{4}{7.0em}{4.1em}}
4235 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{10em}{5em}}
4236 %</article>
4237 %<*report|book>
4238 \newcommand*{\l@subsection}   {\@dottedtocline{2}{3.8em}{3.2em}}
4239 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{7.0em}{4.1em}}
4240 \newcommand*{\l@paragraph}    {\@dottedtocline{4}{10em}{5em}}
4241 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{12em}{6em}}
4242 %</report|book>
4243 %</yoko>
4244 %    \end{macrocode}
4245 % \end{macro}
4246 % \end{macro}
4247 % \end{macro}
4248 % \end{macro}
4249 %
4250 %
4251 % \subsubsection{図目次と表目次}
4252 %
4253 % \begin{macro}{\listoffigures}
4254 % 図の一覧を作成します。
4255 % \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
4256 %                            arg (sync with classes.dtx v1.4c)}
4257 %    \begin{macrocode}
4258 \newcommand{\listoffigures}{%
4259 %<*report|book>
4260   \if@twocolumn\@restonecoltrue\onecolumn
4261   \else\@restonecolfalse\fi
4262   \chapter*{\listfigurename}%
4263 %</report|book>
4264 %<article>    \section*{\listfigurename}%
4265   \@mkboth{\listfigurename}{\listfigurename}%
4266   \@starttoc{lof}%
4267 %<report|book>  \if@restonecol\twocolumn\fi
4268 }
4269 %    \end{macrocode}
4270 % \end{macro}
4271 %
4272 % \begin{macro}{\l@figure}
4273 % 図目次の体裁です。
4274 %    \begin{macrocode}
4275 %<tate>\newcommand*{\l@figure}{\@dottedtocline{1}{1\zw}{4\zw}}
4276 %<yoko>\newcommand*{\l@figure}{\@dottedtocline{1}{1.5em}{2.3em}}
4277 %    \end{macrocode}
4278 % \end{macro}
4279 %
4280 % \begin{macro}{\listoftables}
4281 % \changes{v1.0c}{1995/12/28}{fix the \cs{listoftable} typo.}
4282 % 表の一覧を作成します。
4283 % \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
4284 %                            arg (sync with classes.dtx v1.4c)}
4285 %    \begin{macrocode}
4286 \newcommand{\listoftables}{%
4287 %<*report|book>
4288   \if@twocolumn\@restonecoltrue\onecolumn
4289   \else\@restonecolfalse\fi
4290   \chapter*{\listtablename}%
4291 %</report|book>
4292 %<article>    \section*{\listtablename}%
4293   \@mkboth{\listtablename}{\listtablename}%
4294   \@starttoc{lot}%
4295 %<report|book>  \if@restonecol\twocolumn\fi
4296 }
4297 %    \end{macrocode}
4298 % \end{macro}
4299 %
4300 % \begin{macro}{\l@table}
4301 % 表目次の体裁は、図目次と同じにします。
4302 %    \begin{macrocode}
4303 \let\l@table\l@figure
4304 %    \end{macrocode}
4305 % \end{macro}
4306 %
4307 %
4308 % \subsection{参考文献}
4309 %
4310 % \begin{macro}{\bibindent}
4311 % オープンスタイルの参考文献で使うインデント幅です。
4312 %    \begin{macrocode}
4313 \newdimen\bibindent
4314 \setlength\bibindent{1.5em}
4315 %    \end{macrocode}
4316 % \end{macro}
4317 %
4318 % \begin{macro}{\newblock}
4319 % |\newblock|のデフォルト定義は、小さなスペースを生成します。
4320 %    \begin{macrocode}
4321 \newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
4322 %    \end{macrocode}
4323 % \end{macro}
4324 %
4325 % \begin{environment}{thebibliography}
4326 % 参考文献や関連図書のリストを作成します。
4327 % \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
4328 %                            arg (sync with classes.dtx v1.4c)}
4329 %    \begin{macrocode}
4330 \newenvironment{thebibliography}[1]
4331 %<article>{\section*{\refname}\@mkboth{\refname}{\refname}%
4332 %<report|book>{\chapter*{\bibname}\@mkboth{\bibname}{\bibname}%
4333    \list{\@biblabel{\@arabic\c@enumiv}}%
4334         {\settowidth\labelwidth{\@biblabel{#1}}%
4335          \leftmargin\labelwidth
4336          \advance\leftmargin\labelsep
4337          \@openbib@code
4338          \usecounter{enumiv}%
4339          \let\p@enumiv\@empty
4340          \renewcommand\theenumiv{\@arabic\c@enumiv}}%
4341    \sloppy
4342 %    \end{macrocode}
4343 % \changes{v1.1a}{1997/01/23}{\break\LaTeX\ \texttt{!<1996/12/01!>}に合わせて修正}
4344 %    \begin{macrocode}
4345    \clubpenalty4000
4346    \@clubpenalty\clubpenalty
4347    \widowpenalty4000%
4348    \sfcode`\.\@m}
4349   {\def\@noitemerr
4350     {\@latex@warning{Empty `thebibliography' environment}}%
4351    \endlist}
4352 %    \end{macrocode}
4353 % \end{environment}
4354 %
4355 % \begin{macro}{\@openbib@code}
4356 % |\@openbib@code|のデフォルト定義は何もしません。
4357 % この定義は、\Lopt{openbib}オプションによって変更されます。
4358 %    \begin{macrocode}
4359 \let\@openbib@code\@empty
4360 %    \end{macrocode}
4361 % \end{macro}
4362 %
4363 % \begin{macro}{\@biblabel}
4364 %    The label for a |\bibitem[...]| command is produced by this
4365 %    macro. The default from \file{latex.dtx} is used.
4366 %    \begin{macrocode}
4367 % \renewcommand*{\@biblabel}[1]{[#1]\hfill}
4368 %    \end{macrocode}
4369 % \end{macro}
4370 %
4371 % \begin{macro}{\@cite}
4372 %    The output of the |\cite| command is produced by this macro. The
4373 %    default from \file{ltbibl.dtx} is used.
4374 %    \begin{macrocode}
4375 % \renewcommand*{\@cite}[1]{[#1]}
4376 %    \end{macrocode}
4377 % \end{macro}
4378 %
4379 %
4380 % \subsection{索引}
4381 %
4382 % \begin{environment}{theindex}
4383 % 2段組の索引を作成します。
4384 % 索引の先頭のページのスタイルは\pstyle{jpl@in}とします。したがって、
4385 % \pstyle{headings}と\pstyle{bothstyle}に適した位置に出力されます。
4386 %    \begin{macrocode}
4387 \newenvironment{theindex}
4388   {\if@twocolumn\@restonecolfalse\else\@restonecoltrue\fi
4389 %<article>   \twocolumn[\section*{\indexname}]%
4390 %<report|book>   \twocolumn[\@makeschapterhead{\indexname}]%
4391    \@mkboth{\indexname}{\indexname}%
4392    \thispagestyle{jpl@in}\parindent\z@
4393 %    \end{macrocode}
4394 % パラメータ|\columnseprule|と|\columnsep|の変更は、|\twocolumn|が
4395 % 実行された後でなければなりません。そうしないと、索引の前のページ
4396 % にも影響してしまうためです。
4397 % \changes{v1.7}{2016/11/12}{\cs{columnsep}と\cs{columnseprule}の
4398 %    変更を後ろに移動(sync with classes.dtx v1.4f)}
4399 %    \begin{macrocode}
4400    \parskip\z@ \@plus .3\p@\relax
4401    \columnseprule\z@ \columnsep 35\p@
4402    \let\item\@idxitem}
4403   {\if@restonecol\onecolumn\else\clearpage\fi}
4404 %    \end{macrocode}
4405 % \end{environment}
4406 %
4407 % \begin{macro}{\@idxitem}
4408 % \begin{macro}{\subitem}
4409 % \begin{macro}{\subsubitem}
4410 % 索引項目の字下げ幅です。|\@idxitem|は|\item|の項目の字下げ幅です。
4411 %    \begin{macrocode}
4412 \newcommand{\@idxitem}{\par\hangindent 40\p@}
4413 \newcommand{\subitem}{\@idxitem \hspace*{20\p@}}
4414 \newcommand{\subsubitem}{\@idxitem \hspace*{30\p@}}
4415 %    \end{macrocode}
4416 % \end{macro}
4417 % \end{macro}
4418 % \end{macro}
4419 %
4420 % \begin{macro}{\indexspace}
4421 % 索引の``文字''見出しの前に入るスペースです。
4422 %    \begin{macrocode}
4423 \newcommand{\indexspace}{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
4424 %    \end{macrocode}
4425 % \end{macro}
4426 %
4427 %
4428 % \subsection{脚注}
4429 %
4430 % \begin{macro}{\footnoterule}
4431 % 本文と脚注の間に引かれる罫線です。
4432 % \changes{v1.7}{2016/11/12}{use \cs{@width} (sync with classes.dtx v1.3a)}
4433 %    \begin{macrocode}
4434 \renewcommand{\footnoterule}{%
4435   \kern-3\p@
4436   \hrule\@width.4\columnwidth
4437   \kern2.6\p@}
4438 %    \end{macrocode}
4439 % \end{macro}
4440 %
4441 % \begin{macro}{\c@footnote}
4442 % reportとbookクラスでは、chapterレベルでリセットされます。
4443 %    \begin{macrocode}
4444 %<!article>\@addtoreset{footnote}{chapter}
4445 %    \end{macrocode}
4446 % \end{macro}
4447 %
4448 % \begin{macro}{\@makefntext}
4449 % このマクロにしたがって脚注が組まれます。
4450 %
4451 % |\@makefnmark|は脚注記号を組み立てるマクロです。
4452 % \changes{v1.7}{2016/11/12}{Replaced all \cs{hbox to} by
4453 %    \cs{hb@xt@} (sync with classes.dtx v1.3a)}
4454 %    \begin{macrocode}
4455 %<*tate>
4456 \newcommand\@makefntext[1]{\parindent 1\zw
4457   \noindent\hb@xt@ 2\zw{\hss\@makefnmark}#1}
4458 %</tate>
4459 %<*yoko>
4460 \newcommand\@makefntext[1]{\parindent 1em
4461   \noindent\hb@xt@ 1.8em{\hss\@makefnmark}#1}
4462 %</yoko>
4463 %    \end{macrocode}
4464 % \end{macro}
4465 %
4466 %
4467 % \section{今日の日付}
4468 % 組版時における現在の日付を出力します。
4469 %
4470 % \iffalse  meta-comment!
4471 %  注意:ここで \DisableCrossrefs, \EnableCrossrefs をしているのは、
4472 %        platex jclasses.dtx で dvi を作るときにエラーになるため。
4473 % \fi
4474 % \DisableCrossrefs
4475 % \begin{macro}{\if西暦}
4476 % \begin{macro}{\西暦}
4477 % \begin{macro}{\和暦}
4478 % \changes{v1.0h}{1996/12/17}{Typo:和歴 to 和暦}
4479 % |\today|コマンドの`年'を、
4480 % 西暦か和暦のどちらで出力するかを指定するコマンドです。
4481 % 2018年7月以降の日本語\TeX{}開発コミュニティ版(v1.8)では、
4482 % デフォルトを和暦ではなく西暦に設定しています。
4483 % \changes{v1.8}{2018/07/03}{\cs{today}のデフォルトを和暦から西暦に変更}
4484 %    \begin{macrocode}
4485 \newif\if西暦 \西暦true
4486 \def\西暦{\西暦true}
4487 \def\和暦{\西暦false}
4488 %    \end{macrocode}
4489 % \end{macro}
4490 % \end{macro}
4491 % \end{macro}
4492 % \EnableCrossrefs
4493 %
4494 % \begin{macro}{\heisei}
4495 % \changes{v1.1m}{1998/04/07}{\cs{today}の計算手順を変更}
4496 % \changes{v1.8b}{2019/04/02}{\cs{heisei}の値は$\mbox{西暦}-1988$で固定}
4497 % |\today|コマンドを|\rightmark|で指定したとき、|\rightmark|を出力する部分
4498 % で和暦のための計算ができないので、クラスファイルを読み込む時点で計算して
4499 % おきます。
4500 %    \begin{macrocode}
4501 \newcount\heisei \heisei\year \advance\heisei-1988\relax
4502 %    \end{macrocode}
4503 % \end{macro}
4504 %
4505 % \begin{macro}{\today}
4506 % \begin{macro}{\pltx@today@year}
4507 % 縦組の場合は、漢数字で出力します。
4508 % \pLaTeX\ 2018-12-01以前では縦数式ディレクション時でも漢数字で出力していましたが、
4509 % \pLaTeX\ 2019-04-06以降からはそうしなくなりました。
4510 %
4511 % \changes{v1.6-ltj-9}{2015/01/01}{縦組では,この漢数字による日付出力でエラーになりました.
4512 % Lua\TeX-ja では,\cs{kansuji}の後に\cs{number}を続けることは出来ないので\cs{number}を削除しました.}
4513 % \changes{v1.8b}{2019/04/02}{\cs{today}の計算・出力方法を変更。}
4514 %    \begin{macrocode}
4515 \def\pltx@today@year@#1{%
4516   \ifnum\numexpr\year-#1=1 元\else
4517     \ifnum\ltjgetparameter{direction}=3
4518       \kansuji\numexpr\year-#1\relax
4519     \else
4520       \number\numexpr\year-#1\relax\nobreak
4521     \fi
4522   \fi 年
4523 }
4524 \def\pltx@today@year{%
4525   \ifnum\numexpr\year*10000+\month*100+\day<19890108
4526     昭和\pltx@today@year@{1925}%
4527   \else\ifnum\numexpr\year*10000+\month*100+\day<20190501
4528     平成\pltx@today@year@{1988}%
4529   \else 
4530     令和\pltx@today@year@{2018}%
4531   \fi\fi}
4532 \def\today{{%
4533   \if西暦
4534     \ifnum\ltjgetparameter{direction}=3 \kansuji\year
4535     \else\number\year\nobreak\fi 年
4536   \else
4537     \pltx@today@year
4538   \fi
4539   \ifnum\ltjgetparameter{direction}=3
4540     \kansuji\month 月
4541     \kansuji\day 日
4542   \else
4543     \number\month\nobreak 月
4544     \number\day\nobreak 日
4545   \fi}}
4546 %    \end{macrocode}
4547 % \end{macro}
4548 % \end{macro}
4549 %
4550 %
4551 %
4552 %
4553 % \section{初期設定}
4554 %
4555 % \begin{macro}{\prepartname}
4556 % \begin{macro}{\postpartname}
4557 % \begin{macro}{\prechaptername}
4558 % \begin{macro}{\postchaptername}
4559 %    \begin{macrocode}
4560 \newcommand{\prepartname}{第}
4561 \newcommand{\postpartname}{部}
4562 %<report|book>\newcommand{\prechaptername}{第}
4563 %<report|book>\newcommand{\postchaptername}{章}
4564 %    \end{macrocode}
4565 % \end{macro}
4566 % \end{macro}
4567 % \end{macro}
4568 % \end{macro}
4569 %
4570 % \begin{macro}{\contentsname}
4571 % \begin{macro}{\listfigurename}
4572 % \begin{macro}{\listtablename}
4573 %    \begin{macrocode}
4574 \newcommand{\contentsname}{目 次}
4575 \newcommand{\listfigurename}{図 目 次}
4576 \newcommand{\listtablename}{表 目 次}
4577 %    \end{macrocode}
4578 % \end{macro}
4579 % \end{macro}
4580 % \end{macro}
4581 %
4582 % \begin{macro}{\refname}
4583 % \begin{macro}{\bibname}
4584 % \begin{macro}{\indexname}
4585 %    \begin{macrocode}
4586 %<article>\newcommand{\refname}{参考文献}
4587 %<report|book>\newcommand{\bibname}{関連図書}
4588 \newcommand{\indexname}{索 引}
4589 %    \end{macrocode}
4590 % \end{macro}
4591 % \end{macro}
4592 % \end{macro}
4593 %
4594 % \begin{macro}{\figurename}
4595 % \begin{macro}{\tablename}
4596 %    \begin{macrocode}
4597 \newcommand{\figurename}{図}
4598 \newcommand{\tablename}{表}
4599 %    \end{macrocode}
4600 % \end{macro}
4601 % \end{macro}
4602 %
4603 % \begin{macro}{\appendixname}
4604 % \begin{macro}{\abstractname}
4605 %    \begin{macrocode}
4606 \newcommand{\appendixname}{付 録}
4607 %<article|report>\newcommand{\abstractname}{概 要}
4608 %    \end{macrocode}
4609 % \end{macro}
4610 % \end{macro}
4611 %
4612 % |stfloats|パッケージがシステムにインストールされている場合は、このパッケージを使って
4613 % p\LaTeX の標準時と同じようにボトムフロートの下に脚注が組まれるようにします。
4614 % \changes{v1.0d}{1996/02/29}{articleとreportのデフォルトを
4615 %                              \pstyle{plain}に修正}
4616 % \changes{v1.4}{2002/04/09}{縦組スタイルで\cs{flushbottom}しないようにした}
4617 % \changes{v1.7d-ltj-13}{2017/02/19}{p\LaTeX とLua\TeX-jaの|\@makecol|が違うことを
4618 %   考慮していなかった}
4619 %    \begin{macrocode}
4620 %<book>\pagestyle{headings}
4621 %<!book>\pagestyle{plain}
4622 \pagenumbering{arabic}
4623 \raggedbottom
4624 \fnfixbottomtrue % 2017-02-19
4625 \IfFileExists{stfloats.sty}{\RequirePackage{stfloats}\fnbelowfloat}{}
4626 \if@twocolumn
4627   \twocolumn
4628   \sloppy
4629 \else
4630   \onecolumn
4631 \fi
4632 %    \end{macrocode}
4633 % |\@mparswitch|は傍注を左右(縦組では上下)どちらのマージンに
4634 % 出力するかの指定です。偽の場合、傍注は一方の側にしか出力されません。
4635 % このスイッチを真とすると、とくに縦組の場合、奇数ページでは本文の上に、
4636 % 偶数ページでは本文の下に傍注が出力されますので、おかしなことになります。
4637 %
4638 % また、縦組のときには、傍注を本文の下に出すようにしています。
4639 % |\reversemarginpar|とすると本文の上側に出力されます。
4640 % ただし、二段組の場合は、つねに隣接するテキスト側のマージンに出力されます。
4641 %    \begin{macrocode}
4642 %<*tate>
4643 \normalmarginpar
4644 \@mparswitchfalse
4645 %</tate>
4646 %<*yoko>
4647 \if@twoside
4648   \@mparswitchtrue
4649 \else
4650   \@mparswitchfalse
4651 \fi
4652 %</yoko>
4653 %</article|report|book>
4654 %    \end{macrocode}
4655 %
4656 % \section{各種パッケージへの対応}
4657 % もともと縦組での利用を想定されていないいくつかのパッケージについて、
4658 % 補正するためのコードを記述しておきます。
4659 % この節のコードは|filehook|パッケージ(Lua\TeX-ja読み込み時に自動でロードされます)
4660 % の機能を用いています。
4661 %
4662 % \subsection{\texttt{ftnright}パッケージ}
4663 % 脚注番号の書式が|ftnright|パッケージによって勝手に書き換えられるので、
4664 % パッケージ読み込み前に予め退避しておき、読み込み後に復帰させます。
4665 % \changes{v1.7d}{2017/02/19}{コード追加}
4666 %    \begin{macrocode}
4667 %<*article|report|book>
4668 \AtBeginOfPackageFile*{ftnright}{\let\ltjt@orig@@makefntext=\@makefntext}
4669 \AtEndOfPackageFile*{ftnright}{\let\@makefntext=\ltjt@orig@@makefntext}
4670 %</article|report|book>
4671 %    \end{macrocode}
4672 %
4673 %
4674 % \Finale
4675 %
4676 \endinput