OSDN Git Service

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