Mercurial > hg > Papers > 2014 > taiki-sigos
view paper/ipsjcommon.sty @ 11:d09ff464e6d3
change index, and pdf file
author | taiki <taiki@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 20 Apr 2014 11:19:04 +0900 |
parents | 6ec0fb496623 |
children |
line wrap: on
line source
% Copyright (C) 1995-2007 by Hiroshi Nakashima, Yasuki Saito and % The Editorial Board of the IPSJ Journal % % ipsjcommon.sty 15-Jun-07 by Hiroshi Nakashima (ver 2.12) % (revision history deleted) % ipsjcommon.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0) %%%%%% Sectioning Commands %%%%%% % \section: 2 rows % others: 1 row % % 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\ipsj@j@app \fi}}}% 2.12(1b) \def\sec@oappendix[#1]{\sec@sec*{\ifDS@english Appendix: \else \ipsj@j@app\hskip\jspaceskip\fi #1}} % 2.12(1b) \def\appendixprefix{A.} \def\appendixpostfix{} \def\acknowledgment{\par {\bf \ifDS@english Acknowledgments \else\ipsj@j@ack\fi}%% 2.12(1b) \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-row" 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 MOJI-DORI % % \@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 MOJI-DORI % % \@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 MOJI-DORI of sectioning tilte. The rule is; % 2 - 4 Kanji char -> 5 Kanji char % otherwise -> natural width % \def\sec@mojidori#1{\ifDS@english #1\else % 2.12(1b) \setbox0\hbox{#1}\settowidth\@tempdimb{\ipsj@j@a}% % 2.12(1b) \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\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\else \ipsj@defcolonforbib \fi} % 2.12(1b)(2) % (removal of \bib@refname) % 2.12(1a) \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~} \def\fname@figures{Figs.\,} % 2.12(8)>> \def\fname@Figures{Figures~} \def\fname@tables{Tables~} % 2.12(8)<< \else \def\fname@figure{\ipsj@j@fig\fref@nobreak} % 1.06(1), 2.12(1b) \let\fname@Figure\fname@figure \def\fname@table{\ipsj@j@tab\fref@nobreak} % 1.06(1), 2.12(1b) \let\fname@figures\fname@figure % 2.12(8)>> \let\fname@Figures\fname@figure \let\fname@tables\fname@table % 2.12(8)<< \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 \boxmaxdepth\dp\strutbox % 2.12(7c) \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) % 2.12(7a,b)>> \let\ipsj@cflb\@cflb \let\ipsj@comflelt\@comflelt \def\@cflb{\let\ipsj@botfigrule\botfigrule \let\botfigrule\vfil \let\@comflelt\ipsj@comfleltbot \ipsj@cflb \let\@comflelt\ipsj@comflelt \let\botfigrule\ipsj@botfigrule} \def\ipsj@comfleltbot#1{% \setbox#1\vbox to\ht#1{\vfil\unvbox#1\unskip}\ipsj@comflelt{#1}} % 2.12(7a,b)<< \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\figsref{\fref@refs\fname@figures} % 2.12(8)>> \def\Figsref{\fref@refs\fname@Figures} \def\tabsref{\fref@refs\fname@tables} \let\Tabsref\tabsref \def\fref@refs#1{\@ifstar{\fref@irefs\relax{#1}}{\fref@irefs\bf{#1}}} \def\fref@irefs#1#2#3{\def\fref@list{#3}\@tempswafalse \@tempcnta\z@ \@for\fref@elem:=\fref@list\do{% \@ifundefined{fref@r@\fref@elem}{\@tempswatrue}{}% \advance\@tempcnta\@ne}% \ifx#1\relax \@tempswafalse\fi \ifDS@english {\if@tempswa #1\fi #2}\let\fref@temp\relax \else \def\fref@temp{#2}\fi \@for\fref@elem:=\fref@list\do{% \if@tempswa \fref@iref{#1}{\fref@temp}{\fref@elem}% \else \fref@temp\fref@doref{\fref@elem}\fi \advance\@tempcnta\m@ne \ifnum\@tempcnta=\@ne \fref@and \else\ifnum\@tempcnta>\@ne \fref@comma \fi\fi}} \ifDS@english \def\fref@and{ and~} \def\fref@comma{, } \else \def\fref@and{\ipsj@j@comma} \let\fref@comma\fref@and \fi \ifDS@printer \def\figures{{\bf\fname@figures}} \def\Figures{{\bf\fname@Figures}} \def\tables{{\bf\fname@tables}} \let\Tables\tables \def\Ref{\fref@iref\bf\relax} \fi % 2.12(8)<< \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}% \def\protect{\noexpand\protect\noexpand}% \xdef\@thefnmark{\thempfn}}\@footnotemark\@footnotetext}} \def\footnotemark{\@ifnextchar[%] {\@xfootnotemark}{{\PF@adjustfnote \stepcounter{footnote}% \def\protect{\noexpand\protect\noexpand}% \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 \@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{$\@thefnmark$} % 2.12(3) \def\@makefnmarkdagger{$\@thefnmark$} \def\@makefnmarkast{$\@thefnmark$} % 2.12(3) \let\@makefnmarkforfn\@makefnmarkstar \def\@makefnmark{\smash{$^{\@thefnmark}$}} % 2.12(3) % 1.04(2d) % smashed to make it % zero height \def\thefootnote{\ifnum\c@footnote>0\relax{\star}\number\c@footnote\fi} % 2.12(3) %%%%%% 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\ipsj@j@citescript % % 2.06(2) % 2.12(4) \def\@cite@punct{,}\m@th^{\hbox{\scriptsize#1}}$\spacefactor\@m} \def\@Citey#1{\let\@cite@tiestyle\ipsj@j@citetext % 2.12(4) % 1.04(1)>> \ifDS@english \def\@cite@punct{,\space\penalty\@highpenalty} \else\def\@cite@punct{\ipsj@j@comma}\fi#1\spacefactor\@m} % 1.04(1)<< % 2.12(1b) \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}% \def\protect{\noexpand\protect\noexpand}% \@tempcnta\m@ne \let\@celt\@compress@cite \@cite@list \let\protect\relax \@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{\@cite@tie{\protect\@cite@tiestyle}% % 2.12(4) \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}% \@cite@tie\ipsj@j@citescript \@p@citen{#2}}} % 2.12(4) \def\multiCite{\protect\@p@multiCite} \def\@p@multiCite#1#2{\@Citey{\@p@citen{#1}\@cite@tie\relax % 2.12(4) \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} \def\adj@setbhd#1{\setbox0\hbox{#1} % 2.12(1c)>> \@tempdima\baselineskip \advance\@tempdima-\ht0 \advance\@tempdima\dp0 \edef\adj@bhd{\the\@tempdima}} % 2.12(1c)<< % 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} %%%%%% 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@} %% For heading of TBIO papers \ifDS@TBIO % 2.11(1)>> \def\TBIOpapercategory#1{\def\ipsj@TBIO@pcat{#1}\ignorespaces} \def\ipsj@TBIO@pcat{original} \def\ipsj@TBIO@pcat@original{Original Paper} \def\ipsj@TBIO@pcat@survey{Survey Paper} \def\ipsj@TBIO@pcat@database{Database/Software Paper} \def\ipsj@TBIO@pcatref{\@ifundefined{ipsj@TBIO@pcat@\ipsj@TBIO@pcat}% {\ipsj@warning{TBIO paper category \ipsj@TBIO@pcat\space is undefined.}}% \relax \@nameuse{ipsj@TBIO@pcat@\ipsj@TBIO@pcat}} \fi % 2.11(1)<< % 2.12(1a)>> \let\ipsj@j@citescript\scriptsize % 2.12(4)>> \let\ipsj@j@citetext\normalsize \def\@cite@tie#1{\hbox{#1--}} % 2.12(4)<< \def\bib@refname{References} \adj@setbhd{A} \ifipsj@nonjp \let\next\endinput \else \let\next\relax \fi \next \def\ipsj@j@a{あ} \def\ipsj@j@app{付録} \def\ipsj@j@ack{謝辞} \def\ipsj@j@bib{参考文献} \def\ipsj@j@fig{図} \def\ipsj@j@tab{表} \def\ipsj@j@comma{,} \def\ipsj@j@technote{テクニカルノート} \def\ipsj@j@invited{招待論文} \def\ipsj@j@sigrec{研究会推薦論文} \def\ipsj@j@talkabst{発表概要} \def\ipsj@j@presently{現在,} \def\ipsj@j@jipsj{情報処理学会論文誌} \def\ipsj@j@regpaper{論文} \def\ipsj@j@contactto{連絡先} \def\ipsj@j@abstract{概要} \def\ipsj@j@colon{:} \def\ipsj@j@year{年} \def\ipsj@j@month{月} \def\ipsj@j@day{日} \def\ipsj@j@lp{(} \def\ipsj@j@rp{)} \def\ipsj@j@edinch{担当編集委員} \def\ipsj@j@rerec{再受付} \def\ipsj@j@received{受付} \def\ipsj@j@accepted{採録} \def\ipsj@j@presented{発表} \def\ipsj@j@member{正会員} \def\ipsj@j@stmember{学生会員} \def\ipsj@j@nomember{非会員} \ifDS@english\else \ifDS@draft\else \sec@setskips{\ipsj@j@a} \fi\fi \expandafter\let\csname c@巻数\endcsname\c@volume \expandafter\let\csname c@号数\endcsname\c@number \expandafter\let\csname c@月数\endcsname\c@number \expandafter\let\csname c@年数\endcsname\c@year \def\ipsj@sig@PRO@j{プログラミング} \def\ipsj@sig@TOM@j{数理モデル化と応用} \def\ipsj@sig@TOD@j{データベース} \def\ipsj@sig@HPS@j{ハイパフォーマンスコンピューティングシステム} \def\ipsj@sig@CVIM@j{コンピュータビジョンとイメージメディア} \def\ipsj@sig@ACS@j{コンピューティングシステム} % 2.09(2) \def\ra@nengo{平成} %% Change here when ... \let\受付\received \let\採録\accepted \let\発表\presented % 2.07(7) \let\再受付\rereceived \def\々{\hskip\jintercharskip\hbox to\jspaceskip{\hfil 々\hfil}%% 2.12(5) \hskip\jintercharskip} \ifDS@english\else \ifDS@draft\else {\fs@sec \@tempdima7\jspaceskip \xdef\bib@refname{\hbox to\the\@tempdima{\jintercharskip\fill\ipsj@j@bib}}} \adj@setbhd\ipsj@j@a \fi\fi \def\ipsj@j@colon@command{{\nobreak % 2.12(2)>> \hbox to.7\jspaceskip{:\hss}\allowbreak \@tempdima.3\jspaceskip \hskip\@tempdima minus\@tempdima \allowbreak \hskip\z@ minus-\@tempdima}\ignorespaces} \def\ipsj@defcolonforbib{\let\:\ipsj@j@colon@command} \ifDS@printer \ipsj@defcolonforbib \fi % 2.12(2)<< %%%%%% 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 % 2.12(6) \prebreakpenalty`〜=\@M % 2.12(6) \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)<< % 2.12(1a)<<