OSDN Git Service

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