OSDN Git Service

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