OSDN Git Service

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