OSDN Git Service

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