OSDN Git Service

sync with jsclasses 2016-07-14dev
[luatex-ja/luatexja.git] / src / ltjsarticle.cls
1 %%
2 %% This is file `ltjsarticle.cls',
3 %% generated with the docstrip utility.
4 %%
5 %% The original source files were:
6 %%
7 %% ltjsclasses.dtx  (with options: `article')
8 %% 
9 %% IMPORTANT NOTICE:
10 %% 
11 %% For the copyright see the source file.
12 %% 
13 %% Any modified versions of this file must be renamed
14 %% with new filenames distinct from ltjsarticle.cls.
15 %% 
16 %% For distribution of the original source see the terms
17 %% for copying and modification in the file ltjsclasses.dtx.
18 %% 
19 %% This generated file may be distributed as long as the
20 %% original source files, as listed above, are part of the
21 %% same distribution. (The sources need not necessarily be
22 %% in the same archive or directory.)
23 %% File: ltjsclasses.dtx
24 %% \CharacterTable
25 %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
26 %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
27 %%   Digits        \0\1\2\3\4\5\6\7\8\9
28 %%   Exclamation   \!     Double quote  \"     Hash (number) \#
29 %%   Dollar        \$     Percent       \%     Ampersand     \&
30 %%   Acute accent  \'     Left paren    \(     Right paren   \)
31 %%   Asterisk      \*     Plus          \+     Comma         \,
32 %%   Minus         \-     Point         \.     Solidus       \/
33 %%   Colon         \:     Semicolon     \;     Less than     \<
34 %%   Equals        \=     Greater than  \>     Question mark \?
35 %%   Commercial at \@     Left bracket  \[     Backslash     \\
36 %%   Right bracket \]     Circumflex    \^     Underscore    \_
37 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
38 %%   Right brace   \}     Tilde         \~}
39 \NeedsTeXFormat{LaTeX2e}
40 \ProvidesClass{ltjsarticle}
41   [2016/07/14 ltjsclasses ]
42 \RequirePackage{luatexja}
43 \newif\if@restonecol
44 \newif\if@titlepage
45 \newif\if@enablejfam \@enablejfamtrue
46 \DeclareOption{a3paper}{%
47   \setlength\paperheight {420mm}%
48   \setlength\paperwidth  {297mm}}
49 \DeclareOption{a4paper}{%
50   \setlength\paperheight {297mm}%
51   \setlength\paperwidth  {210mm}}
52 \DeclareOption{a5paper}{%
53   \setlength\paperheight {210mm}%
54   \setlength\paperwidth  {148mm}}
55 \DeclareOption{a6paper}{%
56   \setlength\paperheight {148mm}%
57   \setlength\paperwidth  {105mm}}
58 \DeclareOption{b4paper}{%
59   \setlength\paperheight {364mm}%
60   \setlength\paperwidth  {257mm}}
61 \DeclareOption{b5paper}{%
62   \setlength\paperheight {257mm}%
63   \setlength\paperwidth  {182mm}}
64 \DeclareOption{b6paper}{%
65   \setlength\paperheight {182mm}%
66   \setlength\paperwidth  {128mm}}
67 \DeclareOption{a4j}{%
68   \setlength\paperheight {297mm}%
69   \setlength\paperwidth  {210mm}}
70 \DeclareOption{a5j}{%
71   \setlength\paperheight {210mm}%
72   \setlength\paperwidth  {148mm}}
73 \DeclareOption{b4j}{%
74   \setlength\paperheight {364mm}%
75   \setlength\paperwidth  {257mm}}
76 \DeclareOption{b5j}{%
77   \setlength\paperheight {257mm}%
78   \setlength\paperwidth  {182mm}}
79 \DeclareOption{a4var}{%
80   \setlength\paperheight {283mm}%
81   \setlength\paperwidth  {210mm}}
82 \DeclareOption{b5var}{%
83   \setlength\paperheight {230mm}%
84   \setlength\paperwidth  {182mm}}
85 \DeclareOption{letterpaper}{%
86   \setlength\paperheight {11in}%
87   \setlength\paperwidth  {8.5in}}
88 \DeclareOption{legalpaper}{%
89   \setlength\paperheight {14in}%
90   \setlength\paperwidth  {8.5in}}
91 \DeclareOption{executivepaper}{%
92   \setlength\paperheight {10.5in}%
93   \setlength\paperwidth  {7.25in}}
94 \newif\if@landscape
95 \@landscapefalse
96 \DeclareOption{landscape}{\@landscapetrue}
97 \newif\if@slide
98 \@slidefalse
99 \def\js@magscale{1}
100 \DeclareOption{slide}{\@slidetrue\def\js@magscale{3.583}\@landscapetrue\@titlepagetrue}
101 \DeclareOption{8pt} {\def\js@magscale{0.83}}% 1.2^(-1)
102 \DeclareOption{9pt} {\def\js@magscale{0.913}}% 1.2^(-0.5}
103 \DeclareOption{10pt}{\def\js@magscale{1}}
104 \DeclareOption{11pt}{\def\js@magscale{1.095}}% 1.2^0.5
105 \DeclareOption{12pt}{\def\js@magscale{1.200}}
106 \DeclareOption{14pt}{\def\js@magscale{1.440}}
107 \DeclareOption{17pt}{\def\js@magscale{1.728}}
108 \DeclareOption{20pt}{\def\js@magscale{2}}
109 \DeclareOption{21pt}{\def\js@magscale{2.074}}
110 \DeclareOption{25pt}{\def\js@magscale{2.488}}
111 \DeclareOption{30pt}{\def\js@magscale{2.986}}
112 \DeclareOption{36pt}{\def\js@magscale{3.583}}
113 \DeclareOption{43pt}{\def\js@magscale{4.300}}
114 \DeclareOption{12Q} {\def\js@magscale{0.923}}% 1pt*12Q/13Q
115 \DeclareOption{14Q} {\def\js@magscale{1.077}}% 1pt*14Q/13Q
116 \DeclareOption{10ptj}{\def\js@magscale{1.085}}% 1pt*10bp/13Q
117 \DeclareOption{10.5ptj}{\def\js@magscale{1.139}}
118 \DeclareOption{11ptj}{\def\js@magscale{1.194}}
119 \DeclareOption{12ptj}{\def\js@magscale{1.302}}
120 \newif\if@ltjs@mag@xreal
121 \@ltjs@mag@xrealtrue
122 \DeclareOption{nomag*}{\@ltjs@mag@xrealtrue}
123 \DeclareOption{nomag}{\@ltjs@mag@xrealfalse}
124 \DeclareOption{noxreal}{\@ltjs@mag@xrealfalse}
125 \DeclareOption{real}{\@ltjs@mag@xrealfalse}
126 \hour\time \divide\hour by 60\relax
127 \@tempcnta\hour \multiply\@tempcnta 60\relax
128 \minute\time \advance\minute-\@tempcnta
129 \DeclareOption{tombow}{%
130   \tombowtrue \tombowdatetrue
131   \setlength{\@tombowwidth}{.1\p@}%
132   \@bannertoken{%
133      \jobname\space(\number\year-\two@digits\month-\two@digits\day
134      \space\two@digits\hour:\two@digits\minute)}%
135   \maketombowbox}
136 \DeclareOption{tombo}{%
137   \tombowtrue \tombowdatefalse
138   \setlength{\@tombowwidth}{.1\p@}%
139   \maketombowbox}
140 \DeclareOption{mentuke}{%
141   \tombowtrue \tombowdatefalse
142   \setlength{\@tombowwidth}{\z@}%
143   \maketombowbox}
144 \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
145 \DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
146 \DeclareOption{vartwoside}{\@twosidetrue \@mparswitchfalse}
147 \DeclareOption{onecolumn}{\@twocolumnfalse}
148 \DeclareOption{twocolumn}{\@twocolumntrue}
149 \DeclareOption{titlepage}{\@titlepagetrue}
150 \DeclareOption{notitlepage}{\@titlepagefalse}
151 \def\eqnarray{%
152    \stepcounter{equation}%
153    \def\@currentlabel{\p@equation\theequation}%
154    \global\@eqnswtrue
155    \m@th
156    \global\@eqcnt\z@
157    \tabskip\@centering
158    \let\\\@eqncr
159    $$\everycr{}\halign to\displaywidth\bgroup
160        \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel
161       &\global\@eqcnt\@ne \hfil$\displaystyle{{}##{}}$\hfil
162       &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil\tabskip\@centering
163       &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup
164          \tabskip\z@skip
165       \cr}
166 \DeclareOption{leqno}{\input{leqno.clo}}
167 \DeclareOption{fleqn}{\input{fleqn.clo}%
168   \def\eqnarray{%
169     \stepcounter{equation}%
170     \def\@currentlabel{\p@equation\theequation}%
171     \global\@eqnswtrue\m@th
172     \global\@eqcnt\z@
173     \tabskip\mathindent
174     \let\\=\@eqncr
175     \setlength\abovedisplayskip{\topsep}%
176     \ifvmode
177       \addtolength\abovedisplayskip{\partopsep}%
178     \fi
179     \addtolength\abovedisplayskip{\parskip}%
180     \setlength\belowdisplayskip{\abovedisplayskip}%
181     \setlength\belowdisplayshortskip{\abovedisplayskip}%
182     \setlength\abovedisplayshortskip{\abovedisplayskip}%
183     $$\everycr{}\halign to\linewidth% $$
184     \bgroup
185       \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel
186       &\global\@eqcnt\@ne \hfil$\displaystyle{{}##{}}$\hfil
187       &\global\@eqcnt\tw@
188         $\displaystyle{##}$\hfil \tabskip\@centering
189       &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup
190     \tabskip\z@skip\cr
191     }}
192 \DeclareOption{disablejfam}{%
193   \ClassWarningNoLine{\@currname}{The class option 'disablejfam' is obsolete}}
194 \DeclareOption{draft}{\setlength\overfullrule{5pt}}
195 \DeclareOption{final}{\setlength\overfullrule{0pt}}
196 \newif\ifmingoth
197 \mingothfalse
198 \newif\ifjisfont
199 \jisfontfalse
200 \newif\ifptexjis
201 \ptexjisfalse
202 \DeclareOption{winjis}{%
203   \ClassWarningNoLine{\@currname}{The class option 'winjis' is obsolete}}
204 \DeclareOption{uplatex}{%
205   \ClassWarningNoLine{\@currname}{The class option 'uplatex' is obsolete}}
206 \DeclareOption{mingoth}{\mingothtrue}
207 \DeclareOption{ptexjis}{\ptexjistrue}
208 \DeclareOption{jis}{\jisfonttrue}
209 \newif\if@english
210 \@englishfalse
211 \DeclareOption{english}{\@englishtrue}
212 \ExecuteOptions{a4paper,oneside,onecolumn,notitlepage,final}
213 \ProcessOptions
214 \if@slide
215   \def\maybeblue{\@ifundefined{ver@color.sty}{}{\color{blue}}}
216 \fi
217 \if@landscape
218   \setlength\@tempdima  {\paperheight}
219   \setlength\paperheight{\paperwidth}
220   \setlength\paperwidth {\@tempdima}
221 \fi
222 \if@slide\def\n@baseline{13}\else\def\n@baseline{16}\fi
223 \newdimen\js@mpt
224 \newdimen\js@mmm
225 \js@mpt=\js@magscale\p@
226 \js@mmm=\js@magscale mm
227 \ifdim\js@mpt<.92\p@ % 8pt, 9pt 指定時
228   \def\n@baseline{15}%
229 \fi
230 \newcommand{\@ptsize}{0}
231 \ifdim\js@mpt=1.0954\p@ \renewcommand{\@ptsize}{1}\else
232 \ifdim\js@mpt=1.2\p@    \renewcommand{\@ptsize}{2}\else
233 \renewcommand{\@ptsize}{-20}\fi\fi
234 \if@ltjs@mag@xreal\RequirePackage{type1cm}
235 \ifdim\js@mpt=\p@\else
236   \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax
237   \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax
238   \newluafunction\ltjs@@magnify@font@calc
239   \begingroup\catcode`\%=12\relax
240   \directlua{
241     local getdimen, mpt=tex.getdimen, tex.getdimen('js@mpt')/65536
242     local t = lua.get_functions_table()
243     t[\the\ltjs@@magnify@font@calc] = function()
244       tex.sprint(math.floor(0.5+mpt*getdimen('dimen@')))
245     end
246     function luatexja.ltjs_unmagnify_fsize(a)
247       local s = luatexja.print_scaled(math.floor(0.5+a/mpt*65536))
248       tex.sprint( (s:match('%.0$')) and s:sub(1,-3) or s )
249     end
250   }
251   \endgroup
252   \def\ltjs@magnify@external@font#1 at#2 at#3\@nil{%
253      \def\@tempa{#1}\def\@tempb{#2}%
254      \ifx\@tempb\@empty
255         \edef\@tempb{ scaled\directlua{%
256           tex.sprint(math.floor(0.5+\js@magscale*1000))
257         }}%
258      \else
259         \dimen@\@tempb\relax
260         \edef\@tempb{ at\luafunction\ltjs@@magnify@font@calc sp}%
261      \fi
262      \edef\@tempa{\def\noexpand\external@font{\@tempa\@tempb}}%
263   }
264   \let\ltjs@orig@get@external@font=\get@external@font
265   \def\get@external@font{%
266     \edef\f@size{\directlua{luatexja.ltjs_unmagnify_fsize(\f@size)}}%
267     \ltjs@orig@get@external@font
268     \begingroup
269       \edef\@tempa{\external@font\space at\space at}%
270       \expandafter\ltjs@magnify@external@font\@tempa\@nil
271     \expandafter\endgroup\@tempa
272   }
273 \fi\fi
274 \newlength{\stockwidth}
275 \newlength{\stockheight}
276 \setlength{\stockwidth}{\paperwidth}
277 \setlength{\stockheight}{\paperheight}
278 \iftombow
279   \advance \stockwidth 2in
280   \advance \stockheight 2in
281 \fi
282 \ifdefined\pdfpagewidth
283   \setlength{\pdfpagewidth}{\stockwidth}
284   \setlength{\pdfpageheight}{\stockheight}
285 \else
286   \setlength{\pagewidth}{\stockwidth}
287   \setlength{\pageheight}{\stockheight}
288 \fi
289 \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
290 \ifmingoth
291   \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.924715] \ltj@stdmcfont:jfm=min}{}
292   \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.924715] \ltj@stdgtfont:jfm=min}{}
293 \else
294   \ifptexjis
295     \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.924715] \ltj@stdmcfont:jfm=jis}{}
296     \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.924715] \ltj@stdgtfont:jfm=jis}{}
297   \else
298     \DeclareFontShape{JY3}{mc}{m}{n}{<-> s * [0.924715] \ltj@stdmcfont:jfm=ujis}{}
299     \DeclareFontShape{JY3}{gt}{m}{n}{<-> s * [0.924715] \ltj@stdgtfont:jfm=ujis}{}
300   \fi
301 \fi
302 \DeclareFontShape{JT3}{mc}{m}{n}{<-> s * [0.924715] \ltj@stdmcfont:jfm=ujisv}{}
303 \DeclareFontShape{JT3}{gt}{m}{n}{<-> s * [0.924715] \ltj@stdgtfont:jfm=ujisv}{}
304 \DeclareFontShape{JY3}{mc}{bx}{n}{<->ssub*gt/m/n}{}
305 \DeclareFontShape{JY3}{gt}{bx}{n}{<->ssub*gt/m/n}{}
306 \DeclareFontShape{JY3}{mc}{m}{it}{<->ssub*mc/m/n}{}
307 \DeclareFontShape{JY3}{mc}{m}{sl}{<->ssub*mc/m/n}{}
308 \DeclareFontShape{JY3}{mc}{m}{sc}{<->ssub*mc/m/n}{}
309 \DeclareFontShape{JY3}{gt}{m}{it}{<->ssub*gt/m/n}{}
310 \DeclareFontShape{JY3}{gt}{m}{sl}{<->ssub*gt/m/n}{}
311 \DeclareFontShape{JY3}{mc}{bx}{it}{<->ssub*gt/m/n}{}
312 \DeclareFontShape{JY3}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
313 %% \DeclareFontShape{JT3}{mc}{m}{it}{<->ssub*mc/m/n}{}
314 %% \DeclareFontShape{JT3}{mc}{m}{sl}{<->ssub*mc/m/n}{}
315 %% \DeclareFontShape{JT3}{mc}{m}{sc}{<->ssub*mc/m/n}{}
316 %% \DeclareFontShape{JT3}{gt}{m}{it}{<->ssub*gt/m/n}{}
317 %% \DeclareFontShape{JT3}{gt}{m}{sl}{<->ssub*gt/m/n}{}
318 %% \DeclareFontShape{JT3}{mc}{bx}{it}{<->ssub*gt/m/n}{}
319 %% \DeclareFontShape{JT3}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
320 \renewcommand\jttdefault{\gtdefault}\@ltj@match@familytrue
321 %%
322 \AtBeginDocument{%
323   \reDeclareMathAlphabet{\mathrm}{\mathrm}{\mathmc}
324   \reDeclareMathAlphabet{\mathbf}{\mathbf}{\mathgt}}%
325 \ltjsetparameter{jaxspmode={`!,2}}
326 \ltjsetparameter{jaxspmode={`〒,1}}
327 \ltjsetparameter{alxspmode={`+,3}}
328 \ltjsetparameter{alxspmode={`\%,3}}
329 \def\@{\spacefactor3000{}}
330 \def\@setfontsize#1#2#3{%
331   \ifx\protect\@typeset@protect
332     \let\@currsize#1%
333   \fi
334   \fontsize{#2}{#3}\selectfont
335   \ifdim\parindent>\z@
336     \if@english
337       \parindent=1em
338     \else
339       \parindent=1\zw
340     \fi
341   \fi
342   \ltj@setpar@global
343   \ltjsetkanjiskip\z@ plus .1\zw minus .01\zw
344   \@tempskipa=\ltjgetparameter{xkanjiskip}
345   \ifdim\@tempskipa>\z@
346     \if@slide
347       \ltjsetxkanjiskip .1em
348     \else
349       \ltjsetxkanjiskip .25em plus .15em minus .06em
350     \fi
351   \fi}
352 \def\js@setfontsize#1#2#3{%
353   \@setfontsize#1{#2\js@mpt}{#3\js@mpt}}
354 \emergencystretch 3\zw
355 \newif\ifnarrowbaselines
356 \if@english
357   \narrowbaselinestrue
358 \fi
359 \def\narrowbaselines{%
360   \narrowbaselinestrue
361   \skip0=\abovedisplayskip
362   \skip2=\abovedisplayshortskip
363   \skip4=\belowdisplayskip
364   \skip6=\belowdisplayshortskip
365   \@currsize\selectfont
366   \abovedisplayskip=\skip0
367   \abovedisplayshortskip=\skip2
368   \belowdisplayskip=\skip4
369   \belowdisplayshortskip=\skip6\relax}
370 \def\widebaselines{\narrowbaselinesfalse\@currsize\selectfont}
371 \def\ltj@@ifnarrowbaselines{%
372   \ifnarrowbaselines\expandafter\@firstoftwo
373   \else \expandafter\@secondoftwo
374   \fi
375 }
376 \renewcommand{\normalsize}{%
377   \ltj@@ifnarrowbaselines
378     {\js@setfontsize\normalsize\@xpt\@xiipt}%
379     {\js@setfontsize\normalsize\@xpt{\n@baseline}}%
380   \abovedisplayskip 11\js@mpt \@plus3\js@mpt \@minus4\js@mpt
381   \abovedisplayshortskip \z@ \@plus3\js@mpt
382   \belowdisplayskip 9\js@mpt \@plus3\js@mpt \@minus4\js@mpt
383   \belowdisplayshortskip \belowdisplayskip
384   \let\@listi\@listI}
385 \mcfamily\selectfont\normalsize
386 \setbox0\hbox{\char"3000}% 全角スペース
387 \setlength\Cht{\ht0}
388 \setlength\Cdp{\dp0}
389 \setlength\Cwd{\wd0}
390 \setlength\Cvs{\baselineskip}
391 \setlength\Chs{\wd0}
392 \newcommand{\small}{%
393   \ltj@@ifnarrowbaselines
394     {\js@setfontsize\small\@ixpt{11}}%
395     {\js@setfontsize\small\@ixpt{13}}%
396   \abovedisplayskip 9\js@mpt \@plus3\js@mpt \@minus4\js@mpt
397   \abovedisplayshortskip  \z@ \@plus3\js@mpt
398   \belowdisplayskip \abovedisplayskip
399   \belowdisplayshortskip \belowdisplayskip
400   \def\@listi{\leftmargin\leftmargini
401               \topsep \z@
402               \parsep \z@
403               \itemsep \parsep}}
404 \newcommand{\footnotesize}{%
405   \ltj@@ifnarrowbaselines
406     {\js@setfontsize\footnotesize\@viiipt{9.5}}%
407     {\js@setfontsize\footnotesize\@viiipt{11}}%
408   \abovedisplayskip 6\js@mpt \@plus2\js@mpt \@minus3\js@mpt
409   \abovedisplayshortskip  \z@ \@plus2\js@mpt
410   \belowdisplayskip \abovedisplayskip
411   \belowdisplayshortskip \belowdisplayskip
412   \def\@listi{\leftmargin\leftmargini
413               \topsep \z@
414               \parsep \z@
415               \itemsep \parsep}}
416 \newcommand{\scriptsize}{\js@setfontsize\scriptsize\@viipt\@viiipt}
417 \newcommand{\tiny}{\js@setfontsize\tiny\@vpt\@vipt}
418 \if@twocolumn
419   \newcommand{\large}{\js@setfontsize\large\@xiipt{\n@baseline}}
420 \else
421   \newcommand{\large}{\js@setfontsize\large\@xiipt{17}}
422 \fi
423 \newcommand{\Large}{\js@setfontsize\Large\@xivpt{21}}
424 \newcommand{\LARGE}{\js@setfontsize\LARGE\@xviipt{25}}
425 \newcommand{\huge}{\js@setfontsize\huge\@xxpt{28}}
426 \newcommand{\Huge}{\js@setfontsize\Huge\@xxvpt{33}}
427 \newcommand{\HUGE}{\js@setfontsize\HUGE{30}{40}}
428 \everydisplay=\expandafter{\the\everydisplay \narrowbaselines}
429 \newcommand{\headfont}{\gtfamily\sffamily}
430 \setlength\columnsep{2\zw}
431 \setlength\columnseprule{\z@}
432 \setlength\lineskip{1\js@mpt}
433 \setlength\normallineskip{1\js@mpt}
434 \setlength\lineskiplimit{1\js@mpt}
435 \setlength\normallineskiplimit{1\js@mpt}
436 \renewcommand{\baselinestretch}{}
437 \setlength\parskip{\z@}
438 \if@slide
439   \setlength\parindent{0\zw}
440 \else
441   \setlength\parindent{1\zw}
442 \fi
443 \@lowpenalty   51
444 \@medpenalty  151
445 \@highpenalty 301
446 \setlength\topskip{10\js@mpt}
447 \if@slide
448   \setlength\headheight{0\js@mpt}
449 \else
450   \setlength\headheight{2\topskip}
451 \fi
452 \if@slide
453   \setlength\footskip{\z@}
454 \else
455   \setlength\footskip{0.03367\paperheight}
456   \ifdim\footskip<\baselineskip
457     \setlength\footskip{\baselineskip}
458   \fi
459 \fi
460 \if@slide
461   \setlength\headsep{0\js@mpt}
462 \else
463   \setlength\headsep{\footskip}
464   \addtolength\headsep{-\topskip}
465 \fi
466 \setlength\maxdepth{.5\topskip}
467 \newdimen\fullwidth
468 \if@slide
469   \setlength\fullwidth{0.9\paperwidth}
470 \else
471   \setlength\fullwidth{0.76\paperwidth}
472 \fi
473 \if@twocolumn \@tempdima=2\zw \else \@tempdima=1\zw \fi
474 \divide\fullwidth\@tempdima \multiply\fullwidth\@tempdima
475 \setlength\textwidth{\fullwidth}
476 \if@slide
477   \setlength{\textheight}{0.95\paperheight}
478 \else
479   \setlength{\textheight}{0.83\paperheight}
480 \fi
481 \addtolength{\textheight}{-\topskip}
482 \addtolength{\textheight}{-\headsep}
483 \addtolength{\textheight}{-\footskip}
484 \addtolength{\textheight}{-\topskip}
485 \divide\textheight\baselineskip
486 \multiply\textheight\baselineskip
487 \addtolength{\textheight}{\topskip}
488 \addtolength{\textheight}{0.1\js@mpt}
489 \setlength\marginparsep{\columnsep}
490 \setlength\marginparpush{\baselineskip}
491 \setlength{\oddsidemargin}{\paperwidth}
492 \addtolength{\oddsidemargin}{-\fullwidth}
493 \setlength{\oddsidemargin}{.5\oddsidemargin}
494 \addtolength{\oddsidemargin}{-1in}
495 \setlength{\evensidemargin}{\oddsidemargin}
496 \if@mparswitch
497   \addtolength{\evensidemargin}{\fullwidth}
498   \addtolength{\evensidemargin}{-\textwidth}
499 \fi
500 \setlength\marginparwidth{\paperwidth}
501 \addtolength\marginparwidth{-\oddsidemargin}
502 \addtolength\marginparwidth{-1in}
503 \addtolength\marginparwidth{-\textwidth}
504 \addtolength\marginparwidth{-10\js@mmm}
505 \addtolength\marginparwidth{-\marginparsep}
506 \@tempdima=1\zw
507 \divide\marginparwidth\@tempdima
508 \multiply\marginparwidth\@tempdima
509 \setlength\topmargin{\paperheight}
510 \addtolength\topmargin{-\textheight}
511 \if@slide
512   \addtolength\topmargin{-\headheight}
513 \else
514   \addtolength\topmargin{-\topskip}
515 \fi
516 \addtolength\topmargin{-\headsep}
517 \addtolength\topmargin{-\footskip}
518 \setlength\topmargin{0.5\topmargin}
519 \addtolength\topmargin{-1in}
520 {\footnotesize\global\setlength\footnotesep{\baselineskip}}
521 \setlength\footnotesep{0.7\footnotesep}
522 \setlength{\skip\footins}{16\js@mpt \@plus 5\js@mpt \@minus 2\js@mpt}
523 \setcounter{topnumber}{9}
524 \renewcommand{\topfraction}{.85}
525 \setcounter{bottomnumber}{9}
526 \renewcommand{\bottomfraction}{.8}
527 \setcounter{totalnumber}{20}
528 \renewcommand{\textfraction}{.1}
529 \renewcommand{\floatpagefraction}{.8}
530 \setcounter{dbltopnumber}{9}
531 \renewcommand{\dbltopfraction}{.8}
532 \renewcommand{\dblfloatpagefraction}{.8}
533 \setlength\floatsep    {12\js@mpt \@plus 2\js@mpt \@minus 2\js@mpt}
534 \setlength\textfloatsep{20\js@mpt \@plus 2\js@mpt \@minus 4\js@mpt}
535 \setlength\intextsep   {12\js@mpt \@plus 2\js@mpt \@minus 2\js@mpt}
536 \setlength\dblfloatsep    {12\js@mpt \@plus 2\js@mpt \@minus 2\js@mpt}
537 \setlength\dbltextfloatsep{20\js@mpt \@plus 2\js@mpt \@minus 4\js@mpt}
538 \setlength\@fptop{0\js@mpt \@plus 1fil}
539 \setlength\@fpsep{8\js@mpt \@plus 2fil}
540 \setlength\@fpbot{0\js@mpt \@plus 1fil}
541 \setlength\@dblfptop{0\js@mpt \@plus 1fil}
542 \setlength\@dblfpsep{8\js@mpt \@plus 2fil}
543 \setlength\@dblfpbot{0\js@mpt \@plus 1fil}
544 \def\ps@plainfoot{%
545   \let\@mkboth\@gobbletwo
546   \let\@oddhead\@empty
547   \def\@oddfoot{\normalfont\hfil\thepage\hfil}%
548   \let\@evenhead\@empty
549   \let\@evenfoot\@oddfoot}
550 \def\ps@plainhead{%
551   \let\@mkboth\@gobbletwo
552   \let\@oddfoot\@empty
553   \let\@evenfoot\@empty
554   \def\@evenhead{%
555     \if@mparswitch \hss \fi
556     \hbox to \fullwidth{\textbf{\thepage}\hfil}%
557     \if@mparswitch\else \hss \fi}%
558   \def\@oddhead{%
559     \hbox to \fullwidth{\hfil\textbf{\thepage}}\hss}}
560 \let\ps@plain\ps@plainfoot
561 \if@twoside
562   \def\ps@headings{%
563     \let\@oddfoot\@empty
564     \let\@evenfoot\@empty
565     \def\@evenhead{\if@mparswitch \hss \fi
566       \underline{\hbox to \fullwidth{\textbf{\thepage}\hfil\leftmark}}%
567       \if@mparswitch\else \hss \fi}%
568     \def\@oddhead{%
569       \underline{%
570         \hbox to \fullwidth{{\rightmark}\hfil\textbf{\thepage}}}\hss}%
571     \let\@mkboth\markboth
572     \def\sectionmark##1{\markboth{%
573        \ifnum \c@secnumdepth >\z@ \thesection \hskip1\zw\fi
574        ##1}{}}%
575     \def\subsectionmark##1{\markright{%
576        \ifnum \c@secnumdepth >\@ne \thesubsection \hskip1\zw\fi
577        ##1}}%
578   }
579 \else % if not twoside
580   \def\ps@headings{%
581     \let\@oddfoot\@empty
582     \def\@oddhead{%
583       \underline{%
584         \hbox to \fullwidth{{\rightmark}\hfil\textbf{\thepage}}}\hss}%
585     \let\@mkboth\markboth
586     \def\sectionmark##1{\markright{%
587         \ifnum \c@secnumdepth >\z@ \thesection \hskip1\zw\fi
588         ##1}}}
589 \fi
590 \def\ps@myheadings{%
591   \let\@oddfoot\@empty\let\@evenfoot\@empty
592   \def\@evenhead{%
593     \if@mparswitch \hss \fi%
594     \hbox to \fullwidth{\thepage\hfil\leftmark}%
595     \if@mparswitch\else \hss \fi}%
596   \def\@oddhead{%
597     \hbox to \fullwidth{\rightmark\hfil\thepage}\hss}%
598   \let\@mkboth\@gobbletwo
599   \let\sectionmark\@gobble
600   \let\subsectionmark\@gobble
601 }
602 \def\plainifnotempty{%
603   \ifx \@oddhead \@empty
604     \ifx \@oddfoot \@empty
605     \else
606       \thispagestyle{plainfoot}%
607     \fi
608   \else
609     \thispagestyle{plainhead}%
610   \fi}
611 \if@titlepage
612   \newcommand{\maketitle}{%
613     \begin{titlepage}%
614       \let\footnotesize\small
615       \let\footnoterule\relax
616       \let\footnote\thanks
617       \null\vfil
618       \if@slide
619         {\footnotesize \@date}%
620         \begin{center}
621           \mbox{} \\[1\zw]
622           \large
623           {\maybeblue\hrule height0\js@mpt depth2\js@mpt\relax}\par
624           \smallskip
625           \@title
626           \smallskip
627           {\maybeblue\hrule height0\js@mpt depth2\js@mpt\relax}\par
628           \vfill
629           {\small \@author}%
630         \end{center}
631       \else
632       \vskip 60\js@mpt
633       \begin{center}%
634         {\LARGE \@title \par}%
635         \vskip 3em%
636         {\large
637           \lineskip .75em
638           \begin{tabular}[t]{c}%
639             \@author
640           \end{tabular}\par}%
641         \vskip 1.5em
642         {\large \@date \par}%
643       \end{center}%
644       \fi
645       \par
646       \@thanks\vfil\null
647     \end{titlepage}%
648     \setcounter{footnote}{0}%
649     \global\let\thanks\relax
650     \global\let\maketitle\relax
651     \global\let\@thanks\@empty
652     \global\let\@author\@empty
653     \global\let\@date\@empty
654     \global\let\@title\@empty
655     \global\let\title\relax
656     \global\let\author\relax
657     \global\let\date\relax
658     \global\let\and\relax
659   }%
660 \else
661   \newcommand{\maketitle}{\par
662     \begingroup
663       \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
664       \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
665       \long\def\@makefntext##1{\advance\leftskip 3\zw
666         \parindent 1\zw\noindent
667         \llap{\@textsuperscript{\normalfont\@thefnmark}\hskip0.3\zw}##1}%
668       \if@twocolumn
669         \ifnum \col@number=\@ne
670           \@maketitle
671         \else
672           \twocolumn[\@maketitle]%
673         \fi
674       \else
675         \newpage
676         \global\@topnum\z@  % Prevents figures from going at top of page.
677         \@maketitle
678       \fi
679       \plainifnotempty
680       \@thanks
681     \endgroup
682     \setcounter{footnote}{0}%
683     \global\let\thanks\relax
684     \global\let\maketitle\relax
685     \global\let\@thanks\@empty
686     \global\let\@author\@empty
687     \global\let\@date\@empty
688     \global\let\@title\@empty
689     \global\let\title\relax
690     \global\let\author\relax
691     \global\let\date\relax
692     \global\let\and\relax
693   }
694   \def\@maketitle{%
695     \newpage\null
696     \vskip 2em
697     \begin{center}%
698       \let\footnote\thanks
699       {\LARGE \@title \par}%
700       \vskip 1.5em
701       {\large
702         \lineskip .5em
703         \begin{tabular}[t]{c}%
704           \@author
705         \end{tabular}\par}%
706       \vskip 1em
707       {\large \@date}%
708     \end{center}%
709     \par\vskip 1.5em
710     \ifvoid\@abstractbox\else\centerline{\box\@abstractbox}\vskip1.5em\fi
711   }
712 \fi
713 \def\@startsection#1#2#3#4#5#6{%
714   \if@noskipsec \leavevmode \fi
715   \par
716   \@tempskipa #4\relax
717   \if@english \@afterindentfalse \else \@afterindenttrue \fi
718   \ifdim \@tempskipa <\z@
719     \@tempskipa -\@tempskipa \@afterindentfalse
720   \fi
721   \if@nobreak
722     \everypar{}%
723   \else
724     \addpenalty\@secpenalty
725     \ifdim \@tempskipa >\z@
726       \if@slide\else
727         \null
728         \vspace*{-\baselineskip}%
729       \fi
730       \vskip\@tempskipa
731     \fi
732   \fi
733   \noindent
734   \@ifstar
735     {\@ssect{#3}{#4}{#5}{#6}}%
736     {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
737 \def\@sect#1#2#3#4#5#6[#7]#8{%
738   \ifnum #2>\c@secnumdepth
739     \let\@svsec\@empty
740   \else
741     \refstepcounter{#1}%
742     \protected@edef\@svsec{\@seccntformat{#1}\relax}%
743   \fi
744   \@tempskipa #5\relax
745   \ifdim \@tempskipa<\z@
746     \def\@svsechd{%
747       #6{\hskip #3\relax
748       \@svsec #8}%
749       \csname #1mark\endcsname{#7}%
750       \addcontentsline{toc}{#1}{%
751         \ifnum #2>\c@secnumdepth \else
752           \protect\numberline{\csname the#1\endcsname}%
753         \fi
754         #7}}% 目次にフルネームを載せるなら #8
755   \else
756     \begingroup
757       \interlinepenalty \@M % 下から移動
758       #6{%
759         \@hangfrom{\hskip #3\relax\@svsec}%
760         #8\@@par}%
761     \endgroup
762     \csname #1mark\endcsname{#7}%
763     \addcontentsline{toc}{#1}{%
764       \ifnum #2>\c@secnumdepth \else
765         \protect\numberline{\csname the#1\endcsname}%
766       \fi
767       #7}% 目次にフルネームを載せるならここは #8
768   \fi
769   \@xsect{#5}}
770 \def\@xsect#1{%
771   \@tempskipa #1\relax
772   \ifdim \@tempskipa<\z@
773     \@nobreakfalse
774     \global\@noskipsectrue
775     \everypar{%
776       \if@noskipsec
777         \global\@noskipsecfalse
778        {\setbox\z@\lastbox}%
779         \clubpenalty\@M
780         \begingroup \@svsechd \endgroup
781         \unskip
782         \@tempskipa #1\relax
783         \hskip -\@tempskipa\@inhibitglue
784       \else
785         \clubpenalty \@clubpenalty
786         \everypar{}%
787       \fi}%
788   \else
789     \par \nobreak
790     \vskip \@tempskipa
791     \@afterheading
792   \fi
793   \if@slide
794     {\vskip-6\js@mpt\maybeblue\hrule height0\js@mpt depth1\js@mpt\vskip7\js@mpt\relax}%
795   \fi
796   \par  % 2000-12-18
797   \ignorespaces}
798 \def\@ssect#1#2#3#4#5{%
799   \@tempskipa #3\relax
800   \ifdim \@tempskipa<\z@
801     \def\@svsechd{#4{\hskip #1\relax #5}}%
802   \else
803     \begingroup
804       #4{%
805         \@hangfrom{\hskip #1}%
806           \interlinepenalty \@M #5\@@par}%
807     \endgroup
808   \fi
809   \@xsect{#3}}
810 \newcommand*\chaptermark[1]{}
811 \setcounter{secnumdepth}{3}
812 \newcounter{part}
813 \newcounter{section}
814 \newcounter{subsection}[section]
815 \newcounter{subsubsection}[subsection]
816 \newcounter{paragraph}[subsubsection]
817 \newcounter{subparagraph}[paragraph]
818 \renewcommand{\thepart}{\@Roman\c@part}
819 % \renewcommand{\thesection}{\@arabic\c@section}
820 \renewcommand{\thesection}{\presectionname\@arabic\c@section\postsectionname}
821 \renewcommand{\thesubsection}{\@arabic\c@section.\@arabic\c@subsection}
822 \renewcommand{\thesubsubsection}{%
823    \thesubsection.\@arabic\c@subsubsection}
824 \renewcommand{\theparagraph}{%
825    \thesubsubsection.\@arabic\c@paragraph}
826 \renewcommand{\thesubparagraph}{%
827    \theparagraph.\@arabic\c@subparagraph}
828 \newcommand\part{%
829   \if@noskipsec \leavevmode \fi
830   \par
831   \addvspace{4ex}%
832   \if@english \@afterindentfalse \else \@afterindenttrue \fi
833   \secdef\@part\@spart}
834 \def\@part[#1]#2{%
835   \ifnum \c@secnumdepth >\m@ne
836     \refstepcounter{part}%
837     \addcontentsline{toc}{part}{%
838       \prepartname\thepart\postpartname\hspace{1\zw}#1}%
839   \else
840     \addcontentsline{toc}{part}{#1}%
841   \fi
842   \markboth{}{}%
843   {\parindent\z@
844     \raggedright
845     \interlinepenalty \@M
846     \normalfont
847     \ifnum \c@secnumdepth >\m@ne
848       \Large\headfont\prepartname\thepart\postpartname
849       \par\nobreak
850     \fi
851     \huge \headfont #2%
852     \markboth{}{}\par}%
853   \nobreak
854   \vskip 3ex
855   \@afterheading}
856 \def\@spart#1{{%
857     \parindent \z@ \raggedright
858     \interlinepenalty \@M
859     \normalfont
860     \huge \headfont #1\par}%
861   \nobreak
862   \vskip 3ex
863   \@afterheading}
864 \if@twocolumn
865   \newcommand{\section}{%
866     \@startsection{section}{1}{\z@}%
867     {0.6\Cvs}{0.4\Cvs}%
868     {\normalfont\large\headfont\raggedright}}
869 \else
870   \newcommand{\section}{%
871     \if@slide\clearpage\fi
872     \@startsection{section}{1}{\z@}%
873     {\Cvs \@plus.5\Cdp \@minus.2\Cdp}% 前アキ
874     {.5\Cvs \@plus.3\Cdp}% 後アキ
875     {\normalfont\Large\headfont\raggedright}}
876 \fi
877 \if@twocolumn
878   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
879     {\z@}{\z@}%
880     {\normalfont\normalsize\headfont}}
881 \else
882   \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}%
883     {\Cvs \@plus.5\Cdp \@minus.2\Cdp}% 前アキ
884     {.5\Cvs \@plus.3\Cdp}% 後アキ
885     {\normalfont\large\headfont}}
886 \fi
887 \if@twocolumn
888   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
889     {\z@}{\z@}%
890     {\normalfont\normalsize\headfont}}
891 \else
892   \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}%
893     {\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
894     {\z@}%
895     {\normalfont\normalsize\headfont}}
896 \fi
897 \if@twocolumn
898   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
899     {\z@}{-1\zw}% 改行せず 1\zw のアキ
900     {\normalfont\normalsize\headfont ■}}
901 \else
902   \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}%
903     {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%
904     {-1\zw}% 改行せず 1\zw のアキ
905     {\normalfont\normalsize\headfont ■}}
906 \fi
907 \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}%
908    {\z@}{-1\zw}%
909    {\normalfont\normalsize\headfont}}
910 \if@slide
911   \setlength\leftmargini{1\zw}
912 \else
913   \if@twocolumn
914     \setlength\leftmargini{2\zw}
915   \else
916     \setlength\leftmargini{3\zw}
917   \fi
918 \fi
919 \if@slide
920   \setlength\leftmarginii {1\zw}
921   \setlength\leftmarginiii{1\zw}
922   \setlength\leftmarginiv {1\zw}
923   \setlength\leftmarginv  {1\zw}
924   \setlength\leftmarginvi {1\zw}
925 \else
926   \setlength\leftmarginii {2\zw}
927   \setlength\leftmarginiii{2\zw}
928   \setlength\leftmarginiv {2\zw}
929   \setlength\leftmarginv  {1\zw}
930   \setlength\leftmarginvi {1\zw}
931 \fi
932 \setlength  \labelsep  {0.5\zw} % .5em
933 \setlength  \labelwidth{\leftmargini}
934 \addtolength\labelwidth{-\labelsep}
935 \setlength\partopsep{\z@} % {2\p@ \@plus 1\p@ \@minus 1\p@}
936 \@beginparpenalty -\@lowpenalty
937 \@endparpenalty   -\@lowpenalty
938 \@itempenalty     -\@lowpenalty
939 \def\@listi{\leftmargin\leftmargini
940   \parsep \z@
941   \topsep 0.5\baselineskip
942   \itemsep \z@ \relax}
943 \let\@listI\@listi
944 \@listi
945 \def\@listii{\leftmargin\leftmarginii
946   \labelwidth\leftmarginii \advance\labelwidth-\labelsep
947   \topsep \z@
948   \parsep \z@
949   \itemsep\parsep}
950 \def\@listiii{\leftmargin\leftmarginiii
951   \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
952   \topsep \z@
953   \parsep \z@
954   \itemsep\parsep}
955 \def\@listiv {\leftmargin\leftmarginiv
956               \labelwidth\leftmarginiv
957               \advance\labelwidth-\labelsep}
958 \def\@listv  {\leftmargin\leftmarginv
959               \labelwidth\leftmarginv
960               \advance\labelwidth-\labelsep}
961 \def\@listvi {\leftmargin\leftmarginvi
962               \labelwidth\leftmarginvi
963               \advance\labelwidth-\labelsep}
964 \renewcommand{\theenumi}{\@arabic\c@enumi}
965 \renewcommand{\theenumii}{\@alph\c@enumii}
966 \renewcommand{\theenumiii}{\@roman\c@enumiii}
967 \renewcommand{\theenumiv}{\@Alph\c@enumiv}
968 \newcommand{\labelenumi}{\theenumi.}
969 \newcommand{\labelenumii}{\inhibitglue(\theenumii)\inhibitglue}
970 \newcommand{\labelenumiii}{\theenumiii.}
971 \newcommand{\labelenumiv}{\theenumiv.}
972 \renewcommand{\p@enumii}{\theenumi}
973 \renewcommand{\p@enumiii}{\theenumi\inhibitglue(\theenumii)}
974 \renewcommand{\p@enumiv}{\p@enumiii\theenumiii}
975 \newcommand\labelitemi{\textbullet}
976 \newcommand\labelitemii{\normalfont\bfseries \textendash}
977 \newcommand\labelitemiii{\textasteriskcentered}
978 \newcommand\labelitemiv{\textperiodcentered}
979 \newenvironment{description}{%
980   \list{}{%
981     \labelwidth=\leftmargin
982     \labelsep=1\zw
983     \advance \labelwidth by -\labelsep
984     \let \makelabel=\descriptionlabel}}{\endlist}
985 \newcommand*\descriptionlabel[1]{\normalfont\headfont #1\hfil}
986 \newbox\@abstractbox
987 \if@titlepage
988   \newenvironment{abstract}{%
989     \titlepage
990     \null\vfil
991     \@beginparpenalty\@lowpenalty
992     \begin{center}%
993       \headfont \abstractname
994       \@endparpenalty\@M
995     \end{center}}%
996   {\par\vfil\null\endtitlepage}
997 \else
998   \newenvironment{abstract}{%
999     \if@twocolumn
1000       \ifx\maketitle\relax
1001         \section*{\abstractname}%
1002       \else
1003         \global\setbox\@abstractbox\hbox\bgroup
1004         \begin{minipage}[b]{\textwidth}
1005           \small\parindent1\zw
1006           \begin{center}%
1007             {\headfont \abstractname\vspace{-.5em}\vspace{\z@}}%
1008           \end{center}%
1009           \list{}{%
1010             \listparindent\parindent
1011             \itemindent \listparindent
1012             \rightmargin \leftmargin}%
1013           \item\relax
1014       \fi
1015     \else
1016       \small
1017       \begin{center}%
1018         {\headfont \abstractname\vspace{-.5em}\vspace{\z@}}%
1019       \end{center}%
1020       \list{}{%
1021         \listparindent\parindent
1022         \itemindent \listparindent
1023         \rightmargin \leftmargin}%
1024       \item\relax
1025     \fi}{\if@twocolumn
1026       \ifx\maketitle\relax
1027       \else
1028         \endlist\end{minipage}\egroup
1029       \fi
1030     \else
1031       \endlist
1032     \fi}
1033 \fi
1034 \newenvironment{verse}{%
1035   \let \\=\@centercr
1036   \list{}{%
1037     \itemsep \z@
1038     \itemindent -2\zw % 元: -1.5em
1039     \listparindent\itemindent
1040     \rightmargin \z@
1041     \advance\leftmargin 2\zw}% 元: 1.5em
1042   \item\relax}{\endlist}
1043 \newenvironment{quotation}{%
1044   \list{}{%
1045     \listparindent\parindent
1046     \itemindent\listparindent
1047     \rightmargin \z@}%
1048   \item\relax}{\endlist}
1049 \newenvironment{quote}%
1050   {\list{}{\rightmargin\z@}\item\relax}{\endlist}
1051 \def\@begintheorem#1#2{\trivlist\labelsep=1\zw
1052    \item[\hskip \labelsep{\headfont #1\ #2}]}
1053 \def\@opargbegintheorem#1#2#3{\trivlist\labelsep=1\zw
1054       \item[\hskip \labelsep{\headfont #1\ #2(#3)}]}
1055 \newenvironment{titlepage}{%
1056     \if@twocolumn
1057       \@restonecoltrue\onecolumn
1058     \else
1059       \@restonecolfalse\newpage
1060     \fi
1061     \thispagestyle{empty}%
1062     \setcounter{page}\@ne
1063   }%
1064   {\if@restonecol\twocolumn \else \newpage \fi
1065     \if@twoside\else
1066       \setcounter{page}\@ne
1067     \fi}
1068 \newcommand{\appendix}{\par
1069   \setcounter{section}{0}%
1070   \setcounter{subsection}{0}%
1071   \gdef\presectionname{\appendixname}%
1072   \gdef\postsectionname{}%
1073   \gdef\thesection{\presectionname\@Alph\c@section\postsectionname}%
1074   \gdef\thesubsection{\@Alph\c@section.\@arabic\c@subsection}}
1075 \setlength\arraycolsep{5\js@mpt}
1076 \setlength\tabcolsep{6\js@mpt}
1077 \setlength\arrayrulewidth{.4\js@mpt}
1078 \setlength\doublerulesep{2\js@mpt}
1079 \setlength\tabbingsep{\labelsep}
1080 \skip\@mpfootins = \skip\footins
1081 \setlength\fboxsep{3\js@mpt}
1082 \setlength\fboxrule{.4\js@mpt}
1083 \renewcommand \theequation {\@arabic\c@equation}
1084 \newcounter{figure}
1085 \renewcommand \thefigure {\@arabic\c@figure}
1086 \def\fps@figure{tbp}
1087 \def\ftype@figure{1}
1088 \def\ext@figure{lof}
1089 \def\fnum@figure{\figurename\nobreak\thefigure}
1090 \newenvironment{figure}%
1091                {\@float{figure}}%
1092                {\end@float}
1093 \newenvironment{figure*}%
1094                {\@dblfloat{figure}}%
1095                {\end@dblfloat}
1096 \newcounter{table}
1097 \renewcommand\thetable{\@arabic\c@table}
1098 \def\fps@table{tbp}
1099 \def\ftype@table{2}
1100 \def\ext@table{lot}
1101 \def\fnum@table{\tablename\nobreak\thetable}
1102 \newenvironment{table}%
1103                {\@float{table}}%
1104                {\end@float}
1105 \newenvironment{table*}%
1106                {\@dblfloat{table}}%
1107                {\end@dblfloat}
1108 \newlength\abovecaptionskip
1109 \newlength\belowcaptionskip
1110 \setlength\abovecaptionskip{5\js@mpt} % 元: 10\p@
1111 \setlength\belowcaptionskip{5\js@mpt} % 元: 0\p@
1112 \long\def\@makecaption#1#2{{\small
1113   \advance\leftskip .0628\linewidth
1114   \advance\rightskip .0628\linewidth
1115   \vskip\abovecaptionskip
1116   \sbox\@tempboxa{#1{\hskip1\zw}#2}%
1117   \ifdim \wd\@tempboxa <\hsize \centering \fi
1118   #1{\hskip1\zw}#2\par
1119   \vskip\belowcaptionskip}}
1120 \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
1121 \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
1122 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
1123 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
1124 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
1125 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
1126 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
1127 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
1128 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
1129 \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal}
1130 \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
1131 \newcommand\@pnumwidth{1.55em}
1132 \newcommand\@tocrmarg{2.55em}
1133 \newcommand\@dotsep{4.5}
1134 \setcounter{tocdepth}{2}
1135 \newdimen\js@tocl@width
1136 \newcommand{\tableofcontents}{%
1137   \settowidth\js@tocl@width{\headfont\presectionname\postsectionname}%
1138   \settowidth\@tempdima{\headfont\appendixname}%
1139   \ifdim\js@tocl@width<\@tempdima\relax\setlength\js@tocl@width{\@tempdima}\fi
1140   \ifdim\js@tocl@width<2\zw \divide\js@tocl@width by 2 \advance\js@tocl@width 1\zw\fi
1141   \section*{\contentsname}%
1142   \@mkboth{\contentsname}{\contentsname}%
1143   \@starttoc{toc}%
1144 }
1145 \newcommand*{\l@part}[2]{%
1146   \ifnum \c@tocdepth >-2\relax
1147     \addpenalty\@secpenalty
1148     \addvspace{2.25em \@plus\js@mpt}%
1149     \begingroup
1150       \parindent \z@
1151       \rightskip \@tocrmarg
1152       \parfillskip -\rightskip
1153       {\leavevmode
1154         \large \headfont
1155         \setlength\@lnumwidth{4\zw}%
1156         #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
1157       \nobreak
1158     \endgroup
1159   \fi}
1160 \newcommand*{\l@section}[2]{%
1161   \ifnum \c@tocdepth >\z@
1162     \addpenalty{\@secpenalty}%
1163     \addvspace{1.0em \@plus\js@mpt}%
1164     \begingroup
1165       \parindent\z@
1166       \rightskip\@tocrmarg
1167       \parfillskip-\rightskip
1168       \leavevmode\headfont
1169       %\setlength\@lnumwidth{4\zw}% 元1.5em [2003-03-02]
1170       \setlength\@lnumwidth{\js@tocl@width}\advance\@lnumwidth 2\zw
1171       \advance\leftskip\@lnumwidth \hskip-\leftskip
1172       #1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par
1173     \endgroup
1174   \fi}
1175 \newcommand*{\l@subsection}{%
1176           \@tempdima\js@tocl@width \advance\@tempdima -1\zw
1177           \@dottedtocline{2}{\@tempdima}{3\zw}}
1178 \newcommand*{\l@subsubsection}{%
1179           \@tempdima\js@tocl@width \advance\@tempdima 0\zw
1180           \@dottedtocline{3}{\@tempdima}{4\zw}}
1181 \newcommand*{\l@paragraph}{%
1182           \@tempdima\js@tocl@width \advance\@tempdima 1\zw
1183           \@dottedtocline{4}{\@tempdima}{5\zw}}
1184 \newcommand*{\l@subparagraph}{%
1185           \@tempdima\js@tocl@width \advance\@tempdima 2\zw
1186           \@dottedtocline{5}{\@tempdima}{6\zw}}
1187 \newdimen\@lnumwidth
1188 \def\numberline#1{\hb@xt@\@lnumwidth{#1\hfil}\hspace{0pt}}
1189 \def\@dottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else
1190   \vskip \z@ \@plus.2\js@mpt
1191   {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
1192     \parindent #2\relax\@afterindenttrue
1193    \interlinepenalty\@M
1194    \leavevmode
1195    \@lnumwidth #3\relax
1196    \advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip
1197     {#4}\nobreak
1198     \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
1199        mu$}\hfill \nobreak\hb@xt@\@pnumwidth{%
1200          \hfil\normalfont \normalcolor #5}\par}\fi}
1201 \newcommand{\listoffigures}{%
1202   \section*{\listfigurename}%
1203   \@mkboth{\listfigurename}{\listfigurename}%
1204   \@starttoc{lof}%
1205 }
1206 \newcommand*{\l@figure}{\@dottedtocline{1}{1\zw}{3.683\zw}}
1207 \newcommand{\listoftables}{%
1208   \section*{\listtablename}%
1209   \@mkboth{\listtablename}{\listtablename}%
1210   \@starttoc{lot}%
1211 }
1212 \let\l@table\l@figure
1213 \newdimen\bibindent
1214 \setlength\bibindent{2\zw}
1215 \newenvironment{thebibliography}[1]{%
1216   \global\let\presectionname\relax
1217   \global\let\postsectionname\relax
1218   \section*{\refname}\@mkboth{\refname}{\refname}%
1219    \list{\@biblabel{\@arabic\c@enumiv}}%
1220         {\settowidth\labelwidth{\@biblabel{#1}}%
1221          \leftmargin\labelwidth
1222          \advance\leftmargin\labelsep
1223          \@openbib@code
1224          \usecounter{enumiv}%
1225          \let\p@enumiv\@empty
1226          \renewcommand\theenumiv{\@arabic\c@enumiv}}%
1227    \sloppy
1228    \clubpenalty4000
1229    \@clubpenalty\clubpenalty
1230    \widowpenalty4000%
1231    \sfcode`\.\@m}
1232   {\def\@noitemerr
1233     {\@latex@warning{Empty `thebibliography' environment}}%
1234    \endlist}
1235 \newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
1236 \let\@openbib@code\@empty
1237 \newenvironment{theindex}{% 索引を3段組で出力する環境
1238     \if@twocolumn
1239       \onecolumn\@restonecolfalse
1240     \else
1241       \clearpage\@restonecoltrue
1242     \fi
1243     \columnseprule.4pt \columnsep 2\zw
1244     \ifx\multicols\@undefined
1245       \def\presectionname{}\def\postsectionname{}%
1246       \twocolumn[\section*{\indexname}]%
1247     \else
1248       \ifdim\textwidth<\fullwidth
1249         \setlength{\evensidemargin}{\oddsidemargin}
1250         \setlength{\textwidth}{\fullwidth}
1251         \setlength{\linewidth}{\fullwidth}
1252         \def\presectionname{}\def\postsectionname{}%
1253         \begin{multicols}{3}[\section*{\indexname}]%
1254       \else
1255         \def\presectionname{}\def\postsectionname{}%
1256         \begin{multicols}{2}[\section*{\indexname}]%
1257       \fi
1258     \fi
1259     \@mkboth{\indexname}{\indexname}%
1260     \plainifnotempty % \thispagestyle{plain}
1261     \parindent\z@
1262     \parskip\z@ \@plus .3\js@mpt\relax
1263     \let\item\@idxitem
1264     \raggedright
1265     \footnotesize\narrowbaselines
1266   }{
1267     \ifx\multicols\@undefined
1268       \if@restonecol\onecolumn\fi
1269     \else
1270       \end{multicols}
1271     \fi
1272     \clearpage
1273   }
1274 \newcommand{\@idxitem}{\par\hangindent 4\zw} % 元 40pt
1275 \newcommand{\subitem}{\@idxitem \hspace*{2\zw}} % 元 20pt
1276 \newcommand{\subsubitem}{\@idxitem \hspace*{3\zw}} % 元 30pt
1277 \newcommand{\indexspace}{\par \vskip 10\js@mpt \@plus5\js@mpt \@minus3\js@mpt\relax}
1278 \newcommand\seename{\if@english see\else →\fi}
1279 \newcommand\alsoname{\if@english see also\else →\fi}
1280 \let\footnotes@ve=\footnote
1281 \def\footnote{\inhibitglue\footnotes@ve}
1282 \let\footnotemarks@ve=\footnotemark
1283 \def\footnotemark{\inhibitglue\footnotemarks@ve}
1284 \renewcommand\@makefnmark{%
1285   \unless\ifnum\ltjgetparameter{direction}=3
1286     \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}%
1287   \else\hbox{\yoko \@textsuperscript{\normalfont\@thefnmark}}\fi}
1288 \def\thefootnote{\ifnum\c@footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi}
1289 \renewcommand{\footnoterule}{%
1290   \kern-3\js@mpt
1291   \hrule width 0.4\columnwidth height 0.4\js@mpt
1292   \kern 2.6\js@mpt}
1293 \long\def\@footnotetext{%
1294   \insert\footins\bgroup
1295     \normalfont\footnotesize
1296     \interlinepenalty\interfootnotelinepenalty
1297     \splittopskip\footnotesep
1298     \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
1299     \hsize\columnwidth \@parboxrestore
1300     \protected@edef\@currentlabel{%
1301        \csname p@footnote\endcsname\@thefnmark
1302     }%
1303     \color@begingroup
1304       \@makefntext{%
1305         \rule\z@\footnotesep\ignorespaces}%
1306       \futurelet\next\fo@t}
1307 \def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t
1308                                 \else \let\next\f@t\fi \next}
1309 \def\f@@t{\bgroup\aftergroup\@foot\let\next}
1310 \def\f@t#1{#1\@foot}
1311 \def\@foot{\@finalstrut\strutbox\color@endgroup\egroup}
1312 \newcommand\@makefntext[1]{%
1313   \advance\leftskip 3\zw
1314   \parindent 1\zw
1315   \noindent
1316   \llap{\@makefnmark\hskip0.3\zw}#1}
1317 \protected\def\@inhibitglue{\directlua{luatexja.jfmglue.create_beginpar_node()}}
1318 \def\@item[#1]{%
1319   \if@noparitem
1320     \@donoparitem
1321   \else
1322     \if@inlabel
1323       \indent \par
1324     \fi
1325     \ifhmode
1326       \unskip\unskip \par
1327     \fi
1328     \if@newlist
1329       \if@nobreak
1330         \@nbitem
1331       \else
1332         \addpenalty\@beginparpenalty
1333         \addvspace\@topsep
1334         \addvspace{-\parskip}%
1335       \fi
1336     \else
1337       \addpenalty\@itempenalty
1338       \addvspace\itemsep
1339     \fi
1340     \global\@inlabeltrue
1341   \fi
1342   \everypar{%
1343     \@minipagefalse
1344     \global\@newlistfalse
1345     \if@inlabel
1346       \global\@inlabelfalse
1347       {\setbox\z@\lastbox
1348        \ifvoid\z@
1349          \kern-\itemindent
1350        \fi}%
1351       \box\@labels
1352       \penalty\z@
1353     \fi
1354     \if@nobreak
1355       \@nobreakfalse
1356       \clubpenalty \@M
1357     \else
1358       \clubpenalty \@clubpenalty
1359       \everypar{}%
1360     \fi\@inhibitglue}%
1361   \if@noitemarg
1362     \@noitemargfalse
1363     \if@nmbrlist
1364       \refstepcounter\@listctr
1365     \fi
1366   \fi
1367   \sbox\@tempboxa{\makelabel{#1}}%
1368   \global\setbox\@labels\hbox{%
1369     \unhbox\@labels
1370     \hskip \itemindent
1371     \hskip -\labelwidth
1372     \hskip -\labelsep
1373     \ifdim \wd\@tempboxa >\labelwidth
1374       \box\@tempboxa
1375     \else
1376       \hbox to\labelwidth {\unhbox\@tempboxa}%
1377     \fi
1378     \hskip \labelsep}%
1379   \ignorespaces}
1380 \def\@gnewline #1{%
1381   \ifvmode
1382     \@nolnerr
1383   \else
1384     \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null
1385     \inhibitglue \ignorespaces
1386   \fi}
1387 \def\小#1{\hbox{$\m@th$%
1388   \csname S@\f@size\endcsname
1389   \fontsize\sf@size\z@
1390   \math@fontsfalse\selectfont
1391   #1}}
1392 \def\上小#1{{\sbox\z@ T\vbox to\ht0{\小{#1}\vss}}}
1393 \def\cmrTeX{%
1394   \ifdim \fontdimen\@ne\font >\z@
1395     T\kern-.25em\lower.5ex\hbox{E}\kern-.125emX\@
1396   \else
1397     T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@
1398   \fi}
1399 \def\cmrLaTeX{%
1400   \ifdim \fontdimen\@ne\font >\z@
1401     L\kern-.32em\上小{A}\kern-.22em\cmrTeX
1402   \else
1403     L\kern-.36em\上小{A}\kern-.15em\cmrTeX
1404   \fi}
1405 \def\sfTeX{T\kern-.1em\lower.4ex\hbox{E}\kern-.07emX\@}
1406 \def\sfLaTeX{L\kern-.25em\上小{A}\kern-.08em\sfTeX}
1407 \def\ptmTeX{%
1408   \ifdim \fontdimen\@ne\font >\z@
1409     T\kern-.12em\lower.37ex\hbox{E}\kern-.02emX\@
1410   \else
1411     T\kern-.07em\lower.37ex\hbox{E}\kern-.05emX\@
1412   \fi}
1413 \def\ptmLaTeX{%
1414   \ifdim \fontdimen\@ne\font >\z@
1415     L\kern-.2em\上小{A}\kern-.1em\ptmTeX
1416   \else
1417     L\kern-.3em\上小{A}\kern-.1em\ptmTeX
1418   \fi}
1419 \def\pncTeX{%
1420   \ifdim \fontdimen\@ne\font >\z@
1421     T\kern-.2em\lower.5ex\hbox{E}\kern-.08emX\@
1422   \else
1423     T\kern-.13em\lower.5ex\hbox{E}\kern-.13emX\@
1424   \fi}
1425 \def\pncLaTeX{%
1426   \ifdim \fontdimen\@ne\font >\z@
1427     L\kern-.3em\上小{A}\kern-.1em\pncTeX
1428   \else
1429     L\kern-.3em\上小{A}\kern-.1em\pncTeX
1430   \fi}
1431 \def\pplTeX{%
1432   \ifdim \fontdimen\@ne\font >\z@
1433     T\kern-.17em\lower.32ex\hbox{E}\kern-.15emX\@
1434   \else
1435     T\kern-.12em\lower.34ex\hbox{E}\kern-.1emX\@
1436   \fi}
1437 \def\pplLaTeX{%
1438   \ifdim \fontdimen\@ne\font >\z@
1439     L\kern-.27em\上小{A}\kern-.12em\pplTeX
1440   \else
1441     L\kern-.3em\上小{A}\kern-.15em\pplTeX
1442   \fi}
1443 \def\ugmTeX{%
1444   \ifdim \fontdimen\@ne\font >\z@
1445     T\kern-.1em\lower.32ex\hbox{E}\kern-.06emX\@
1446   \else
1447     T\kern-.12em\lower.34ex\hbox{E}\kern-.1emX\@
1448   \fi}
1449 \def\ugmLaTeX{%
1450   \ifdim \fontdimen\@ne\font >\z@
1451     L\kern-.2em\上小{A}\kern-.13em\ugmTeX
1452   \else
1453     L\kern-.3em\上小{A}\kern-.13em\ugmTeX
1454   \fi}
1455 \DeclareRobustCommand{\TeX}{%
1456   \def\@tempa{cmr}%
1457   \ifx\f@family\@tempa\cmrTeX
1458   \else
1459     \def\@tempa{ptm}%
1460     \ifx\f@family\@tempa\ptmTeX
1461     \else
1462       \def\@tempa{txr}%
1463       \ifx\f@family\@tempa\ptmTeX
1464       \else
1465         \def\@tempa{pnc}%
1466         \ifx\f@family\@tempa\pncTeX
1467         \else
1468           \def\@tempa{ppl}%
1469           \ifx\f@family\@tempa\pplTeX
1470           \else
1471             \def\@tempa{ugm}%
1472             \ifx\f@family\@tempa\ugmTeX
1473             \else\sfTeX
1474             \fi
1475           \fi
1476         \fi
1477       \fi
1478     \fi
1479   \fi}
1480
1481 \DeclareRobustCommand{\LaTeX}{%
1482   \def\@tempa{cmr}%
1483   \ifx\f@family\@tempa\cmrLaTeX
1484   \else
1485     \def\@tempa{ptm}%
1486     \ifx\f@family\@tempa\ptmLaTeX
1487     \else
1488       \def\@tempa{txr}%
1489       \ifx\f@family\@tempa\ptmLaTeX
1490       \else
1491         \def\@tempa{pnc}%
1492         \ifx\f@family\@tempa\pncLaTeX
1493         \else
1494           \def\@tempa{ppl}%
1495           \ifx\f@family\@tempa\pplLaTeX
1496           \else
1497             \def\@tempa{ugm}%
1498             \ifx\f@family\@tempa\ugmLaTeX
1499             \else\sfLaTeX
1500             \fi
1501           \fi
1502         \fi
1503       \fi
1504     \fi
1505   \fi}
1506 \DeclareRobustCommand{\LaTeXe}{$\mbox{%
1507   \if b\expandafter\@car\f@series\@nil\boldmath\fi
1508   \LaTeX\kern.15em2\raisebox{-.37ex}{$\textstyle\varepsilon$}}$}
1509 \def\pTeX{p\kern-.05em\TeX}
1510 \def\pLaTeX{p\LaTeX}
1511 \def\pLaTeXe{p\LaTeXe}
1512 \def\AmSTeX{\protect\AmS-\protect\TeX{}}
1513 \DeclareRobustCommand{\BibTeX}{B\kern-.05em\小{I\kern-.025em B}%
1514   \ifx\f@family\cmr\kern-.08em\else\kern-.15em\fi\TeX}
1515 \DeclareRobustCommand{\SliTeX}{%
1516   S\kern-.06emL\kern-.18em\上小{I}\kern -.03em\TeX}
1517 \newcommand{\prepartname}{\if@english Part~\else 第\fi}
1518 \newcommand{\postpartname}{\if@english\else 部\fi}
1519 \newcommand{\presectionname}{}%  第
1520 \newcommand{\postsectionname}{}% 節
1521 \newcommand{\contentsname}{\if@english Contents\else 目次\fi}
1522 \newcommand{\listfigurename}{\if@english List of Figures\else 図目次\fi}
1523 \newcommand{\listtablename}{\if@english List of Tables\else 表目次\fi}
1524 \newcommand{\refname}{\if@english References\else 参考文献\fi}
1525 \newcommand{\bibname}{\if@english Bibliography\else 参考文献\fi}
1526 \newcommand{\indexname}{\if@english Index\else 索引\fi}
1527 \newcommand{\figurename}{\if@english Fig.~\else 図\fi}
1528 \newcommand{\tablename}{\if@english Table~\else 表\fi}
1529 \newcommand{\appendixname}{\if@english \else 付録\fi}
1530 \newcommand{\abstractname}{\if@english Abstract\else 概要\fi}
1531 \newif\if西暦 \西暦true
1532 \def\西暦{\西暦true}
1533 \def\和暦{\西暦false}
1534 \newcount\heisei \heisei\year \advance\heisei-1988\relax
1535 \def\today{%
1536   \if@english
1537     \ifcase\month\or
1538       January\or February\or March\or April\or May\or June\or
1539       July\or August\or September\or October\or November\or December\fi
1540       \space\number\day, \number\year
1541   \else
1542     \if西暦
1543       \number\year 年
1544       \number\month 月
1545       \number\day 日
1546     \else
1547       平成\number\heisei 年
1548       \number\month 月
1549       \number\day 日
1550     \fi
1551   \fi}
1552 \hyphenation{ado-be post-script ghost-script phe-nom-e-no-log-i-cal man-u-script}
1553 \if@slide \pagestyle{empty} \else \pagestyle{plain} \fi
1554 \pagenumbering{arabic}
1555 \if@twocolumn
1556   \twocolumn
1557   \sloppy
1558   \flushbottom
1559 \else
1560   \onecolumn
1561   \raggedbottom
1562 \fi
1563 \if@slide
1564   \renewcommand\kanjifamilydefault{\gtdefault}
1565   \renewcommand\familydefault{\sfdefault}
1566   \raggedright
1567   \ltj@setpar@global
1568   \ltjsetxkanjiskip{0.1em}\relax
1569 \fi
1570 \endinput
1571 %%
1572 %% End of file `ltjsarticle.cls'.