Mercurial > hg > Papers > 2012 > sugi-prosym
diff Paper/ipsjcommon.sty @ 4:88a77b2c92ea
add makefile
author | e095732 <e095732@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 18 Nov 2012 03:32:29 +0900 |
parents | 58c6244a184d |
children |
line wrap: on
line diff
--- a/Paper/ipsjcommon.sty Sun Nov 18 02:33:16 2012 +0900 +++ b/Paper/ipsjcommon.sty Sun Nov 18 03:32:29 2012 +0900 @@ -1,1 +1,859 @@ -% Copyright (C) 1995,1996,1997,1998,1999,2000,2001 % by Hiroshi Nakashima, Yasuki Saito and % The Editorial Board of the IPSJ Journal % % ipsjcommon.sty 15-May-01 by Hiroshi Nakashima (ver 2.08) % (revision history deleted) % ipsjcommon.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0) %%%%%% Sectioning Commands %%%%%% % \section: 2sๆ่ % others: 1sๆ่ % % Note that \paragraph and \subparagraph act as \subsubsubsection and % \subsubsubsubsection resp. % % The form of sectioning header is; % <1 Kanji sp> \the<sect-command> [`.' if \section] <1 Kanji sp> <title> % Nothe that <1 Kanji sp> is that of \normalsize. \def\section{\@startsection {section}{1}{\@mojihaba}{\sec@aboveskip}{\sec@belowskip}{\fs@sec\bf}} \let\ipsj@section\section % 2.04(1) \def\subsection{\@startsection {subsection}{2}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} \def\subsubsection{\@startsection {subsubsection}{3}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} \def\paragraph{\@startsection {paragraph}{4}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} \def\subparagraph{\@startsection {subparagraph}{5}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} \newcounter{section} \newcounter{subsection}[section] \newcounter{subsubsection}[subsection] \newcounter{paragraph}[subsubsection] \newcounter{subparagraph}[paragraph] \def\thesection{\arabic{section}} \def\sec@section@postfix{.} \def\thesubsection{\thesection.\arabic{subsection}} \def\thesubsubsection{\thesubsection.\arabic{subsubsection}} \def\theparagraph{\thesubsubsection.\arabic{paragraph}} \def\thesubparagraph{\theparagraph.\arabic{subparagraph}} \setcounter{secnumdepth}{5} \def\appendix{\let\sec@sec\section \def\section{\@startsection {section}{1}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}% \def\thesection{\appendixprefix\arabic{section}}% \def\sec@section@postfix{\appendixpostfix}% \stepcounter{section}\setcounter{section}{0}% \@ifnextchar[%] {\sec@oappendix}{\sec@xappendix}} \def\sec@xappendix{\@ifstar{\let\section\sec@sec}% {\sec@sec*{\ifDS@english Appendix\else t^\fi}}} \def\sec@oappendix[#1]{\sec@sec*{\ifDS@english Appendix: \else t^\hskip\jspaceskip\fi #1}} \def\appendixprefix{A.} \def\appendixpostfix{} \def\acknowledgment{\par {\bf \ifDS@english Acknowledgments\else ำซ\fi}\hskip\@mojihaba \ignorespaces} \let\endacknowledgment\par \newif\ifipsj@recommendation \ipsj@recommendationfalse % 2.04(1) >> \def\recommendation#1{\global\ipsj@recommendationtrue \ifDS@draft\else \ra@putrcvacc\fi \ipsj@section*{#1} } \def\endrecommendation{\par\vskip\baselineskip\penalty\opt@magicpenalty} % 2.04(1) << % Modified \@startsection has a trick for 2sๆ่ of \section, which must % work even if \section appears the top of a page. The BEFORESKIP must be % inserted with respect to the previous baseline. So, we must go back to % the imaginary previous baseline at the top of a page. That is, we do; % \vskip\baselineskip \vspace*{-\baselineskip} % which resuls; % <a> do nothing at midpage % <b> go to the first baseline by \topskip, then go back to 0th % baseline by \vspace*. % The trick "\vskip-\prevdepth \prevdepth\z@" will assure exact vertical % space even when the last line has much depth. % % \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} \def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi \par \@tempskipa #4\relax \@afterindenttrue \ifdim\@tempskipa<\z@ \@tempskipa-\@tempskipa \@afterindentfalse\fi \if@nobreak \everypar{}\else \addpenalty{\@secpenalty}\fi \ifdim\@tempskipa>\z@ % Here is the trick for \section. \vskip-\prevdepth \prevdepth\z@ \vskip\baselineskip \vspace*{-\baselineskip}\vskip\@tempskipa\fi \@ifstar {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} % \@sect is modified to cope with `.' for \section and ถๆ่ % % \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[TITLE]{TITLE} \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth \def\@svsec{}\else \refstepcounter{#1} % 2.00(1)>> \let\@@protect\protect \def\protect{\noexpand\protect\noexpand} \edef\@svsec{\csname the#1\endcsname \csname sec@#1@postfix\endcsname \hskip\@mojihaba} \let\protect\@@protect\fi % 2.00(1)<< \@tempskipa #5\relax \ifdim \@tempskipa<\z@ \def\@svsechd{#6\hskip #3\relax\@svsec #8} % 2.00(1) \else \begingroup #6\relax \@hangfrom{\hskip #3\relax\@svsec}% {\interlinepenalty\@M \sec@mojidori{#8}\par}% \endgroup \fi \@xsect{#5}} % \@ssect is modified to cope with ถๆ่ % % \@sect{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}{TITLE} \def\@ssect#1#2#3#4#5{\@tempskipa #3\relax \ifdim \@tempskipa<\z@ \def\@svsechd{#4\hskip #1\relax #5}% \else \begingroup #4% \@hangfrom{\hskip #1}{\interlinepenalty\@M \sec@mojidori{#5}\par}\endgroup \fi \@xsect{#3}} %% Modify \@xsect to avoid (buggy) \clubpenalty=10000. (H.N.) \def\@xsect#1{\@tempskipa #1\relax \ifdim \@tempskipa<\z@ \glboal\@nobreakfalse \global\@noskipsectrue \everypar{\global\@noskipsecfalse \hskip-\parindent \begingroup \@svsechd \endgroup \unskip \hskip -#1\everypar{}}% \else \par \nobreak \vskip \@tempskipa \global\@nobreaktrue \everypar{\global\@nobreakfalse \if@afterindent\else {\setbox0\lastbox}\fi \everypar{}} \fi\ignorespaces} % Here is a trick for ถๆ่ of sectioning tilte. The rule is; % 2 - 4 Kanji char -> 5 Kanji char % otherwise -> natural width % \def\sec@mojidori#1{\setbox0\hbox{#1}\settowidth\@tempdimb{ }% \ifdim\wd0>4.5\@tempdimb #1\else \ifdim\wd0<1.5\@tempdimb #1\else \jintercharskip\fill \jasciikanjiskip\fill \jmathkanjiskip\fill \leavevmode\hbox to5\@tempdimb{#1\hfil}\fi\fi} %%%%%% List-like Environments %%%%%% % % LM RM LW LS LPI II % default 2K 0 0.75K 0.25K 0 0 % \enumerate 3K 0 3K 0 0 0 % \Enumerate 0 0 3K 0 0 3K % \ENUMERATE 0 0 3K 0 0 4K % \enumerate* 1K 0 3K 0 0 2K % \itemize 2K 0 2K 0 0 0 % \Itemize 0 0 2K 0 0 2K % \ITEMIZE 0 0 2K 0 0 3K % \itemize* 1K 0 2K 0 0 1K % \description 2K 0 0 1K 0 -1K % \Description 0 0 0 1K 0 1K % \DESCRIPTION 0 0 0 1K 0 2K % \description* 1K 0 0 1K 0 0 % \verse 3K 2K 0.75K 0.25K -1K -1K % \quotation 2K 2K 0.75K 0.25K 1K 1K % \quote 2K 2K 0.75K 0.25K 0 0 % % where LM is \leftmargin, RM is \rightmargin, LW is \labelwidth, LS is % \labelsep, \LPI is \listparindent, II is \itemindent, and K is Kanji char % width (\@mojihaba). % % All vertical space parameters, \topsep, \partopsep, \itemsep and \parsep, % are 0pt. \leftmargini2\@mojihaba \leftmarginii2\@mojihaba \leftmarginiii2\@mojihaba \leftmarginiv2\@mojihaba \leftmarginv2\@mojihaba \leftmarginvi2\@mojihaba \def\lst@listi{\labelsep.75\@mojihaba \labelwidth.25\@mojihaba \rightmargin\z@ \listparindent\z@ \itemindent\z@ \partopsep\z@ \parsep\z@ \topsep\z@ \itemsep\z@} \def\@listi{\leftmargin\leftmargini \lst@listi} \def\@listii{\leftmargin\leftmarginii \lst@listi} \def\@listiii{\leftmargin\leftmarginiii \lst@listi} \def\@listiv{\leftmargin\leftmarginiv \lst@listi} \def\@listv{\leftmargin\leftmarginv \lst@listi} \def\@listvi{\leftmargin\leftmarginvi \lst@listi} \@listi \def\labelenumi{(\,\theenumi\,)} \def\theenumi{\arabic{enumi}} \def\labelenumii{(\,\theenumii\,)} \def\theenumii{\alph{enumii}} \def\p@enumii{\theenumi} \def\labelenumiii{(\,\theenumiii\,)} \def\theenumiii{\roman{enumiii}} \def\p@enumiii{\theenumi(\theenumii)} \def\labelenumiv{(\,\theenumiv\,)} \def\theenumiv{\Alph{enumiv}} \def\p@enumiv{\p@enumiii\theenumiii} \def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else \advance\@enumdepth \@ne \edef\@enumctr{enum\romannumeral\the\@enumdepth} \list{\csname label\@enumctr\endcsname}{\usecounter {\@enumctr}\def\makelabel##1{##1\hss}% \leftmargin3\@mojihaba \labelwidth3\@mojihaba \labelsep\z@}\fi} \let\endenumerate\endlist \def\labelitemi{$\bullet$} \def\labelitemii{\bf --} \def\labelitemiii{$\ast$} \def\labelitemiv{$\cdot$} \def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% \list{\csname\@itemitem\endcsname}{\def\makelabel##1{\hss##1\hss}% \labelwidth2\@mojihaba \labelsep\z@}\fi} \let\enditemize\endlist \def\description{\list{}{\labelwidth\z@ \labelsep\@mojihaba \itemindent\labelsep \advance\itemindent-\leftmargin \def\makelabel##1{\bf ##1}}} \let\enddescription\endlist \let\latex@trivlist\@trivlist \def\lst@trivlist#1#2{\leftmargin#1\relax \itemindent\labelwidth \advance\itemindent\labelsep \advance\itemindent#2\relax \let\@trivlist\latex@trivlist \@trivlist} \def\lst@Trivlist{\def\@trivlist{\lst@trivlist\z@\z@}} \def\Enumerate{\lst@Trivlist \enumerate} \let\endEnumerate\endlist \def\Itemize{\lst@Trivlist \itemize} \let\endItemize\endlist \def\Description{\lst@Trivlist \description} \let\endDescription\endlist \def\lst@TRIVLIST{\def\@trivlist{\lst@trivlist\z@\@mojihaba}} \def\ENUMERATE{\lst@TRIVLIST \enumerate} \let\endENUMERATE\endlist \def\ITEMIZE{\lst@TRIVLIST \itemize} \let\endITEMIZE\endlist \def\DESCRIPTION{\lst@TRIVLIST \description} \let\endDESCRIPTION\endlist \def\lst@strivlist{\def\@trivlist{\lst@trivlist\@mojihaba{-\@mojihaba}}} \@namedef{enumerate*}{\lst@strivlist \enumerate} \@namedef{endenumerate*}{\endlist} \@namedef{itemize*}{\lst@strivlist \itemize} \@namedef{enditemize*}{\endlist} \@namedef{description*}{\lst@strivlist \description} \@namedef{enddescription*}{\endlist} \def\verse{\let\\=\@centercr \list{}{\itemindent-\@mojihaba \listparindent\itemindent \rightmargin\leftmargin \advance\leftmargin\@mojihaba}\item[]} \let\endverse\endlist \def\quotation{\list{}{\listparindent\@mojihaba \itemindent\listparindent \rightmargin\leftmargin}\item[]} \let\endquotation\endlist \def\quote{\list{}{\rightmargin\leftmargin}\item[]} \let\endquote\endlist \def\newtheorem{\@ifstar {\theo@newtheorem{\theo@it}{\ }}{\theo@newtheorem{}{\theo@sp}}} \def\theo@newtheorem#1#2#3{\@namedef{theo@it@#3}{#1}\@namedef{theo@sp@#3}{#2}% \@ifnextchar[%] {\@othm{#3}}{\@nthm{#3}}} \def\@begintheorem#1#2{\DESCRIPTION \csname theo@it@\@currenvir\endcsname \item[#1\csname theo@sp@\@currenvir\endcsname #2]} \def\@opargbegintheorem#1#2#3{\DESCRIPTION \csname theo@style@\@currenvir\endcsname \item[#1\csname theo@sp@\@currenvir\endcsname #2\ (#3)]} \let\@endtheorem\endlist % 1.02(2) \ifDS@english \let\theo@it\it \let\theo@sp\ % \else \let\theo@it\relax \let\theo@sp\relax \fi %%%%%% Bibliography %%%%%% % % 1. Label format is "<nn>)". % 2. \leftmargin 24Q (or 2K) % 3. \labelsep is 6Q (or 0.5K) % 4. \baselineskip is 16Q(j)/15Q(e)/normal(d) % 5. ~ and \ can be shrunk to 0pt. \def\thebibliography#1{% \section*{\hskip-\@mojihaba\hfill\hbox{\bib@refname}\hfill\hskip\z@} \ifDS@draft \@tempdima\@mojihaba \else\@tempdima12\@Q\fi \list{\arabic{enumi}\rlap{%( )}}% {\fs@bibliography \leftmargin2\@tempdima \labelwidth\z@ \labelsep\@tempdima \itemindent.5\@tempdima \usecounter{enumi}\def\makelabel##1{\hss\llap{##1}}} \def\newblock{\hskip .11em plus .33em minus .07em} \sloppy \frenchspacing \def\ {\hskip\fontdimen\tw@\font plus\fontdimen\thr@@\font minus\fontdimen\tw@\font\relax}} \ifDS@english \def\bib@refname{References} \else {\fs@sec \@tempdima7\jspaceskip \xdef\bib@refname{\hbox to\the\@tempdima{\jintercharskip\fill Qlถฃ}}} \fi \newdimen\bib@adjustheight \bib@adjustheight-\maxdimen \def\endthebibliography{\endlist \par \@normalsize \@tempdima\@colht \advance\@tempdima-\@colroom \advance\@tempdima\pagetotal \advance\@tempdima-\prevdepth \advance\@tempdima-\topskip \@tempdimb\@tempdima \divide\@tempdima\baselineskip \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip \advance\@tempdima-\@tempdimb \ifdim\@tempdima<\z@ \advance\@tempdima\baselineskip \fi \vskip-\prevdepth \vskip\@tempdima \prevdepth\z@ \bib@adjustheight\@tempdimb \advance\bib@adjustheight\@tempdima \global\advance\bib@adjustheight\topskip \if@firstcolumn\else\global\advance\bib@adjustheight\@M pt\fi} %%%%%% Floats %%%%%% % You may need to change following parameters \setcounter{topnumber}{4} \setcounter{bottomnumber}{4} \setcounter{totalnumber}{8} \setcounter{dbltopnumber}{4} \def\topfraction{.9} \def\bottomfraction{.9} \def\textfraction{.1} \def\dbltopfraction{.9} \def\floatpagefraction{.9} \def\dblfloatpagefraction{.9} \newcounter{figure} \newcounter{table} \def\thefigure{\@arabic\c@figure} \def\thetable{\@arabic\c@table} \def\fps@figure{tbp} \def\fps@table{tbp} \def\ftype@figure{1} \def\ftype@table{2} \def\fnum@figure{\fname@figure\thefigure} \def\fnum@table{\fname@table\thetable} \ifDS@english \def\fname@figure{Fig.\,} % 2.06(1) \def\fname@Figure{Figure~} \def\fname@table{Table~} \else \def\fname@figure{}\fref@nobreak} % 1.06(1) \let\fname@Figure\fname@figure \def\fname@table{\\fref@nobreak} % 1.06(1) \fi \def\fnum@efigure{Fig.\,\thefigure} % 2.06(1) \def\fnum@etable{Table~\thetable} % 1.06(3) >> \def\figure{\let\cap@afterskip\relax \let\flt@fontsize\relax \@float{figure}} \def\endfigure{\end@float} \@namedef{figure*}{\let\cap@afterskip\relax \let\flt@fontsize\relax \@dblfloat{figure}} \@namedef{endfigure*}{\end@dblfloat} %% Default font for table env. is \footnotesize (H.N.) \def\table{\let\cap@beforeskip\relax \let\flt@fontsize\fs@table \@float{table}} \def\endtable{\end@float} \@namedef{table*}{\let\cap@beforeskip\relax \let\flt@fontsize\fs@table \@dblfloat{table}} % 2.01(2) \@namedef{endtable*}{\end@dblfloat} % 1.06(3) << \let\latex@float\@float \let\latex@dbflt\@dbflt \def\@float{\cap@linewidth\hsize \cap@hsize\hsize \latex@float} \def\@dbflt{\cap@linewidth.8\textwidth \cap@hsize.667\textwidth \latex@dbflt} \let\latex@xfloat\@xfloat % 1.06(3) \def\@xfloat#1[#2]{\latex@xfloat#1[#2]\flt@fontsize} % 1.06(3) \def\end@float{\flt@endfloat \ifdim\bib@adjustheight=-\maxdimen\else \advance\bib@adjustheight\@tempdima \global\advance\bib@adjustheight\baselineskip \fi \ifnum\@floatpenalty <\z@ \@nameuse{@largefloatcheck}% % 2.00(2) \@cons\@currlist\@currbox \ifdim \ht\@currbox >\textheight \ht\@currbox\textheight \fi \ifnum\@floatpenalty < -\@Mii \penalty -\@Miv \@tempdima\prevdepth \vbox{} \prevdepth\@tempdima \penalty\@floatpenalty \else \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@esphack \fi\fi} \def\end@dblfloat{\if@twocolumn \flt@endfloat \ifnum\@floatpenalty <\z@ \@cons\@dbldeferlist\@currbox\fi \ifnum \@floatpenalty =-\@Mii \@esphack\fi\else\end@float\fi} \def\flt@endfloat{\par \vskip\z@ \global\@minipagefalse \@nameuse{outer@nobreak}\egroup % 2.00(2) \@nameuse{color@endbox}\@normalsize % 2.00(2) \@tempdima\ht\@currbox \advance\@tempdima\dp\@currbox \divide\@tempdima\baselineskip \@tempcnta\@tempdima \advance\@tempcnta\@ne \@tempdima\@tempcnta\baselineskip \global\setbox\@currbox\vbox to\@tempdima{\vfil\box\@currbox\vfil}} \def\cap@beforeskip{\nointerlineskip\vskip5pt} \def\cap@afterskip{\nointerlineskip\vskip5pt} \long\def\@caption#1[#2]#3{\par\begingroup \fs@caption \cap@beforeskip \@makecaption{{\bf \csname fnum@#1\endcsname}}{\ignorespaces#3}\par \ifDS@english \cap@afterskip \fi \endgroup} \def\ecaption{\@dblarg{\@ecaption\@captype}} \long\def\@ecaption#1[#2]#3{\par \begingroup \fs@caption \@makecaption{\csname fnum@e#1\endcsname}{\ignorespaces #3}\par \cap@afterskip \endgroup} \newif\ifcap@sw \newdimen\cap@linewidth \newdimen\cap@hsize \newcount\cap@prevgraf \newbox\cap@box \let\latex@label\label \long\def\@makecaption#1#2{\begingroup \gdef\cap@label{}\let\label\@gobble \setbox0\hbox{#1\hskip\jspaceskip} \advance\cap@linewidth-\wd0 \advance\cap@hsize-\wd0 \cap@makepar\cap@linewidth{#2}{\def\label##1{{% %1.03(1) \def\protect{\noexpand\protect\noexpand} %1.03(1) \xdef\cap@label{\cap@label\protect\label{##1}}}}} %1.03(1) \cap@swtrue \ifnum\cap@prevgraf=\@ne \setbox1\vbox{\unvcopy1\cap@getbox1 \ifhbox1 \global\setbox\cap@box\hbox{\unhbox1} \ifdim\wd\cap@box>\cap@linewidth\else \global\cap@swfalse \fi\fi} \ifcap@sw\else \cap@put{\vtop{\box\cap@box\hbox{}}} \fi\fi \ifcap@sw \cap@makepar\cap@hsize{#2}\relax \ifnum\cap@prevgraf=\tw@ \setbox1\vbox{\unvcopy1\cap@getbox2\cap@getbox3 \ifhbox2\ifhbox3 \setbox2\hbox{\unhbox2}\setbox3\hbox{\unhbox3} \ifdim\wd2>\cap@hsize\else \ifdim\wd3>\cap@hsize\else \global\cap@swfalse \global\setbox\cap@box\vtop{\box3\box2\hbox{}} \fi\fi\fi\fi}\fi \ifcap@sw \setbox1\vtop{\hsize\cap@hsize \@parboxrestore #2\par\hbox{}}\cap@put{\box1} \else\cap@put{\box\cap@box}\fi \fi \endgroup \cap@label} \long\def\cap@makepar#1#2#3{\setbox1\vbox{\hsize#1\@parboxrestore \rightskip\@flushglue \hfuzz\maxdimen \exhyphenpenalty\z@ \finalhyphendemerits\z@ \let\@@par\cap@par \let\par\cap@par \global\cap@prevgraf\z@ #3#2\cap@par}} \let\cap@@par\@@par \def\cap@par{\cap@@par\global\advance\cap@prevgraf\prevgraf \prevgraf\z@} \def\cap@put#1{\hbox to\hsize{\hss\box0#1\hss} \vskip-\baselineskip\prevdepth\z@} \def\cap@getbox#1{\@tempcnta10\relax\@whilenum\@tempcnta>0\do{% \unskip\unkern\unpenalty\advance\@tempcnta\m@ne}\setbox#1\lastbox} \def\figref{\fref@ref\fname@figure} \def\Figref{\fref@ref\fname@Figure} \def\tabref{\fref@ref\fname@table} \let\Tabref\tabref \def\fref@ref#1{\@ifstar{\fref@sref{#1}}{\fref@iref\bf{#1}}} \def\fref@iref#1#2#3{{\@ifundefined{fref@r@#3}% {#1#2\fref@doref{#3}\global\@namedef{fref@r@#3}{}}{#2\fref@doref{#3}}}} \def\fref@sref#1#2{#1\fref@doref{#2}} \def\fref@doref#1{{\let\null\relax\ref{#1}}} % 1.06(2) \def\fref@nobreak{\nobreak\ifASCII\else\hskip\@@jasciikanjiskip\fi} % 1.06(1) \def\fig@extraspace{3mm} %1.04(4) \def\figspace#1{\vskip#1\vskip\fig@extraspace} %1.04(4) %%%%%% Footnote %%%%%% %% The following codes are from pfnote.sty, by H. Nakashima of Kyoto Univ., %% to reset footnote counter at the begining of every page. (H.N.) % 1.04(2c)>> \def\footnote{\@ifnextchar[%] {\@xfootnote}{{\PF@adjustfnote \stepcounter{\@mpfn}% \xdef\@thefnmark{\thempfn}}\@footnotemark\@footnotetext}} \def\footnotemark{\@ifnextchar[%] {\@xfootnotemark}{{\PF@adjustfnote \stepcounter{footnote}% \xdef\@thefnmark{\thefootnote}}\@footnotemark}} % 1.04(2c)<< \newcount\PF@fnotectr\global\PF@fnotectr=\z@ \newcount\PF@page\global\PF@page=-\@M \def\PF@thepage{\number\c@page} \def\PF@adjustfnote{\global\advance\PF@fnotectr\@ne \expandafter\ifx\csname PF@fn\number\PF@fnotectr\endcsname\relax \global\c@footnote\z@\else \expandafter\@tempcnta\csname PF@fn\number\PF@fnotectr\endcsname\relax \ifnum\@tempcnta=\PF@page\else \global\PF@page\@tempcnta \global\c@footnote\z@ \fi\fi % 1.04(2a)>> \expandafter\ifx\csname PF@fnpage\number\PF@page\endcsname\relax \else \expandafter\@tempcnta\csname PF@fnpage\number\PF@page\endcsname\relax % 2.00(4)>> \ifnum\@tempcnta>\tw@ \global\let\thefootnote\thefootnotemany \else \global\let\thefootnote\thefootnoteord \fi\fi % 2.00(4)<< \@tempcnta\c@footnote \multiply\@tempcnta\@M \advance\@tempcnta\PF@fnotectr \if@filesw{\let\PF@thepage\relax \xdef\@gtempa{\write\@auxout{\string\PF@fnpage {\number\@tempcnta}{\PF@thepage}}}}% \@gtempa\fi} % 1.04(2a)<< % 1.04(2a)>> \def\PF@fnpage#1#2{\@tempcnta#1\relax \@tempcntb\@tempcnta \divide\@tempcnta\@M \expandafter\xdef\csname PF@fnpage#2\endcsname{\number\@tempcnta} \multiply\@tempcnta\@M \advance\@tempcntb-\@tempcnta \global\@namedef{PF@fn\number\@tempcntb}{#2}} % 1.04(2a)<< %% End of quote from pfnote.sty. (H.N.) \long\def\@makefntext#1{\leftskip20\@Q \noindent\llap{\@makefnmarkforfn\hskip-\scriptspace\hskip5\@Q}#1} % 1.04(2e) \def\@makefnmarkstar{$^{\hbox{\tiny\fn@fontv\@thefnmark}}$} % 1.04(2d) \def\@makefnmarkdagger{$\@thefnmark$} \let\@makefnmarkforfn\@makefnmarkstar \def\@makefnmark{\smash{\hbox{\scriptsize\fn@fontvi$^{\@thefnmark}$}}} % 1.04(2d) % smashed to make it % zero height %% Awful definition of \thefootnote to put subsequent 's. (H.N.) \def\thefootnote{\leavevmode\hbox{% \ifcase\c@footnote\or \or \or \else \thefootnotemany\fi}} % 1.04(2b) \def\thefootnotemany{\hbox{\hskip\z@\number\c@footnote}} % 1.04(2b) % 2.05(3) \let\thefootnoteord\thefootnote %%%%%% Citation %%%%%% %% The following codes for \cite are from overcite.sty by D. Arseneau, but %% modified for Trans. IPSJ (H.N.) % O V E R C I T E . S T Y % % version 3.2 (Mar 1993) % % Compressed, sorted lists of superscript numerical citations. % see also CITE.STY and DRFTCITE.STY % % Copyright (C) 1989-1993 by Donald Arseneau % These macros may be freely transmitted, reproduced, or modified for % non-commercial purposes provided that this notice is left intact. % \def\cite{\protect\@p@cite} \def\@p@cite{\let\@citeY\@citey \@p@@cite} \def\Cite{\protect\@p@Cite} \def\@p@Cite{\let\@citeY\@Citey \@p@@cite} \def\@p@@cite{\@ifnextchar[%] {\@tempswatrue\@citex}{\@tempswafalse\@citex[]}} \def\@citex[#1]#2{\@citeY{\@p@citen{#2}}\if@tempswa\space[#1]\fi} \def\@citey#1{\leavevmode\unskip\kern\z@$\let\@cite@tiestyle\scriptstyle % % 2.06(2) \def\@cite@punct{,}\m@th^{\hbox{\scriptsize#1}}$\spacefactor\@m} \def\@Citey#1{\let\@cite@tiestyle\textstyle \ifDS@english \def\@cite@punct{,\space\penalty\@highpenalty}%1.04(1) \else\def\@cite@punct{C}\fi#1\spacefactor\@m} %1.04(1) \def\@p@citen#1{% \edef\@tempa{\@ignspaftercomma,#1, \@end, }% \edef\@tempa{\expandafter\@ignendcommas\@tempa\@end}% \if@filesw \immediate\write\@auxout{\string\citation{\@tempa}}\fi \@tempcntb\m@ne \let\@h@ld\relax \let\@citea\@empty \let\@celt\relax \def\@cite@list{}% % 2.06(3) \@for\@citeb:=\@tempa\do{\@make@cite@list}% \@tempcnta\m@ne \let\@celt\@compress@cite \@cite@list \@h@ld} \def\@ignspaftercomma#1, {\ifx\@end#1\@empty\else #1,\expandafter\@ignspaftercomma\fi} \def\@ignendcommas,#1,\@end{#1} %( \let\@cite@rp) \chardef\@cite@escape`\\ \def\@make@cite@list{% \expandafter\let\expandafter\@B@citeB\csname b@\@citeb\endcsname \ifx\@B@citeB\relax \@citea {\bf ?}\@cite@rp \let\@citea\@cite@punct \@latex@warning{Citation `\@citeb' on page \thepage\space undefined}% % 2.00(3) \global\@namedef{b@\@citeb}{{\bf ?}}% \else \ifcat \@cite@escape\ifnum\z@<0\@B@citeB \@cite@escape\else A\fi \@tempcnta\@B@citeB \relax \ifnum \@tempcnta>\@tempcntb \edef\@cite@list{\@cite@list \@celt{\@B@citeB}}% \@tempcntb\@tempcnta \else \edef\@cite@list{\expandafter\@sort@celt\@cite@list\@gobble @}% \fi \else \@citea \@B@citeB \@cite@rp \let\@citea\@cite@punct \fi\fi} \def\@sort@celt#1#2{\ifx \@celt #1% parameters are \@celt {num} \ifnum #2<\@tempcnta % number goes later in list \@celt{#2}\expandafter\expandafter\expandafter\@sort@celt \else \@celt{\number\@tempcnta}\@celt{#2}\fi\fi} \def\@compress@cite#1{\advance\@tempcnta\@ne \ifnum #1=\@tempcnta \ifx\@h@ld\relax \edef\@h@ld{\@citea #1\@cite@rp}% \else \edef\@h@ld{\hbox{$\@cite@tiestyle\sim$}% \penalty\@highpenalty #1\@cite@rp}\fi \else \@h@ld \@citea #1\@cite@rp \let\@h@ld\relax \fi \@tempcnta#1\relax \let\@citea\@cite@punct} %% End of quote from overcite.sty. (H.N.) \def\multicite{\protect\@p@multicite} \def\@p@multicite#1#2{\@citey{\@p@citen{#1}$\scriptstyle\sim$\@p@citen{#2}}} \def\multiCite{\protect\@p@multiCite} \def\@p@multiCite#1#2{\@Citey{\@p@citen{#1}$\sim$\penalty\@highpenalty \@p@citen{#2}}} %%%%%% Box Height Adjustment and Displayed Math %%%%%% \newbox\adj@boxa \newbox\adj@boxb \newdimen\adj@height \@tempdima\baselineskip \advance\@tempdima-\topskip \edef\adj@minaboveclearance{\the\@tempdima} \@tempdima\baselineskip \advance\@tempdima-1ex \edef\adj@maxaboveclearance{\the\@tempdima} \ifDS@english \setbox0\hbox{A} \else \setbox0\hbox{ } \fi \@tempdima\baselineskip \advance\@tempdima-\ht0 \advance\@tempdima\dp0 \edef\adj@bhd{\the\@tempdima} % 2.01(1) >> \def\adjustvboxheight{\ifinner \let\@tempa\relax \let\endadjustvboxheight\relax \let\@endadjustvboxheight\relax \else \let\@tempa\@adjustvboxheight \fi \@tempa} \def\@adjustvboxheight{\par\penalty\z@ \global\setbox\adj@boxa\vbox\bgroup\relax % 1.01(3) \let\@footnotetext\@mpfootnotetext % 2.02(1) % % 2.05(1) \hsize\columnwidth} % 2.01(1) << \def\endadjustvboxheight{\adj@closebox \adj@putbox \ifvoid\@mpfootins\else\insert\footins{\unvbox\@mpfootins}\fi % % 2.02(1) \global\@ignoretrue\@endparenv} \def\adj@closebox{\egroup \normalsize \boxmaxdepth\@maxdepth % 1.01(1,3) \setbox\adj@boxa\vbox{\unvbox\adj@boxa} % 1.01(3) \adj@height\ht\adj@boxa \advance\adj@height\adj@minaboveclearance\relax \@tempdima\adj@height \divide\adj@height\baselineskip \@tempcnta\adj@height \adj@height\@tempcnta\baselineskip \ifdim\adj@height<\@tempdima \advance\adj@height\baselineskip\fi} \def\adj@putbox{\vskip-\prevdepth \prevdepth\z@ \vskip\baselineskip \vspace*{-\baselineskip}\advance\@tempdima-\adj@height \@tempdima-\@tempdima \advance\@tempdima\adj@minaboveclearance\relax \@tempdimb\dp\adj@boxa \ifdim\@tempdima>\adj@maxaboveclearance\relax \advance\@tempdima-\@tempdimb \advance\@tempdima\adj@bhd\relax \divide\@tempdima\tw@ \vbox to\adj@height{\vskip\@tempdima \box\adj@boxa \vss} \else \vbox to\adj@height{\vfil\box\adj@boxa\vskip-\@tempdimb}\fi} \newcount\adj@deadcycle \@namedef{adjustvboxheight*}{\adjustvboxheight} \@namedef{endadjustvboxheight*}{\@endadjustvboxheight} \def\@endadjustvboxheight{\global\adj@deadcycle10\relax \@iendadjustvboxheight \ifvoid\@mpfootins\else\insert\footins{\unvbox\@mpfootins}\fi % % 2.05(2) \global\@ignoretrue\@endparenv} \def\@iendadjustvboxheight{\adj@closebox \ifnum\adj@deadcycle<\@ne \ipsj@error{I cannot adjust too tall/deep box}{\@ehd}\fi % 2.00(3) \global\advance\adj@deadcycle\m@ne \ifdim\pagegoal=\maxdimen \@tempdimb\@colht \advance\@tempdimb-\topskip \advance\@tempdimb\baselineskip \else \@tempdimb\pagegoal \advance\@tempdimb-\pagetotal \advance\@tempdimb-\pagedepth \advance\@tempdimb\prevdepth \fi % 1.01(4a) \let\next\relax \ifdim\adj@height<\@tempdimb \adj@putbox \else \ifdim\adj@height=\@tempdimb \adj@putbox \else \divide\@tempdimb\baselineskip \@tempcnta\@tempdimb % 1.01(4b)>> \@tempdimb\@tempcnta\baselineskip \advance\@tempdimb-\adj@minaboveclearance\relax % 1.01(4b)<< \setbox\adj@boxa\vbox{\allowbreak\unvbox\adj@boxa} \vbadness\@M \splittopskip\z@ \splitmaxdepth\@maxdepth %1.01(1) \setbox\@tempboxa\vsplit\adj@boxa to\@tempdimb \setbox\adj@boxb\copy\adj@boxa \setbox\@tempboxa\vbox{\unvbox\@tempboxa} \@tempdimb\ht\@tempboxa \advance\@tempdimb\dp\@tempboxa \ifdim\@tempdimb>\z@ \setbox\adj@boxa\vbox\bgroup\unvbox\@tempboxa \adj@closebox \adj@putbox \newpage \else \newpage \fi \setbox\adj@boxa\vbox\bgroup\unvbox\adj@boxb \let\next\@iendadjustvboxheight \fi\fi \next} \def\adj@eqindent{2\@mojihaba} \def\[{\adjustvboxheight\advance\@totalleftmargin\adj@eqindent\relax \hbox to\hsize\bgroup\hskip\@totalleftmargin$\displaystyle} \def\]{$\hfill\egroup\endadjustvboxheight\@doendpe\ignorespaces} % 2.03(1) \def\equation{\refstepcounter{equation}\[} \def\endequation{\hfill\@eqnnum$\egroup\endadjustvboxheight} \def\theequation{\arabic{equation}} \def\@eqnnum{{\rm (\theequation)\hskip\@mojihaba}} \def\adj@eqnlineskip{3pt} \def\adj@eqnlineskiplimit{2pt} \def\eqnarray{\futurelet\@tempa\adj@eqnarray} \def\adj@eqnarray{\ifx\@tempa[%] \let\next\adj@ieqnarray\else\let\next\adj@xeqnarray\fi\next} \def\adj@ieqnarray[#1]{\@ifundefined{adj@xeqnarray#1}% {\ipsj@warning{Unknown eqnarray option `#1'}\adj@xeqnarray}% 2.00(3) {\@nameuse{adj@xeqnarray#1}}} \def\adj@xeqnarray{\adjustvboxheight \advance\@totalleftmargin\adj@eqindent\relax \stepcounter{equation}\let\@currentlabel=\theequation \global\@eqnswtrue \global\@eqcnt\z@\tabskip\z@\let\\=\@eqncr \lineskip\adj@eqnlineskip \lineskiplimit\adj@eqnlineskiplimit \jot\z@ \halign to \hsize\bgroup\@eqnsel\hskip\@totalleftmargin \hfil$\displaystyle{##}$&\global\@eqcnt\@ne % 1.01(2) \hfil$\displaystyle{}\mathrel{##}{}$\hfil &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil \tabskip\@centering&\llap{##}\tabskip\z@\cr} \def\adj@xeqnarrays{\let\endadjustvboxheight\@endadjustvboxheight \adj@xeqnarray} \@namedef{adj@xeqnarrays!}{\par\let\adjustvboxheight\relax \let\endadjustvboxheight\relax \adj@xeqnarray} \def\endeqnarray{\@@eqncr \egroup \global\advance\c@equation\m@ne \endadjustvboxheight} %%%%%% Kinsoku Parameters %%%%%% % 1.04(3)>> \ifASCII \postbreakpenalty`\`=\@M \prebreakpenalty`'=\@M \prebreakpenalty`)=\@M \postbreakpenalty`(=\@M \prebreakpenalty`]=\@M \postbreakpenalty`[=\@M \prebreakpenalty`\}=\@M \postbreakpenalty`\{=\@M \prebreakpenalty`E=\@M \prebreakpenalty`F=\@M \prebreakpenalty`G=\@M \prebreakpenalty`H=\@M \prebreakpenalty`I=\@M \prebreakpenalty\jis"212D=\@M % L \postbreakpenalty\jis"212E=\@M % M \postbreakpenalty\jis"2146=\@M % e \prebreakpenalty\jis"2147=\@M % f \postbreakpenalty\jis"2148=\@M % g \prebreakpenalty\jis"2149=\@M % h \prebreakpenalty`j=\@M \postbreakpenalty`i=\@M \prebreakpenalty`p=\@M \postbreakpenalty`o=\@M \prebreakpenalty`n=\@M \postbreakpenalty`m=\@M \postbreakpenalty`e=\@M \prebreakpenalty`f=\@M \postbreakpenalty\jis"214C=\@M %k \prebreakpenalty\jis"214D=\@M % l \postbreakpenalty\jis"2152=\@M % q \prebreakpenalty\jis"2153=\@M % r \postbreakpenalty\jis"2154=\@M % s \prebreakpenalty\jis"2155=\@M % t \postbreakpenalty\jis"2156=\@M % u \prebreakpenalty\jis"2157=\@M % v \postbreakpenalty\jis"2158=\@M % w \prebreakpenalty\jis"2159=\@M % x \postbreakpenalty\jis"215A=\@M % y \prebreakpenalty\jis"215B=\@M % z \prebreakpenalty`=\@M \prebreakpenalty`ก=\@M \prebreakpenalty`ฃ=\@M \prebreakpenalty`ฅ=\@M \prebreakpenalty`ง=\@M \prebreakpenalty`ม=\@M \prebreakpenalty`แ=\@M \prebreakpenalty`ใ=\@M \prebreakpenalty`ๅ=\@M \prebreakpenalty\jis"246E=\@M % ์ \prebreakpenalty`@=\@M \prebreakpenalty`B=\@M \prebreakpenalty`D=\@M \prebreakpenalty`F=\@M \prebreakpenalty`H=\@M \prebreakpenalty`b=\@M \prebreakpenalty`=\@M \prebreakpenalty` =\@M \prebreakpenalty`=\@M \prebreakpenalty\jis"256E=\@M % \prebreakpenalty\jis"2575=\@M % \prebreakpenalty\jis"2576=\@M % \fi % 1.04(3)<< %%%%%% Miscellaneous %%%%%% %% \doublerulesep is 1pt (H.N.) \arraycolsep5pt \tabcolsep6pt \arrayrulewidth.4pt \doublerulesep1pt \tabbingsep.5\@mojihaba \skip\@mpfootins\skip\footins \fboxsep3pt \fboxrule.4pt %% We simply allow (not encourage) club and widow lines. (H.N.) \clubpenalty\z@ \widowpenalty\z@ \displaywidowpenalty\z@ % The following redefinition influences \linebreak etc. \def\sloppy{\tolerance9999\hbadness9999\hfuzz.5\p@ \vfuzz.5\p@} \endinput \ No newline at end of file +% Copyright (C) 1995,1996,1997,1998,1999,2000,2001 +% by Hiroshi Nakashima, Yasuki Saito and +% The Editorial Board of the IPSJ Journal +% +% ipsjcommon.sty 30-Jan-02 by Hiroshi Nakashima (ver 2.09) +% (revision history deleted) +% ipsjcommon.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0) + +%%%%%% Sectioning Commands %%%%%% + +% \section: 2่กๅใ +% others: 1่กๅใ +% +% Note that \paragraph and \subparagraph act as \subsubsubsection and +% \subsubsubsubsection resp. +% +% The form of sectioning header is; +% <1 Kanji sp> \the<sect-command> [`.' if \section] <1 Kanji sp> <title> +% Nothe that <1 Kanji sp> is that of \normalsize. + +\def\section{\@startsection + {section}{1}{\@mojihaba}{\sec@aboveskip}{\sec@belowskip}{\fs@sec\bf}} +\let\ipsj@section\section % 2.04(1) +\def\subsection{\@startsection + {subsection}{2}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} +\def\subsubsection{\@startsection + {subsubsection}{3}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} +\def\paragraph{\@startsection + {paragraph}{4}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} +\def\subparagraph{\@startsection + {subparagraph}{5}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}} + +\newcounter{section} +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\newcounter{subparagraph}[paragraph] + +\def\thesection{\arabic{section}} +\def\sec@section@postfix{.} +\def\thesubsection{\thesection.\arabic{subsection}} +\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} +\def\theparagraph{\thesubsubsection.\arabic{paragraph}} +\def\thesubparagraph{\theparagraph.\arabic{subparagraph}} + +\setcounter{secnumdepth}{5} + +\def\appendix{\let\sec@sec\section + \def\section{\@startsection + {section}{1}{\@mojihaba}{\z@}{\z@}{\fs@subsec\bf}}% + \def\thesection{\appendixprefix\arabic{section}}% + \def\sec@section@postfix{\appendixpostfix}% + \stepcounter{section}\setcounter{section}{0}% + \@ifnextchar[%] + {\sec@oappendix}{\sec@xappendix}} +\def\sec@xappendix{\@ifstar{\let\section\sec@sec}% + {\sec@sec*{\ifDS@english Appendix\else ไป้ฒ\fi}}} +\def\sec@oappendix[#1]{\sec@sec*{\ifDS@english Appendix: \else + ไป้ฒ\hskip\jspaceskip\fi #1}} +\def\appendixprefix{A.} +\def\appendixpostfix{} + +\def\acknowledgment{\par + {\bf \ifDS@english Acknowledgments\else ่ฌ่พ\fi}\hskip\@mojihaba + \ignorespaces} +\let\endacknowledgment\par + +\newif\ifipsj@recommendation \ipsj@recommendationfalse % 2.04(1) >> +\def\recommendation#1{\global\ipsj@recommendationtrue + \ifDS@draft\else \ra@putrcvacc\fi + \ipsj@section*{#1} +} +\def\endrecommendation{\par\vskip\baselineskip\penalty\opt@magicpenalty} + % 2.04(1) << + +% Modified \@startsection has a trick for 2่กๅใ of \section, which must +% work even if \section appears the top of a page. The BEFORESKIP must be +% inserted with respect to the previous baseline. So, we must go back to +% the imaginary previous baseline at the top of a page. That is, we do; +% \vskip\baselineskip \vspace*{-\baselineskip} +% which resuls; +% <a> do nothing at midpage +% <b> go to the first baseline by \topskip, then go back to 0th +% baseline by \vspace*. +% The trick "\vskip-\prevdepth \prevdepth\z@" will assure exact vertical +% space even when the last line has much depth. +% +% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE} +\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi + \par \@tempskipa #4\relax + \@afterindenttrue + \ifdim\@tempskipa<\z@ \@tempskipa-\@tempskipa \@afterindentfalse\fi + \if@nobreak \everypar{}\else \addpenalty{\@secpenalty}\fi + \ifdim\@tempskipa>\z@ +% Here is the trick for \section. + \vskip-\prevdepth \prevdepth\z@ \vskip\baselineskip + \vspace*{-\baselineskip}\vskip\@tempskipa\fi + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} + +% \@sect is modified to cope with `.' for \section and ๆๅญๅใ +% +% \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[TITLE]{TITLE} +\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth + \def\@svsec{}\else + \refstepcounter{#1} + % 2.00(1)>> + \let\@@protect\protect \def\protect{\noexpand\protect\noexpand} + \edef\@svsec{\csname the#1\endcsname \csname sec@#1@postfix\endcsname + \hskip\@mojihaba} \let\protect\@@protect\fi % 2.00(1)<< + \@tempskipa #5\relax + \ifdim \@tempskipa<\z@ + \def\@svsechd{#6\hskip #3\relax\@svsec #8} % 2.00(1) + \else + \begingroup #6\relax + \@hangfrom{\hskip #3\relax\@svsec}% + {\interlinepenalty\@M \sec@mojidori{#8}\par}% + \endgroup + \fi \@xsect{#5}} + +% \@ssect is modified to cope with ๆๅญๅใ +% +% \@sect{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}{TITLE} +\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax + \ifdim \@tempskipa<\z@ \def\@svsechd{#4\hskip #1\relax #5}% + \else \begingroup #4% + \@hangfrom{\hskip #1}{\interlinepenalty\@M + \sec@mojidori{#5}\par}\endgroup + \fi \@xsect{#3}} + +%% Modify \@xsect to avoid (buggy) \clubpenalty=10000. (H.N.) +\def\@xsect#1{\@tempskipa #1\relax + \ifdim \@tempskipa<\z@ + \glboal\@nobreakfalse \global\@noskipsectrue + \everypar{\global\@noskipsecfalse \hskip-\parindent + \begingroup \@svsechd \endgroup \unskip + \hskip -#1\everypar{}}% + \else + \par \nobreak + \vskip \@tempskipa \global\@nobreaktrue + \everypar{\global\@nobreakfalse + \if@afterindent\else {\setbox0\lastbox}\fi \everypar{}} + \fi\ignorespaces} + +% Here is a trick for ๆๅญๅใ of sectioning tilte. The rule is; +% 2 - 4 Kanji char -> 5 Kanji char +% otherwise -> natural width +% +\def\sec@mojidori#1{\setbox0\hbox{#1}\settowidth\@tempdimb{ใ}% + \ifdim\wd0>4.5\@tempdimb #1\else + \ifdim\wd0<1.5\@tempdimb #1\else + \jintercharskip\fill \jasciikanjiskip\fill \jmathkanjiskip\fill + \leavevmode\hbox to5\@tempdimb{#1\hfil}\fi\fi} + +%%%%%% List-like Environments %%%%%% +% +% LM RM LW LS LPI II +% default 2K 0 0.75K 0.25K 0 0 +% \enumerate 3K 0 3K 0 0 0 +% \Enumerate 0 0 3K 0 0 3K +% \ENUMERATE 0 0 3K 0 0 4K +% \enumerate* 1K 0 3K 0 0 2K +% \itemize 2K 0 2K 0 0 0 +% \Itemize 0 0 2K 0 0 2K +% \ITEMIZE 0 0 2K 0 0 3K +% \itemize* 1K 0 2K 0 0 1K +% \description 2K 0 0 1K 0 -1K +% \Description 0 0 0 1K 0 1K +% \DESCRIPTION 0 0 0 1K 0 2K +% \description* 1K 0 0 1K 0 0 +% \verse 3K 2K 0.75K 0.25K -1K -1K +% \quotation 2K 2K 0.75K 0.25K 1K 1K +% \quote 2K 2K 0.75K 0.25K 0 0 +% +% where LM is \leftmargin, RM is \rightmargin, LW is \labelwidth, LS is +% \labelsep, \LPI is \listparindent, II is \itemindent, and K is Kanji char +% width (\@mojihaba). +% +% All vertical space parameters, \topsep, \partopsep, \itemsep and \parsep, +% are 0pt. + +\leftmargini2\@mojihaba +\leftmarginii2\@mojihaba +\leftmarginiii2\@mojihaba +\leftmarginiv2\@mojihaba +\leftmarginv2\@mojihaba +\leftmarginvi2\@mojihaba + +\def\lst@listi{\labelsep.75\@mojihaba \labelwidth.25\@mojihaba + \rightmargin\z@ \listparindent\z@ \itemindent\z@ + \partopsep\z@ \parsep\z@ \topsep\z@ \itemsep\z@} +\def\@listi{\leftmargin\leftmargini \lst@listi} +\def\@listii{\leftmargin\leftmarginii \lst@listi} +\def\@listiii{\leftmargin\leftmarginiii \lst@listi} +\def\@listiv{\leftmargin\leftmarginiv \lst@listi} +\def\@listv{\leftmargin\leftmarginv \lst@listi} +\def\@listvi{\leftmargin\leftmarginvi \lst@listi} + +\@listi + +\def\labelenumi{(\,\theenumi\,)} +\def\theenumi{\arabic{enumi}} +\def\labelenumii{(\,\theenumii\,)} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} +\def\labelenumiii{(\,\theenumiii\,)} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{(\,\theenumiv\,)} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} +\def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth} + \list{\csname label\@enumctr\endcsname}{\usecounter + {\@enumctr}\def\makelabel##1{##1\hss}% + \leftmargin3\@mojihaba \labelwidth3\@mojihaba \labelsep\z@}\fi} +\let\endenumerate\endlist + +\def\labelitemi{$\bullet$} +\def\labelitemii{\bf --} +\def\labelitemiii{$\ast$} +\def\labelitemiv{$\cdot$} +\def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}{\def\makelabel##1{\hss##1\hss}% + \labelwidth2\@mojihaba \labelsep\z@}\fi} +\let\enditemize\endlist + +\def\description{\list{}{\labelwidth\z@ \labelsep\@mojihaba + \itemindent\labelsep \advance\itemindent-\leftmargin + \def\makelabel##1{\bf ##1}}} +\let\enddescription\endlist + +\let\latex@trivlist\@trivlist +\def\lst@trivlist#1#2{\leftmargin#1\relax + \itemindent\labelwidth \advance\itemindent\labelsep + \advance\itemindent#2\relax + \let\@trivlist\latex@trivlist \@trivlist} + +\def\lst@Trivlist{\def\@trivlist{\lst@trivlist\z@\z@}} +\def\Enumerate{\lst@Trivlist \enumerate} +\let\endEnumerate\endlist +\def\Itemize{\lst@Trivlist \itemize} +\let\endItemize\endlist +\def\Description{\lst@Trivlist \description} +\let\endDescription\endlist + +\def\lst@TRIVLIST{\def\@trivlist{\lst@trivlist\z@\@mojihaba}} +\def\ENUMERATE{\lst@TRIVLIST \enumerate} +\let\endENUMERATE\endlist +\def\ITEMIZE{\lst@TRIVLIST \itemize} +\let\endITEMIZE\endlist +\def\DESCRIPTION{\lst@TRIVLIST \description} +\let\endDESCRIPTION\endlist + +\def\lst@strivlist{\def\@trivlist{\lst@trivlist\@mojihaba{-\@mojihaba}}} +\@namedef{enumerate*}{\lst@strivlist \enumerate} +\@namedef{endenumerate*}{\endlist} +\@namedef{itemize*}{\lst@strivlist \itemize} +\@namedef{enditemize*}{\endlist} +\@namedef{description*}{\lst@strivlist \description} +\@namedef{enddescription*}{\endlist} + +\def\verse{\let\\=\@centercr + \list{}{\itemindent-\@mojihaba \listparindent\itemindent + \rightmargin\leftmargin \advance\leftmargin\@mojihaba}\item[]} +\let\endverse\endlist +\def\quotation{\list{}{\listparindent\@mojihaba \itemindent\listparindent + \rightmargin\leftmargin}\item[]} +\let\endquotation\endlist +\def\quote{\list{}{\rightmargin\leftmargin}\item[]} +\let\endquote\endlist + +\def\newtheorem{\@ifstar + {\theo@newtheorem{\theo@it}{\ }}{\theo@newtheorem{}{\theo@sp}}} +\def\theo@newtheorem#1#2#3{\@namedef{theo@it@#3}{#1}\@namedef{theo@sp@#3}{#2}% + \@ifnextchar[%] + {\@othm{#3}}{\@nthm{#3}}} +\def\@begintheorem#1#2{\DESCRIPTION \csname theo@it@\@currenvir\endcsname + \item[#1\csname theo@sp@\@currenvir\endcsname #2]} +\def\@opargbegintheorem#1#2#3{\DESCRIPTION + \csname theo@style@\@currenvir\endcsname + \item[#1\csname theo@sp@\@currenvir\endcsname #2\ (#3)]} +\let\@endtheorem\endlist % 1.02(2) +\ifDS@english +\let\theo@it\it \let\theo@sp\ % +\else +\let\theo@it\relax \let\theo@sp\relax +\fi + +%%%%%% Bibliography %%%%%% +% +% 1. Label format is "<nn>)". +% 2. \leftmargin 24Q (or 2K) +% 3. \labelsep is 6Q (or 0.5K) +% 4. \baselineskip is 16Q(j)/15Q(e)/normal(d) +% 5. ~ and \ is null but stretchable and (hardly) breakable. % 2.09(1) + +\def\thebibliography#1{% + \section*{\hskip-\@mojihaba\hfill\hbox{\bib@refname}\hfill\hskip\z@} + \ifDS@draft \@tempdima\@mojihaba \else\@tempdima12\@Q\fi + \list{\arabic{enumi}\rlap{%( + )}}% + {\fs@bibliography \leftmargin2\@tempdima \labelwidth\z@ + \labelsep\@tempdima \itemindent.5\@tempdima + \usecounter{enumi}\def\makelabel##1{\hss\llap{##1}}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy \frenchspacing + \def\ {\hskip\z@ plus\fontdimen\thr@@\font \penalty5000\relax}} + % 2.09(1) +\ifDS@english +\def\bib@refname{References} +\else +{\fs@sec \@tempdima7\jspaceskip +\xdef\bib@refname{\hbox to\the\@tempdima{\jintercharskip\fill ๅ่ๆ็ฎ}}} +\fi +\newdimen\bib@adjustheight \bib@adjustheight-\maxdimen +\def\endthebibliography{\endlist \par \@normalsize + \@tempdima\@colht \advance\@tempdima-\@colroom + \advance\@tempdima\pagetotal \advance\@tempdima-\prevdepth + \advance\@tempdima-\topskip + \@tempdimb\@tempdima \divide\@tempdima\baselineskip + \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip + \advance\@tempdima-\@tempdimb + \ifdim\@tempdima<\z@ \advance\@tempdima\baselineskip \fi + \vskip-\prevdepth \vskip\@tempdima \prevdepth\z@ + \bib@adjustheight\@tempdimb \advance\bib@adjustheight\@tempdima + \global\advance\bib@adjustheight\topskip + \if@firstcolumn\else\global\advance\bib@adjustheight\@M pt\fi} + + +%%%%%% Floats %%%%%% + +% You may need to change following parameters +\setcounter{topnumber}{4} +\setcounter{bottomnumber}{4} +\setcounter{totalnumber}{8} +\setcounter{dbltopnumber}{4} +\def\topfraction{.9} +\def\bottomfraction{.9} +\def\textfraction{.1} +\def\dbltopfraction{.9} +\def\floatpagefraction{.9} +\def\dblfloatpagefraction{.9} + +\newcounter{figure} +\newcounter{table} +\def\thefigure{\@arabic\c@figure} +\def\thetable{\@arabic\c@table} +\def\fps@figure{tbp} +\def\fps@table{tbp} +\def\ftype@figure{1} +\def\ftype@table{2} +\def\fnum@figure{\fname@figure\thefigure} +\def\fnum@table{\fname@table\thetable} +\ifDS@english +\def\fname@figure{Fig.\,} % 2.06(1) +\def\fname@Figure{Figure~} +\def\fname@table{Table~} +\else +\def\fname@figure{ๅณ\fref@nobreak} % 1.06(1) +\let\fname@Figure\fname@figure +\def\fname@table{่กจ\fref@nobreak} % 1.06(1) +\fi +\def\fnum@efigure{Fig.\,\thefigure} % 2.06(1) +\def\fnum@etable{Table~\thetable} + +% 1.06(3) >> +\def\figure{\let\cap@afterskip\relax \let\flt@fontsize\relax \@float{figure}} +\def\endfigure{\end@float} +\@namedef{figure*}{\let\cap@afterskip\relax \let\flt@fontsize\relax + \@dblfloat{figure}} +\@namedef{endfigure*}{\end@dblfloat} + +%% Default font for table env. is \footnotesize (H.N.) +\def\table{\let\cap@beforeskip\relax \let\flt@fontsize\fs@table + \@float{table}} +\def\endtable{\end@float} +\@namedef{table*}{\let\cap@beforeskip\relax \let\flt@fontsize\fs@table + \@dblfloat{table}} % 2.01(2) +\@namedef{endtable*}{\end@dblfloat} +% 1.06(3) << + +\let\latex@float\@float +\let\latex@dbflt\@dbflt +\def\@float{\cap@linewidth\hsize \cap@hsize\hsize \latex@float} +\def\@dbflt{\cap@linewidth.8\textwidth \cap@hsize.667\textwidth \latex@dbflt} +\let\latex@xfloat\@xfloat % 1.06(3) +\def\@xfloat#1[#2]{\latex@xfloat#1[#2]\flt@fontsize} + % 1.06(3) +\def\end@float{\flt@endfloat + \ifdim\bib@adjustheight=-\maxdimen\else + \advance\bib@adjustheight\@tempdima + \global\advance\bib@adjustheight\baselineskip \fi + \ifnum\@floatpenalty <\z@ + \@nameuse{@largefloatcheck}% % 2.00(2) + \@cons\@currlist\@currbox + \ifdim \ht\@currbox >\textheight + \ht\@currbox\textheight \fi + \ifnum\@floatpenalty < -\@Mii + \penalty -\@Miv + \@tempdima\prevdepth \vbox{} \prevdepth\@tempdima + \penalty\@floatpenalty + \else \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@esphack + \fi\fi} +\def\end@dblfloat{\if@twocolumn \flt@endfloat + \ifnum\@floatpenalty <\z@ \@cons\@dbldeferlist\@currbox\fi + \ifnum \@floatpenalty =-\@Mii \@esphack\fi\else\end@float\fi} +\def\flt@endfloat{\par \vskip\z@ + \global\@minipagefalse \@nameuse{outer@nobreak}\egroup % 2.00(2) + \@nameuse{color@endbox}\@normalsize % 2.00(2) + \@tempdima\ht\@currbox \advance\@tempdima\dp\@currbox + \divide\@tempdima\baselineskip \@tempcnta\@tempdima + \advance\@tempcnta\@ne \@tempdima\@tempcnta\baselineskip + \global\setbox\@currbox\vbox to\@tempdima{\box\@currbox\vfil}} + % 2.10(1) + +\def\cap@beforeskip{\nointerlineskip\vskip5pt} +\def\cap@afterskip{\nointerlineskip\vskip5pt} +\long\def\@caption#1[#2]#3{\par\begingroup + \fs@caption \cap@beforeskip + \@makecaption{{\bf \csname fnum@#1\endcsname}}{\ignorespaces#3}\par + \ifDS@english \cap@afterskip \fi + \endgroup} +\def\ecaption{\@dblarg{\@ecaption\@captype}} +\long\def\@ecaption#1[#2]#3{\par + \begingroup \fs@caption + \@makecaption{\csname fnum@e#1\endcsname}{\ignorespaces #3}\par + \cap@afterskip + \endgroup} + +\newif\ifcap@sw +\newdimen\cap@linewidth +\newdimen\cap@hsize +\newcount\cap@prevgraf +\newbox\cap@box +\let\latex@label\label +\long\def\@makecaption#1#2{\begingroup \gdef\cap@label{}\let\label\@gobble + \setbox0\hbox{#1\hskip\jspaceskip} + \advance\cap@linewidth-\wd0 \advance\cap@hsize-\wd0 + \cap@makepar\cap@linewidth{#2}{\def\label##1{{% %1.03(1) + \def\protect{\noexpand\protect\noexpand} %1.03(1) + \xdef\cap@label{\cap@label\protect\label{##1}}}}} %1.03(1) + \cap@swtrue + \ifnum\cap@prevgraf=\@ne + \setbox1\vbox{\unvcopy1\cap@getbox1 + \ifhbox1 \global\setbox\cap@box\hbox{\unhbox1} + \ifdim\wd\cap@box>\cap@linewidth\else + \global\cap@swfalse \fi\fi} + \ifcap@sw\else + \cap@put{\vtop{\box\cap@box\hbox{}}} + \fi\fi + \ifcap@sw \cap@makepar\cap@hsize{#2}\relax + \ifnum\cap@prevgraf=\tw@ + \setbox1\vbox{\unvcopy1\cap@getbox2\cap@getbox3 + \ifhbox2\ifhbox3 + \setbox2\hbox{\unhbox2}\setbox3\hbox{\unhbox3} + \ifdim\wd2>\cap@hsize\else + \ifdim\wd3>\cap@hsize\else + \global\cap@swfalse + \global\setbox\cap@box\vtop{\box3\box2\hbox{}} + \fi\fi\fi\fi}\fi + \ifcap@sw \setbox1\vtop{\hsize\cap@hsize + \@parboxrestore #2\par\hbox{}}\cap@put{\box1} + \else\cap@put{\box\cap@box}\fi + \fi + \endgroup \cap@label} +\long\def\cap@makepar#1#2#3{\setbox1\vbox{\hsize#1\@parboxrestore + \rightskip\@flushglue \hfuzz\maxdimen + \exhyphenpenalty\z@ \finalhyphendemerits\z@ + \let\@@par\cap@par \let\par\cap@par \global\cap@prevgraf\z@ + #3#2\cap@par}} +\let\cap@@par\@@par +\def\cap@par{\cap@@par\global\advance\cap@prevgraf\prevgraf \prevgraf\z@} +\def\cap@put#1{\hbox to\hsize{\hss\box0#1\hss} + \vskip-\baselineskip\prevdepth\z@} +\def\cap@getbox#1{\@tempcnta10\relax\@whilenum\@tempcnta>0\do{% + \unskip\unkern\unpenalty\advance\@tempcnta\m@ne}\setbox#1\lastbox} + +\def\figref{\fref@ref\fname@figure} +\def\Figref{\fref@ref\fname@Figure} +\def\tabref{\fref@ref\fname@table} +\let\Tabref\tabref +\def\fref@ref#1{\@ifstar{\fref@sref{#1}}{\fref@iref\bf{#1}}} +\def\fref@iref#1#2#3{{\@ifundefined{fref@r@#3}% + {#1#2\fref@doref{#3}\global\@namedef{fref@r@#3}{}}{#2\fref@doref{#3}}}} +\def\fref@sref#1#2{#1\fref@doref{#2}} +\def\fref@doref#1{{\let\null\relax\ref{#1}}} % 1.06(2) +\def\fref@nobreak{\nobreak\ifASCII\else\hskip\@@jasciikanjiskip\fi} + % 1.06(1) + +\def\fig@extraspace{3mm} %1.04(4) +\def\figspace#1{\vskip#1\vskip\fig@extraspace} %1.04(4) + +%%%%%% Footnote %%%%%% + +%% The following codes are from pfnote.sty, by H. Nakashima of Kyoto Univ., +%% to reset footnote counter at the begining of every page. (H.N.) + +% 1.04(2c)>> +\def\footnote{\@ifnextchar[%] + {\@xfootnote}{{\PF@adjustfnote \stepcounter{\@mpfn}% + \xdef\@thefnmark{\thempfn}}\@footnotemark\@footnotetext}} +\def\footnotemark{\@ifnextchar[%] + {\@xfootnotemark}{{\PF@adjustfnote \stepcounter{footnote}% + \xdef\@thefnmark{\thefootnote}}\@footnotemark}} +% 1.04(2c)<< + +\newcount\PF@fnotectr\global\PF@fnotectr=\z@ +\newcount\PF@page\global\PF@page=-\@M +\def\PF@thepage{\number\c@page} +\def\PF@adjustfnote{\global\advance\PF@fnotectr\@ne + \expandafter\ifx\csname PF@fn\number\PF@fnotectr\endcsname\relax + \global\c@footnote\z@\else + \expandafter\@tempcnta\csname PF@fn\number\PF@fnotectr\endcsname\relax + \ifnum\@tempcnta=\PF@page\else + \global\PF@page\@tempcnta \global\c@footnote\z@ \fi\fi +% 1.04(2a)>> + \expandafter\ifx\csname PF@fnpage\number\PF@page\endcsname\relax \else + \expandafter\@tempcnta\csname PF@fnpage\number\PF@page\endcsname\relax + % 2.00(4)>> + \ifnum\@tempcnta>\tw@ \global\let\thefootnote\thefootnotemany + \else \global\let\thefootnote\thefootnoteord \fi\fi % 2.00(4)<< + \@tempcnta\c@footnote \multiply\@tempcnta\@M + \advance\@tempcnta\PF@fnotectr + \if@filesw{\let\PF@thepage\relax + \xdef\@gtempa{\write\@auxout{\string\PF@fnpage + {\number\@tempcnta}{\PF@thepage}}}}% + \@gtempa\fi} +% 1.04(2a)<< + +% 1.04(2a)>> +\def\PF@fnpage#1#2{\@tempcnta#1\relax \@tempcntb\@tempcnta \divide\@tempcnta\@M + \expandafter\xdef\csname PF@fnpage#2\endcsname{\number\@tempcnta} + \multiply\@tempcnta\@M \advance\@tempcntb-\@tempcnta + \global\@namedef{PF@fn\number\@tempcntb}{#2}} +% 1.04(2a)<< +%% End of quote from pfnote.sty. (H.N.) + +\long\def\@makefntext#1{\leftskip20\@Q + \noindent\llap{\@makefnmarkforfn\hskip-\scriptspace\hskip5\@Q}#1} + % 1.04(2e) +\def\@makefnmarkstar{$^{\hbox{\tiny\fn@fontv\@thefnmark}}$} % 1.04(2d) +\def\@makefnmarkdagger{$\@thefnmark$} +\let\@makefnmarkforfn\@makefnmarkstar + +\def\@makefnmark{\smash{\hbox{\scriptsize\fn@fontvi$^{\@thefnmark}$}}} + % 1.04(2d) + % smashed to make it + % zero height + +%% Awful definition of \thefootnote to put subsequent โ's. (H.N.) +\def\thefootnote{\leavevmode\hbox{% + \ifcase\c@footnote\or โ\or โโ\or โโโ\else \thefootnotemany\fi}} + % 1.04(2b) +\def\thefootnotemany{\hbox{โ\hskip\z@\number\c@footnote}} % 1.04(2b) + % 2.05(3) +\let\thefootnoteord\thefootnote + + +%%%%%% Citation %%%%%% + +%% The following codes for \cite are from overcite.sty by D. Arseneau, but +%% modified for Trans. IPSJ (H.N.) +% O V E R C I T E . S T Y +% +% version 3.2 (Mar 1993) +% +% Compressed, sorted lists of superscript numerical citations. +% see also CITE.STY and DRFTCITE.STY +% +% Copyright (C) 1989-1993 by Donald Arseneau +% These macros may be freely transmitted, reproduced, or modified for +% non-commercial purposes provided that this notice is left intact. +% +\def\cite{\protect\@p@cite} +\def\@p@cite{\let\@citeY\@citey \@p@@cite} +\def\Cite{\protect\@p@Cite} +\def\@p@Cite{\let\@citeY\@Citey \@p@@cite} +\def\@p@@cite{\@ifnextchar[%] + {\@tempswatrue\@citex}{\@tempswafalse\@citex[]}} +\def\@citex[#1]#2{\@citeY{\@p@citen{#2}}\if@tempswa\space[#1]\fi} +\def\@citey#1{\leavevmode\unskip\kern\z@$\let\@cite@tiestyle\scriptstyle +% % 2.06(2) + \def\@cite@punct{,}\m@th^{\hbox{\scriptsize#1}}$\spacefactor\@m} +\def\@Citey#1{\let\@cite@tiestyle\textstyle + \ifDS@english \def\@cite@punct{,\space\penalty\@highpenalty}%1.04(1) + \else\def\@cite@punct{๏ผ}\fi#1\spacefactor\@m} %1.04(1) + +\def\@p@citen#1{% + \edef\@tempa{\@ignspaftercomma,#1, \@end, }% + \edef\@tempa{\expandafter\@ignendcommas\@tempa\@end}% + \if@filesw \immediate\write\@auxout{\string\citation{\@tempa}}\fi + \@tempcntb\m@ne \let\@h@ld\relax \let\@citea\@empty + \let\@celt\relax \def\@cite@list{}% % 2.06(3) + \@for\@citeb:=\@tempa\do{\@make@cite@list}% + \@tempcnta\m@ne \let\@celt\@compress@cite \@cite@list + \@h@ld} +\def\@ignspaftercomma#1, {\ifx\@end#1\@empty\else + #1,\expandafter\@ignspaftercomma\fi} +\def\@ignendcommas,#1,\@end{#1} + +%( +\let\@cite@rp) +\chardef\@cite@escape`\\ +\def\@make@cite@list{% + \expandafter\let\expandafter\@B@citeB\csname b@\@citeb\endcsname + \ifx\@B@citeB\relax + \@citea {\bf ?}\@cite@rp \let\@citea\@cite@punct + \@latex@warning{Citation `\@citeb' on page \thepage\space undefined}% + % 2.00(3) + \global\@namedef{b@\@citeb}{{\bf ?}}% + \else + \ifcat \@cite@escape\ifnum\z@<0\@B@citeB \@cite@escape\else A\fi + \@tempcnta\@B@citeB \relax + \ifnum \@tempcnta>\@tempcntb + \edef\@cite@list{\@cite@list \@celt{\@B@citeB}}% + \@tempcntb\@tempcnta + \else + \edef\@cite@list{\expandafter\@sort@celt\@cite@list\@gobble @}% + \fi + \else \@citea \@B@citeB \@cite@rp \let\@citea\@cite@punct + \fi\fi} + +\def\@sort@celt#1#2{\ifx \@celt #1% parameters are \@celt {num} + \ifnum #2<\@tempcnta % number goes later in list + \@celt{#2}\expandafter\expandafter\expandafter\@sort@celt + \else \@celt{\number\@tempcnta}\@celt{#2}\fi\fi} + +\def\@compress@cite#1{\advance\@tempcnta\@ne + \ifnum #1=\@tempcnta + \ifx\@h@ld\relax \edef\@h@ld{\@citea #1\@cite@rp}% + \else \edef\@h@ld{\hbox{$\@cite@tiestyle\sim$}% + \penalty\@highpenalty #1\@cite@rp}\fi + \else \@h@ld \@citea #1\@cite@rp + \let\@h@ld\relax + \fi \@tempcnta#1\relax \let\@citea\@cite@punct} + +%% End of quote from overcite.sty. (H.N.) + +\def\multicite{\protect\@p@multicite} +\def\@p@multicite#1#2{\@citey{\@p@citen{#1}$\scriptstyle\sim$\@p@citen{#2}}} +\def\multiCite{\protect\@p@multiCite} +\def\@p@multiCite#1#2{\@Citey{\@p@citen{#1}$\sim$\penalty\@highpenalty + \@p@citen{#2}}} + + +%%%%%% Box Height Adjustment and Displayed Math %%%%%% + +\newbox\adj@boxa \newbox\adj@boxb +\newdimen\adj@height +\@tempdima\baselineskip \advance\@tempdima-\topskip +\edef\adj@minaboveclearance{\the\@tempdima} +\@tempdima\baselineskip \advance\@tempdima-1ex +\edef\adj@maxaboveclearance{\the\@tempdima} +\ifDS@english +\setbox0\hbox{A} +\else +\setbox0\hbox{ใ} +\fi +\@tempdima\baselineskip \advance\@tempdima-\ht0 \advance\@tempdima\dp0 +\edef\adj@bhd{\the\@tempdima} + +% 2.01(1) >> +\def\adjustvboxheight{\ifinner \let\@tempa\relax + \let\endadjustvboxheight\relax \let\@endadjustvboxheight\relax + \else \let\@tempa\@adjustvboxheight \fi \@tempa} +\def\@adjustvboxheight{\par\penalty\z@ + \global\setbox\adj@boxa\vbox\bgroup\relax % 1.01(3) + \let\@footnotetext\@mpfootnotetext % 2.02(1) +% % 2.05(1) + \hsize\columnwidth} +% 2.01(1) << +\def\endadjustvboxheight{\adj@closebox \adj@putbox + \ifvoid\@mpfootins\else\insert\footins{\unvbox\@mpfootins}\fi +% % 2.02(1) + \global\@ignoretrue\@endparenv} +\def\adj@closebox{\egroup \normalsize \boxmaxdepth\@maxdepth % 1.01(1,3) + \setbox\adj@boxa\vbox{\unvbox\adj@boxa} % 1.01(3) + \adj@height\ht\adj@boxa + \advance\adj@height\adj@minaboveclearance\relax + \@tempdima\adj@height \divide\adj@height\baselineskip + \@tempcnta\adj@height \adj@height\@tempcnta\baselineskip + \ifdim\adj@height<\@tempdima \advance\adj@height\baselineskip\fi} +\def\adj@putbox{\vskip-\prevdepth \prevdepth\z@ \vskip\baselineskip + \vspace*{-\baselineskip}\advance\@tempdima-\adj@height + \@tempdima-\@tempdima \advance\@tempdima\adj@minaboveclearance\relax + \@tempdimb\dp\adj@boxa + \ifdim\@tempdima>\adj@maxaboveclearance\relax + \advance\@tempdima-\@tempdimb \advance\@tempdima\adj@bhd\relax + \divide\@tempdima\tw@ + \vbox to\adj@height{\vskip\@tempdima \box\adj@boxa \vss} + \else \vbox to\adj@height{\vfil\box\adj@boxa\vskip-\@tempdimb}\fi} + +\newcount\adj@deadcycle +\@namedef{adjustvboxheight*}{\adjustvboxheight} +\@namedef{endadjustvboxheight*}{\@endadjustvboxheight} +\def\@endadjustvboxheight{\global\adj@deadcycle10\relax + \@iendadjustvboxheight + \ifvoid\@mpfootins\else\insert\footins{\unvbox\@mpfootins}\fi +% % 2.05(2) + \global\@ignoretrue\@endparenv} +\def\@iendadjustvboxheight{\adj@closebox + \ifnum\adj@deadcycle<\@ne + \ipsj@error{I cannot adjust too tall/deep box}{\@ehd}\fi % 2.00(3) + \global\advance\adj@deadcycle\m@ne + \ifdim\pagegoal=\maxdimen + \@tempdimb\@colht \advance\@tempdimb-\topskip + \advance\@tempdimb\baselineskip + \else \@tempdimb\pagegoal + \advance\@tempdimb-\pagetotal \advance\@tempdimb-\pagedepth + \advance\@tempdimb\prevdepth \fi % 1.01(4a) + \let\next\relax + \ifdim\adj@height<\@tempdimb \adj@putbox \else + \ifdim\adj@height=\@tempdimb \adj@putbox \else + \divide\@tempdimb\baselineskip \@tempcnta\@tempdimb % 1.01(4b)>> + \@tempdimb\@tempcnta\baselineskip + \advance\@tempdimb-\adj@minaboveclearance\relax % 1.01(4b)<< + \setbox\adj@boxa\vbox{\allowbreak\unvbox\adj@boxa} + \vbadness\@M \splittopskip\z@ \splitmaxdepth\@maxdepth %1.01(1) + \setbox\@tempboxa\vsplit\adj@boxa to\@tempdimb + \setbox\adj@boxb\copy\adj@boxa + \setbox\@tempboxa\vbox{\unvbox\@tempboxa} + \@tempdimb\ht\@tempboxa \advance\@tempdimb\dp\@tempboxa + \ifdim\@tempdimb>\z@ + \setbox\adj@boxa\vbox\bgroup\unvbox\@tempboxa + \adj@closebox \adj@putbox \newpage + \else \newpage \fi + \setbox\adj@boxa\vbox\bgroup\unvbox\adj@boxb + \let\next\@iendadjustvboxheight \fi\fi \next} + +\def\adj@eqindent{2\@mojihaba} +\def\[{\adjustvboxheight\advance\@totalleftmargin\adj@eqindent\relax + \hbox to\hsize\bgroup\hskip\@totalleftmargin$\displaystyle} +\def\]{$\hfill\egroup\endadjustvboxheight\@doendpe\ignorespaces} % 2.03(1) +\def\equation{\refstepcounter{equation}\[} +\def\endequation{\hfill\@eqnnum$\egroup\endadjustvboxheight} +\def\theequation{\arabic{equation}} +\def\@eqnnum{{\rm (\theequation)\hskip\@mojihaba}} + +\def\adj@eqnlineskip{3pt} +\def\adj@eqnlineskiplimit{2pt} +\def\eqnarray{\futurelet\@tempa\adj@eqnarray} +\def\adj@eqnarray{\ifx\@tempa[%] + \let\next\adj@ieqnarray\else\let\next\adj@xeqnarray\fi\next} +\def\adj@ieqnarray[#1]{\@ifundefined{adj@xeqnarray#1}% + {\ipsj@warning{Unknown eqnarray option `#1'}\adj@xeqnarray}% 2.00(3) + {\@nameuse{adj@xeqnarray#1}}} +\def\adj@xeqnarray{\adjustvboxheight + \advance\@totalleftmargin\adj@eqindent\relax + \stepcounter{equation}\let\@currentlabel=\theequation + \global\@eqnswtrue + \global\@eqcnt\z@\tabskip\z@\let\\=\@eqncr + \lineskip\adj@eqnlineskip \lineskiplimit\adj@eqnlineskiplimit \jot\z@ + \halign to \hsize\bgroup\@eqnsel\hskip\@totalleftmargin + \hfil$\displaystyle{##}$&\global\@eqcnt\@ne % 1.01(2) + \hfil$\displaystyle{}\mathrel{##}{}$\hfil + &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil + \tabskip\@centering&\llap{##}\tabskip\z@\cr} +\def\adj@xeqnarrays{\let\endadjustvboxheight\@endadjustvboxheight + \adj@xeqnarray} +\@namedef{adj@xeqnarrays!}{\par\let\adjustvboxheight\relax + \let\endadjustvboxheight\relax \adj@xeqnarray} +\def\endeqnarray{\@@eqncr \egroup \global\advance\c@equation\m@ne + \endadjustvboxheight} + + +%%%%%% Kinsoku Parameters %%%%%% + +% 1.04(3)>> +\ifASCII +\postbreakpenalty`\`=\@M +\prebreakpenalty`'=\@M +\prebreakpenalty`)=\@M +\postbreakpenalty`(=\@M +\prebreakpenalty`]=\@M +\postbreakpenalty`[=\@M +\prebreakpenalty`\}=\@M +\postbreakpenalty`\{=\@M + +\prebreakpenalty`ใป=\@M +\prebreakpenalty`๏ผ=\@M +\prebreakpenalty`๏ผ=\@M +\prebreakpenalty`๏ผ=\@M +\prebreakpenalty`๏ผ=\@M + +\prebreakpenalty\jis"212D=\@M % ยด +\postbreakpenalty\jis"212E=\@M % ๏ฝ +\postbreakpenalty\jis"2146=\@M % โ +\prebreakpenalty\jis"2147=\@M % โ +\postbreakpenalty\jis"2148=\@M % โ +\prebreakpenalty\jis"2149=\@M % โ + +\prebreakpenalty`๏ผ=\@M +\postbreakpenalty`๏ผ=\@M +\prebreakpenalty`๏ฝ=\@M +\postbreakpenalty`๏ฝ=\@M +\prebreakpenalty`๏ผฝ=\@M +\postbreakpenalty`๏ผป=\@M +\postbreakpenalty`โ=\@M +\prebreakpenalty`โ=\@M + +\postbreakpenalty\jis"214C=\@M %ใ +\prebreakpenalty\jis"214D=\@M % ใ +\postbreakpenalty\jis"2152=\@M % ใ +\prebreakpenalty\jis"2153=\@M % ใ +\postbreakpenalty\jis"2154=\@M % ใ +\prebreakpenalty\jis"2155=\@M % ใ +\postbreakpenalty\jis"2156=\@M % ใ +\prebreakpenalty\jis"2157=\@M % ใ +\postbreakpenalty\jis"2158=\@M % ใ +\prebreakpenalty\jis"2159=\@M % ใ +\postbreakpenalty\jis"215A=\@M % ใ +\prebreakpenalty\jis"215B=\@M % ใ + +\prebreakpenalty`ใ=\@M +\prebreakpenalty`ใ=\@M +\prebreakpenalty`ใ =\@M +\prebreakpenalty`ใ=\@M +\prebreakpenalty`ใ=\@M +\prebreakpenalty`ใฃ=\@M +\prebreakpenalty`ใ=\@M +\prebreakpenalty`ใ =\@M +\prebreakpenalty`ใ=\@M +\prebreakpenalty\jis"246E=\@M % ใ +\prebreakpenalty`ใก=\@M +\prebreakpenalty`ใฃ=\@M +\prebreakpenalty`ใฅ=\@M +\prebreakpenalty`ใง=\@M +\prebreakpenalty`ใฉ=\@M +\prebreakpenalty`ใ=\@M +\prebreakpenalty`ใฃ=\@M +\prebreakpenalty`ใฅ=\@M +\prebreakpenalty`ใง=\@M +\prebreakpenalty\jis"256E=\@M % ใฎ +\prebreakpenalty\jis"2575=\@M % ใต +\prebreakpenalty\jis"2576=\@M % ใถ + +\fi +% 1.04(3)<< + + +%%%%%% Miscellaneous %%%%%% + +%% \doublerulesep is 1pt (H.N.) +\arraycolsep5pt \tabcolsep6pt \arrayrulewidth.4pt \doublerulesep1pt +\tabbingsep.5\@mojihaba + +\skip\@mpfootins\skip\footins +\fboxsep3pt \fboxrule.4pt + +%% We simply allow (not encourage) club and widow lines. (H.N.) +\clubpenalty\z@ \widowpenalty\z@ \displaywidowpenalty\z@ + +% The following redefinition influences \linebreak etc. +\def\sloppy{\tolerance9999\hbadness9999\hfuzz.5\p@ \vfuzz.5\p@} + +\endinput