OSDN Git Service

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