OSDN Git Service

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