0
|
1 % 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: 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 \ 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 参考文献}}}
\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{,}\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
|