OSDN Git Service

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