1 % \iffalse meta-comment
2 %% File: ltjclasses.dtx
3 % -----------------------------------------
4 % Original: jclasses.dtx
6 % Copyright 1995-2001 ASCII Corporation.
8 % This file is part of the pLaTeX2e system.
9 % -----------------------------------------
14 % \setcounter{StandardModuleDepth}{1}
18 % \changes{v1.0}{1995/04/19}{first edition}
19 % \changes{v1.0a}{1995/08/30}{ページスタイル部分の調整}
20 % \changes{v1.0b}{1995/11/08}{ページスタイル部分の調整}
21 % \changes{v1.0c}{1996/01/30}{\LaTeX\ \texttt{!<1995/12/01!>}での修正を反映}
22 % \changes{v1.0d}{1996/02/29}{デフォルトページスタイルの修正}
23 % \changes{v1.0e}{1996/03/14}{itemize, enumerate環境の修正}
24 % \changes{v1.0f}{1996/07/10}{面付けオプションを追加}
25 % \changes{v1.0g}{1996/09/03}{トンボの横に作成日時を出力するようにした}
26 % \changes{v1.1}{1997/01/16}{\LaTeX\ \texttt{!<1996/06/01!>}版に対応}
27 % \changes{v1.1a}{1997/01/23}{\LaTeX\ \texttt{!<1996/12/01!>}版に対応}
28 % \changes{v1.1a}{1997/01/25}{互換モードでp\LaTeX~2.09のa4jなどの
30 % \changes{v1.1b}{1997/01/28}{日本語ファミリの宣言を再度、実装}
31 % \changes{v1.1d}{1997/01/29}{2eモードでa4jなどのオプションに対応}
32 % \changes{v1.1e}{1997/04/08}{トップマージンの値を修正}
33 % \changes{v1.1f}{1997/07/08}{縦組クラスでベースラインがおかしいのを修正}
34 % \changes{v1.1g}{1997/08/25}{片面印刷のとき、sectionレベルが出力されない
36 % \changes{v1.1h}{1997/09/03}{landscape指定時の値を修正}
37 % \changes{v1.1i}{1997/12/12}{report, bookクラスで片面印刷時に、
38 % bothstyleスタイルにすると、コンパイルエラーになるのを修正}
39 % \changes{v1.1j}{1998/02/03}{互換モード時のa5pのトップマージンを0.7in増加}
40 % \changes{v1.1k}{1998/03/23}{reportとbookクラスで番号を付けない見出しの
41 % ペナルティが\cs{M@}だったのを\cs{@M}に修正}
42 % \changes{v1.1m}{1998/04/07}{\cs{today}の計算手順を変更}
43 % \changes{v1.1n}{1998/10/13}{report,bookクラスの表番号が
44 % 見出しレベルに関係なくchapter番号が出力されてしまうのを修正}
45 % \changes{v1.1n}{1998/10/13}{mentukeオプションがエラーになっていたのを修正}
46 % \changes{v1.1o}{1998/12/24}{secnumdepthカウンタを$-1$以下にすると、
48 % \changes{v1.1p}{1999/1/6}{\cs{oddsidemargin}のポイントへの変換を後ろに}
49 % \changes{v1.1q}{1999/05/18}{縦組時のみに設定するようにした}
50 % \changes{v1.1r}{1999/08/09}{トップマージンの計算式を修正}
51 % \changes{v1.2}{2001/09/04}{\cs{chapter}の出力位置がアスタリスク形式と
52 % そうでないときと違うのを修正(ありがとう、鈴木@津さん)}
53 % \changes{v1.3}{2001/10/04}{目次のページ番号の書体を\cs{rmfamily}から
54 % \cs{normalfont}に変更(ありがとう、鈴木た@MILNさん)}
55 % \changes{v1.4}{2002/04/09}{縦組スタイルで\cs{flushbottom}しないようにした}
56 % \changes{v1.5}{2004/01/15}{\cs{part},\cs{chapter}の\cs{@afterindentfalse}を
57 % \cs{@afterindenttrue}に変更。
58 % \cs{section},\cs{subsection},\cs{subsubsection}の前後空きの伸縮幅を修正。
59 % (ありがとうございます、鈴木た@MILNさん)}
60 % \changes{v1.6}{2006/06/27}{フォントコマンドを修正。ありがとう、ymtさん。}
61 % \changes{v1.6-ltj}{2011/09/27}{jclasses.dtx v1.6 をベースにLua\LaTeX-ja用に修正。}
62 % \changes{v1.6-ltj-2}{2013/06/06}{luatexja.cfgに対応.}
63 % \changes{v1.6-ltj-3}{2014/06/08}{縦組クラスの時のgeometry.styに対応.}
64 % \changes{v1.6-ltj-4}{2014/06/30}{組方向の変更箇所を現行のLua\TeX-jaの仕様に合うように修正.}
65 % \changes{v1.6-ltj-5}{2014/07/02}{\cs{ifydir}, \cs{iftdir}を使わないように修正.}
66 % \changes{v1.6-ltj-6}{2014/07/28}{縦組クラスでlltjext.styを読み込むように修正.}
67 % \changes{v1.6-ltj-7}{2014/11/15}{縦組クラスとeveryshi.styとの相性が悪い問題を修正.}
68 % \changes{v1.6-ltj-8}{2014/11/22}{縦組時のgeometry.styへの対応を別ファイル(lltjp-geometry.sty)に分離.それに伴いv1.6-ltj-3での変更を削除.}
69 % \changes{v1.6-ltj-9}{2015/01/01}{縦組クラスの日付出力でエラーになることなどを修正.}
70 % \changes{v1.6-ltj-10}{2015/10/18}{Lua\TeX\ 0.81.0に伴うプリミティブ名の変更に対応.}
71 % \changes{v1.6-ltj-11}{2016/07/19}{トンボ使用時の用紙サイズの設定方法を変更(aminophenさん,ありがとうございます).}
72 % \changes{v1.7}{2016/11/12}{ドキュメントに反して\cs{@maketitle}が
74 % \changes{v1.7}{2016/11/12}{use \cs{@width} (sync with classes.dtx v1.3a)}
75 % \changes{v1.7}{2016/11/12}{Replaced all \cs{hbox to} by
76 % \cs{hb@xt@} (sync with classes.dtx v1.3a)}
77 % \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
78 % arg (sync with classes.dtx v1.4c)}
79 % \changes{v1.7}{2016/11/12}{\cs{columnsep}と\cs{columnseprule}の
80 % 変更を後ろに移動(sync with classes.dtx v1.4f)}
81 % \changes{v1.7a}{2016/11/16}{Check \texttt{@noskipsec} switch and
82 % possibly force horizontal mode (sync with classes.dtx v1.4a)}
83 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
84 % \cs{normalfont} (sync with classes.dtx v1.3c)}
85 % \changes{v1.7a}{2016/11/16}{Added \cs{nobreak} for
86 % latex/2343 (sync with ltsect.dtx v1.0z)}
87 % \changes{v1.7a}{2016/11/16}{Use \cs{expandafter}
88 % (sync with ltlists.dtx v1.0j)}
89 % \changes{v1.7b}{2016/11/22}{補足ドキュメントを追加}
90 % \changes{v1.7c}{2016/12/18}{Only add empty page after part if
91 % twoside and openright (sync with classes.dtx v1.4b)}
92 % \changes{v1.7c-ltj-12}{2017/01/17}{|\stockwidth|,~|\stockheight|をトンボオプション指定時にのみ定義
93 % (aminophenさん,ありがとうございます).}
94 % \changes{v1.7c}{2016/12/18}{奇妙なarticleガードとコードを削除して
99 \NeedsTeXFormat{LaTeX2e}
101 \ProvidesFile{ltjclasses.dtx}
104 %<article>\ProvidesClass{ltjarticle}
105 %<report>\ProvidesClass{ltjreport}
106 %<book>\ProvidesClass{ltjbook}
107 %<10pt&!bk>\ProvidesFile{ltjsize10.clo}
108 %<11pt&!bk>\ProvidesFile{ltjsize11.clo}
109 %<12pt&!bk>\ProvidesFile{ltjsize12.clo}
110 %<10pt&bk>\ProvidesFile{ltjbk10.clo}
111 %<11pt&bk>\ProvidesFile{ltjbk11.clo}
112 %<12pt&bk>\ProvidesFile{ltjbk12.clo}
115 %<article>\ProvidesClass{ltjtarticle}
116 %<report>\ProvidesClass{ltjtreport}
117 %<book>\ProvidesClass{ltjtbook}
118 %<10pt&!bk>\ProvidesFile{ltjtsize10.clo}
119 %<11pt&!bk>\ProvidesFile{ltjtsize11.clo}
120 %<12pt&!bk>\ProvidesFile{ltjtsize12.clo}
121 %<10pt&bk>\ProvidesFile{ltjtbk10.clo}
122 %<11pt&bk>\ProvidesFile{ltjtbk11.clo}
123 %<12pt&bk>\ProvidesFile{ltjtbk12.clo}
125 [2017/01/17 v1.7c-ltj-12
126 %<article|report|book> Standard LuaLaTeX-ja class]
127 %<10pt|11pt|12pt> Standard LuaLaTeX-ja file (size option)]
130 \documentclass{ltjltxdoc}
131 \GetFileInfo{ltjclasses.dtx}
132 \usepackage[ipaex,nfssonly]{luatexja-preset}
133 \usepackage[unicode]{hyperref}
134 \title{Lua\LaTeX-ja用\texttt{jclasses}互換クラス}
135 \author{Lua\TeX-jaプロジェクト}
146 % このファイルは、Lua\LaTeX-ja用の|jclasses|互換クラスファイルです。
148 % \dst{}プログラムによって、横組用のクラスファイルと縦組用のクラスファイル
151 % 次に\dst{}プログラムのためのオプションを示します。
153 % \DeleteShortVerb{\|}
155 % \begin{tabular}{l|l}
156 % \emph{オプション} & \emph{意味}\\\hline
157 % article & articleクラスを生成\\
158 % report & reportクラスを生成\\
159 % book & bookクラスを生成\\
160 % 10pt & 10ptサイズの設定を生成\\
161 % 11pt & 11ptサイズの設定を生成\\
162 % 12pt & 12ptサイズの設定を生成\\
163 % bk & bookクラス用のサイズの設定を生成\\
170 % \subsection{\texttt{jclasses.dtx} からの主な変更点}
171 % 全ての変更点を知りたい場合は、|jclasses.dtx|と|ltjclasses.dtx|で|diff|を
174 % \item |disablejfam|オプションを無効化。もし
176 % |! LaTeX Error: Too many math alphabets used in version ****.|
178 % のエラーが起こった場合は、|lualatex-math|パッケージを読み込んでみて下さい。
179 % \item 出力PDFの用紙サイズが自動的に設定されるようにしてあります。
180 % %%%\item 縦組みクラスにおいて、|geometry|パッケージを読み込んだときに意図通りにならない問題に対応しました。%
183 % \section{Lua\TeX-ja の読み込み}
184 % 最初に|luatexja|を読み込みます。
186 %<*article|report|book>
187 \RequirePackage{luatexja}
190 % \section{オプションスイッチ}
191 % ここでは、後ほど使用するいくつかのコマンドやスイッチを定義しています。
193 % \begin{macro}{\c@@paper}
195 % A4, A5, B4, B5用紙はそれぞれ、1, 2, 3, 4として表されます。
201 % \begin{macro}{\if@landscape}
202 % 用紙を横向きにするかどうかのスイッチです。デフォルトは、縦向きです。
204 \newif\if@landscape \@landscapefalse
208 % \begin{macro}{\@ptsize}
209 % 組版をするポイント数の一の位を保存するために使います。
212 \newcommand{\@ptsize}{}
216 % \begin{macro}{\if@restonecol}
217 % 二段組時に用いるテンポラリスイッチです。
223 % \begin{macro}{\if@titlepage}
224 % タイトルページやアブストラクト(概要)を
225 % 独立したページにするかどうかのスイッチです。
226 % reportとbookスタイルのデフォルトでは、独立したページになります。
229 %<article>\@titlepagefalse
230 %<report|book>\@titlepagetrue
234 % \begin{macro}{\if@openright}
235 % chapterレベルを奇数ページからはじめるかどうかのスイッチです。
236 % reportクラスのデフォルトは、``no''です。
237 % bookクラスのデフォルトは、``yes''です。
239 %<!article>\newif\if@openright
243 % \changes{v1.0c}{1995/12/25}{Macro \cs{if@openbib} removed}
245 % \begin{macro}{\if@mainmatter}
246 % スイッチ|\@mainmatter|が真の場合、本文を処理しています。
247 % このスイッチが偽の場合は、|\chapter|コマンドは見出し番号を出力しません。
249 %<book>\newif\if@mainmatter \@mainmattertrue
253 % \begin{macro}{\hour}
254 % \begin{macro}{\minute}
256 \hour\time \divide\hour by 60\relax
257 \@tempcnta\hour \multiply\@tempcnta 60\relax
258 \minute\time \advance\minute-\@tempcnta
263 % \begin{macro}{\if@stysize}
264 % \changes{v1.1a}{1997/01/25}{Add \cs{if@stysize}.}
265 % \LaTeXe~2.09互換モードで、スタイルオプションにa4j, a5pなどが指定された
266 % ときの動作をエミュレートするためのフラグです。
268 \newif\if@stysize \@stysizefalse
272 % \begin{macro}{\if@mathrmmc}
273 % 和欧文両対応の数式文字コマンドを有効にするときに用いるフラグです。
274 % マクロの展開順序が複雑になるのを避けるため、
275 % デフォルトではfalseとしてあります。
277 \newif\if@mathrmmc \@mathrmmcfalse
282 % ここでは、クラスオプションの宣言を行なっています。
284 % \subsection{用紙オプション}
287 \DeclareOption{a4paper}{\setcounter{@paper}{1}%
288 \setlength\paperheight {297mm}%
289 \setlength\paperwidth {210mm}}
290 \DeclareOption{a5paper}{\setcounter{@paper}{2}%
291 \setlength\paperheight {210mm}
292 \setlength\paperwidth {148mm}}
293 \DeclareOption{b4paper}{\setcounter{@paper}{3}%
294 \setlength\paperheight {364mm}
295 \setlength\paperwidth {257mm}}
296 \DeclareOption{b5paper}{\setcounter{@paper}{4}%
297 \setlength\paperheight {257mm}
298 \setlength\paperwidth {182mm}}
300 % \changes{v1.0a}{1995/09/26}{Change b4paper width/height 352x250 to 364x257}
301 % \changes{v1.0a}{1995/09/26}{Change b5paper width/height 250x176 to 257x182}
302 % ドキュメントクラスに、以下のオプションを指定すると、通常よりもテキストを
303 % 組み立てる領域の広いスタイルとすることができます。
306 \DeclareOption{a4j}{\setcounter{@paper}{1}\@stysizetrue
307 \setlength\paperheight {297mm}%
308 \setlength\paperwidth {210mm}}
309 \DeclareOption{a5j}{\setcounter{@paper}{2}\@stysizetrue
310 \setlength\paperheight {210mm}
311 \setlength\paperwidth {148mm}}
312 \DeclareOption{b4j}{\setcounter{@paper}{3}\@stysizetrue
313 \setlength\paperheight {364mm}
314 \setlength\paperwidth {257mm}}
315 \DeclareOption{b5j}{\setcounter{@paper}{4}\@stysizetrue
316 \setlength\paperheight {257mm}
317 \setlength\paperwidth {182mm}}
319 \DeclareOption{a4p}{\setcounter{@paper}{1}\@stysizetrue
320 \setlength\paperheight {297mm}%
321 \setlength\paperwidth {210mm}}
322 \DeclareOption{a5p}{\setcounter{@paper}{2}\@stysizetrue
323 \setlength\paperheight {210mm}
324 \setlength\paperwidth {148mm}}
325 \DeclareOption{b4p}{\setcounter{@paper}{3}\@stysizetrue
326 \setlength\paperheight {364mm}
327 \setlength\paperwidth {257mm}}
328 \DeclareOption{b5p}{\setcounter{@paper}{4}\@stysizetrue
329 \setlength\paperheight {257mm}
330 \setlength\paperwidth {182mm}}
333 % \subsection{サイズオプション}
334 % 基準となるフォントの大きさを指定するオプションです。
337 \renewcommand{\@ptsize}{0}
339 \DeclareOption{10pt}{\renewcommand{\@ptsize}{0}}
341 \DeclareOption{11pt}{\renewcommand{\@ptsize}{1}}
342 \DeclareOption{12pt}{\renewcommand{\@ptsize}{2}}
345 % \subsection{横置きオプション}
346 % このオプションが指定されると、用紙の縦と横の長さを入れ換えます。
347 % \changes{v1.1h}{1997/09/03}{オプションの処理時に縦横の値を交換}
348 % \changes{v1.1h}{1997/09/03}{landscapeオプションを互換モードでも有効に}
350 \DeclareOption{landscape}{\@landscapetrue
351 \setlength\@tempdima{\paperheight}%
352 \setlength\paperheight{\paperwidth}%
353 \setlength\paperwidth{\@tempdima}}
356 % \subsection{トンボオプション}
357 % |tombow|オプションが指定されると、用紙サイズに合わせてトンボを出力します。
358 % このとき、トンボの脇にPDFを作成した日付が出力されます。
359 % 作成日付の出力を抑制するには、|tombow|ではなく、|tombo|と指定をします。
360 % \changes{v1.0g}{1996/09/03}{Add to \cs{@bannertoken}.}
361 % \changes{v1.1a}{1997/01/23}{日付出力オプション}
363 \DeclareOption{tombow}{%
364 \tombowtrue \tombowdatetrue
365 \setlength{\@tombowwidth}{.1\p@}%
367 \jobname\space:\space\number\year/\number\month/\number\day
368 (\number\hour:\number\minute)}
370 \DeclareOption{tombo}{%
371 \tombowtrue \tombowdatefalse
372 \setlength{\@tombowwidth}{.1\p@}%
376 % \subsection{面付けオプション}
377 % このオプションが指定されると、トンボオプションを指定したときと同じ
378 % 位置に文章を出力します。作成したPDFをフィルムに面付け出力する場合など
380 % \changes{v1.0f}{1996/07/10}{面付けオプションを追加}
381 % \changes{v1.1n}{1998/10/13}
382 % {動作していなかったのを修正。ありがとう、刀祢さん}
384 \DeclareOption{mentuke}{%
385 \tombowtrue \tombowdatefalse
386 \setlength{\@tombowwidth}{\z@}%
390 % \subsection{組方向オプション}
391 % このオプションが指定されると、縦組で組版をします。
392 % \changes{v1.0g}{1997/01/25}{Insert \cs{hbox}, to switch tate-mode.}
393 % \changes{v1.1d}{1997/02/05}{開始ページがおかしくなるのを修正}
394 % \changes{v1.1f}{1997/07/08}{縦組時にベースラインがおかしくなるのを修正}
396 % \changes{v1.6-ltj-4}{2014/06/30}{本文の組方向を \cs{AtBeginDocument} で
397 % 変更することができなくなったことに対応}
399 \DeclareOption{tate}{%
400 \tate\AtBeginDocument{\message{《縦組モード》}\adjustbaseline}%
404 % 縦組クラスと|everyshi|パッケージの相性が悪い問題に対処します。
405 % この処理は、ZRさんの|pxeveryshi|パッケージと実質的に同じ内容です。
408 \AtEndOfPackageFile{everyshi}{%
409 \def\@EveryShipout@Output{%
413 \@EveryShipout@AtNextHook
414 \global\setbox\luatexoutputbox=\box\luatexoutputbox
416 \gdef\@EveryShipout@AtNextHook{}%
417 \@EveryShipout@Org@Shipout\box\luatexoutputbox
422 % \subsection{両面、片面オプション}
423 % twosideオプションが指定されると、両面印字出力に適した整形を行ないます。
425 \DeclareOption{oneside}{\@twosidefalse}
426 \DeclareOption{twoside}{\@twosidetrue}
429 % \subsection{二段組オプション}
430 % 二段組にするかどうかのオプションです。
432 \DeclareOption{onecolumn}{\@twocolumnfalse}
433 \DeclareOption{twocolumn}{\@twocolumntrue}
436 % \subsection{表題ページオプション}
437 % |@titlepage|が真の場合、表題を独立したページに出力します。
439 \DeclareOption{titlepage}{\@titlepagetrue}
440 \DeclareOption{notitlepage}{\@titlepagefalse}
443 % \subsection{右左起こしオプション}
444 % chapterを右ページあるいは左ページから
445 % はじめるかどうかを指定するオプションです。
447 %<!article>\if@compatibility
448 %<book>\@openrighttrue
450 %<!article>\DeclareOption{openright}{\@openrighttrue}
451 %<!article>\DeclareOption{openany}{\@openrightfalse}
455 % \subsection{数式のオプション}
456 % \Lopt{leqno}を指定すると、数式番号を数式の左側に出力します。
457 % \Lopt{fleqn}を指定するとディスプレイ数式を左揃えで出力します。
459 \DeclareOption{leqno}{\input{leqno.clo}}
460 \DeclareOption{fleqn}{\input{fleqn.clo}}
463 % \subsection{参考文献のオプション}
464 % 参考文献一覧を``オープンスタイル''の書式で出力します。
465 % これは各ブロックが改行で区切られ、|\bibindent|のインデントが付く書式です。
466 % \changes{v1.0c}{1995/12/25}{openbibオプションを再実装}
468 \DeclareOption{openbib}{%
470 % 参考文献環境内の最初のいくつかのフックを満たします。
473 \renewcommand\@openbib@code{%
474 \advance\leftmargin\bibindent
475 \itemindent -\bibindent
476 \listparindent \itemindent
480 % そして、|\newblock|を再定義します。
482 \renewcommand\newblock{\par}}}
485 % \subsection{日本語ファミリ宣言の抑制、和欧文両対応の数式文字}
486 % p\TeX では数式ファミリの数が16個だったので日本語ファミリ宣言を抑制する
487 % |disablejfam|オプションが用意されていましたが、Lua\TeX ではOmega拡張が
488 % 取り込まれて数式ファミリは256個まで使用できるため、このオプションは必要ありません。
489 % ただし、\LaTeXe カーネルでは未だに数式ファミリの数は16個に制限されているので、
490 % 実際に使用可能な数式ファミリの数を増やすためには|lualatex-math|パッケージを
491 % 読み込む必要があることに注意が必要です。
494 % |\mathrm|と|\mathbf|を和欧文両対応にするためのクラスオプションです。
495 % \changes{v1.1d}{1992/02/04}{disablejfamの判断を間違えてたのを修正}
500 \DeclareOption{disablejfam}{%
501 \ClassWarningNoLine{\@currname}{The class option 'disablejfam' is obsolete}}
502 \DeclareOption{mathrmmc}{\@mathrmmctrue}
507 % \subsection{ドラフトオプション}
508 % |draft|オプションを指定すると、オーバフルボックスの起きた箇所に、
511 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
512 \DeclareOption{final}{\setlength\overfullrule{0pt}}
513 %</article|report|book>
516 % \subsection{フォントメトリックの変更}
518 % Lua\LaTeX-jaの標準では、OTFパッケージ由来のメトリックが使われるようになっています。
519 % 本クラスでは、「p\TeX の組版と互換性をできるだけ持たせる」例を提示するため、
521 % \item メトリックを\texttt{min10.tfm}ベースの\texttt{jfm-min.lua}に変更。
522 % \item 明朝とゴシックは両方とも\texttt{jfm-min.lua}を用いるが、
523 % 和文処理用グルー挿入時には「違うメトリックを使用」として思わせる。
524 % \item p\TeX と同様に、「異なるメトリックの2つの和文文字」の間には、両者から定める
526 % \item calllbackを利用し、標準で用いる\texttt{jfm-min.lua}を、段落始めの括弧が全角二分下がりになるように内部で変更している。
530 % |\ltj@stdmcfont|,~|\ltj@stdgtfont| による、デフォルトで使われ明朝・ゴシックのフォントの
531 % 設定に対応しました。この2つの命令の値はユーザが日々の利用でその都度指定するものではなく、
532 % 何らかの理由で非埋め込みフォントが正しく利用できない場合にのみ |luatexja.cfg| によって
535 % \changes{v1.6-ltj-9}{2015/01/01}{サイズクラスのロード前にメトリックの変更を行わないと,
536 % \cs{Cht}等の値が反映されないのでこの場所に移動させました.}
539 %<*article|report|book>
540 \directlua{luatexbase.add_to_callback('luatexja.load_jfm',
541 function (ji, jn) ji.chars['parbdd'] = 0; return ji end,
542 'ltj.jclasses_load_jfm', 1)}
543 {\jfont\g=\ltj@stdmcfont:jfm=min } % loading jfm-min.lua
544 \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
545 \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.962216] \ltj@stdmcfont:jfm=min}{}
546 \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.962216] \ltj@stdgtfont:jfm=min;jfmvar=goth}{}
547 \ltjglobalsetparameter{differentjfm=both}
548 \directlua{luatexbase.remove_from_callback('luatexja.load_jfm', 'ltj.jclasses_load_jfm')}
549 %</article|report|book>
552 % \subsection{オプションの実行}
553 % オプションの実行、およびサイズクラスのロードを行ないます。
555 %<*article|report|book>
557 %<tate>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,tate}
558 %<yoko>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final}
561 %<tate>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany,tate}
562 %<yoko>\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany}
565 %<tate>\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright,tate}
566 %<yoko>\ExecuteOptions{a4paper,10pt,twoside,onecolumn,final,openright}
568 \ProcessOptions\relax
569 %<book&tate>\input{ltjtbk1\@ptsize.clo}
570 %<!book&tate>\input{ltjtsize1\@ptsize.clo}
571 %<book&yoko>\input{ltjbk1\@ptsize.clo}
572 %<!book&yoko>\input{ltjsize1\@ptsize.clo}
574 % 縦組用クラスファイルの場合は、ここで\file{plext.sty}も読み込みます。
575 % \changes{v1.0e}{1996/03/21}{\cs{usepackage} to \cs{RequirePackage}}
576 % \changes{v1.6-ltj-6}{2014/07/28}{Lua\TeX-jaでは,代わりに\file{lltjext.sty}を読み込みま
577 % す.これは\file{plext.sty}をLua\TeX-ja用に書きなおしたものです.}
579 %<tate>\RequirePackage{lltjext}
580 %</article|report|book>
585 % ここでは、\LaTeX{}のフォントサイズコマンドの定義をしています。
586 % フォントサイズコマンドの定義は、次のコマンドを用います。
588 % |\@setfontsize||\size|\meta{font-size}\meta{baselineskip}
590 % \begin{description}
591 % \item[\meta{font-size}] これから使用する、フォントの実際の大きさです。
592 % \item[\meta{baselineskip}] 選択されるフォントサイズ用の通常の
593 % |\baselineskip|の値です(実際は、|\baselinestretch| * \meta{baselineskip}
597 % 数値コマンドは、次のように\LaTeX{}カーネルで定義されています。
599 % \begin{tabular}{ll@{\qquad}ll@{\qquad}ll}
600 % \verb=\@vpt= & 5 & \verb=\@vipt= & 6 & \verb=\@viipt= & 7 \\
601 % \verb=\@viiipt= & 8 & \verb=\@ixpt= & 9 & \verb=\@xpt= & 10 \\
602 % \verb=\@xipt= & 10.95 & \verb=\@xiipt= & 12 & \verb=\@xivpt= & 14.4\\
607 % \begin{macro}{\normalsize}
608 % \begin{macro}{\@normalsize}
609 % 基本サイズとするユーザレベルのコマンドは|\normalsize|です。
610 % \LaTeX{}の内部では|\@normalsize|を使用します。
612 % |\normalsize|マクロは、|\abovedisplayskip|と
613 % |\abovedisplayshortskip|、および|\belowdisplayshortskip|の値も設定をします。
614 % |\belowdisplayskip|は、つねに|\abovedisplayskip|と同値です。
616 % また、リスト環境のトップレベルのパラメータは、つねに|\@listI|で与えられます。
619 \renewcommand{\normalsize}{%
620 %<10pt&yoko> \@setfontsize\normalsize\@xpt{15}%
621 %<11pt&yoko> \@setfontsize\normalsize\@xipt{15.5}%
622 %<12pt&yoko> \@setfontsize\normalsize\@xiipt{16.5}%
623 %<10pt&tate> \@setfontsize\normalsize\@xpt{17}%
624 %<11pt&tate> \@setfontsize\normalsize\@xipt{17}%
625 %<12pt&tate> \@setfontsize\normalsize\@xiipt{18}%
627 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
628 \abovedisplayshortskip \z@ \@plus3\p@
629 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
632 \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
633 \abovedisplayshortskip \z@ \@plus3\p@
634 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
637 \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
638 \abovedisplayshortskip \z@ \@plus3\p@
639 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
641 \belowdisplayskip \abovedisplayskip
645 % ここで、ノーマルフォントを選択し、初期化をします。
646 % このとき、縦組モードならば、デフォルトのエンコードを変更します。
648 %<tate>\def\kanjiencodingdefault{JT3}%
649 %<tate>\kanjiencoding{\kanjiencodingdefault}%
655 % \begin{macro}{\Cht}
656 % \begin{macro}{\Cdp}
657 % \begin{macro}{\Cwd}
658 % \begin{macro}{\Cvs}
659 % \begin{macro}{\Chs}
660 % 基準となる長さの設定をします。これらのパラメータは\file{lltjfont.sty}で定義
663 \setbox0\hbox{\char"3000}% 全角スペース
667 \setlength\Cvs{\baselineskip}
676 % \begin{macro}{\small}
677 % |\small|コマンドの定義は、|\normalsize|に似ています。
679 \newcommand{\small}{%
681 \@setfontsize\small\@ixpt{11}%
682 \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
683 \abovedisplayshortskip \z@ \@plus2\p@
684 \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
685 \def\@listi{\leftmargin\leftmargini
686 \topsep 4\p@ \@plus2\p@ \@minus2\p@
687 \parsep 2\p@ \@plus\p@ \@minus\p@
691 \@setfontsize\small\@xpt\@xiipt
692 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
693 \abovedisplayshortskip \z@ \@plus3\p@
694 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
695 \def\@listi{\leftmargin\leftmargini
696 \topsep 6\p@ \@plus2\p@ \@minus2\p@
697 \parsep 3\p@ \@plus2\p@ \@minus\p@
701 \@setfontsize\small\@xipt{13.6}%
702 \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
703 \abovedisplayshortskip \z@ \@plus3\p@
704 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
705 \def\@listi{\leftmargin\leftmargini
706 \topsep 9\p@ \@plus3\p@ \@minus5\p@
707 \parsep 4.5\p@ \@plus2\p@ \@minus\p@
710 \belowdisplayskip \abovedisplayskip}
714 % \begin{macro}{\footnotesize}
715 % |\footnotesize|コマンドの定義は、|\normalsize|に似ています。
717 \newcommand{\footnotesize}{%
719 \@setfontsize\footnotesize\@viiipt{9.5}%
720 \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
721 \abovedisplayshortskip \z@ \@plus\p@
722 \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
723 \def\@listi{\leftmargin\leftmargini
724 \topsep 3\p@ \@plus\p@ \@minus\p@
725 \parsep 2\p@ \@plus\p@ \@minus\p@
729 \@setfontsize\footnotesize\@ixpt{11}%
730 \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
731 \abovedisplayshortskip \z@ \@plus\p@
732 \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
733 \def\@listi{\leftmargin\leftmargini
734 \topsep 4\p@ \@plus2\p@ \@minus2\p@
735 \parsep 2\p@ \@plus\p@ \@minus\p@
739 \@setfontsize\footnotesize\@xpt\@xiipt
740 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
741 \abovedisplayshortskip \z@ \@plus3\p@
742 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
743 \def\@listi{\leftmargin\leftmargini
744 \topsep 6\p@ \@plus2\p@ \@minus2\p@
745 \parsep 3\p@ \@plus2\p@ \@minus\p@
748 \belowdisplayskip \abovedisplayskip}
752 % \begin{macro}{\scriptsize}
753 % \begin{macro}{\tiny}
754 % \begin{macro}{\large}
755 % \begin{macro}{\Large}
756 % \begin{macro}{\LARGE}
757 % \begin{macro}{\huge}
758 % \begin{macro}{\Huge}
759 % これらは先ほどのマクロよりも簡単です。これらはフォントサイズを変更する
760 % だけで、リスト環境とディスプレイ数式のパラメータは変更しません。
763 \newcommand{\scriptsize}{\@setfontsize\scriptsize\@viipt\@viiipt}
764 \newcommand{\tiny}{\@setfontsize\tiny\@vpt\@vipt}
765 \newcommand{\large}{\@setfontsize\large\@xiipt{17}}
766 \newcommand{\Large}{\@setfontsize\Large\@xivpt{21}}
767 \newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
768 \newcommand{\huge}{\@setfontsize\huge\@xxpt{28}}
769 \newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
772 \newcommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
773 \newcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
774 \newcommand{\large}{\@setfontsize\large\@xiipt{17}}
775 \newcommand{\Large}{\@setfontsize\Large\@xivpt{21}}
776 \newcommand{\LARGE}{\@setfontsize\LARGE\@xviipt{25}}
777 \newcommand{\huge}{\@setfontsize\huge\@xxpt{28}}
778 \newcommand{\Huge}{\@setfontsize\Huge\@xxvpt{33}}
781 \newcommand{\scriptsize}{\@setfontsize\scriptsize\@viiipt{9.5}}
782 \newcommand{\tiny}{\@setfontsize\tiny\@vipt\@viipt}
783 \newcommand{\large}{\@setfontsize\large\@xivpt{21}}
784 \newcommand{\Large}{\@setfontsize\Large\@xviipt{25}}
785 \newcommand{\LARGE}{\@setfontsize\LARGE\@xxpt{28}}
786 \newcommand{\huge}{\@setfontsize\huge\@xxvpt{33}}
803 % \subsection{用紙サイズの決定}
805 % \begin{macro}{\columnsep}
806 % \begin{macro}{\columnseprule}
807 % |\columnsep|は、二段組のときの、左右(あるいは上下)の段間の幅です。
808 % このスペースの中央に|\columnseprule|の幅の罫線が引かれます。
809 % \changes{v1.0g}{1997/01/25}{\cs{columnsep}: 10pt to 3\cs{Cwd} or 2\cs{Cwd}.}
811 %<*article|report|book>
813 %<tate> \setlength\columnsep{3\Cwd}
814 %<yoko> \setlength\columnsep{2\Cwd}
816 \setlength\columnsep{10\p@}
818 \setlength\columnseprule{0\p@}
823 % \begin{macro}{\pagewidth}
824 % \begin{macro}{\pageheight}
825 % \begin{macro}{\stockwidth}
826 % \begin{macro}{\stockheight}
827 % 出力のPDFの用紙サイズをここで設定しておきます。
828 % |tombow|が真のときは2インチ足しておきます。
830 % [2015-10-18 LTJ] Lua\TeX\ 0.81.0ではプリミティブの名称変更がされたので,
833 % [2016-07-19 LTJ] luatex.defが新しくなったことに対応するaminophenさんのパッチを取り込みました。
835 % [2017-01-17 LTJ] [lt]jsclassesに合わせ,トンボオプションが指定されているとき「だけ」|\stockwidth|,
836 % |\stockheight|を定義するようにしました。aminophenさん,ありがとうございます.
840 \newlength{\stockwidth}
841 \newlength{\stockheight}
842 \setlength{\stockwidth}{\paperwidth}
843 \setlength{\stockheight}{\paperheight}
844 \advance \stockwidth 2in
845 \advance \stockheight 2in
846 \ifdefined\pdfpagewidth
847 \setlength{\pdfpagewidth}{\stockwidth}
848 \setlength{\pdfpageheight}{\stockheight}
850 \setlength{\pagewidth}{\stockwidth}
851 \setlength{\pageheight}{\stockheight}
854 \ifdefined\pdfpagewidth
855 \setlength{\pdfpagewidth}{\paperwidth}
856 \setlength{\pdfpageheight}{\paperheight}
858 \setlength{\pagewidth}{\paperwidth}
859 \setlength{\pageheight}{\paperheight}
870 % \begin{macro}{\lineskip}
871 % \begin{macro}{\normallineskip}
872 % これらの値は、行が近付き過ぎたときの\TeX の動作を制御します。
874 \setlength\lineskip{1\p@}
875 \setlength\normallineskip{1\p@}
880 % \begin{macro}{\baselinestretch}
881 % これは、|\baselineskip|の倍率を示すために使います。
882 % デフォルトでは、\emph{何もしません}。このコマンドが``empty''でない場合、
883 % |\baselineskip|の指定の\texttt{plus}や\texttt{minus}部分は無視される
886 \renewcommand{\baselinestretch}{}
890 % \begin{macro}{\parskip}
891 % \begin{macro}{\parindent}
892 % |\parskip|は段落間に挿入される、縦方向の追加スペースです。
893 % |\parindent|は段落の先頭の字下げ幅です。
895 \setlength\parskip{0\p@ \@plus \p@}
896 \setlength\parindent{1\Cwd}
901 % \begin{macro}{\smallskipamount}
902 % \begin{macro}{\medskipamount}
903 % \begin{macro}{\bigskipamount}
904 % これら3つのパラメータの値は、\LaTeX{}カーネルの中で設定されています。
905 % これらはおそらく、サイズオプションの指定によって変えるべきです。
906 % しかし、\LaTeX~2.09や\LaTeXe{}の以前のリリースの両方との互換性を保つために、
910 \setlength\smallskipamount{3\p@ \@plus 1\p@ \@minus 1\p@}
911 \setlength\medskipamount{6\p@ \@plus 2\p@ \@minus 2\p@}
912 \setlength\bigskipamount{12\p@ \@plus 4\p@ \@minus 4\p@}
919 % \begin{macro}{\@lowpenalty}
920 % \begin{macro}{\@medpenalty}
921 % \begin{macro}{\@highpenalty}
922 % |\nopagebreak|と|\nolinebreak|コマンドは、これらのコマンドが置かれた場所に、
923 % ペナルティを起いて、分割を制御します。
924 % 置かれるペナルティは、コマンドの引数によって、
925 % |\@lowpenalty|, |\@medpenalty|, |\@highpenalty|のいずれかが使われます。
930 %</article|report|book>
936 % \subsection{ページレイアウト}
938 % \subsubsection{縦方向のスペース}
940 % \begin{macro}{\headheight}
941 % \begin{macro}{\headsep}
942 % \begin{macro}{\topskip}
943 % |\headheight|は、ヘッダが入るボックスの高さです。
944 % |\headsep|は、ヘッダの下端と本文領域との間の距離です。
945 % |\topskip|は、本文領域の上端と1行目のテキストのベースラインとの距離です。
948 \setlength\headheight{12\p@}
951 \ifnum\c@@paper=2 % A5
952 \setlength\headsep{6mm}
953 \else % A4, B4, B5 and other
954 \setlength\headsep{8mm}
957 \setlength\headsep{8mm}
961 %<!bk>\setlength\headsep{25\p@}
962 %<10pt&bk>\setlength\headsep{.25in}
963 %<11pt&bk>\setlength\headsep{.275in}
964 %<12pt&bk>\setlength\headsep{.275in}
966 \setlength\topskip{1\Cht}
972 % \begin{macro}{\footskip}
973 % |\footskip|は、本文領域の下端とフッタの下端との距離です。
974 % フッタのボックスの高さを示す、|\footheight|は削除されました。
976 %<tate>\setlength\footskip{14mm}
978 %<!bk>\setlength\footskip{30\p@}
979 %<10pt&bk>\setlength\footskip{.35in}
980 %<11pt&bk>\setlength\footskip{.38in}
981 %<12pt&bk>\setlength\footskip{30\p@}
986 % \begin{macro}{\maxdepth}
987 % \changes{v1.1c}{1995/12/25}{\cs{@maxdepth}の設定を除外した}
988 % \TeX のプリミティブレジスタ|\maxdepth|は、|\topskip|と同じような
989 % 働きをします。|\@maxdepth|レジスタは、つねに|\maxdepth|のコピーでなくては
990 % いけません。これは|\begin{document}|の内部で設定されます。
991 % \TeX{}と\LaTeX~2.09では、|\maxdepth|は\texttt{4pt}に固定です。
992 % \LaTeXe{}では、|\maxdepth|$+$|\topskip|を基本サイズの1.5倍にしたいので、
993 % |\maxdepth|を|\topskip|の半分の値で設定します。
996 \setlength\maxdepth{4\p@}
998 \setlength\maxdepth{.5\topskip}
1003 % \subsubsection{本文領域}
1004 % |\textheight|と|\textwidth|は、本文領域の通常の高さと幅を示します。
1005 % 縦組でも横組でも、``高さ''は行数を、``幅''は字詰めを意味します。
1006 % 後ほど、これらの長さに|\topskip|の値が加えられます。
1008 % \begin{macro}{\textwidth}
1015 % \changes{v1.1a}{1997/01/25}{Add paper option with compatibility mode.}
1016 % \changes{v1.1h}{1997/09/03}{landscapeでの指定を追加}
1017 % 互換モード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1020 \ifnum\c@@paper=2 % A5
1022 %<10pt&yoko> \setlength\textwidth{47\Cwd}
1023 %<11pt&yoko> \setlength\textwidth{42\Cwd}
1024 %<12pt&yoko> \setlength\textwidth{40\Cwd}
1025 %<10pt&tate> \setlength\textwidth{27\Cwd}
1026 %<11pt&tate> \setlength\textwidth{25\Cwd}
1027 %<12pt&tate> \setlength\textwidth{23\Cwd}
1029 %<10pt&yoko> \setlength\textwidth{28\Cwd}
1030 %<11pt&yoko> \setlength\textwidth{25\Cwd}
1031 %<12pt&yoko> \setlength\textwidth{24\Cwd}
1032 %<10pt&tate> \setlength\textwidth{46\Cwd}
1033 %<11pt&tate> \setlength\textwidth{42\Cwd}
1034 %<12pt&tate> \setlength\textwidth{38\Cwd}
1036 \else\ifnum\c@@paper=3 % B4
1038 %<10pt&yoko> \setlength\textwidth{75\Cwd}
1039 %<11pt&yoko> \setlength\textwidth{69\Cwd}
1040 %<12pt&yoko> \setlength\textwidth{63\Cwd}
1041 %<10pt&tate> \setlength\textwidth{53\Cwd}
1042 %<11pt&tate> \setlength\textwidth{49\Cwd}
1043 %<12pt&tate> \setlength\textwidth{44\Cwd}
1045 %<10pt&yoko> \setlength\textwidth{60\Cwd}
1046 %<11pt&yoko> \setlength\textwidth{55\Cwd}
1047 %<12pt&yoko> \setlength\textwidth{50\Cwd}
1048 %<10pt&tate> \setlength\textwidth{85\Cwd}
1049 %<11pt&tate> \setlength\textwidth{76\Cwd}
1050 %<12pt&tate> \setlength\textwidth{69\Cwd}
1052 \else\ifnum\c@@paper=4 % B5
1054 %<10pt&yoko> \setlength\textwidth{60\Cwd}
1055 %<11pt&yoko> \setlength\textwidth{55\Cwd}
1056 %<12pt&yoko> \setlength\textwidth{50\Cwd}
1057 %<10pt&tate> \setlength\textwidth{34\Cwd}
1058 %<11pt&tate> \setlength\textwidth{31\Cwd}
1059 %<12pt&tate> \setlength\textwidth{28\Cwd}
1061 %<10pt&yoko> \setlength\textwidth{37\Cwd}
1062 %<11pt&yoko> \setlength\textwidth{34\Cwd}
1063 %<12pt&yoko> \setlength\textwidth{31\Cwd}
1064 %<10pt&tate> \setlength\textwidth{55\Cwd}
1065 %<11pt&tate> \setlength\textwidth{51\Cwd}
1066 %<12pt&tate> \setlength\textwidth{47\Cwd}
1068 \else % A4 ant other
1070 %<10pt&yoko> \setlength\textwidth{73\Cwd}
1071 %<11pt&yoko> \setlength\textwidth{68\Cwd}
1072 %<12pt&yoko> \setlength\textwidth{61\Cwd}
1073 %<10pt&tate> \setlength\textwidth{41\Cwd}
1074 %<11pt&tate> \setlength\textwidth{38\Cwd}
1075 %<12pt&tate> \setlength\textwidth{35\Cwd}
1077 %<10pt&yoko> \setlength\textwidth{47\Cwd}
1078 %<11pt&yoko> \setlength\textwidth{43\Cwd}
1079 %<12pt&yoko> \setlength\textwidth{40\Cwd}
1080 %<10pt&tate> \setlength\textwidth{67\Cwd}
1081 %<11pt&tate> \setlength\textwidth{61\Cwd}
1082 %<12pt&tate> \setlength\textwidth{57\Cwd}
1090 \setlength\textwidth{52\Cwd}
1092 %<10pt&!bk&yoko> \setlength\textwidth{327\p@}
1093 %<11pt&!bk&yoko> \setlength\textwidth{342\p@}
1094 %<12pt&!bk&yoko> \setlength\textwidth{372\p@}
1095 %<10pt&bk&yoko> \setlength\textwidth{4.3in}
1096 %<11pt&bk&yoko> \setlength\textwidth{4.8in}
1097 %<12pt&bk&yoko> \setlength\textwidth{4.8in}
1098 %<10pt&tate> \setlength\textwidth{67\Cwd}
1099 %<11pt&tate> \setlength\textwidth{61\Cwd}
1100 %<12pt&tate> \setlength\textwidth{57\Cwd}
1108 % 2eモード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1109 % 二段組では用紙サイズの8割、一段組では用紙サイズの7割を版面の幅として
1114 %<yoko> \setlength\textwidth{.8\paperwidth}
1115 %<tate> \setlength\textwidth{.8\paperheight}
1117 %<yoko> \setlength\textwidth{.7\paperwidth}
1118 %<tate> \setlength\textwidth{.7\paperheight}
1124 %<tate> \setlength\@tempdima{\paperheight}
1125 %<yoko> \setlength\@tempdima{\paperwidth}
1126 \addtolength\@tempdima{-2in}
1127 %<tate> \addtolength\@tempdima{-1.3in}
1128 %<yoko&10pt> \setlength\@tempdimb{327\p@}
1129 %<yoko&11pt> \setlength\@tempdimb{342\p@}
1130 %<yoko&12pt> \setlength\@tempdimb{372\p@}
1131 %<tate&10pt> \setlength\@tempdimb{67\Cwd}
1132 %<tate&11pt> \setlength\@tempdimb{61\Cwd}
1133 %<tate&12pt> \setlength\@tempdimb{57\Cwd}
1135 \ifdim\@tempdima>2\@tempdimb\relax
1136 \setlength\textwidth{2\@tempdimb}
1138 \setlength\textwidth{\@tempdima}
1141 \ifdim\@tempdima>\@tempdimb\relax
1142 \setlength\textwidth{\@tempdimb}
1144 \setlength\textwidth{\@tempdima}
1149 \@settopoint\textwidth
1153 % \begin{macro}{\textheight}
1160 % \changes{v1.1a}{1997/01/25}{Add paper option with compatibility mode.}
1161 % \changes{v1.1f}{1997/09/03}{landscapeでの指定を追加}
1162 % 互換モード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1165 \ifnum\c@@paper=2 % A5
1167 %<10pt&yoko> \setlength\textheight{17\Cvs}
1168 %<11pt&yoko> \setlength\textheight{17\Cvs}
1169 %<12pt&yoko> \setlength\textheight{16\Cvs}
1170 %<10pt&tate> \setlength\textheight{26\Cvs}
1171 %<11pt&tate> \setlength\textheight{26\Cvs}
1172 %<12pt&tate> \setlength\textheight{25\Cvs}
1174 %<10pt&yoko> \setlength\textheight{28\Cvs}
1175 %<11pt&yoko> \setlength\textheight{25\Cvs}
1176 %<12pt&yoko> \setlength\textheight{24\Cvs}
1177 %<10pt&tate> \setlength\textheight{16\Cvs}
1178 %<11pt&tate> \setlength\textheight{16\Cvs}
1179 %<12pt&tate> \setlength\textheight{15\Cvs}
1181 \else\ifnum\c@@paper=3 % B4
1183 %<10pt&yoko> \setlength\textheight{38\Cvs}
1184 %<11pt&yoko> \setlength\textheight{36\Cvs}
1185 %<12pt&yoko> \setlength\textheight{34\Cvs}
1186 %<10pt&tate> \setlength\textheight{48\Cvs}
1187 %<11pt&tate> \setlength\textheight{48\Cvs}
1188 %<12pt&tate> \setlength\textheight{45\Cvs}
1190 %<10pt&yoko> \setlength\textheight{57\Cvs}
1191 %<11pt&yoko> \setlength\textheight{55\Cvs}
1192 %<12pt&yoko> \setlength\textheight{52\Cvs}
1193 %<10pt&tate> \setlength\textheight{33\Cvs}
1194 %<11pt&tate> \setlength\textheight{33\Cvs}
1195 %<12pt&tate> \setlength\textheight{31\Cvs}
1197 \else\ifnum\c@@paper=4 % B5
1199 %<10pt&yoko> \setlength\textheight{22\Cvs}
1200 %<11pt&yoko> \setlength\textheight{21\Cvs}
1201 %<12pt&yoko> \setlength\textheight{20\Cvs}
1202 %<10pt&tate> \setlength\textheight{34\Cvs}
1203 %<11pt&tate> \setlength\textheight{34\Cvs}
1204 %<12pt&tate> \setlength\textheight{32\Cvs}
1206 %<10pt&yoko> \setlength\textheight{35\Cvs}
1207 %<11pt&yoko> \setlength\textheight{34\Cvs}
1208 %<12pt&yoko> \setlength\textheight{32\Cvs}
1209 %<10pt&tate> \setlength\textheight{21\Cvs}
1210 %<11pt&tate> \setlength\textheight{21\Cvs}
1211 %<12pt&tate> \setlength\textheight{20\Cvs}
1213 \else % A4 and other
1215 %<10pt&yoko> \setlength\textheight{27\Cvs}
1216 %<11pt&yoko> \setlength\textheight{26\Cvs}
1217 %<12pt&yoko> \setlength\textheight{25\Cvs}
1218 %<10pt&tate> \setlength\textheight{41\Cvs}
1219 %<11pt&tate> \setlength\textheight{41\Cvs}
1220 %<12pt&tate> \setlength\textheight{38\Cvs}
1222 %<10pt&yoko> \setlength\textheight{43\Cvs}
1223 %<11pt&yoko> \setlength\textheight{42\Cvs}
1224 %<12pt&yoko> \setlength\textheight{39\Cvs}
1225 %<10pt&tate> \setlength\textheight{26\Cvs}
1226 %<11pt&tate> \setlength\textheight{26\Cvs}
1227 %<12pt&tate> \setlength\textheight{22\Cvs}
1230 %<yoko> \addtolength\textheight{\topskip}
1231 %<bk&yoko> \addtolength\textheight{\baselineskip}
1232 %<tate> \addtolength\textheight{\Cht}
1233 %<tate> \addtolength\textheight{\Cdp}
1238 %<10pt&!bk&yoko> \setlength\textheight{578\p@}
1239 %<10pt&bk&yoko> \setlength\textheight{554\p@}
1240 %<11pt&yoko> \setlength\textheight{580.4\p@}
1241 %<12pt&yoko> \setlength\textheight{586.5\p@}
1242 %<10pt&tate> \setlength\textheight{26\Cvs}
1243 %<11pt&tate> \setlength\textheight{25\Cvs}
1244 %<12pt&tate> \setlength\textheight{24\Cvs}
1251 % 2eモード:|a4j|や|b5j|のクラスオプションが指定された場合の設定:
1252 % 縦組では用紙サイズの70\%(book)か78\%(ariticle,report)、
1253 % 横組では70\%(book)か75\%(article,report)を版面の高さに設定します。
1256 %<tate&bk> \setlength\textheight{.75\paperwidth}
1257 %<tate&!bk> \setlength\textheight{.78\paperwidth}
1258 %<yoko&bk> \setlength\textheight{.70\paperheight}
1259 %<yoko&!bk> \setlength\textheight{.75\paperheight}
1264 %<tate> \setlength\@tempdima{\paperwidth}
1265 %<yoko> \setlength\@tempdima{\paperheight}
1266 \addtolength\@tempdima{-2in}
1267 %<yoko> \addtolength\@tempdima{-1.5in}
1268 \divide\@tempdima\baselineskip
1269 \@tempcnta\@tempdima
1270 \setlength\textheight{\@tempcnta\baselineskip}
1274 % 最後に、|\textheight|に|\topskip|の値を加えます。
1276 \addtolength\textheight{\topskip}
1277 \@settopoint\textheight
1281 % \subsubsection{マージン}
1283 % \begin{macro}{\topmargin}
1284 % |\topmargin|は、``印字可能領域''---用紙の上端から1インチ内側---%
1285 % の上端からヘッダ部分の上端までの距離です。
1292 \setlength\topmargin{-.3in}
1294 %<!bk> \setlength\topmargin{27\p@}
1295 %<10pt&bk> \setlength\topmargin{.75in}
1296 %<11pt&bk> \setlength\topmargin{.73in}
1297 %<12pt&bk> \setlength\topmargin{.73in}
1302 \ifnum\c@@paper=2 % A5
1303 \setlength\topmargin{.8in}
1304 \else % A4, B4, B5 and other
1305 \setlength\topmargin{32mm}
1308 \setlength\topmargin{32mm}
1310 \addtolength\topmargin{-1in}
1311 \addtolength\topmargin{-\headheight}
1312 \addtolength\topmargin{-\headsep}
1318 \setlength\topmargin{\paperheight}
1319 \addtolength\topmargin{-\headheight}
1320 \addtolength\topmargin{-\headsep}
1321 %<tate> \addtolength\topmargin{-\textwidth}
1322 %<yoko> \addtolength\topmargin{-\textheight}
1323 \addtolength\topmargin{-\footskip}
1325 % \changes{v1.1e}{1997/04/08}{横組クラスでの調整量を
1326 % -2.4インチから-2.0インチにした。}
1327 % \changes{v1.1j}{1998/02/03}{互換モード時のa5pのトップマージンを0.7in増加}
1330 \ifnum\c@@paper=2 % A5
1331 \addtolength\topmargin{-1.3in}
1333 \addtolength\topmargin{-2.0in}
1336 %<yoko> \addtolength\topmargin{-2.0in}
1337 %<tate> \addtolength\topmargin{-2.8in}
1340 % \changes{v1.1d}{1997/02/05}{\cs{tompargin}を半分にするのはアキ領域の計算後}
1341 % \changes{v1.1r}{1999/08/09}{\cs{if@stysize}フラグに限らず半分にする}
1343 \addtolength\topmargin{-.5\topmargin}
1345 \@settopoint\topmargin
1349 % \begin{macro}{\marginparsep}
1350 % \begin{macro}{\marginparpush}
1351 % |\marginparsep|は、本文と傍注の間にあけるスペースの幅です。
1353 % 縦組では本文の下(上)端と傍注の間になります。
1354 % |\marginparpush|は、傍注と傍注との間のスペースの幅です。
1357 \setlength\marginparsep{10\p@}
1359 %<tate> \setlength\marginparsep{15\p@}
1360 %<yoko> \setlength\marginparsep{10\p@}
1362 %<tate>\setlength\marginparpush{7\p@}
1364 %<10pt>\setlength\marginparpush{5\p@}
1365 %<11pt>\setlength\marginparpush{5\p@}
1366 %<12pt>\setlength\marginparpush{7\p@}
1372 % \begin{macro}{\oddsidemargin}
1373 % \begin{macro}{\evensidemargin}
1374 % \begin{macro}{\marginparwidth}
1375 % まず、互換モードでの長さを示します。
1380 %<tate> \setlength\oddsidemargin{0\p@}
1381 %<tate> \setlength\evensidemargin{0\p@}
1383 % 互換モード、横組、bookクラスの場合:
1387 %<10pt> \setlength\oddsidemargin {.5in}
1388 %<11pt> \setlength\oddsidemargin {.25in}
1389 %<12pt> \setlength\oddsidemargin {.25in}
1390 %<10pt> \setlength\evensidemargin {1.5in}
1391 %<11pt> \setlength\evensidemargin {1.25in}
1392 %<12pt> \setlength\evensidemargin {1.25in}
1393 %<10pt> \setlength\marginparwidth {.75in}
1394 %<11pt> \setlength\marginparwidth {1in}
1395 %<12pt> \setlength\marginparwidth {1in}
1398 % 互換モード、横組、reportとarticleクラスの場合:
1402 %<10pt> \setlength\oddsidemargin {44\p@}
1403 %<11pt> \setlength\oddsidemargin {36\p@}
1404 %<12pt> \setlength\oddsidemargin {21\p@}
1405 %<10pt> \setlength\evensidemargin {82\p@}
1406 %<11pt> \setlength\evensidemargin {74\p@}
1407 %<12pt> \setlength\evensidemargin {59\p@}
1408 %<10pt> \setlength\marginparwidth {107\p@}
1409 %<11pt> \setlength\marginparwidth {100\p@}
1410 %<12pt> \setlength\marginparwidth {85\p@}
1412 %<10pt> \setlength\oddsidemargin {60\p@}
1413 %<11pt> \setlength\oddsidemargin {54\p@}
1414 %<12pt> \setlength\oddsidemargin {39.5\p@}
1415 %<10pt> \setlength\evensidemargin {60\p@}
1416 %<11pt> \setlength\evensidemargin {54\p@}
1417 %<12pt> \setlength\evensidemargin {39.5\p@}
1418 %<10pt> \setlength\marginparwidth {90\p@}
1419 %<11pt> \setlength\marginparwidth {83\p@}
1420 %<12pt> \setlength\marginparwidth {68\p@}
1427 \setlength\oddsidemargin {30\p@}
1428 \setlength\evensidemargin {30\p@}
1429 \setlength\marginparwidth {48\p@}
1433 % 縦組、横組にかかわらず、スタイルオプション設定ではゼロです。
1434 % \changes{v1.0g}{1997/01/25}{\cs{oddsidemargin}, \cs{evensidemagin}:
1435 % 0pt if specified papersize at \cs{documentstyle} option.}
1439 \setlength\oddsidemargin{0\p@}
1440 \setlength\evensidemargin{0\p@}
1448 \setlength\@tempdima{\paperwidth}
1449 %<tate> \addtolength\@tempdima{-\textheight}
1450 %<yoko> \addtolength\@tempdima{-\textwidth}
1453 % |\oddsidemargin|を計算します。
1456 %<tate> \setlength\oddsidemargin{.6\@tempdima}
1457 %<yoko> \setlength\oddsidemargin{.4\@tempdima}
1459 \setlength\oddsidemargin{.5\@tempdima}
1461 \addtolength\oddsidemargin{-1in}
1463 % \changes{v1.1p}{1999/1/6}{\cs{oddsidemargin}のポイントへの変換を後ろに}
1464 % |\evensidemargin|を計算します。
1466 \setlength\evensidemargin{\paperwidth}
1467 \addtolength\evensidemargin{-2in}
1468 %<tate> \addtolength\evensidemargin{-\textheight}
1469 %<yoko> \addtolength\evensidemargin{-\textwidth}
1470 \addtolength\evensidemargin{-\oddsidemargin}
1471 \@settopoint\oddsidemargin % 1999.1.6
1472 \@settopoint\evensidemargin
1474 % |\marginparwidth|を計算します。
1475 % ここで、|\@tempdima|の値は、\linebreak
1476 % |\paperwidth| $-$ |\textwidth|です。
1477 % \changes{v1.1d}{1995/11/24}{typo: \cs{marginmarwidth} to \cs{marginparwidth}}
1481 \setlength\marginparwidth{.6\@tempdima}
1482 \addtolength\marginparwidth{-.4in}
1484 \setlength\marginparwidth{.5\@tempdima}
1485 \addtolength\marginparwidth{-.4in}
1487 \ifdim \marginparwidth >2in
1488 \setlength\marginparwidth{2in}
1496 \setlength\@tempdima{\paperheight}
1497 \addtolength\@tempdima{-\textwidth}
1498 \addtolength\@tempdima{-\topmargin}
1499 \addtolength\@tempdima{-\headheight}
1500 \addtolength\@tempdima{-\headsep}
1501 \addtolength\@tempdima{-\footskip}
1502 \setlength\marginparwidth{.5\@tempdima}
1504 \@settopoint\marginparwidth
1514 % \begin{macro}{\footnotesep}
1515 % |\footnotesep|は、それぞれの脚注の先頭に置かれる``支柱''の高さです。
1516 % このクラスでは、通常の|\footnotesize|の支柱と同じ長さですので、
1519 %<10pt>\setlength\footnotesep{6.65\p@}
1520 %<11pt>\setlength\footnotesep{7.7\p@}
1521 %<12pt>\setlength\footnotesep{8.4\p@}
1525 % \begin{macro}{\footins}
1526 % |\skip\footins|は、本文の最終行と最初の脚注との間の距離です。
1528 %<10pt>\setlength{\skip\footins}{9\p@ \@plus 4\p@ \@minus 2\p@}
1529 %<11pt>\setlength{\skip\footins}{10\p@ \@plus 4\p@ \@minus 2\p@}
1530 %<12pt>\setlength{\skip\footins}{10.8\p@ \@plus 4\p@ \@minus 2\p@}
1535 % すべてのフロートパラメータは、\LaTeX{}のカーネルでデフォルトが定義
1536 % されています。そのため、カウンタ以外のパラメータは|\renewcommand|で
1539 % \subsubsection{フロートパラメータ}
1541 % \begin{macro}{\floatsep}
1542 % \begin{macro}{\textfloatsep}
1543 % \begin{macro}{\intextsep}
1544 % フロートオブジェクトが本文のあるページに置かれるとき、
1545 % フロートとそのページにある別のオブジェクトの距離は、
1546 % これらのパラメータで制御されます。これらのパラメータは、一段組モードと
1547 % 二段組モードの段抜きでないフロートの両方で使われます。
1549 % |\floatsep|は、ページ上部あるいは下部のフロート間の距離です。
1551 % |\textfloatsep|は、ページ上部あるいは下部のフロートと本文との距離です。
1553 % |\intextsep|は、本文の途中に出力されるフロートと本文との距離です。
1556 \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1557 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1558 \setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1561 \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1562 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1563 \setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1566 \setlength\floatsep {12\p@ \@plus 2\p@ \@minus 4\p@}
1567 \setlength\textfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1568 \setlength\intextsep {14\p@ \@plus 4\p@ \@minus 4\p@}
1575 % \begin{macro}{\dblfloatsep}
1576 % \begin{macro}{\dbltextfloatsep}
1577 % 二段組モードで、|\textwidth|の幅を持つ、段抜きのフロートオブジェクトが
1578 % 本文と同じページに置かれるとき、本文とフロートとの距離は、
1579 % |\dblfloatsep|と|\dbltextfloatsep|によって制御されます。
1581 % |\dblfloatsep|は、ページ上部あるいは下部のフロートと本文との距離です。
1583 % |\dbltextfloatsep|は、ページ上部あるいは下部のフロート間の距離です。
1586 \setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1587 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1590 \setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@}
1591 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1594 \setlength\dblfloatsep {14\p@ \@plus 2\p@ \@minus 4\p@}
1595 \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@}
1601 % \begin{macro}{\@fptop}
1602 % \begin{macro}{\@fpsep}
1603 % \begin{macro}{\@fpbot}
1604 % フロートオブジェクトが、独立したページに置かれるとき、
1605 % このページのレイアウトは、次のパラメータで制御されます。
1606 % これらのパラメータは、一段組モードか、二段組モードでの一段出力の
1607 % フロートオブジェクトに対して使われます。
1609 % ページ上部では、|\@fptop|の伸縮長が挿入されます。
1610 % ページ下部では、|\@fpbot|の伸縮長が挿入されます。
1611 % フロート間には|\@fpsep|が挿入されます。
1613 % なお、そのページを空白で満たすために、|\@fptop|と|\@fpbot|の
1614 % 少なくともどちらか一方に、|plus ...fil|を含めてください。
1617 \setlength\@fptop{0\p@ \@plus 1fil}
1618 \setlength\@fpsep{8\p@ \@plus 2fil}
1619 \setlength\@fpbot{0\p@ \@plus 1fil}
1622 \setlength\@fptop{0\p@ \@plus 1fil}
1623 \setlength\@fpsep{8\p@ \@plus 2fil}
1624 \setlength\@fpbot{0\p@ \@plus 1fil}
1627 \setlength\@fptop{0\p@ \@plus 1fil}
1628 \setlength\@fpsep{10\p@ \@plus 2fil}
1629 \setlength\@fpbot{0\p@ \@plus 1fil}
1636 % \begin{macro}{\@dblfptop}
1637 % \begin{macro}{\@dblfpsep}
1638 % \begin{macro}{\@dblfpbot}
1639 % 二段組モードでの二段抜きのフロートに対しては、
1643 \setlength\@dblfptop{0\p@ \@plus 1fil}
1644 \setlength\@dblfpsep{8\p@ \@plus 2fil}
1645 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1648 \setlength\@dblfptop{0\p@ \@plus 1fil}
1649 \setlength\@dblfpsep{8\p@ \@plus 2fil}
1650 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1653 \setlength\@dblfptop{0\p@ \@plus 1fil}
1654 \setlength\@dblfpsep{10\p@ \@plus 2fil}
1655 \setlength\@dblfpbot{0\p@ \@plus 1fil}
1663 % \subsubsection{フロートオブジェクトの上限値}
1665 % \begin{macro}{\c@topnumber}
1666 % \Lcount{topnumber}は、本文ページの上部に出力できるフロートの最大数です。
1668 %<*article|report|book>
1669 \setcounter{topnumber}{2}
1673 % \begin{macro}{\c@bottomnumber}
1674 % \Lcount{bottomnumber}は、本文ページの下部に出力できるフロートの最大数です。
1676 \setcounter{bottomnumber}{1}
1680 % \begin{macro}{\c@totalnumber}
1681 % \Lcount{totalnumber}は、本文ページに出力できるフロートの最大数です。
1683 \setcounter{totalnumber}{3}
1687 % \begin{macro}{\c@dbltopnumber}
1688 % \Lcount{dbltopnumber}は、二段組時における、本文ページの上部に出力できる
1691 \setcounter{dbltopnumber}{2}
1695 % \begin{macro}{\topfraction}
1696 % これは、本文ページの上部に出力されるフロートが占有できる最大の割り合いです。
1698 \renewcommand{\topfraction}{.7}
1702 % \begin{macro}{\bottomfraction}
1703 % これは、本文ページの下部に出力されるフロートが占有できる最大の割り合いです。
1705 \renewcommand{\bottomfraction}{.3}
1709 % \begin{macro}{\textfraction}
1710 % これは、本文ページに最低限、入らなくてはならない本文の割り合いです。
1712 \renewcommand{\textfraction}{.2}
1716 % \begin{macro}{\floatpagefraction}
1717 % これは、フロートだけのページで最低限、入らなくてはならない
1720 \renewcommand{\floatpagefraction}{.5}
1724 % \begin{macro}{\dbltopfraction}
1725 % これは、2段組時における本文ページに、
1726 % 2段抜きのフロートが占めることができる最大の割り合いです。
1728 \renewcommand{\dbltopfraction}{.7}
1732 % \begin{macro}{\dblfloatpagefraction}
1733 % これは、2段組時におけるフロートだけのページに最低限、
1734 % 入らなくてはならない2段抜きのフロートの割り合いです。
1736 \renewcommand{\dblfloatpagefraction}{.5}
1742 % \section{ページスタイル}\label{sec:pagestyle}
1743 % つぎの6種類のページスタイルを使用できます。
1744 % \pstyle{empty}は\file{ltpage.dtx}で定義されています。
1746 % \begin{tabular}{ll}
1747 % empty & ヘッダにもフッタにも出力しない\\
1748 % plain & フッタにページ番号のみを出力する\\
1749 % headnombre & ヘッダにページ番号のみを出力する\\
1750 % footnombre & フッタにページ番号のみを出力する\\
1751 % headings & ヘッダに見出しとページ番号を出力する\\
1752 % bothstyle & ヘッダに見出し、フッタにページ番号を出力する\\
1755 % ページスタイル\pstyle{foo}は、|\ps@foo|コマンドとして定義されます。
1757 % \begin{macro}{\@evenhead}
1758 % \begin{macro}{\@oddhead}
1759 % \begin{macro}{\@evenfoot}
1760 % \begin{macro}{\@oddfoot}
1761 % これらは|\ps@...|から呼び出され、ヘッダとフッタを出力するマクロです。
1763 % \DeleteShortVerb{\|}
1764 % \begin{tabular}{ll}
1765 % \cs{@oddhead} & 奇数ページのヘッダを出力\\
1766 % \cs{@oddfoot} & 奇数ページのフッタを出力\\
1767 % \cs{@evenhead} & 偶数ページのヘッダを出力\\
1768 % \cs{@evenfoot} & 偶数ページのフッタを出力\\
1770 % \MakeShortVerb{\|}
1772 % これらの内容は、横組の場合は|\textwidth|の幅を持つ|\hbox|に入れられ、
1773 % 縦組の場合は|\textheight|の幅を持つ|\hbox|に入れられます。
1779 % \subsection{マークについて}
1780 % ヘッダに入る章番号や章見出しは、見出しコマンドで実行されるマークコマンドで
1781 % 決定されます。ここでは、実行されるマークコマンドの定義を行なっています。
1782 % これらのマークコマンドは、\TeX{}の|\mark|機能を用いて、
1783 % `left'と`right'の2種類のマークを生成するように定義しています。
1786 % |\markboth{|\meta{LEFT}|}{|\meta{RIGHT}|}|: 両方のマークに追加します。
1788 % |\markright{|\meta{RIGHT}|}|: `右'マークに追加します。
1790 % |\leftmark|: |\@oddhead|, |\@oddfoot|, |\@evenhead|, |\@evenfoot|マクロで
1791 % 使われ、現在の``左''マークを出力します。
1792 % |\leftmark|は\TeX{}の|\botmark|コマンドのような働きをします。
1795 % |\rightmark|: |\@oddhead|, |\@oddfoot|, |\@evenhead|, |\@evenfoot|マクロで
1796 % 使われ、現在の``右''マークを出力します。
1797 % |\rightmark|は\TeX{}の|\firstmark|コマンドのような働きをします。
1801 % マークコマンドの動作は、左マークの`範囲内の'右マークのために
1802 % 合理的になっています。たとえば、左マークは|\chapter|コマンドによって
1803 % 変更されます。そして右マークは|\section|コマンドによって変更されます。
1804 % しかし、同一ページに複数の|\markboth|コマンドが現れたとき、
1807 % |\tableofcontents|のようなコマンドは、|\@mkboth|コマンドを用いて、
1808 % あるページスタイルの中でマークを設定しなくてはなりません。
1809 % |\@mkboth|は、|\ps@...|コマンドによって、|\markboth|(ヘッダを設定する)か、
1810 % |\@gobbletwo|(何もしない)に|\let|されます。
1812 % \changes{v1.0a}{1995/08/30}{柱の書体がノンブルに影響するバグの修正}
1814 % \subsection{plainページスタイル}
1816 % \begin{macro}{\ps@plain}
1817 % \pstyle{jpl@in}に|\let|するために、ここで定義をします。
1819 \def\ps@plain{\let\@mkboth\@gobbletwo
1820 \let\ps@jpl@in\ps@plain
1821 \let\@oddhead\@empty
1822 \def\@oddfoot{\reset@font\hfil\thepage\hfil}%
1823 \let\@evenhead\@empty
1824 \let\@evenfoot\@oddfoot}
1828 % \subsection{jpl@inページスタイル}
1830 % \begin{macro}{\ps@jpl@in}
1831 % \changes{v1.0d}{1996/02/29}{\pstyle{jpl@in}の初期値を定義}
1833 % \pstyle{jpl@in}スタイルは、クラスファイル内部で使用するものです。
1834 % \LaTeX{}では、bookクラスを\pstyle{headings}としています。
1835 % しかし、\cs{tableofcontnts}コマンドの内部では\pstyle{plain}として
1836 % 設定されるため、一つの文書でのページ番号の位置が上下に出力される
1839 % そこで、ここでは\cs{tableofcontents}や\cs{theindex}のページスタイル
1840 % を\pstyle{jpl@in}にし、実際に出力される形式は、ほかのページスタイル
1841 % で|\let|をしています。したがって、\pstyle{headings}のとき、目次ページの
1842 % ページ番号はヘッダ位置に出力され、\pstyle{plain}のときには、フッタ位置に
1845 % ここで、定義をしているのは、その初期値です。
1847 \let\ps@jpl@in\ps@plain
1851 % \subsection{headnombreページスタイル}
1853 % \begin{macro}{\ps@headnombre}
1854 % \pstyle{headnombre}スタイルは、ヘッダにページ番号のみを出力します。
1856 \def\ps@headnombre{\let\@mkboth\@gobbletwo
1857 \let\ps@jpl@in\ps@headnombre
1858 %<yoko> \def\@evenhead{\thepage\hfil}%
1859 %<yoko> \def\@oddhead{\hfil\thepage}%
1860 %<tate> \def\@evenhead{\hfil\thepage}%
1861 %<tate> \def\@oddhead{\thepage\hfil}%
1862 \let\@oddfoot\@empty\let\@evenfoot\@empty}
1866 % \subsection{footnombreページスタイル}
1868 % \begin{macro}{\ps@footnombre}
1869 % \pstyle{footnombre}スタイルは、フッタにページ番号のみを出力します。
1871 \def\ps@footnombre{\let\@mkboth\@gobbletwo
1872 \let\ps@jpl@in\ps@footnombre
1873 %<yoko> \def\@evenfoot{\thepage\hfil}%
1874 %<yoko> \def\@oddfoot{\hfil\thepage}%
1875 %<tate> \def\@evenfoot{\hfil\thepage}%
1876 %<tate> \def\@oddfoot{\thepage\hfil}%
1877 \let\@oddhead\@empty\let\@evenhead\@empty}
1881 % \subsection{headingsスタイル}
1882 % \pstyle{headings}スタイルは、ヘッダに見出しとページ番号を出力します。
1884 % \begin{macro}{\ps@headings}
1885 % このスタイルは、両面印刷と片面印刷とで形式が異なります。
1889 % 横組の場合は、奇数ページが右に、偶数ページが左にきます。
1890 % 縦組の場合は、奇数ページが左に、偶数ページが右にきます。
1892 \def\ps@headings{\let\ps@jpl@in\ps@headnombre
1893 \let\@oddfoot\@empty\let\@evenfoot\@empty
1894 %<yoko> \def\@evenhead{\thepage\hfil\leftmark}%
1895 %<yoko> \def\@oddhead{{\rightmark}\hfil\thepage}%
1896 %<tate> \def\@evenhead{{\leftmark}\hfil\thepage}%
1897 %<tate> \def\@oddhead{\thepage\hfil\rightmark}%
1898 \let\@mkboth\markboth
1900 \def\sectionmark##1{\markboth{%
1901 \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
1903 \def\subsectionmark##1{\markright{%
1904 \ifnum \c@secnumdepth >\@ne \thesubsection.\hskip1\zw\fi
1908 \def\chaptermark##1{\markboth{%
1909 \ifnum \c@secnumdepth >\m@ne
1910 %<book> \if@mainmatter
1911 \@chapapp\thechapter\@chappos\hskip1\zw
1915 \def\sectionmark##1{\markright{%
1916 \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
1922 % \changes{v1.1g}{1997/08/25}{片面印刷のとき、sectionレベルが出力されない
1925 \else % if not twoside
1926 \def\ps@headings{\let\ps@jpl@in\ps@headnombre
1927 \let\@oddfoot\@empty
1928 %<yoko> \def\@oddhead{{\rightmark}\hfil\thepage}%
1929 %<tate> \def\@oddhead{\thepage\hfil\rightmark}%
1930 \let\@mkboth\markboth
1932 \def\sectionmark##1{\markright{%
1933 \ifnum \c@secnumdepth >\m@ne \thesection.\hskip1\zw\fi
1937 \def\chaptermark##1{\markright{%
1938 \ifnum \c@secnumdepth >\m@ne
1939 %<book> \if@mainmatter
1940 \@chapapp\thechapter\@chappos\hskip1\zw
1950 % \subsection{bothstyleスタイル}
1952 % \begin{macro}{\ps@bothstyle}
1953 % \pstyle{bothstyle}スタイルは、
1954 % ヘッダに見出しを、フッタにページ番号を出力します。
1956 % このスタイルは、両面印刷と片面印刷とで形式が異なります。
1957 % \changes{v1.0d}{1995/08/23}{横組のevenfootが中央揃えになっていたのを修正}
1958 % \changes{v1.0d}{1996/03/05}{横組で偶数ページと奇数ページの設定が逆なのを修正}
1961 \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
1963 \def\@evenhead{\leftmark\hfil}% right page
1964 \def\@evenfoot{\thepage\hfil}% right page
1965 \def\@oddhead{\hfil\rightmark}% left page
1966 \def\@oddfoot{\hfil\thepage}% left page
1969 \def\@evenhead{\hfil\leftmark}% right page
1970 \def\@evenfoot{\hfil\thepage}% right page
1971 \def\@oddhead{\rightmark\hfil}% left page
1972 \def\@oddfoot{\thepage\hfil}% left page
1974 \let\@mkboth\markboth
1976 \def\sectionmark##1{\markboth{%
1977 \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
1979 \def\subsectionmark##1{\markright{%
1980 \ifnum \c@secnumdepth >\@ne \thesubsection.\hskip1\zw\fi
1984 \def\chaptermark##1{\markboth{%
1985 \ifnum \c@secnumdepth >\m@ne
1986 %<book> \if@mainmatter
1987 \@chapapp\thechapter\@chappos\hskip1\zw
1991 \def\sectionmark##1{\markright{%
1992 \ifnum \c@secnumdepth >\z@ \thesection.\hskip1\zw\fi
1997 % \changes{v1.1g}{1997/08/25}{片面印刷のとき、sectionレベルが出力されない
1999 % \changes{v1.1i}{1997/12/12}{report, bookクラスで片面印刷時に、
2000 % bothstyleスタイルにすると、コンパイルエラーになるのを修正}
2002 \else % if one column
2003 \def\ps@bothstyle{\let\ps@jpl@in\ps@footnombre
2004 %<yoko> \def\@oddhead{\hfil\rightmark}%
2005 %<yoko> \def\@oddfoot{\hfil\thepage}%
2006 %<tate> \def\@oddhead{\rightmark\hfil}%
2007 %<tate> \def\@oddfoot{\thepage\hfil}%
2008 \let\@mkboth\markboth
2010 \def\sectionmark##1{\markright{%
2011 \ifnum \c@secnumdepth >\m@ne \thesection.\hskip1\zw\fi
2015 \def\chaptermark##1{\markright{%
2016 \ifnum \c@secnumdepth >\m@ne
2017 %<book> \if@mainmatter
2018 \@chapapp\thechapter\@chappos\hskip1\zw
2028 % \subsection{myheadingスタイル}
2030 % \begin{macro}{\ps@myheadings}
2031 % \changes{v1.0d}{1995/08/23}{横組モードの左右が逆であったのを修正}
2032 % \pstyle{myheadings}ページスタイルは簡潔に定義されています。
2033 % ユーザがページスタイルを設計するときのヒナ型として使用することができます。
2035 \def\ps@myheadings{\let\ps@jpl@in\ps@plain%
2036 \let\@oddfoot\@empty\let\@evenfoot\@empty
2037 %<yoko> \def\@evenhead{\thepage\hfil\leftmark}%
2038 %<yoko> \def\@oddhead{{\rightmark}\hfil\thepage}%
2039 %<tate> \def\@evenhead{{\leftmark}\hfil\thepage}%
2040 %<tate> \def\@oddhead{\thepage\hfil\rightmark}%
2041 \let\@mkboth\@gobbletwo
2042 %<!article> \let\chaptermark\@gobble
2043 \let\sectionmark\@gobble
2044 %<article> \let\subsectionmark\@gobble
2054 % \begin{macro}{\title}
2055 % \begin{macro}{\author}
2056 % \begin{macro}{\date}
2057 % 文書のタイトル、著者、日付の情報のための、
2058 % これらの3つのコマンドは\file{ltsect.dtx}で提供されています。
2059 % これらのコマンドは次のように定義されています。
2061 %\newcommand*{\title}[1]{\gdef\@title{#1}}
2062 %\newcommand*{\author}[1]{\gdef\@author{#1}}
2063 %\newcommand*{\date}[1]{\gdef\@date{#1}}
2065 % |\date|マクロのデフォルトは、今日の日付です。
2073 % \begin{environment}{titlepage}
2074 % 通常の環境では、ページの最初と最後を除き、タイトルページ環境は何もしません。
2075 % また、ページ番号の出力を抑制します。レポートスタイルでは、
2076 % ページ番号を1にリセットし、そして最後で1に戻します。
2077 % 互換モードでは、ページ番号はゼロに設定されますが、
2078 % 右起こしページ用のページパラメータでは誤った結果になります。
2079 % 二段組スタイルでも一段組のページが作られます。
2084 \newenvironment{titlepage}
2086 %<book> \cleardoublepage
2087 \if@twocolumn\@restonecoltrue\onecolumn
2088 \else\@restonecolfalse\newpage\fi
2089 \thispagestyle{empty}%
2090 \setcounter{page}\z@
2092 {\if@restonecol\twocolumn\else\newpage\fi
2096 % そして、\LaTeX{}ネイティブのための定義です。
2099 \newenvironment{titlepage}
2101 %<book> \cleardoublepage
2103 \@restonecoltrue\onecolumn
2105 \@restonecolfalse\newpage
2107 \thispagestyle{empty}%
2108 \setcounter{page}\@ne
2110 {\if@restonecol\twocolumn \else \newpage \fi
2112 % 両面モードでなければ、タイトルページの直後のページのページ番号も1に
2116 \setcounter{page}\@ne
2123 % \begin{macro}{\maketitle}
2124 % このコマンドは、表題を作成し、出力します。
2125 % 表題ページを独立させるかどうかによって定義が異なります。
2126 % reportとbookクラスのデフォルトは独立した表題です。
2127 % articleクラスはオプションで独立させることができます。
2129 % \begin{macro}{\p@thanks}
2130 % 縦組のときは、|\thanks|コマンドを|\p@thanks|に|\let|します。
2131 % このコマンドは|\footnotetext|を使わず、直接、文字を|\@thanks|に格納
2134 \def\p@thanks#1{\footnotemark
2135 \protected@xdef\@thanks{\@thanks
2136 \protect{\noindent$\m@th^\thefootnote$~#1\protect\par}}}
2142 \newcommand{\maketitle}{\begin{titlepage}%
2143 \let\footnotesize\small
2144 \let\footnoterule\relax
2145 %<tate> \let\thanks\p@thanks
2146 \let\footnote\thanks
2148 % \changes{v1.1d}{1997/02/12}{縦組クラスの表紙を縦書きにするようにした}
2150 %<tate> \vbox to\textheight\bgroup\tate\hsize\textwidth
2154 {\LARGE \@title \par}%
2158 \begin{tabular}[t]{c}%
2162 {\large \@date \par}% % Set date in \large size.
2164 %<tate> \vfil{\centering\@thanks}\vfil\null
2166 %<yoko> \@thanks\vfil\null
2169 % \Lcount{footnote}カウンタをリセットし、|\thanks|と|\maketitle|コマンドを
2170 % 無効にし、いくつかの内部マクロを空にして格納領域を節約します。
2172 \setcounter{footnote}{0}%
2173 \global\let\thanks\relax
2174 \global\let\maketitle\relax
2175 \global\let\p@thanks\relax
2176 \global\let\@thanks\@empty
2177 \global\let\@author\@empty
2178 \global\let\@date\@empty
2179 \global\let\@title\@empty
2181 % タイトルが組版されたら、|\title|コマンドなどの宣言を無効にできます。
2182 % |\and|の定義は、|\author|の引数でのみ使用しますので、破棄します。
2184 \global\let\title\relax
2185 \global\let\author\relax
2186 \global\let\date\relax
2187 \global\let\and\relax
2190 \newcommand{\maketitle}{\par
2192 \renewcommand{\thefootnote}{\fnsymbol{footnote}}%
2193 \def\@makefnmark{\hbox{\unless\ifnum\ltjgetparameter{direction}=3 $\m@th^{\@thefnmark}$
2194 \else\hbox{\yoko$\m@th^{\@thefnmark}$}\fi}}%
2196 \long\def\@makefntext##1{\parindent 1\zw\noindent
2197 \hb@xt@ 2\zw{\hss\@makefnmark}##1}%
2200 \long\def\@makefntext##1{\parindent 1em\noindent
2201 \hb@xt@1.8em{\hss$\m@th^{\@thefnmark}$}##1}%
2204 \ifnum \col@number=\@ne \@maketitle
2205 \else \twocolumn[\@maketitle]%
2209 \global\@topnum\z@ % Prevents figures from going at top of page.
2212 \thispagestyle{jpl@in}\@thanks
2214 % ここでグループを閉じ、\Lcount{footnote}カウンタをリセットし、
2215 % |\thanks|, |\maketitle|, |\@maketitle|を無効にし、
2216 % いくつかの内部マクロを空にして格納領域を節約します。
2217 % \changes{v1.7}{2016/11/12}{ドキュメントに反して\cs{@maketitle}が
2221 \setcounter{footnote}{0}%
2222 \global\let\thanks\relax
2223 \global\let\maketitle\relax
2224 \global\let\@maketitle\relax
2225 \global\let\p@thanks\relax
2226 \global\let\@thanks\@empty
2227 \global\let\@author\@empty
2228 \global\let\@date\@empty
2229 \global\let\@title\@empty
2230 \global\let\title\relax
2231 \global\let\author\relax
2232 \global\let\date\relax
2233 \global\let\and\relax
2238 % \begin{macro}{\@maketitle}
2239 % 独立した表題ページを作らない場合の、表題の出力形式です。
2245 %<yoko> \let\footnote\thanks
2246 %<tate> \let\footnote\p@thanks
2247 {\LARGE \@title \par}%
2251 \begin{tabular}[t]{c}%
2264 % \begin{environment}{abstract}
2265 % 要約文のための環境です。bookクラスでは使えません。
2266 % reportスタイルと、|titlepage|オプションを指定したarticleスタイルでは、
2271 \newenvironment{abstract}{%
2274 \@beginparpenalty\@lowpenalty
2276 {\bfseries\abstractname}%
2279 {\par\vfil\null\endtitlepage}
2281 \newenvironment{abstract}{%
2283 \section*{\abstractname}%
2287 {\bfseries\abstractname\vspace{-.5em}\vspace{\z@}}%
2290 \fi}{\if@twocolumn\else\endquotation\fi}
2299 % \subsubsection{マークコマンド}
2301 % \begin{macro}{\chaptermark}
2302 % \begin{macro}{\sectionmark}
2303 % \begin{macro}{\subsectionmark}
2304 % \begin{macro}{\subsubsectionmark}
2305 % \begin{macro}{\paragraphmark}
2306 % \begin{macro}{\subparagraphmark}
2307 % |\...mark|コマンドを初期化します。これらのコマンドはページスタイルの
2308 % 定義で使われます(第\ref{sec:pagestyle}節参照)。
2309 % これらのたいていのコマンドは\file{ltsect.dtx}ですでに定義されています。
2311 %<!article>\newcommand*{\chaptermark}[1]{}
2312 %\newcommand*{\sectionmark}[1]{}
2313 %\newcommand*{\subsectionmark}[1]{}
2314 %\newcommand*{\subsubsectionmark}[1]{}
2315 %\newcommand*{\paragraph}[1]{}
2316 %\newcommand*{\subparagraph}[1]{}
2325 % \subsubsection{カウンタの定義}
2327 % \begin{macro}{\c@secnumdepth}
2328 % \Lcount{secnumdepth}には、番号を付ける、見出しコマンドのレベルを設定します。
2330 %<article>\setcounter{secnumdepth}{3}
2331 %<!article>\setcounter{secnumdepth}{2}
2335 % \begin{macro}{\c@chapter}
2336 % \begin{macro}{\c@section}
2337 % \begin{macro}{\c@subsection}
2338 % \begin{macro}{\c@subsubsection}
2339 % \begin{macro}{\c@paragraph}
2340 % \begin{macro}{\c@subparagraph}
2341 % これらのカウンタは見出し番号に使われます。
2342 % 最初の引数は、二番目の引数が増加するたびにリセットされます。
2343 % 二番目のカウンタはすでに定義されているものでなくてはいけません。
2347 \newcounter{chapter}
2348 \newcounter{section}[chapter]
2350 %<article>\newcounter{section}
2351 \newcounter{subsection}[section]
2352 \newcounter{subsubsection}[subsection]
2353 \newcounter{paragraph}[subsubsection]
2354 \newcounter{subparagraph}[paragraph]
2363 % \begin{macro}{\thepart}
2364 % \begin{macro}{\thechapter}
2365 % \begin{macro}{\thesection}
2366 % \begin{macro}{\thesubsection}
2367 % \begin{macro}{\thesubsubsection}
2368 % \begin{macro}{\theparagraph}
2369 % \begin{macro}{\thesubparagraph}
2370 % |\theCTR|が実際に出力される形式の定義です。
2372 % |\arabic{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2375 % |\roman{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2378 % |\Roman{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2381 % |\alph{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2382 % $1=$~a, $2=$~b のようにして出力します。
2384 % |\Roman{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2385 % $1=$~A, $2=$~B のようにして出力します。
2387 % |\kansuji{|\Lcount{COUNTER}|}|は、\Lcount{COUNTER}の値を
2390 % |\rensuji{|\meta{obj}|}|は、\meta{obj}を横に並べて出力します。
2391 % したがって、横組のときには、何も影響しません。
2395 \renewcommand{\thepart}{\rensuji{\@Roman\c@part}}
2396 %<article>\renewcommand{\thesection}{\rensuji{\@arabic\c@section}}
2398 \renewcommand{\thechapter}{\rensuji{\@arabic\c@chapter}}
2399 \renewcommand{\thesection}{\thechapter・\rensuji{\@arabic\c@section}}
2401 \renewcommand{\thesubsection}{\thesection・\rensuji{\@arabic\c@subsection}}
2402 \renewcommand{\thesubsubsection}{%
2403 \thesubsection・\rensuji{\@arabic\c@subsubsection}}
2404 \renewcommand{\theparagraph}{%
2405 \thesubsubsection・\rensuji{\@arabic\c@paragraph}}
2406 \renewcommand{\thesubparagraph}{%
2407 \theparagraph・\rensuji{\@arabic\c@subparagraph}}
2410 \renewcommand{\thepart}{\@Roman\c@part}
2411 %<article>\renewcommand{\thesection}{\@arabic\c@section}
2413 \renewcommand{\thechapter}{\@arabic\c@chapter}
2414 \renewcommand{\thesection}{\thechapter.\@arabic\c@section}
2416 \renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection}
2417 \renewcommand{\thesubsubsection}{%
2418 \thesubsection.\@arabic\c@subsubsection}
2419 \renewcommand{\theparagraph}{%
2420 \thesubsubsection.\@arabic\c@paragraph}
2421 \renewcommand{\thesubparagraph}{%
2422 \theparagraph.\@arabic\c@subparagraph}
2433 % \begin{macro}{\@chapapp}
2434 % \begin{macro}{\@chappos}
2435 % |\@chapapp|の初期値は`|\prechaptername|'です。
2437 % |\@chappos|の初期値は`|\postchaptername|'です。
2439 % |\appendix|コマンドは|\@chapapp|を`|\appendixname|'に、
2440 % |\@chappos|を空に再定義します。
2443 \newcommand{\@chapapp}{\prechaptername}
2444 \newcommand{\@chappos}{\postchaptername}
2450 % \subsubsection{前付け、本文、後付け}
2452 % \begin{macro}{\frontmatter}
2453 % \begin{macro}{\mainmatter}
2454 % \begin{macro}{\backmatter}
2455 % \changes{v1.1}{1997/01/15}{\cs{frontmatter}, \cs{mainmatter}, \cs{backmatter}
2457 % 一冊の本は論理的に3つに分割されます。
2458 % 表題や目次や「はじめに」あるいは権利などの前付け、
2459 % そして本文、それから用語集や索引や奥付けなどの後付けです。
2461 % \emph{日本語\TeX{}開発コミュニティによる補足}:
2462 % \LaTeX{}のclasses.dtxは、1996/05/26 (v1.3r)と1998/05/05 (v1.3y)の
2463 % 計2回、|\frontmatter|と|\mainmatter|の定義を修正しています。一回目は
2464 % これらの命令を|openany|オプションに応じて切り替え、二回目はそれを
2465 % 元に戻しています。アスキーによるjclasses.dtxは、1997/01/15に
2466 % 一回目の修正に追随しましたが、二回目の修正には追随していません。
2467 % コミュニティ版では、アスキーによる仕様を維持することとし、
2468 % |openany|オプションの場合は|\cleardoublepage|ではなく|\clearpage|が
2469 % 発行されます。もし|\cleardoublepage|が起きてほしい場合には、
2470 % 明示的に挿入してください。(参考:latex/2754)
2471 % \changes{v1.7b}{2016/11/22}{補足ドキュメントを追加}
2474 \newcommand{\frontmatter}{%
2475 \if@openright \cleardoublepage \else \clearpage \fi
2476 \@mainmatterfalse\pagenumbering{roman}}
2477 \newcommand{\mainmatter}{%
2478 \if@openright \cleardoublepage \else \clearpage \fi
2479 \@mainmattertrue\pagenumbering{arabic}}
2480 \newcommand{\backmatter}{%
2481 \if@openright \cleardoublepage \else \clearpage \fi
2489 % \subsubsection{ボックスの組み立て}
2490 % クラスファイル定義の、この部分では、|\@startsection|と|\secdef|の
2491 % 二つの内部マクロを使います。これらの構文を次に示します。
2493 % |\@startsection|マクロは6つの引数と1つのオプション引数`*'を取ります。
2495 % |\@startsection|\meta{name}\meta{level}\meta{indent}^^A
2496 % \meta{beforeskip}\meta{afterskip}\meta{style}
2498 % \null\hphantom{\bslash @startsection}^^A
2499 % |[|\meta{altheading}|]|\meta{heading}
2501 % それぞれの引数の意味は、次のとおりです。
2503 % \begin{description}
2504 % \item[\meta{name}] レベルコマンドの名前です(例:section)。
2505 % \item[\meta{level}] 見出しの深さを示す数値です(chapter=1, section=2,
2506 % $\ldots$)。``\meta{level}$<=$カウンタ\Lcount{secnumdepth}の値''のとき、
2508 % \item[\meta{indent}] 見出しに対する、左マージンからのインデント量です。
2509 % \item[\meta{beforeskip}] 見出しの上に置かれる空白の絶対値です。
2510 % 負の場合は、見出しに続くテキストのインデントを抑制します。
2511 % \item[\meta{afterskip}] 正のとき、見出しの後の垂直方向のスペースとなります。
2512 % 負の場合は、見出しの後の水平方向のスペースとなります。
2513 % \item[\meta{style}] 見出しのスタイルを設定するコマンドです。
2514 % \item[\meta{$*$}] 見出し番号を付けないとき、対応するカウンタは増加します。
2515 % \item[\meta{heading}] 新しい見出しの文字列です。
2518 % 見出しコマンドは通常、|\@startsection|と6つの引数で定義されています。
2521 % 見出しコマンドを|\@startsection|を用いないで定義するときに使います。
2522 % このマクロは、2つの引数を持ちます。
2524 % |\secdef|\meta{unstarcmds}\meta{starcmds}
2526 % \begin{description}
2527 % \item[\meta{unstarcmds}] 見出しコマンドの普通の形式で使われます。
2528 % \item[\meta{starcmds}] $*$形式の見出しコマンドで使われます。
2531 % |\secdef|は次のようにして使うことができます。
2533 % \def\chapter {... \secdef \CMDA \CMDB }
2534 % \def\CMDA [#1]#2{....} % \chapter[...]{...} の定義
2535 % \def\CMDB #1{....} % \chapter*{...} の定義
2539 % \subsubsection{partレベル}
2541 % \begin{macro}{\part}
2542 % このコマンドは、新しいパート(部)をはじめます。
2544 % articleクラスの場合は、簡単です。
2546 % 新しい段落を開始し、小さな空白を入れ、段落後のインデントを行い、
2547 % |\secdef|で作成します。(アスキーによる元のドキュメントには
2548 % 「段落後のインデントをしないようにし」と書かれていましたが、
2549 % 実際のコードでは段落後のインデントを行っていました。そこで
2550 % 日本語\TeX{}開発コミュニティは、ドキュメントをコードに合わせて
2551 % 「段落後のインデントを行い」へと修正しました。)
2552 % \changes{v1.7a}{2016/11/16}{Check \texttt{@noskipsec} switch and
2553 % possibly force horizontal mode (sync with classes.dtx v1.4a)}
2556 \newcommand{\part}{%
2557 \if@noskipsec \leavevmode \fi
2558 \par\addvspace{4ex}%
2560 \secdef\@part\@spart}
2563 % reportとbookスタイルの場合は、少し複雑です。
2565 % まず、右ページからはじまるように改ページをします。
2566 % そして、部扉のページスタイルを\pstyle{empty}にします。
2567 % 2段組の場合でも、1段組で作成しますが、後ほど2段組に戻すために、
2568 % |\@restonecol|スイッチを使います。
2569 % \changes{v1.1}{1997/01/15}{\cs{part}を\LaTeX\ の定義に修正}
2572 \newcommand{\part}{%
2573 \if@openright \cleardoublepage \else \clearpage \fi
2574 \thispagestyle{empty}%
2575 \if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
2577 \secdef\@part\@spart}
2582 % \begin{macro}{\@part}
2583 % このマクロが実際に部レベルの見出しを作成します。
2584 % このマクロも文書クラスによって定義が異なります。
2586 % articleクラスの場合は、\Lcount{secnumdepth}が$-1$よりも大きいとき、
2587 % 見出し番号を付けます。このカウンタが$-1$以下の場合には付けません。
2588 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2589 % \cs{normalfont} (sync with classes.dtx v1.3c)}
2593 \ifnum \c@secnumdepth >\m@ne
2594 \refstepcounter{part}%
2595 \addcontentsline{toc}{part}{%
2596 \prepartname\thepart\postpartname\hspace{1\zw}#1}%
2598 \addcontentsline{toc}{part}{#1}%
2601 {\parindent\z@\raggedright
2602 \interlinepenalty\@M\normalfont
2603 \ifnum \c@secnumdepth >\m@ne
2604 \Large\bfseries\prepartname\thepart\postpartname
2607 \huge\bfseries#2\par}%
2608 \nobreak\vskip3ex\@afterheading}
2612 % reportとbookクラスの場合は、\Lcount{secnumdepth}が$-2$よりも大きいときに、
2613 % 見出し番号を付けます。$-2$以下では付けません。
2618 \ifnum \c@secnumdepth >-2\relax
2619 \refstepcounter{part}%
2620 \addcontentsline{toc}{part}{%
2621 \prepartname\thepart\postpartname\hspace{1em}#1}%
2623 \addcontentsline{toc}{part}{#1}%
2627 \interlinepenalty\@M\normalfont
2628 \ifnum \c@secnumdepth >-2\relax
2629 \huge\bfseries\prepartname\thepart\postpartname
2632 \Huge\bfseries#2\par}%
2638 % \begin{macro}{\@spart}
2639 % このマクロは、番号を付けないときの体裁です。
2640 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2641 % \cs{normalfont} (sync with classes.dtx v1.3c)}
2645 \parindent\z@\raggedright
2646 \interlinepenalty\@M\normalfont
2647 \huge\bfseries#1\par}%
2648 \nobreak\vskip3ex\@afterheading}
2651 % \changes{v1.1k}{1998/03/23}{reportとbookクラスで番号を付けない見出しの
2652 % ペナルティが\cs{M@}だったのを\cs{@M}に修正}
2657 \interlinepenalty\@M\normalfont
2658 \Huge\bfseries#1\par}%
2664 % \begin{macro}{\@endpart}
2665 % |\@part|と|\@spart|の最後で実行されるマクロです。
2666 % 両面印刷モードのときは、白ページを追加します。
2667 % 二段組モードのときには、これ以降のページを二段組に戻します。
2668 % 2016年12月から、|openany| のときに白ページを追加するのをやめました。
2669 % このバグは\LaTeX{}ではclasses.dtx v1.4b (2000/05/19)で修正されていました。
2670 % (参考:latex/3155、texjporg/jsclasses\#48)
2671 % \changes{v1.7c}{2016/12/18}{Only add empty page after part if
2672 % twoside and openright (sync with classes.dtx v1.4b)}
2675 \def\@endpart{\vfil\newpage
2677 \if@openright %% added (2016/12/18)
2678 \null\thispagestyle{empty}\newpage
2679 \fi %% added (2016/12/18)
2682 % 二段組文書のとき、スイッチを二段組モードに戻す必要があります。
2684 \if@tempswa\twocolumn\fi}
2689 % \subsubsection{chapterレベル}
2691 % \begin{macro}{chapter}
2692 % 章レベルは、必ずページの先頭から開始します。
2693 % |openright|オプションが指定されている場合は、右ページからはじまる
2694 % ように|\cleardoublepage|を呼び出します。
2695 % そうでなければ、|\clearpage|を呼び出します。
2696 % なお、縦組の場合でも右ページからはじまるように、
2697 % フォーマットファイルで|\clerdoublepage|が定義されています。
2699 % 章見出しが出力されるページのスタイルは、\pstyle{jpl@in}になります。
2700 % \pstyle{jpl@in}は、\pstyle{headnomble}か\pstyle{footnomble}のいずれかです。
2701 % 詳細は、第\ref{sec:pagestyle}節を参照してください。
2703 % また、|\@topnum|をゼロにして、
2704 % 章見出しの上にトップフロートが置かれないようにしています。
2707 \newcommand{\chapter}{%
2708 \if@openright\cleardoublepage\else\clearpage\fi
2709 \thispagestyle{jpl@in}%
2712 \secdef\@chapter\@schapter}
2716 % \begin{macro}{\@chapter}
2717 % このマクロは、章見出しに番号を付けるときに呼び出されます。
2718 % \Lcount{secnumdepth}が$-1$よりも大きく、
2719 % |\@mainmatter|が真(bookクラスの場合)のときに、番号を出力します。
2721 % \emph{日本語\TeX{}開発コミュニティによる補足}:本家\LaTeX{}の
2722 % \file{classes}では、二段組のときチャプタータイトルは一段組に戻され
2723 % ますが、アスキーによる\file{jclasses}では二段組のままにされています。
2724 % したがって、チャプタータイトルより高い位置に右カラムの始点が来るという
2725 % 挙動になっていますが、コミュニティ版でもアスキー版の挙動を維持しています。
2727 \def\@chapter[#1]#2{%
2728 \ifnum \c@secnumdepth >\m@ne
2729 %<book> \if@mainmatter
2730 \refstepcounter{chapter}%
2731 \typeout{\@chapapp\space\thechapter\space\@chappos}%
2732 \addcontentsline{toc}{chapter}%
2733 {\protect\numberline{\@chapapp\thechapter\@chappos}#1}%
2734 %<book> \else\addcontentsline{toc}{chapter}{#1}\fi
2736 \addcontentsline{toc}{chapter}{#1}%
2739 \addtocontents{lof}{\protect\addvspace{10\p@}}%
2740 \addtocontents{lot}{\protect\addvspace{10\p@}}%
2741 \@makechapterhead{#2}\@afterheading}
2745 % \begin{macro}{\@makechapterhead}
2746 % このマクロが実際に章見出しを組み立てます。
2747 % \changes{v1.1o}{1998/12/24}{secnumdepthカウンタを$-1$以下にすると、
2748 % 見出し文字列も消えてしまうのを修正}
2749 % \changes{v1.2}{2001/09/04}{\cs{chapter}の出力位置がアスタリスク形式と
2750 % そうでないときと違うのを修正(ありがとう、鈴木@津さん)}
2751 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2752 % \cs{normalfont} (sync with classes.dtx v1.3c)}
2754 \def\@makechapterhead#1{\hbox{}%
2758 \normalfont\huge\bfseries
2760 \ifnum \c@secnumdepth >\m@ne
2761 \setlength\@tempdima{\linewidth}%
2762 %<book> \if@mainmatter
2763 \setbox\z@\hbox{\@chapapp\thechapter\@chappos\hskip1\zw}%
2764 \addtolength\@tempdima{-\wd\z@}%
2767 \vtop{\hsize\@tempdima#1}%
2770 \fi}\nobreak\vskip3\Cvs}
2774 % \begin{macro}{\@schapter}
2775 % このマクロは、章見出しに番号を付けないときに呼び出されます。
2777 % \emph{日本語\TeX{}開発コミュニティによる補足}:やはり二段組でチャプター
2778 タイトルより高い位置に右カラムの始点が来るという挙動を維持してあります。
2779 % \changes{v1.7c}{2016/12/18}{奇妙なarticleガードとコードを削除して
2783 \@makeschapterhead{#1}\@afterheading
2788 % \begin{macro}{\@makeschapterhead}
2790 % \changes{v1.2}{2001/09/04}{\cs{chapter}の出力位置がアスタリスク形式と
2791 % そうでないときと違うのを修正(ありがとう、鈴木@津さん)}
2792 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2793 % \cs{normalfont} (sync with classes.dtx v1.3c)}
2795 \def\@makeschapterhead#1{\hbox{}%
2799 \normalfont\huge\bfseries
2801 \setlength\@tempdima{\linewidth}%
2802 \vtop{\hsize\@tempdima#1}}\vskip3\Cvs}
2807 % \subsubsection{下位レベルの見出し}
2809 % \begin{macro}{\section}
2810 % 見出しの前後に空白を付け、|\Large\bfseries|で出力をします。
2811 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2812 % \cs{normalfont} (sync with classes.dtx v1.3c)}
2814 \newcommand{\section}{\@startsection{section}{1}{\z@}%
2815 {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
2816 {.5\Cvs \@plus.3\Cvs}%
2817 {\normalfont\Large\bfseries}}
2821 % \begin{macro}{\subsection}
2822 % 見出しの前後に空白を付け、|\large\bfseries|で出力をします。
2823 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2824 % \cs{normalfont} (sync with classes.dtx v1.3c)}
2826 \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
2827 {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
2828 {.5\Cvs \@plus.3\Cvs}%
2829 {\normalfont\large\bfseries}}
2833 % \begin{macro}{\subsubsection}
2834 % 見出しの前後に空白を付け、|\normalsize\bfseries|で出力をします。
2835 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2836 % \cs{normalfont} (sync with classes.dtx v1.3c)}
2838 \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
2839 {1.5\Cvs \@plus.5\Cvs \@minus.2\Cvs}%
2840 {.5\Cvs \@plus.3\Cvs}%
2841 {\normalfont\normalsize\bfseries}}
2845 % \begin{macro}{\paragraph}
2846 % 見出しの前に空白を付け、|\normalsize\bfseries|で出力をします。
2848 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2849 % \cs{normalfont} (sync with classes.dtx v1.3c)}
2851 \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
2852 {3.25ex \@plus 1ex \@minus .2ex}%
2854 {\normalfont\normalsize\bfseries}}
2858 % \begin{macro}{\subparagraph}
2859 % 見出しの前に空白を付け、|\normalsize\bfseries|で出力をします。
2861 % \changes{v1.7a}{2016/11/16}{replace \cs{reset@font} with
2862 % \cs{normalfont} (sync with classes.dtx v1.3c)}
2864 \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
2865 {3.25ex \@plus 1ex \@minus .2ex}%
2867 {\normalfont\normalsize\bfseries}}
2872 % \subsubsection{付録}
2874 % \begin{macro}{\appendix}
2875 % articleクラスの場合、|\appendix|コマンドは次のことを行ないます。
2878 % \item \Lcount{section}と\Lcount{subsection}カウンタをリセットする。
2879 % \item |\thesection|を英小文字で出力するように再定義する。
2884 \newcommand{\appendix}{\par
2885 \setcounter{section}{0}%
2886 \setcounter{subsection}{0}%
2887 %<tate> \renewcommand{\thesection}{\rensuji{\@Alph\c@section}}}
2888 %<yoko> \renewcommand{\thesection}{\@Alph\c@section}}
2892 % reportとbookクラスの場合、|\appendix|コマンドは次のことを行ないます。
2895 % \item \Lcount{chapter}と\Lcount{section}カウンタをリセットする。
2896 % \item |\@chapapp|を|\appendixname|に設定する。
2897 % \item |\@chappos|を空にする。
2898 % \item |\thechapter|を英小文字で出力するように再定義する。
2903 \newcommand{\appendix}{\par
2904 \setcounter{chapter}{0}%
2905 \setcounter{section}{0}%
2906 \renewcommand{\@chapapp}{\appendixname}%
2907 \renewcommand{\@chappos}\space%
2908 %<tate> \renewcommand{\thechapter}{\rensuji{\@Alph\c@chapter}}}
2909 %<yoko> \renewcommand{\thechapter}{\@Alph\c@chapter}}
2916 % \subsection{リスト環境}
2917 % ここではリスト環境について説明をしています。
2919 % リスト環境のデフォルトは次のように設定されます。
2921 % まず、|\rigtmargin|, |\listparindent|, |\itemindent|をゼロにします。
2922 % そして、K番目のレベルのリストは|\@listK|で示されるマクロが呼び出されます。
2923 % ここで`K'は小文字のローマ数字で示されます。たとえば、3番目のレベルのリスト
2924 % として|\@listiii|が呼び出されます。
2925 % |\@listK|は|\leftmargin|を|\leftmarginK|に設定します。
2927 % \begin{macro}{\leftmargin}
2928 % \begin{macro}{\leftmargini}
2929 % \begin{macro}{\leftmarginii}
2930 % \begin{macro}{\leftmarginiii}
2931 % \begin{macro}{\leftmarginiv}
2932 % \begin{macro}{\leftmarginv}
2933 % \begin{macro}{\leftmarginvi}
2934 % 二段組モードのマージンは少しだけ小さく設定してあります。
2937 \setlength\leftmargini {2em}
2939 \setlength\leftmargini {2.5em}
2942 % 次の3つの値は、|\labelsep|とデフォルトラベル(`(m)', `vii.', `M.')の
2945 \setlength\leftmarginii {2.2em}
2946 \setlength\leftmarginiii {1.87em}
2947 \setlength\leftmarginiv {1.7em}
2949 \setlength\leftmarginv {.5em}
2950 \setlength\leftmarginvi{.5em}
2952 \setlength\leftmarginv {1em}
2953 \setlength\leftmarginvi{1em}
2964 % \begin{macro}{\labelsep}
2965 % \begin{macro}{\labelwidth}
2966 % |\labelsep|はラベルとテキストの項目の間の距離です。
2967 % |\labelwidth|はラベルの幅です。
2969 \setlength \labelsep {.5em}
2970 \setlength \labelwidth{\leftmargini}
2971 \addtolength\labelwidth{-\labelsep}
2976 % \begin{macro}{\@beginparpenalty}
2977 % \begin{macro}{\@endparpenalty}
2978 % これらのペナルティは、リストや段落環境の前後に挿入されます。
2979 % \begin{macro}{\@itempenalty}
2980 % このペナルティは、リスト項目の間に挿入されます。
2982 \@beginparpenalty -\@lowpenalty
2983 \@endparpenalty -\@lowpenalty
2984 \@itempenalty -\@lowpenalty
2985 %</article|report|book>
2991 % \begin{macro}{\partopsep}
2992 % リスト環境の前に空行がある場合、|\parskip|と|\topsep|に|\partopsep|が
2993 % 加えられた値の縦方向の空白が取られます。
2995 %<10pt>\setlength\partopsep{2\p@ \@plus 1\p@ \@minus 1\p@}
2996 %<11pt>\setlength\partopsep{3\p@ \@plus 1\p@ \@minus 1\p@}
2997 %<12pt>\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@}
3001 % \begin{macro}{\@listi}
3002 % \begin{macro}{\@listI}
3003 % |\@listi|は、|\leftmargin|, |\parsep|, |\topsep|, |\itemsep|などの
3005 % この定義は、フォントサイズコマンドによって変更されます(たとえば、
3006 % |\small|の中では``小さい''リストパラメータになります)。
3008 % このため、|\normalsize|がすべてのパラメータを戻せるように、
3009 % |\@listI|は|\@listi|のコピーを保存するように定義されています。
3012 \def\@listi{\leftmargin\leftmargini
3014 \parsep 4\p@ \@plus2\p@ \@minus\p@
3015 \topsep 8\p@ \@plus2\p@ \@minus4\p@
3016 \itemsep4\p@ \@plus2\p@ \@minus\p@}
3019 \parsep 4.5\p@ \@plus2\p@ \@minus\p@
3020 \topsep 9\p@ \@plus3\p@ \@minus5\p@
3021 \itemsep4.5\p@ \@plus2\p@ \@minus\p@}
3024 \parsep 5\p@ \@plus2.5\p@ \@minus\p@
3025 \topsep 10\p@ \@plus4\p@ \@minus6\p@
3026 \itemsep5\p@ \@plus2.5\p@ \@minus\p@}
3030 % ここで、パラメータを初期化しますが、厳密には必要ありません。
3037 % \begin{macro}{\@listii}
3038 % \begin{macro}{\@listiii}
3039 % \begin{macro}{\@listiv}
3040 % \begin{macro}{\@listv}
3041 % \begin{macro}{\@listvi}
3042 % 下位レベルのリスト環境のパラメータの設定です。
3043 % これらは保存用のバージョンを持たないことと、
3044 % フォントサイズコマンドによって変更されないことに注意をしてください。
3045 % 言い換えれば、このクラスは、本文サイズが
3046 % |\normalsize|で現れるリストの入れ子についてだけ考えています。
3048 \def\@listii{\leftmargin\leftmarginii
3049 \labelwidth\leftmarginii \advance\labelwidth-\labelsep
3051 \topsep 4\p@ \@plus2\p@ \@minus\p@
3052 \parsep 2\p@ \@plus\p@ \@minus\p@
3055 \topsep 4.5\p@ \@plus2\p@ \@minus\p@
3056 \parsep 2\p@ \@plus\p@ \@minus\p@
3059 \topsep 5\p@ \@plus2.5\p@ \@minus\p@
3060 \parsep 2.5\p@ \@plus\p@ \@minus\p@
3063 \def\@listiii{\leftmargin\leftmarginiii
3064 \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
3065 %<10pt> \topsep 2\p@ \@plus\p@\@minus\p@
3066 %<11pt> \topsep 2\p@ \@plus\p@\@minus\p@
3067 %<12pt> \topsep 2.5\p@\@plus\p@\@minus\p@
3069 \partopsep \p@ \@plus\z@ \@minus\p@
3071 \def\@listiv {\leftmargin\leftmarginiv
3072 \labelwidth\leftmarginiv
3073 \advance\labelwidth-\labelsep}
3074 \def\@listv {\leftmargin\leftmarginv
3075 \labelwidth\leftmarginv
3076 \advance\labelwidth-\labelsep}
3077 \def\@listvi {\leftmargin\leftmarginvi
3078 \labelwidth\leftmarginvi
3079 \advance\labelwidth-\labelsep}
3089 % \subsubsection{enumerate環境}
3090 % enumerate環境は、カウンタ\Lcount{enumi}, \Lcount{enumii}, \Lcount{enumiii},
3091 % \Lcount{enumiv}を使います。\Lcount{enumN}はN番目のレベルの番号を制御します。
3093 % \begin{macro}{\theenumi}
3094 % \begin{macro}{\theenumii}
3095 % \begin{macro}{\theenumiii}
3096 % \begin{macro}{\theenumiv}
3098 % これらは、すでに\file{ltlists.dtx}で定義されています。
3100 %<*article|report|book>
3102 \renewcommand{\theenumi}{\rensuji{\@arabic\c@enumi}}
3103 \renewcommand{\theenumii}{\rensuji{(\@alph\c@enumii)}}
3104 \renewcommand{\theenumiii}{\rensuji{\@roman\c@enumiii}}
3105 \renewcommand{\theenumiv}{\rensuji{\@Alph\c@enumiv}}
3108 \renewcommand{\theenumi}{\@arabic\c@enumi}
3109 \renewcommand{\theenumii}{\@alph\c@enumii}
3110 \renewcommand{\theenumiii}{\@roman\c@enumiii}
3111 \renewcommand{\theenumiv}{\@Alph\c@enumiv}
3119 % \begin{macro}{\labelenumi}
3120 % \begin{macro}{\labelenumii}
3121 % \begin{macro}{\labelenumiii}
3122 % \begin{macro}{\labelenumiv}
3123 % enumerate環境のそれぞれの項目のラベルは、
3124 % |\labelenumi| \ldots\ |\labelenumiv|で生成されます。
3127 \newcommand{\labelenumi}{\theenumi}
3128 \newcommand{\labelenumii}{\theenumii}
3129 \newcommand{\labelenumiii}{\theenumiii}
3130 \newcommand{\labelenumiv}{\theenumiv}
3133 \newcommand{\labelenumi}{\theenumi.}
3134 \newcommand{\labelenumii}{(\theenumii)}
3135 \newcommand{\labelenumiii}{\theenumiii.}
3136 \newcommand{\labelenumiv}{\theenumiv.}
3144 % \begin{macro}{\p@enumii}
3145 % \begin{macro}{\p@enumiii}
3146 % \begin{macro}{\p@enumiv}
3148 % enumerate環境のN番目のリスト項目が参照されるときの書式です。
3150 \renewcommand{\p@enumii}{\theenumi}
3151 \renewcommand{\p@enumiii}{\theenumi(\theenumii)}
3152 \renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
3158 % \begin{environment}{enumerate}
3159 % \changes{v1.1q}{1999/05/18}{縦組時のみに設定するようにした}
3160 % トップレベルで使われたときに、最初と最後に半行分のスペースを開けるように、
3161 % 変更します。この環境は、\file{ltlists.dtx}で定義されています。
3162 % \changes{v1.7a}{2016/11/16}{Use \cs{expandafter}
3163 % (sync with ltlists.dtx v1.0j)}
3166 \renewenvironment{enumerate}
3167 {\ifnum \@enumdepth >\thr@@\@toodeep\else
3168 \advance\@enumdepth\@ne
3169 \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
3170 \expandafter \list \csname label\@enumctr\endcsname{%
3171 \ifnum\ltjgetparameter{direction}=3
3172 \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
3174 \parskip\z@ \itemsep\z@ \parsep\z@
3175 \labelwidth1\zw \labelsep.3\zw
3176 \ifnum \@enumdepth=\@ne \leftmargin1\zw\relax
3177 \else\leftmargin\leftskip\fi
3178 \advance\leftmargin 1\zw
3180 \usecounter{\@enumctr}%
3181 \def\makelabel##1{\hss\llap{##1}}}%
3187 % \subsubsection{itemize環境}
3189 % \begin{macro}{\labelitemi}
3190 % \begin{macro}{\labelitemii}
3191 % \begin{macro}{\labelitemiii}
3192 % \begin{macro}{\labelitemiv}
3193 % itemize環境のそれぞれの項目のラベルは、
3194 % |\labelenumi| \ldots\ |\labelenumiv|で生成されます。
3195 % \changes{v1.1a}{1997/01/28}{Bug fix: \cs{labelitemii}.}
3197 \newcommand{\labelitemi}{\textbullet}
3198 \newcommand{\labelitemii}{%
3199 \ifnum\ltjgetparameter{direction}=3
3202 {\normalfont\bfseries\textendash}
3205 \newcommand{\labelitemiii}{\textasteriskcentered}
3206 \newcommand{\labelitemiv}{\textperiodcentered}
3213 % \begin{environment}{itemize}
3214 % \changes{v1.0e}{1996/03/14}{縦組時のみに設定するようにした}
3215 % トップレベルで使われたときに、最初と最後に半行分のスペースを開けるように、
3216 % 変更します。この環境は、\file{ltlists.dtx}で定義されています。
3217 % \changes{v1.7a}{2016/11/16}{Use \cs{expandafter}
3218 % (sync with ltlists.dtx v1.0j)}
3220 \renewenvironment{itemize}
3221 {\ifnum \@itemdepth >\thr@@\@toodeep\else
3222 \advance\@itemdepth\@ne
3223 \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
3224 \expandafter \list \csname \@itemitem\endcsname{%
3225 \ifnum\ltjgetparameter{direction}=3
3226 \ifnum \@listdepth=\@ne \topsep.5\normalbaselineskip
3228 \parskip\z@ \itemsep\z@ \parsep\z@
3229 \labelwidth1\zw \labelsep.3\zw
3230 \ifnum \@itemdepth =\@ne \leftmargin1\zw\relax
3231 \else\leftmargin\leftskip\fi
3232 \advance\leftmargin 1\zw
3234 \def\makelabel##1{\hss\llap{##1}}}%
3240 % \subsubsection{description環境}
3242 % \begin{environment}{description}
3243 % \changes{v1.0e}{1996/03/14}{\cs{topskip}や\cs{parkip}などの値を縦組時のみに
3245 % description環境を定義します。
3246 % 縦組時には、インデントが3字分だけ深くなります。
3248 \newenvironment{description}
3249 {\list{}{\labelwidth\z@ \itemindent-\leftmargin
3250 \ifnum\ltjgetparameter{direction}=3
3251 \leftmargin\leftskip \advance\leftmargin3\Cwd
3252 \rightmargin\rightskip
3253 \labelsep=1\zw \itemsep\z@
3254 \listparindent\z@ \topskip\z@ \parskip\z@ \partopsep\z@
3256 \let\makelabel\descriptionlabel}}{\endlist}
3260 % \begin{macro}{\descriptionlabel}
3261 % ラベルの形式を変更する必要がある場合は、|\descriptionlabel|を
3264 \newcommand{\descriptionlabel}[1]{%
3265 \hspace\labelsep\normalfont\bfseries #1}
3270 % \subsubsection{verse環境}
3272 % \begin{environment}{verse}
3273 % verse環境は、リスト環境のパラメータを使って定義されています。
3274 % 改行をするには|\\|を用います。|\\|は|\@centercr|に|\let|されています。
3276 \newenvironment{verse}
3278 \list{}{\itemsep\z@ \itemindent -1.5em%
3279 \listparindent\itemindent
3280 \rightmargin\leftmargin \advance\leftmargin 1.5em}%
3281 \item\relax}{\endlist}
3285 % \subsubsection{quotation環境}
3287 % \begin{environment}{quotation}
3288 % quotation環境もまた、list環境のパラメータを使用して定義されています。
3289 % この環境の各行は、|\textwidth|よりも小さく設定されています。
3290 % この環境における、段落の最初の行はインデントされます。
3292 \newenvironment{quotation}
3293 {\list{}{\listparindent 1.5em%
3294 \itemindent\listparindent
3295 \rightmargin\leftmargin
3296 \parsep\z@ \@plus\p@}%
3297 \item\relax}{\endlist}
3301 % \subsubsection{quote環境}
3303 % \begin{environment}{quote}
3304 % quote環境は、段落がインデントされないことを除き、quotation環境と同じです。
3306 \newenvironment{quote}
3307 {\list{}{\rightmargin\leftmargin}%
3308 \item\relax}{\endlist}
3316 % \file{ltfloat.dtx}では、フロートオブジェクトを操作するためのツールしか
3317 % 定義していません。タイプが\texttt{TYPE}のフロートオブジェクトを
3318 % 扱うマクロを定義するには、次の変数が必要です。
3320 % \begin{description}
3321 % \item[\texttt{\bslash fps@TYPE}]
3322 % タイプ\texttt{TYPE}のフロートを置くデフォルトの位置です。
3324 % \item[\texttt{\bslash ftype@TYPE}]
3325 % タイプ\texttt{TYPE}のフロートの番号です。
3326 % 各\texttt{TYPE}には、一意な、2の倍数の\texttt{TYPE}番号を割り当てます。
3327 % たとえば、図が番号1ならば、表は2です。次のタイプは4となります。
3329 % \item[\texttt{\bslash ext@TYPE}]
3330 % タイプ\texttt{TYPE}のフロートの目次を出力するファイルの拡張子です。
3331 % たとえば、|\ext@figure|は`lot'です。
3333 % \item[\texttt{\bslash fnum@TYPE}]
3334 % キャプション用の図番号を生成するマクロです。
3335 % たとえば、|\fnum@figure|は`図|\thefigure|'を作ります。
3338 % \subsubsection{figure環境}
3339 % ここでは、figure環境を実装しています。
3341 % \begin{macro}{\c@figure}
3342 % \begin{macro}{\thefigure}
3345 %<article>\newcounter{figure}
3346 %<report|book>\newcounter{figure}[chapter]
3348 %<article>\renewcommand{\thefigure}{\rensuji{\@arabic\c@figure}}
3350 % \changes{v1.1d}{1997/02/14}{\cs{ifnum}文の構文エラーを訂正。}
3353 \renewcommand{\thefigure}{%
3354 \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@figure}}
3358 %<article>\renewcommand{\thefigure}{\@arabic\c@figure}
3360 \renewcommand{\thefigure}{%
3361 \ifnum\c@chapter>\z@\thechapter.\fi\@arabic\c@figure}
3368 % \begin{macro}{\fps@figure}
3369 % \begin{macro}{\ftype@figure}
3370 % \begin{macro}{\ext@figure}
3371 % \begin{macro}{\fnum@figure}
3372 % フロートオブジェクトタイプ``figure''のためのパラメータです。
3374 \def\fps@figure{tbp}
3375 \def\ftype@figure{1}
3376 \def\ext@figure{lof}
3377 %<tate>\def\fnum@figure{\figurename\thefigure}
3378 %<yoko>\def\fnum@figure{\figurename~\thefigure}
3385 % \begin{environment}{figure}
3386 % \begin{environment}{figure*}
3387 % |*|形式は2段抜きのフロートとなります。
3389 \newenvironment{figure}
3392 \newenvironment{figure*}
3393 {\@dblfloat{figure}}
3399 % \subsubsection{table環境}
3400 % ここでは、table環境を実装しています。
3402 % \begin{macro}{\c@table}
3403 % \begin{macro}{\thetable}
3404 % \changes{v1.1n}{1998/10/13}
3405 % {report, bookクラスでchapterカウンタを考慮していなかったのを修正。
3409 %<article>\newcounter{table}
3410 %<report|book>\newcounter{table}[chapter]
3412 %<article>\renewcommand{\thetable}{\rensuji{\@arabic\c@table}}
3414 \renewcommand{\thetable}{%
3415 \ifnum\c@chapter>\z@\thechapter{}・\fi\rensuji{\@arabic\c@table}}
3419 %<article>\renewcommand{\thetable}{\@arabic\c@table}
3421 \renewcommand{\thetable}{%
3422 \ifnum\c@chapter>\z@\thechapter.\fi\@arabic\c@table}
3429 % \begin{macro}{\fps@table}
3430 % \begin{macro}{\ftype@table}
3431 % \begin{macro}{\ext@table}
3432 % \begin{macro}{\fnum@table}
3433 % フロートオブジェクトタイプ``table''のためのパラメータです。
3438 %<tate>\def\fnum@table{\tablename\thetable}
3439 %<yoko>\def\fnum@table{\tablename~\thetable}
3446 % \begin{environment}{table}
3447 % \begin{environment}{table*}
3448 % |*|形式は2段抜きのフロートとなります。
3450 \newenvironment{table}
3453 \newenvironment{table*}
3460 % \subsection{キャプション}
3462 % \begin{macro}{\@makecaption}
3463 % |\caption|コマンドは、キャプションを組み立てるために|\@mkcaption|を呼出ます。
3464 % このコマンドは二つの引数を取ります。
3465 % 一つは、\meta{number}で、フロートオブジェクトの番号です。
3466 % もう一つは、\meta{text}でキャプション文字列です。
3467 % \meta{number}には通常、`図 3.2'のような文字列が入っています。
3468 % このマクロは、|\parbox|の中で呼び出されます。書体は|\normalsize|です。
3470 % \begin{macro}{\abovecaptionskip}
3471 % \begin{macro}{\belowcaptionskip}
3472 % これらの長さはキャプションの前後に挿入されるスペースです。
3474 \newlength\abovecaptionskip
3475 \newlength\belowcaptionskip
3476 \setlength\abovecaptionskip{10\p@}
3477 \setlength\belowcaptionskip{0\p@}
3482 % キャプション内で複数の段落を作成することができるように、
3483 % このマクロは|\long|で定義をします。
3485 \long\def\@makecaption#1#2{%
3486 \vskip\abovecaptionskip
3487 \ifnum\ltjgetparameter{direction}=3 \sbox\@tempboxa{#1\hskip1\zw#2}%
3488 \else\sbox\@tempboxa{#1: #2}%
3490 \ifdim \wd\@tempboxa >\hsize
3491 \ifnum\ltjgetparameter{direction}=3 #1\hskip1\zw#2\relax\par
3492 \else #1: #2\relax\par\fi
3494 \global \@minipagefalse
3495 \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
3497 \vskip\belowcaptionskip}
3501 % \subsection{コマンドパラメータの設定}
3503 % \subsubsection{arrayとtabular環境}
3505 % \begin{macro}{\arraycolsep}
3506 % array環境のカラムは2|\arraycolsep|で分離されます。
3508 \setlength\arraycolsep{5\p@}
3512 % \begin{macro}{\tabcolsep}
3513 % tabular環境のカラムは2|\tabcolsep|で分離されます。
3515 \setlength\tabcolsep{6\p@}
3519 % \begin{macro}{\arrayrulewidth}
3520 % arrayとtabular環境内の罫線の幅です。
3522 \setlength\arrayrulewidth{.4\p@}
3526 % \begin{macro}{\doublerulesep}
3527 % arrayとtabular環境内の罫線間を調整する空白です。
3529 \setlength\doublerulesep{2\p@}
3533 % \subsubsection{tabbing環境}
3535 % \begin{macro}{\tabbingsep}
3536 % |\'|コマンドで置かれるスペースを制御します。
3538 \setlength\tabbingsep{\labelsep}
3542 % \subsubsection{minipage環境}
3544 % \begin{macro}{\@mpfootins}
3545 % minipageにも脚注を付けることができます。
3546 % |\skip||\@mpfootins|は、通常の|\skip||\footins|と同じような動作をします。
3548 \skip\@mpfootins = \skip\footins
3552 % \subsubsection{framebox環境}
3554 % \begin{macro}{\fboxsep}
3555 % \begin{macro}{\fboxrule}
3556 % |\fboxsep|は、|\fbox|と|\framebox|での、
3557 % テキストとボックスの間に入る空白です。
3558 % |\fboxrule|は|\fbox|と|\framebox|で作成される罫線の幅です。
3560 \setlength\fboxsep{3\p@}
3561 \setlength\fboxrule{.4\p@}
3566 % \subsubsection{equationとeqnarray環境}
3568 % \begin{macro}{\theequation}
3569 % equationカウンタは、新しい章の開始でリセットされます。
3570 % また、equation番号には、章番号が付きます。
3572 % このコードは|\chapter|定義の後、より正確にはchapterカウンタの定義の後、
3575 %<article>\renewcommand{\theequation}{\@arabic\c@equation}
3577 \@addtoreset{equation}{chapter}
3578 \renewcommand{\theequation}{%
3579 \ifnum\c@chapter>\z@\thechapter.\fi \@arabic\c@equation}
3585 % \section{フォントコマンド}
3586 % まず、数式内に日本語を直接、記述するために数式記号用文字に
3587 % ``JY3/mc/m/n''を登録します。数式バージョンがboldの場合は、
3588 % ``JY3/gt/m/n''を用います。
3589 % これらは、|\mathmc|, |\mathgt|として登録されます。
3590 % また、日本語数式ファミリとして|\symmincho|がこの段階で設定されます。
3591 % |mathrmmc|オプションが指定されていた場合には、これに引き続き
3592 % |\mathrm|と|\mathbf|を和欧文両対応にするための作業がなされます。この際、
3593 % 他のマクロとの衝突を避けるため|\AtBeginDocument|
3594 % を用いて展開順序を遅らせる必要があります。
3598 % \changes{v1.6}{2006/06/27}{フォントコマンドを修正。ありがとう、ymtさん。}
3600 % compatibility mode では和文数式フォントfamが2重定義されていた
3603 \if@compatibility\else
3604 \DeclareSymbolFont{mincho}{JY3}{mc}{m}{n}
3605 \DeclareSymbolFontAlphabet{\mathmc}{mincho}
3606 \SetSymbolFont{mincho}{bold}{JY3}{gt}{m}{n}
3608 \DeclareMathAlphabet{\mathgt}{JY3}{gt}{m}{n}
3612 \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}
3613 \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}
3618 % ここでは\LaTeX~2.09で一般的に使われていたコマンドを定義しています。
3619 % これらのコマンドはテキストモードと数式モードの\emph{どちらでも}動作します。
3620 % これらは互換性のために提供をしますが、できるだけ|\text...|と|\math...|を
3623 % \begin{macro}{\mc}
3624 % \begin{macro}{\gt}
3625 % \begin{macro}{\rm}
3626 % \begin{macro}{\sf}
3627 % \begin{macro}{\tt}
3628 % これらのコマンドはフォントファミリを変更します。
3629 % 互換モードの同名コマンドと異なり、すべてのコマンドがデフォルトフォントに
3630 % リセットしてから、対応する属性を変更することに注意してください。
3632 \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
3633 \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
3634 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
3635 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
3636 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
3644 % \begin{macro}{\bf}
3645 % このコマンドはボールド書体にします。ノーマル書体に変更するには、
3646 % |\mdseries|と指定をします。
3648 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
3652 % \begin{macro}{\it}
3653 % \begin{macro}{\sl}
3654 % \begin{macro}{\sc}
3655 % これらのコマンドはフォントシェイプを切替えます。
3656 % スラント体とスモールキャップの数式アルファベットはありませんので、
3657 % 数式モードでは何もしませんが、警告メッセージを出力します。
3658 % |\upshape|コマンドで通常のシェイプにすることができます。
3660 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
3661 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
3662 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
3668 % \begin{macro}{\cal}
3669 % \begin{macro}{\mit}
3670 % これらのコマンドは数式モードでだけ使うことができます。
3672 % 現在のNFSSは、これらのコマンドが警告を生成するように定義していますので、
3673 % `手ずから'定義する必要があります。
3675 \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
3676 \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
3686 % |\section|コマンドは、\file{.toc}ファイルに、次のような行を出力します。
3688 % |\contentsline{section}{|\meta{title}|}{|\meta{page}|}|
3690 % \meta{title}には項目が、\meta{page}にはページ番号が入ります。
3691 % |\section|に見出し番号が付く場合は、\meta{title}は、
3692 % |\numberline{|\meta{num}|}{|\meta{heading}|}|となります。
3693 % \meta{num}は|\thesection|コマンドで生成された見出し番号です。
3694 % \meta{heading}は見出し文字列です。この他の見出しコマンドも同様です。
3696 % figure環境での|\caption|コマンドは、\file{.lof}ファイルに、
3699 % |\contentsline{figure}{\numberline{|\meta{num}|}{|%
3700 % \meta{caption}|}}{|\meta{page}|}|
3702 % \meta{num}は、|\thefigure|コマンドで生成された図番号です。
3703 % \meta{caption}は、キャプション文字列です。table環境も同様です。
3705 % |\contentsline{|\meta{name}|}|コマンドは、|\l@|\meta{name}に展開されます。
3706 % したがって、目次の体裁を記述するには、|\l@chapter|, |\l@section|などを
3707 % 定義します。図目次のためには|\l@figure|です。
3708 % これらの多くのコマンドは|\@dottedtocline|コマンドで定義されています。
3709 % このコマンドは次のような書式となっています。
3711 % |\@dottedtocline{|\meta{level}|}{|\meta{indent}|}{|^^A
3712 % \meta{numwidth}|}{|\meta{title}|}{|\meta{page}|}|
3714 % \begin{description}
3715 % \item[\meta{level}] ``\meta{level} $<=$ \Lcount{tocdepth}''のときにだけ、
3716 % 生成されます。|\chapter|はレベル0、|\section|はレベル1、$\ldots$ です。
3717 % \item[\meta{indent}] 一番外側からの左マージンです。
3718 % \item[\meta{numwidth}] 見出し番号(|\numberline|コマンドの\meta{num})が
3722 % \begin{macro}{\c@tocdepth}
3723 % \Lcount{tocdepth}は、目次ページに出力をする見出しレベルです。
3725 %<article>\setcounter{tocdepth}{3}
3726 %<!article>\setcounter{tocdepth}{2}
3730 % また、目次を生成するために次のパラメータも使います。
3732 % \begin{macro}{\@pnumwidth}
3735 \newcommand{\@pnumwidth}{1.55em}
3739 % \begin{macro}{\@tocmarg}
3740 % 複数行にわたる場合の右マージンです。
3742 \newcommand{\@tocrmarg}{2.55em}
3746 % \begin{macro}{\@dotsep}
3747 % ドットの間隔(mu単位)です。2や1.7のように指定をします。
3749 \newcommand{\@dotsep}{4.5}
3753 % \begin{macro}{\toclineskip}
3754 % この長さ変数は、目次項目の間に入るスペースの長さです。
3755 % デフォルトはゼロとなっています。縦組のとき、スペースを少し広げます。
3757 \newdimen\toclineskip
3758 %<yoko>\setlength\toclineskip{\z@}
3759 %<tate>\setlength\toclineskip{2\p@}
3763 % \begin{macro}{\numberline}
3764 % \begin{macro}{\@lnumwidth}
3765 % |\numberline|マクロの定義を示します。オリジナルの定義では、ボックスの幅を
3766 % |\@tempdima|にしていますが、この変数はいろいろな箇所で使われますので、
3767 % 期待した値が入らない場合があります。
3769 % たとえば、|lltjfont.sty|での|\selectfont|は、和欧文のベースラインを調整する
3770 % ために|\@tempdima|変数を用いています。そのため、|\l@...|マクロの中で
3771 % フォントを切替えると、|\numberline|マクロのボックス
3772 % の幅が、ベースラインを調整するときに計算した値になってしまいます。
3774 % フォント選択コマンドの後、あるいは|\numberline|マクロの中でフォントを
3775 % 切替えてもよいのですが、一時変数を意識したくないので、
3776 % 見出し番号の入るボックスを|\@lnumwidth|変数を用いて組み立てるように
3777 % |\numberline|マクロを再定義します。
3779 \newdimen\@lnumwidth
3780 \def\numberline#1{\hb@xt@\@lnumwidth{#1\hfil}}
3785 % \begin{macro}{\@dottedtocline}
3786 % 目次の各行間に|\toclineskip|を入れるように変更します。
3787 % このマクロは\file{ltsect.dtx}で定義されています。
3788 % \changes{v1.3}{2001/10/04}{第5引数の書体を\cs{rmfamily}から\cs{normalfont}に変更}
3789 % \changes{v1.7a}{2016/11/16}{Added \cs{nobreak} for
3790 % latex/2343 (sync with ltsect.dtx v1.0z)}
3792 \def\@dottedtocline#1#2#3#4#5{%
3793 \ifnum #1>\c@tocdepth \else
3794 \vskip\toclineskip \@plus.2\p@
3795 {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
3796 \parindent #2\relax\@afterindenttrue
3797 \interlinepenalty\@M
3799 \@lnumwidth #3\relax
3800 \advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip
3802 \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep mu$}%
3804 \hb@xt@\@pnumwidth{\hss\normalfont \normalcolor #5}%
3810 % \begin{macro}{\addcontentsline}
3811 % ページ番号を|\rensuji|で囲むように変更します。
3812 % 横組のときにも`|\rensuji|'コマンドが出力されますが、
3813 % このコマンドによる影響はありません。
3815 % このマクロは\file{ltsect.dtx}で定義されています。
3817 \def\addcontentsline#1#2#3{%
3818 \protected@write\@auxout
3819 {\let\label\@gobble \let\index\@gobble \let\glossary\@gobble
3820 %<tate>\@temptokena{\rensuji{\thepage}}}%
3821 %<yoko>\@temptokena{\thepage}}%
3822 {\string\@writefile{#1}%
3823 {\protect\contentsline{#2}{#3}{\the\@temptokena}}}%
3829 % \subsubsection{本文目次}
3831 % \begin{macro}{\tableofcontents}
3834 \newcommand{\tableofcontents}{%
3836 \if@twocolumn\@restonecoltrue\onecolumn
3837 \else\@restonecolfalse\fi
3839 %<article> \section*{\contentsname
3840 %<!article> \chapter*{\contentsname
3842 % |\tableofcontents|では、|\@mkboth|はheadingの中に入れてあります。
3843 % ほかの命令(|\listoffigures|など)については、|\@mkboth|はheadingの
3844 % 外に出してあります。これは\LaTeX の\file{classes.dtx}に合わせています。
3846 \@mkboth{\contentsname}{\contentsname}%
3848 %<report|book> \if@restonecol\twocolumn\fi
3853 % \begin{macro}{\l@part}
3856 \newcommand*{\l@part}[2]{%
3857 \ifnum \c@tocdepth >-2\relax
3858 %<article> \addpenalty{\@secpenalty}%
3859 %<!article> \addpenalty{-\@highpenalty}%
3860 \addvspace{2.25em \@plus\p@}%
3862 \parindent\z@\rightskip\@pnumwidth
3863 \parfillskip-\@pnumwidth
3864 {\leavevmode\large\bfseries
3865 \setlength\@lnumwidth{4\zw}%
3867 \hb@xt@\@pnumwidth{\hss#2}}\par
3869 %<article> \if@compatibility
3870 \global\@nobreaktrue
3871 \everypar{\global\@nobreakfalse\everypar{}}%
3878 % \begin{macro}{\l@chapter}
3882 \newcommand*{\l@chapter}[2]{%
3883 \ifnum \c@tocdepth >\m@ne
3884 \addpenalty{-\@highpenalty}%
3885 \addvspace{1.0em \@plus\p@}%
3887 \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip
3888 \leavevmode\bfseries
3889 \setlength\@lnumwidth{4\zw}%
3890 \advance\leftskip\@lnumwidth \hskip-\leftskip
3891 #1\nobreak\hfil\nobreak\hb@xt@\@pnumwidth{\hss#2}\par
3892 \penalty\@highpenalty
3899 % \begin{macro}{\l@section}
3903 \newcommand*{\l@section}[2]{%
3904 \ifnum \c@tocdepth >\z@
3905 \addpenalty{\@secpenalty}%
3906 \addvspace{1.0em \@plus\p@}%
3908 \parindent\z@ \rightskip\@pnumwidth \parfillskip-\rightskip
3909 \leavevmode\bfseries
3910 \setlength\@lnumwidth{1.5em}%
3911 \advance\leftskip\@lnumwidth \hskip-\leftskip
3912 #1\nobreak\hfil\nobreak\hb@xt@\@pnumwidth{\hss#2}\par
3920 %<tate>\newcommand*{\l@section}{\@dottedtocline{1}{1\zw}{4\zw}}
3921 %<yoko>\newcommand*{\l@section}{\@dottedtocline{1}{1.5em}{2.3em}}
3926 % \begin{macro}{\l@subsection}
3927 % \begin{macro}{\l@subsubsection}
3928 % \begin{macro}{\l@paragraph}
3929 % \begin{macro}{\l@subparagraph}
3934 \newcommand*{\l@subsection} {\@dottedtocline{2}{1\zw}{4\zw}}
3935 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{2\zw}{6\zw}}
3936 \newcommand*{\l@paragraph} {\@dottedtocline{4}{3\zw}{8\zw}}
3937 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{4\zw}{9\zw}}
3940 \newcommand*{\l@subsection} {\@dottedtocline{2}{2\zw}{6\zw}}
3941 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{3\zw}{8\zw}}
3942 \newcommand*{\l@paragraph} {\@dottedtocline{4}{4\zw}{9\zw}}
3943 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{5\zw}{10\zw}}
3948 \newcommand*{\l@subsection} {\@dottedtocline{2}{1.5em}{2.3em}}
3949 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{3.8em}{3.2em}}
3950 \newcommand*{\l@paragraph} {\@dottedtocline{4}{7.0em}{4.1em}}
3951 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{10em}{5em}}
3954 \newcommand*{\l@subsection} {\@dottedtocline{2}{3.8em}{3.2em}}
3955 \newcommand*{\l@subsubsection}{\@dottedtocline{3}{7.0em}{4.1em}}
3956 \newcommand*{\l@paragraph} {\@dottedtocline{4}{10em}{5em}}
3957 \newcommand*{\l@subparagraph} {\@dottedtocline{5}{12em}{6em}}
3967 % \subsubsection{図目次と表目次}
3969 % \begin{macro}{\listoffigures}
3971 % \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
3972 % arg (sync with classes.dtx v1.4c)}
3974 \newcommand{\listoffigures}{%
3976 \if@twocolumn\@restonecoltrue\onecolumn
3977 \else\@restonecolfalse\fi
3978 \chapter*{\listfigurename}%
3980 %<article> \section*{\listfigurename}%
3981 \@mkboth{\listfigurename}{\listfigurename}%
3983 %<report|book> \if@restonecol\twocolumn\fi
3988 % \begin{macro}{\l@figure}
3991 %<tate>\newcommand*{\l@figure}{\@dottedtocline{1}{1\zw}{4\zw}}
3992 %<yoko>\newcommand*{\l@figure}{\@dottedtocline{1}{1.5em}{2.3em}}
3996 % \begin{macro}{\listoftables}
3997 % \changes{v1.0c}{1995/12/28}{fix the \cs{listoftable} typo.}
3999 % \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
4000 % arg (sync with classes.dtx v1.4c)}
4002 \newcommand{\listoftables}{%
4004 \if@twocolumn\@restonecoltrue\onecolumn
4005 \else\@restonecolfalse\fi
4006 \chapter*{\listtablename}%
4008 %<article> \section*{\listtablename}%
4009 \@mkboth{\listtablename}{\listtablename}%
4011 %<report|book> \if@restonecol\twocolumn\fi
4016 % \begin{macro}{\l@table}
4017 % 表目次の体裁は、図目次と同じにします。
4019 \let\l@table\l@figure
4026 % \begin{macro}{\bibindent}
4027 % オープンスタイルの参考文献で使うインデント幅です。
4030 \setlength\bibindent{1.5em}
4034 % \begin{macro}{\newblock}
4035 % |\newblock|のデフォルト定義は、小さなスペースを生成します。
4037 \newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
4041 % \begin{environment}{thebibliography}
4042 % 参考文献や関連図書のリストを作成します。
4043 % \changes{v1.7}{2016/11/12}{Moved \cs{@mkboth} out of heading
4044 % arg (sync with classes.dtx v1.4c)}
4046 \newenvironment{thebibliography}[1]
4047 %<article>{\section*{\refname}\@mkboth{\refname}{\refname}%
4048 %<report|book>{\chapter*{\bibname}\@mkboth{\bibname}{\bibname}%
4049 \list{\@biblabel{\@arabic\c@enumiv}}%
4050 {\settowidth\labelwidth{\@biblabel{#1}}%
4051 \leftmargin\labelwidth
4052 \advance\leftmargin\labelsep
4054 \usecounter{enumiv}%
4055 \let\p@enumiv\@empty
4056 \renewcommand\theenumiv{\@arabic\c@enumiv}}%
4059 % \changes{v1.1a}{1997/01/23}{\LaTeX\ \texttt{!<1996/12/01!>}に合わせて修正}
4062 \@clubpenalty\clubpenalty
4066 {\@latex@warning{Empty `thebibliography' environment}}%
4071 % \begin{macro}{\@openbib@code}
4072 % |\@openbib@code|のデフォルト定義は何もしません。
4073 % この定義は、\Lopt{openbib}オプションによって変更されます。
4075 \let\@openbib@code\@empty
4079 % \begin{macro}{\@biblabel}
4080 % The label for a |\bibitem[...]| command is produced by this
4081 % macro. The default from \file{latex.dtx} is used.
4083 % \renewcommand*{\@biblabel}[1]{[#1]\hfill}
4087 % \begin{macro}{\@cite}
4088 % The output of the |\cite| command is produced by this macro. The
4089 % default from \file{ltbibl.dtx} is used.
4091 % \renewcommand*{\@cite}[1]{[#1]}
4098 % \begin{environment}{theindex}
4100 % 索引の先頭のページのスタイルは\pstyle{jpl@in}とします。したがって、
4101 % \pstyle{headings}と\pstyle{bothstyle}に適した位置に出力されます。
4103 \newenvironment{theindex}
4104 {\if@twocolumn\@restonecolfalse\else\@restonecoltrue\fi
4105 %<article> \twocolumn[\section*{\indexname}]%
4106 %<report|book> \twocolumn[\@makeschapterhead{\indexname}]%
4107 \@mkboth{\indexname}{\indexname}%
4108 \thispagestyle{jpl@in}\parindent\z@
4110 % パラメータ|\columnseprule|と|\columnsep|の変更は、|\twocolumn|が
4111 % 実行された後でなければなりません。そうしないと、索引の前のページ
4113 % \changes{v1.7}{2016/11/12}{\cs{columnsep}と\cs{columnseprule}の
4114 % 変更を後ろに移動(sync with classes.dtx v1.4f)}
4116 \parskip\z@ \@plus .3\p@\relax
4117 \columnseprule\z@ \columnsep 35\p@
4119 {\if@restonecol\onecolumn\else\clearpage\fi}
4123 % \begin{macro}{\@idxitem}
4124 % \begin{macro}{\subitem}
4125 % \begin{macro}{\subsubitem}
4126 % 索引項目の字下げ幅です。|\@idxitem|は|\item|の項目の字下げ幅です。
4128 \newcommand{\@idxitem}{\par\hangindent 40\p@}
4129 \newcommand{\subitem}{\@idxitem \hspace*{20\p@}}
4130 \newcommand{\subsubitem}{\@idxitem \hspace*{30\p@}}
4136 % \begin{macro}{\indexspace}
4137 % 索引の``文字''見出しの前に入るスペースです。
4139 \newcommand{\indexspace}{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
4146 % \begin{macro}{\footnoterule}
4148 % \changes{v1.7}{2016/11/12}{use \cs{@width} (sync with classes.dtx v1.3a)}
4150 \renewcommand{\footnoterule}{%
4152 \hrule\@width.4\columnwidth
4157 % \begin{macro}{\c@footnote}
4158 % reportとbookクラスでは、chapterレベルでリセットされます。
4160 %<!article>\@addtoreset{footnote}{chapter}
4164 % \begin{macro}{\@makefntext}
4165 % このマクロにしたがって脚注が組まれます。
4167 % |\@makefnmark|は脚注記号を組み立てるマクロです。
4168 % \changes{v1.7}{2016/11/12}{Replaced all \cs{hbox to} by
4169 % \cs{hb@xt@} (sync with classes.dtx v1.3a)}
4172 \newcommand\@makefntext[1]{\parindent 1\zw
4173 \noindent\hb@xt@ 2\zw{\hss\@makefnmark}#1}
4176 \newcommand\@makefntext[1]{\parindent 1em
4177 \noindent\hb@xt@ 1.8em{\hss\@makefnmark}#1}
4184 % 組版時における現在の日付を出力します。
4186 % \iffalse meta-comment!
4187 % 注意:ここで \DisableCrossrefs, \EnableCrossrefs をしているのは、
4188 % platex jclasses.dtx で dvi を作るときにエラーになるため。
4191 % \begin{macro}{\if西暦}
4192 % \begin{macro}{\西暦}
4193 % \begin{macro}{\和暦}
4194 % \changes{v1.0h}{1996/12/17}{Typo:和歴 to 和暦}
4195 % |\today|コマンドの`年'を、
4196 % 西暦か和暦のどちらで出力するかを指定するコマンドです。
4198 \newif\if西暦 \西暦false
4207 % \begin{macro}{\heisei}
4208 % \changes{v1.1m}{1998/04/07}{\cs{today}の計算手順を変更}
4209 % |\today|コマンドを|\rightmark|で指定したとき、|\rightmark|を出力する部分
4210 % で和暦のための計算ができないので、クラスファイルを読み込む時点で計算して
4213 \newcount\heisei \heisei\year \advance\heisei-1988\relax
4217 % \begin{macro}{\today}
4220 % \changes{v1.6-ltj-9}{2015/01/01}{縦組では,この漢数字による日付出力でエラーになりました.
4221 % Lua\TeX-ja では,\cs{kansuji}の後に\cs{number}を続けることは出来ないので\cs{number}を削除しました.}
4224 \ifnum\ltjgetparameter{direction}=3
4230 平成\ifnum\heisei=1 元年\else\kansuji\heisei 年\fi
4240 平成\ifnum\heisei=1 元年\else\number\heisei~年\fi
4253 % \begin{macro}{\prepartname}
4254 % \begin{macro}{\postpartname}
4255 % \begin{macro}{\prechaptername}
4256 % \begin{macro}{\postchaptername}
4258 \newcommand{\prepartname}{第}
4259 \newcommand{\postpartname}{部}
4260 %<report|book>\newcommand{\prechaptername}{第}
4261 %<report|book>\newcommand{\postchaptername}{章}
4268 % \begin{macro}{\contentsname}
4269 % \begin{macro}{\listfigurename}
4270 % \begin{macro}{\listtablename}
4272 \newcommand{\contentsname}{目 次}
4273 \newcommand{\listfigurename}{図 目 次}
4274 \newcommand{\listtablename}{表 目 次}
4280 % \begin{macro}{\refname}
4281 % \begin{macro}{\bibname}
4282 % \begin{macro}{\indexname}
4284 %<article>\newcommand{\refname}{参考文献}
4285 %<report|book>\newcommand{\bibname}{関連図書}
4286 \newcommand{\indexname}{索 引}
4292 % \begin{macro}{\figurename}
4293 % \begin{macro}{\tablename}
4295 \newcommand{\figurename}{図}
4296 \newcommand{\tablename}{表}
4301 % \begin{macro}{\appendixname}
4302 % \begin{macro}{\abstractname}
4304 \newcommand{\appendixname}{付 録}
4305 %<article|report>\newcommand{\abstractname}{概 要}
4310 % \changes{v1.0d}{1996/02/29}{articleとreportのデフォルトを
4311 % \pstyle{plain}に修正}
4312 % \changes{v1.4}{2002/04/09}{縦組スタイルで\cs{flushbottom}しないようにした}
4314 %<book>\pagestyle{headings}
4315 %<!book>\pagestyle{plain}
4316 \pagenumbering{arabic}
4325 % |\@mparswitch|は傍注を左右(縦組では上下)どちらのマージンに
4326 % 出力するかの指定です。偽の場合、傍注は一方の側にしか出力されません。
4327 % このスイッチを真とすると、とくに縦組の場合、奇数ページでは本文の上に、
4328 % 偶数ページでは本文の下に傍注が出力されますので、おかしなことになります。
4330 % また、縦組のときには、傍注を本文の下に出すようにしています。
4331 % |\reversemarginpar|とすると本文の上側に出力されます。
4332 % ただし、二段組の場合は、つねに隣接するテキスト側のマージンに出力されます。
4345 %</article|report|book>