OSDN Git Service

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