OSDN Git Service

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