OSDN Git Service

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