1 % \iffalse meta-comment
2 %% File: ltjclasses.dtx
3 % -----------------------------------------
4 % Original: jclasses.dtx
6 % Copyright 1995-2001 ASCII Corporation.
7 % Copyright (c) 2010 ASCII MEDIA WORKS
8 % Copyright (c) 2016-2020 Japanese TeX Development Community
10 % This file is part of the pLaTeX2e system (community edition).
11 % -------------------------------------------------------------
16 % \setcounter{StandardModuleDepth}{1}
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などの
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レベルが出力されない
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$以下にすると、
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}が
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ガードとコードを削除して
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を必ず奇数ページ
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}を
113 % \changes{v1.7e-ltj-15}{2017/08/31}{本ドキュメントのタイプセットで、小塚フォントが存在するときには
114 % それを用いるように変更(PDFサイズ削減のため)。}
115 % \changes{v1.7f}{2017/08/31}{和文書体の基準を全角空白から「漢」に変更}
116 % \changes{v1.7g}{2017/09/19}{内部処理で使ったボックス0を空にした}
117 % \changes{v1.7h}{2018/02/04}{和文スケール値\cs{Cjascale}を定義}
118 % \changes{v1.8}{2018/07/03}{\cs{today}のデフォルトを和暦から西暦に変更}
119 % \changes{v1.8-ltj-16}{2018/10/08}{Lua\TeX-jaが|disablejfam|オプションをサポートしたことによる変更}
120 % \changes{v1.8a}{2018/10/25}{ファイル書き出し時の行末文字対策
121 % (sync with ltsect.dtx 2018/09/26 v1.1c)}
122 % \changes{v1.8b}{2019/04/02}{新元号対応}
123 % \changes{v1.8b-ltj-17}{2019/08/12}{disablejfamの``Unused global option(s)''警告を出さないようにした}
124 % \changes{v1.8c}{2019/10/17}{フォントサイズ変更命令をrobustに
125 % (sync with classes.dtx 2019/08/27 v1.4j)}
126 % \changes{v1.8d}{2019/10/25}{Don't use \cs{MakeRobust} if
127 % in rollback prior to 2015
128 % (sync with classes.dtx 2019/10/25 v1.4k)}
129 % \changes{v1.8e}{2020/01/03}{Normalize label fonts
130 % (sync with classes.dtx 2019/12/20 v1.4l)}
131 % \changes{v1.8e-ltj-18}{2020/05/30}{原ノ味フォントが\TeX~Liveに導入されたことにより、
132 % v1.8-ltj-16の変更を削除。「\pTeX と互換性を持たせる」メトリックの変更などは
133 % 新設の|ptexmin|オプション指定時にのみ行うようにした。
135 % \changes{v1.8e-ltj-19}{2020/07/27}{|everyshi|パッケージへのパッチを別パッケージへ分離。}
136 % \changes{v1.8e-ltj-20}{2020/08/03}{\LaTeX~2020-10-01への対応.}
137 % \changes{v1.8f}{2020/09/30}{add a fourth argument for better
138 % hyperref compability
139 % (sync with ltsect.dtx 2020/07/27 v1.1e)}
140 % \changes{v1.8f-ltj-21}{2021-12-22}{余計なコメントの削除.}
141 % \changes{v1.8f-ltj-22}{2022-04-11}{kern featureが有効になっていたのを修正.}
142 % \changes{v1.8f-ltj-23}{2022-09-12}{|\stockwidth|がカーネルで定義される可能性に対応.}
146 \NeedsTeXFormat{LaTeX2e}
148 \ProvidesFile{ltjclasses.dtx}
151 %<article>\ProvidesClass{ltjarticle}
152 %<report>\ProvidesClass{ltjreport}
153 %<book>\ProvidesClass{ltjbook}
154 %<10pt&!bk>\ProvidesFile{ltjsize10.clo}
155 %<11pt&!bk>\ProvidesFile{ltjsize11.clo}
156 %<12pt&!bk>\ProvidesFile{ltjsize12.clo}
157 %<10pt&bk>\ProvidesFile{ltjbk10.clo}
158 %<11pt&bk>\ProvidesFile{ltjbk11.clo}
159 %<12pt&bk>\ProvidesFile{ltjbk12.clo}
162 %<article>\ProvidesClass{ltjtarticle}
163 %<report>\ProvidesClass{ltjtreport}
164 %<book>\ProvidesClass{ltjtbook}
165 %<10pt&!bk>\ProvidesFile{ltjtsize10.clo}
166 %<11pt&!bk>\ProvidesFile{ltjtsize11.clo}
167 %<12pt&!bk>\ProvidesFile{ltjtsize12.clo}
168 %<10pt&bk>\ProvidesFile{ltjtbk10.clo}
169 %<11pt&bk>\ProvidesFile{ltjtbk11.clo}
170 %<12pt&bk>\ProvidesFile{ltjtbk12.clo}
172 [2022-09-12 v1.8f-ltj-23
173 %<article|report|book> Standard LuaLaTeX-ja class]
174 %<10pt|11pt|12pt> Standard LuaLaTeX-ja file (size option)]
177 \documentclass{ltjltxdoc}
178 \GetFileInfo{ltjclasses.dtx}
179 \usepackage{unicode-math}
180 \setmathfont{Latin Modern Math}
181 \def\pLaTeX{p\kern-.05em\LaTeX}
182 \usepackage[unicode]{hyperref}
183 \title{Lua\LaTeX-ja用\texttt{jclasses}互換クラス}
184 \author{Lua\TeX-jaプロジェクト}
195 % このファイルは、Lua\LaTeX-ja用の|jclasses|互換クラスファイルです。
196 % コミュニティ版をベースに作成しています。
197 % \dst{}プログラムによって、横組用のクラスファイルと縦組用のクラスファイル
200 % 次に\dst{}プログラムのためのオプションを示します。
202 % \DeleteShortVerb{\|}
204 % \begin{tabular}{l|l}
205 % \emph{オプション} & \emph{意味}\\\hline
206 % article & articleクラスを生成\\
207 % report & reportクラスを生成\\
208 % book & bookクラスを生成\\
209 % 10pt & 10ptサイズの設定を生成\\
210 % 11pt & 11ptサイズの設定を生成\\
211 % 12pt & 12ptサイズの設定を生成\\
212 % bk & bookクラス用のサイズの設定を生成\\
219 % \subsection{\texttt{jclasses.dtx} からの主な変更点}
220 % 全ての変更点を知りたい場合は、|jclasses.dtx|と|ltjclasses.dtx|で|diff|を
225 % |! LaTeX Error: Too many math alphabets used in version ****.|
227 % のエラーが起こった場合は、|lualatex-math|パッケージを読み込んでみて下さい。
228 % \item 出力PDFの用紙サイズが自動的に設定されるようにしてあります。
229 % %%%\item 縦組みクラスにおいて、|geometry|パッケージを読み込んだときに意図通りにならない問題に対応しました。%
232 % \section{Lua\TeX-ja の読み込み}
233 % 最初に|luatexja|を読み込みます。
235 %<*article|report|book>
236 \RequirePackage{luatexja}
239 % \section{オプションスイッチ}
240 % ここでは、後ほど使用するいくつかのコマンドやスイッチを定義しています。
242 % \begin{macro}{\c@@paper}
244 % A4, A5, B4, B5用紙はそれぞれ、1, 2, 3, 4として表されます。
250 % \begin{macro}{\if@landscape}
251 % 用紙を横向きにするかどうかのスイッチです。デフォルトは、縦向きです。
253 \newif\if@landscape \@landscapefalse
257 % \begin{macro}{\@ptsize}
258 % 組版をするポイント数の一の位を保存するために使います。
261 \newcommand{\@ptsize}{}
265 % \begin{macro}{\if@restonecol}
266 % 二段組時に用いるテンポラリスイッチです。
272 % \begin{macro}{\if@titlepage}
273 % タイトルページやアブストラクト(概要)を
274 % 独立したページにするかどうかのスイッチです。
275 % reportとbookスタイルのデフォルトでは、独立したページになります。
278 %<article>\@titlepagefalse
279 %<report|book>\@titlepagetrue
283 % \begin{macro}{\if@openright}
284 % chapterレベルを右ページからはじめるかどうかのスイッチです。
285 % 横組では奇数ページ、縦組では偶数ページから始まることになります。
286 % reportクラスのデフォルトは、``no''です。
287 % bookクラスのデフォルトは、``yes''です。
289 %<!article>\newif\if@openright
293 % \begin{macro}{\if@openleft}
294 % chapterレベルを左ページからはじめるかどうかのスイッチです。
295 % 日本語\TeX{}開発コミュニティ版で新たに追加されました。
296 % 横組では偶数ページ、縦組では奇数ページから始まることになります。
297 % reportクラスとbookクラスの両方で、デフォルトは``no''です。
298 % \changes{v1.7d}{2017/02/15}{\cs{if@openleft}スイッチ追加}
300 %<!article>\newif\if@openleft
304 % \changes{v1.0c}{1995/12/25}{Macro \cs{if@openbib} removed}
306 % \begin{macro}{\if@mainmatter}
307 % スイッチ|\@mainmatter|が真の場合、本文を処理しています。
308 % このスイッチが偽の場合は、|\chapter|コマンドは見出し番号を出力しません。
310 %<book>\newif\if@mainmatter \@mainmattertrue
314 % \begin{macro}{\hour}
315 % \begin{macro}{\minute}
317 \hour\time \divide\hour by 60\relax
318 \@tempcnta\hour \multiply\@tempcnta 60\relax
319 \minute\time \advance\minute-\@tempcnta
324 % \begin{macro}{\if@stysize}
325 % \changes{v1.1a}{1997/01/25}{Add \cs{if@stysize}.}
326 % \LaTeXe~2.09互換モードで、スタイルオプションにa4j, a5pなどが指定された
327 % ときの動作をエミュレートするためのフラグです。
329 \newif\if@stysize \@stysizefalse
333 % \begin{macro}{\if@mathrmmc}
334 % 和欧文両対応の数式文字コマンドを有効にするときに用いるフラグです。
335 % マクロの展開順序が複雑になるのを避けるため、
336 % デフォルトではfalseとしてあります。
338 \newif\if@mathrmmc \@mathrmmcfalse
343 % ここでは、クラスオプションの宣言を行なっています。
345 % \subsection{用紙オプション}
348 \DeclareOption{a4paper}{\setcounter{@paper}{1}%
349 \setlength\paperheight {297mm}%
350 \setlength\paperwidth {210mm}}
351 \DeclareOption{a5paper}{\setcounter{@paper}{2}%
352 \setlength\paperheight {210mm}
353 \setlength\paperwidth {148mm}}
354 \DeclareOption{b4paper}{\setcounter{@paper}{3}%
355 \setlength\paperheight {364mm}
356 \setlength\paperwidth {257mm}}
357 \DeclareOption{b5paper}{\setcounter{@paper}{4}%
358 \setlength\paperheight {257mm}
359 \setlength\paperwidth {182mm}}
361 % \changes{v1.0a}{1995/09/26}{Change b4paper width/height 352x250 to 364x257}
362 % \changes{v1.0a}{1995/09/26}{Change b5paper width/height 250x176 to 257x182}
363 % ドキュメントクラスに、以下のオプションを指定すると、通常よりもテキストを
364 % 組み立てる領域の広いスタイルとすることができます。
367 \DeclareOption{a4j}{\setcounter{@paper}{1}\@stysizetrue
368 \setlength\paperheight {297mm}%
369 \setlength\paperwidth {210mm}}
370 \DeclareOption{a5j}{\setcounter{@paper}{2}\@stysizetrue
371 \setlength\paperheight {210mm}
372 \setlength\paperwidth {148mm}}
373 \DeclareOption{b4j}{\setcounter{@paper}{3}\@stysizetrue
374 \setlength\paperheight {364mm}
375 \setlength\paperwidth {257mm}}
376 \DeclareOption{b5j}{\setcounter{@paper}{4}\@stysizetrue
377 \setlength\paperheight {257mm}
378 \setlength\paperwidth {182mm}}
380 \DeclareOption{a4p}{\setcounter{@paper}{1}\@stysizetrue
381 \setlength\paperheight {297mm}%
382 \setlength\paperwidth {210mm}}
383 \DeclareOption{a5p}{\setcounter{@paper}{2}\@stysizetrue
384 \setlength\paperheight {210mm}
385 \setlength\paperwidth {148mm}}
386 \DeclareOption{b4p}{\setcounter{@paper}{3}\@stysizetrue
387 \setlength\paperheight {364mm}
388 \setlength\paperwidth {257mm}}
389 \DeclareOption{b5p}{\setcounter{@paper}{4}\@stysizetrue
390 \setlength\paperheight {257mm}
391 \setlength\paperwidth {182mm}}
394 % \subsection{サイズオプション}
395 % 基準となるフォントの大きさを指定するオプションです。
398 \renewcommand{\@ptsize}{0}
400 \DeclareOption{10pt}{\renewcommand{\@ptsize}{0}}
402 \DeclareOption{11pt}{\renewcommand{\@ptsize}{1}}
403 \DeclareOption{12pt}{\renewcommand{\@ptsize}{2}}
406 % \subsection{横置きオプション}
407 % このオプションが指定されると、用紙の縦と横の長さを入れ換えます。
408 % \changes{v1.1h}{1997/09/03}{オプションの処理時に縦横の値を交換}
409 % \changes{v1.1h}{1997/09/03}{landscapeオプションを互換モードでも有効に}
411 \DeclareOption{landscape}{\@landscapetrue
412 \setlength\@tempdima{\paperheight}%
413 \setlength\paperheight{\paperwidth}%
414 \setlength\paperwidth{\@tempdima}}
417 % \subsection{トンボオプション}
418 % |tombow|オプションが指定されると、用紙サイズに合わせてトンボを出力します。
419 % このとき、トンボの脇にPDFを作成した日付が出力されます。
420 % 作成日付の出力を抑制するには、|tombow|ではなく、|tombo|と指定をします。
422 % ジョブ情報の書式は元々|filename : 2017/3/5(13:3)|のような書式でしたが、
423 % jsclassesにあわせて桁数固定の|filename (2017-03-05 13:03)|に直しました。
424 % \changes{v1.0g}{1996/09/03}{Add to \cs{@bannertoken}.}
425 % \changes{v1.1a}{1997/01/23}{日付出力オプション}
426 % \changes{v1.7e}{2017/03/05}{トンボに表示するジョブ情報の書式を変更}
428 \DeclareOption{tombow}{%
429 \tombowtrue \tombowdatetrue
430 \setlength{\@tombowwidth}{.1\p@}%
432 \jobname\space(\number\year-\two@digits\month-\two@digits\day
433 \space\two@digits\hour:\two@digits\minute)}%
435 \DeclareOption{tombo}{%
436 \tombowtrue \tombowdatefalse
437 \setlength{\@tombowwidth}{.1\p@}%
441 % \subsection{面付けオプション}
442 % このオプションが指定されると、トンボオプションを指定したときと同じ
443 % 位置に文章を出力します。作成したPDFをフィルムに面付け出力する場合など
445 % \changes{v1.0f}{1996/07/10}{面付けオプションを追加}
446 % \changes{v1.1n}{1998/10/13}
447 % {動作していなかったのを修正。ありがとう、刀祢さん}
449 \DeclareOption{mentuke}{%
450 \tombowtrue \tombowdatefalse
451 \setlength{\@tombowwidth}{\z@}%
455 % \subsection{組方向オプション}
456 % このオプションが指定されると、縦組で組版をします。
457 % \changes{v1.0g}{1997/01/25}{Insert \cs{hbox}, to switch tate-mode.}
458 % \changes{v1.1d}{1997/02/05}{開始ページがおかしくなるのを修正}
459 % \changes{v1.1f}{1997/07/08}{縦組時にベースラインがおかしくなるのを修正}
461 % [2014-06-30 LTJ] 本文の組方向を \cs{AtBeginDocument}で変更することができなくなったことに対応。
463 \DeclareOption{tate}{%
464 \tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}%
468 % 縦組クラスと|everyshi|パッケージの相性が悪い問題に対処します。
469 % この処理は、ZRさんの|pxeveryshi|パッケージと実質的に同じ内容です。
471 % [2020-07-27 LTJ] |lltjp-everyshi.sty|に移しました。
474 %\AtEndOfPackageFile{everyshi}{%
475 % \def\@EveryShipout@Output{%
478 % \@EveryShipout@Hook
479 % \@EveryShipout@AtNextHook
480 % \global\setbox\luatexoutputbox=\box\luatexoutputbox
482 % \gdef\@EveryShipout@AtNextHook{}%
483 % \@EveryShipout@Org@Shipout\box\luatexoutputbox
488 % \subsection{両面、片面オプション}
489 % twosideオプションが指定されると、両面印字出力に適した整形を行ないます。
491 \DeclareOption{oneside}{\@twosidefalse}
492 \DeclareOption{twoside}{\@twosidetrue}
495 % \subsection{二段組オプション}
496 % 二段組にするかどうかのオプションです。
498 \DeclareOption{onecolumn}{\@twocolumnfalse}
499 \DeclareOption{twocolumn}{\@twocolumntrue}
502 % \subsection{表題ページオプション}
503 % |@titlepage|が真の場合、表題を独立したページに出力します。
505 \DeclareOption{titlepage}{\@titlepagetrue}
506 \DeclareOption{notitlepage}{\@titlepagefalse}
509 % \subsection{右左起こしオプション}
510 % chapterを右ページあるいは左ページから
511 % はじめるかどうかを指定するオプションです。
512 % |openleft|オプションは日本語\TeX{}開発コミュニティによって追加されました。
513 % \changes{v1.7d}{2017/02/15}{openleftオプション追加}
515 %<!article>\if@compatibility
516 %<book>\@openrighttrue
518 %<!article>\DeclareOption{openright}{\@openrighttrue\@openleftfalse}
519 %<!article>\DeclareOption{openleft}{\@openlefttrue\@openrightfalse}
520 %<!article>\DeclareOption{openany}{\@openrightfalse\@openleftfalse}
524 % \subsection{数式のオプション}
525 % \Lopt{leqno}を指定すると、数式番号を数式の左側に出力します。
526 % \Lopt{fleqn}を指定するとディスプレイ数式を左揃えで出力します。
528 \DeclareOption{leqno}{\input{leqno.clo}}
529 \DeclareOption{fleqn}{\input{fleqn.clo}}
532 % \subsection{参考文献のオプション}
533 % 参考文献一覧を``オープンスタイル''の書式で出力します。
534 % これは各ブロックが改行で区切られ、|\bibindent|のインデントが付く書式です。
535 % \changes{v1.0c}{1995/12/25}{openbibオプションを再実装}
537 \DeclareOption{openbib}{%
539 % 参考文献環境内の最初のいくつかのフックを満たします。
542 \renewcommand\@openbib@code{%
543 \advance\leftmargin\bibindent
544 \itemindent -\bibindent
545 \listparindent \itemindent
549 % そして、|\newblock|を再定義します。
551 \renewcommand\newblock{\par}}}
554 % \subsection{日本語ファミリ宣言の抑制、和欧文両対応の数式文字}
555 % p\TeX では数式ファミリの数が16個だったので日本語ファミリ宣言を抑制する
556 % |disablejfam|オプションが用意されていましたが、Lua\TeX ではOmega拡張が
557 % 取り込まれて数式ファミリは256個まで使用できるため、このオプションは必要ありません。
558 % ただし、\LaTeXe カーネルでは未だに数式ファミリの数は16個に制限されているので、
559 % 実際に使用可能な数式ファミリの数を増やすためには|lualatex-math|パッケージを
560 % 読み込む必要があることに注意が必要です。
563 % |\mathrm|と|\mathbf|を和欧文両対応にするためのクラスオプションです。
564 % \changes{v1.1d}{1992/02/04}{disablejfamの判断を間違えてたのを修正}
566 % [2018-10-08 LTJ] Lua\TeX-ja本体が、主にメモリ消費を抑える目的で
567 % |disablejfam|オプションをサポートしました。そのため以前出していた警告は削除します。
572 \DeclareOption{mathrmmc}{\@mathrmmctrue}
577 % \subsection{ドラフトオプション}
578 % |draft|オプションを指定すると、オーバフルボックスの起きた箇所に、
581 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
582 \DeclareOption{final}{\setlength\overfullrule{0pt}}
583 %</article|report|book>
586 % \subsection{フォントメトリックの変更}
587 % Lua\LaTeX-jaの標準では、OTFパッケージ由来のメトリックが使われるようになっています。
588 % 本クラスでは、「p\TeX の組版と互換性をできるだけ持たせる」例を提示するため、|ptexmin|オプション指定時のみ
590 % \item メトリックを\texttt{min10.tfm}ベースの\texttt{jfm-min.lua}に変更。
591 % \item 明朝とゴシックは両方とも\texttt{jfm-min.lua}を用いるが、
592 % 和文処理用グルー挿入時には「違うメトリックを使用」として思わせる。
593 % \item p\TeX と同様に、「異なるメトリックの2つの和文文字」の間には、両者から定める
595 % \item calllbackを利用し、標準で用いる\texttt{jfm-min.lua}を、段落始めの括弧が全角二分下がりになるように内部で変更。
600 % |\ltj@stdmcfont|,~|\ltj@stdgtfont| による、デフォルトで使われ明朝・ゴシックのフォントの
601 % 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではありません。
603 % [2015-01-01 LTJ] サイズクラスのロード前にメトリックの変更を行わないと、
604 % \cs{Cht}等の値が反映されないのでこの場所に移動させました。
606 % [2020-05-30 LTJ] 本節の内容は新設の|ptexmin|オプション指定時にのみ行うようにしました。
607 % その関係で、実際の処理は|\ProcessOptions|のところに移動させました。
610 %<*article|report|book>
612 \DeclareOption{ptexmin}{\ptexmintrue}%
613 %</article|report|book>
616 % \subsection{disablejfamオプション}
617 % disablejfamオプションはLua\TeX-ja本体で処理しますが、
618 % もうLua\TeX-jaは読み込んでいるため、このままでは``Unused global option(s): [disablejfam]''警告が
619 % 出てしまいます。そのため、「何もしない」disablejfamオプションをクラス内で定義しておきます。
621 % [2019-08-12 LTJ] |disablejfam|の``Unused global option(s)''警告を出さないようにした。
624 %<*article|report|book>
625 \DeclareOption{disablejfam}{}
626 %</article|report|book>
629 % \subsection{オプションの実行}
630 % オプションの実行、およびサイズクラスのロードを行ないます。
632 %<*article|report|book>
634 %<tate>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,tate}
635 %<yoko>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final}
638 %<tate>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany,tate}
639 %<yoko>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany}
642 %<tate>\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright,tate}
643 %<yoko>\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright}
645 \ProcessOptions\relax
648 % [2020-05-30 LTJ] 「フォントメトリックの変更」の節の内容の処理をここで行います。
650 % [2022-04-11 LTJ] kern featureを無効にするのを忘れていました.
654 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
655 function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
656 'ltj.jclasses_load_jfm', 1)}
657 {\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua
658 \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
659 \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:-kern;jfm=min}{}
660 \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:-kern;jfm=min;jfmvar=goth}{}
661 \ltjglobalsetparameter{differentjfm=both}
662 \directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
667 %<book&tate>\input{ltjtbk1\@ptsize.clo}
668 %<!book&tate>\input{ltjtsize1\@ptsize.clo}
669 %<book&yoko>\input{ltjbk1\@ptsize.clo}
670 %<!book&yoko>\input{ltjsize1\@ptsize.clo}
672 % 縦組用クラスファイルの場合は、ここで\file{plext.sty}も読み込みます。
673 % \changes{v1.0e}{1996/03/21}{\cs{usepackage} to \cs{RequirePackage}}
675 % [2014-07-28 LTJ] Lua\TeX-jaでは、代わりに\file{lltjext.sty}を読み込みま
676 % す。これは\file{plext.sty}をLua\TeX-ja用に書きなおしたものです。
678 %<tate>\RequirePackage{lltjext}
679 %</article|report|book>
684 % ここでは、\LaTeX{}のフォントサイズコマンドの定義をしています。
685 % フォントサイズコマンドの定義は、次のコマンドを用います。
687 % |\@setfontsize||\size|\meta{font-size}\meta{baselineskip}
689 % \begin{description}
690 % \item[\meta{font-size}] これから使用する、フォントの実際の大きさです。
691 % \item[\meta{baselineskip}] 選択されるフォントサイズ用の通常の
692 % |\baselineskip|の値です(実際は、|\baselinestretch| * \meta{baselineskip}
696 % 数値コマンドは、次のように\LaTeX{}カーネルで定義されています。
698 % \begin{tabular}{ll@{\qquad}ll@{\qquad}ll}
699 % \verb=\@vpt= & 5 & \verb=\@vipt= & 6 & \verb=\@viipt= & 7 \\
700 % \verb=\@viiipt= & 8 & \verb=\@ixpt= & 9 & \verb=\@xpt= & 10 \\
701 % \verb=\@xipt= & 10.95 & \verb=\@xiipt= & 12 & \verb=\@xivpt= & 14.4\\
706 % \begin{macro}{\normalsize}
707 % \begin{macro}{\@normalsize}
708 % 基本サイズとするユーザレベルのコマンドは|\normalsize|です。
709 % \LaTeX{}の内部では|\@normalsize|を使用します。
711 % |\normalsize|マクロは、|\abovedisplayskip|と
712 % |\abovedisplayshortskip|、および|\belowdisplayshortskip|の値も設定をします。
713 % |\belowdisplayskip|は、つねに|\abovedisplayskip|と同値です。
715 % また、リスト環境のトップレベルのパラメータは、つねに|\@listI|で与えられます。
718 \renewcommand{\normalsize}{%
719 %<10pt&yoko> \@setfontsize\normalsize\@xpt{15}%
720 %<11pt&yoko> \@setfontsize\normalsize\@xipt{15.5}%
721 %<12pt&yoko> \@setfontsize\normalsize\@xiipt{16.5}%
722 %<10pt&tate> \@setfontsize\normalsize\@xpt{17}%
723 %<11pt&tate> \@setfontsize\normalsize\@xipt{17}%
724 %<12pt&tate> \@setfontsize\normalsize\@xiipt{18}%
726 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
727 \abovedisplayshortskip \z@ \@plus3\p@
728 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
731 \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
732 \abovedisplayshortskip \z@ \@plus3\p@
733 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
736 \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
737 \abovedisplayshortskip \z@ \@plus3\p@
738 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
740 \belowdisplayskip \abovedisplayskip
744 % ここで、ノーマルフォントを選択し、初期化をします。
745 % このとき、縦組モードならば、デフォルトのエンコードを変更します。
747 %<tate>\def\kanjiencodingdefault{JT3}%
748 %<tate>\kanjiencoding{\kanjiencodingdefault}%
752 % |\normalsize|をrobustにします。
753 % すぐ上で|\DeclareRobustCommand|とせずに、
754 % カーネルの定義を|\renewcommand|した後に|\MakeRobust|を使っている理由は、
755 % ログに |LaTeX Info: Redefining \normalsize on input line ...| という
757 % ただし、\textsf{latexrelease}パッケージで2015/01/01より
758 % 昔の日付に巻き戻っている場合は|\MakeRobust|が定義されていません。
759 % \changes{v1.8c}{2019/10/17}{フォントサイズ変更命令をrobustに
760 % (sync with classes.dtx 2019/08/27 v1.4j)}
761 % \changes{v1.8d}{2019/10/25}{Don't use \cs{MakeRobust} if
762 % in rollback prior to 2015
763 % (sync with classes.dtx 2019/10/25 v1.4k)}
765 \ifx\MakeRobust\@undefined \else
766 \MakeRobust\normalsize
772 % \begin{macro}{\Cht}
773 % \begin{macro}{\Cdp}
774 % \begin{macro}{\Cwd}
775 % \begin{macro}{\Cvs}
776 % \begin{macro}{\Chs}
777 % 基準となる長さの設定をします。これらのパラメータは\file{lltjfont.sty}で定義
778 % されています。基準とする文字を「全角空白」(EUCコード\texttt{0xA1A1})から
779 % 「漢」(JISコード\texttt{0x3441})へ変更しました。
780 % \changes{v1.7f}{2017/08/31}{和文書体の基準を全角空白から「漢」に変更}
781 % \changes{v1.7g}{2017/09/19}{内部処理で使ったボックス0を空にした}
787 \setlength\Cvs{\baselineskip}
789 \setbox0=\box\voidb@x
797 % \begin{macro}{\small}
798 % |\small|コマンドの定義は、|\normalsize|に似ています。
799 % こちらはカーネルで未定義なので、直接|\DeclareRobustCommand|で定義します。
800 % \changes{v1.8c}{2019/10/17}{フォントサイズ変更命令をrobustに
801 % (sync with classes.dtx 2019/08/27 v1.4j)}
803 \DeclareRobustCommand{\small}{%
805 \@setfontsize\small\@ixpt{11}%
806 \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
807 \abovedisplayshortskip \z@ \@plus2\p@
808 \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
809 \def\@listi{\leftmargin\leftmargini
810 \topsep 4\p@ \@plus2\p@ \@minus2\p@
811 \parsep 2\p@ \@plus\p@ \@minus\p@
815 \@setfontsize\small\@xpt\@xiipt
816 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
817 \abovedisplayshortskip \z@ \@plus3\p@
818 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
819 \def\@listi{\leftmargin\leftmargini
820 \topsep 6\p@ \@plus2\p@ \@minus2\p@
821 \parsep 3\p@ \@plus2\p@ \@minus\p@
825 \@setfontsize\small\@xipt{13.6}%
826 \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
827 \abovedisplayshortskip \z@ \@plus3\p@
828 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
829 \def\@listi{\leftmargin\leftmargini
830 \topsep 9\p@ \@plus3\p@ \@minus5\p@
831 \parsep 4.5\p@ \@plus2\p@ \@minus\p@
834 \belowdisplayskip \abovedisplayskip}
838 % \begin{macro}{\footnotesize}
839 % |\footnotesize|コマンドの定義は、|\normalsize|に似ています。
840 % こちらも直接|\DeclareRobustCommand|で定義します。
841 % \changes{v1.8c}{2019/10/17}{フォントサイズ変更命令をrobustに
842 % (sync with classes.dtx 2019/08/27 v1.4j)}
844 \DeclareRobustCommand{\footnotesize}{%
846 \@setfontsize\footnotesize\@viiipt{9.5}%
847 \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
848 \abovedisplayshortskip \z@ \@plus\p@
849 \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
850 \def\@listi{\leftmargin\leftmargini
851 \topsep 3\p@ \@plus\p@ \@minus\p@
852 \parsep 2\p@ \@plus\p@ \@minus\p@
856 \@setfontsize\footnotesize\@ixpt{11}%
857 \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
858 \abovedisplayshortskip \z@ \@plus\p@
859 \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
860 \def\@listi{\leftmargin\leftmargini
861 \topsep 4\p@ \@plus2\p@ \@minus2\p@
862 \parsep 2\p@ \@plus\p@ \@minus\p@
866 \@setfontsize\footnotesize\@xpt\@xiipt
867 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
868 \abovedisplayshortskip \z@ \@plus3\p@
869 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
870 \def\@listi{\leftmargin\leftmargini
871 \topsep 6\p@ \@plus2\p@ \@minus2\p@
872 \parsep 3\p@ \@plus2\p@ \@minus\p@
875 \belowdisplayskip \abovedisplayskip}
879 % \begin{macro}{\scriptsize}
880 % \begin{macro}{\tiny}
881 % \begin{macro}{\large}
882 % \begin{macro}{\Large}
883 % \begin{macro}{\LARGE}
884 % \begin{macro}{\huge}
885 % \begin{macro}{\Huge}
886 % これらは先ほどのマクロよりも簡単です。これらはフォントサイズを変更する
887 % だけで、リスト環境とディスプレイ数式のパラメータは変更しません。
888 % \changes{v1.8c}{2019/10/17}{フォントサイズ変更命令をrobustに
889 % (sync with classes.dtx 2019/08/27 v1.4j)}
892 \DeclareRobustCommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt}
893 \DeclareRobustCommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt}
894 \DeclareRobustCommand{\large}{\@setfontsize\large\@xiipt{17}}
895 \DeclareRobustCommand{\Large}{\@setfontsize\Large\@xivpt{21}}
896 \DeclareRobustCommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
897 \DeclareRobustCommand{\huge}{\@setfontsize\huge\@xxpt{28}}
898 \DeclareRobustCommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
901 \DeclareRobustCommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
902 \DeclareRobustCommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
903 \DeclareRobustCommand{\large}{\@setfontsize\large\@xiipt{17}}
904 \DeclareRobustCommand{\Large}{\@setfontsize\Large\@xivpt{21}}
905 \DeclareRobustCommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
906 \DeclareRobustCommand{\huge}{\@setfontsize\huge\@xxpt{28}}
907 \DeclareRobustCommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
910 \DeclareRobustCommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
911 \DeclareRobustCommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
912 \DeclareRobustCommand{\large}{\@setfontsize\large\@xivpt{21}}
913 \DeclareRobustCommand{\Large}{\@setfontsize\Large\@xviipt{25}}
914 \DeclareRobustCommand{\LARGE}{\@setfontsize\LARGE\@xxpt{28}}
915 \DeclareRobustCommand{\huge}{\@setfontsize\huge\@xxvpt{33}}
928 % \begin{macro}{\Cjascale}
929 % このクラスファイルが意図する和文スケール値
930 % ($1\,\mathrm{zw} \div \textmc{要求サイズ}$)を
931 % 表す実数値マクロ|\Cjascale|を定義します。
932 % この\texttt{jclasses}互換クラスでは、Lua\TeX-ja読み込み時の和文スケール値がそのまま
933 % 使用され、その値は0.962216です。
934 % \changes{v1.7h}{2018/02/04}{和文スケール値\cs{Cjascale}を定義}
936 %<*article|report|book>
937 \def\Cjascale{0.962216}
938 %</article|report|book>
946 % \subsection{用紙サイズの決定}
948 % \begin{macro}{\columnsep}
949 % \begin{macro}{\columnseprule}
950 % |\columnsep|は、二段組のときの、左右(あるいは上下)の段間の幅です。
951 % このスペースの中央に|\columnseprule|の幅の罫線が引かれます。
952 % \changes{v1.0g}{1997/01/25}{\cs{columnsep}: 10pt to 3\cs{Cwd} or 2\cs{Cwd}.}
954 %<*article|report|book>
956 %<tate> \setlength\columnsep{3\Cwd}
957 %<yoko> \setlength\columnsep{2\Cwd}
959 \setlength\columnsep{10\p@}
961 \setlength\columnseprule{0\p@}
966 % \begin{macro}{\pagewidth}
967 % \begin{macro}{\pageheight}
968 % \begin{macro}{\stockwidth}
969 % \begin{macro}{\stockheight}
970 % 出力のPDFの用紙サイズをここで設定しておきます。
971 % |tombow|が真のときは2インチ足しておきます。
973 % [2015-10-18 LTJ] Lua\TeX\ 0.81.0ではプリミティブの名称変更がされたので、
976 % [2016-07-19 LTJ] luatex.defが新しくなったことに対応するaminophenさんのパッチを取り込みました。
978 % [2017-01-17 LTJ] [lt]jsclassesに合わせ、トンボオプションが指定されているとき「だけ」|\stockwidth|、
979 % |\stockheight|を定義するようにしました。aminophenさん、ありがとうございます。
981 % [2022-09-12 LTJ] \LaTeXe カーネルに|\stockwidth|、|\stockheight|が追加されるようですので、
982 % クラスファイル側では未定義のときのみこれらの長さ変数を定義します。h20y6mさん、ありがとうございます。
986 \ifdefined\stockwidth\else\newlength{\stockwidth}\fi
987 \ifdefined\stockheight\else\newlength{\stockheight}\fi
988 \setlength{\stockwidth}{\paperwidth}
989 \setlength{\stockheight}{\paperheight}
990 \advance \stockwidth 2in
991 \advance \stockheight 2in
992 \ifdefined\pdfpagewidth
993 \setlength{\pdfpagewidth}{\stockwidth}
994 \setlength{\pdfpageheight}{\stockheight}
996 \setlength{\pagewidth}{\stockwidth}
997 \setlength{\pageheight}{\stockheight}
1000 \ifdefined\pdfpagewidth
1001 \setlength{\pdfpagewidth}{\paperwidth}
1002 \setlength{\pdfpageheight}{\paperheight}
1004 \setlength{\pagewidth}{\paperwidth}
1005 \setlength{\pageheight}{\paperheight}
1016 % \begin{macro}{\lineskip}
1017 % \begin{macro}{\normallineskip}
1018 % これらの値は、行が近付き過ぎたときの\TeX の動作を制御します。
1020 \setlength\lineskip{1\p@}
1021 \setlength\normallineskip{1\p@}
1026 % \begin{macro}{\baselinestretch}
1027 % これは、|\baselineskip|の倍率を示すために使います。
1028 % デフォルトでは、\emph{何もしません}。このコマンドが``empty''でない場合、
1029 % |\baselineskip|の指定の\texttt{plus}や\texttt{minus}部分は無視される
1032 \renewcommand{\baselinestretch}{}
1036 % \begin{macro}{\parskip}
1037 % \begin{macro}{\parindent}
1038 % |\parskip|は段落間に挿入される、縦方向の追加スペースです。
1039 % |\parindent|は段落の先頭の字下げ幅です。
1041 \setlength\parskip{0\p@ \@plus \p@}
1042 \setlength\parindent{1\Cwd}
1047 % \begin{macro}{\smallskipamount}
1048 % \begin{macro}{\medskipamount}
1049 % \begin{macro}{\bigskipamount}
1050 % これら3つのパラメータの値は、\LaTeX{}カーネルの中で設定されています。
1051 % これらはおそらく、サイズオプションの指定によって変えるべきです。
1052 % しかし、\LaTeX~2.09や\LaTeXe{}の以前のリリースの両方との互換性を保つために、
1056 \setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
1057 \setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
1058 \setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
1065 % \begin{macro}{\@lowpenalty}
1066 % \begin{macro}{\@medpenalty}
1067 % \begin{macro}{\@highpenalty}
1068 % |\nopagebreak|と|\nolinebreak|コマンドは、これらのコマンドが置かれた場所に、
1069 % ペナルティを起いて、分割を制御します。
1070 % 置かれるペナルティは、コマンドの引数によって、
1071 % |\@lowpenalty|, |\@medpenalty|, |\@highpenalty|のいずれかが使われます。
1076 %</article|report|book>
1082 % \subsection{ページレイアウト}
1084 % \subsubsection{縦方向のスペース}
1086 % \begin{macro}{\headheight}
1087 % \begin{macro}{\headsep}
1088 % \begin{macro}{\topskip}
1089 % |\headheight|は、ヘッダが入るボックスの高さです。
1090 % |\headsep|は、ヘッダの下端と本文領域との間の距離です。
1091 % |\topskip|は、本文領域の上端と1行目のテキストのベースラインとの距離です。
1094 \setlength\headheight{12\p@}
1097 \ifnum\c@@paper=2 % A5
1098 \setlength\headsep{6mm}
1099 \else % A4, B4, B5 and other
1100 \setlength\headsep{8mm}
1103 \setlength\headsep{8mm}
1107 %<!bk>\setlength\headsep{25\p@}
1108 %<10pt&bk>\setlength\headsep{.25in}
1109 %<11pt&bk>\setlength\headsep{.275in}
1110 %<12pt&bk>\setlength\headsep{.275in}
1112 \setlength\topskip{1\Cht}
1118 % \begin{macro}{\footskip}
1119 % |\footskip|は、本文領域の下端とフッタの下端との距離です。
1120 % フッタのボックスの高さを示す、|\footheight|は削除されました。
1122 %<tate>\setlength\footskip{14mm}
1124 %<!bk>\setlength\footskip{30\p@}
1125 %<10pt&bk>\setlength\footskip{.35in}
1126 %<11pt&bk>\setlength\footskip{.38in}
1127 %<12pt&bk>\setlength\footskip{30\p@}
1132 % \begin{macro}{\maxdepth}
1133 % \changes{v1.1c}{1995/12/25}{\cs{@maxdepth}の設定を除外した}
1134 % \TeX のプリミティブレジスタ|\maxdepth|は、|\topskip|と同じような
1135 % 働きをします。|\@maxdepth|レジスタは、つねに|\maxdepth|のコピーでなくては
1136 % いけません。これは|\begin{document}|の内部で設定されます。
1137 % \TeX{}と\LaTeX~2.09では、|\maxdepth|は\texttt{4pt}に固定です。
1138 % \LaTeXe{}では、|\maxdepth|$+$|\topskip|を基本サイズの1.5倍にしたいので、
1139 % |\maxdepth|を|\topskip|の半分の値で設定します。
1142 \setlength\maxdepth{4\p@}
1144 \setlength\maxdepth{.5\topskip}
1149 % \subsubsection{本文領域}
1150 % |\textheight|と|\textwidth|は、本文領域の通常の高さと幅を示します。
1151 % 縦組でも横組でも、``高さ''は行数を、``幅''は字詰めを意味します。
1152 % 後ほど、これらの長さに|\topskip|の値が加えられます。
1154 % \begin{macro}{\textwidth}
1161 % \changes{v1.1a}{1997/01/25}{Add paper option with compatibility mode.}
1162 % \changes{v1.1h}{1997/09/03}{landscapeでの指定を追加}
1163 % 互換モード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1166 \ifnum\c@@paper=2 % A5
1168 %<10pt&yoko> \setlength\textwidth{47\Cwd}
1169 %<11pt&yoko> \setlength\textwidth{42\Cwd}
1170 %<12pt&yoko> \setlength\textwidth{40\Cwd}
1171 %<10pt&tate> \setlength\textwidth{27\Cwd}
1172 %<11pt&tate> \setlength\textwidth{25\Cwd}
1173 %<12pt&tate> \setlength\textwidth{23\Cwd}
1175 %<10pt&yoko> \setlength\textwidth{28\Cwd}
1176 %<11pt&yoko> \setlength\textwidth{25\Cwd}
1177 %<12pt&yoko> \setlength\textwidth{24\Cwd}
1178 %<10pt&tate> \setlength\textwidth{46\Cwd}
1179 %<11pt&tate> \setlength\textwidth{42\Cwd}
1180 %<12pt&tate> \setlength\textwidth{38\Cwd}
1182 \else\ifnum\c@@paper=3 % B4
1184 %<10pt&yoko> \setlength\textwidth{75\Cwd}
1185 %<11pt&yoko> \setlength\textwidth{69\Cwd}
1186 %<12pt&yoko> \setlength\textwidth{63\Cwd}
1187 %<10pt&tate> \setlength\textwidth{53\Cwd}
1188 %<11pt&tate> \setlength\textwidth{49\Cwd}
1189 %<12pt&tate> \setlength\textwidth{44\Cwd}
1191 %<10pt&yoko> \setlength\textwidth{60\Cwd}
1192 %<11pt&yoko> \setlength\textwidth{55\Cwd}
1193 %<12pt&yoko> \setlength\textwidth{50\Cwd}
1194 %<10pt&tate> \setlength\textwidth{85\Cwd}
1195 %<11pt&tate> \setlength\textwidth{76\Cwd}
1196 %<12pt&tate> \setlength\textwidth{69\Cwd}
1198 \else\ifnum\c@@paper=4 % B5
1200 %<10pt&yoko> \setlength\textwidth{60\Cwd}
1201 %<11pt&yoko> \setlength\textwidth{55\Cwd}
1202 %<12pt&yoko> \setlength\textwidth{50\Cwd}
1203 %<10pt&tate> \setlength\textwidth{34\Cwd}
1204 %<11pt&tate> \setlength\textwidth{31\Cwd}
1205 %<12pt&tate> \setlength\textwidth{28\Cwd}
1207 %<10pt&yoko> \setlength\textwidth{37\Cwd}
1208 %<11pt&yoko> \setlength\textwidth{34\Cwd}
1209 %<12pt&yoko> \setlength\textwidth{31\Cwd}
1210 %<10pt&tate> \setlength\textwidth{55\Cwd}
1211 %<11pt&tate> \setlength\textwidth{51\Cwd}
1212 %<12pt&tate> \setlength\textwidth{47\Cwd}
1214 \else % A4 ant other
1216 %<10pt&yoko> \setlength\textwidth{73\Cwd}
1217 %<11pt&yoko> \setlength\textwidth{68\Cwd}
1218 %<12pt&yoko> \setlength\textwidth{61\Cwd}
1219 %<10pt&tate> \setlength\textwidth{41\Cwd}
1220 %<11pt&tate> \setlength\textwidth{38\Cwd}
1221 %<12pt&tate> \setlength\textwidth{35\Cwd}
1223 %<10pt&yoko> \setlength\textwidth{47\Cwd}
1224 %<11pt&yoko> \setlength\textwidth{43\Cwd}
1225 %<12pt&yoko> \setlength\textwidth{40\Cwd}
1226 %<10pt&tate> \setlength\textwidth{67\Cwd}
1227 %<11pt&tate> \setlength\textwidth{61\Cwd}
1228 %<12pt&tate> \setlength\textwidth{57\Cwd}
1236 \setlength\textwidth{52\Cwd}
1238 %<10pt&!bk&yoko> \setlength\textwidth{327\p@}
1239 %<11pt&!bk&yoko> \setlength\textwidth{342\p@}
1240 %<12pt&!bk&yoko> \setlength\textwidth{372\p@}
1241 %<10pt&bk&yoko> \setlength\textwidth{4.3in}
1242 %<11pt&bk&yoko> \setlength\textwidth{4.8in}
1243 %<12pt&bk&yoko> \setlength\textwidth{4.8in}
1244 %<10pt&tate> \setlength\textwidth{67\Cwd}
1245 %<11pt&tate> \setlength\textwidth{61\Cwd}
1246 %<12pt&tate> \setlength\textwidth{57\Cwd}
1254 % 2eモード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1255 % 二段組では用紙サイズの8割、一段組では用紙サイズの7割を版面の幅として
1260 %<yoko> \setlength\textwidth{.8\paperwidth}
1261 %<tate> \setlength\textwidth{.8\paperheight}
1263 %<yoko> \setlength\textwidth{.7\paperwidth}
1264 %<tate> \setlength\textwidth{.7\paperheight}
1270 %<tate> \setlength\@tempdima{\paperheight}
1271 %<yoko> \setlength\@tempdima{\paperwidth}
1272 \addtolength\@tempdima{-2in}
1273 %<tate> \addtolength\@tempdima{-1.3in}
1274 %<yoko&10pt> \setlength\@tempdimb{327\p@}
1275 %<yoko&11pt> \setlength\@tempdimb{342\p@}
1276 %<yoko&12pt> \setlength\@tempdimb{372\p@}
1277 %<tate&10pt> \setlength\@tempdimb{67\Cwd}
1278 %<tate&11pt> \setlength\@tempdimb{61\Cwd}
1279 %<tate&12pt> \setlength\@tempdimb{57\Cwd}
1281 \ifdim\@tempdima>2\@tempdimb\relax
1282 \setlength\textwidth{2\@tempdimb}
1284 \setlength\textwidth{\@tempdima}
1287 \ifdim\@tempdima>\@tempdimb\relax
1288 \setlength\textwidth{\@tempdimb}
1290 \setlength\textwidth{\@tempdima}
1295 \@settopoint\textwidth
1299 % \begin{macro}{\textheight}
1306 % \changes{v1.1a}{1997/01/25}{Add paper option with compatibility mode.}
1307 % \changes{v1.1f}{1997/09/03}{landscapeでの指定を追加}
1308 % 互換モード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1311 \ifnum\c@@paper=2 % A5
1313 %<10pt&yoko> \setlength\textheight{17\Cvs}
1314 %<11pt&yoko> \setlength\textheight{17\Cvs}
1315 %<12pt&yoko> \setlength\textheight{16\Cvs}
1316 %<10pt&tate> \setlength\textheight{26\Cvs}
1317 %<11pt&tate> \setlength\textheight{26\Cvs}
1318 %<12pt&tate> \setlength\textheight{25\Cvs}
1320 %<10pt&yoko> \setlength\textheight{28\Cvs}
1321 %<11pt&yoko> \setlength\textheight{25\Cvs}
1322 %<12pt&yoko> \setlength\textheight{24\Cvs}
1323 %<10pt&tate> \setlength\textheight{16\Cvs}
1324 %<11pt&tate> \setlength\textheight{16\Cvs}
1325 %<12pt&tate> \setlength\textheight{15\Cvs}
1327 \else\ifnum\c@@paper=3 % B4
1329 %<10pt&yoko> \setlength\textheight{38\Cvs}
1330 %<11pt&yoko> \setlength\textheight{36\Cvs}
1331 %<12pt&yoko> \setlength\textheight{34\Cvs}
1332 %<10pt&tate> \setlength\textheight{48\Cvs}
1333 %<11pt&tate> \setlength\textheight{48\Cvs}
1334 %<12pt&tate> \setlength\textheight{45\Cvs}
1336 %<10pt&yoko> \setlength\textheight{57\Cvs}
1337 %<11pt&yoko> \setlength\textheight{55\Cvs}
1338 %<12pt&yoko> \setlength\textheight{52\Cvs}
1339 %<10pt&tate> \setlength\textheight{33\Cvs}
1340 %<11pt&tate> \setlength\textheight{33\Cvs}
1341 %<12pt&tate> \setlength\textheight{31\Cvs}
1343 \else\ifnum\c@@paper=4 % B5
1345 %<10pt&yoko> \setlength\textheight{22\Cvs}
1346 %<11pt&yoko> \setlength\textheight{21\Cvs}
1347 %<12pt&yoko> \setlength\textheight{20\Cvs}
1348 %<10pt&tate> \setlength\textheight{34\Cvs}
1349 %<11pt&tate> \setlength\textheight{34\Cvs}
1350 %<12pt&tate> \setlength\textheight{32\Cvs}
1352 %<10pt&yoko> \setlength\textheight{35\Cvs}
1353 %<11pt&yoko> \setlength\textheight{34\Cvs}
1354 %<12pt&yoko> \setlength\textheight{32\Cvs}
1355 %<10pt&tate> \setlength\textheight{21\Cvs}
1356 %<11pt&tate> \setlength\textheight{21\Cvs}
1357 %<12pt&tate> \setlength\textheight{20\Cvs}
1359 \else % A4 and other
1361 %<10pt&yoko> \setlength\textheight{27\Cvs}
1362 %<11pt&yoko> \setlength\textheight{26\Cvs}
1363 %<12pt&yoko> \setlength\textheight{25\Cvs}
1364 %<10pt&tate> \setlength\textheight{41\Cvs}
1365 %<11pt&tate> \setlength\textheight{41\Cvs}
1366 %<12pt&tate> \setlength\textheight{38\Cvs}
1368 %<10pt&yoko> \setlength\textheight{43\Cvs}
1369 %<11pt&yoko> \setlength\textheight{42\Cvs}
1370 %<12pt&yoko> \setlength\textheight{39\Cvs}
1371 %<10pt&tate> \setlength\textheight{26\Cvs}
1372 %<11pt&tate> \setlength\textheight{26\Cvs}
1373 %<12pt&tate> \setlength\textheight{22\Cvs}
1376 %<yoko> \addtolength\textheight{\topskip}
1377 %<bk&yoko> \addtolength\textheight{\baselineskip}
1378 %<tate> \addtolength\textheight{\Cht}
1379 %<tate> \addtolength\textheight{\Cdp}
1384 %<10pt&!bk&yoko> \setlength\textheight{578\p@}
1385 %<10pt&bk&yoko> \setlength\textheight{554\p@}
1386 %<11pt&yoko> \setlength\textheight{580.4\p@}
1387 %<12pt&yoko> \setlength\textheight{586.5\p@}
1388 %<10pt&tate> \setlength\textheight{26\Cvs}
1389 %<11pt&tate> \setlength\textheight{25\Cvs}
1390 %<12pt&tate> \setlength\textheight{24\Cvs}
1397 % 2eモード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1398 % 縦組では用紙サイズの70\%(book)か78\%(ariticle,report)、
1399 % 横組では70\%(book)か75\%(article,report)を版面の高さに設定します。
1402 %<tate&bk> \setlength\textheight{.75\paperwidth}
1403 %<tate&!bk> \setlength\textheight{.78\paperwidth}
1404 %<yoko&bk> \setlength\textheight{.70\paperheight}
1405 %<yoko&!bk> \setlength\textheight{.75\paperheight}
1410 %<tate> \setlength\@tempdima{\paperwidth}
1411 %<yoko> \setlength\@tempdima{\paperheight}
1412 \addtolength\@tempdima{-2in}
1413 %<yoko> \addtolength\@tempdima{-1.5in}
1414 \divide\@tempdima\baselineskip
1415 \@tempcnta\@tempdima
1416 \setlength\textheight{\@tempcnta\baselineskip}
1420 % 最後に、|\textheight|に|\topskip|の値を加えます。
1422 \addtolength\textheight{\topskip}
1423 \@settopoint\textheight
1427 % \subsubsection{マージン}
1429 % \begin{macro}{\topmargin}
1430 % |\topmargin|は、``印字可能領域''---用紙の上端から1インチ内側---%
1431 % の上端からヘッダ部分の上端までの距離です。
1438 \setlength\topmargin{-.3in}
1440 %<!bk> \setlength\topmargin{27\p@}
1441 %<10pt&bk> \setlength\topmargin{.75in}
1442 %<11pt&bk> \setlength\topmargin{.73in}
1443 %<12pt&bk> \setlength\topmargin{.73in}
1448 \ifnum\c@@paper=2 % A5
1449 \setlength\topmargin{.8in}
1450 \else % A4, B4, B5 and other
1451 \setlength\topmargin{32mm}
1454 \setlength\topmargin{32mm}
1456 \addtolength\topmargin{-1in}
1457 \addtolength\topmargin{-\headheight}
1458 \addtolength\topmargin{-\headsep}
1464 \setlength\topmargin{\paperheight}
1465 \addtolength\topmargin{-\headheight}
1466 \addtolength\topmargin{-\headsep}
1467 %<tate> \addtolength\topmargin{-\textwidth}
1468 %<yoko> \addtolength\topmargin{-\textheight}
1469 \addtolength\topmargin{-\footskip}
1471 % \changes{v1.1e}{1997/04/08}{横組クラスでの調整量を
1472 % -2.4インチから-2.0インチにした。}
1473 % \changes{v1.1j}{1998/02/03}{互換モード時のa5pのトップマージンを0.7in増加}
1476 \ifnum\c@@paper=2 % A5
1477 \addtolength\topmargin{-1.3in}
1479 \addtolength\topmargin{-2.0in}
1482 %<yoko> \addtolength\topmargin{-2.0in}
1483 %<tate> \addtolength\topmargin{-2.8in}
1486 % \changes{v1.1d}{1997/02/05}{\cs{tompargin}を半分にするのはアキ領域の計算後}
1487 % \changes{v1.1r}{1999/08/09}{\cs{if@stysize}フラグに限らず半分にする}
1489 \addtolength\topmargin{-.5\topmargin}
1491 \@settopoint\topmargin
1495 % \begin{macro}{\marginparsep}
1496 % \begin{macro}{\marginparpush}
1497 % |\marginparsep|は、本文と傍注の間にあけるスペースの幅です。
1499 % 縦組では本文の下(上)端と傍注の間になります。
1500 % |\marginparpush|は、傍注と傍注との間のスペースの幅です。
1503 \setlength\marginparsep{10\p@}
1505 %<tate> \setlength\marginparsep{15\p@}
1506 %<yoko> \setlength\marginparsep{10\p@}
1508 %<tate>\setlength\marginparpush{7\p@}
1510 %<10pt>\setlength\marginparpush{5\p@}
1511 %<11pt>\setlength\marginparpush{5\p@}
1512 %<12pt>\setlength\marginparpush{7\p@}
1518 % \begin{macro}{\oddsidemargin}
1519 % \begin{macro}{\evensidemargin}
1520 % \begin{macro}{\marginparwidth}
1521 % まず、互換モードでの長さを示します。
1526 %<tate> \setlength\oddsidemargin{0\p@}
1527 %<tate> \setlength\evensidemargin{0\p@}
1529 % 互換モード、横組、bookクラスの場合:
1533 %<10pt> \setlength\oddsidemargin {.5in}
1534 %<11pt> \setlength\oddsidemargin {.25in}
1535 %<12pt> \setlength\oddsidemargin {.25in}
1536 %<10pt> \setlength\evensidemargin {1.5in}
1537 %<11pt> \setlength\evensidemargin {1.25in}
1538 %<12pt> \setlength\evensidemargin {1.25in}
1539 %<10pt> \setlength\marginparwidth {.75in}
1540 %<11pt> \setlength\marginparwidth {1in}
1541 %<12pt> \setlength\marginparwidth {1in}
1544 % 互換モード、横組、reportとarticleクラスの場合:
1548 %<10pt> \setlength\oddsidemargin {44\p@}
1549 %<11pt> \setlength\oddsidemargin {36\p@}
1550 %<12pt> \setlength\oddsidemargin {21\p@}
1551 %<10pt> \setlength\evensidemargin {82\p@}
1552 %<11pt> \setlength\evensidemargin {74\p@}
1553 %<12pt> \setlength\evensidemargin {59\p@}
1554 %<10pt> \setlength\marginparwidth {107\p@}
1555 %<11pt> \setlength\marginparwidth {100\p@}
1556 %<12pt> \setlength\marginparwidth {85\p@}
1558 %<10pt> \setlength\oddsidemargin {60\p@}
1559 %<11pt> \setlength\oddsidemargin {54\p@}
1560 %<12pt> \setlength\oddsidemargin {39.5\p@}
1561 %<10pt> \setlength\evensidemargin {60\p@}
1562 %<11pt> \setlength\evensidemargin {54\p@}
1563 %<12pt> \setlength\evensidemargin {39.5\p@}
1564 %<10pt> \setlength\marginparwidth {90\p@}
1565 %<11pt> \setlength\marginparwidth {83\p@}
1566 %<12pt> \setlength\marginparwidth {68\p@}
1573 \setlength\oddsidemargin {30\p@}
1574 \setlength\evensidemargin {30\p@}
1575 \setlength\marginparwidth {48\p@}
1579 % 縦組、横組にかかわらず、スタイルオプション設定ではゼロです。
1580 % \changes{v1.0g}{1997/01/25}{\cs{oddsidemargin}, \cs{evensidemagin}:
1581 % 0pt if specified papersize at \cs{documentstyle} option.}
1585 \setlength\oddsidemargin{0\p@}
1586 \setlength\evensidemargin{0\p@}
1594 \setlength\@tempdima{\paperwidth}
1595 %<tate> \addtolength\@tempdima{-\textheight}
1596 %<yoko> \addtolength\@tempdima{-\textwidth}
1599 % |\oddsidemargin|を計算します。
1602 %<tate> \setlength\oddsidemargin{.6\@tempdima}
1603 %<yoko> \setlength\oddsidemargin{.4\@tempdima}
1605 \setlength\oddsidemargin{.5\@tempdima}
1607 \addtolength\oddsidemargin{-1in}
1609 % \changes{v1.1p}{1999/1/6}{\cs{oddsidemargin}のポイントへの変換を後ろに}
1610 % |\evensidemargin|を計算します。
1612 \setlength\evensidemargin{\paperwidth}
1613 \addtolength\evensidemargin{-2in}
1614 %<tate> \addtolength\evensidemargin{-\textheight}
1615 %<yoko> \addtolength\evensidemargin{-\textwidth}
1616 \addtolength\evensidemargin{-\oddsidemargin}
1617 \@settopoint\oddsidemargin % 1999.1.6
1618 \@settopoint\evensidemargin
1620 % |\marginparwidth|を計算します。
1621 % ここで、|\@tempdima|の値は、\linebreak
1622 % |\paperwidth| $-$ |\textwidth|です。
1623 % \changes{v1.1d}{1995/11/24}{\break typo: \cs{marginmarwidth} to \cs{marginparwidth}}
1627 \setlength\marginparwidth{.6\@tempdima}
1628 \addtolength\marginparwidth{-.4in}
1630 \setlength\marginparwidth{.5\@tempdima}
1631 \addtolength\marginparwidth{-.4in}
1633 \ifdim \marginparwidth >2in
1634 \setlength\marginparwidth{2in}
1642 \setlength\@tempdima{\paperheight}
1643 \addtolength\@tempdima{-\textwidth}
1644 \addtolength\@tempdima{-\topmargin}
1645 \addtolength\@tempdima{-\headheight}
1646 \addtolength\@tempdima{-\headsep}
1647 \addtolength\@tempdima{-\footskip}
1648 \setlength\marginparwidth{.5\@tempdima}
1650 \@settopoint\marginparwidth
1660 % \begin{macro}{\footnotesep}
1661 % |\footnotesep|は、それぞれの脚注の先頭に置かれる``支柱''の高さです。
1662 % このクラスでは、通常の|\footnotesize|の支柱と同じ長さですので、
1665 %<10pt>\setlength\footnotesep{6.65\p@}
1666 %<11pt>\setlength\footnotesep{7.7\p@}
1667 %<12pt>\setlength\footnotesep{8.4\p@}
1671 % \begin{macro}{\footins}
1672 % |\skip\footins|は、本文の最終行と最初の脚注との間の距離です。
1674 %<10pt>\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@}
1675 %<11pt>\setlength{\skip\footins}{10\p@ \@plus 4\p@ \@minus 2\p@}
1676 %<12pt>\setlength{\skip\footins}{10.8\p@ \@plus 4\p@ \@minus 2\p@}
1681 % すべてのフロートパラメータは、\LaTeX{}のカーネルでデフォルトが定義
1682 % されています。そのため、カウンタ以外のパラメータは|\renewcommand|で
1685 % \subsubsection{フロートパラメータ}
1687 % \begin{macro}{\floatsep}
1688 % \begin{macro}{\textfloatsep}
1689 % \begin{macro}{\intextsep}
1690 % フロートオブジェクトが本文のあるページに置かれるとき、
1691 % フロートとそのページにある別のオブジェクトの距離は、
1692 % これらのパラメータで制御されます。これらのパラメータは、一段組モードと
1693 % 二段組モードの段抜きでないフロートの両方で使われます。
1695 % |\floatsep|は、ページ上部あるいは下部のフロート間の距離です。
1697 % |\textfloatsep|は、ページ上部あるいは下部のフロートと本文との距離です。
1699 % |\intextsep|は、本文の途中に出力されるフロートと本文との距離です。
1702 \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1703 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1704 \setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1707 \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1708 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1709 \setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1712 \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 4\p@}
1713 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1714 \setlength\intextsep {14\p@ \@plus 4\p@ \@minus 4\p@}
1721 % \begin{macro}{\dblfloatsep}
1722 % \begin{macro}{\dbltextfloatsep}
1723 % 二段組モードで、|\textwidth|の幅を持つ、段抜きのフロートオブジェクトが
1724 % 本文と同じページに置かれるとき、本文とフロートとの距離は、
1725 % |\dblfloatsep|と|\dbltextfloatsep|によって制御されます。
1727 % |\dblfloatsep|は、ページ上部あるいは下部のフロートと本文との距離です。
1729 % |\dbltextfloatsep|は、ページ上部あるいは下部のフロート間の距離です。
1732 \setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1733 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1736 \setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1737 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1740 \setlength\dblfloatsep {14\p@ \@plus 2\p@ \@minus 4\p@}
1741 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1747 % \begin{macro}{\@fptop}
1748 % \begin{macro}{\@fpsep}
1749 % \begin{macro}{\@fpbot}
1750 % フロートオブジェクトが、独立したページに置かれるとき、
1751 % このページのレイアウトは、次のパラメータで制御されます。
1752 % これらのパラメータは、一段組モードか、二段組モードでの一段出力の
1753 % フロートオブジェクトに対して使われます。
1755 % ページ上部では、|\@fptop|の伸縮長が挿入されます。
1756 % ページ下部では、|\@fpbot|の伸縮長が挿入されます。
1757 % フロート間には|\@fpsep|が挿入されます。
1759 % なお、そのページを空白で満たすために、|\@fptop|と|\@fpbot|の
1760 % 少なくともどちらか一方に、|plus ...fil|を含めてください。
1763 \setlength\@fptop{0\p@ \@plus 1fil}
1764 \setlength\@fpsep{8\p@ \@plus 2fil}
1765 \setlength\@fpbot{0\p@ \@plus 1fil}
1768 \setlength\@fptop{0\p@ \@plus 1fil}
1769 \setlength\@fpsep{8\p@ \@plus 2fil}
1770 \setlength\@fpbot{0\p@ \@plus 1fil}
1773 \setlength\@fptop{0\p@ \@plus 1fil}
1774 \setlength\@fpsep{10\p@ \@plus 2fil}
1775 \setlength\@fpbot{0\p@ \@plus 1fil}
1782 % \begin{macro}{\@dblfptop}
1783 % \begin{macro}{\@dblfpsep}
1784 % \begin{macro}{\@dblfpbot}
1785 % 二段組モードでの二段抜きのフロートに対しては、
1789 \setlength\@dblfptop{0\p@ \@plus 1fil}
1790 \setlength\@dblfpsep{8\p@ \@plus 2fil}
1791 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1794 \setlength\@dblfptop{0\p@ \@plus 1fil}
1795 \setlength\@dblfpsep{8\p@ \@plus 2fil}
1796 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1799 \setlength\@dblfptop{0\p@ \@plus 1fil}
1800 \setlength\@dblfpsep{10\p@ \@plus 2fil}
1801 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1809 % \subsubsection{フロートオブジェクトの上限値}
1811 % \begin{macro}{\c@topnumber}
1812 % \Lcount{topnumber}は、本文ページの上部に出力できるフロートの最大数です。
1814 %<*article|report|book>
1815 \setcounter{topnumber}{2}
1819 % \begin{macro}{\c@bottomnumber}
1820 % \Lcount{bottomnumber}は、本文ページの下部に出力できるフロートの最大数です。
1822 \setcounter{bottomnumber}{1}
1826 % \begin{macro}{\c@totalnumber}
1827 % \Lcount{totalnumber}は、本文ページに出力できるフロートの最大数です。
1829 \setcounter{totalnumber}{3}
1833 % \begin{macro}{\c@dbltopnumber}
1834 % \Lcount{dbltopnumber}は、二段組時における、本文ページの上部に出力できる
1837 \setcounter{dbltopnumber}{2}
1841 % \begin{macro}{\topfraction}
1842 % これは、本文ページの上部に出力されるフロートが占有できる最大の割り合いです。
1844 \renewcommand{\topfraction}{.7}
1848 % \begin{macro}{\bottomfraction}
1849 % これは、本文ページの下部に出力されるフロートが占有できる最大の割り合いです。
1851 \renewcommand{\bottomfraction}{.3}
1855 % \begin{macro}{\textfraction}
1856 % これは、本文ページに最低限、入らなくてはならない本文の割り合いです。
1858 \renewcommand{\textfraction}{.2}
1862 % \begin{macro}{\floatpagefraction}
1863 % これは、フロートだけのページで最低限、入らなくてはならない
1866 \renewcommand{\floatpagefraction}{.5}
1870 % \begin{macro}{\dbltopfraction}
1871 % これは、2段組時における本文ページに、
1872 % 2段抜きのフロートが占めることができる最大の割り合いです。
1874 \renewcommand{\dbltopfraction}{.7}
1878 % \begin{macro}{\dblfloatpagefraction}
1879 % これは、2段組時におけるフロートだけのページに最低限、
1880 % 入らなくてはならない2段抜きのフロートの割り合いです。
1882 \renewcommand{\dblfloatpagefraction}{.5}
1887 % \section{改ページ(日本語\TeX{}開発コミュニティ版のみ)}\label{sec:cleardoublepage}
1889 % \begin{macro}{\pltx@cleartorightpage}
1890 % \begin{macro}{\pltx@cleartoleftpage}
1891 % \begin{macro}{\pltx@cleartooddpage}
1892 % \begin{macro}{\pltx@cleartoevenpage}
1893 % |\cleardoublepage|命令は、\LaTeX{}カーネルでは「奇数ページになるまでページを
1894 % 繰る命令」として定義されています。しかしp\LaTeX{}カーネルでは、アスキーの方針
1895 % により「横組では奇数ページになるまで、縦組では偶数ページになるまでページを
1896 % 繰る命令」に再定義されています。すなわち、p\LaTeX{}では縦組でも横組でも
1897 % 右ページになるまでページを繰ることになります。
1899 % p\LaTeX{}標準クラスのbookは、横組も縦組も|openright|がデフォルトになっていて、
1900 % これは従来p\LaTeX{}カーネルで定義された|\cleardoublepage|を利用していました。
1901 % しかし、縦組で奇数ページ始まりの文書を作りたい場合もあるでしょうから、
1902 % コミュニティ版クラスでは以下の(非ユーザ向け)命令を追加します。
1904 % \item|\pltx@cleartorightpage|:右ページになるまでページを繰る命令
1905 % \item|\pltx@cleartoleftpage|:左ページになるまでページを繰る命令
1906 % \item|\pltx@cleartooddpage|:奇数ページになるまでページを繰る命令
1907 % \item|\pltx@cleartoevenpage|:偶数ページになるまでページを繰る命令
1909 % \changes{v1.7d}{2017/02/15}{\cs{cleardoublepage}の代用となる命令群を追加}
1910 % \changes{v1.7d-ltj-14}{2017/02/20}{\cs{iftdir}, \cs{ifydir}を使わないように修正}
1912 \def\pltx@cleartorightpage{\clearpage\if@twoside
1913 \unless\ifodd\numexpr\c@page+\ltjgetparameter{direction}\relax
1914 \hbox{}\thispagestyle{empty}\newpage
1915 \if@twocolumn\hbox{}\newpage\fi
1917 \def\pltx@cleartoleftpage{\clearpage\if@twoside
1918 \ifodd\numexpr\c@page+\ltjgetparameter{direction}\relax
1919 \hbox{}\thispagestyle{empty}\newpage
1920 \if@twocolumn\hbox{}\newpage\fi
1924 % |\pltx@cleartooddpage|は\LaTeX{}の|\cleardoublepage|に似ていますが、
1925 % 上の2つに合わせるため|\thispagestyle{empty}|を追加してあります。
1927 \def\pltx@cleartooddpage{\clearpage\if@twoside
1929 \hbox{}\thispagestyle{empty}\newpage
1930 \if@twocolumn\hbox{}\newpage\fi
1932 \def\pltx@cleartoevenpage{\clearpage\if@twoside
1934 \hbox{}\thispagestyle{empty}\newpage
1935 \if@twocolumn\hbox{}\newpage\fi
1943 % \begin{macro}{\cleardoublepage}
1944 % そしてreportとbookクラスの場合は、ユーザ向け命令である|\cleardoublepage|を、
1945 % |openright|オプションが指定されている場合は|\pltx@cleartorightpage|に、
1946 % |openleft|オプションが指定されている場合は|\pltx@cleartoleftpage|に、
1947 % それぞれ|\let|します。|openany|の場合はp\LaTeX{}カーネルの定義のままです。
1951 \let\cleardoublepage\pltx@cleartoleftpage
1953 \let\cleardoublepage\pltx@cleartorightpage
1961 % \section{ページスタイル}\label{sec:pagestyle}
1962 % つぎの6種類のページスタイルを使用できます。
1963 % \pstyle{empty}は\file{ltpage.dtx}で定義されています。
1965 % \begin{tabular}{ll}
1966 % empty & ヘッダにもフッタにも出力しない\\
1967 % plain & フッタにページ番号のみを出力する\\
1968 % headnombre & ヘッダにページ番号のみを出力する\\
1969 % footnombre & フッタにページ番号のみを出力する\\
1970 % headings & ヘッダに見出しとページ番号を出力する\\
1971 % bothstyle & ヘッダに見出し、フッタにページ番号を出力する\\
1974 % ページスタイル\pstyle{foo}は、|\ps@foo|コマンドとして定義されます。
1976 % \begin{macro}{\@evenhead}
1977 % \begin{macro}{\@oddhead}
1978 % \begin{macro}{\@evenfoot}
1979 % \begin{macro}{\@oddfoot}
1980 % これらは|\ps@...|から呼び出され、ヘッダとフッタを出力するマクロです。
1982 % \DeleteShortVerb{\|}
1983 % \begin{tabular}{ll}
1984 % \cs{@oddhead} & 奇数ページのヘッダを出力\\
1985 % \cs{@oddfoot} & 奇数ページのフッタを出力\\
1986 % \cs{@evenhead} & 偶数ページのヘッダを出力\\
1987 % \cs{@evenfoot} & 偶数ページのフッタを出力\\
1989 % \MakeShortVerb{\|}
1991 % これらの内容は、横組の場合は|\textwidth|の幅を持つ|\hbox|に入れられ、
1992 % 縦組の場合は|\textheight|の幅を持つ|\hbox|に入れられます。
1998 % \subsection{マークについて}
1999 % ヘッダに入る章番号や章見出しは、見出しコマンドで実行されるマークコマンドで
2000 % 決定されます。ここでは、実行されるマークコマンドの定義を行なっています。
2001 % これらのマークコマンドは、\TeX{}の|\mark|機能を用いて、
2002 % `left'と`right'の2種類のマークを生成するように定義しています。
2005 % |\markboth{|\meta{LEFT}|}{|\meta{RIGHT}|}|: 両方のマークに追加します。
2007 % |\markright{|\meta{RIGHT}|}|: `右'マークに追加します。
2009 % |\leftmark|: |\@oddhead|, |\@oddfoot|, |\@evenhead|, |\@evenfoot|マクロで
2010 % 使われ、現在の``左''マークを出力します。
2011 % |\leftmark|は\TeX{}の|\botmark|コマンドのような働きをします。
2014 % |\rightmark|: |\@oddhead|, |\@oddfoot|, |\@evenhead|, |\@evenfoot|マクロで
2015 % 使われ、現在の``右''マークを出力します。
2016 % |\rightmark|は\TeX{}の|\firstmark|コマンドのような働きをします。
2020 % マークコマンドの動作は、左マークの`範囲内の'右マークのために
2021 % 合理的になっています。たとえば、左マークは|\chapter|コマンドによって
2022 % 変更されます。そして右マークは|\section|コマンドによって変更されます。
2023 % しかし、同一ページに複数の|\markboth|コマンドが現れたとき、
2026 % |\tableofcontents|のようなコマンドは、|\@mkboth|コマンドを用いて、
2027 % あるページスタイルの中でマークを設定しなくてはなりません。
2028 % |\@mkboth|は、|\ps@...|コマンドによって、|\markboth|(ヘッダを設定する)か、
2029 % |\@gobbletwo|(何もしない)に|\let|されます。
2031 % \changes{v1.0a}{1995/08/30}{柱の書体がノンブルに影響するバグの修正}
2033 % \subsection{plainページスタイル}
2035 % \begin{macro}{\ps@plain}
2036 % \pstyle{jpl@in}に|\let|するために、ここで定義をします。
2038 \def\ps@plain{\let\@mkboth\@gobbletwo
2039 \let\ps@jpl@in\ps@plain
2040 \let\@oddhead\@empty
2041 \def\@oddfoot{\reset@font\hfil\thepage\hfil}%
2042 \let\@evenhead\@empty
2043 \let\@evenfoot\@oddfoot}
2047 % \subsection{jpl@inページスタイル}
2049 % \begin{macro}{\ps@jpl@in}
2050 % \changes{v1.0d}{1996/02/29}{\pstyle{jpl@in}の初期値を定義}
2052 % \pstyle{jpl@in}スタイルは、クラスファイル内部で使用するものです。
2053 % \LaTeX{}では、bookクラスを\pstyle{headings}としています。
2054 % しかし、\cs{tableofcontents}コマンドの内部では\pstyle{plain}として
2055 % 設定されるため、一つの文書でのページ番号の位置が上下に出力される
2058 % そこで、ここでは\cs{tableofcontents}や\cs{theindex}のページスタイル
2059 % を\pstyle{jpl@in}にし、実際に出力される形式は、ほかのページスタイル
2060 % で|\let|をしています。したがって、\pstyle{headings}のとき、目次ページの
2061 % ページ番号はヘッダ位置に出力され、\pstyle{plain}のときには、フッタ位置に
2064 % ここで、定義をしているのは、その初期値です。
2066 \let\ps@jpl@in\ps@plain
2070 % \subsection{headnombreページスタイル}
2072 % \begin{macro}{\ps@headnombre}
2073 % \pstyle{headnombre}スタイルは、ヘッダにページ番号のみを出力します。
2075 \def\ps@headnombre{\let\@mkboth\@gobbletwo
2076 \let\ps@jpl@in\ps@headnombre
2077 %<yoko> \def\@evenhead{\thepage\hfil}%
2078 %<yoko> \def\@oddhead{\hfil\thepage}%
2079 %<tate> \def\@evenhead{\hfil\thepage}%
2080 %<tate> \def\@oddhead{\thepage\hfil}%
2081 \let\@oddfoot\@empty\let\@evenfoot\@empty}
2085 % \subsection{footnombreページスタイル}
2087 % \begin{macro}{\ps@footnombre}
2088 % \pstyle{footnombre}スタイルは、フッタにページ番号のみを出力します。
2090 \def\ps@footnombre{\let\@mkboth\@gobbletwo
2091 \let\ps@jpl@in\ps@footnombre
2092 %<yoko> \def\@evenfoot{\thepage\hfil}%
2093 %<yoko> \def\@oddfoot{\hfil\thepage}%
2094 %<tate> \def\@evenfoot{\hfil\thepage}%
2095 %<tate> \def\@oddfoot{\thepage\hfil}%
2096 \let\@oddhead\@empty\let\@evenhead\@empty}
2100 % \subsection{headingsスタイル}
2101 % \pstyle{headings}スタイルは、ヘッダに見出しとページ番号を出力します。
2103 % \begin{macro}{\ps@headings}
2104 % このスタイルは、両面印刷と片面印刷とで形式が異なります。
2108 % 横組の場合は、奇数ページが右に、偶数ページが左にきます。
2109 % 縦組の場合は、奇数ページが左に、偶数ページが右にきます。
2111 \def\ps@headings{\let\ps@jpl@in\ps@headnombre
2112 \let\@oddfoot\@empty\let\@evenfoot\@empty
2113 %<yoko> \def\@evenhead{\thepage\hfil\leftmark}%
2114 %<yoko> \def\@oddhead{{\rightmark}\hfil\thepage}%
2115 %<tate> \def\@evenhead{{\leftmark}\hfil\thepage}%
2116 %<tate> \def\@oddhead{\thepage\hfil\rightmark}%
2117 \let\@mkboth\markboth
2119 \def\sectionmark##1{\markboth{%
2120 \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
2122 \def\subsectionmark##1{\markright{%
2123 \ifnum \c@secnumdepth >\@ne \thesubsection.\hskip1\zw\fi
2127 \def\chaptermark##1{\markboth{%
2128 \ifnum \c@secnumdepth >\m@ne
2129 %<book> \if@mainmatter
2130 \@chapapp\thechapter\@chappos\hskip1\zw
2134 \def\sectionmark##1{\markright{%
2135 \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
2141 % \changes{v1.1g}{1997/08/25}{片面印刷のとき、sectionレベルが出力されない
2144 \else % if not twoside
2145 \def\ps@headings{\let\ps@jpl@in\ps@headnombre
2146 \let\@oddfoot\@empty
2147 %<yoko> \def\@oddhead{{\rightmark}\hfil\thepage}%
2148 %<tate> \def\@oddhead{\thepage\hfil\rightmark}%
2149 \let\@mkboth\markboth
2151 \def\sectionmark##1{\markright{%
2152 \ifnum \c@secnumdepth >\m@ne \thesection.\hskip1\zw\fi
2156 \def\chaptermark##1{\markright{%
2157 \ifnum \c@secnumdepth >\m@ne
2158 %<book> \if@mainmatter
2159 \@chapapp\thechapter\@chappos\hskip1\zw
2169 % \subsection{bothstyleスタイル}
2171 % \begin{macro}{\ps@bothstyle}
2172 % \pstyle{bothstyle}スタイルは、
2173 % ヘッダに見出しを、フッタにページ番号を出力します。
2175 % このスタイルは、両面印刷と片面印刷とで形式が異なります。
2176 % \changes{v1.0d}{1995/08/23}{横組のevenfootが中央揃えになっていたのを修正}
2177 % \changes{v1.0d}{1996/03/05}{横組で偶数ページと奇数ページの設定が逆なのを修正}
2180 \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
2182 \def\@evenhead{\leftmark\hfil}% right page
2183 \def\@evenfoot{\thepage\hfil}% right page
2184 \def\@oddhead{\hfil\rightmark}% left page
2185 \def\@oddfoot{\hfil\thepage}% left page
2188 \def\@evenhead{\hfil\leftmark}% right page
2189 \def\@evenfoot{\hfil\thepage}% right page
2190 \def\@oddhead{\rightmark\hfil}% left page
2191 \def\@oddfoot{\thepage\hfil}% left page
2193 \let\@mkboth\markboth
2195 \def\sectionmark##1{\markboth{%
2196 \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
2198 \def\subsectionmark##1{\markright{%
2199 \ifnum \c@secnumdepth >\@ne \thesubsection.\hskip1\zw\fi
2203 \def\chaptermark##1{\markboth{%
2204 \ifnum \c@secnumdepth >\m@ne
2205 %<book> \if@mainmatter
2206 \@chapapp\thechapter\@chappos\hskip1\zw
2210 \def\sectionmark##1{\markright{%
2211 \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
2216 % \changes{v1.1g}{1997/08/25}{片面印刷のとき、sectionレベルが出力されない
2218 % \changes{v1.1i}{1997/12/12}{report, bookクラスで片面印刷時に、
2219 % bothstyleスタイルにすると、コンパイルエラーになるのを修正}
2221 \else % if one column
2222 \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
2223 %<yoko> \def\@oddhead{\hfil\rightmark}%
2224 %<yoko> \def\@oddfoot{\hfil\thepage}%
2225 %<tate> \def\@oddhead{\rightmark\hfil}%
2226 %<tate> \def\@oddfoot{\thepage\hfil}%
2227 \let\@mkboth\markboth
2229 \def\sectionmark##1{\markright{%
2230 \ifnum \c@secnumdepth >\m@ne \thesection.\hskip1\zw\fi
2234 \def\chaptermark##1{\markright{%
2235 \ifnum \c@secnumdepth >\m@ne
2236 %<book> \if@mainmatter
2237 \@chapapp\thechapter\@chappos\hskip1\zw
2247 % \subsection{myheadingスタイル}
2249 % \begin{macro}{\ps@myheadings}
2250 % \changes{v1.0d}{1995/08/23}{横組モードの左右が逆であったのを修正}
2251 % \pstyle{myheadings}ページスタイルは簡潔に定義されています。
2252 % ユーザがページスタイルを設計するときのヒナ型として使用することができます。
2254 \def\ps@myheadings{\let\ps@jpl@in\ps@plain%
2255 \let\@oddfoot\@empty\let\@evenfoot\@empty
2256 %<yoko> \def\@evenhead{\thepage\hfil\leftmark}%
2257 %<yoko> \def\@oddhead{{\rightmark}\hfil\thepage}%
2258 %<tate> \def\@evenhead{{\leftmark}\hfil\thepage}%
2259 %<tate> \def\@oddhead{\thepage\hfil\rightmark}%
2260 \let\@mkboth\@gobbletwo
2261 %<!article> \let\chaptermark\@gobble
2262 \let\sectionmark\@gobble
2263 %<article> \let\subsectionmark\@gobble
2273 % \begin{macro}{\title}
2274 % \begin{macro}{\author}
2275 % \begin{macro}{\date}
2276 % 文書のタイトル、著者、日付の情報のための、
2277 % これらの3つのコマンドは\file{ltsect.dtx}で提供されています。
2278 % これらのコマンドは次のように定義されています。
2280 %\DeclareRobustCommand*{\title}[1]{\gdef\@title{#1}}
2281 %\DeclareRobustCommand*{\author}[1]{\gdef\@author{#1}}
2282 %\DeclareRobustCommand*{\date}[1]{\gdef\@date{#1}}
2284 % |\date|マクロのデフォルトは、今日の日付です。
2292 % \begin{environment}{titlepage}
2293 % 通常の環境では、ページの最初と最後を除き、タイトルページ環境は何もしません。
2294 % また、ページ番号の出力を抑制します。レポートスタイルでは、
2295 % ページ番号を1にリセットし、そして最後で1に戻します。
2296 % 互換モードでは、ページ番号はゼロに設定されますが、
2297 % 右起こしページ用のページパラメータでは誤った結果になります。
2298 % 二段組スタイルでも一段組のページが作られます。
2300 % \noindent\emph{日本語\TeX{}開発コミュニティによる変更}:
2301 % 上にあるのはアスキー版の説明です。改めてアスキー版の挙動を整理すると、
2304 % \item アスキー版では、タイトルページの番号を必ず1にリセットしていましたが、
2305 % これは正しくありません。これは、タイトルページが奇数ページ目か偶数ページ目
2306 % かにかかわらず、レイアウトだけ奇数ページ用が適用されてしまうからです。
2307 % さらに、タイトルの次のページも偶数のページ番号を持ってしまうため、両面印刷
2308 % で奇数ページと偶数ページが交互に出なくなるという問題もあります。
2309 % \item アスキー版bookクラスは、タイトルページを必ず|\cleardoublepage|で始めて
2310 % いました。p\LaTeX{}カーネルでの|\cleardoublepage|の定義から、縦組の既定では
2311 % タイトルが偶数ページ目に出ることになります。これ自体が正しくないと断定する
2312 % ことはできませんが、タイトルのページ番号を1にリセットすることと合わさって、
2313 % 偶数ページに送ったタイトルに奇数ページ用レイアウトが適用されてしまうという
2316 % そこで、コミュニティ版ではタイトルのレイアウトが必ず奇数ページ用になるという
2317 % 挙動を支持し、bookクラスではタイトルページを奇数ページ目に送ることにしました。
2318 % これでタイトルページが表紙らしく見えるようになります。また、reportクラスの
2319 % ようなタイトルが成り行きに従って出る場合には
2321 % \item 奇数ページ目に出る場合、ページ番号を1(奇数)にリセット
2322 % \item 偶数ページ目に出る場合、ページ番号を0(偶数)にリセット
2328 % \documentclass{tbook}
2329 % \title{タイトル}\author{著者}
2335 % アスキー版tbookクラスでの結果は
2337 % 1ページ目:空白(ページ番号1は非表示)
2338 % 2ページ目:タイトル(奇数レイアウト、ページ番号1は非表示)
2339 % 3ページ目:チャプター(偶数レイアウト、ページ番号2)
2341 % ですが、仮に最初の空白ページさえなければ
2343 % 1ページ目:タイトルすなわち表紙(奇数レイアウト、ページ番号1は非表示)
2344 % 2ページ目:チャプター(偶数レイアウト、ページ番号2)
2346 % とみなせるため、コミュニティ版では空白ページを発生させないようにしました。
2350 % \documentclass{tbook}
2351 % \title{タイトル}\author{著者}
2358 % アスキー版tbookクラスでの結果は
2360 % 1ページ目:テスト文章(奇数レイアウト、ページ番号1)
2361 % 2ページ目:タイトル(奇数レイアウト、ページ番号1は非表示)
2362 % 3ページ目:チャプター(偶数レイアウト、ページ番号2)
2364 % ですが、これでは奇数と偶数のページ番号が交互になっていないので正しく
2365 % ありません。そこで、コミュニティ版では
2367 % 1ページ目:テスト文章(奇数レイアウト、ページ番号1)
2368 % 2ページ目:空白ページ(ページ番号2は非表示)
2369 % 3ページ目:タイトル(奇数レイアウト、ページ番号1は非表示)
2370 % 4ページ目:チャプター(偶数レイアウト、ページ番号2)
2374 % なお、p\LaTeX~2.09互換モードはアスキー版のまま、すなわち「ページ番号をゼロに
2375 % 設定」としてあります。これは、横組の右起こしの挙動としては誤りですが、縦組の
2376 % 右起こしの挙動としては一応正しくなっているといえます。
2381 \newenvironment{titlepage}
2383 %<book> \cleardoublepage
2384 \if@twocolumn\@restonecoltrue\onecolumn
2385 \else\@restonecolfalse\newpage\fi
2386 \thispagestyle{empty}%
2387 \setcounter{page}\z@
2389 {\if@restonecol\twocolumn\else\newpage\fi
2393 % そして、\LaTeX{}ネイティブのための定義です。
2394 % \changes{v1.7d}{2017/02/15}{bookクラスでtitlepageを必ず奇数ページ
2396 % \changes{v1.7d}{2017/02/15}{titlepageのページ番号を奇数ならば1に、
2397 % 偶数ならば0にリセットするように変更}
2400 \newenvironment{titlepage}
2402 %<book> \pltx@cleartooddpage %% 2017/02/15
2404 \@restonecoltrue\onecolumn
2406 \@restonecolfalse\newpage
2408 \thispagestyle{empty}%
2409 \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi %% 2017/02/15
2411 {\if@restonecol\twocolumn \else \newpage \fi
2413 % 両面モードでなければ、タイトルページの直後のページのページ番号も1に
2417 \setcounter{page}\@ne
2424 % \begin{macro}{\maketitle}
2425 % このコマンドは、表題を作成し、出力します。
2426 % 表題ページを独立させるかどうかによって定義が異なります。
2427 % reportとbookクラスのデフォルトは独立した表題です。
2428 % articleクラスはオプションで独立させることができます。
2430 % \begin{macro}{\p@thanks}
2431 % 縦組のときは、|\thanks|コマンドを|\p@thanks|に|\let|します。
2432 % このコマンドは|\footnotetext|を使わず、直接、文字を|\@thanks|に格納
2435 % 著者名の脇に表示される合印は直立した数字、注釈側は横に寝た数字となっていまし
2436 % たが、不自然なので|\hbox{\yoko ...}|を追加し、両方とも直立するようにしました。
2437 % \changes{v1.7d}{2017/02/15}{縦組クラスの所属表示の番号を直立にした}
2439 \def\p@thanks#1{\footnotemark
2440 \protected@xdef\@thanks{\@thanks
2441 \protect{\noindent\hbox{\yoko$\m@th^\thefootnote$}#1\protect\par}}}
2447 \newcommand{\maketitle}{\begin{titlepage}%
2448 \let\footnotesize\small
2449 \let\footnoterule\relax
2450 %<tate> \let\thanks\p@thanks
2451 \let\footnote\thanks
2453 % \changes{v1.1d}{1997/02/12}{縦組クラスの表紙を縦書きにするようにした}
2455 %<tate> \vbox to\textheight\bgroup\tate\hsize\textwidth
2459 {\LARGE \@title \par}%
2463 \begin{tabular}[t]{c}%
2467 {\large \@date \par}% % Set date in \large size.
2469 %<tate> \vfil{\centering\@thanks}\vfil\null
2471 %<yoko> \@thanks\vfil\null
2474 % \Lcount{footnote}カウンタをリセットし、|\thanks|と|\maketitle|コマンドを
2475 % 無効にし、いくつかの内部マクロを空にして格納領域を節約します。
2477 \setcounter{footnote}{0}%
2478 \global\let\thanks\relax
2479 \global\let\maketitle\relax
2480 \global\let\p@thanks\relax
2481 \global\let\@thanks\@empty
2482 \global\let\@author\@empty
2483 \global\let\@date\@empty
2484 \global\let\@title\@empty
2486 % タイトルが組版されたら、|\title|コマンドなどの宣言を無効にできます。
2487 % |\and|の定義は、|\author|の引数でのみ使用しますので、破棄します。
2489 \global\let\title\relax
2490 \global\let\author\relax
2491 \global\let\date\relax
2492 \global\let\and\relax
2495 \newcommand{\maketitle}{\par
2497 \renewcommand{\thefootnote}{\fnsymbol{footnote}}%
2498 \def\@makefnmark{\hbox{\unless\ifnum\ltjgetparameter{direction}=3 $\m@th^{\@thefnmark}$
2499 \else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}%
2501 \long\def\@makefntext##1{\parindent 1\zw\noindent
2502 \hb@xt@ 2\zw{\hss\@makefnmark}##1}%
2505 \long\def\@makefntext##1{\parindent 1em\noindent
2506 \hb@xt@1.8em{\hss$\m@th^{\@thefnmark}$}##1}%
2509 \ifnum \col@number=\@ne \@maketitle
2510 \else \twocolumn[\@maketitle]%
2514 \global\@topnum\z@ % Prevents figures from going at top of page.
2517 \thispagestyle{jpl@in}\@thanks
2519 % ここでグループを閉じ、\Lcount{footnote}カウンタをリセットし、
2520 % |\thanks|, |\maketitle|, |\@maketitle|を無効にし、
2521 % いくつかの内部マクロを空にして格納領域を節約します。
2522 % \changes{v1.7}{2016/11/12}{ドキュメントに反して\cs{@maketitle}が
2526 \setcounter{footnote}{0}%
2527 \global\let\thanks\relax
2528 \global\let\maketitle\relax
2529 \global\let\@maketitle\relax
2530 \global\let\p@thanks\relax
2531 \global\let\@thanks\@empty
2532 \global\let\@author\@empty
2533 \global\let\@date\@empty
2534 \global\let\@title\@empty
2535 \global\let\title\relax
2536 \global\let\author\relax
2537 \global\let\date\relax
2538 \global\let\and\relax
2543 % \begin{macro}{\@maketitle}
2544 % 独立した表題ページを作らない場合の、表題の出力形式です。
2550 %<yoko> \let\footnote\thanks
2551 %<tate> \let\footnote\p@thanks
2552 {\LARGE \@title \par}%
2556 \begin{tabular}[t]{c}%
2569 % \begin{environment}{abstract}
2570 % 要約文のための環境です。bookクラスでは使えません。
2571 % reportスタイルと、|titlepage|オプションを指定したarticleスタイルでは、
2576 \newenvironment{abstract}{%
2579 \@beginparpenalty\@lowpenalty
2581 {\bfseries\abstractname}%
2584 {\par\vfil\null\endtitlepage}
2586 \newenvironment{abstract}{%
2588 \section*{\abstractname}%
2592 {\bfseries\abstractname\vspace{-.5em}\vspace{\z@}}%
2595 \fi}{\if@twocolumn\else\endquotation\fi}
2604 % \subsubsection{マークコマンド}
2606 % \begin{macro}{\chaptermark}
2607 % \begin{macro}{\sectionmark}
2608 % \begin{macro}{\subsectionmark}
2609 % \begin{macro}{\subsubsectionmark}
2610 % \begin{macro}{\paragraphmark}
2611 % \begin{macro}{\subparagraphmark}
2612 % |\...mark|コマンドを初期化します。これらのコマンドはページスタイルの
2613 % 定義で使われます(第\ref{sec:pagestyle}節参照)。
2614 % これらのたいていのコマンドは\file{ltsect.dtx}ですでに定義されています。
2616 %<!article>\newcommand*{\chaptermark}[1]{}
2617 %\newcommand*{\sectionmark}[1]{}
2618 %\newcommand*{\subsectionmark}[1]{}
2619 %\newcommand*{\subsubsectionmark}[1]{}
2620 %\newcommand*{\paragraphmark}[1]{}
2621 %\newcommand*{\subparagraphmark}[1]{}
2630 % \subsubsection{カウンタの定義}
2632 % \begin{macro}{\c@secnumdepth}
2633 % \Lcount{secnumdepth}には、番号を付ける、見出しコマンドのレベルを設定します。
2635 %<article>\setcounter{secnumdepth}{3}
2636 %<!article>\setcounter{secnumdepth}{2}
2640 % \begin{macro}{\c@chapter}
2641 % \begin{macro}{\c@section}
2642 % \begin{macro}{\c@subsection}
2643 % \begin{macro}{\c@subsubsection}
2644 % \begin{macro}{\c@paragraph}
2645 % \begin{macro}{\c@subparagraph}
2646 % これらのカウンタは見出し番号に使われます。
2647 % 最初の引数は、二番目の引数が増加するたびにリセットされます。
2648 % 二番目のカウンタはすでに定義されているものでなくてはいけません。
2652 \newcounter{chapter}
2653 \newcounter{section}[chapter]
2655 %<article>\newcounter{section}
2656 \newcounter{subsection}[section]
2657 \newcounter{subsubsection}[subsection]
2658 \newcounter{paragraph}[subsubsection]
2659 \newcounter{subparagraph}[paragraph]
2668 % \begin{macro}{\thepart}
2669 % \begin{macro}{\thechapter}
2670 % \begin{macro}{\thesection}
2671 % \begin{macro}{\thesubsection}
2672 % \begin{macro}{\thesubsubsection}
2673 % \begin{macro}{\theparagraph}
2674 % \begin{macro}{\thesubparagraph}
2675 % |\theCTR|が実際に出力される形式の定義です。
2677 % |\arabic{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2680 % |\roman{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2683 % |\Roman{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2686 % |\alph{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2687 % $1=$~a, $2=$~b のようにして出力します。
2689 % |\Alph{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2690 % $1=$~A, $2=$~B のようにして出力します。
2692 % |\Kanji{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2695 % |\rensuji{|\meta{obj}|}|は、\meta{obj}を横に並べて出力します。
2696 % したがって、横組のときには、何も影響しません。
2700 \renewcommand{\thepart}{\rensuji{\@Roman\c@part}}
2701 %<article>\renewcommand{\thesection}{\rensuji{\@arabic\c@section}}
2703 \renewcommand{\thechapter}{\rensuji{\@arabic\c@chapter}}
2704 \renewcommand{\thesection}{\thechapter・\rensuji{\@arabic\c@section}}
2706 \renewcommand{\thesubsection}{\thesection・\rensuji{\@arabic\c@subsection}}
2707 \renewcommand{\thesubsubsection}{%
2708 \thesubsection・\rensuji{\@arabic\c@subsubsection}}
2709 \renewcommand{\theparagraph}{%
2710 \thesubsubsection・\rensuji{\@arabic\c@paragraph}}
2711 \renewcommand{\thesubparagraph}{%
2712 \theparagraph・\rensuji{\@arabic\c@subparagraph}}
2715 \renewcommand{\thepart}{\@Roman\c@part}
2716 %<article>\renewcommand{\thesection}{\@arabic\c@section}
2718 \renewcommand{\thechapter}{\@arabic\c@chapter}
2719 \renewcommand{\thesection}{\thechapter.\@arabic\c@section}
2721 \renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection}
2722 \renewcommand{\thesubsubsection}{%
2723 \thesubsection.\@arabic\c@subsubsection}
2724 \renewcommand{\theparagraph}{%
2725 \thesubsubsection.\@arabic\c@paragraph}
2726 \renewcommand{\thesubparagraph}{%
2727 \theparagraph.\@arabic\c@subparagraph}
2738 % \begin{macro}{\@chapapp}
2739 % \begin{macro}{\@chappos}
2740 % |\@chapapp|の初期値は`|\prechaptername|'です。
2742 % |\@chappos|の初期値は`|\postchaptername|'です。
2744 % |\appendix|コマンドは|\@chapapp|を`|\appendixname|'に、
2745 % |\@chappos|を空に再定義します。
2748 \newcommand{\@chapapp}{\prechaptername}
2749 \newcommand{\@chappos}{\postchaptername}
2755 % \subsubsection{前付け、本文、後付け}
2757 % \begin{macro}{\frontmatter}
2758 % \begin{macro}{\mainmatter}
2759 % \begin{macro}{\backmatter}
2760 % \changes{v1.1}{1997/01/15}{\cs{frontmatter}, \cs{mainmatter}, \cs{backmatter}
2762 % 一冊の本は論理的に3つに分割されます。
2763 % 表題や目次や「はじめに」あるいは権利などの前付け、
2764 % そして本文、それから用語集や索引や奥付けなどの後付けです。
2766 % \emph{日本語\TeX{}開発コミュニティによる補足}:
2767 % \LaTeX{}のclasses.dtxは、1996/05/26 (v1.3r)と1998/05/05 (v1.3y)の
2768 % 計2回、|\frontmatter|と|\mainmatter|の定義を修正しています。一回目は
2769 % これらの命令を|openany|オプションに応じて切り替え、二回目はそれを
2770 % 元に戻しています。アスキーによるjclasses.dtxは、1997/01/15に
2771 % 一回目の修正に追随しましたが、二回目の修正には追随していません。
2772 % コミュニティ版では、一旦はアスキーによる仕様を維持しようと考え
2773 % ました(2016/11/22)が、以下の理由により二回目の修正にも追随する
2774 % ことにしました(2017/03/05)。
2776 % アスキー版での|\frontmatter|と|\mainmatter|の改ページ挙動は
2778 % |openright|なら|\cleardoublepage|、|openany|なら|\clearpage|を実行
2780 % というものでした。しかし、|\frontmatter|及び|\mainmatter|はノンブルを
2781 % 1にリセットしますから、改ページの結果が偶数ページ目になる場合
2782 % \footnote{縦tbookのデフォルト(openright)が該当するほか、横jbookと
2783 % 縦tbookのopenanyのときには成り行き次第で該当する可能性があります。}に
2784 % ノンブルが偶奇逆転してしまいました。このままでは|openany|の場合に両面
2785 % 印刷がうまくいかないため、新しいコミュニティ版では
2787 % 必ず|\pltx@cleartooddpage|を実行
2789 % としました。これは両面印刷(twoside)の場合は奇数ページに送り、
2790 % 片面印刷(oneside)の場合は単に改ページとなります。(参考:latex/2754)
2791 % \changes{v1.7b}{2016/11/22}{補足ドキュメントを追加}
2792 % \changes{v1.7e}{2017/03/05}{\cs{frontmatter}と\cs{mainmatter}を
2796 \newcommand{\frontmatter}{%
2797 \pltx@cleartooddpage
2798 \@mainmatterfalse\pagenumbering{roman}}
2799 \newcommand{\mainmatter}{%
2800 \pltx@cleartooddpage
2801 \@mainmattertrue\pagenumbering{arabic}}
2802 \newcommand{\backmatter}{%
2803 \if@openleft \cleardoublepage \else
2804 \if@openright \cleardoublepage \else \clearpage \fi \fi
2812 % \subsubsection{ボックスの組み立て}
2813 % クラスファイル定義の、この部分では、|\@startsection|と|\secdef|の
2814 % 二つの内部マクロを使います。これらの構文を次に示します。
2816 % |\@startsection|マクロは6つの引数と1つのオプション引数`*'を取ります。
2818 % |\@startsection|\meta{name}\meta{level}\meta{indent}^^A
2819 % \meta{beforeskip}\meta{afterskip}\meta{style}
2821 % \null\hphantom{\bslash @startsection}^^A
2822 % |[|\meta{altheading}|]|\meta{heading}
2824 % それぞれの引数の意味は、次のとおりです。
2826 % \begin{description}
2827 % \item[\meta{name}] レベルコマンドの名前です(例:section)。
2828 % \item[\meta{level}] 見出しの深さを示す数値です(chapter=1, section=2,
2829 % $\ldots$)。``\meta{level}$<=$カウンタ\Lcount{secnumdepth}の値''のとき、
2831 % \item[\meta{indent}] 見出しに対する、左マージンからのインデント量です。
2832 % \item[\meta{beforeskip}] 見出しの上に置かれる空白の絶対値です。
2833 % 負の場合は、見出しに続くテキストのインデントを抑制します。
2834 % \item[\meta{afterskip}] 正のとき、見出しの後の垂直方向のスペースとなります。
2835 % 負の場合は、見出しの後の水平方向のスペースとなります。
2836 % \item[\meta{style}] 見出しのスタイルを設定するコマンドです。
2837 % \item[\meta{$*$}] 見出し番号を付けないとき、対応するカウンタは増加します。
2838 % \item[\meta{heading}] 新しい見出しの文字列です。
2841 % 見出しコマンドは通常、|\@startsection|と6つの引数で定義されています。
2844 % 見出しコマンドを|\@startsection|を用いないで定義するときに使います。
2845 % このマクロは、2つの引数を持ちます。
2847 % |\secdef|\meta{unstarcmds}\meta{starcmds}
2849 % \begin{description}
2850 % \item[\meta{unstarcmds}] 見出しコマンドの普通の形式で使われます。
2851 % \item[\meta{starcmds}] $*$形式の見出しコマンドで使われます。
2854 % |\secdef|は次のようにして使うことができます。
2856 % \def\chapter {... \secdef \CMDA \CMDB }
2857 % \def\CMDA [#1]#2{....} % \chapter[...]{...} の定義
2858 % \def\CMDB #1{....} % \chapter*{...} の定義
2862 % \subsubsection{partレベル}
2864 % \begin{macro}{\part}
2865 % このコマンドは、新しいパート(部)をはじめます。
2867 % articleクラスの場合は、簡単です。
2869 % 新しい段落を開始し、小さな空白を入れ、段落後のインデントを行い、
2870 % |\secdef|で作成します。(アスキーによる元のドキュメントには
2871 % 「段落後のインデントをしないようにし」と書かれていましたが、
2872 % 実際のコードでは段落後のインデントを行っていました。そこで
2873 % 日本語\TeX{}開発コミュニティは、ドキュメントをコードに合わせて
2874 % 「段落後のインデントを行い」へと修正しました。)
2875 % \changes{v1.7a}{2016/11/16}{Check \texttt{@noskipsec} switch and
2876 % possibly force horizontal mode (sync with classes.dtx v1.4a)}
2879 \newcommand{\part}{%
2880 \if@noskipsec \leavevmode \fi
2881 \par\addvspace{4ex}%
2883 \secdef\@part\@spart}
2886 % reportとbookスタイルの場合は、少し複雑です。
2888 % まず、右ページからはじまるように改ページをします。
2889 % そして、部扉のページスタイルを\pstyle{empty}にします。
2890 % 2段組の場合でも、1段組で作成しますが、後ほど2段組に戻すために、
2891 % |\@restonecol|スイッチを使います。
2892 % \changes{v1.1}{1997/01/15}{\cs{part}を\LaTeX\ の定義に修正}
2895 \newcommand{\part}{%
2896 \if@openleft \cleardoublepage \else
2897 \if@openright \cleardoublepage \else \clearpage \fi \fi
2898 \thispagestyle{empty}%
2899 \if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
2901 \secdef\@part\@spart}
2906 % \begin{macro}{\@part}
2907 % このマクロが実際に部レベルの見出しを作成します。
2908 % このマクロも文書クラスによって定義が異なります。
2910 % articleクラスの場合は、\Lcount{secnumdepth}が$-1$よりも大きいとき、
2911 % 見出し番号を付けます。このカウンタが$-1$以下の場合には付けません。
2912 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2913 % \cs{normalfont} (sync with classes.dtx v1.3c)}
2917 \ifnum \c@secnumdepth >\m@ne
2918 \refstepcounter{part}%
2919 \addcontentsline{toc}{part}{%
2920 \prepartname\thepart\postpartname\hspace{1\zw}#1}%
2922 \addcontentsline{toc}{part}{#1}%
2925 {\parindent\z@\raggedright
2926 \interlinepenalty\@M\normalfont
2927 \ifnum \c@secnumdepth >\m@ne
2928 \Large\bfseries\prepartname\thepart\postpartname
2931 \huge\bfseries#2\par}%
2932 \nobreak\vskip3ex\@afterheading}
2936 % reportとbookクラスの場合は、\Lcount{secnumdepth}が$-2$よりも大きいときに、
2937 % 見出し番号を付けます。$-2$以下では付けません。
2942 \ifnum \c@secnumdepth >-2\relax
2943 \refstepcounter{part}%
2944 \addcontentsline{toc}{part}{%
2945 \prepartname\thepart\postpartname\hspace{1em}#1}%
2947 \addcontentsline{toc}{part}{#1}%
2951 \interlinepenalty\@M\normalfont
2952 \ifnum \c@secnumdepth >-2\relax
2953 \huge\bfseries\prepartname\thepart\postpartname
2956 \Huge\bfseries#2\par}%
2962 % \begin{macro}{\@spart}
2963 % このマクロは、番号を付けないときの体裁です。
2964 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2965 % \cs{normalfont} (sync with classes.dtx v1.3c)}
2969 \parindent\z@\raggedright
2970 \interlinepenalty\@M\normalfont
2971 \huge\bfseries#1\par}%
2972 \nobreak\vskip3ex\@afterheading}
2975 % \changes{v1.1k}{1998/03/23}{reportとbookクラスで番号を付けない見出しの
2976 % ペナルティが\cs{M@}だったのを\cs{@M}に修正}
2981 \interlinepenalty\@M\normalfont
2982 \Huge\bfseries#1\par}%
2988 % \begin{macro}{\@endpart}
2989 % |\@part|と|\@spart|の最後で実行されるマクロです。
2990 % 両面印刷モードのときは、白ページを追加します。
2991 % 二段組モードのときには、これ以降のページを二段組に戻します。
2992 % 2016年12月から、|openany| のときに白ページを追加するのをやめました。
2993 % このバグは\LaTeX{}ではclasses.dtx v1.4b (2000/05/19)で修正されていました。
2994 % (参考:latex/3155、texjporg/jsclasses\#48)
2995 % \changes{v1.7c}{2016/12/18}{Only add empty page after part if
2996 % twoside and openright (sync with classes.dtx v1.4b)}
2999 \def\@endpart{\vfil\newpage
3001 \if@openleft %% \if@openleft added (2017/02/15)
3002 \null\thispagestyle{empty}\newpage
3003 \else\if@openright %% \if@openright added (2016/12/18)
3004 \null\thispagestyle{empty}\newpage
3005 \fi\fi %% added (2016/12/18, 2017/02/15)
3008 % 二段組文書のとき、スイッチを二段組モードに戻す必要があります。
3010 \if@tempswa\twocolumn\fi}
3015 % \subsubsection{chapterレベル}
3017 % \begin{macro}{chapter}
3018 % 章レベルは、必ずページの先頭から開始します。
3019 % |openright|オプションが指定されている場合は、右ページからはじまる
3020 % ように|\cleardoublepage|を呼び出します。
3021 % そうでなければ、|\clearpage|を呼び出します。
3022 % なお、縦組の場合でも右ページからはじまるように、
3023 % フォーマットファイルで|\clerdoublepage|が定義されています。
3025 % \emph{日本語\TeX{}開発コミュニティによる補足}:コミュニティ版の実装では、
3026 % |openright|と|openleft|の場合に|\cleardoublepage|をクラスファイルの中で
3027 % 再々定義しています。\ref{sec:cleardoublepage}を参照してください。
3029 % 章見出しが出力されるページのスタイルは、\pstyle{jpl@in}になります。
3030 % \pstyle{jpl@in}は、\pstyle{headnomble}か\pstyle{footnomble}のいずれかです。
3031 % 詳細は、第\ref{sec:pagestyle}節を参照してください。
3033 % また、|\@topnum|をゼロにして、
3034 % 章見出しの上にトップフロートが置かれないようにしています。
3037 \newcommand{\chapter}{%
3038 \if@openleft \cleardoublepage \else
3039 \if@openright \cleardoublepage \else \clearpage \fi \fi
3040 \thispagestyle{jpl@in}%
3043 \secdef\@chapter\@schapter}
3047 % \begin{macro}{\@chapter}
3048 % このマクロは、章見出しに番号を付けるときに呼び出されます。
3049 % \Lcount{secnumdepth}が$-1$よりも大きく、
3050 % |\@mainmatter|が真(bookクラスの場合)のときに、番号を出力します。
3052 % \emph{日本語\TeX{}開発コミュニティによる補足}:本家\LaTeX{}の
3053 % \file{classes}では、二段組のときチャプタータイトルは一段組に戻され
3054 % ますが、アスキーによる\file{jclasses}では二段組のままにされています。
3055 % したがって、チャプタータイトルより高い位置に右カラムの始点が来るという
3056 % 挙動になっていますが、コミュニティ版でもアスキー版の挙動を維持しています。
3058 \def\@chapter[#1]#2{%
3059 \ifnum \c@secnumdepth >\m@ne
3060 %<book> \if@mainmatter
3061 \refstepcounter{chapter}%
3062 \typeout{\@chapapp\space\thechapter\space\@chappos}%
3063 \addcontentsline{toc}{chapter}%
3064 {\protect\numberline{\@chapapp\thechapter\@chappos}#1}%
3065 %<book> \else\addcontentsline{toc}{chapter}{#1}\fi
3067 \addcontentsline{toc}{chapter}{#1}%
3070 \addtocontents{lof}{\protect\addvspace{10\p@}}%
3071 \addtocontents{lot}{\protect\addvspace{10\p@}}%
3072 \@makechapterhead{#2}\@afterheading}
3076 % \begin{macro}{\@makechapterhead}
3077 % このマクロが実際に章見出しを組み立てます。
3078 % \changes{v1.1o}{1998/12/24}{secnumdepthカウンタを$-1$以下にすると、
3079 % 見出し文字列も消えてしまうのを修正}
3080 % \changes{v1.2}{2001/09/04}{\cs{chapter}の出力位置がアスタリスク形式と
3081 % そうでないときと違うのを修正(ありがとう、鈴木@津さん)}
3082 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3083 % \cs{normalfont} (sync with classes.dtx v1.3c)}
3085 \def\@makechapterhead#1{\hbox{}%
3089 \normalfont\huge\bfseries
3091 \ifnum \c@secnumdepth >\m@ne
3092 \setlength\@tempdima{\linewidth}%
3093 %<book> \if@mainmatter
3094 \setbox\z@\hbox{\@chapapp\thechapter\@chappos\hskip1\zw}%
3095 \addtolength\@tempdima{-\wd\z@}%
3098 \vtop{\hsize\@tempdima#1}%
3101 \fi}\nobreak\vskip3\Cvs}
3105 % \begin{macro}{\@schapter}
3106 % このマクロは、章見出しに番号を付けないときに呼び出されます。
3108 % \emph{日本語\TeX{}開発コミュニティによる補足}:やはり二段組でチャプター
3109 % タイトルより高い位置に右カラムの始点が来るという挙動を維持してあります。
3110 % \changes{v1.7c}{2016/12/18}{奇妙なarticleガードとコードを削除して
3114 \@makeschapterhead{#1}\@afterheading
3119 % \begin{macro}{\@makeschapterhead}
3121 % \changes{v1.2}{2001/09/04}{\cs{chapter}の出力位置がアスタリスク形式と
3122 % そうでないときと違うのを修正(ありがとう、鈴木@津さん)}
3123 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3124 % \cs{normalfont} (sync with classes.dtx v1.3c)}
3126 \def\@makeschapterhead#1{\hbox{}%
3130 \normalfont\huge\bfseries
3132 \setlength\@tempdima{\linewidth}%
3133 \vtop{\hsize\@tempdima#1}}\vskip3\Cvs}
3138 % \subsubsection{下位レベルの見出し}
3140 % \begin{macro}{\section}
3141 % 見出しの前後に空白を付け、|\Large\bfseries|で出力をします。
3142 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3143 % \cs{normalfont} (sync with classes.dtx v1.3c)}
3145 \newcommand{\section}{\@startsection{section}{1}{\z@}%
3146 {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
3147 {.5\Cvs \@plus.3\Cvs}%
3148 {\normalfont\Large\bfseries}}
3152 % \begin{macro}{\subsection}
3153 % 見出しの前後に空白を付け、|\large\bfseries|で出力をします。
3154 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3155 % \cs{normalfont} (sync with classes.dtx v1.3c)}
3157 \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
3158 {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
3159 {.5\Cvs \@plus.3\Cvs}%
3160 {\normalfont\large\bfseries}}
3164 % \begin{macro}{\subsubsection}
3165 % 見出しの前後に空白を付け、|\normalsize\bfseries|で出力をします。
3166 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3167 % \cs{normalfont} (sync with classes.dtx v1.3c)}
3169 \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
3170 {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
3171 {.5\Cvs \@plus.3\Cvs}%
3172 {\normalfont\normalsize\bfseries}}
3176 % \begin{macro}{\paragraph}
3177 % 見出しの前に空白を付け、|\normalsize\bfseries|で出力をします。
3179 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3180 % \cs{normalfont} (sync with classes.dtx v1.3c)}
3182 \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
3183 {3.25ex \@plus 1ex \@minus .2ex}%
3185 {\normalfont\normalsize\bfseries}}
3189 % \begin{macro}{\subparagraph}
3190 % 見出しの前に空白を付け、|\normalsize\bfseries|で出力をします。
3192 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
3193 % \cs{normalfont} (sync with classes.dtx v1.3c)}
3195 \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
3196 {3.25ex \@plus 1ex \@minus .2ex}%
3198 {\normalfont\normalsize\bfseries}}
3203 % \subsubsection{付録}
3205 % \begin{macro}{\appendix}
3206 % articleクラスの場合、|\appendix|コマンドは次のことを行ないます。
3209 % \item \Lcount{section}と\Lcount{subsection}カウンタをリセットする。
3210 % \item |\thesection|を英小文字で出力するように再定義する。
3215 \newcommand{\appendix}{\par
3216 \setcounter{section}{0}%
3217 \setcounter{subsection}{0}%
3218 %<tate> \renewcommand{\thesection}{\rensuji{\@Alph\c@section}}}
3219 %<yoko> \renewcommand{\thesection}{\@Alph\c@section}}
3223 % reportとbookクラスの場合、|\appendix|コマンドは次のことを行ないます。
3226 % \item \Lcount{chapter}と\Lcount{section}カウンタをリセットする。
3227 % \item |\@chapapp|を|\appendixname|に設定する。
3228 % \item |\@chappos|を空にする。
3229 % \item |\thechapter|を英小文字で出力するように再定義する。
3234 \newcommand{\appendix}{\par
3235 \setcounter{chapter}{0}%
3236 \setcounter{section}{0}%
3237 \renewcommand{\@chapapp}{\appendixname}%
3238 \renewcommand{\@chappos}\space%
3239 %<tate> \renewcommand{\thechapter}{\rensuji{\@Alph\c@chapter}}}
3240 %<yoko> \renewcommand{\thechapter}{\@Alph\c@chapter}}
3247 % \subsection{リスト環境}
3248 % ここではリスト環境について説明をしています。
3250 % リスト環境のデフォルトは次のように設定されます。
3252 % まず、|\rigtmargin|, |\listparindent|, |\itemindent|をゼロにします。
3253 % そして、K番目のレベルのリストは|\@listK|で示されるマクロが呼び出されます。
3254 % ここで`K'は小文字のローマ数字で示されます。たとえば、3番目のレベルのリスト
3255 % として|\@listiii|が呼び出されます。
3256 % |\@listK|は|\leftmargin|を|\leftmarginK|に設定します。
3258 % \begin{macro}{\leftmargin}
3259 % \begin{macro}{\leftmargini}
3260 % \begin{macro}{\leftmarginii}
3261 % \begin{macro}{\leftmarginiii}
3262 % \begin{macro}{\leftmarginiv}
3263 % \begin{macro}{\leftmarginv}
3264 % \begin{macro}{\leftmarginvi}
3265 % 二段組モードのマージンは少しだけ小さく設定してあります。
3268 \setlength\leftmargini {2em}
3270 \setlength\leftmargini {2.5em}
3273 % 次の3つの値は、|\labelsep|とデフォルトラベル(`(m)', `vii.', `M.')の
3276 \setlength\leftmarginii {2.2em}
3277 \setlength\leftmarginiii {1.87em}
3278 \setlength\leftmarginiv {1.7em}
3280 \setlength\leftmarginv {.5em}
3281 \setlength\leftmarginvi{.5em}
3283 \setlength\leftmarginv {1em}
3284 \setlength\leftmarginvi{1em}
3295 % \begin{macro}{\labelsep}
3296 % \begin{macro}{\labelwidth}
3297 % |\labelsep|はラベルとテキストの項目の間の距離です。
3298 % |\labelwidth|はラベルの幅です。
3300 \setlength \labelsep {.5em}
3301 \setlength \labelwidth{\leftmargini}
3302 \addtolength\labelwidth{-\labelsep}
3307 % \begin{macro}{\@beginparpenalty}
3308 % \begin{macro}{\@endparpenalty}
3309 % これらのペナルティは、リストや段落環境の前後に挿入されます。
3310 % \begin{macro}{\@itempenalty}
3311 % このペナルティは、リスト項目の間に挿入されます。
3313 \@beginparpenalty -\@lowpenalty
3314 \@endparpenalty -\@lowpenalty
3315 \@itempenalty -\@lowpenalty
3316 %</article|report|book>
3322 % \begin{macro}{\partopsep}
3323 % リスト環境の前に空行がある場合、|\parskip|と|\topsep|に|\partopsep|が
3324 % 加えられた値の縦方向の空白が取られます。
3326 %<10pt>\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@}
3327 %<11pt>\setlength\partopsep{3\p@ \@plus 1\p@ \@minus 1\p@}
3328 %<12pt>\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@}
3332 % \begin{macro}{\@listi}
3333 % \begin{macro}{\@listI}
3334 % |\@listi|は、|\leftmargin|, |\parsep|, |\topsep|, |\itemsep|などの
3336 % この定義は、フォントサイズコマンドによって変更されます(たとえば、
3337 % |\small|の中では``小さい''リストパラメータになります)。
3339 % このため、|\normalsize|がすべてのパラメータを戻せるように、
3340 % |\@listI|は|\@listi|のコピーを保存するように定義されています。
3343 \def\@listi{\leftmargin\leftmargini
3345 \parsep 4\p@ \@plus2\p@ \@minus\p@
3346 \topsep 8\p@ \@plus2\p@ \@minus4\p@
3347 \itemsep4\p@ \@plus2\p@ \@minus\p@}
3350 \parsep 4.5\p@ \@plus2\p@ \@minus\p@
3351 \topsep 9\p@ \@plus3\p@ \@minus5\p@
3352 \itemsep4.5\p@ \@plus2\p@ \@minus\p@}
3355 \parsep 5\p@ \@plus2.5\p@ \@minus\p@
3356 \topsep 10\p@ \@plus4\p@ \@minus6\p@
3357 \itemsep5\p@ \@plus2.5\p@ \@minus\p@}
3361 % ここで、パラメータを初期化しますが、厳密には必要ありません。
3368 % \begin{macro}{\@listii}
3369 % \begin{macro}{\@listiii}
3370 % \begin{macro}{\@listiv}
3371 % \begin{macro}{\@listv}
3372 % \begin{macro}{\@listvi}
3373 % 下位レベルのリスト環境のパラメータの設定です。
3374 % これらは保存用のバージョンを持たないことと、
3375 % フォントサイズコマンドによって変更されないことに注意をしてください。
3376 % 言い換えれば、このクラスは、本文サイズが
3377 % |\normalsize|で現れるリストの入れ子についてだけ考えています。
3379 \def\@listii{\leftmargin\leftmarginii
3380 \labelwidth\leftmarginii \advance\labelwidth-\labelsep
3382 \topsep 4\p@ \@plus2\p@ \@minus\p@
3383 \parsep 2\p@ \@plus\p@ \@minus\p@
3386 \topsep 4.5\p@ \@plus2\p@ \@minus\p@
3387 \parsep 2\p@ \@plus\p@ \@minus\p@
3390 \topsep 5\p@ \@plus2.5\p@ \@minus\p@
3391 \parsep 2.5\p@ \@plus\p@ \@minus\p@
3394 \def\@listiii{\leftmargin\leftmarginiii
3395 \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
3396 %<10pt> \topsep 2\p@ \@plus\p@\@minus\p@
3397 %<11pt> \topsep 2\p@ \@plus\p@\@minus\p@
3398 %<12pt> \topsep 2.5\p@\@plus\p@\@minus\p@
3400 \partopsep \p@ \@plus\z@ \@minus\p@
3402 \def\@listiv {\leftmargin\leftmarginiv
3403 \labelwidth\leftmarginiv
3404 \advance\labelwidth-\labelsep}
3405 \def\@listv {\leftmargin\leftmarginv
3406 \labelwidth\leftmarginv
3407 \advance\labelwidth-\labelsep}
3408 \def\@listvi {\leftmargin\leftmarginvi
3409 \labelwidth\leftmarginvi
3410 \advance\labelwidth-\labelsep}
3420 % \subsubsection{enumerate環境}
3421 % enumerate環境は、カウンタ\Lcount{enumi}, \Lcount{enumii}, \Lcount{enumiii},
3422 % \Lcount{enumiv}を使います。\Lcount{enumN}はN番目のレベルの番号を制御します。
3424 % \begin{macro}{\theenumi}
3425 % \begin{macro}{\theenumii}
3426 % \begin{macro}{\theenumiii}
3427 % \begin{macro}{\theenumiv}
3429 % これらは、すでに\file{ltlists.dtx}で定義されています。
3431 %<*article|report|book>
3433 \renewcommand{\theenumi}{\rensuji{\@arabic\c@enumi}}
3434 \renewcommand{\theenumii}{\rensuji{(\@alph\c@enumii)}}
3435 \renewcommand{\theenumiii}{\rensuji{\@roman\c@enumiii}}
3436 \renewcommand{\theenumiv}{\rensuji{\@Alph\c@enumiv}}
3439 \renewcommand{\theenumi}{\@arabic\c@enumi}
3440 \renewcommand{\theenumii}{\@alph\c@enumii}
3441 \renewcommand{\theenumiii}{\@roman\c@enumiii}
3442 \renewcommand{\theenumiv}{\@Alph\c@enumiv}
3450 % \begin{macro}{\labelenumi}
3451 % \begin{macro}{\labelenumii}
3452 % \begin{macro}{\labelenumiii}
3453 % \begin{macro}{\labelenumiv}
3454 % enumerate環境のそれぞれの項目のラベルは、
3455 % |\labelenumi| \ldots\ |\labelenumiv|で生成されます。
3458 \newcommand{\labelenumi}{\theenumi}
3459 \newcommand{\labelenumii}{\theenumii}
3460 \newcommand{\labelenumiii}{\theenumiii}
3461 \newcommand{\labelenumiv}{\theenumiv}
3464 \newcommand{\labelenumi}{\theenumi.}
3465 \newcommand{\labelenumii}{(\theenumii)}
3466 \newcommand{\labelenumiii}{\theenumiii.}
3467 \newcommand{\labelenumiv}{\theenumiv.}
3475 % \begin{macro}{\p@enumii}
3476 % \begin{macro}{\p@enumiii}
3477 % \begin{macro}{\p@enumiv}
3479 % enumerate環境のN番目のリスト項目が参照されるときの書式です。
3481 \renewcommand{\p@enumii}{\theenumi}
3482 \renewcommand{\p@enumiii}{\theenumi(\theenumii)}
3483 \renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
3489 % \begin{environment}{enumerate}
3490 % \changes{v1.1q}{1999/05/18}{縦組時のみに設定するようにした}
3491 % トップレベルで使われたときに、最初と最後に半行分のスペースを開けるように、
3492 % 変更します。この環境は、\file{ltlists.dtx}で定義されています。
3493 % \changes{v1.7a}{2016/11/16}{Use \cs{expandafter}
3494 % (sync with ltlists.dtx v1.0j)}
3497 \renewenvironment{enumerate}
3498 {\ifnum \@enumdepth >\thr@@\@toodeep\else
3499 \advance\@enumdepth\@ne
3500 \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
3501 \expandafter \list \csname label\@enumctr\endcsname{%
3502 \ifnum\ltjgetparameter{direction}=3
3503 \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
3505 \parskip\z@ \itemsep\z@ \parsep\z@
3506 \labelwidth1\zw \labelsep.3\zw
3507 \ifnum \@enumdepth=\@ne \leftmargin1\zw\relax
3508 \else\leftmargin\leftskip\fi
3509 \advance\leftmargin 1\zw
3511 \usecounter{\@enumctr}%
3512 \def\makelabel##1{\hss\llap{##1}}}%
3518 % \subsubsection{itemize環境}
3520 % \begin{macro}{\labelitemi}
3521 % \begin{macro}{\labelitemii}
3522 % \begin{macro}{\labelitemiii}
3523 % \begin{macro}{\labelitemiv}
3524 % itemize環境のそれぞれの項目のラベルは、
3525 % |\labelenumi| \ldots\ |\labelenumiv|で生成されます。
3526 % \changes{v1.1a}{1997/01/28}{Bug fix: \cs{labelitemii}.}
3527 % \changes{v1.8e}{2020/01/03}{Normalize label fonts
3528 % (sync with classes.dtx 2019/12/20 v1.4l)}
3530 \newcommand{\labelitemi}{\labelitemfont \textbullet}
3531 \newcommand{\labelitemii}{%
3532 \ifnum\ltjgetparameter{direction}=3
3533 {\labelitemfont \textcircled{~}}
3535 {\labelitemfont \bfseries\textendash}
3538 \newcommand{\labelitemiii}{\labelitemfont \textasteriskcentered}
3539 \newcommand{\labelitemiv}{\labelitemfont \textperiodcentered}
3540 \newcommand\labelitemfont{\normalfont}
3547 % \begin{environment}{itemize}
3548 % \changes{v1.0e}{1996/03/14}{縦組時のみに設定するようにした}
3549 % トップレベルで使われたときに、最初と最後に半行分のスペースを開けるように、
3550 % 変更します。この環境は、\file{ltlists.dtx}で定義されています。
3551 % \changes{v1.7a}{2016/11/16}{Use \cs{expandafter}
3552 % (sync with ltlists.dtx v1.0j)}
3554 \renewenvironment{itemize}
3555 {\ifnum \@itemdepth >\thr@@\@toodeep\else
3556 \advance\@itemdepth\@ne
3557 \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
3558 \expandafter \list \csname \@itemitem\endcsname{%
3559 \ifnum\ltjgetparameter{direction}=3
3560 \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
3562 \parskip\z@ \itemsep\z@ \parsep\z@
3563 \labelwidth1\zw \labelsep.3\zw
3564 \ifnum \@itemdepth =\@ne \leftmargin1\zw\relax
3565 \else\leftmargin\leftskip\fi
3566 \advance\leftmargin 1\zw
3568 \def\makelabel##1{\hss\llap{##1}}}%
3574 % \subsubsection{description環境}
3576 % \begin{environment}{description}
3577 % \changes{v1.0e}{1996/03/14}{\cs{topskip}や\cs{parkip}などの値を縦組時のみに
3579 % description環境を定義します。
3580 % 縦組時には、インデントが3字分だけ深くなります。
3582 \newenvironment{description}
3583 {\list{}{\labelwidth\z@ \itemindent-\leftmargin
3584 \ifnum\ltjgetparameter{direction}=3
3585 \leftmargin\leftskip \advance\leftmargin3\Cwd
3586 \rightmargin\rightskip
3587 \labelsep=1\zw \itemsep\z@
3588 \listparindent\z@ \topskip\z@ \parskip\z@ \partopsep\z@
3590 \let\makelabel\descriptionlabel}}{\endlist}
3594 % \begin{macro}{\descriptionlabel}
3595 % ラベルの形式を変更する必要がある場合は、|\descriptionlabel|を
3598 \newcommand{\descriptionlabel}[1]{%
3599 \hspace\labelsep\normalfont\bfseries #1}
3604 % \subsubsection{verse環境}
3606 % \begin{environment}{verse}
3607 % verse環境は、リスト環境のパラメータを使って定義されています。
3608 % 改行をするには|\\|を用います。|\\|は|\@centercr|に|\let|されています。
3610 \newenvironment{verse}
3612 \list{}{\itemsep\z@ \itemindent -1.5em%
3613 \listparindent\itemindent
3614 \rightmargin\leftmargin \advance\leftmargin 1.5em}%
3615 \item\relax}{\endlist}
3619 % \subsubsection{quotation環境}
3621 % \begin{environment}{quotation}
3622 % quotation環境もまた、list環境のパラメータを使用して定義されています。
3623 % この環境の各行は、|\textwidth|よりも小さく設定されています。
3624 % この環境における、段落の最初の行はインデントされます。
3626 \newenvironment{quotation}
3627 {\list{}{\listparindent 1.5em%
3628 \itemindent\listparindent
3629 \rightmargin\leftmargin
3630 \parsep\z@ \@plus\p@}%
3631 \item\relax}{\endlist}
3635 % \subsubsection{quote環境}
3637 % \begin{environment}{quote}
3638 % quote環境は、段落がインデントされないことを除き、quotation環境と同じです。
3640 \newenvironment{quote}
3641 {\list{}{\rightmargin\leftmargin}%
3642 \item\relax}{\endlist}
3650 % \file{ltfloat.dtx}では、フロートオブジェクトを操作するためのツールしか
3651 % 定義していません。タイプが\texttt{TYPE}のフロートオブジェクトを
3652 % 扱うマクロを定義するには、次の変数が必要です。
3654 % \begin{description}
3655 % \item[\texttt{\bslash fps@TYPE}]
3656 % タイプ\texttt{TYPE}のフロートを置くデフォルトの位置です。
3658 % \item[\texttt{\bslash ftype@TYPE}]
3659 % タイプ\texttt{TYPE}のフロートの番号です。
3660 % 各\texttt{TYPE}には、一意な、2の倍数の\texttt{TYPE}番号を割り当てます。
3661 % たとえば、図が番号1ならば、表は2です。次のタイプは4となります。
3663 % \item[\texttt{\bslash ext@TYPE}]
3664 % タイプ\texttt{TYPE}のフロートの目次を出力するファイルの拡張子です。
3665 % たとえば、|\ext@figure|は`lot'です。
3667 % \item[\texttt{\bslash fnum@TYPE}]
3668 % キャプション用の図番号を生成するマクロです。
3669 % たとえば、|\fnum@figure|は`図|\thefigure|'を作ります。
3672 % \subsubsection{figure環境}
3673 % ここでは、figure環境を実装しています。
3675 % \begin{macro}{\c@figure}
3676 % \begin{macro}{\thefigure}
3679 %<article>\newcounter{figure}
3680 %<report|book>\newcounter{figure}[chapter]
3682 %<article>\renewcommand{\thefigure}{\rensuji{\@arabic\c@figure}}
3684 % \changes{v1.1d}{1997/02/14}{\cs{ifnum}文の構文エラーを訂正。}
3687 \renewcommand{\thefigure}{%
3688 \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@figure}}
3692 %<article>\renewcommand{\thefigure}{\@arabic\c@figure}
3694 \renewcommand{\thefigure}{%
3695 \ifnum\c@chapter>\z@\thechapter.\fi\@arabic\c@figure}
3702 % \begin{macro}{\fps@figure}
3703 % \begin{macro}{\ftype@figure}
3704 % \begin{macro}{\ext@figure}
3705 % \begin{macro}{\fnum@figure}
3706 % フロートオブジェクトタイプ``figure''のためのパラメータです。
3708 \def\fps@figure{tbp}
3709 \def\ftype@figure{1}
3710 \def\ext@figure{lof}
3711 %<tate>\def\fnum@figure{\figurename\thefigure}
3712 %<yoko>\def\fnum@figure{\figurename~\thefigure}
3719 % \begin{environment}{figure}
3720 % \begin{environment}{figure*}
3721 % |*|形式は2段抜きのフロートとなります。
3723 \newenvironment{figure}
3726 \newenvironment{figure*}
3727 {\@dblfloat{figure}}
3733 % \subsubsection{table環境}
3734 % ここでは、table環境を実装しています。
3736 % \begin{macro}{\c@table}
3737 % \begin{macro}{\thetable}
3738 % \changes{v1.1n}{1998/10/13}
3739 % {report, bookクラスでchapterカウンタを考慮していなかったのを修正。
3743 %<article>\newcounter{table}
3744 %<report|book>\newcounter{table}[chapter]
3746 %<article>\renewcommand{\thetable}{\rensuji{\@arabic\c@table}}
3748 \renewcommand{\thetable}{%
3749 \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@table}}
3753 %<article>\renewcommand{\thetable}{\@arabic\c@table}
3755 \renewcommand{\thetable}{%
3756 \ifnum\c@chapter>\z@\thechapter.\fi\@arabic\c@table}
3763 % \begin{macro}{\fps@table}
3764 % \begin{macro}{\ftype@table}
3765 % \begin{macro}{\ext@table}
3766 % \begin{macro}{\fnum@table}
3767 % フロートオブジェクトタイプ``table''のためのパラメータです。
3772 %<tate>\def\fnum@table{\tablename\thetable}
3773 %<yoko>\def\fnum@table{\tablename~\thetable}
3780 % \begin{environment}{table}
3781 % \begin{environment}{table*}
3782 % |*|形式は2段抜きのフロートとなります。
3784 \newenvironment{table}
3787 \newenvironment{table*}
3794 % \subsection{キャプション}
3796 % \begin{macro}{\@makecaption}
3797 % |\caption|コマンドは、キャプションを組み立てるために|\@mkcaption|を呼出ます。
3798 % このコマンドは二つの引数を取ります。
3799 % 一つは、\meta{number}で、フロートオブジェクトの番号です。
3800 % もう一つは、\meta{text}でキャプション文字列です。
3801 % \meta{number}には通常、`図 3.2'のような文字列が入っています。
3802 % このマクロは、|\parbox|の中で呼び出されます。書体は|\normalsize|です。
3804 % \begin{macro}{\abovecaptionskip}
3805 % \begin{macro}{\belowcaptionskip}
3806 % これらの長さはキャプションの前後に挿入されるスペースです。
3808 \newlength\abovecaptionskip
3809 \newlength\belowcaptionskip
3810 \setlength\abovecaptionskip{10\p@}
3811 \setlength\belowcaptionskip{0\p@}
3816 % キャプション内で複数の段落を作成することができるように、
3817 % このマクロは|\long|で定義をします。
3819 \long\def\@makecaption#1#2{%
3820 \vskip\abovecaptionskip
3821 \ifnum\ltjgetparameter{direction}=3 \sbox\@tempboxa{#1\hskip1\zw#2}%
3822 \else\sbox\@tempboxa{#1: #2}%
3824 \ifdim \wd\@tempboxa >\hsize
3825 \ifnum\ltjgetparameter{direction}=3 #1\hskip1\zw#2\relax\par
3826 \else #1: #2\relax\par\fi
3828 \global \@minipagefalse
3829 \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
3831 \vskip\belowcaptionskip}
3835 % \subsection{コマンドパラメータの設定}
3837 % \subsubsection{arrayとtabular環境}
3839 % \begin{macro}{\arraycolsep}
3840 % array環境のカラムは2|\arraycolsep|で分離されます。
3842 \setlength\arraycolsep{5\p@}
3846 % \begin{macro}{\tabcolsep}
3847 % tabular環境のカラムは2|\tabcolsep|で分離されます。
3849 \setlength\tabcolsep{6\p@}
3853 % \begin{macro}{\arrayrulewidth}
3854 % arrayとtabular環境内の罫線の幅です。
3856 \setlength\arrayrulewidth{.4\p@}
3860 % \begin{macro}{\doublerulesep}
3861 % arrayとtabular環境内の罫線間を調整する空白です。
3863 \setlength\doublerulesep{2\p@}
3867 % \subsubsection{tabbing環境}
3869 % \begin{macro}{\tabbingsep}
3870 % |\'|コマンドで置かれるスペースを制御します。
3872 \setlength\tabbingsep{\labelsep}
3876 % \subsubsection{minipage環境}
3878 % \begin{macro}{\@mpfootins}
3879 % minipageにも脚注を付けることができます。
3880 % |\skip||\@mpfootins|は、通常の|\skip||\footins|と同じような動作をします。
3882 \skip\@mpfootins = \skip\footins
3886 % \subsubsection{framebox環境}
3888 % \begin{macro}{\fboxsep}
3889 % \begin{macro}{\fboxrule}
3890 % |\fboxsep|は、|\fbox|と|\framebox|での、
3891 % テキストとボックスの間に入る空白です。
3892 % |\fboxrule|は|\fbox|と|\framebox|で作成される罫線の幅です。
3894 \setlength\fboxsep{3\p@}
3895 \setlength\fboxrule{.4\p@}
3900 % \subsubsection{equationとeqnarray環境}
3902 % \begin{macro}{\theequation}
3903 % equationカウンタは、新しい章の開始でリセットされます。
3904 % また、equation番号には、章番号が付きます。
3906 % このコードは|\chapter|定義の後、より正確にはchapterカウンタの定義の後、
3909 %<article>\renewcommand{\theequation}{\@arabic\c@equation}
3911 \@addtoreset{equation}{chapter}
3912 \renewcommand{\theequation}{%
3913 \ifnum\c@chapter>\z@\thechapter.\fi \@arabic\c@equation}
3919 % \section{フォントコマンド}
3920 % まず、数式内に日本語を直接、記述するために数式記号用文字に
3921 % ``JY3/mc/m/n''を登録します。数式バージョンがboldの場合は、
3922 % ``JY3/gt/m/n''を用います。
3923 % これらは、|\mathmc|, |\mathgt|として登録されます。
3924 % また、日本語数式ファミリとして|\symmincho|がこの段階で設定されます。
3925 % |mathrmmc|オプションが指定されていた場合には、これに引き続き
3926 % |\mathrm|と|\mathbf|を和欧文両対応にするための作業がなされます。この際、
3927 % 他のマクロとの衝突を避けるため|\AtBeginDocument|
3928 % を用いて展開順序を遅らせる必要があります。
3932 % \changes{v1.6}{2006/06/27}{フォントコマンドを修正。ありがとう、ymtさん。}
3934 % compatibility mode では和文数式フォントfamが2重定義されていた
3937 % \changes{v1.8-ltj-14}{2018/10/08}{Lua\TeX-ja本体が|disablejfam|オプションをサポートしました。
3938 % クラス読み込み時に|disablejfam|オプションを指定した場合は、それがLua\TeX-jaに渡されて
3939 % 数式中に日本語を記述することができなくなります(|\mathmc|, |\mathgt|も定義されません)。}
3941 \unless\ifltj@disablejfam
3942 \if@compatibility\else
3943 \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
3944 \DeclareSymbolFontAlphabet{\mathmc}{mincho}
3945 \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
3947 \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
3951 \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}
3952 \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}
3958 % ここでは\LaTeX~2.09で一般的に使われていたコマンドを定義しています。
3959 % これらのコマンドはテキストモードと数式モードの\emph{どちらでも}動作します。
3960 % これらは互換性のために提供をしますが、できるだけ|\text...|と|\math...|を
3963 % \begin{macro}{\mc}
3964 % \begin{macro}{\gt}
3965 % \begin{macro}{\rm}
3966 % \begin{macro}{\sf}
3967 % \begin{macro}{\tt}
3968 % これらのコマンドはフォントファミリを変更します。
3969 % 互換モードの同名コマンドと異なり、すべてのコマンドがデフォルトフォントに
3970 % リセットしてから、対応する属性を変更することに注意してください。
3972 \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
3973 \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
3974 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
3975 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
3976 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
3984 % \begin{macro}{\bf}
3985 % このコマンドはボールド書体にします。ノーマル書体に変更するには、
3986 % |\mdseries|と指定をします。
3988 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
3992 % \begin{macro}{\it}
3993 % \begin{macro}{\sl}
3994 % \begin{macro}{\sc}
3995 % これらのコマンドはフォントシェイプを切替えます。
3996 % スラント体とスモールキャップの数式アルファベットはありませんので、
3997 % 数式モードでは何もしませんが、警告メッセージを出力します。
3998 % |\upshape|コマンドで通常のシェイプにすることができます。
4000 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
4001 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
4002 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
4008 % \begin{macro}{\cal}
4009 % \begin{macro}{\mit}
4010 % これらのコマンドは数式モードでだけ使うことができます。
4012 % 現在のNFSSは、これらのコマンドが警告を生成するように定義していますので、
4013 % `手ずから'定義する必要があります。
4015 \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
4016 \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
4026 % |\section|コマンドは、\file{.toc}ファイルに、次のような行を出力します。
4028 % |\contentsline{section}{|\meta{title}|}{|\meta{page}|}|
4030 % \meta{title}には項目が、\meta{page}にはページ番号が入ります。
4031 % |\section|に見出し番号が付く場合は、\meta{title}は、
4032 % |\numberline{|\meta{num}|}{|\meta{heading}|}|となります。
4033 % \meta{num}は|\thesection|コマンドで生成された見出し番号です。
4034 % \meta{heading}は見出し文字列です。この他の見出しコマンドも同様です。
4036 % figure環境での|\caption|コマンドは、\file{.lof}ファイルに、
4039 % |\contentsline{figure}{\numberline{|\meta{num}|}{|%
4040 % \meta{caption}|}}{|\meta{page}|}|
4042 % \meta{num}は、|\thefigure|コマンドで生成された図番号です。
4043 % \meta{caption}は、キャプション文字列です。table環境も同様です。
4045 % |\contentsline{|\meta{name}|}|コマンドは、|\l@|\meta{name}に展開されます。
4046 % したがって、目次の体裁を記述するには、|\l@chapter|, |\l@section|などを
4047 % 定義します。図目次のためには|\l@figure|です。
4048 % これらの多くのコマンドは|\@dottedtocline|コマンドで定義されています。
4049 % このコマンドは次のような書式となっています。
4051 % |\@dottedtocline{|\meta{level}|}{|\meta{indent}|}{|^^A
4052 % \meta{numwidth}|}{|\meta{title}|}{|\meta{page}|}|
4054 % \begin{description}
4055 % \item[\meta{level}] ``\meta{level} $<=$ \Lcount{tocdepth}''のときにだけ、
4056 % 生成されます。|\chapter|はレベル0、|\section|はレベル1、$\ldots$ です。
4057 % \item[\meta{indent}] 一番外側からの左マージンです。
4058 % \item[\meta{numwidth}] 見出し番号(|\numberline|コマンドの\meta{num})が
4062 % \begin{macro}{\c@tocdepth}
4063 % \Lcount{tocdepth}は、目次ページに出力をする見出しレベルです。
4065 %<article>\setcounter{tocdepth}{3}
4066 %<!article>\setcounter{tocdepth}{2}
4070 % また、目次を生成するために次のパラメータも使います。
4072 % \begin{macro}{\@pnumwidth}
4075 \newcommand{\@pnumwidth}{1.55em}
4079 % \begin{macro}{\@tocrmarg}
4080 % 複数行にわたる場合の右マージンです。
4082 \newcommand{\@tocrmarg}{2.55em}
4086 % \begin{macro}{\@dotsep}
4087 % ドットの間隔(mu単位)です。2や1.7のように指定をします。
4089 \newcommand{\@dotsep}{4.5}
4093 % \begin{macro}{\toclineskip}
4094 % この長さ変数は、目次項目の間に入るスペースの長さです。
4095 % デフォルトはゼロとなっています。縦組のとき、スペースを少し広げます。
4097 \newdimen\toclineskip
4098 %<yoko>\setlength\toclineskip{\z@}
4099 %<tate>\setlength\toclineskip{2\p@}
4103 % \begin{macro}{\numberline}
4104 % \begin{macro}{\@lnumwidth}
4105 % |\numberline|マクロの定義を示します。オリジナルの定義では、ボックスの幅を
4106 % |\@tempdima|にしていますが、この変数はいろいろな箇所で使われますので、
4107 % 期待した値が入らない場合があります。
4109 % ^^A たとえば、|lltjfont.sty|での|\selectfont|は、和欧文のベースラインを調整する
4110 % ^^A ために|\@tempdima|変数を用いています。そのため、|\l@...|マクロの中で
4111 % ^^A フォントを切替えると、|\numberline|マクロのボックス
4112 % ^^A の幅が、ベースラインを調整するときに計算した値になってしまいます。
4113 % ^^A →修正(texjporg):最近の|\adjustbaseline|では|\adjust@dimen|が使われて
4114 % ^^A いるため、記述をコメントアウトしました。
4116 % フォント選択コマンドの後、あるいは|\numberline|マクロの中でフォントを
4117 % 切替えてもよいのですが、一時変数を意識したくないので、
4118 % 見出し番号の入るボックスを|\@lnumwidth|変数を用いて組み立てるように
4119 % |\numberline|マクロを再定義します。
4121 \newdimen\@lnumwidth
4122 \def\numberline#1{\hb@xt@\@lnumwidth{#1\hfil}}
4127 % \begin{macro}{\@dottedtocline}
4128 % 目次の各行間に|\toclineskip|を入れるように変更します。
4129 % このマクロは\file{ltsect.dtx}で定義されています。
4130 % \changes{v1.3}{2001/10/04}{第5引数の書体を\cs{rmfamily}から\cs{normalfont}に変更}
4131 % \changes{v1.7a}{2016/11/16}{Added \cs{nobreak} for
4132 % latex/2343 (sync with ltsect.dtx v1.0z)}
4134 \def\@dottedtocline#1#2#3#4#5{%
4135 \ifnum #1>\c@tocdepth \else
4136 \vskip\toclineskip \@plus.2\p@
4137 {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
4138 \parindent #2\relax\@afterindenttrue
4139 \interlinepenalty\@M
4141 \@lnumwidth #3\relax
4142 \advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip
4144 \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$}%
4146 \hb@xt@\@pnumwidth{\hss\normalfont \normalcolor #5}%
4152 % \begin{macro}{\addcontentsline}
4153 % 縦組の場合にページ番号を|\rensuji|で囲むように変更します。
4155 % このマクロは\file{ltsect.dtx}で定義されています。
4156 % ^^A 命令 |\addcontentsline| と |\addtocontents| を組み合わせ
4157 % \changes{v1.8a}{2018/10/25}{ファイル書き出し時の行末文字対策
4158 % (sync with ltsect.dtx 2018/09/26 v1.1c)}
4159 % \changes{v1.8f}{2020/09/30}{add a fourth argument for better
4160 % hyperref compability
4161 % (sync with ltsect.dtx 2020/07/27 v1.1e)}
4163 \providecommand*\protected@file@percent{}
4164 \def\addcontentsline#1#2#3{%
4165 \protected@write\@auxout
4166 {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble
4167 %<tate> \@temptokena{\rensuji{\thepage}}%
4168 %<yoko> \@temptokena{\thepage}%
4169 }{\string\@writefile{#1}%
4170 {\protect\contentsline{#2}{#3}{\the\@temptokena}{}%
4171 \protected@file@percent}}%
4177 % \subsubsection{本文目次}
4179 % \begin{macro}{\tableofcontents}
4182 \newcommand{\tableofcontents}{%
4184 \if@twocolumn\@restonecoltrue\onecolumn
4185 \else\@restonecolfalse\fi
4187 %<article> \section*{\contentsname
4188 %<!article> \chapter*{\contentsname
4190 % |\tableofcontents|では、|\@mkboth|はheadingの中に入れてあります。
4191 % ほかの命令(|\listoffigures|など)については、|\@mkboth|はheadingの
4192 % 外に出してあります。これは\LaTeX の\file{classes.dtx}に合わせています。
4194 \@mkboth{\contentsname}{\contentsname}%
4196 %<report|book> \if@restonecol\twocolumn\fi
4201 % \begin{macro}{\l@part}
4204 \newcommand*{\l@part}[2]{%
4205 \ifnum \c@tocdepth >-2\relax
4206 %<article> \addpenalty{\@secpenalty}%
4207 %<!article> \addpenalty{-\@highpenalty}%
4208 \addvspace{2.25em \@plus\p@}%
4210 \parindent\z@\rightskip\@pnumwidth
4211 \parfillskip-\@pnumwidth
4212 {\leavevmode\large\bfseries
4213 \setlength\@lnumwidth{4\zw}%
4215 \hb@xt@\@pnumwidth{\hss#2}}\par
4217 %<article> \if@compatibility
4218 \global\@nobreaktrue
4219 \everypar{\global\@nobreakfalse\everypar{}}%
4226 % \begin{macro}{\l@chapter}
4230 \newcommand*{\l@chapter}[2]{%
4231 \ifnum \c@tocdepth >\m@ne
4232 \addpenalty{-\@highpenalty}%
4233 \addvspace{1.0em \@plus\p@}%
4235 \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip
4236 \leavevmode\bfseries
4237 \setlength\@lnumwidth{4\zw}%
4238 \advance\leftskip\@lnumwidth \hskip-\leftskip
4239 #1\nobreak\hfil\nobreak\hb@xt@\@pnumwidth{\hss#2}\par
4240 \penalty\@highpenalty
4247 % \begin{macro}{\l@section}
4251 \newcommand*{\l@section}[2]{%
4252 \ifnum \c@tocdepth >\z@
4253 \addpenalty{\@secpenalty}%
4254 \addvspace{1.0em \@plus\p@}%
4256 \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip
4257 \leavevmode\bfseries
4258 \setlength\@lnumwidth{1.5em}%
4259 \advance\leftskip\@lnumwidth \hskip-\leftskip
4260 #1\nobreak\hfil\nobreak\hb@xt@\@pnumwidth{\hss#2}\par
4268 %<tate>\newcommand*{\l@section}{\@dottedtocline{1}{1\zw}{4\zw}}
4269 %<yoko>\newcommand*{\l@section}{\@dottedtocline{1}{1.5em}{2.3em}}
4274 % \begin{macro}{\l@subsection}
4275 % \begin{macro}{\l@subsubsection}
4276 % \begin{macro}{\l@paragraph}
4277 % \begin{macro}{\l@subparagraph}
4282 \newcommand*{\l@subsection} {\@dottedtocline{2}{1\zw}{4\zw}}
4283 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{2\zw}{6\zw}}
4284 \newcommand*{\l@paragraph} {\@dottedtocline{4}{3\zw}{8\zw}}
4285 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{4\zw}{9\zw}}
4288 \newcommand*{\l@subsection} {\@dottedtocline{2}{2\zw}{6\zw}}
4289 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{3\zw}{8\zw}}
4290 \newcommand*{\l@paragraph} {\@dottedtocline{4}{4\zw}{9\zw}}
4291 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{5\zw}{10\zw}}
4296 \newcommand*{\l@subsection} {\@dottedtocline{2}{1.5em}{2.3em}}
4297 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{3.8em}{3.2em}}
4298 \newcommand*{\l@paragraph} {\@dottedtocline{4}{7.0em}{4.1em}}
4299 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{10em}{5em}}
4302 \newcommand*{\l@subsection} {\@dottedtocline{2}{3.8em}{3.2em}}
4303 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{7.0em}{4.1em}}
4304 \newcommand*{\l@paragraph} {\@dottedtocline{4}{10em}{5em}}
4305 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{12em}{6em}}
4315 % \subsubsection{図目次と表目次}
4317 % \begin{macro}{\listoffigures}
4319 % \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
4320 % arg (sync with classes.dtx v1.4c)}
4322 \newcommand{\listoffigures}{%
4324 \if@twocolumn\@restonecoltrue\onecolumn
4325 \else\@restonecolfalse\fi
4326 \chapter*{\listfigurename}%
4328 %<article> \section*{\listfigurename}%
4329 \@mkboth{\listfigurename}{\listfigurename}%
4331 %<report|book> \if@restonecol\twocolumn\fi
4336 % \begin{macro}{\l@figure}
4339 %<tate>\newcommand*{\l@figure}{\@dottedtocline{1}{1\zw}{4\zw}}
4340 %<yoko>\newcommand*{\l@figure}{\@dottedtocline{1}{1.5em}{2.3em}}
4344 % \begin{macro}{\listoftables}
4345 % \changes{v1.0c}{1995/12/28}{fix the \cs{listoftable} typo.}
4347 % \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
4348 % arg (sync with classes.dtx v1.4c)}
4350 \newcommand{\listoftables}{%
4352 \if@twocolumn\@restonecoltrue\onecolumn
4353 \else\@restonecolfalse\fi
4354 \chapter*{\listtablename}%
4356 %<article> \section*{\listtablename}%
4357 \@mkboth{\listtablename}{\listtablename}%
4359 %<report|book> \if@restonecol\twocolumn\fi
4364 % \begin{macro}{\l@table}
4365 % 表目次の体裁は、図目次と同じにします。
4367 \let\l@table\l@figure
4374 % \begin{macro}{\bibindent}
4375 % オープンスタイルの参考文献で使うインデント幅です。
4378 \setlength\bibindent{1.5em}
4382 % \begin{macro}{\newblock}
4383 % |\newblock|のデフォルト定義は、小さなスペースを生成します。
4385 \newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
4389 % \begin{environment}{thebibliography}
4390 % 参考文献や関連図書のリストを作成します。
4391 % \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
4392 % arg (sync with classes.dtx v1.4c)}
4394 \newenvironment{thebibliography}[1]
4395 %<article>{\section*{\refname}\@mkboth{\refname}{\refname}%
4396 %<report|book>{\chapter*{\bibname}\@mkboth{\bibname}{\bibname}%
4397 \list{\@biblabel{\@arabic\c@enumiv}}%
4398 {\settowidth\labelwidth{\@biblabel{#1}}%
4399 \leftmargin\labelwidth
4400 \advance\leftmargin\labelsep
4402 \usecounter{enumiv}%
4403 \let\p@enumiv\@empty
4404 \renewcommand\theenumiv{\@arabic\c@enumiv}}%
4407 % \changes{v1.1a}{1997/01/23}{\break\LaTeX\ \texttt{!<1996/12/01!>}に合わせて修正}
4410 \@clubpenalty\clubpenalty
4414 {\@latex@warning{Empty `thebibliography' environment}}%
4419 % \begin{macro}{\@openbib@code}
4420 % |\@openbib@code|のデフォルト定義は何もしません。
4421 % この定義は、\Lopt{openbib}オプションによって変更されます。
4423 \let\@openbib@code\@empty
4427 % \begin{macro}{\@biblabel}
4428 % The label for a |\bibitem[...]| command is produced by this
4429 % macro. The default from \file{latex.dtx} is used.
4431 % \renewcommand*{\@biblabel}[1]{[#1]\hfill}
4435 % \begin{macro}{\@cite}
4436 % The output of the |\cite| command is produced by this macro. The
4437 % default from \file{ltbibl.dtx} is used.
4439 % \renewcommand*{\@cite}[1]{[#1]}
4446 % \begin{environment}{theindex}
4448 % 索引の先頭のページのスタイルは\pstyle{jpl@in}とします。したがって、
4449 % \pstyle{headings}と\pstyle{bothstyle}に適した位置に出力されます。
4451 \newenvironment{theindex}
4452 {\if@twocolumn\@restonecolfalse\else\@restonecoltrue\fi
4453 %<article> \twocolumn[\section*{\indexname}]%
4454 %<report|book> \twocolumn[\@makeschapterhead{\indexname}]%
4455 \@mkboth{\indexname}{\indexname}%
4456 \thispagestyle{jpl@in}\parindent\z@
4458 % パラメータ|\columnseprule|と|\columnsep|の変更は、|\twocolumn|が
4459 % 実行された後でなければなりません。そうしないと、索引の前のページ
4461 % \changes{v1.7}{2016/11/12}{\cs{columnsep}と\cs{columnseprule}の
4462 % 変更を後ろに移動(sync with classes.dtx v1.4f)}
4464 \parskip\z@ \@plus .3\p@\relax
4465 \columnseprule\z@ \columnsep 35\p@
4467 {\if@restonecol\onecolumn\else\clearpage\fi}
4471 % \begin{macro}{\@idxitem}
4472 % \begin{macro}{\subitem}
4473 % \begin{macro}{\subsubitem}
4474 % 索引項目の字下げ幅です。|\@idxitem|は|\item|の項目の字下げ幅です。
4476 \newcommand{\@idxitem}{\par\hangindent 40\p@}
4477 \newcommand{\subitem}{\@idxitem \hspace*{20\p@}}
4478 \newcommand{\subsubitem}{\@idxitem \hspace*{30\p@}}
4484 % \begin{macro}{\indexspace}
4485 % 索引の``文字''見出しの前に入るスペースです。
4487 \newcommand{\indexspace}{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
4494 % \begin{macro}{\footnoterule}
4496 % \changes{v1.7}{2016/11/12}{use \cs{@width} (sync with classes.dtx v1.3a)}
4498 \renewcommand{\footnoterule}{%
4500 \hrule\@width.4\columnwidth
4505 % \begin{macro}{\c@footnote}
4506 % reportとbookクラスでは、chapterレベルでリセットされます。
4508 %<!article>\@addtoreset{footnote}{chapter}
4512 % \begin{macro}{\@makefntext}
4513 % このマクロにしたがって脚注が組まれます。
4515 % |\@makefnmark|は脚注記号を組み立てるマクロです。
4516 % \changes{v1.7}{2016/11/12}{Replaced all \cs{hbox to} by
4517 % \cs{hb@xt@} (sync with classes.dtx v1.3a)}
4520 \newcommand\@makefntext[1]{\parindent 1\zw
4521 \noindent\hb@xt@ 2\zw{\hss\@makefnmark}#1}
4524 \newcommand\@makefntext[1]{\parindent 1em
4525 \noindent\hb@xt@ 1.8em{\hss\@makefnmark}#1}
4532 % 組版時における現在の日付を出力します。
4534 % \iffalse meta-comment!
4535 % 注意:ここで \DisableCrossrefs, \EnableCrossrefs をしているのは、
4536 % platex jclasses.dtx で dvi を作るときにエラーになるため。
4539 % \begin{macro}{\if西暦}
4540 % \begin{macro}{\西暦}
4541 % \begin{macro}{\和暦}
4542 % \changes{v1.0h}{1996/12/17}{Typo:和歴 to 和暦}
4543 % |\today|コマンドの`年'を、
4544 % 西暦か和暦のどちらで出力するかを指定するコマンドです。
4545 % 2018年7月以降の日本語\TeX{}開発コミュニティ版(v1.8)では、
4546 % デフォルトを和暦ではなく西暦に設定しています。
4547 % \changes{v1.8}{2018/07/03}{\cs{today}のデフォルトを和暦から西暦に変更}
4558 % \begin{macro}{\heisei}
4559 % \changes{v1.1m}{1998/04/07}{\cs{today}の計算手順を変更}
4560 % \changes{v1.8b}{2019/04/02}{\cs{heisei}の値は$\mbox{西暦}-1988$で固定}
4561 % |\today|コマンドを|\rightmark|で指定したとき、|\rightmark|を出力する部分
4562 % で和暦のための計算ができないので、クラスファイルを読み込む時点で計算して
4565 \newcount\heisei \heisei\year \advance\heisei-1988\relax
4569 % \begin{macro}{\today}
4570 % \begin{macro}{\pltx@today@year}
4572 % \pLaTeX\ 2018-12-01以前では縦数式ディレクション時でも漢数字で出力していましたが、
4573 % \pLaTeX\ 2019-04-06以降からはそうしなくなりました。
4575 % [2015-01-01 LTJ] 縦組では、この漢数字による日付出力でエラーになりました。
4576 % Lua\TeX-ja では、\cs{kansuji}の後に\cs{number}を続けることは出来ないので\cs{number}を削除しました。
4577 % \changes{v1.8b}{2019/04/02}{\cs{today}の計算・出力方法を変更。}
4579 \def\pltx@today@year@#1{%
4580 \ifnum\numexpr\year-#1=1 元\else
4581 \ifnum\ltjgetparameter{direction}=3
4582 \kansuji\numexpr\year-#1\relax
4584 \number\numexpr\year-#1\relax\nobreak
4588 \def\pltx@today@year{%
4589 \ifnum\numexpr\year*10000+\month*100+\day<19890108
4590 昭和\pltx@today@year@{1925}%
4591 \else\ifnum\numexpr\year*10000+\month*100+\day<20190501
4592 平成\pltx@today@year@{1988}%
4594 令和\pltx@today@year@{2018}%
4598 \ifnum\ltjgetparameter{direction}=3 \kansuji\year
4599 \else\number\year\nobreak\fi 年
4603 \ifnum\ltjgetparameter{direction}=3
4607 \number\month\nobreak 月
4608 \number\day\nobreak 日
4619 % \begin{macro}{\prepartname}
4620 % \begin{macro}{\postpartname}
4621 % \begin{macro}{\prechaptername}
4622 % \begin{macro}{\postchaptername}
4624 \newcommand{\prepartname}{第}
4625 \newcommand{\postpartname}{部}
4626 %<report|book>\newcommand{\prechaptername}{第}
4627 %<report|book>\newcommand{\postchaptername}{章}
4634 % \begin{macro}{\contentsname}
4635 % \begin{macro}{\listfigurename}
4636 % \begin{macro}{\listtablename}
4638 \newcommand{\contentsname}{目 次}
4639 \newcommand{\listfigurename}{図 目 次}
4640 \newcommand{\listtablename}{表 目 次}
4646 % \begin{macro}{\refname}
4647 % \begin{macro}{\bibname}
4648 % \begin{macro}{\indexname}
4650 %<article>\newcommand{\refname}{参考文献}
4651 %<report|book>\newcommand{\bibname}{関連図書}
4652 \newcommand{\indexname}{索 引}
4658 % \begin{macro}{\figurename}
4659 % \begin{macro}{\tablename}
4661 \newcommand{\figurename}{図}
4662 \newcommand{\tablename}{表}
4667 % \begin{macro}{\appendixname}
4668 % \begin{macro}{\abstractname}
4670 \newcommand{\appendixname}{付 録}
4671 %<article|report>\newcommand{\abstractname}{概 要}
4676 % |stfloats|パッケージがシステムにインストールされている場合は、このパッケージを使って
4677 % p\LaTeX の標準時と同じようにボトムフロートの下に脚注が組まれるようにします。
4678 % \changes{v1.0d}{1996/02/29}{articleとreportのデフォルトを
4679 % \pstyle{plain}に修正}
4680 % \changes{v1.4}{2002/04/09}{縦組スタイルで\cs{flushbottom}しないようにした}
4681 % [2017-02-19 LTJ] p\LaTeX とLua\TeX-jaの|\@makecol|が違うことを
4684 %<book>\pagestyle{headings}
4685 %<!book>\pagestyle{plain}
4686 \pagenumbering{arabic}
4688 \fnfixbottomtrue % 2017-02-19
4689 \IfFileExists{stfloats.sty}{\RequirePackage{stfloats}\fnbelowfloat}{}
4697 % |\@mparswitch|は傍注を左右(縦組では上下)どちらのマージンに
4698 % 出力するかの指定です。偽の場合、傍注は一方の側にしか出力されません。
4699 % このスイッチを真とすると、とくに縦組の場合、奇数ページでは本文の上に、
4700 % 偶数ページでは本文の下に傍注が出力されますので、おかしなことになります。
4702 % また、縦組のときには、傍注を本文の下に出すようにしています。
4703 % |\reversemarginpar|とすると本文の上側に出力されます。
4704 % ただし、二段組の場合は、つねに隣接するテキスト側のマージンに出力されます。
4717 %</article|report|book>
4720 % \section{各種パッケージへの対応}
4721 % もともと縦組での利用を想定されていないいくつかのパッケージについて、
4722 % 補正するためのコードを記述しておきます。
4724 % [2020-08-03 LTJ] \LaTeX\~2020-10-01に対応するため、Lua\TeX-jaの提供する命令
4725 % (|filehook|パッケージの命令の別名か、新\LaTeX のフック機構を利用して同様の内容を書いたもの)
4728 % \subsection{\texttt{ftnright}パッケージ}
4729 % 脚注番号の書式が|ftnright|パッケージによって勝手に書き換えられるので、
4730 % パッケージ読み込み前に予め退避しておき、読み込み後に復帰させます。
4731 % \changes{v1.7d}{2017/02/19}{コード追加}
4733 %<*article|report|book>
4734 \ltj@ExecuteBeforePackage*{ftnright}{\let\ltjt@orig@@makefntext=\@makefntext}
4735 \ltj@ExecuteAfterPackage*{ftnright}{\let\@makefntext=\ltjt@orig@@makefntext}
4736 %</article|report|book>