OSDN Git Service

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