OSDN Git Service

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