OSDN Git Service

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