changeset 1:a9111d5d510a

add sample.tex
author kazz <kazz@cr.ie.u-ryukyu.ac.jp>
date Sat, 06 Aug 2011 23:17:49 +0900
parents 3183d5ee46e9
children 721cad6b93af
files paper/compsoft-sjis.sty paper/compsoft.cls paper/compsoft.sty paper/fig1.eps paper/fig2.eps paper/fig3.eps paper/fig4.eps paper/fig5.eps paper/jssst.bst paper/sample.tex
diffstat 10 files changed, 11522 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/compsoft-sjis.sty	Sat Aug 06 23:17:49 2011 +0900
@@ -0,0 +1,2156 @@
+% compsoft.sty 2009-06-27 by Hideya IWASAKI
+% compsoft.sty last updated 2007-08-17 by Kazunori UEDA
+% compsoft.sty ASCII-version modified 25-March-92 by N. YAMANOUCHI
+% compsoft.sty 22-April-92 by Yasuki SAITO
+% compsoft.sty 18-July-90 by Hideki ISOZAKI 
+% j-article.sty 10-Feb-89 from report.sty 16-Mar-88
+
+\newif\ifASCII \ASCIIfalse
+\ifx\jintercharskip\undefined\ASCIItrue\fi
+\newif\if@LaTeX@e \@LaTeX@efalse                                % 1.06(1)
+\newif\if@LaTeX@eN \@LaTeX@eNfalse                              % 2.00(1)
+\def\@tempa{LaTeX2e}                                            % 1.06(1)
+\ifx\fmtname\@tempa \@LaTeX@etrue                               % 1.06(1)
+\ifx\xpt\undefined \@LaTeX@eNtrue \fi\fi                        % 2.00(1)
+
+\newif\if@hissha \@hisshafalse
+
+\expandafter\ifx\csname ver@jssst.cls\endcsname\relax
+\typeout{Document Style `compsoft' ascii version <23 Mar 92>.}
+\fi
+
+\if@LaTeX@e
+\newdimen\@maxsep
+\newdimen\@dblmaxsep
+\fi
+
+\def\ds@twoside{\@twosidetrue \@mparswitchtrue}
+\def\ds@draft{\overfullrule5pt} 
+
+%\@options
+% you must do this at the end, at least after def's of \ds@... for
+% various \@maketitle
+
+\ds@twoside
+
+\if@LaTeX@e                                                     % 2.00(8)>>
+\if@LaTeX@eN
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
+\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
+\ifASCII
+\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
+\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
+\fi\fi
+\ifASCII
+\def\dm{\mc}
+\def\dg{\gt}
+\fi\fi                                                          % 2.00(8)<<
+
+\ifASCII
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% ascii-jtex.sty  modified on 2/6/92 by N. Yamanouchi 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% ascii-jtex.sty        prepared by N. Yamanouchi (IBM/TRL) 12/04/91
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This style file is intended to absorb the difference between NTT
+% JTex and ASCII JTeX for JSSST journal style files ``compsoft.sty''
+% and ``compsoft9.sty''.  The original information comes from the
+% work of S. Tomura in ETL (marked as ST).
+%
+
+%
+%dskfonts.sty begins %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% dskfonts.sty modified on 6 Feb 92 by N. Yamanouchi
+% dskfonts.sty prepared by N. Yamanouchi
+%
+%% dskfonts.sty is based on skfonts.sty.
+%% skfonts.sty is for adjusting NTT-version of JSSST style file to
+%% ASCII JTeX environment.  skfonts.sty defines all CTS fonts, while
+%% dskfonts.sty substitutes the fonts by regular fonts like min10/goth10.
+
+%% Q数系のためのふたつのユニット
+\newdimen \JQ	\JQ .259817mm	%%%	\JQ/\Q = 10pt/9.62216pt
+\newdimen \Q	\Q  .25mm	%%%	Quarter of 1mm
+
+%% ベースラインスキップの値.
+%% デフォルト値は21.5Q,Eronbun, Etokushuronbunでは17.5Q
+%% に切り替える.
+\newdimen\@Baseline
+\@Baseline=21.5\Q
+
+
+% フォントの再定義
+% まず和文:
+%\font\sevmin	skhmnlaa at 8.5\JQ 	% 8.5Q 本蘭明朝 LHM
+\font\sevmin	min10 at 8.5\JQ 	% 8.5Q min10で仮想的に出力
+%\font\sevgt	skgotoaa at 8.5\JQ	% 8.5Q 中太ゴシック DG-KL
+\font\sevgt	goth10 at 8.5\JQ	% 8.5Q goth10で仮想的に出力
+% \font\egtmin	skhmnlaa at 10\JQ 	% 10Q 本蘭明朝 LHM
+\font\egtmin	min10 at 10\JQ	 	% 10Q min10で仮想的に出力
+% \font\egtgt	skgotoaa at 10\JQ	% 10Q 中太ゴシック DG-KL
+\font\egtgt	goth10 at 10\JQ		% 10Q goth10で仮想的に出力
+%\font\ninmin	skhmnlaa at 11.5\JQ	% 11.5Q 本蘭明朝 LHM
+\font\ninmin	min10 at 11.5\JQ	% 11.5Q min10で仮想的に出力
+%\font\ningt	skgotoaa at 11.5\JQ	% 11.5Q 中太ゴシック DG-KL
+\font\ningt	goth10 at 11.5\JQ	% 11.5Q goth10で仮想的に出力
+%\font\tenmin	skhmnlaa at 13\JQ	% 13Q 本蘭明朝 LHM
+\font\tenmin	min10 at 13\JQ		% 13Q min10で仮想的に出力
+%\font\tengt	skgotoaa at 13\JQ	% 13Q 中太ゴシック DG-KL
+\font\tengt	goth10 at 13\JQ		% 13Q goth10で仮想的に出力
+
+%\font\twlvgona	sknagoaa at 16\JQ	% 16Q ゴナD for 「チュートリアル」
+\font\twlvgona	goth10 at 16\JQ	% 20Q min10で仮想的に出力 for「チュートリアル」
+
+% \font\svtnmin	skminsaa at 20\JQ	% 20Q 太明朝 for author
+\font\svtnmin	min10 at 20\JQ	% 20Q min10で仮想的に出力 for author
+
+% \font\twtygt	skgotsaa at 28\JQ	% 28Q 太ゴシック for title
+\font\twtygt	goth10 at 28\JQ	% 28Q goth10で仮想的に出力 for title
+
+% 続いて欧文:
+%   プレロードされてるローマンフォントは数式の \textfont0 としても
+%   使われるため、別名称でロードしてサイズ環境を操作するのが無難か?
+%%\font\egtrm	secntmm	at 10\Q
+%%\font\ninrm	secntmm	at 11.5\Q
+%%\font\tenrm	secntmm at 13\Q
+
+%%\font\egtit	secntmmi at 10\Q
+%%\font\ninit	secntmmi at 11.5\Q
+%%\font\tenit	secntmmi at 13\Q
+
+%%\font\egtbf	secntqm	at 10\Q
+%%\font\ninbf	secntqm	at 11.5\Q
+%%\font\tenbf	secntqm	at 13\Q
+
+%%\font\titleb	sebdnqm at 28\Q		% タイトル用ボドニボールド
+\font\titleb	min10 at 28\Q		% タイトル用ボドニボールド
+
+% 版面天地とパラメータの設定
+%
+% \textheight
+%    = \topskip + \baselineskip * 39 lines
+%    = 12Q      + 21.5Q         * 39 lines
+%    = 850.5Q
+
+\headsep	15\Q		% 正確な値ではない
+\topskip	12\Q		% 12Q より高い行はベースラインがずれる
+\baselineskip	\@Baseline		% 11.5Q 行間 10Q
+\lineskip	0pt
+\lineskiplimit	0pt
+
+\textheight	850.89\Q	% 850.5Q (21.5Q * 39line + \topskip) の
+				% はずだが 40 行入らないため、すこしずつ
+				% 増やしてこの値になった
+
+\maxdepth	5\Q		%
+
+%TI%% We don't need foot* because we don't use footer
+%TI%\footskip	0pt
+%TI%\footheight	0pt
+
+\parindent1zw
+
+%\parskip	0pt plus.001\Q	% すべてのパラメータが決定できたら
+				% パラグラフ間にわずかの自由度を置きたい。
+				% テスト中は自由度はないほうがいい。
+
+\kanjiskip 0pt plus .1zw minus 0.05zw
+				% 和文文字間は比較的自由度が大きい
+
+%\overfullrule	10pt		% 悪い部分は目立たせて直す
+
+%
+% 一部のマクロの再定義
+%
+
+% \def\@maketitle{\newpage \null
+%  \vbox to 235.2\Q{		%% 計算では 236.5Q のはずだが、、、
+%  \begin{flushleft}
+%   \rule{\textwidth}{1mm}%
+%   \vskip.7cm
+%   {\titleb\hskip 6.5mm
+%   \twtygt\@title\kanjiskip -3mm plus0mm minus0mm % 詰めたいのに詰らない、、、
+%   }
+%   \vskip.7cm
+%   \huge\hskip 6.5mm
+%   \begin{tabular}[t]{@{}l}\@author\end{tabular}
+%  \end{flushleft}
+%  \par
+%  \vss
+%  \hrule	% height0pt		%% 体裁が決まったら 0pt にする
+%  }}
+
+% \long\def\@makecaption#1#2{  %% \vskip 10pt
+% \setbox\@tempboxa\hbox{\small\bf\egtbf\egtgt~~#1~~#2~~}
+%   \ifdim \wd\@tempboxa >\hsize 
+%     {\small\bf\egtbf\egtgt\setlength{\baselineskip}{12pt}
+%        \newbox\@tempboxb \setbox\@tempboxb\hbox{#1~~}
+%        \leftskip=15pt \hangindent=\wd\@tempboxb #1~~#2\par}
+%   \else \hbox to\hsize{\hfil\box\@tempboxa\hfil} 
+%  \fi}
+
+% \def\section{\@startsection{section}{1}{0\jspaceskip}
+%  {8\Q plus.1\Q minus.1\Q}	% 上部グルー (経験値)
+%  {1.6\Q plus.1\Q minus.1\Q}	% 下部グルー
+%  {\vrule width	.4pt		%% 体裁が決まったら 0pt にする。
+% 	 height	30\Q		%% ページ頭で \topskip に届くように。
+% 	 depth	14\Q		%% 本文の 1 行目に接するように。
+%   \font@s}}
+% 
+% \def\subsection{\@startsection{subsection}{2}{\jspaceskip}
+%  {1\baselineskip plus.1\Q minus.1\Q}
+%  {0.1\Q plus.1\Q minus.1\Q}
+%  {\font@ss}}
+
+%TI%\pagestyle{headings}
+\flushbottom			% ページ下端をそろえる
+%dskfonts.sty ends %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%---------------------------
+% ``dskfonts.sty' uses CM and min** fonts for preminary printing.
+% For production-run, use ``skfonts.sty'' instead of ``dskfonts.sty''.
+%---------------------------
+
+\let\sevendm=\sevmin                                    %ST
+\let\sevendg=\sevgt                                     %ST
+\let\eightdm=\egtmin                                    %ST
+\let\eightdg=\egtgt                                     %ST
+\let\ninedm=\ninmin                                     %ST
+\let\ninedg=\ningt                                      %ST
+\let\gona=\twlvgona             % N. Yamanouchi for 「チュートリアル」
+
+\if@LaTeX@e\else
+\def\dm{\mc}\def\pdm{\pmc}                                      %ST
+\def\dg{\gt}\def\pdg{\pgt}                                      %ST
+\fi
+
+\let\setjglues=\relax
+\let\jintercharskip=\kanjiskip
+\let\jasciikanjiskip=\xkanjiskip
+
+\if@LaTeX@e\else
+\def\dm{\mc}\def\pdm{\pmc}                                      %ST
+\def\dg{\gt}\def\pdg{\pgt}                                      %ST
+\fi
+
+\def\defjintercharskip#1#2#3#4{
+\fontdimen2#1=#2                                                %ST
+\fontdimen3#1=#3                                                %ST
+\fontdimen4#1=#4}                                               %ST
+\def\defjasciikanjiskip#1#2#3#4{%                               %ST
+\fontdimen7#1=#2                                                %ST
+\fontdimen7#1=#3                                                %ST
+\fontdimen7#1=#4}                                               %ST
+\def\defmathkanjiskip#1#2#3#4{}                                 %ST
+\def\defjspaceskip#1#2#3#4{%                                    %ST
+\fontdimen6#1=#1}                                               %ST
+\let\setjglues=\relax                                           %ST
+\let\jintercharskip=\kanjiskip                                  %ST
+\let\jasciikanjiskip=\xkanjiskip                                %ST
+\newdimen\jspaceskip                                            %ST
+\jspaceskip=2.875mm             %yamanouchi%                    %ST
+%%\jspaceskip=1zw                                               %ST
+
+\newdimen\jmathkanjiskip        %yamanouchi 3/25/92%
+\jmathkanjiskip=\kanjiskip      %yamanouchi 3/25/92%            
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\fi
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% compsoft9.sty ASCII version modified 25 March 1992 by N. YAMANOUCHI
+% compsoft9.sty 23 March 1992 By Yasuki SAITO
+% compsoft9.sty Apr. 24 '91 By Hideki ISOZAKI
+% j-art10.sty 10-Feb-89 from art10.sty 22-Dec-87
+
+% 1mm = 2.8452755905pt, 1pt = .3514598035mm, 1Q = 0.25mm = .7113188976pt
+%
+% For footnotesize
+% depth_of_8pt_kanji = 1.4454pt
+% height_of_8pt_kanji = 5.781592pt
+% line = height_plus_depth_of_8pt_kanji = 7.226992pt = 2.53999mm ~= 10Q
+% baselineskip = line + gap = 15Q = 3.75mm = 10.6697834645pt
+% gap = baselineskip - line = 10.66978 - 7.226992 = 3.4427914645pt
+
+% For references
+% baselineskip = line + gap = 14.5Q = 3.625mm = 10.314124pt
+% gap = baselineskip - line = 10.314124pt - 7.226992pt = 3.087132pt
+%                                    ~= 4.5Q = 1.125mm = 3.2009350393pt
+% gap + depth = 3.087132 + 1.4454 = 4.532532pt
+
+% For normalsize
+% depth_of_9pt_kanji = 1.44539pt
+% line = height_plus_depth_of_9pt_kanji = 8.1906pt
+%                              ~= 11.5Q = 8.1801673228pt
+% 212.5mm = 212.5mm * 72.27pt / 25.4mm = 604.62106299212598425196pt
+% baselineskip = line + gap = 11.5Q + 10Q = 21.5Q = 15.2933562992pt
+% gap = 21.5Q - line(8.1906pt) = 7.1027562992pt ~= 10Q = 7.1131889763pt
+% gap + depth = 8.54815pt
+
+\ifASCII\else
+\newlength{\Q} \setlength{\Q}{0.25mm} % commented out for ASCII version
+                                         % by N. Yamanouchi
+\let\kanjiskip=\jintercharskip
+\let\xkanjiskip\jasciikanjiskip
+\fi
+
+\lineskip\z@ \normallineskip\z@ \jot\z@ \lineskiplimit\z@
+\def\baselinestretch{1}
+
+\if@LaTeX@e
+\def\normalsize{\@setsize\normalsize{\@Baseline}\ixpt\@ixpt
+%\renewcommand{\normalsize}{%
+%\@setfontsize\normalsize{12\JQ}{21.5\Q}
+\abovedisplayskip \z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI} 
+\else
+\def\@normalsize{\@setsize\normalsize{\@Baseline}\ixpt\@ixpt
+\abovedisplayskip \z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI} 
+\fi
+
+\def\small{\@setsize\small{15\Q}\viiipt\@viiipt
+%\newcommand{\small}{%
+%\@setfontsize\normalsize{11\JQ}{15\Q}
+\abovedisplayskip \z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI}
+
+\def\footnotesize{\@setsize\footnotesize{15\Q}\viiipt\@viiipt
+%\newcommand{\footnotesize}{%
+%\@setfontsize\normalsize{11\JQ}{15\Q}
+\abovedisplayskip\z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI}
+
+\def\scriptsize{\@setsize\scriptsize{11pt}\vipt\@vipt}
+\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
+\def\large{\@setsize\large{21.5\Q}\xpt\@xpt}% baselineskip=>normalsize
+\def\Large{\@setsize\Large{20pt}\xiipt\@xiipt}
+\def\LARGE{\@setsize\LARGE{25pt}\xivpt\@xivpt}
+\def\huge{\@setsize\huge{30pt}\xviipt\@xviipt}
+\def\Huge{\@setsize\Huge{35pt}\xxpt\@xxpt}
+
+\@ifundefined{normalsize}{\let\normalsize\@Normalsize}
+
+\normalsize 
+\oddsidemargin 0pt \evensidemargin 0pt
+\advance\oddsidemargin-.5in
+\advance\evensidemargin-.5in
+\topmargin -25pt
+
+\headheight 12.5\Q
+\addtolength{\headheight}{0.1087pt}
+% headheight was increased a little bit to avoid annoying overful vbox
+% in sample.tex, but this also shifts entire headline upward a little bit.
+% So, \headsep is decreased a little to compensate this.
+
+\headsep 17\Q
+\addtolength{\headsep}{-0.1087pt}
+
+%\footskip 2\baselineskip % This isn't necessary, no foot in this style
+
+\newdimen\@mojihaba
+\settowidth{\@mojihaba}{あ}
+
+\textheight = 212.5mm % for simple twocolumn setup
+
+% topskip = line - depth_of_9pt_kanji
+\topskip = 6.74521pt
+
+% columnsep = 2\@mojihaba = 2*11.5Q = 23Q = 5.75mm = 16.3603346456pt
+%          ~= 8.1906pt * 2 = 16.3812pt
+\columnsep 16.3812pt 
+
+\textwidth 50\jspaceskip
+\advance\textwidth by \columnsep
+\columnseprule 0pt 
+
+%% 15 Jul 2009  Iwasaki & Matsuzaki
+\def\adjustAfour{%
+\oddsidemargin210mm
+\advance\oddsidemargin-\textwidth
+\oddsidemargin.5\oddsidemargin
+\advance\oddsidemargin-1in
+\evensidemargin\oddsidemargin
+\topmargin297mm
+\advance\topmargin-\headheight
+\advance\topmargin-\headsep
+\advance\topmargin-\textheight
+\topmargin.5\topmargin
+\advance\topmargin-1in
+}
+
+
+
+%\footnotesep must be \baselineskip-\depth = 10.6697835pt-1.4454pt
+% = 9.2243835pt, but this is too wide
+%\footnotesep 9.2243835pt
+%\footnotesep 7.226992pt % = line height
+\footnotesep 8.672392pt % = line height + depth = 7.226992pt + 1.4454pt
+% you want to make a gap between footnoterule and first footnote 2Q, but...
+%\footnotesep 2\Q % This does not work! you must do something in \@makecol
+
+%\skip\footins 10\Q plus 21.5\Q
+\skip\footins 10\Q plus 11.5\Q minus 1\Q
+
+\floatsep \baselineskip \textfloatsep \baselineskip 
+\intextsep \baselineskip \@maxsep \baselineskip
+\dblfloatsep \baselineskip \dbltextfloatsep \baselineskip
+\@dblmaxsep \baselineskip
+\@fptop 0pt plus 1fil \@fpsep 0pt plus 2fil \@fpbot 0pt plus 1fil 
+\@dblfptop 0pt plus 1fil \@dblfpsep 0pt plus 2fil \@dblfpbot 0pt plus 1fil
+
+\parskip\z@ \parindent \@mojihaba \partopsep\z@
+\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 
+\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty
+-\@lowpenalty 
+
+
+
+\def\section{\@startsection {section}{1}{\jspaceskip}{17.5\Q}{4\Q}{\font@s}}
+\def\subsection
+ {\@startsection{subsection}{2}{\jspaceskip}{\baselineskip}{0.001pt}{\font@ss}}
+\def\subsubsection
+ {\@startsection{subsubsection}{3}{\jspaceskip}{0.001pt}{0.001pt}{\font@sss}}
+\def\paragraph{\@startsection
+ {paragraph}{4}{\jspaceskip}{0.001pt}{0.001pt}{\normalsize\bf}}
+\def\subparagraph{\@startsection
+ {subparagraph}{5}{\jspaceskip}{\baselineskip}{0.001pt}{\normalsize\bf}}
+
+\setcounter{secnumdepth}{5}
+
+\def\appendix{\par
+ \setcounter{section}{0}
+ \setcounter{subsection}{0}
+ \def\thesection{\Alph{section}}}
+
+\def\sectionfont#1#2#3{\gdef\font@s{#1}\gdef\font@ss{#2}\gdef\font@sss{#3}}
+\sectionfont{\large\bf}{\normalsize\bf}{\normalsize\bf}
+
+
+
+\leftmargini2\@mojihaba
+\leftmarginii2\@mojihaba
+\leftmarginiii2\@mojihaba
+\leftmarginiv2\@mojihaba
+\leftmarginv2\@mojihaba
+\leftmarginvi2\@mojihaba
+\leftmargin\leftmargini
+
+\def\@listI{\leftmargin\leftmargini\parsep\z@\topsep\z@\itemsep\z@
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+}
+\let\@listi\@listI
+%\@listi 
+
+\def\@listii{\leftmargin\leftmarginii
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+ \topsep\z@ \parsep\z@ \itemsep\parsep}
+
+\def\@listiii{\leftmargin\leftmarginiii
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+ \topsep\z@ \parsep\z@ \itemsep\topsep}
+
+\def\@listiv{\leftmargin\leftmarginiv
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+}
+
+\def\@listv{\leftmargin\leftmarginv
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0pt%
+%\itemindent=\@mojihaba
+}
+
+\def\@listvi{\leftmargin\leftmarginvi
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0pt%
+%\itemindent=\@mojihaba
+}
+
+% 2009/12/03 Iwasaki
+% It seems that the \labelsep parameter has to be set as a moderate
+% positive dimension value to make environments defined by \newtheorem
+% correctly work.
+% Without the following line, \labelsep's value is 0.0pt, which causes
+% no space between a theorem number and the first word of the theorem.
+\labelsep 5.0pt
+
+
+
+%% JTeX glues
+
+\ifASCII
+\defjintercharskip{\ninedm}{0pt}{1.8pt}{0.18pt}
+\defjintercharskip{\ninedg}{0pt}{1.8pt}{0.18pt}
+\defjintercharskip{\eightdm}{0pt}{1.5pt}{0.15pt}
+\defjintercharskip{\eightdg}{0pt}{1.5pt}{0.15pt}
+\defjintercharskip{\sevendm}{0pt}{1.4pt}{0.14pt}
+\defjintercharskip{\sevendg}{0pt}{1.4pt}{0.14pt}
+
+\setjglues
+\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+\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\labelitemi{$\bullet$}
+\def\labelitemii{\bf --}
+\def\labelitemiii{$\ast$}
+\def\labelitemiv{$\cdot$}
+
+\def\verse{\let\\=\@centercr 
+ \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent 
+ \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
+\let\endverse\endlist
+\def\quotation{\list{}{\listparindent 1.5em
+ \itemindent\listparindent
+ \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
+\let\endquotation=\endlist
+\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
+\let\endquote=\endlist
+\def\abstquotation{\list{}{\listparindent 1.5em
+ \itemindent\listparindent
+ \leftmargin 5mm
+ \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
+\let\endabstquotation=\endlist
+\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
+\let\endquote=\endlist
+
+
+%\def\descriptionlabel#1{\hspace\labelsep \bf #1}
+\def\descriptionlabel#1{\bf #1}
+\def\description{\list{}{\labelwidth\z@ %\itemindent-\leftmargin
+ %\itemindent=\@mojihaba
+ \labelsep=0.75\@mojihaba %
+ \let\makelabel\descriptionlabel}}
+\let\enddescription\endlist
+
+\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}}\fi}
+
+\let\endenumerate =\endlist
+
+\def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne
+\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+\list{\csname\@itemitem\endcsname}{\def\makelabel##1{##1\hss}}\fi}
+
+\let\enditemize =\endlist
+
+
+
+
+
+\def\theequation{\arabic{equation}}
+
+\arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt 
+\tabbingsep \labelsep 
+
+\skip\@mpfootins = \skip\footins
+\fboxsep = 3pt \fboxrule = .4pt 
+
+
+
+\newcounter{part}
+\newcounter{section}
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+
+\def\thepart{\Roman{part}} \def\thesection {\arabic{section}}
+\def\thesubsection {\thesection.\,\arabic{subsection}}
+\def\thesubsubsection {\thesubsection.\,\arabic{subsubsection}}
+\def\theparagraph {\thesubsubsection.\,\arabic{paragraph}}
+\def\thesubparagraph {\theparagraph.\,\arabic{subparagraph}}
+
+
+
+% Do not delete BEFORESKIP even if \section is on top of page
+% Is this functioning?
+% \@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
+   \@minipagefalse % this line is added by Hiroshi Nakashima
+   \if@nobreak \everypar{}\else
+     \addpenalty{\@secpenalty}%
+        \ifnum#2=\@ne%\message{topskip=\the\topskip,beforeskip=\the\@tempskipa}
+%\message{prevdepth=\the\prevdepth}%
+\ifdim\prevdepth=0pt\vspace*{-21.5\Q}\else\vskip-\prevdepth\fi
+%\vspace{-\prevdepth} % seems to be the same as above, but does not work!!
+%       \advance\@tempskipa-17.5\Q \addvspace{17.5\Q}
+% 13.89347pt = 17.5Q + depth(1.44539pt)
+        \advance\@tempskipa-13.89347pt \addvspace{13.89347pt}
+        \vspace*{\@tempskipa}%
+        \else\addvspace{\@tempskipa}\fi\fi \@ifstar
+     {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+
+% to include section/subsection title modification
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+     \def\@svsec{}\else 
+%     \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi
+     \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip\@mojihaba}\fi
+     \@tempskipa #5\relax
+      \ifdim \@tempskipa>\z@ 
+        \begingroup #6\relax
+          \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M\@mojidori{#8}\par}%
+        \endgroup
+       \csname #1mark\endcsname{#7}\addcontentsline
+         {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+                      \protect\numberline{\csname the#1\endcsname}\fi
+                    #7}\else
+        \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname
+                      {#7}\addcontentsline
+                           {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+                             \protect\numberline{\csname the#1\endcsname}\fi
+                       #7}}\fi
+     \@xsect{#5}}
+
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
+   \ifdim \@tempskipa>\z@
+     \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M\@mojidori{#5}\par}\endgroup
+   \else \def\@svsechd{#4\hskip #1\relax #5}\fi
+    \@xsect{#3}}
+
+\newlength\@currentmojihaba
+
+\def\@mojidori#1{\setbox0\hbox{#1}\settowidth{\@currentmojihaba}{あ}%
+ \ifdim\wd0>5\@currentmojihaba #1\else%
+  \ifdim\wd0=2\@currentmojihaba {\jasciikanjiskip=2\@currentmojihaba%
+     \jmathkanjiskip=2\@currentmojihaba%
+     \jintercharskip=2\@currentmojihaba #1}\else%
+   {\jasciikanjiskip=0.2\@currentmojihaba%
+     \jmathkanjiskip=0.2\@currentmojihaba%
+     \jintercharskip=0.2\@currentmojihaba #1}\fi\fi}
+
+
+\newlength\twodigits
+
+\newbox\bibbox
+\setbox\bibbox=\hbox{{999}}{\relax}
+\def\@biblabel#1{\hbox to\wd\bibbox{{[\hss#1\hss]}}}
+
+\def\thebibliography#1{\subsection*{\refname\@mkboth{\refname}{\refname}}%
+\vskip7\Q % = 21.5\Q - 14.5\Q (the difference in two baselineskips)
+\settowidth\twodigits{#1}\list
+ {~~[\hbox to \twodigits{\hss\arabic{enumi}\hss}]}
+ {\setlength\labelwidth{10\Q}\leftmargin\labelwidth\labelsep\labelwidth
+ \advance\leftmargin\labelsep
+ \itemindent=0pt
+ \usecounter{enumi}\footnotesize\baselineskip=14.5\Q}
+ \def\newblock{\hskip .11em plus .33em minus .07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+\let\endthebibliography=\endlist
+
+\def\refname{参 考 文 献}  % will be changed in English articles
+
+
+
+\newif\if@restonecol
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+\columnseprule \z@
+\columnsep 35pt\twocolumn[\section*{\indexname}]
+ \@mkboth{\indexname}{\indexname}\thispagestyle{plain}\parindent\z@
+ \parskip\z@ plus .3pt\relax\let\item\@idxitem}
+\def\@idxitem{\par\hangindent 40pt}
+\def\subitem{\par\hangindent 40pt \hspace*{20pt}}
+\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}}
+\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
+\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}
+
+
+
+% You may need to change following parameters
+\setcounter{topnumber}{4} \def\topfraction{.9}
+\setcounter{bottomnumber}{4} \def\bottomfraction{.9}
+\setcounter{totalnumber}{8}
+\def\textfraction{.1}
+\def\floatpagefraction{.9}
+\setcounter{dbltopnumber}{4} \def\dbltopfraction{.9}
+\def\dblfloatpagefraction{.9}
+
+% You cannot handle double column bottom figures yet!!!
+
+\newskip\@beforecaptionskip
+\newskip\@aftercaptionskip
+% initial default values for under caption
+\@beforecaptionskip=10\Q \@aftercaptionskip=0pt
+
+% addcontentsline is omitted to allow `\\' containing argument
+\long\def\@caption#1[#2]#3{\par\begingroup
+    \@parboxrestore
+%    \normalsize
+    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+  \endgroup}
+
+\newbox\@tempboxb
+% following makecaption is for under caption.
+% you may need to define another makecaption for over caption!!
+\long\def\@makecaption#1#2{\vskip\@beforecaptionskip
+ \setbox\@tempboxa\hbox{\footnotesize\bf #1\hskip\jspaceskip #2}
+ \ifdim \wd\@tempboxa >\hsize
+ \begin{center}
+%  \setbox\@tempboxb\hbox{\footnotesize\bf #1\hskip\jspaceskip}
+%  \hangindent=\wd\@tempboxb \hangafter=1
+  {\footnotesize\bf #1\hskip\jspaceskip #2}\par
+ \end{center}
+ \else
+  \hbox to\hsize{\hfil\box\@tempboxa\hfil}
+%  \center{\footnotesize\bf #1\hskip\jspaceskip #2}
+  \fi\vskip\@aftercaptionskip}
+
+\newcounter{figure}
+\def\thefigure{\@arabic\c@figure}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename \thefigure}
+\def\figure{\bgroup\@beforecaptionskip=10\Q\@aftercaptionskip=0pt\@float{figure}}
+\def\endfigure{\end@float\egroup}
+\@namedef{figure*}{\bgroup\@beforecaptionskip=10\Q\@aftercaptionskip=0pt\@dblfloat{figure}}
+\@namedef{endfigure*}{\end@dblfloat\egroup}
+
+\newcounter{table}
+\def\thetable{\@arabic\c@table}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename \thetable}
+\def\table{\bgroup\@beforecaptionskip=0pt\@aftercaptionskip=7\Q\@float{table}}
+\def\endtable{\end@float\egroup}
+\@namedef{table*}{\bgroup\@beforecaptionskip=0pt\@aftercaptionskip=7\Q\@dblfloat{table}}
+\@namedef{endtable*}{\end@dblfloat\egroup}
+
+% height adjustment code insertion into float ending routines
+\newdimen\@floatheight
+\newcount\@floatlinecount
+
+\def\end@float{\par\vskip\z@\egroup %% \par\vskip\z@ added 15 Dec 87
+\color@endbox
+\@floatheight=\ht\@currbox
+\advance\@floatheight \dp\@currbox
+\divide\@floatheight\baselineskip \@floatlinecount=\@floatheight
+\advance\@floatlinecount\@ne
+\@floatheight=\@floatlinecount\baselineskip
+%\fboxrule=0.01pt\fboxsep=0pt% for debugging
+%\global\setbox\@currbox=\hbox{\fbox{\vbox to\@floatheight{\vfil\copy\@currbox\vfil}}}%
+\global\setbox\@currbox=\vbox to\@floatheight{\vfil\copy\@currbox\vfil}%
+   \ifnum\@floatpenalty <\z@
+     \@cons\@currlist\@currbox
+     \ifdim \ht\@currbox >\textheight 
+        \ht\@currbox\textheight \fi
+     \ifnum\@floatpenalty < -\@Mii 
+        \penalty -\@Miv 
+        \@tempdima\prevdepth    %% saving and restoring \prevdepth added
+        \vbox{}                 %% 26 May 87 to prevent extra vertical
+        \prevdepth \@tempdima   %% space when used in vertical mode
+        \penalty\@floatpenalty
+      \else \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@esphack
+     \fi\fi}
+
+\def\end@dblfloat{\if@twocolumn
+     \par\vskip\z@\egroup %% \par\vskip\z@ added 15 Dec 87\egroup
+\color@endbox
+\@floatheight=\ht\@currbox
+\advance\@floatheight \dp\@currbox
+\divide\@floatheight\baselineskip \@floatlinecount=\@floatheight
+\advance\@floatlinecount\@ne
+\@floatheight=\@floatlinecount\baselineskip
+%\fboxrule=0.01pt\fboxsep=0pt% for debugging
+%\global\setbox\@currbox=\hbox{\fbox{\vbox to\@floatheight{\vfil\copy\@currbox\vfil}}}%
+\global\setbox\@currbox=\vbox to\@floatheight{\vfil\copy\@currbox\vfil}%
+     \ifnum\@floatpenalty <\z@ \@cons\@dbldeferlist\@currbox\fi
+      \ifnum \@floatpenalty =-\@Mii \@esphack\fi\else\end@float\fi}
+
+
+
+\def\maketitle{\par
+ \begingroup
+ \def\thefootnote{}%
+ \def\@makefnmark{}%
+ \if@twocolumn 
+ \twocolumn[\@maketitle] 
+ \else \newpage
+ \global\@topnum\z@ \@maketitle \fi\thispagestyle{plain}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}
+
+ \thispagestyle{myheadings} % to avoid running head on title page
+ \if@hissha
+ \thispagestyle{hisshatop}
+ \fi
+ \let\maketitle\relax
+ \let\@maketitle\relax
+ \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}
+
+\newbox\@temptitlebox
+
+% abstract
+
+\long\def\Jabstract#1{\global\long\def\Jabstcontent{\noindent\ignorespaces #1}}
+\long\def\Eabstract#1{\global\long\def\Eabstcontent{\noindent\ignorespaces #1}}
+\def\Jabstcontent{\relax}
+\def\Eabstcontent{\relax}
+\def\JEabstInsert{%
+  \begin{adjustvboxheight}\vfill
+  \begin{small}
+    \begin{abstquotation}
+      \Jabstcontent
+      \par\hbox{ }\par
+      \Eabstcontent
+    \end{abstquotation}
+  \end{small}\vskip8mm
+  \end{adjustvboxheight}}
+\def\EabstInsert{%
+  \begin{adjustvboxheight}\vfill
+  \begin{small}
+    \begin{abstquotation}
+      \Eabstcontent
+    \end{abstquotation}
+  \end{small}\vskip8mm
+  \end{adjustvboxheight}}
+
+\def\Jarticle{%
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to193.5\Q{\baselineskip=10mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\JarticleHeader
+% following extra vskip together with baselineskip(10mm) will produce
+% appropriate 10mm/6mm gap between the rule and title
+% This assumes that title is typeset with 28Q(7mm) font, and baseline
+% is set 1mm above the bottom of the font.
+\setbox\@temptitlebox\hbox{JarticleTitle}\ifdim\wd\@temptitlebox>\textwidth\vskip2mm\else\vskip6mm\fi
+\leftskip=5mm
+\JarticleTitle
+\vskip6mm % to leave 10mm gap between title and author
+\JarticleAuthor
+\end{flushleft}\vfil}}
+\JEabstInsert
+}}
+
+\def\Earticle{%
+\def\refname{References}%
+\def\tablename{Table~}
+\def\figurename{Fig.~}
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to193\Q{\baselineskip=8mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\EarticleHeader
+% following extra vskip together with baselineskip(8mm) will produce
+% appropriate 10mm/6mm gap between the rule and title
+% This assumes that title is typeset with 28Q(7mm) font, and baseline
+% is set 1mm above the bottom of the font.
+\setbox\@temptitlebox\hbox{EarticleTitle}\ifdim\wd\@temptitlebox>\textwidth\vskip4mm\else\vskip8mm\fi
+\leftskip=5mm
+\EarticleTitle
+\vskip6mm % to leave 10mm gap between title and author
+\EarticleAuthor
+\end{flushleft}\vfil}}
+\EabstInsert
+}
+\@Baseline=17.5\Q}
+
+\def\JarticleWithoutAbst{%
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to193.5\Q{\baselineskip=10mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\JarticleHeader
+\setbox\@temptitlebox\hbox{JarticleTitle}\ifdim\wd\@temptitlebox>\textwidth\vskip2mm\else\vskip6mm\fi
+\leftskip=5mm
+\JarticleTitle
+\vskip6mm % to leave 10mm gap between title and author
+\JarticleAuthor
+\end{flushleft}\vfil}}}}
+
+\def\leaderfill{\leaders\hbox{\rule{1mm}{1mm}}\hfill}
+\def\leaderfillB{\leaders\hbox to1mm{%
+ \vbox{\rule{1mm}{0.1mm}\vskip0.4mm
+       \rule{1mm}{0.1mm}\vskip0.4mm
+       \rule{1mm}{0.1mm}\vskip0.4mm
+       \rule{1mm}{0.1mm}}}\hfill}
+
+\newdimen\strokeinterval \newdimen\strokewidth
+\newdimen\rightstrokewidth
+\strokeinterval=\textwidth \advance\strokeinterval by-0.1mm
+\divide\strokeinterval by150
+\strokewidth=\strokeinterval
+\multiply\strokewidth by150 \advance\strokewidth by0.1mm
+\rightstrokewidth=\strokeinterval
+\multiply\rightstrokewidth by9
+\def\leaderfillstrokeL{\leaders\hbox to\strokeinterval{%
+ \rule{0.1mm}{1.6mm}\hfil}\hfill}
+
+\newdimen\boxinterval \newdimen\boxwidth
+\newdimen\leftboxwidth
+\boxinterval=\textwidth \advance\boxinterval by-1mm
+\divide\boxinterval by99
+\boxwidth=\boxinterval
+\multiply\boxwidth by99 \advance\boxwidth by1mm
+\leftboxwidth=\boxinterval
+\multiply\leftboxwidth by6
+\def\leaderfillboxL{\leaders\hbox to\boxinterval{%
+ \rule{0.9mm}{1mm}\hfil}\hfill}
+
+\ifASCII\else
+\jfont\gona=dg12      % in ASCII, moved to (d)skfonts.
+\fi
+
+% default title header
+% you must devise various headers for topics, tokushu, shohyo etc.
+%
+% 2009/04/22  H.Iwasaki
+% ==========================================================
+% スタイルファイルの変更,その目的は以下の二つ
+%   ・2009年6月より論文投稿規定が改訂されるのに合わせる
+%   ・2009年度の大会論文フォーマットも共用するようにする
+%
+
+%%%
+% 論文種別
+%   コンピュータソフトウェア誌に掲載される論文は
+%       研究論文/ソフトウェア論文/解説論文
+%   の3通りであるが,大会予稿もこのスタイルファイルを使うことにしたので,
+%   便宜的に,大会予稿も論文種別の一種とする.
+%   
+%   結局論文種別は,
+%     研究論文/ソフトウェア論文/解説論文/大会予稿
+%   の4通りのいずれか.そのそれぞれについて和文と英文があり得るが,
+%   英文解説論文はあまり想定していない.
+%   また,チュートリアルは解説論文の一種だが,1ページ目の頭書きが
+%   異なるので,普通の解説論文とば別の種別文字を用意した.
+%
+% \documentclass[..]{compsoft} の [...] の中に論文種別,査読種別,言語
+% を指定する.
+%
+% 論文種別
+%   P   研究論文 (デフォルト)
+%   S   ソフトウェア論文
+%   K   普通の解説論文
+%   U   チュートリアル
+%   T   大会論文 (大会論文は便宜的に論文種別の一種として扱う)
+%
+% 査読種別 (大会論文の時には指定しない)
+%   R   通常論文 (デフォルト)
+%   L   レター論文
+%
+% 言語
+%   J   和文 (デフォルト)
+%   E   英文
+%
+% \ronbunShubetsu は,論文種別を表す一文字 (P, S, K, U, T のいずれか)
+% \sadokuShubets  は,査読種別を表す一文字 (R,L のいずれか)
+% \ronbunLang     は,言語を表す一文字 (J, E のいずれか)
+
+\let\ronbunShubetsu=P     % 論文種別のデフォルト値は研究論文
+\let\sadokuShubetsu=R     % 査読種別のデフォルト値は通常論文
+\let\ronbunLang=J         % デフォルトは和文論文
+\def\JarticleHeader{\rule{\textwidth}{1mm}}
+\def\JarticleTitle{{\huge\bf\@title}}
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}
+
+%
+% 論文種別
+%
+
+\def\ifRonbun#1{\ifx\ronbunShubetsu P{#1}\else\relax\fi}
+\def\ifSoftRonbun#1{\ifx\ronbunShubetsu S{#1}\else\relax\fi}
+\def\ifKaisetsu#1{\ifx\ronbunShubetsu K{#1}\else\relax\fi}
+\def\ifTutorial#1{\ifx\ronbunShubetsu U{#1}\else\relax\fi}
+\def\ifTaikai#1{\ifx\ronbunShubetsu T{#1}\else\relax\fi}
+\def\ifNotTaikai#1{\ifx\ronbunShubetsu T\relax\else{#1}\fi}
+
+% ◆P (研究論文)
+\def\ds@P{
+\let\ronbunShubetsu=P%
+\def\JarticleHeader{\rule{\textwidth}{1mm}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ◆S (ソフトウェア論文)
+\def\ds@S{
+\let\ronbunShubetsu=S%
+\def\JarticleHeader{%
+\hbox to \strokewidth{\leaderfillboxL\rule{0.9mm}{1mm}}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ◆K (普通の解説論文)
+\def\ds@K{
+\let\ronbunShubetsu=K%
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona 解 説}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ◆U (チュートリアル --- 解説論文の一種)
+\def\ds@U{
+\let\ronbunShubetsu=U%
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL\rule{0.1mm}{1.6mm}}
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9.5mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona チュートリアル}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ◆T (大会論文)
+\def\ds@T{
+\let\ronbunShubetsu=T%
+\def\JarticleHeader{\rule{\textwidth}{1mm}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle\adjustAfour}
+
+%
+% 査読種別 --- 通常論文/レター論文 の2通り
+%
+
+\def\ifRegular#1{\ifx\sadokuShubetsu R{#1}\else\relax\fi}
+\def\ifLetter#1{\ifx\sadokuShubetsu L{#1}\else\relax\fi}
+
+% ◆R (通常論文)
+\def\ds@R{
+\let\sadokuShubetsu=R
+}
+
+% ◆L (レター論文)
+\def\ds@L{
+\let\sadokuShubetsu=L
+}
+
+%
+% 言語
+%
+
+% ◆J (和文)
+\def\ds@J{
+\let\ronbunLang=J%
+\Jarticle}
+
+% ◆E (英文)
+\def\ds@E{
+\let\ronbunLang=E%
+\def\EarticleHeader{\JarticleHeader}
+\def\EarticleTitle{\JarticleTitle}
+\def\EarticleAuthor{\JarticleAuthor}
+\Earticle}
+
+%%%
+% 特集の場合
+%   \tokushu{特集のタイトル}
+% とする.このタイトルは,1ページ目の上の方に出力される.
+
+\def\tokushu#1{%
+\def\tokushutitle{#1}%
+\ifRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}%
+\hbox{\small\bf\hskip1mm 特集●\tokushutitle}\leaderfill}}}%
+\ifSoftRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{%
+\hbox to \leftboxwidth{\leaderfillboxL}%
+\hbox{\small\bf\hskip1mm 特集●\tokushutitle}\leaderfillboxL
+\rule{0.9mm}{1mm}}}}%
+\ifKaisetsu{%
+\gdef\articleHeader{{\offinterlineskip
+\hbox to \textwidth{\leaderfillB\hbox{\small\bf\hskip1mm 特集●\tokushutitle
+\hskip1mm}%
+\hbox to3\@mojihaba{%
+ \vbox{\rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona 解 説}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}}%
+\ifTutorial{%
+\gdef\articleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL
+\hbox{\small\bf\hskip1mm 特集●\tokushutitle\hskip2mm}%
+\hbox to\rightstrokewidth{\leaderfillstrokeL}\rule{0.1mm}{1.6mm}}%
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona チュートリアル}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}}%
+\gdef\JarticleHeader{\articleHeader}%
+\gdef\EarticleHeader{\articleHeader}}
+
+%%%
+% 推薦の場合
+%   \suisen{タイトル}
+% とする.このタイトルは,1ページ目の上の方に出力される.
+
+\def\suisen#1{%
+\def\suisentitle{#1}%
+\ifRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}%
+\hbox{\small\bf\hskip1mm 推薦論文●\suisentitle}\leaderfill}}}%
+\ifSoftRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{%
+\hbox to \leftboxwidth{\leaderfillboxL}%
+\hbox{\small\bf\hskip1mm 推薦論文●\suisentitle}\leaderfillboxL
+\rule{0.9mm}{1mm}}}}%
+\ifKaisetsu{%
+\gdef\articleHeader{{\offinterlineskip
+\hbox to \textwidth{\leaderfillB\hbox{\small\bf\hskip1mm 推薦論文●\suisentitle
+\hskip1mm}%
+\hbox to3\@mojihaba{%
+ \vbox{\rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona 解 説}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}}%
+\gdef\JarticleHeader{\articleHeader}%
+\gdef\EarticleHeader{\articleHeader}}
+
+%%%
+% 大会予稿の場合
+%   \taikai{年度}
+% を入れなければならない.回数は年度から自動的に計算される.
+% 回数 = 年度 - 1983
+% このタイトルは,1ページ目の上の方に出力される.
+
+\def\leaderfilll{\leaders\hbox{\rule{0.2mm}{0.2mm}}\hfill}
+
+\def\taikai#1{%
+\ifTaikai{%
+\newcount\currentYear%
+\newcount\currentKai%
+\currentYear=#1%
+\currentKai=\currentYear\advance\currentKai by-1983%
+\global\xdef\taikaititle{日本ソフトウェア科学会第\number\currentKai 回大会%
+(\number\currentYear 年度)講演論文集}%
+\gdef\articleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{0.2mm}%
+\hbox{\small\bf\hskip1mm \taikaititle\hskip1mm}\leaderfilll}}%
+\gdef\JarticleHeader{\articleHeader}%
+\gdef\EarticleHeader{\articleHeader}%
+\gdef\@oddheadcontents{\taikaititle}%
+\gdef\@evenheadcontents{\taikaititle}}}
+
+%%%
+% 1ページ目の左下に出力されるもの
+\def\ejtitle#1{\thanks{#1}}
+
+\def\shozoku#1#2#3{\thanks{#1, #2, #3.}}
+
+\def\shutten{%
+\ifNotTaikai{%
+  \thanks{\kanjiskip 0pt minus 0.15zw %
+  コンピュータソフトウェア, \kern-0.75pt Vol.\arabic{巻数}, %
+  \kern-0.75pt No.\arabic{号数} \kern-1.25pt(\arabic{年数}), %
+  \kern-0.75pt pp.\arabic{firstpage}--\arabic{lastpage}.}}}
+
+\def\ronbunKind{%
+  \ifRonbun{研究}\ifSoftRonbun{ソフトウェア}%
+  \ifKaisetsu{解説}\ifTutorial{解説}論文%
+  \ifRegular{\relax}\ifLetter{(レター)}}
+
+\def\uketsuke#1#2#3{\ifNotTaikai{\thanks{[\ronbunKind] #1年#2月#3日受付.}}}
+
+\def\note#1{\thanks{#1}}
+
+% ここから先は互換性のために,手を入れていない
+%
+% ==========================================================
+% ◆ronbun (論文)
+\def\ds@ronbun{
+\def\JarticleHeader{\rule{\textwidth}{1mm}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ◆Eronbun (英文論文)
+\def\ds@Eronbun{
+\def\EarticleHeader{\rule{\textwidth}{1mm}}%
+\def\EarticleTitle{{\huge\bf\@title}}%
+\def\EarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Earticle}
+
+% ==========================================================
+% ◆ronbungaiyou (論文概要)
+\def\ds@ronbungaiyou{
+\def\pages##1{\long\def\pp{##1}}
+\let\Jabstcontent\relax
+\let\Eabstcontent\relax
+\def\maketitle{\par
+ \@lastpagebalancingfalse
+ \begingroup
+ \def\thefootnote{}%
+ \def\@makefnmark{}%
+ \@maketitle
+ \thispagestyle{plain}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}
+ \thispagestyle{myheadings} % to avoid running head on title page
+\gdef\@thanks{}\gdef\@author{}\gdef\@title{}
+\let\Jabstcontent\relax
+\let\Eabstcontent\relax
+% \let\thanks\relax
+}%
+%
+\def\JarticleHeader{\hbox to25\jspaceskip{\rule{2\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm サイバーページ論文概要\hskip1mm}\leaderfill}}%
+\def\JarticleTitle{{\Large\bf\@title}}%
+\def\JarticleAuthor{\large\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\global\def\@maketitle{\newpage \null 
+\hbox{\vbox to193.5\Q{\baselineskip=6mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\JarticleHeader
+\vskip5mm
+\leftskip=0mm
+\JarticleTitle
+\vskip3mm % to leave 7mm gap between title and author
+\JarticleAuthor
+\end{flushleft}\vfil}}
+% \begin{small}
+\begingroup
+\ifx\Jabstcontent\relax
+\baselineskip=19.5Q
+\Eabstcontent\par
+\else
+\baselineskip=19.5Q
+\Jabstcontent\par
+\fi
+\leavevmode\null\hfill 
+[\kern1pt pp.~\pp\kern1pt]\par
+\endgroup
+% \end{small}
+}}
+
+% ==========================================================
+% ◆softwareronbun (ソフトウェア論文)
+\def\ds@softwareronbun{
+\def\JarticleHeader{%
+\hbox to \strokewidth{\leaderfillboxL\rule{0.9mm}{1mm}}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ==========================================================
+% ◆tutorial (チュートリアル)
+\def\ds@tutorial{
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL\rule{0.1mm}{1.6mm}}
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9.5mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona チュートリアル}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ==========================================================
+% ◆kaisetsu (解説)
+\def\ds@kaisetsu{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona 解 説}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ==========================================================
+% ◆topics (トピックス)
+\def\ds@topics{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona トピックス}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% ◆software (ソフトウェア紹介)
+\def\ds@softwareshokai{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona ソフトウェア紹介}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% ◆forum (フォーラム)
+\def\ds@forum{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona フォーラム}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% ◆zadankai (座談会)
+\def\ds@zadankai{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona 座談会}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% ◆column (コラム)
+\def\ds@column{
+\global\advance\textheight by-3mm
+\global\advance\leftskip by3mm
+\global\advance\rightskip by3mm
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to165\Q{% 172\Q = 7*\baselineskip
+\begin{flushleft}
+\null\vskip11.2mm
+\leftskip=8mm \baselineskip10mm
+{\huge\bf\@title}
+\vskip1.5mm % to leave hmode and start a new paragraph
+\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\end{flushleft}\vfil}}}% 
+\columnsep 0pt     % ueda
+}
+
+% ◆review (書評)
+\def\ds@bookreview{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona 書 評}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% ◆pioneer (パイオニア)
+\def\ds@pioneer{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona パイオニア}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% ◆memoriam (追悼記事)
+\def\ds@memoriam{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona }\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% ==========================================================
+% 特集や推薦の名前を入れるためのマクロ。ユーザに定義してもらう。
+\def\tokushutitle{}
+\def\suisentitle{}
+
+% ◆tokushuronbun (特集論文)
+\def\ds@tokushuronbun{
+\def\JarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm 特集●\tokushutitle}\leaderfill}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ◆Etokushuronbun (英文特集論文)
+\def\ds@Etokushuronbun{
+\def\EarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm 特集●\tokushutitle}\leaderfill}}%
+\def\EarticleTitle{{\huge\bf\@title}}%
+\def\EarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Earticle}
+
+% ◆tokushusoftwareronbun (特集ソフトウェア論文)
+\def\ds@tokushusoftwareronbun{
+\def\JarticleHeader{\hbox to\textwidth{%
+\hbox to \leftboxwidth{\leaderfillboxL}%
+\hbox{\small\bf\hskip1mm 特集●\tokushutitle}\leaderfillboxL
+\rule{0.9mm}{1mm}}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ◆tokushututorial (特集チュートリアル)
+\def\ds@tokushututorial{
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL
+\hbox{\small\bf\hskip1mm 特集●\tokushutitle\hskip2mm}%
+\hbox to\rightstrokewidth{\leaderfillstrokeL}\rule{0.1mm}{1.6mm}}%
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona チュートリアル}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ◆tokushukaisetsu (特集解説)
+\def\ds@tokushukaisetsu{
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \textwidth{\leaderfillB\hbox{\small\bf\hskip1mm 特集●\tokushutitle
+\hskip1mm}%
+\hbox to3\@mojihaba{%
+ \vbox{\rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona 解 説}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ◆topics (特集トピックス)
+\def\ds@tokushutopics{
+\def\JarticleHeader{{\offinterlineskip
+%
+\hbox to\textwidth{%
+\setbox0=\hbox{\small\bf\hskip1mm 特集●\tokushutitle\hskip1mm}%
+\leaders\hbox{\rule{1mm}{0.1mm}}\hfill
+\vbox to0pt{\hsize\wd0\vss\box0\vss}\hbox{\rule{3\@mojihaba}{0.1mm}}}
+% \hbox{\rule{3\@mojihaba}{0.1mm}}}
+%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona トピックス}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% ◆topics (特集ソフトウェア紹介)
+\def\ds@tokushusoftwareshokai{
+\def\JarticleHeader{{\offinterlineskip
+%
+\hbox to\textwidth{%
+\setbox0=\hbox{\small\bf\hskip1mm 小特集●\tokushutitle\hskip1mm}%
+\leaders\hbox{\rule{1mm}{0.1mm}}\hfill
+\vbox to0pt{\hsize\wd0\vss\box0\vss}\hbox{\rule{3\@mojihaba}{0.1mm}}}
+% \hbox{\rule{3\@mojihaba}{0.1mm}}}
+%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona ソフトウェア紹介}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% ◆suisenronbun (推薦論文)
+\def\ds@suisenronbun{
+\def\JarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm 推薦論文●\suisentitle}\leaderfill}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ◆Esuisenronbun (英文推薦論文)
+\def\ds@Esuisenronbun{
+\def\EarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm 推薦論文●\suisentitle}\leaderfill}}%
+\def\EarticleTitle{{\huge\bf\@title}}%
+\def\EarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Earticle}
+% ==========================================================
+
+% ==========================================================
+% ◆kantogen (巻頭言)
+\def\ds@kantogen{
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox{
+\begin{flushleft}
+\offinterlineskip
+\vspace*{-\topskip}
+\rule{\textwidth}{0.1mm}
+\vskip6mm{\gona 巻頭言}\hskip15mm{\huge\@title}\vskip5mm\hskip27mm%
+\Large\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\vskip10mm plus10mm minus10mm% you must adjust this size
+\vskip22.5\Q
+\end{flushleft}
+\vfil}}}
+\leftskip=27mm
+\@totalleftmargin=27mm
+\@rightskip=27mm
+\onecolumn
+\baselineskip=22.5\Q
+\global\tendm\global\rm % This does not work, I don't know why!
+}
+% ==========================================================
+
+% ==========================================================
+% ◆tokushutobira (特集の編集にあたって)
+\def\ds@tokushutobira{
+\global\def\@maketitle{\newpage \null
+\vspace*{-\baselineskip}
+\begin{flushleft}
+\hbox to\textwidth
+{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm 特集●\tokushutitle}\leaderfill}%
+\vskip12mm\hskip5mm{\huge\bf\@title}\vskip1mm\hskip5mm%
+\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\vskip10mm%
+\end{flushleft}%\vfil
+}
+% tokushutobira must be flush left on even page, and flush right on
+% odd page.
+\ifodd\c@page
+\leftskip=7\@mojihaba \rightskip=0pt
+\@totalleftmargin=7\@mojihaba % for list environment such as itemize
+\@rightskip=7\@mojihaba % for list environment such as itemize
+\else
+\leftskip=0pt \rightskip=7\@mojihaba
+\@totalleftmargin=0pt
+\@rightskip=7\@mojihaba
+\fi
+\onecolumn
+}
+% ==========================================================
+
+% ==========================================================
+% ◆tobira (巻頭)
+\def\ds@tobira{
+\global\def\@maketitle{\newpage \null
+\vspace*{-\baselineskip}
+\begin{flushleft}
+\rule{\textwidth}{1mm}
+\vskip12mm\hskip5mm{\huge\bf\@title}\vskip1mm\hskip5mm%
+\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\vskip10mm%
+\end{flushleft}%\vfil
+}
+% tokushutobira must be flush left on even page, and flush right on
+% odd page.
+\ifodd\c@page
+\leftskip=7\@mojihaba \rightskip=0pt
+\@totalleftmargin=7\@mojihaba % for list environment such as itemize
+\@rightskip=7\@mojihaba % for list environment such as itemize
+\else
+\leftskip=0pt \rightskip=7\@mojihaba
+\@totalleftmargin=0pt
+\@rightskip=7\@mojihaba
+\fi
+\onecolumn
+}
+% ==========================================================
+
+% ==========================================================
+% ◆gakkaikiji (学会記事)
+% Gakkai-Kiji header added by yaski
+\def\ds@gakkaikiji{
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to64.5\Q{% 43\Q=3*21.5\Q
+\begin{flushleft}
+{\offinterlineskip
+\noindent
+\hbox to \hsize{{\LARGE 日本ソフトウェア科学会} \leaders\hrule height 2mm\hfill}
+\vspace{2mm}
+\hbox to \hsize{\footnotesize\bf 
+Japan Society for Software Science and Technology \hfil}}
+\end{flushleft}\vfil}}}
+}
+% ==========================================================
+
+% ==========================================================
+% ◆ henshu header added by yaski (編集だより)
+\def\ds@henshu{
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to64.5\Q{% 43\Q=3*21.5\Q
+\begin{flushleft}
+{\offinterlineskip
+\noindent
+\hbox to \hsize{{\LARGE 日本ソフトウェア科学会} \leaders\hrule height 2mm\hfill}
+\vspace{2mm}
+\hbox to \hsize{\footnotesize\bf 
+Japan Society for Software Science and Technology \hfil}}
+\end{flushleft}\vfil}}}
+}
+% ==========================================================
+
+% ==========================================================
+% <13> hissha header added by ohno (筆者紹介)
+\def\ds@hissha{
+\setlength\headsep{47.5mm}
+\setlength\textheight{160mm}
+\pagestyle{hissha}
+\@hisshatrue
+% ----------------
+\raggedbottom
+\global\def\@maketitle{\newpage \null
+%\thispagestyle{hisshatop}
+%\vskip-45mm % added by iwamoto 92.10.15
+%\vskip-55mm % added by iwamoto 92.10.15
+\vskip-53mm
+%\hbox to \textwidth{\hrulefillx}
+\vskip 10mm
+\hbox{\vbox to40mm{%
+\noindent
+\vskip8mm
+\begin{tabular}{l}
+{\LARGE\bf 筆\hspace{2mm}者\hspace{2mm}紹\hspace{2mm}介}
+\end{tabular}
+\vfil}}}
+}
+\def\ds@newsletr{
+\input{newsletr.sty}
+}
+
+% ==========================================================
+% 総目次
+\def\ds@somokuji{
+\setlength\headsep{30mm}
+\setlength\textheight{190mm}
+\pagestyle{hissha}
+\@hisshatrue
+% ----------------
+\raggedbottom
+\global\def\@maketitle{\newpage \null
+%\thispagestyle{hisshatop}
+%\vskip-45mm % added by iwamoto 92.10.15
+%\vskip-55mm % added by iwamoto 92.10.15
+%\vskip-30mm
+%\hbox to \textwidth{\hrulefillx}
+\vskip -20mm
+\hbox{\vbox to21mm{%
+\noindent
+\vskip1mm
+\begin{tabular}{l}
+{\LARGE\bf \@title}
+\end{tabular}
+\vfil}}}
+}
+
+% You must define 書評用 header here!
+
+
+\mark{{}{}} 
+
+% volpage(ボリューム通しページ)has been abolished as of Vol.22 (2005),
+% but the counter volpageoffset is kept alive for backward compatibility
+% because many papers still say \setcounter{volpageoffset}{...} .
+%
+% \newcounter{volpage}
+\newcounter{volpageoffset} % You must set this to appropriate value
+% \setcounter{volpageoffset}{0} % for each issue!
+
+% \def\thevolpage{\setcounter{volpage}{\value{page}}%
+%  \addtocounter{volpage}{\value{volpageoffset}}%
+%   \hbox to21pt{(\hfil\arabic{volpage}\hfil)}}
+\let\thevolpage=\null
+
+\newcounter{巻数} \newcounter{号数}
+\newcounter{年数}
+\newcounter{firstpage}
+\newcounter{lastpage}
+
+\def\volNoPp#1#2#3#4{%
+  \ifNotTaikai{%
+  \setcounter{巻数}{#1}\setcounter{号数}{#2}%
+  \setcounter{年数}{1983}\addtocounter{年数}{\value{巻数}}%
+  \setcounter{firstpage}{#3}\setcounter{lastpage}{#4}\setcounter{page}{#3}}}
+
+\def\@oddheadcontents
+ {Vol.~\arabic{巻数}\hskip\@mojihaba No.~\arabic{号数}\hskip\@mojihaba
+  \ifcase\value{号数}\or Jan.\or Apr.\or July\or Oct.\else\fi
+  \hskip.5\@mojihaba \setcounter{年数}{1983}\addtocounter{年数}{\value{巻数}}
+  \arabic{年数}}
+
+\def\@evenheadcontents{コンピュータソフトウェア}
+
+\def\ps@headings{\let\@mkboth\markboth
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\normalsize
+ \thepage\phantom{\thevolpage}\hfil\@evenheadcontents
+  \hfil\phantom{\thepage}\thevolpage}
+\def\@oddhead{\normalsize
+ \thevolpage\phantom{\thepage}\hfil\@oddheadcontents
+  \hfil\phantom{\thevolpage}\thepage}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@hissha{\let\@mkboth\markboth
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to221.5mm{\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil{コンピュータソフトウェア}
+  \hfil\phantom{\thepage}\thevolpage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\@oddhead{\vbox to221.5mm{\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil\@oddheadcontents
+  \hfil\phantom{\thevolpage}\thepage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@hisshatop{\let\@mkboth\markboth
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to221.5mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil\phantom{コンピュータソフトウェア}
+  \hfil\phantom{\thepage}\thevolpage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\@oddhead{\vbox to221.5mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil\phantom{\@oddheadcontents}
+  \hfil\phantom{\thevolpage}\thepage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@newsheadings{\let\@mkboth\markboth
+%\newfont{\cmssi}{cmssi10 scaled \magstep1}
+%\def\cmssi{\usefont{OT1}{cmss}{m}{it}}
+\font\cmssi=cmssi10 scaled \magstep1
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil{    }
+  \hfil\phantom{\thepage}\thevolpage}\vskip2mm\hbox to\textwidth{%\hskip2mm
+\rule{29mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{97mm}{0.1mm}%\hskip2mm
+}\vfill}}
+\def\@oddhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil{    }
+  \hfil\phantom{\thevolpage}\thepage}\vskip2mm\hbox to\textwidth{%\hskip2mm
+\rule{29mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{97mm}{0.1mm}%\hskip2mm
+}\vfill}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@myindexheadings{\let\@mkboth\markboth
+%\newfont{\cmssi}{cmssi10 scaled \magstep1}
+%\def\cmssi{\usefont{OT1}{cmss}{m}{it}}
+\font\cmssi=cmssi10 scaled \magstep1
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil{    }
+  \hfil\phantom{\thepage}\thevolpage}\vskip2mm\hbox to\textwidth{\hskip2mm\rule{27mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{95mm}{0.1mm}\hskip2mm}\vfill}}
+\def\@oddhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil{    }
+  \hfil\phantom{\thevolpage}\thepage}\vskip2mm\hbox to\textwidth{\hskip2mm\rule{27mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{95mm}{0.1mm}\hskip2mm}\vfill}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+\def\@oddhead{\normalsize \thevolpage\hfil\thepage}
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\normalsize \thepage\hfil\thevolpage}
+\def\sectionmark##1{}\def\subsectionmark##1{}}
+
+\pagestyle{headings}
+\pagenumbering{arabic}
+
+\def\tablename{表}
+\def\figurename{図}
+
+\if@LaTeX@e
+\ifASCII
+\def\bf{\normalfont\gtfamily\bfseries}
+\fi
+\else
+\def\bf{\protect\pdg\protect\pbf}
+\fi
+
+\def\today{\the\year 年 \the\month 月 \the\day 日}
+
+\def\sloppy{\tolerance 9000 \hfuzz .5\p@ \vfuzz .5\p@}
+
+\flushbottom
+
+
+
+% To balance the final page,
+% following code is borrowed from nicetwocolumn style
+\newdimen\dimen@@
+
+\def\balancecolumns{\setbox0\vbox{\unvbox\@outputbox} \dimen@@=\ht0
+   \advance\dimen@@ by\topskip \advance\dimen@@ by-\baselineskip
+   \divide\dimen@@ by2 \splittopskip=\topskip
+   {\vbadness=10000 \loop \global\setbox3=\copy0
+     \global\setbox1=\vsplit3 to\dimen@@
+     \ifdim\ht3>\dimen@@ \global\advance\dimen@@ by1pt\repeat}
+   \ifdim\dimen@@>\textheight \dimen@@=\textheight\fi
+   \setbox0=\vbox to \dimen@@{\unvbox1} \setbox2=\vbox to \dimen@@{\unvbox3}
+   \if\ht0>\ht2 \setbox2=\vbox to\ht0{\unvbox2}\dimen@@=\ht0\else
+   \if\ht2>\ht0 \setbox0=\vbox to\ht2{\unvbox0}\dimen@@=\ht2\fi\fi
+  \wd0=\hsize \wd2=\hsize
+%\message{in balancecolumns dimen@@=\the\dimen@@, dp0=\the\dp0, dp2=\the\dp2}
+\ifdim\dp0>\dp2\advance\dimen@@ by\dp0\else\advance\dimen@@ by\dp2\fi
+\setbox\@outputbox\vbox to\dimen@@{\hbox to\textwidth{\box0\hfil\box2}\vfill}}
+
+
+% you can refrain from balancing by falsifying following switch!
+\newif\if@lastpagebalancing \@lastpagebalancingtrue % default is to balance
+
+% incorporate balanced output to \enddocument
+\def\enddocument{\if@lastpagebalancing \global\let\@outputdblcol=\balancing@outputdblcol\fi%
+\@checkend{document}\clearpage
+\begingroup  
+\if@filesw \immediate\closeout\@mainaux 
+\def\global\@namedef##1##2{}\def\newlabel{\@testdef r}%
+\def\bibcite{\@testdef b}\@tempswafalse \makeatletter\input \jobname.aux
+\if@tempswa \@warning{Label(s) may have changed.  Rerun to get
+cross-references right}\fi\fi\endgroup
+\deadcycles\z@\@@end}
+
+\newlength{\@interlinegap}
+
+% to change \interlinegap appropriately at appropriate time
+\def\@outputdblcol{\if@firstcolumn \global\@firstcolumnfalse
+    \global\setbox\@leftcolumn\box\@outputbox
+% Following interlinegap value may be wrong!!
+% It is set to gap+depth for normalsize, and depth(2.031999Q) for footnotesize.
+% This setting is inconsistent, but seems to work properly now.
+%\ifx \@currsize\normalsize \global\@interlinegap 8.54815pt\else% setup
+% reset to 10Q after final page footnote hack!
+\ifx \@currsize\normalsize \global\@interlinegap 10\Q\else% setup
+ \ifx \@currsize\footnotesize \global\@interlinegap 2.03199\Q\else% appropriate
+  \ifx \@currsize\small \global\@interlinegap 3.08713pt\fi\fi\fi% gap here!
+  \else \global\@firstcolumntrue
+\if@leftfootnoteexist\setbox\@leftcolumn\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@leftcolumn
+\unvbox\@leftcolumn\vskip\skip\footins\footnoterule%
+%\message{in outputdblcol leftcolumnfootnote=ht:\the\ht\@leftcolumnfootnote, dp:\the\dp\@leftcolumnfootnote, wd:\the\wd\@leftcolumnfootnote}
+\unvbox\@leftcolumnfootnote
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\else
+\setbox\@leftcolumn\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@leftcolumn
+\unvbox\@leftcolumn\vfill%
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\fi
+\if@rightfootnoteexist\setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@outputbox
+\unvbox\@outputbox\vskip\skip\footins\footnoterule%
+%\message{in outputdblcol rightcolumnfootnote=ht:\the\ht\@rightcolumnfootnote, dp:\the\dp\@rightcolumnfootnote, wd:\the\wd\@rightcolumnfootnote}
+\unvbox\@rightcolumnfootnote
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\else
+\setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@outputbox
+\unvbox\@outputbox\vfill%
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\fi
+    \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth
+      {\box\@leftcolumn \hss}\hfil \vrule width\columnseprule\hfil
+       \hbox to\columnwidth{\box\@outputbox \hss}}}\@combinedblfloats
+       \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
+       \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup
+    \fi}
+
+\def\balancing@outputdblcol{\if@firstcolumn %\global\@firstcolumnfalse
+ \else \global\@firstcolumntrue
+  \setbox\@outputbox\vbox{\unvbox\@leftcolumn\vskip\@interlinegap%
+   \penalty\interlinepenalty\unvbox\@outputbox}
+ \fi
+ \balancecolumns \@combinedblfloats
+\if@leftfootnoteexist\setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@outputbox
+\unvbox\@outputbox\vfill\vskip\skip\footins\footnoterule%
+%\message{in balancing@outputdblcol leftcolumnfootnote=ht:\the\ht\@leftcolumnfootnote, dp:\the\dp\@leftcolumnfootnote, wd:\the\wd\@leftcolumnfootnote}
+\unvbox\@leftcolumnfootnote
+\if@rightfootnoteexist
+%\message{in balancing@outputdblcol rightcolumnfootnote=ht:\the\ht\@rightcolumnfootnote, dp:\the\dp\@rightcolumnfootnote, wd:\the\wd\@rightcolumnfootnote}
+\unvbox\@rightcolumnfootnote\fi
+\vskip-\dimen128
+\@textbottom}
+\global\maxdepth\@maxdepth\fi
+ \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
+ \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup}
+
+\newbox\@leftcolumnfootnote \newbox\@rightcolumnfootnote
+\newif\if@leftfootnoteexist \newif\if@rightfootnoteexist
+
+% Extra \@texttop somehow found its way into \@makecol.  Deleted
+% 1 Dec 86.  (Found by Mike Harrison)
+
+\def\@makecol{\if@twocolumn
+\if@firstcolumn
+\ifvoid\footins \setbox\@outputbox\box\@cclv
+%\message{in makecol @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\@leftfootnoteexistfalse
+   \else\global\@leftfootnoteexisttrue
+\setbox\@outputbox\box\@cclv
+%\message{in makecol with foot @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\setbox\@leftcolumnfootnote\box\footins
+%\message{in makecol leftcolumnfootnote=ht:\the\ht\@leftcolumnfootnote, dp:\the\dp\@leftcolumnfootnote, wd:\the\wd\@leftcolumnfootnote}
+\fi
+     \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
+\else %if@firstcolumn
+\ifvoid\footins \setbox\@outputbox\box\@cclv
+%\message{in makecol right @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\@rightfootnoteexistfalse
+   \else\global\@rightfootnoteexisttrue
+\setbox\@outputbox\box\@cclv
+%\message{in makecol right with foot @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\setbox\@rightcolumnfootnote\box\footins
+%\message{in makecol rightcolumnfootnote=ht:\the\ht\@rightcolumnfootnote, dp:\the\dp\@rightcolumnfootnote, wd:\the\wd\@rightcolumnfootnote}
+\fi
+     \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
+\fi %if@firstcolumn
+\else % if@twocolumn
+\ifvoid\footins \setbox\@outputbox\box\@cclv
+   \else\setbox\@outputbox
+     \vbox{\boxmaxdepth \maxdepth
+     \unvbox\@cclv\vskip\skip\footins\footnoterule\unvbox\footins}\fi
+     \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
+     \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+        \@texttop\dimen128=\dp\@outputbox\unvbox\@outputbox
+        \vskip-\dimen128\@textbottom}%
+     \global\maxdepth\@maxdepth
+\fi}
+
+
+
+\if@LaTeX@e
+\long\def\@footnotetext#1{\insert\footins{%
+    \reset@font\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore\leftskip10\Q
+        \ifnum\value{footnote}>9\hangindent=20\Q\advance\hangindent by 5.2pt
+        \else\hangindent=20\Q\fi \hangafter=1
+    \protected@edef\@currentlabel{%
+       \csname p@footnote\endcsname\@thefnmark
+    }%
+    \color@begingroup
+      \@makefntext{%
+        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+    \color@endgroup}}%
+\else
+\long\def\@footnotetext#1{\insert\footins{\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore\leftskip10\Q
+% extra indent of 5.2pt is decided empirically, roughly the width of a digit
+        \ifnum\value{footnote}>9\hangindent=20\Q\advance\hangindent by 5.2pt
+        \else\hangindent=20\Q\fi \hangafter=1
+%    \hangindent=20\Q \hangafter=1
+   \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+    {\rule{\z@}{\footnotesep}\ignorespaces#1\strut}}}
+\fi
+
+\long\def\@makefntext#1{\noindent$\@thefnmark$\hskip10\Q #1}
+
+\def\@makefnmark{\smash{\hbox{$^{\@thefnmark}$}}} % smashed to make it
+                                                  % zero height
+
+\def\thefootnote{\mbox{\dag}\arabic{footnote}}
+
+% Following \footnoterule is changed to make a gap between footnoterule
+% and first footnote text about 2Q.
+%\def\footnoterule{\kern-3\p@ \hrule width 35mm \kern 2.6\p@} 
+\def\footnoterule{\kern0\p@ \hrule width 35mm \kern-0.4\p@}
+
+
+\def\thanks#1{\footnotemark\begingroup
+\def\protect{\noexpand\protect\noexpand}\xdef\@thanks{\@thanks
+  \protect\specialfootnotetext[\the\c@footnote]{\noindent #1}}\endgroup}
+
+\def\specialfootnotetext{\@ifnextchar
+    [{\@specialxfootnotenext}{\xdef\@thefnmark{\thempfn}\@specialfootnotetext}}
+
+\def\@specialxfootnotenext[#1]{\begingroup \csname c@\@mpfn\endcsname #1\relax
+   \xdef\@thefnmark{\thempfn}\endgroup \@specialfootnotetext}
+
+\def\@mpfn{footnote}
+\def\thempfn{\thefootnote}
+
+\long\def\@specialfootnotetext#1{\insert\footins{\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore\leftskip10\Q
+    \hangindent=10\Q \hangafter=1
+   \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@specialmakefntext
+    {\rule{\z@}{\footnotesep}\ignorespaces#1\strut}}}
+
+\long\def\@specialmakefntext#1{\noindent\llap{$\@thefnmark$ }#1}
+
+
+
+% to add extra space before citation by yamanouchi
+\def\cite{{\hskip 1pt}\@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}
+
+\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
+        \def\@citea{}%
+        {\footnotesize\@for\@citeb:=#2\do
+%               {\@citea\def\@citea{\penalty\@m\ }%
+                {\@citea\def\@citea{\penalty\@m{\hskip 1pt}}%
+                 \@ifundefined{b@\@citeb}%
+                        {{\bf ?}\@warning{Citation 
+                                `\@citeb' on page \thepage \space undefined}}%
+                \hbox{[\csname b@\@citeb\endcsname]}}}}
+
+% to make citations within sentences 11.5Q (same as other characters)
+% new command \Cite similar to \cite is defined as follows.
+% (normally citation numbers are typeset using \footnotesize)
+\def\Cite{{\hskip 1pt}\@ifnextchar [{\@tempswatrue\@Citex}{\@tempswafalse\@Citex[]}}
+
+\def\@Citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
+        \def\@citea{}%
+        {\@for\@citeb:=#2\do
+%               {\@citea\def\@citea{\penalty\@m\ }%
+                {\@citea\def\@citea{\penalty\@m{\hskip 1pt}}%
+                 \@ifundefined{b@\@citeb}%
+                        {{\bf ?}\@warning{Citation 
+                                `\@citeb' on page \thepage \space undefined}}%
+                \hbox{[\csname b@\@citeb\endcsname]}}}}
+
+% you must place 1-moji space just right of eqation number
+\def\@eqnnum{{\rm (\theequation)\hskip\@mojihaba}} 
+
+
+
+% height adjusting environment
+% you must use this as separate paragraph
+
+\newbox\adjustbox
+\newdimen\adjustheight
+\newcount\adjustlinecount
+
+\newenvironment{adjustvboxheight}{%\message{prevdepth=\the\prevdepth}
+\vskip-\prevdepth\vskip1.4454pt % to cancel out various depth and set
+                               % it to normal 1.445pt.  For this to
+                               % work properly, it is necessary to use
+                               % this environment as a separate paragraph!!
+\global\setbox\adjustbox=\vbox\bgroup%
+\hsize\columnwidth }{\egroup%
+\adjustheight=\ht\adjustbox%
+\advance\adjustheight \dp\adjustbox%
+\divide\adjustheight\baselineskip \adjustlinecount=\adjustheight%
+\advance\adjustlinecount by 1 %
+\adjustheight=\adjustlinecount\baselineskip%
+% you must ajust the position of top box somehow!!!
+\vskip-.5\Q\vskip-1.445pt\vspace*{.5\Q}\vspace*{1.445pt}%
+%\fboxrule=0.01pt\fboxsep=0pt% for debugging
+\vskip5\Q % = 1/2 gap
+%\noindent\fbox{\vbox to\adjustheight{\vfil\box\adjustbox\vfil}}%
+\noindent\vbox to\adjustheight{\vfil\box\adjustbox\vfil}%
+\vskip-5\Q % = 1/2 gap
+\vskip-1.445pt\noindent}
+
+\clubpenalty=-1000 \widowpenalty=-1000 % we allow club and widow lines ?
+\displaywidowpenalty=-1000
+
+% The following redefinition influences \linebreak etc.
+\def\sloppy{\tolerance 9999 \hfuzz .5\p@ \vfuzz .5\p@}
+
+% use twocolumn instead of multicol
+\twocolumn
+
+\vbadness10001 \hbadness5000
+\tolerance 9999 \pretolerance\m@ne
+
+\@options
+
+\@ifundefined{@maketitle}{\ds@ronbun}{} % to setup default title style
+
+
+\if@LaTeX@e
+\ifASCII
+\DeclareFontShape{JY1}{mc}{m}{it}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JT1}{mc}{m}{it}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JY1}{mc}{m}{sl}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JT1}{mc}{m}{sl}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JY1}{mc}{m}{sc}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JT1}{mc}{m}{sc}{<->ssub*mc/m/n}{}
+
+\DeclareFontShape{JY1}{gt}{m}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{gt}{m}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{gt}{m}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{gt}{m}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{gt}{m}{sc}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{gt}{m}{sc}{<->ssub*gt/m/n}{}
+
+\DeclareFontShape{JY1}{mc}{bx}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{mc}{bx}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{mc}{bx}{sc}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{mc}{bx}{sc}{<->ssub*gt/m/n}{}
+\fi
+\fi
+
+\newcommand{\:}{\hbox to1zw{\hss:\hss}}
+
+\endinput
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/compsoft.cls	Sat Aug 06 23:17:49 2011 +0900
@@ -0,0 +1,9 @@
+\ifx\pfmtname\undefined
+\NeedsTeXFormat{LaTeX2e}
+\else
+\NeedsTeXFormat{pLaTeX2e}
+\fi
+
+\ProvidesClass{compsoft}[2000/11/02 ver 0.10]
+\input{compsoft.sty}
+\endinput
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/compsoft.sty	Sat Aug 06 23:17:49 2011 +0900
@@ -0,0 +1,2156 @@
+% compsoft.sty 2009-06-27 by Hideya IWASAKI
+% compsoft.sty last updated 2007-08-17 by Kazunori UEDA
+% compsoft.sty ASCII-version modified 25-March-92 by N. YAMANOUCHI
+% compsoft.sty 22-April-92 by Yasuki SAITO
+% compsoft.sty 18-July-90 by Hideki ISOZAKI 
+% j-article.sty 10-Feb-89 from report.sty 16-Mar-88
+
+\newif\ifASCII \ASCIIfalse
+\ifx\jintercharskip\undefined\ASCIItrue\fi
+\newif\if@LaTeX@e \@LaTeX@efalse                                % 1.06(1)
+\newif\if@LaTeX@eN \@LaTeX@eNfalse                              % 2.00(1)
+\def\@tempa{LaTeX2e}                                            % 1.06(1)
+\ifx\fmtname\@tempa \@LaTeX@etrue                               % 1.06(1)
+\ifx\xpt\undefined \@LaTeX@eNtrue \fi\fi                        % 2.00(1)
+
+\newif\if@hissha \@hisshafalse
+
+\expandafter\ifx\csname ver@jssst.cls\endcsname\relax
+\typeout{Document Style `compsoft' ascii version <23 Mar 92>.}
+\fi
+
+\if@LaTeX@e
+\newdimen\@maxsep
+\newdimen\@dblmaxsep
+\fi
+
+\def\ds@twoside{\@twosidetrue \@mparswitchtrue}
+\def\ds@draft{\overfullrule5pt} 
+
+%\@options
+% you must do this at the end, at least after def's of \ds@... for
+% various \@maketitle
+
+\ds@twoside
+
+\if@LaTeX@e                                                     % 2.00(8)>>
+\if@LaTeX@eN
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
+\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
+\ifASCII
+\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
+\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
+\fi\fi
+\ifASCII
+\def\dm{\mc}
+\def\dg{\gt}
+\fi\fi                                                          % 2.00(8)<<
+
+\ifASCII
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% ascii-jtex.sty  modified on 2/6/92 by N. Yamanouchi 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% ascii-jtex.sty        prepared by N. Yamanouchi (IBM/TRL) 12/04/91
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This style file is intended to absorb the difference between NTT
+% JTex and ASCII JTeX for JSSST journal style files ``compsoft.sty''
+% and ``compsoft9.sty''.  The original information comes from the
+% work of S. Tomura in ETL (marked as ST).
+%
+
+%
+%dskfonts.sty begins %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% dskfonts.sty modified on 6 Feb 92 by N. Yamanouchi
+% dskfonts.sty prepared by N. Yamanouchi
+%
+%% dskfonts.sty is based on skfonts.sty.
+%% skfonts.sty is for adjusting NTT-version of JSSST style file to
+%% ASCII JTeX environment.  skfonts.sty defines all CTS fonts, while
+%% dskfonts.sty substitutes the fonts by regular fonts like min10/goth10.
+
+%% $B#Q?t7O$N$?$a$N$U$?$D$N%f%K%C%H(B
+\newdimen \JQ	\JQ .259817mm	%%%	\JQ/\Q = 10pt/9.62216pt
+\newdimen \Q	\Q  .25mm	%%%	Quarter of 1mm
+
+%% $B%Y!<%9%i%$%s%9%-%C%W$NCM!%(B
+%% $B%G%U%)%k%HCM$O(B21.5Q$B!$(BEronbun, Etokushuronbun$B$G$O(B17.5Q
+%% $B$K@Z$jBX$($k!%(B
+\newdimen\@Baseline
+\@Baseline=21.5\Q
+
+
+% $B%U%)%s%H$N:FDj5A(B
+% $B$^$:OBJ8!'(B
+%\font\sevmin	skhmnlaa at 8.5\JQ 	% 8.5Q $BK\MvL@D+(B LHM
+\font\sevmin	min10 at 8.5\JQ 	% 8.5Q min10$B$G2>A[E*$K=PNO(B
+%\font\sevgt	skgotoaa at 8.5\JQ	% 8.5Q $BCfB@%4%7%C%/(B DG-KL
+\font\sevgt	goth10 at 8.5\JQ	% 8.5Q goth10$B$G2>A[E*$K=PNO(B
+% \font\egtmin	skhmnlaa at 10\JQ 	% 10Q $BK\MvL@D+(B LHM
+\font\egtmin	min10 at 10\JQ	 	% 10Q min10$B$G2>A[E*$K=PNO(B
+% \font\egtgt	skgotoaa at 10\JQ	% 10Q $BCfB@%4%7%C%/(B DG-KL
+\font\egtgt	goth10 at 10\JQ		% 10Q goth10$B$G2>A[E*$K=PNO(B
+%\font\ninmin	skhmnlaa at 11.5\JQ	% 11.5Q $BK\MvL@D+(B LHM
+\font\ninmin	min10 at 11.5\JQ	% 11.5Q min10$B$G2>A[E*$K=PNO(B
+%\font\ningt	skgotoaa at 11.5\JQ	% 11.5Q $BCfB@%4%7%C%/(B DG-KL
+\font\ningt	goth10 at 11.5\JQ	% 11.5Q goth10$B$G2>A[E*$K=PNO(B
+%\font\tenmin	skhmnlaa at 13\JQ	% 13Q $BK\MvL@D+(B LHM
+\font\tenmin	min10 at 13\JQ		% 13Q min10$B$G2>A[E*$K=PNO(B
+%\font\tengt	skgotoaa at 13\JQ	% 13Q $BCfB@%4%7%C%/(B DG-KL
+\font\tengt	goth10 at 13\JQ		% 13Q goth10$B$G2>A[E*$K=PNO(B
+
+%\font\twlvgona	sknagoaa at 16\JQ	% 16Q $B%4%J#D(B for $B!V%A%e!<%H%j%"%k!W(B
+\font\twlvgona	goth10 at 16\JQ	% 20Q min10$B$G2>A[E*$K=PNO(B for$B!V%A%e!<%H%j%"%k!W(B
+
+% \font\svtnmin	skminsaa at 20\JQ	% 20Q $BB@L@D+(B for author
+\font\svtnmin	min10 at 20\JQ	% 20Q min10$B$G2>A[E*$K=PNO(B for author
+
+% \font\twtygt	skgotsaa at 28\JQ	% 28Q $BB@%4%7%C%/(B for title
+\font\twtygt	goth10 at 28\JQ	% 28Q goth10$B$G2>A[E*$K=PNO(B for title
+
+% $BB3$$$F2$J8!'(B
+%   $B%W%l%m!<%I$5$l$F$k%m!<%^%s%U%)%s%H$O?t<0$N(B \textfont0 $B$H$7$F$b(B
+%   $B;H$o$l$k$?$a!"JLL>>N$G%m!<%I$7$F%5%$%:4D6-$rA`:n$9$k$N$,L5Fq$+!)(B
+%%\font\egtrm	secntmm	at 10\Q
+%%\font\ninrm	secntmm	at 11.5\Q
+%%\font\tenrm	secntmm at 13\Q
+
+%%\font\egtit	secntmmi at 10\Q
+%%\font\ninit	secntmmi at 11.5\Q
+%%\font\tenit	secntmmi at 13\Q
+
+%%\font\egtbf	secntqm	at 10\Q
+%%\font\ninbf	secntqm	at 11.5\Q
+%%\font\tenbf	secntqm	at 13\Q
+
+%%\font\titleb	sebdnqm at 28\Q		% $B%?%$%H%kMQ%\%I%K%\!<%k%I(B
+\font\titleb	min10 at 28\Q		% $B%?%$%H%kMQ%\%I%K%\!<%k%I(B
+
+% $BHGLLE7CO$H%Q%i%a!<%?$N@_Dj(B
+%
+% \textheight
+%    = \topskip + \baselineskip * 39 lines
+%    = 12Q      + 21.5Q         * 39 lines
+%    = 850.5Q
+
+\headsep	15\Q		% $B@53N$JCM$G$O$J$$(B
+\topskip	12\Q		% 12Q $B$h$j9b$$9T$O%Y!<%9%i%$%s$,$:$l$k(B
+\baselineskip	\@Baseline		% 11.5Q $B9T4V(B 10Q
+\lineskip	0pt
+\lineskiplimit	0pt
+
+\textheight	850.89\Q	% 850.5Q (21.5Q * 39line + \topskip) $B$N(B
+				% $B$O$:$@$,(B 40 $B9TF~$i$J$$$?$a!"$9$3$7$:$D(B
+				% $BA}$d$7$F$3$NCM$K$J$C$?(B
+
+\maxdepth	5\Q		%
+
+%TI%% We don't need foot* because we don't use footer
+%TI%\footskip	0pt
+%TI%\footheight	0pt
+
+\parindent1zw
+
+%\parskip	0pt plus.001\Q	% $B$9$Y$F$N%Q%i%a!<%?$,7hDj$G$-$?$i(B
+				% $B%Q%i%0%i%U4V$K$o$:$+$N<+M3EY$rCV$-$?$$!#(B
+				% $B%F%9%HCf$O<+M3EY$O$J$$$[$&$,$$$$!#(B
+
+\kanjiskip 0pt plus .1zw minus 0.05zw
+				% $BOBJ8J8;z4V$OHf3SE*<+M3EY$,Bg$-$$(B
+
+%\overfullrule	10pt		% $B0-$$ItJ,$OL\N)$?$;$FD>$9(B
+
+%
+% $B0lIt$N%^%/%m$N:FDj5A(B
+%
+
+% \def\@maketitle{\newpage \null
+%  \vbox to 235.2\Q{		%% $B7W;;$G$O(B 236.5Q $B$N$O$:$@$,!"!"!"(B
+%  \begin{flushleft}
+%   \rule{\textwidth}{1mm}%
+%   \vskip.7cm
+%   {\titleb\hskip 6.5mm
+%   \twtygt\@title\kanjiskip -3mm plus0mm minus0mm % $B5M$a$?$$$N$K5M$i$J$$!"!"!"(B
+%   }
+%   \vskip.7cm
+%   \huge\hskip 6.5mm
+%   \begin{tabular}[t]{@{}l}\@author\end{tabular}
+%  \end{flushleft}
+%  \par
+%  \vss
+%  \hrule	% height0pt		%% $BBN:[$,7h$^$C$?$i(B 0pt $B$K$9$k(B
+%  }}
+
+% \long\def\@makecaption#1#2{  %% \vskip 10pt
+% \setbox\@tempboxa\hbox{\small\bf\egtbf\egtgt~~#1~~#2~~}
+%   \ifdim \wd\@tempboxa >\hsize 
+%     {\small\bf\egtbf\egtgt\setlength{\baselineskip}{12pt}
+%        \newbox\@tempboxb \setbox\@tempboxb\hbox{#1~~}
+%        \leftskip=15pt \hangindent=\wd\@tempboxb #1~~#2\par}
+%   \else \hbox to\hsize{\hfil\box\@tempboxa\hfil} 
+%  \fi}
+
+% \def\section{\@startsection{section}{1}{0\jspaceskip}
+%  {8\Q plus.1\Q minus.1\Q}	% $B>eIt%0%k!<(B ($B7P83CM(B)
+%  {1.6\Q plus.1\Q minus.1\Q}	% $B2<It%0%k!<(B
+%  {\vrule width	.4pt		%% $BBN:[$,7h$^$C$?$i(B 0pt $B$K$9$k!#(B
+% 	 height	30\Q		%% $B%Z!<%8F,$G(B \topskip $B$KFO$/$h$&$K!#(B
+% 	 depth	14\Q		%% $BK\J8$N(B 1 $B9TL\$K@\$9$k$h$&$K!#(B
+%   \font@s}}
+% 
+% \def\subsection{\@startsection{subsection}{2}{\jspaceskip}
+%  {1\baselineskip plus.1\Q minus.1\Q}
+%  {0.1\Q plus.1\Q minus.1\Q}
+%  {\font@ss}}
+
+%TI%\pagestyle{headings}
+\flushbottom			% $B%Z!<%82<C<$r$=$m$($k(B
+%dskfonts.sty ends %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%---------------------------
+% ``dskfonts.sty' uses CM and min** fonts for preminary printing.
+% For production-run, use ``skfonts.sty'' instead of ``dskfonts.sty''.
+%---------------------------
+
+\let\sevendm=\sevmin                                    %ST
+\let\sevendg=\sevgt                                     %ST
+\let\eightdm=\egtmin                                    %ST
+\let\eightdg=\egtgt                                     %ST
+\let\ninedm=\ninmin                                     %ST
+\let\ninedg=\ningt                                      %ST
+\let\gona=\twlvgona             % N. Yamanouchi for $B!V%A%e!<%H%j%"%k!W(B
+
+\if@LaTeX@e\else
+\def\dm{\mc}\def\pdm{\pmc}                                      %ST
+\def\dg{\gt}\def\pdg{\pgt}                                      %ST
+\fi
+
+\let\setjglues=\relax
+\let\jintercharskip=\kanjiskip
+\let\jasciikanjiskip=\xkanjiskip
+
+\if@LaTeX@e\else
+\def\dm{\mc}\def\pdm{\pmc}                                      %ST
+\def\dg{\gt}\def\pdg{\pgt}                                      %ST
+\fi
+
+\def\defjintercharskip#1#2#3#4{
+\fontdimen2#1=#2                                                %ST
+\fontdimen3#1=#3                                                %ST
+\fontdimen4#1=#4}                                               %ST
+\def\defjasciikanjiskip#1#2#3#4{%                               %ST
+\fontdimen7#1=#2                                                %ST
+\fontdimen7#1=#3                                                %ST
+\fontdimen7#1=#4}                                               %ST
+\def\defmathkanjiskip#1#2#3#4{}                                 %ST
+\def\defjspaceskip#1#2#3#4{%                                    %ST
+\fontdimen6#1=#1}                                               %ST
+\let\setjglues=\relax                                           %ST
+\let\jintercharskip=\kanjiskip                                  %ST
+\let\jasciikanjiskip=\xkanjiskip                                %ST
+\newdimen\jspaceskip                                            %ST
+\jspaceskip=2.875mm             %yamanouchi%                    %ST
+%%\jspaceskip=1zw                                               %ST
+
+\newdimen\jmathkanjiskip        %yamanouchi 3/25/92%
+\jmathkanjiskip=\kanjiskip      %yamanouchi 3/25/92%            
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\fi
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% compsoft9.sty ASCII version modified 25 March 1992 by N. YAMANOUCHI
+% compsoft9.sty 23 March 1992 By Yasuki SAITO
+% compsoft9.sty Apr. 24 '91 By Hideki ISOZAKI
+% j-art10.sty 10-Feb-89 from art10.sty 22-Dec-87
+
+% 1mm = 2.8452755905pt, 1pt = .3514598035mm, 1Q = 0.25mm = .7113188976pt
+%
+% For footnotesize
+% depth_of_8pt_kanji = 1.4454pt
+% height_of_8pt_kanji = 5.781592pt
+% line = height_plus_depth_of_8pt_kanji = 7.226992pt = 2.53999mm ~= 10Q
+% baselineskip = line + gap = 15Q = 3.75mm = 10.6697834645pt
+% gap = baselineskip - line = 10.66978 - 7.226992 = 3.4427914645pt
+
+% For references
+% baselineskip = line + gap = 14.5Q = 3.625mm = 10.314124pt
+% gap = baselineskip - line = 10.314124pt - 7.226992pt = 3.087132pt
+%                                    ~= 4.5Q = 1.125mm = 3.2009350393pt
+% gap + depth = 3.087132 + 1.4454 = 4.532532pt
+
+% For normalsize
+% depth_of_9pt_kanji = 1.44539pt
+% line = height_plus_depth_of_9pt_kanji = 8.1906pt
+%                              ~= 11.5Q = 8.1801673228pt
+% 212.5mm = 212.5mm * 72.27pt / 25.4mm = 604.62106299212598425196pt
+% baselineskip = line + gap = 11.5Q + 10Q = 21.5Q = 15.2933562992pt
+% gap = 21.5Q - line(8.1906pt) = 7.1027562992pt ~= 10Q = 7.1131889763pt
+% gap + depth = 8.54815pt
+
+\ifASCII\else
+\newlength{\Q} \setlength{\Q}{0.25mm} % commented out for ASCII version
+                                         % by N. Yamanouchi
+\let\kanjiskip=\jintercharskip
+\let\xkanjiskip\jasciikanjiskip
+\fi
+
+\lineskip\z@ \normallineskip\z@ \jot\z@ \lineskiplimit\z@
+\def\baselinestretch{1}
+
+\if@LaTeX@e
+\def\normalsize{\@setsize\normalsize{\@Baseline}\ixpt\@ixpt
+%\renewcommand{\normalsize}{%
+%\@setfontsize\normalsize{12\JQ}{21.5\Q}
+\abovedisplayskip \z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI} 
+\else
+\def\@normalsize{\@setsize\normalsize{\@Baseline}\ixpt\@ixpt
+\abovedisplayskip \z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI} 
+\fi
+
+\def\small{\@setsize\small{15\Q}\viiipt\@viiipt
+%\newcommand{\small}{%
+%\@setfontsize\normalsize{11\JQ}{15\Q}
+\abovedisplayskip \z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI}
+
+\def\footnotesize{\@setsize\footnotesize{15\Q}\viiipt\@viiipt
+%\newcommand{\footnotesize}{%
+%\@setfontsize\normalsize{11\JQ}{15\Q}
+\abovedisplayskip\z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI}
+
+\def\scriptsize{\@setsize\scriptsize{11pt}\vipt\@vipt}
+\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
+\def\large{\@setsize\large{21.5\Q}\xpt\@xpt}% baselineskip=>normalsize
+\def\Large{\@setsize\Large{20pt}\xiipt\@xiipt}
+\def\LARGE{\@setsize\LARGE{25pt}\xivpt\@xivpt}
+\def\huge{\@setsize\huge{30pt}\xviipt\@xviipt}
+\def\Huge{\@setsize\Huge{35pt}\xxpt\@xxpt}
+
+\@ifundefined{normalsize}{\let\normalsize\@Normalsize}
+
+\normalsize 
+\oddsidemargin 0pt \evensidemargin 0pt
+\advance\oddsidemargin-.5in
+\advance\evensidemargin-.5in
+\topmargin -25pt
+
+\headheight 12.5\Q
+\addtolength{\headheight}{0.1087pt}
+% headheight was increased a little bit to avoid annoying overful vbox
+% in sample.tex, but this also shifts entire headline upward a little bit.
+% So, \headsep is decreased a little to compensate this.
+
+\headsep 17\Q
+\addtolength{\headsep}{-0.1087pt}
+
+%\footskip 2\baselineskip % This isn't necessary, no foot in this style
+
+\newdimen\@mojihaba
+\settowidth{\@mojihaba}{$B$"(B}
+
+\textheight = 212.5mm % for simple twocolumn setup
+
+% topskip = line - depth_of_9pt_kanji
+\topskip = 6.74521pt
+
+% columnsep = 2\@mojihaba = 2*11.5Q = 23Q = 5.75mm = 16.3603346456pt
+%          ~= 8.1906pt * 2 = 16.3812pt
+\columnsep 16.3812pt 
+
+\textwidth 50\jspaceskip
+\advance\textwidth by \columnsep
+\columnseprule 0pt 
+
+%% 15 Jul 2009  Iwasaki & Matsuzaki
+\def\adjustAfour{%
+\oddsidemargin210mm
+\advance\oddsidemargin-\textwidth
+\oddsidemargin.5\oddsidemargin
+\advance\oddsidemargin-1in
+\evensidemargin\oddsidemargin
+\topmargin297mm
+\advance\topmargin-\headheight
+\advance\topmargin-\headsep
+\advance\topmargin-\textheight
+\topmargin.5\topmargin
+\advance\topmargin-1in
+}
+
+
+
+%\footnotesep must be \baselineskip-\depth = 10.6697835pt-1.4454pt
+% = 9.2243835pt, but this is too wide
+%\footnotesep 9.2243835pt
+%\footnotesep 7.226992pt % = line height
+\footnotesep 8.672392pt % = line height + depth = 7.226992pt + 1.4454pt
+% you want to make a gap between footnoterule and first footnote 2Q, but...
+%\footnotesep 2\Q % This does not work! you must do something in \@makecol
+
+%\skip\footins 10\Q plus 21.5\Q
+\skip\footins 10\Q plus 11.5\Q minus 1\Q
+
+\floatsep \baselineskip \textfloatsep \baselineskip 
+\intextsep \baselineskip \@maxsep \baselineskip
+\dblfloatsep \baselineskip \dbltextfloatsep \baselineskip
+\@dblmaxsep \baselineskip
+\@fptop 0pt plus 1fil \@fpsep 0pt plus 2fil \@fpbot 0pt plus 1fil 
+\@dblfptop 0pt plus 1fil \@dblfpsep 0pt plus 2fil \@dblfpbot 0pt plus 1fil
+
+\parskip\z@ \parindent \@mojihaba \partopsep\z@
+\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 
+\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty
+-\@lowpenalty 
+
+
+
+\def\section{\@startsection {section}{1}{\jspaceskip}{17.5\Q}{4\Q}{\font@s}}
+\def\subsection
+ {\@startsection{subsection}{2}{\jspaceskip}{\baselineskip}{0.001pt}{\font@ss}}
+\def\subsubsection
+ {\@startsection{subsubsection}{3}{\jspaceskip}{0.001pt}{0.001pt}{\font@sss}}
+\def\paragraph{\@startsection
+ {paragraph}{4}{\jspaceskip}{0.001pt}{0.001pt}{\normalsize\bf}}
+\def\subparagraph{\@startsection
+ {subparagraph}{5}{\jspaceskip}{\baselineskip}{0.001pt}{\normalsize\bf}}
+
+\setcounter{secnumdepth}{5}
+
+\def\appendix{\par
+ \setcounter{section}{0}
+ \setcounter{subsection}{0}
+ \def\thesection{\Alph{section}}}
+
+\def\sectionfont#1#2#3{\gdef\font@s{#1}\gdef\font@ss{#2}\gdef\font@sss{#3}}
+\sectionfont{\large\bf}{\normalsize\bf}{\normalsize\bf}
+
+
+
+\leftmargini2\@mojihaba
+\leftmarginii2\@mojihaba
+\leftmarginiii2\@mojihaba
+\leftmarginiv2\@mojihaba
+\leftmarginv2\@mojihaba
+\leftmarginvi2\@mojihaba
+\leftmargin\leftmargini
+
+\def\@listI{\leftmargin\leftmargini\parsep\z@\topsep\z@\itemsep\z@
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+}
+\let\@listi\@listI
+%\@listi 
+
+\def\@listii{\leftmargin\leftmarginii
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+ \topsep\z@ \parsep\z@ \itemsep\parsep}
+
+\def\@listiii{\leftmargin\leftmarginiii
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+ \topsep\z@ \parsep\z@ \itemsep\topsep}
+
+\def\@listiv{\leftmargin\leftmarginiv
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+}
+
+\def\@listv{\leftmargin\leftmarginv
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0pt%
+%\itemindent=\@mojihaba
+}
+
+\def\@listvi{\leftmargin\leftmarginvi
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0pt%
+%\itemindent=\@mojihaba
+}
+
+% 2009/12/03 Iwasaki
+% It seems that the \labelsep parameter has to be set as a moderate
+% positive dimension value to make environments defined by \newtheorem
+% correctly work.
+% Without the following line, \labelsep's value is 0.0pt, which causes
+% no space between a theorem number and the first word of the theorem.
+\labelsep 5.0pt
+
+
+
+%% JTeX glues
+
+\ifASCII
+\defjintercharskip{\ninedm}{0pt}{1.8pt}{0.18pt}
+\defjintercharskip{\ninedg}{0pt}{1.8pt}{0.18pt}
+\defjintercharskip{\eightdm}{0pt}{1.5pt}{0.15pt}
+\defjintercharskip{\eightdg}{0pt}{1.5pt}{0.15pt}
+\defjintercharskip{\sevendm}{0pt}{1.4pt}{0.14pt}
+\defjintercharskip{\sevendg}{0pt}{1.4pt}{0.14pt}
+
+\setjglues
+\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+\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\labelitemi{$\bullet$}
+\def\labelitemii{\bf --}
+\def\labelitemiii{$\ast$}
+\def\labelitemiv{$\cdot$}
+
+\def\verse{\let\\=\@centercr 
+ \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent 
+ \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
+\let\endverse\endlist
+\def\quotation{\list{}{\listparindent 1.5em
+ \itemindent\listparindent
+ \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
+\let\endquotation=\endlist
+\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
+\let\endquote=\endlist
+\def\abstquotation{\list{}{\listparindent 1.5em
+ \itemindent\listparindent
+ \leftmargin 5mm
+ \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
+\let\endabstquotation=\endlist
+\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
+\let\endquote=\endlist
+
+
+%\def\descriptionlabel#1{\hspace\labelsep \bf #1}
+\def\descriptionlabel#1{\bf #1}
+\def\description{\list{}{\labelwidth\z@ %\itemindent-\leftmargin
+ %\itemindent=\@mojihaba
+ \labelsep=0.75\@mojihaba %
+ \let\makelabel\descriptionlabel}}
+\let\enddescription\endlist
+
+\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}}\fi}
+
+\let\endenumerate =\endlist
+
+\def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne
+\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+\list{\csname\@itemitem\endcsname}{\def\makelabel##1{##1\hss}}\fi}
+
+\let\enditemize =\endlist
+
+
+
+
+
+\def\theequation{\arabic{equation}}
+
+\arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt 
+\tabbingsep \labelsep 
+
+\skip\@mpfootins = \skip\footins
+\fboxsep = 3pt \fboxrule = .4pt 
+
+
+
+\newcounter{part}
+\newcounter{section}
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+
+\def\thepart{\Roman{part}} \def\thesection {\arabic{section}}
+\def\thesubsection {\thesection.\,\arabic{subsection}}
+\def\thesubsubsection {\thesubsection.\,\arabic{subsubsection}}
+\def\theparagraph {\thesubsubsection.\,\arabic{paragraph}}
+\def\thesubparagraph {\theparagraph.\,\arabic{subparagraph}}
+
+
+
+% Do not delete BEFORESKIP even if \section is on top of page
+% Is this functioning?
+% \@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
+   \@minipagefalse % this line is added by Hiroshi Nakashima
+   \if@nobreak \everypar{}\else
+     \addpenalty{\@secpenalty}%
+        \ifnum#2=\@ne%\message{topskip=\the\topskip,beforeskip=\the\@tempskipa}
+%\message{prevdepth=\the\prevdepth}%
+\ifdim\prevdepth=0pt\vspace*{-21.5\Q}\else\vskip-\prevdepth\fi
+%\vspace{-\prevdepth} % seems to be the same as above, but does not work!!
+%       \advance\@tempskipa-17.5\Q \addvspace{17.5\Q}
+% 13.89347pt = 17.5Q + depth(1.44539pt)
+        \advance\@tempskipa-13.89347pt \addvspace{13.89347pt}
+        \vspace*{\@tempskipa}%
+        \else\addvspace{\@tempskipa}\fi\fi \@ifstar
+     {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+
+% to include section/subsection title modification
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+     \def\@svsec{}\else 
+%     \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi
+     \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip\@mojihaba}\fi
+     \@tempskipa #5\relax
+      \ifdim \@tempskipa>\z@ 
+        \begingroup #6\relax
+          \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M\@mojidori{#8}\par}%
+        \endgroup
+       \csname #1mark\endcsname{#7}\addcontentsline
+         {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+                      \protect\numberline{\csname the#1\endcsname}\fi
+                    #7}\else
+        \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname
+                      {#7}\addcontentsline
+                           {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+                             \protect\numberline{\csname the#1\endcsname}\fi
+                       #7}}\fi
+     \@xsect{#5}}
+
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
+   \ifdim \@tempskipa>\z@
+     \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M\@mojidori{#5}\par}\endgroup
+   \else \def\@svsechd{#4\hskip #1\relax #5}\fi
+    \@xsect{#3}}
+
+\newlength\@currentmojihaba
+
+\def\@mojidori#1{\setbox0\hbox{#1}\settowidth{\@currentmojihaba}{$B$"(B}%
+ \ifdim\wd0>5\@currentmojihaba #1\else%
+  \ifdim\wd0=2\@currentmojihaba {\jasciikanjiskip=2\@currentmojihaba%
+     \jmathkanjiskip=2\@currentmojihaba%
+     \jintercharskip=2\@currentmojihaba #1}\else%
+   {\jasciikanjiskip=0.2\@currentmojihaba%
+     \jmathkanjiskip=0.2\@currentmojihaba%
+     \jintercharskip=0.2\@currentmojihaba #1}\fi\fi}
+
+
+\newlength\twodigits
+
+\newbox\bibbox
+\setbox\bibbox=\hbox{{999}}{\relax}
+\def\@biblabel#1{\hbox to\wd\bibbox{{[\hss#1\hss]}}}
+
+\def\thebibliography#1{\subsection*{\refname\@mkboth{\refname}{\refname}}%
+\vskip7\Q % = 21.5\Q - 14.5\Q (the difference in two baselineskips)
+\settowidth\twodigits{#1}\list
+ {~~[\hbox to \twodigits{\hss\arabic{enumi}\hss}]}
+ {\setlength\labelwidth{10\Q}\leftmargin\labelwidth\labelsep\labelwidth
+ \advance\leftmargin\labelsep
+ \itemindent=0pt
+ \usecounter{enumi}\footnotesize\baselineskip=14.5\Q}
+ \def\newblock{\hskip .11em plus .33em minus .07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+\let\endthebibliography=\endlist
+
+\def\refname{$B;2(B $B9M(B $BJ8(B $B8%(B}  % will be changed in English articles
+
+
+
+\newif\if@restonecol
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+\columnseprule \z@
+\columnsep 35pt\twocolumn[\section*{\indexname}]
+ \@mkboth{\indexname}{\indexname}\thispagestyle{plain}\parindent\z@
+ \parskip\z@ plus .3pt\relax\let\item\@idxitem}
+\def\@idxitem{\par\hangindent 40pt}
+\def\subitem{\par\hangindent 40pt \hspace*{20pt}}
+\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}}
+\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
+\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}
+
+
+
+% You may need to change following parameters
+\setcounter{topnumber}{4} \def\topfraction{.9}
+\setcounter{bottomnumber}{4} \def\bottomfraction{.9}
+\setcounter{totalnumber}{8}
+\def\textfraction{.1}
+\def\floatpagefraction{.9}
+\setcounter{dbltopnumber}{4} \def\dbltopfraction{.9}
+\def\dblfloatpagefraction{.9}
+
+% You cannot handle double column bottom figures yet!!!
+
+\newskip\@beforecaptionskip
+\newskip\@aftercaptionskip
+% initial default values for under caption
+\@beforecaptionskip=10\Q \@aftercaptionskip=0pt
+
+% addcontentsline is omitted to allow `\\' containing argument
+\long\def\@caption#1[#2]#3{\par\begingroup
+    \@parboxrestore
+%    \normalsize
+    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+  \endgroup}
+
+\newbox\@tempboxb
+% following makecaption is for under caption.
+% you may need to define another makecaption for over caption!!
+\long\def\@makecaption#1#2{\vskip\@beforecaptionskip
+ \setbox\@tempboxa\hbox{\footnotesize\bf #1\hskip\jspaceskip #2}
+ \ifdim \wd\@tempboxa >\hsize
+ \begin{center}
+%  \setbox\@tempboxb\hbox{\footnotesize\bf #1\hskip\jspaceskip}
+%  \hangindent=\wd\@tempboxb \hangafter=1
+  {\footnotesize\bf #1\hskip\jspaceskip #2}\par
+ \end{center}
+ \else
+  \hbox to\hsize{\hfil\box\@tempboxa\hfil}
+%  \center{\footnotesize\bf #1\hskip\jspaceskip #2}
+  \fi\vskip\@aftercaptionskip}
+
+\newcounter{figure}
+\def\thefigure{\@arabic\c@figure}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename \thefigure}
+\def\figure{\bgroup\@beforecaptionskip=10\Q\@aftercaptionskip=0pt\@float{figure}}
+\def\endfigure{\end@float\egroup}
+\@namedef{figure*}{\bgroup\@beforecaptionskip=10\Q\@aftercaptionskip=0pt\@dblfloat{figure}}
+\@namedef{endfigure*}{\end@dblfloat\egroup}
+
+\newcounter{table}
+\def\thetable{\@arabic\c@table}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename \thetable}
+\def\table{\bgroup\@beforecaptionskip=0pt\@aftercaptionskip=7\Q\@float{table}}
+\def\endtable{\end@float\egroup}
+\@namedef{table*}{\bgroup\@beforecaptionskip=0pt\@aftercaptionskip=7\Q\@dblfloat{table}}
+\@namedef{endtable*}{\end@dblfloat\egroup}
+
+% height adjustment code insertion into float ending routines
+\newdimen\@floatheight
+\newcount\@floatlinecount
+
+\def\end@float{\par\vskip\z@\egroup %% \par\vskip\z@ added 15 Dec 87
+\color@endbox
+\@floatheight=\ht\@currbox
+\advance\@floatheight \dp\@currbox
+\divide\@floatheight\baselineskip \@floatlinecount=\@floatheight
+\advance\@floatlinecount\@ne
+\@floatheight=\@floatlinecount\baselineskip
+%\fboxrule=0.01pt\fboxsep=0pt% for debugging
+%\global\setbox\@currbox=\hbox{\fbox{\vbox to\@floatheight{\vfil\copy\@currbox\vfil}}}%
+\global\setbox\@currbox=\vbox to\@floatheight{\vfil\copy\@currbox\vfil}%
+   \ifnum\@floatpenalty <\z@
+     \@cons\@currlist\@currbox
+     \ifdim \ht\@currbox >\textheight 
+        \ht\@currbox\textheight \fi
+     \ifnum\@floatpenalty < -\@Mii 
+        \penalty -\@Miv 
+        \@tempdima\prevdepth    %% saving and restoring \prevdepth added
+        \vbox{}                 %% 26 May 87 to prevent extra vertical
+        \prevdepth \@tempdima   %% space when used in vertical mode
+        \penalty\@floatpenalty
+      \else \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@esphack
+     \fi\fi}
+
+\def\end@dblfloat{\if@twocolumn
+     \par\vskip\z@\egroup %% \par\vskip\z@ added 15 Dec 87\egroup
+\color@endbox
+\@floatheight=\ht\@currbox
+\advance\@floatheight \dp\@currbox
+\divide\@floatheight\baselineskip \@floatlinecount=\@floatheight
+\advance\@floatlinecount\@ne
+\@floatheight=\@floatlinecount\baselineskip
+%\fboxrule=0.01pt\fboxsep=0pt% for debugging
+%\global\setbox\@currbox=\hbox{\fbox{\vbox to\@floatheight{\vfil\copy\@currbox\vfil}}}%
+\global\setbox\@currbox=\vbox to\@floatheight{\vfil\copy\@currbox\vfil}%
+     \ifnum\@floatpenalty <\z@ \@cons\@dbldeferlist\@currbox\fi
+      \ifnum \@floatpenalty =-\@Mii \@esphack\fi\else\end@float\fi}
+
+
+
+\def\maketitle{\par
+ \begingroup
+ \def\thefootnote{}%
+ \def\@makefnmark{}%
+ \if@twocolumn 
+ \twocolumn[\@maketitle] 
+ \else \newpage
+ \global\@topnum\z@ \@maketitle \fi\thispagestyle{plain}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}
+
+ \thispagestyle{myheadings} % to avoid running head on title page
+ \if@hissha
+ \thispagestyle{hisshatop}
+ \fi
+ \let\maketitle\relax
+ \let\@maketitle\relax
+ \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}
+
+\newbox\@temptitlebox
+
+% abstract
+
+\long\def\Jabstract#1{\global\long\def\Jabstcontent{\noindent\ignorespaces #1}}
+\long\def\Eabstract#1{\global\long\def\Eabstcontent{\noindent\ignorespaces #1}}
+\def\Jabstcontent{\relax}
+\def\Eabstcontent{\relax}
+\def\JEabstInsert{%
+  \begin{adjustvboxheight}\vfill
+  \begin{small}
+    \begin{abstquotation}
+      \Jabstcontent
+      \par\hbox{ }\par
+      \Eabstcontent
+    \end{abstquotation}
+  \end{small}\vskip8mm
+  \end{adjustvboxheight}}
+\def\EabstInsert{%
+  \begin{adjustvboxheight}\vfill
+  \begin{small}
+    \begin{abstquotation}
+      \Eabstcontent
+    \end{abstquotation}
+  \end{small}\vskip8mm
+  \end{adjustvboxheight}}
+
+\def\Jarticle{%
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to193.5\Q{\baselineskip=10mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\JarticleHeader
+% following extra vskip together with baselineskip(10mm) will produce
+% appropriate 10mm/6mm gap between the rule and title
+% This assumes that title is typeset with 28Q(7mm) font, and baseline
+% is set 1mm above the bottom of the font.
+\setbox\@temptitlebox\hbox{JarticleTitle}\ifdim\wd\@temptitlebox>\textwidth\vskip2mm\else\vskip6mm\fi
+\leftskip=5mm
+\JarticleTitle
+\vskip6mm % to leave 10mm gap between title and author
+\JarticleAuthor
+\end{flushleft}\vfil}}
+\JEabstInsert
+}}
+
+\def\Earticle{%
+\def\refname{References}%
+\def\tablename{Table~}
+\def\figurename{Fig.~}
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to193\Q{\baselineskip=8mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\EarticleHeader
+% following extra vskip together with baselineskip(8mm) will produce
+% appropriate 10mm/6mm gap between the rule and title
+% This assumes that title is typeset with 28Q(7mm) font, and baseline
+% is set 1mm above the bottom of the font.
+\setbox\@temptitlebox\hbox{EarticleTitle}\ifdim\wd\@temptitlebox>\textwidth\vskip4mm\else\vskip8mm\fi
+\leftskip=5mm
+\EarticleTitle
+\vskip6mm % to leave 10mm gap between title and author
+\EarticleAuthor
+\end{flushleft}\vfil}}
+\EabstInsert
+}
+\@Baseline=17.5\Q}
+
+\def\JarticleWithoutAbst{%
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to193.5\Q{\baselineskip=10mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\JarticleHeader
+\setbox\@temptitlebox\hbox{JarticleTitle}\ifdim\wd\@temptitlebox>\textwidth\vskip2mm\else\vskip6mm\fi
+\leftskip=5mm
+\JarticleTitle
+\vskip6mm % to leave 10mm gap between title and author
+\JarticleAuthor
+\end{flushleft}\vfil}}}}
+
+\def\leaderfill{\leaders\hbox{\rule{1mm}{1mm}}\hfill}
+\def\leaderfillB{\leaders\hbox to1mm{%
+ \vbox{\rule{1mm}{0.1mm}\vskip0.4mm
+       \rule{1mm}{0.1mm}\vskip0.4mm
+       \rule{1mm}{0.1mm}\vskip0.4mm
+       \rule{1mm}{0.1mm}}}\hfill}
+
+\newdimen\strokeinterval \newdimen\strokewidth
+\newdimen\rightstrokewidth
+\strokeinterval=\textwidth \advance\strokeinterval by-0.1mm
+\divide\strokeinterval by150
+\strokewidth=\strokeinterval
+\multiply\strokewidth by150 \advance\strokewidth by0.1mm
+\rightstrokewidth=\strokeinterval
+\multiply\rightstrokewidth by9
+\def\leaderfillstrokeL{\leaders\hbox to\strokeinterval{%
+ \rule{0.1mm}{1.6mm}\hfil}\hfill}
+
+\newdimen\boxinterval \newdimen\boxwidth
+\newdimen\leftboxwidth
+\boxinterval=\textwidth \advance\boxinterval by-1mm
+\divide\boxinterval by99
+\boxwidth=\boxinterval
+\multiply\boxwidth by99 \advance\boxwidth by1mm
+\leftboxwidth=\boxinterval
+\multiply\leftboxwidth by6
+\def\leaderfillboxL{\leaders\hbox to\boxinterval{%
+ \rule{0.9mm}{1mm}\hfil}\hfill}
+
+\ifASCII\else
+\jfont\gona=dg12      % in ASCII, moved to (d)skfonts.
+\fi
+
+% default title header
+% you must devise various headers for topics, tokushu, shohyo etc.
+%
+% 2009/04/22  H.Iwasaki
+% ==========================================================
+% $B%9%?%$%k%U%!%$%k$NJQ99!$$=$NL\E*$O0J2<$NFs$D(B
+%   $B!&(B2009$BG/(B6$B7n$h$jO@J8Ej9F5,Dj$,2~D{$5$l$k$N$K9g$o$;$k(B
+%   $B!&(B2009$BG/EY$NBg2qO@J8%U%)!<%^%C%H$b6&MQ$9$k$h$&$K$9$k(B
+%
+
+%%%
+% $BO@J8<oJL(B
+%   $B%3%s%T%e!<%?%=%U%H%&%'%";o$K7G:\$5$l$kO@J8$O(B
+%       $B8&5fO@J8(B/$B%=%U%H%&%'%"O@J8(B/$B2r@bO@J8(B
+%   $B$N(B3$BDL$j$G$"$k$,!$Bg2qM=9F$b$3$N%9%?%$%k%U%!%$%k$r;H$&$3$H$K$7$?$N$G!$(B
+%   $BJX59E*$K!$Bg2qM=9F$bO@J8<oJL$N0l<o$H$9$k!%(B
+%   
+%   $B7k6IO@J8<oJL$O!$(B
+%     $B8&5fO@J8(B/$B%=%U%H%&%'%"O@J8(B/$B2r@bO@J8(B/$BBg2qM=9F(B
+%   $B$N(B4$BDL$j$N$$$:$l$+!%$=$N$=$l$>$l$K$D$$$FOBJ8$H1QJ8$,$"$jF@$k$,!$(B
+%   $B1QJ82r@bO@J8$O$"$^$jA[Dj$7$F$$$J$$!%(B
+%   $B$^$?!$%A%e!<%H%j%"%k$O2r@bO@J8$N0l<o$@$,!$(B1$B%Z!<%8L\$NF,=q$-$,(B
+%   $B0[$J$k$N$G!$IaDL$N2r@bO@J8$H$PJL$N<oJLJ8;z$rMQ0U$7$?!%(B
+%
+% \documentclass[..]{compsoft} $B$N(B [...] $B$NCf$KO@J8<oJL!$::FI<oJL!$8@8l(B
+% $B$r;XDj$9$k!%(B
+%
+% $BO@J8<oJL(B
+%   P   $B8&5fO@J8(B ($B%G%U%)%k%H(B)
+%   S   $B%=%U%H%&%'%"O@J8(B
+%   K   $BIaDL$N2r@bO@J8(B
+%   U   $B%A%e!<%H%j%"%k(B
+%   T   $BBg2qO@J8(B ($BBg2qO@J8$OJX59E*$KO@J8<oJL$N0l<o$H$7$F07$&(B)
+%
+% $B::FI<oJL(B ($BBg2qO@J8$N;~$K$O;XDj$7$J$$(B)
+%   R   $BDL>oO@J8(B ($B%G%U%)%k%H(B)
+%   L   $B%l%?!<O@J8(B
+%
+% $B8@8l(B
+%   J   $BOBJ8(B ($B%G%U%)%k%H(B)
+%   E   $B1QJ8(B
+%
+% \ronbunShubetsu $B$O!$O@J8<oJL$rI=$90lJ8;z(B (P, S, K, U, T $B$N$$$:$l$+(B)
+% \sadokuShubets  $B$O!$::FI<oJL$rI=$90lJ8;z(B (R$B!$(BL $B$N$$$:$l$+(B)
+% \ronbunLang     $B$O!$8@8l$rI=$90lJ8;z(B (J, E $B$N$$$:$l$+(B)
+
+\let\ronbunShubetsu=P     % $BO@J8<oJL$N%G%U%)%k%HCM$O8&5fO@J8(B
+\let\sadokuShubetsu=R     % $B::FI<oJL$N%G%U%)%k%HCM$ODL>oO@J8(B
+\let\ronbunLang=J         % $B%G%U%)%k%H$OOBJ8O@J8(B
+\def\JarticleHeader{\rule{\textwidth}{1mm}}
+\def\JarticleTitle{{\huge\bf\@title}}
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}
+
+%
+% $BO@J8<oJL(B
+%
+
+\def\ifRonbun#1{\ifx\ronbunShubetsu P{#1}\else\relax\fi}
+\def\ifSoftRonbun#1{\ifx\ronbunShubetsu S{#1}\else\relax\fi}
+\def\ifKaisetsu#1{\ifx\ronbunShubetsu K{#1}\else\relax\fi}
+\def\ifTutorial#1{\ifx\ronbunShubetsu U{#1}\else\relax\fi}
+\def\ifTaikai#1{\ifx\ronbunShubetsu T{#1}\else\relax\fi}
+\def\ifNotTaikai#1{\ifx\ronbunShubetsu T\relax\else{#1}\fi}
+
+% $B"!(BP $B!J8&5fO@J8!K(B
+\def\ds@P{
+\let\ronbunShubetsu=P%
+\def\JarticleHeader{\rule{\textwidth}{1mm}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BS $B!J%=%U%H%&%'%"O@J8!K(B
+\def\ds@S{
+\let\ronbunShubetsu=S%
+\def\JarticleHeader{%
+\hbox to \strokewidth{\leaderfillboxL\rule{0.9mm}{1mm}}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BK $B!JIaDL$N2r@bO@J8!K(B
+\def\ds@K{
+\let\ronbunShubetsu=K%
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B2r!!@b(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BU $B!J%A%e!<%H%j%"%k(B --- $B2r@bO@J8$N0l<o!K(B
+\def\ds@U{
+\let\ronbunShubetsu=U%
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL\rule{0.1mm}{1.6mm}}
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9.5mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%A%e!<%H%j%"%k(B}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BT $B!JBg2qO@J8!K(B
+\def\ds@T{
+\let\ronbunShubetsu=T%
+\def\JarticleHeader{\rule{\textwidth}{1mm}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle\adjustAfour}
+
+%
+% $B::FI<oJL(B --- $BDL>oO@J8(B/$B%l%?!<O@J8(B $B$N(B2$BDL$j(B
+%
+
+\def\ifRegular#1{\ifx\sadokuShubetsu R{#1}\else\relax\fi}
+\def\ifLetter#1{\ifx\sadokuShubetsu L{#1}\else\relax\fi}
+
+% $B"!(BR $B!JDL>oO@J8!K(B
+\def\ds@R{
+\let\sadokuShubetsu=R
+}
+
+% $B"!(BL $B!J%l%?!<O@J8!K(B
+\def\ds@L{
+\let\sadokuShubetsu=L
+}
+
+%
+% $B8@8l(B
+%
+
+% $B"!(BJ $B!JOBJ8!K(B
+\def\ds@J{
+\let\ronbunLang=J%
+\Jarticle}
+
+% $B"!(BE $B!J1QJ8!K(B
+\def\ds@E{
+\let\ronbunLang=E%
+\def\EarticleHeader{\JarticleHeader}
+\def\EarticleTitle{\JarticleTitle}
+\def\EarticleAuthor{\JarticleAuthor}
+\Earticle}
+
+%%%
+% $BFC=8$N>l9g(B
+%   \tokushu{$BFC=8$N%?%$%H%k(B}
+% $B$H$9$k!%$3$N%?%$%H%k$O!$(B1$B%Z!<%8L\$N>e$NJ}$K=PNO$5$l$k!%(B
+
+\def\tokushu#1{%
+\def\tokushutitle{#1}%
+\ifRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}%
+\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfill}}}%
+\ifSoftRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{%
+\hbox to \leftboxwidth{\leaderfillboxL}%
+\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfillboxL
+\rule{0.9mm}{1mm}}}}%
+\ifKaisetsu{%
+\gdef\articleHeader{{\offinterlineskip
+\hbox to \textwidth{\leaderfillB\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle
+\hskip1mm}%
+\hbox to3\@mojihaba{%
+ \vbox{\rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B2r!!@b(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}}%
+\ifTutorial{%
+\gdef\articleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL
+\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle\hskip2mm}%
+\hbox to\rightstrokewidth{\leaderfillstrokeL}\rule{0.1mm}{1.6mm}}%
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%A%e!<%H%j%"%k(B}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}}%
+\gdef\JarticleHeader{\articleHeader}%
+\gdef\EarticleHeader{\articleHeader}}
+
+%%%
+% $B?dA&$N>l9g(B
+%   \suisen{$B%?%$%H%k(B}
+% $B$H$9$k!%$3$N%?%$%H%k$O!$(B1$B%Z!<%8L\$N>e$NJ}$K=PNO$5$l$k!%(B
+
+\def\suisen#1{%
+\def\suisentitle{#1}%
+\ifRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}%
+\hbox{\small\bf\hskip1mm $B?dA&O@J8!|(B\suisentitle}\leaderfill}}}%
+\ifSoftRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{%
+\hbox to \leftboxwidth{\leaderfillboxL}%
+\hbox{\small\bf\hskip1mm $B?dA&O@J8!|(B\suisentitle}\leaderfillboxL
+\rule{0.9mm}{1mm}}}}%
+\ifKaisetsu{%
+\gdef\articleHeader{{\offinterlineskip
+\hbox to \textwidth{\leaderfillB\hbox{\small\bf\hskip1mm $B?dA&O@J8!|(B\suisentitle
+\hskip1mm}%
+\hbox to3\@mojihaba{%
+ \vbox{\rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B2r!!@b(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}}%
+\gdef\JarticleHeader{\articleHeader}%
+\gdef\EarticleHeader{\articleHeader}}
+
+%%%
+% $BBg2qM=9F$N>l9g(B
+%   \taikai{$BG/EY(B}
+% $B$rF~$l$J$1$l$P$J$i$J$$!%2s?t$OG/EY$+$i<+F0E*$K7W;;$5$l$k!%(B
+% $B2s?t(B = $BG/EY(B - 1983
+% $B$3$N%?%$%H%k$O!$(B1$B%Z!<%8L\$N>e$NJ}$K=PNO$5$l$k!%(B
+
+\def\leaderfilll{\leaders\hbox{\rule{0.2mm}{0.2mm}}\hfill}
+
+\def\taikai#1{%
+\ifTaikai{%
+\newcount\currentYear%
+\newcount\currentKai%
+\currentYear=#1%
+\currentKai=\currentYear\advance\currentKai by-1983%
+\global\xdef\taikaititle{$BF|K\%=%U%H%&%'%"2J3X2qBh(B\number\currentKai $B2sBg2q(B%
+(\number\currentYear $BG/EY(B)$B9V1iO@J8=8(B}%
+\gdef\articleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{0.2mm}%
+\hbox{\small\bf\hskip1mm \taikaititle\hskip1mm}\leaderfilll}}%
+\gdef\JarticleHeader{\articleHeader}%
+\gdef\EarticleHeader{\articleHeader}%
+\gdef\@oddheadcontents{\taikaititle}%
+\gdef\@evenheadcontents{\taikaititle}}}
+
+%%%
+% 1$B%Z!<%8L\$N:82<$K=PNO$5$l$k$b$N(B
+\def\ejtitle#1{\thanks{#1}}
+
+\def\shozoku#1#2#3{\thanks{#1, #2, #3.}}
+
+\def\shutten{%
+\ifNotTaikai{%
+  \thanks{\kanjiskip 0pt minus 0.15zw %
+  $B%3%s%T%e!<%?%=%U%H%&%'%"(B, \kern-0.75pt Vol.\arabic{$B4,?t(B}, %
+  \kern-0.75pt No.\arabic{$B9f?t(B} \kern-1.25pt(\arabic{$BG/?t(B}), %
+  \kern-0.75pt pp.\arabic{firstpage}--\arabic{lastpage}.}}}
+
+\def\ronbunKind{%
+  \ifRonbun{$B8&5f(B}\ifSoftRonbun{$B%=%U%H%&%'%"(B}%
+  \ifKaisetsu{$B2r@b(B}\ifTutorial{$B2r@b(B}$BO@J8(B%
+  \ifRegular{\relax}\ifLetter{($B%l%?!<(B)}}
+
+\def\uketsuke#1#2#3{\ifNotTaikai{\thanks{[\ronbunKind] #1$BG/(B#2$B7n(B#3$BF|<uIU(B.}}}
+
+\def\note#1{\thanks{#1}}
+
+% $B$3$3$+$i@h$O8_49@-$N$?$a$K!$<j$rF~$l$F$$$J$$(B
+%
+% ==========================================================
+% $B"!(Bronbun $B!JO@J8!K(B
+\def\ds@ronbun{
+\def\JarticleHeader{\rule{\textwidth}{1mm}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BEronbun $B!J1QJ8O@J8!K(B
+\def\ds@Eronbun{
+\def\EarticleHeader{\rule{\textwidth}{1mm}}%
+\def\EarticleTitle{{\huge\bf\@title}}%
+\def\EarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Earticle}
+
+% ==========================================================
+% $B"!(Bronbungaiyou $B!JO@J835MW!K(B
+\def\ds@ronbungaiyou{
+\def\pages##1{\long\def\pp{##1}}
+\let\Jabstcontent\relax
+\let\Eabstcontent\relax
+\def\maketitle{\par
+ \@lastpagebalancingfalse
+ \begingroup
+ \def\thefootnote{}%
+ \def\@makefnmark{}%
+ \@maketitle
+ \thispagestyle{plain}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}
+ \thispagestyle{myheadings} % to avoid running head on title page
+\gdef\@thanks{}\gdef\@author{}\gdef\@title{}
+\let\Jabstcontent\relax
+\let\Eabstcontent\relax
+% \let\thanks\relax
+}%
+%
+\def\JarticleHeader{\hbox to25\jspaceskip{\rule{2\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $B%5%$%P!<%Z!<%8O@J835MW(B\hskip1mm}\leaderfill}}%
+\def\JarticleTitle{{\Large\bf\@title}}%
+\def\JarticleAuthor{\large\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\global\def\@maketitle{\newpage \null 
+\hbox{\vbox to193.5\Q{\baselineskip=6mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\JarticleHeader
+\vskip5mm
+\leftskip=0mm
+\JarticleTitle
+\vskip3mm % to leave 7mm gap between title and author
+\JarticleAuthor
+\end{flushleft}\vfil}}
+% \begin{small}
+\begingroup
+\ifx\Jabstcontent\relax
+\baselineskip=19.5Q
+\Eabstcontent\par
+\else
+\baselineskip=19.5Q
+\Jabstcontent\par
+\fi
+\leavevmode\null\hfill 
+[\kern1pt pp.~\pp\kern1pt]\par
+\endgroup
+% \end{small}
+}}
+
+% ==========================================================
+% $B"!(Bsoftwareronbun $B!J%=%U%H%&%'%"O@J8!K(B
+\def\ds@softwareronbun{
+\def\JarticleHeader{%
+\hbox to \strokewidth{\leaderfillboxL\rule{0.9mm}{1mm}}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ==========================================================
+% $B"!(Btutorial $B!J%A%e!<%H%j%"%k!K(B
+\def\ds@tutorial{
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL\rule{0.1mm}{1.6mm}}
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9.5mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%A%e!<%H%j%"%k(B}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ==========================================================
+% $B"!(Bkaisetsu $B!J2r@b!K(B
+\def\ds@kaisetsu{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B2r!!@b(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ==========================================================
+% $B"!(Btopics $B!J%H%T%C%/%9!K(B
+\def\ds@topics{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%H%T%C%/%9(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bsoftware $B!J%=%U%H%&%'%">R2p!K(B
+\def\ds@softwareshokai{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%=%U%H%&%'%">R2p(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bforum $B!J%U%)!<%i%`!K(B
+\def\ds@forum{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%U%)!<%i%`(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bzadankai $B!J:BCL2q!K(B
+\def\ds@zadankai{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B:BCL2q(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bcolumn $B!J%3%i%`!K(B
+\def\ds@column{
+\global\advance\textheight by-3mm
+\global\advance\leftskip by3mm
+\global\advance\rightskip by3mm
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to165\Q{% 172\Q = 7*\baselineskip
+\begin{flushleft}
+\null\vskip11.2mm
+\leftskip=8mm \baselineskip10mm
+{\huge\bf\@title}
+\vskip1.5mm % to leave hmode and start a new paragraph
+\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\end{flushleft}\vfil}}}% 
+\columnsep 0pt     % ueda
+}
+
+% $B"!(Breview $B!J=qI>!K(B
+\def\ds@bookreview{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B=q!!I>(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bpioneer $B!J%Q%$%*%K%"!K(B
+\def\ds@pioneer{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%Q%$%*%K%"(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bmemoriam $B!JDIEi5-;v!K(B
+\def\ds@memoriam{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona }\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% ==========================================================
+% $BFC=8$d?dA&$NL>A0$rF~$l$k$?$a$N%^%/%m!#%f!<%6$KDj5A$7$F$b$i$&!#(B
+\def\tokushutitle{}
+\def\suisentitle{}
+
+% $B"!(Btokushuronbun $B!JFC=8O@J8!K(B
+\def\ds@tokushuronbun{
+\def\JarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfill}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BEtokushuronbun $B!J1QJ8FC=8O@J8!K(B
+\def\ds@Etokushuronbun{
+\def\EarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfill}}%
+\def\EarticleTitle{{\huge\bf\@title}}%
+\def\EarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Earticle}
+
+% $B"!(Btokushusoftwareronbun $B!JFC=8%=%U%H%&%'%"O@J8!K(B
+\def\ds@tokushusoftwareronbun{
+\def\JarticleHeader{\hbox to\textwidth{%
+\hbox to \leftboxwidth{\leaderfillboxL}%
+\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfillboxL
+\rule{0.9mm}{1mm}}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(Btokushututorial $B!JFC=8%A%e!<%H%j%"%k!K(B
+\def\ds@tokushututorial{
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL
+\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle\hskip2mm}%
+\hbox to\rightstrokewidth{\leaderfillstrokeL}\rule{0.1mm}{1.6mm}}%
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%A%e!<%H%j%"%k(B}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(Btokushukaisetsu $B!JFC=82r@b!K(B
+\def\ds@tokushukaisetsu{
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \textwidth{\leaderfillB\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle
+\hskip1mm}%
+\hbox to3\@mojihaba{%
+ \vbox{\rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B2r!!@b(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(Btopics $B!JFC=8%H%T%C%/%9!K(B
+\def\ds@tokushutopics{
+\def\JarticleHeader{{\offinterlineskip
+%
+\hbox to\textwidth{%
+\setbox0=\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle\hskip1mm}%
+\leaders\hbox{\rule{1mm}{0.1mm}}\hfill
+\vbox to0pt{\hsize\wd0\vss\box0\vss}\hbox{\rule{3\@mojihaba}{0.1mm}}}
+% \hbox{\rule{3\@mojihaba}{0.1mm}}}
+%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%H%T%C%/%9(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Btopics $B!JFC=8%=%U%H%&%'%">R2p!K(B
+\def\ds@tokushusoftwareshokai{
+\def\JarticleHeader{{\offinterlineskip
+%
+\hbox to\textwidth{%
+\setbox0=\hbox{\small\bf\hskip1mm $B>.FC=8!|(B\tokushutitle\hskip1mm}%
+\leaders\hbox{\rule{1mm}{0.1mm}}\hfill
+\vbox to0pt{\hsize\wd0\vss\box0\vss}\hbox{\rule{3\@mojihaba}{0.1mm}}}
+% \hbox{\rule{3\@mojihaba}{0.1mm}}}
+%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%=%U%H%&%'%">R2p(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bsuisenronbun $B!J?dA&O@J8!K(B
+\def\ds@suisenronbun{
+\def\JarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $B?dA&O@J8!|(B\suisentitle}\leaderfill}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BEsuisenronbun $B!J1QJ8?dA&O@J8!K(B
+\def\ds@Esuisenronbun{
+\def\EarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $B?dA&O@J8!|(B\suisentitle}\leaderfill}}%
+\def\EarticleTitle{{\huge\bf\@title}}%
+\def\EarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Earticle}
+% ==========================================================
+
+% ==========================================================
+% $B"!(Bkantogen $B!J4,F,8@!K(B
+\def\ds@kantogen{
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox{
+\begin{flushleft}
+\offinterlineskip
+\vspace*{-\topskip}
+\rule{\textwidth}{0.1mm}
+\vskip6mm{\gona $B4,F,8@(B}\hskip15mm{\huge\@title}\vskip5mm\hskip27mm%
+\Large\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\vskip10mm plus10mm minus10mm% you must adjust this size
+\vskip22.5\Q
+\end{flushleft}
+\vfil}}}
+\leftskip=27mm
+\@totalleftmargin=27mm
+\@rightskip=27mm
+\onecolumn
+\baselineskip=22.5\Q
+\global\tendm\global\rm % This does not work, I don't know why!
+}
+% ==========================================================
+
+% ==========================================================
+% $B"!(Btokushutobira $B!JFC=8$NJT=8$K$"$?$C$F!K(B
+\def\ds@tokushutobira{
+\global\def\@maketitle{\newpage \null
+\vspace*{-\baselineskip}
+\begin{flushleft}
+\hbox to\textwidth
+{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfill}%
+\vskip12mm\hskip5mm{\huge\bf\@title}\vskip1mm\hskip5mm%
+\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\vskip10mm%
+\end{flushleft}%\vfil
+}
+% tokushutobira must be flush left on even page, and flush right on
+% odd page.
+\ifodd\c@page
+\leftskip=7\@mojihaba \rightskip=0pt
+\@totalleftmargin=7\@mojihaba % for list environment such as itemize
+\@rightskip=7\@mojihaba % for list environment such as itemize
+\else
+\leftskip=0pt \rightskip=7\@mojihaba
+\@totalleftmargin=0pt
+\@rightskip=7\@mojihaba
+\fi
+\onecolumn
+}
+% ==========================================================
+
+% ==========================================================
+% $B"!(Btobira $B!J4,F,!K(B
+\def\ds@tobira{
+\global\def\@maketitle{\newpage \null
+\vspace*{-\baselineskip}
+\begin{flushleft}
+\rule{\textwidth}{1mm}
+\vskip12mm\hskip5mm{\huge\bf\@title}\vskip1mm\hskip5mm%
+\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\vskip10mm%
+\end{flushleft}%\vfil
+}
+% tokushutobira must be flush left on even page, and flush right on
+% odd page.
+\ifodd\c@page
+\leftskip=7\@mojihaba \rightskip=0pt
+\@totalleftmargin=7\@mojihaba % for list environment such as itemize
+\@rightskip=7\@mojihaba % for list environment such as itemize
+\else
+\leftskip=0pt \rightskip=7\@mojihaba
+\@totalleftmargin=0pt
+\@rightskip=7\@mojihaba
+\fi
+\onecolumn
+}
+% ==========================================================
+
+% ==========================================================
+% $B"!(Bgakkaikiji $B!J3X2q5-;v!K(B
+% Gakkai-Kiji header added by yaski
+\def\ds@gakkaikiji{
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to64.5\Q{% 43\Q=3*21.5\Q
+\begin{flushleft}
+{\offinterlineskip
+\noindent
+\hbox to \hsize{{\LARGE $BF|K\%=%U%H%&%'%"2J3X2q(B} \leaders\hrule height 2mm\hfill}
+\vspace{2mm}
+\hbox to \hsize{\footnotesize\bf 
+Japan Society for Software Science and Technology \hfil}}
+\end{flushleft}\vfil}}}
+}
+% ==========================================================
+
+% ==========================================================
+% $B"!(B henshu header added by yaski ($BJT=8$@$h$j(B)
+\def\ds@henshu{
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to64.5\Q{% 43\Q=3*21.5\Q
+\begin{flushleft}
+{\offinterlineskip
+\noindent
+\hbox to \hsize{{\LARGE $BF|K\%=%U%H%&%'%"2J3X2q(B} \leaders\hrule height 2mm\hfill}
+\vspace{2mm}
+\hbox to \hsize{\footnotesize\bf 
+Japan Society for Software Science and Technology \hfil}}
+\end{flushleft}\vfil}}}
+}
+% ==========================================================
+
+% ==========================================================
+% <13> hissha header added by ohno ($BI.<T>R2p(B)
+\def\ds@hissha{
+\setlength\headsep{47.5mm}
+\setlength\textheight{160mm}
+\pagestyle{hissha}
+\@hisshatrue
+% ----------------
+\raggedbottom
+\global\def\@maketitle{\newpage \null
+%\thispagestyle{hisshatop}
+%\vskip-45mm % added by iwamoto 92.10.15
+%\vskip-55mm % added by iwamoto 92.10.15
+\vskip-53mm
+%\hbox to \textwidth{\hrulefillx}
+\vskip 10mm
+\hbox{\vbox to40mm{%
+\noindent
+\vskip8mm
+\begin{tabular}{l}
+{\LARGE\bf $BI.(B\hspace{2mm}$B<T(B\hspace{2mm}$B>R(B\hspace{2mm}$B2p(B}
+\end{tabular}
+\vfil}}}
+}
+\def\ds@newsletr{
+\input{newsletr.sty}
+}
+
+% ==========================================================
+% $BAmL\<!(B
+\def\ds@somokuji{
+\setlength\headsep{30mm}
+\setlength\textheight{190mm}
+\pagestyle{hissha}
+\@hisshatrue
+% ----------------
+\raggedbottom
+\global\def\@maketitle{\newpage \null
+%\thispagestyle{hisshatop}
+%\vskip-45mm % added by iwamoto 92.10.15
+%\vskip-55mm % added by iwamoto 92.10.15
+%\vskip-30mm
+%\hbox to \textwidth{\hrulefillx}
+\vskip -20mm
+\hbox{\vbox to21mm{%
+\noindent
+\vskip1mm
+\begin{tabular}{l}
+{\LARGE\bf \@title}
+\end{tabular}
+\vfil}}}
+}
+
+% You must define $B=qI>MQ(B header here!
+
+
+\mark{{}{}} 
+
+% volpage$B!J%\%j%e!<%`DL$7%Z!<%8!K(Bhas been abolished as of Vol.22 (2005),
+% but the counter volpageoffset is kept alive for backward compatibility
+% because many papers still say \setcounter{volpageoffset}{...} .
+%
+% \newcounter{volpage}
+\newcounter{volpageoffset} % You must set this to appropriate value
+% \setcounter{volpageoffset}{0} % for each issue!
+
+% \def\thevolpage{\setcounter{volpage}{\value{page}}%
+%  \addtocounter{volpage}{\value{volpageoffset}}%
+%   \hbox to21pt{(\hfil\arabic{volpage}\hfil)}}
+\let\thevolpage=\null
+
+\newcounter{$B4,?t(B} \newcounter{$B9f?t(B}
+\newcounter{$BG/?t(B}
+\newcounter{firstpage}
+\newcounter{lastpage}
+
+\def\volNoPp#1#2#3#4{%
+  \ifNotTaikai{%
+  \setcounter{$B4,?t(B}{#1}\setcounter{$B9f?t(B}{#2}%
+  \setcounter{$BG/?t(B}{1983}\addtocounter{$BG/?t(B}{\value{$B4,?t(B}}%
+  \setcounter{firstpage}{#3}\setcounter{lastpage}{#4}\setcounter{page}{#3}}}
+
+\def\@oddheadcontents
+ {Vol.~\arabic{$B4,?t(B}\hskip\@mojihaba No.~\arabic{$B9f?t(B}\hskip\@mojihaba
+  \ifcase\value{$B9f?t(B}\or Jan.\or Apr.\or July\or Oct.\else\fi
+  \hskip.5\@mojihaba \setcounter{$BG/?t(B}{1983}\addtocounter{$BG/?t(B}{\value{$B4,?t(B}}
+  \arabic{$BG/?t(B}}
+
+\def\@evenheadcontents{$B%3%s%T%e!<%?%=%U%H%&%'%"(B}
+
+\def\ps@headings{\let\@mkboth\markboth
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\normalsize
+ \thepage\phantom{\thevolpage}\hfil\@evenheadcontents
+  \hfil\phantom{\thepage}\thevolpage}
+\def\@oddhead{\normalsize
+ \thevolpage\phantom{\thepage}\hfil\@oddheadcontents
+  \hfil\phantom{\thevolpage}\thepage}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@hissha{\let\@mkboth\markboth
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to221.5mm{\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil{$B%3%s%T%e!<%?%=%U%H%&%'%"(B}
+  \hfil\phantom{\thepage}\thevolpage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\@oddhead{\vbox to221.5mm{\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil\@oddheadcontents
+  \hfil\phantom{\thevolpage}\thepage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@hisshatop{\let\@mkboth\markboth
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to221.5mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil\phantom{$B%3%s%T%e!<%?%=%U%H%&%'%"(B}
+  \hfil\phantom{\thepage}\thevolpage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\@oddhead{\vbox to221.5mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil\phantom{\@oddheadcontents}
+  \hfil\phantom{\thevolpage}\thepage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@newsheadings{\let\@mkboth\markboth
+%\newfont{\cmssi}{cmssi10 scaled \magstep1}
+%\def\cmssi{\usefont{OT1}{cmss}{m}{it}}
+\font\cmssi=cmssi10 scaled \magstep1
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil{$B!!!!!!!!(B}
+  \hfil\phantom{\thepage}\thevolpage}\vskip2mm\hbox to\textwidth{%\hskip2mm
+\rule{29mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{97mm}{0.1mm}%\hskip2mm
+}\vfill}}
+\def\@oddhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil{$B!!!!!!!!(B}
+  \hfil\phantom{\thevolpage}\thepage}\vskip2mm\hbox to\textwidth{%\hskip2mm
+\rule{29mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{97mm}{0.1mm}%\hskip2mm
+}\vfill}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@myindexheadings{\let\@mkboth\markboth
+%\newfont{\cmssi}{cmssi10 scaled \magstep1}
+%\def\cmssi{\usefont{OT1}{cmss}{m}{it}}
+\font\cmssi=cmssi10 scaled \magstep1
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil{$B!!!!!!!!(B}
+  \hfil\phantom{\thepage}\thevolpage}\vskip2mm\hbox to\textwidth{\hskip2mm\rule{27mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{95mm}{0.1mm}\hskip2mm}\vfill}}
+\def\@oddhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil{$B!!!!!!!!(B}
+  \hfil\phantom{\thevolpage}\thepage}\vskip2mm\hbox to\textwidth{\hskip2mm\rule{27mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{95mm}{0.1mm}\hskip2mm}\vfill}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+\def\@oddhead{\normalsize \thevolpage\hfil\thepage}
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\normalsize \thepage\hfil\thevolpage}
+\def\sectionmark##1{}\def\subsectionmark##1{}}
+
+\pagestyle{headings}
+\pagenumbering{arabic}
+
+\def\tablename{$BI=(B}
+\def\figurename{$B?^(B}
+
+\if@LaTeX@e
+\ifASCII
+\def\bf{\normalfont\gtfamily\bfseries}
+\fi
+\else
+\def\bf{\protect\pdg\protect\pbf}
+\fi
+
+\def\today{\the\year $BG/(B \the\month $B7n(B \the\day $BF|(B}
+
+\def\sloppy{\tolerance 9000 \hfuzz .5\p@ \vfuzz .5\p@}
+
+\flushbottom
+
+
+
+% To balance the final page,
+% following code is borrowed from nicetwocolumn style
+\newdimen\dimen@@
+
+\def\balancecolumns{\setbox0\vbox{\unvbox\@outputbox} \dimen@@=\ht0
+   \advance\dimen@@ by\topskip \advance\dimen@@ by-\baselineskip
+   \divide\dimen@@ by2 \splittopskip=\topskip
+   {\vbadness=10000 \loop \global\setbox3=\copy0
+     \global\setbox1=\vsplit3 to\dimen@@
+     \ifdim\ht3>\dimen@@ \global\advance\dimen@@ by1pt\repeat}
+   \ifdim\dimen@@>\textheight \dimen@@=\textheight\fi
+   \setbox0=\vbox to \dimen@@{\unvbox1} \setbox2=\vbox to \dimen@@{\unvbox3}
+   \if\ht0>\ht2 \setbox2=\vbox to\ht0{\unvbox2}\dimen@@=\ht0\else
+   \if\ht2>\ht0 \setbox0=\vbox to\ht2{\unvbox0}\dimen@@=\ht2\fi\fi
+  \wd0=\hsize \wd2=\hsize
+%\message{in balancecolumns dimen@@=\the\dimen@@, dp0=\the\dp0, dp2=\the\dp2}
+\ifdim\dp0>\dp2\advance\dimen@@ by\dp0\else\advance\dimen@@ by\dp2\fi
+\setbox\@outputbox\vbox to\dimen@@{\hbox to\textwidth{\box0\hfil\box2}\vfill}}
+
+
+% you can refrain from balancing by falsifying following switch!
+\newif\if@lastpagebalancing \@lastpagebalancingtrue % default is to balance
+
+% incorporate balanced output to \enddocument
+\def\enddocument{\if@lastpagebalancing \global\let\@outputdblcol=\balancing@outputdblcol\fi%
+\@checkend{document}\clearpage
+\begingroup  
+\if@filesw \immediate\closeout\@mainaux 
+\def\global\@namedef##1##2{}\def\newlabel{\@testdef r}%
+\def\bibcite{\@testdef b}\@tempswafalse \makeatletter\input \jobname.aux
+\if@tempswa \@warning{Label(s) may have changed.  Rerun to get
+cross-references right}\fi\fi\endgroup
+\deadcycles\z@\@@end}
+
+\newlength{\@interlinegap}
+
+% to change \interlinegap appropriately at appropriate time
+\def\@outputdblcol{\if@firstcolumn \global\@firstcolumnfalse
+    \global\setbox\@leftcolumn\box\@outputbox
+% Following interlinegap value may be wrong!!
+% It is set to gap+depth for normalsize, and depth(2.031999Q) for footnotesize.
+% This setting is inconsistent, but seems to work properly now.
+%\ifx \@currsize\normalsize \global\@interlinegap 8.54815pt\else% setup
+% reset to 10Q after final page footnote hack!
+\ifx \@currsize\normalsize \global\@interlinegap 10\Q\else% setup
+ \ifx \@currsize\footnotesize \global\@interlinegap 2.03199\Q\else% appropriate
+  \ifx \@currsize\small \global\@interlinegap 3.08713pt\fi\fi\fi% gap here!
+  \else \global\@firstcolumntrue
+\if@leftfootnoteexist\setbox\@leftcolumn\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@leftcolumn
+\unvbox\@leftcolumn\vskip\skip\footins\footnoterule%
+%\message{in outputdblcol leftcolumnfootnote=ht:\the\ht\@leftcolumnfootnote, dp:\the\dp\@leftcolumnfootnote, wd:\the\wd\@leftcolumnfootnote}
+\unvbox\@leftcolumnfootnote
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\else
+\setbox\@leftcolumn\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@leftcolumn
+\unvbox\@leftcolumn\vfill%
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\fi
+\if@rightfootnoteexist\setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@outputbox
+\unvbox\@outputbox\vskip\skip\footins\footnoterule%
+%\message{in outputdblcol rightcolumnfootnote=ht:\the\ht\@rightcolumnfootnote, dp:\the\dp\@rightcolumnfootnote, wd:\the\wd\@rightcolumnfootnote}
+\unvbox\@rightcolumnfootnote
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\else
+\setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@outputbox
+\unvbox\@outputbox\vfill%
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\fi
+    \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth
+      {\box\@leftcolumn \hss}\hfil \vrule width\columnseprule\hfil
+       \hbox to\columnwidth{\box\@outputbox \hss}}}\@combinedblfloats
+       \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
+       \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup
+    \fi}
+
+\def\balancing@outputdblcol{\if@firstcolumn %\global\@firstcolumnfalse
+ \else \global\@firstcolumntrue
+  \setbox\@outputbox\vbox{\unvbox\@leftcolumn\vskip\@interlinegap%
+   \penalty\interlinepenalty\unvbox\@outputbox}
+ \fi
+ \balancecolumns \@combinedblfloats
+\if@leftfootnoteexist\setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@outputbox
+\unvbox\@outputbox\vfill\vskip\skip\footins\footnoterule%
+%\message{in balancing@outputdblcol leftcolumnfootnote=ht:\the\ht\@leftcolumnfootnote, dp:\the\dp\@leftcolumnfootnote, wd:\the\wd\@leftcolumnfootnote}
+\unvbox\@leftcolumnfootnote
+\if@rightfootnoteexist
+%\message{in balancing@outputdblcol rightcolumnfootnote=ht:\the\ht\@rightcolumnfootnote, dp:\the\dp\@rightcolumnfootnote, wd:\the\wd\@rightcolumnfootnote}
+\unvbox\@rightcolumnfootnote\fi
+\vskip-\dimen128
+\@textbottom}
+\global\maxdepth\@maxdepth\fi
+ \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
+ \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup}
+
+\newbox\@leftcolumnfootnote \newbox\@rightcolumnfootnote
+\newif\if@leftfootnoteexist \newif\if@rightfootnoteexist
+
+% Extra \@texttop somehow found its way into \@makecol.  Deleted
+% 1 Dec 86.  (Found by Mike Harrison)
+
+\def\@makecol{\if@twocolumn
+\if@firstcolumn
+\ifvoid\footins \setbox\@outputbox\box\@cclv
+%\message{in makecol @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\@leftfootnoteexistfalse
+   \else\global\@leftfootnoteexisttrue
+\setbox\@outputbox\box\@cclv
+%\message{in makecol with foot @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\setbox\@leftcolumnfootnote\box\footins
+%\message{in makecol leftcolumnfootnote=ht:\the\ht\@leftcolumnfootnote, dp:\the\dp\@leftcolumnfootnote, wd:\the\wd\@leftcolumnfootnote}
+\fi
+     \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
+\else %if@firstcolumn
+\ifvoid\footins \setbox\@outputbox\box\@cclv
+%\message{in makecol right @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\@rightfootnoteexistfalse
+   \else\global\@rightfootnoteexisttrue
+\setbox\@outputbox\box\@cclv
+%\message{in makecol right with foot @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\setbox\@rightcolumnfootnote\box\footins
+%\message{in makecol rightcolumnfootnote=ht:\the\ht\@rightcolumnfootnote, dp:\the\dp\@rightcolumnfootnote, wd:\the\wd\@rightcolumnfootnote}
+\fi
+     \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
+\fi %if@firstcolumn
+\else % if@twocolumn
+\ifvoid\footins \setbox\@outputbox\box\@cclv
+   \else\setbox\@outputbox
+     \vbox{\boxmaxdepth \maxdepth
+     \unvbox\@cclv\vskip\skip\footins\footnoterule\unvbox\footins}\fi
+     \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
+     \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+        \@texttop\dimen128=\dp\@outputbox\unvbox\@outputbox
+        \vskip-\dimen128\@textbottom}%
+     \global\maxdepth\@maxdepth
+\fi}
+
+
+
+\if@LaTeX@e
+\long\def\@footnotetext#1{\insert\footins{%
+    \reset@font\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore\leftskip10\Q
+        \ifnum\value{footnote}>9\hangindent=20\Q\advance\hangindent by 5.2pt
+        \else\hangindent=20\Q\fi \hangafter=1
+    \protected@edef\@currentlabel{%
+       \csname p@footnote\endcsname\@thefnmark
+    }%
+    \color@begingroup
+      \@makefntext{%
+        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+    \color@endgroup}}%
+\else
+\long\def\@footnotetext#1{\insert\footins{\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore\leftskip10\Q
+% extra indent of 5.2pt is decided empirically, roughly the width of a digit
+        \ifnum\value{footnote}>9\hangindent=20\Q\advance\hangindent by 5.2pt
+        \else\hangindent=20\Q\fi \hangafter=1
+%    \hangindent=20\Q \hangafter=1
+   \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+    {\rule{\z@}{\footnotesep}\ignorespaces#1\strut}}}
+\fi
+
+\long\def\@makefntext#1{\noindent$\@thefnmark$\hskip10\Q #1}
+
+\def\@makefnmark{\smash{\hbox{$^{\@thefnmark}$}}} % smashed to make it
+                                                  % zero height
+
+\def\thefootnote{\mbox{\dag}\arabic{footnote}}
+
+% Following \footnoterule is changed to make a gap between footnoterule
+% and first footnote text about 2Q.
+%\def\footnoterule{\kern-3\p@ \hrule width 35mm \kern 2.6\p@} 
+\def\footnoterule{\kern0\p@ \hrule width 35mm \kern-0.4\p@}
+
+
+\def\thanks#1{\footnotemark\begingroup
+\def\protect{\noexpand\protect\noexpand}\xdef\@thanks{\@thanks
+  \protect\specialfootnotetext[\the\c@footnote]{\noindent #1}}\endgroup}
+
+\def\specialfootnotetext{\@ifnextchar
+    [{\@specialxfootnotenext}{\xdef\@thefnmark{\thempfn}\@specialfootnotetext}}
+
+\def\@specialxfootnotenext[#1]{\begingroup \csname c@\@mpfn\endcsname #1\relax
+   \xdef\@thefnmark{\thempfn}\endgroup \@specialfootnotetext}
+
+\def\@mpfn{footnote}
+\def\thempfn{\thefootnote}
+
+\long\def\@specialfootnotetext#1{\insert\footins{\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore\leftskip10\Q
+    \hangindent=10\Q \hangafter=1
+   \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@specialmakefntext
+    {\rule{\z@}{\footnotesep}\ignorespaces#1\strut}}}
+
+\long\def\@specialmakefntext#1{\noindent\llap{$\@thefnmark$ }#1}
+
+
+
+% to add extra space before citation by yamanouchi
+\def\cite{{\hskip 1pt}\@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}
+
+\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
+        \def\@citea{}%
+        {\footnotesize\@for\@citeb:=#2\do
+%               {\@citea\def\@citea{\penalty\@m\ }%
+                {\@citea\def\@citea{\penalty\@m{\hskip 1pt}}%
+                 \@ifundefined{b@\@citeb}%
+                        {{\bf ?}\@warning{Citation 
+                                `\@citeb' on page \thepage \space undefined}}%
+                \hbox{[\csname b@\@citeb\endcsname]}}}}
+
+% to make citations within sentences 11.5Q (same as other characters)
+% new command \Cite similar to \cite is defined as follows.
+% (normally citation numbers are typeset using \footnotesize)
+\def\Cite{{\hskip 1pt}\@ifnextchar [{\@tempswatrue\@Citex}{\@tempswafalse\@Citex[]}}
+
+\def\@Citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
+        \def\@citea{}%
+        {\@for\@citeb:=#2\do
+%               {\@citea\def\@citea{\penalty\@m\ }%
+                {\@citea\def\@citea{\penalty\@m{\hskip 1pt}}%
+                 \@ifundefined{b@\@citeb}%
+                        {{\bf ?}\@warning{Citation 
+                                `\@citeb' on page \thepage \space undefined}}%
+                \hbox{[\csname b@\@citeb\endcsname]}}}}
+
+% you must place 1-moji space just right of eqation number
+\def\@eqnnum{{\rm (\theequation)\hskip\@mojihaba}} 
+
+
+
+% height adjusting environment
+% you must use this as separate paragraph
+
+\newbox\adjustbox
+\newdimen\adjustheight
+\newcount\adjustlinecount
+
+\newenvironment{adjustvboxheight}{%\message{prevdepth=\the\prevdepth}
+\vskip-\prevdepth\vskip1.4454pt % to cancel out various depth and set
+                               % it to normal 1.445pt.  For this to
+                               % work properly, it is necessary to use
+                               % this environment as a separate paragraph!!
+\global\setbox\adjustbox=\vbox\bgroup%
+\hsize\columnwidth }{\egroup%
+\adjustheight=\ht\adjustbox%
+\advance\adjustheight \dp\adjustbox%
+\divide\adjustheight\baselineskip \adjustlinecount=\adjustheight%
+\advance\adjustlinecount by 1 %
+\adjustheight=\adjustlinecount\baselineskip%
+% you must ajust the position of top box somehow!!!
+\vskip-.5\Q\vskip-1.445pt\vspace*{.5\Q}\vspace*{1.445pt}%
+%\fboxrule=0.01pt\fboxsep=0pt% for debugging
+\vskip5\Q % = 1/2 gap
+%\noindent\fbox{\vbox to\adjustheight{\vfil\box\adjustbox\vfil}}%
+\noindent\vbox to\adjustheight{\vfil\box\adjustbox\vfil}%
+\vskip-5\Q % = 1/2 gap
+\vskip-1.445pt\noindent}
+
+\clubpenalty=-1000 \widowpenalty=-1000 % we allow club and widow lines ?
+\displaywidowpenalty=-1000
+
+% The following redefinition influences \linebreak etc.
+\def\sloppy{\tolerance 9999 \hfuzz .5\p@ \vfuzz .5\p@}
+
+% use twocolumn instead of multicol
+\twocolumn
+
+\vbadness10001 \hbadness5000
+\tolerance 9999 \pretolerance\m@ne
+
+\@options
+
+\@ifundefined{@maketitle}{\ds@ronbun}{} % to setup default title style
+
+
+\if@LaTeX@e
+\ifASCII
+\DeclareFontShape{JY1}{mc}{m}{it}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JT1}{mc}{m}{it}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JY1}{mc}{m}{sl}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JT1}{mc}{m}{sl}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JY1}{mc}{m}{sc}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JT1}{mc}{m}{sc}{<->ssub*mc/m/n}{}
+
+\DeclareFontShape{JY1}{gt}{m}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{gt}{m}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{gt}{m}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{gt}{m}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{gt}{m}{sc}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{gt}{m}{sc}{<->ssub*gt/m/n}{}
+
+\DeclareFontShape{JY1}{mc}{bx}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{mc}{bx}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{mc}{bx}{sc}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{mc}{bx}{sc}{<->ssub*gt/m/n}{}
+\fi
+\fi
+
+\newcommand{\$B!'(B}{\hbox to1zw{\hss:\hss}}
+
+\endinput
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/fig1.eps	Sat Aug 06 23:17:49 2011 +0900
@@ -0,0 +1,1093 @@
+%!
+%%BoundingBox: 3 539 192 798
+%%Title: fig1
+%%CreationDate: Tue May 11 19:13:45 1999
+%%Creator: Tgif-2.16J-p12 by William Chia-Wei Cheng (william@cs.UCLA.edu)
+
+/tgifdict 4 dict def
+tgifdict begin
+
+/tgifellipsedict 6 dict def
+tgifellipsedict /mtrx matrix put
+
+/tgifellipse
+ { tgifellipsedict begin
+      /yrad exch def
+      /xrad exch def
+      /y exch def
+      /x exch def
+      /savematrix mtrx currentmatrix def
+      x y translate
+      xrad yrad scale
+      0 0 1 0 360 arc
+      savematrix setmatrix
+   end
+ } def
+
+/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
+
+end
+
+%%PageBoundingBox: 3 539 192 798
+tgifdict begin
+/tgifsavedpage save def
+
+1 setmiterlimit
+1 setlinewidth
+
+0 setgray
+
+72 0 mul 72 11.70 mul translate
+72 128 div 50 mul 100 div dup neg scale
+
+gsave
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      96 312 moveto
+      144 248 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 248 moveto
+      192 312 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 248 moveto
+      192 184 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      192 184 moveto
+      240 248 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      96 312 moveto
+      72 360 lineto
+      120 360 lineto
+      96 312 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      96 355 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      192 312 moveto
+      168 360 lineto
+      216 360 lineto
+      192 312 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      192 355 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      240 248 moveto
+      216 296 lineto
+      264 296 lineto
+      240 248 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      240 291 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 144 248 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 144 248 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      144 256 moveto (x) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 192 184 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 192 184 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      192 192 moveto (y) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   288 260 moveto
+   288 268 lineto
+   332 268 lineto
+   332 276 lineto
+   352 264 lineto
+   332 252 lineto
+   332 260 lineto
+   288 260 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [25 0 0 -25 0 0] makefont setfont
+   gsave
+      304 388 moveto (\(a\)) show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      400 248 moveto
+      448 184 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      448 184 moveto
+      496 248 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      448 312 moveto
+      496 248 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      496 248 moveto
+      544 312 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      400 248 moveto
+      376 296 lineto
+      424 296 lineto
+      400 248 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      400 291 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      448 312 moveto
+      424 360 lineto
+      472 360 lineto
+      448 312 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      448 355 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      544 312 moveto
+      520 360 lineto
+      568 360 lineto
+      544 312 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      544 355 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 448 184 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 448 184 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      448 192 moveto (x) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 496 248 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 496 248 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      496 256 moveto (y) tgifcentertext show
+   grestore
+
+% BOX
+0 setgray
+gsave
+   1.415 setmiterlimit
+   newpath
+      72 160 moveto 568 160 lineto 568 400 lineto 72 400 lineto
+   closepath 1 setgray stroke 0 setgray
+   1 setmiterlimit
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      192 456 moveto
+      240 520 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 520 moveto
+      192 456 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      48 648 moveto
+      96 584 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      96 584 moveto
+      144 648 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      96 584 moveto
+      144 520 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 520 moveto
+      192 584 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      48 648 moveto
+      24 696 lineto
+      72 696 lineto
+      48 648 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      48 691 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 648 moveto
+      120 696 lineto
+      168 696 lineto
+      144 648 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      144 691 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      192 584 moveto
+      168 632 lineto
+      216 632 lineto
+      192 584 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      192 627 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 96 584 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 96 584 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      96 592 moveto (x) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 144 520 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 144 520 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      144 528 moveto (y) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   288 564 moveto
+   288 572 lineto
+   332 572 lineto
+   332 580 lineto
+   352 568 lineto
+   332 556 lineto
+   332 564 lineto
+   288 564 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [25 0 0 -25 0 0] makefont setfont
+   gsave
+      304 724 moveto (\(b\)) show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      240 520 moveto
+      216 568 lineto
+      264 568 lineto
+      240 520 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      240 563 moveto (D) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 192 456 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 192 456 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      192 464 moveto (z) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      544 584 moveto
+      592 648 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      496 648 moveto
+      544 584 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      400 520 moveto
+      448 456 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      448 456 moveto
+      496 520 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      448 584 moveto
+      496 520 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      496 520 moveto
+      544 584 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      400 520 moveto
+      376 568 lineto
+      424 568 lineto
+      400 520 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      400 563 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      448 584 moveto
+      424 632 lineto
+      472 632 lineto
+      448 584 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      448 627 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      496 648 moveto
+      472 696 lineto
+      520 696 lineto
+      496 648 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      496 691 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 448 456 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 448 456 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      448 464 moveto (x) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 496 520 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 496 520 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      496 528 moveto (y) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      592 648 moveto
+      568 696 lineto
+      616 696 lineto
+      592 648 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      592 691 moveto (D) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 544 584 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 544 584 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      544 592 moveto (z) tgifcentertext show
+   grestore
+
+% BOX
+0 setgray
+gsave
+   1.415 setmiterlimit
+   newpath
+      16 432 moveto 624 432 lineto 624 736 lineto 16 736 lineto
+   closepath 1 setgray stroke 0 setgray
+   1 setmiterlimit
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      192 792 moveto
+      240 856 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 856 moveto
+      192 792 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 984 moveto
+      192 920 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      192 920 moveto
+      240 984 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      96 920 moveto
+      144 856 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 856 moveto
+      192 920 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      96 920 moveto
+      72 968 lineto
+      120 968 lineto
+      96 920 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      96 963 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 984 moveto
+      120 1032 lineto
+      168 1032 lineto
+      144 984 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      144 1027 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      240 984 moveto
+      216 1032 lineto
+      264 1032 lineto
+      240 984 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      240 1027 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 192 924 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 192 924 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      192 932 moveto (x) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 144 856 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 144 856 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      144 864 moveto (y) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   288 900 moveto
+   288 908 lineto
+   332 908 lineto
+   332 916 lineto
+   352 904 lineto
+   332 892 lineto
+   332 900 lineto
+   288 900 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [25 0 0 -25 0 0] makefont setfont
+   gsave
+      304 1060 moveto (\(c\)) show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      240 856 moveto
+      216 904 lineto
+      264 904 lineto
+      240 856 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      240 899 moveto (D) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 192 792 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 192 792 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      192 800 moveto (z) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      600 856 moveto
+      648 920 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      552 920 moveto
+      600 856 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      424 856 moveto
+      512 792 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      512 792 moveto
+      600 856 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      376 920 moveto
+      424 856 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      424 856 moveto
+      472 920 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      376 920 moveto
+      352 968 lineto
+      400 968 lineto
+      376 920 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      376 963 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      472 920 moveto
+      448 968 lineto
+      496 968 lineto
+      472 920 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      472 963 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      552 920 moveto
+      528 968 lineto
+      576 968 lineto
+      552 920 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      552 963 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 512 792 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 512 792 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      512 800 moveto (x) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 424 856 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 424 856 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      424 864 moveto (y) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      648 920 moveto
+      624 968 lineto
+      672 968 lineto
+      648 920 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      648 963 moveto (D) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 600 856 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 600 856 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      600 864 moveto (z) tgifcentertext show
+   grestore
+
+% BOX
+0 setgray
+gsave
+   1.415 setmiterlimit
+   newpath
+      64 768 moveto 680 768 lineto 680 1072 lineto 64 1072 lineto
+   closepath 1 setgray stroke 0 setgray
+   1 setmiterlimit
+grestore
+
+grestore
+tgifsavedpage restore
+end
+%MatchingCreationDate: Tue May 11 19:13:45 1999
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/fig2.eps	Sat Aug 06 23:17:49 2011 +0900
@@ -0,0 +1,380 @@
+%!
+%%BoundingBox: 30 739 190 818
+%%Title: fig2
+%%CreationDate: Sun May  9 20:27:59 1999
+%%Creator: Tgif-2.16J-p12 by William Chia-Wei Cheng (william@cs.UCLA.edu)
+
+/tgifdict 4 dict def
+tgifdict begin
+
+/tgifellipsedict 6 dict def
+tgifellipsedict /mtrx matrix put
+
+/tgifellipse
+ { tgifellipsedict begin
+      /yrad exch def
+      /xrad exch def
+      /y exch def
+      /x exch def
+      /savematrix mtrx currentmatrix def
+      x y translate
+      xrad yrad scale
+      0 0 1 0 360 arc
+      savematrix setmatrix
+   end
+ } def
+
+/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
+
+end
+
+%%PageBoundingBox: 30 739 190 818
+tgifdict begin
+/tgifsavedpage save def
+
+1 setmiterlimit
+1 setlinewidth
+
+0 setgray
+
+72 0 mul 72 11.70 mul translate
+72 128 div 50 mul 100 div dup neg scale
+
+gsave
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      240 112 moveto
+      288 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      192 176 moveto
+      240 112 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 240 moveto
+      192 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      192 176 moveto
+      240 240 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 240 moveto
+      120 288 lineto
+      168 288 lineto
+      144 240 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      144 283 moveto (C) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      240 240 moveto
+      216 288 lineto
+      264 288 lineto
+      240 240 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      240 283 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 192 176 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 192 176 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      192 184 moveto (b) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   336 216 moveto
+   336 224 lineto
+   380 224 lineto
+   380 232 lineto
+   400 220 lineto
+   380 208 lineto
+   380 216 lineto
+   336 216 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      288 176 moveto
+      264 224 lineto
+      312 224 lineto
+      288 176 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      288 219 moveto (A) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 240 112 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 240 112 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      240 120 moveto (a) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      592 240 moveto
+      640 304 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      544 304 moveto
+      592 240 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      448 176 moveto
+      496 112 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      496 112 moveto
+      544 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      496 240 moveto
+      544 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      544 176 moveto
+      592 240 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   2 setlinewidth
+   [4 4] 0 setdash
+   newpath
+      448 176 moveto
+      424 224 lineto
+      472 224 lineto
+      448 176 lineto
+   stroke
+   [] 0 setdash
+   1 setlinewidth
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      448 219 moveto (L) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   2 setlinewidth
+   [4 4] 0 setdash
+   newpath
+      496 240 moveto
+      472 288 lineto
+      520 288 lineto
+      496 240 lineto
+   stroke
+   [] 0 setdash
+   1 setlinewidth
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      496 283 moveto (R) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      544 304 moveto
+      520 352 lineto
+      568 352 lineto
+      544 304 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      544 347 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 496 112 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 496 112 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      496 120 moveto (x) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 544 176 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 544 176 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      544 184 moveto (b) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      640 304 moveto
+      616 352 lineto
+      664 352 lineto
+      640 304 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      640 347 moveto (A) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 592 240 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 592 240 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      592 248 moveto (a) tgifcentertext show
+   grestore
+
+% BOX
+0 setgray
+gsave
+   1.415 setmiterlimit
+   newpath
+      112 88 moveto 672 88 lineto 672 360 lineto 112 360 lineto
+   closepath 1 setgray stroke 0 setgray
+   1 setmiterlimit
+grestore
+
+grestore
+tgifsavedpage restore
+end
+%MatchingCreationDate: Sun May  9 20:27:59 1999
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/fig3.eps	Sat Aug 06 23:17:49 2011 +0900
@@ -0,0 +1,1510 @@
+%!
+%%BoundingBox: 7 597 354 834
+%%Title: fig3
+%%CreationDate: Tue May 11 19:18:21 1999
+%%Creator: Tgif-2.16J-p12 by William Chia-Wei Cheng (william@cs.UCLA.edu)
+
+/tgifdict 4 dict def
+tgifdict begin
+
+/tgifellipsedict 6 dict def
+tgifellipsedict /mtrx matrix put
+
+/tgifellipse
+ { tgifellipsedict begin
+      /yrad exch def
+      /xrad exch def
+      /y exch def
+      /x exch def
+      /savematrix mtrx currentmatrix def
+      x y translate
+      xrad yrad scale
+      0 0 1 0 360 arc
+      savematrix setmatrix
+   end
+ } def
+
+/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
+
+end
+
+%%PageBoundingBox: 7 597 354 834
+tgifdict begin
+/tgifsavedpage save def
+
+1 setmiterlimit
+1 setlinewidth
+
+0 setgray
+
+72 0 mul 72 11.70 mul translate
+72 128 div 50 mul 100 div dup neg scale
+
+gsave
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      288 152 moveto
+      336 88 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      336 88 moveto
+      384 152 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      288 152 moveto
+      264 200 lineto
+      312 200 lineto
+      288 152 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      288 195 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      384 152 moveto
+      360 200 lineto
+      408 200 lineto
+      384 152 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      384 195 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 336 88 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 336 88 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      336 96 moveto (x) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   416 132 moveto
+   416 140 lineto
+   460 140 lineto
+   460 148 lineto
+   480 136 lineto
+   460 124 lineto
+   460 132 lineto
+   416 132 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      512 152 moveto
+      560 88 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      560 88 moveto
+      608 152 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      512 152 moveto
+      488 200 lineto
+      536 200 lineto
+      512 152 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      512 195 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      608 152 moveto
+      584 200 lineto
+      632 200 lineto
+      608 152 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      608 195 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 560 88 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 560 88 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      560 96 moveto (x) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   56 132 moveto
+   56 140 lineto
+   100 140 lineto
+   100 148 lineto
+   120 136 lineto
+   100 124 lineto
+   100 132 lineto
+   56 132 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% OVAL
+0 setgray
+newpath 168 136 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 168 136 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      168 144 moveto (x) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      736 184 moveto
+      784 120 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      784 120 moveto
+      832 184 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      784 120 moveto
+      832 56 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      832 56 moveto
+      880 120 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      736 184 moveto
+      712 232 lineto
+      760 232 lineto
+      736 184 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      736 227 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      832 184 moveto
+      808 232 lineto
+      856 232 lineto
+      832 184 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      832 227 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      880 120 moveto
+      856 168 lineto
+      904 168 lineto
+      880 120 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      880 163 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 784 120 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 784 120 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      784 128 moveto (x) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 832 56 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 832 56 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      832 64 moveto (a) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   936 132 moveto
+   936 140 lineto
+   980 140 lineto
+   980 148 lineto
+   1000 136 lineto
+   980 124 lineto
+   980 132 lineto
+   936 132 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1056 120 moveto
+      1104 56 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1104 56 moveto
+      1152 120 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1104 184 moveto
+      1152 120 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1152 120 moveto
+      1200 184 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1056 120 moveto
+      1032 168 lineto
+      1080 168 lineto
+      1056 120 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1056 163 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1104 184 moveto
+      1080 232 lineto
+      1128 232 lineto
+      1104 184 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1104 227 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1200 184 moveto
+      1176 232 lineto
+      1224 232 lineto
+      1200 184 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1200 227 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1104 56 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1104 56 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1104 64 moveto (x) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1152 120 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1152 120 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1152 128 moveto (a) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      288 328 moveto
+      336 392 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      336 392 moveto
+      384 456 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      384 456 moveto
+      360 504 lineto
+      408 504 lineto
+      384 456 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      384 499 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 288 328 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 288 328 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      288 336 moveto (x) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 336 392 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 336 392 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      336 400 moveto (a) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      96 328 moveto
+      144 392 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 392 moveto
+      120 440 lineto
+      168 440 lineto
+      144 392 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      144 435 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 96 328 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 96 328 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      96 336 moveto (a) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   200 404 moveto
+   200 412 lineto
+   244 412 lineto
+   244 420 lineto
+   264 408 lineto
+   244 396 lineto
+   244 404 lineto
+   200 404 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      736 448 moveto
+      784 384 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      784 384 moveto
+      832 448 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      784 384 moveto
+      832 320 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      832 320 moveto
+      880 384 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      736 448 moveto
+      712 496 lineto
+      760 496 lineto
+      736 448 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      736 491 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      832 448 moveto
+      808 496 lineto
+      856 496 lineto
+      832 448 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      832 491 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      880 384 moveto
+      856 432 lineto
+      904 432 lineto
+      880 384 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      880 427 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 784 384 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 784 384 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      784 392 moveto (b) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 832 320 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 832 320 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      832 328 moveto (a) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   936 396 moveto
+   936 404 lineto
+   980 404 lineto
+   980 412 lineto
+   1000 400 lineto
+   980 388 lineto
+   980 396 lineto
+   936 396 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1056 384 moveto
+      1104 320 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1104 320 moveto
+      1152 384 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1104 448 moveto
+      1152 384 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1152 384 moveto
+      1200 448 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1056 384 moveto
+      1032 432 lineto
+      1080 432 lineto
+      1056 384 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1056 427 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1104 448 moveto
+      1080 496 lineto
+      1128 496 lineto
+      1104 448 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1104 491 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1200 448 moveto
+      1176 496 lineto
+      1224 496 lineto
+      1200 448 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1200 491 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1104 320 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1104 320 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1104 328 moveto (b) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1152 384 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1152 384 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1152 392 moveto (a) tgifcentertext show
+   grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1256 320 moveto () show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      280 584 moveto
+      328 648 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      232 648 moveto
+      280 584 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      232 776 moveto
+      280 712 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      280 712 moveto
+      328 776 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      184 712 moveto
+      232 648 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      232 648 moveto
+      280 712 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      184 712 moveto
+      160 760 lineto
+      208 760 lineto
+      184 712 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      184 755 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      232 776 moveto
+      208 824 lineto
+      256 824 lineto
+      232 776 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      232 819 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      328 776 moveto
+      304 824 lineto
+      352 824 lineto
+      328 776 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      328 819 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 280 712 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 280 712 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      280 720 moveto (c) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 232 648 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 232 648 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      232 656 moveto (b) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   384 692 moveto
+   384 700 lineto
+   428 700 lineto
+   428 708 lineto
+   448 696 lineto
+   428 684 lineto
+   428 692 lineto
+   384 692 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      328 648 moveto
+      304 696 lineto
+      352 696 lineto
+      328 648 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      328 691 moveto (D) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 280 584 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 280 584 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      280 592 moveto (a) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1048 648 moveto
+      1096 712 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1000 712 moveto
+      1048 648 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      872 648 moveto
+      960 584 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      960 584 moveto
+      1048 648 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      824 712 moveto
+      872 648 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      872 648 moveto
+      920 712 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      824 712 moveto
+      800 760 lineto
+      848 760 lineto
+      824 712 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      824 755 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      920 712 moveto
+      896 760 lineto
+      944 760 lineto
+      920 712 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      920 755 moveto (B) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1000 712 moveto
+      976 760 lineto
+      1024 760 lineto
+      1000 712 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1000 755 moveto (C) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 960 584 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 960 584 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      960 592 moveto (c) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 872 648 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 872 648 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      872 656 moveto (b) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1096 712 moveto
+      1072 760 lineto
+      1120 760 lineto
+      1096 712 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1096 755 moveto (D) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1048 648 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1048 648 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1048 656 moveto (a) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   720 692 moveto
+   720 700 lineto
+   764 700 lineto
+   764 708 lineto
+   784 696 lineto
+   764 684 lineto
+   764 692 lineto
+   720 692 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      616 584 moveto
+      664 648 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      568 648 moveto
+      616 584 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      472 776 moveto
+      520 712 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      520 712 moveto
+      568 776 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      520 712 moveto
+      568 648 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      568 648 moveto
+      616 712 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      616 712 moveto
+      592 760 lineto
+      640 760 lineto
+      616 712 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      616 755 moveto (C) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      472 776 moveto
+      448 824 lineto
+      496 824 lineto
+      472 776 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      472 819 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      568 776 moveto
+      544 824 lineto
+      592 824 lineto
+      568 776 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      568 819 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 520 712 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 520 712 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      520 720 moveto (b) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 568 648 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 568 648 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      568 656 moveto (c) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      664 648 moveto
+      640 696 lineto
+      688 696 lineto
+      664 648 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      664 691 moveto (D) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 616 584 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 616 584 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      616 592 moveto (a) tgifcentertext show
+   grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      64 260 moveto (\(a1\)) show
+   grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      420 260 moveto (\(a2\)) show
+   grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      940 260 moveto (\(b1\)) show
+   grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      204 532 moveto (\(b2\)) show
+   grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      632 852 moveto (\(d\)) show
+   grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      948 524 moveto (\(c\)) show
+   grestore
+
+% BOX
+0 setgray
+gsave
+   1.415 setmiterlimit
+   newpath
+      32 32 moveto 1232 32 lineto 1232 864 lineto 32 864 lineto
+   closepath 1 setgray stroke 0 setgray
+   1 setmiterlimit
+grestore
+
+grestore
+tgifsavedpage restore
+end
+%MatchingCreationDate: Tue May 11 19:18:21 1999
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/fig4.eps	Sat Aug 06 23:17:49 2011 +0900
@@ -0,0 +1,1221 @@
+%!
+%%BoundingBox: 5 645 431 832
+%%Title: fig4
+%%CreationDate: Mon May 10 11:58:59 1999
+%%Creator: Tgif-2.16J-p12 by William Chia-Wei Cheng (william@cs.UCLA.edu)
+
+/tgifdict 4 dict def
+tgifdict begin
+
+/tgifellipsedict 6 dict def
+tgifellipsedict /mtrx matrix put
+
+/tgifellipse
+ { tgifellipsedict begin
+      /yrad exch def
+      /xrad exch def
+      /y exch def
+      /x exch def
+      /savematrix mtrx currentmatrix def
+      x y translate
+      xrad yrad scale
+      0 0 1 0 360 arc
+      savematrix setmatrix
+   end
+ } def
+
+/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
+
+end
+
+%%PageBoundingBox: 5 645 431 832
+tgifdict begin
+/tgifsavedpage save def
+
+1 setmiterlimit
+1 setlinewidth
+
+0 setgray
+
+72 0 mul 72 11.70 mul translate
+72 128 div 50 mul 100 div dup neg scale
+
+gsave
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      280 200 moveto
+      328 136 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      328 136 moveto
+      376 72 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      376 72 moveto
+      424 136 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      280 200 moveto
+      256 248 lineto
+      304 248 lineto
+      280 200 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      280 243 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      424 136 moveto
+      400 184 lineto
+      448 184 lineto
+      424 136 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      424 179 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 376 72 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 376 72 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      376 80 moveto (z) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   1024 140 moveto
+   1024 148 lineto
+   1068 148 lineto
+   1068 156 lineto
+   1088 144 lineto
+   1068 132 lineto
+   1068 140 lineto
+   1024 140 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      600 136 moveto
+      648 72 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      648 72 moveto
+      696 136 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      600 136 moveto
+      576 184 lineto
+      624 184 lineto
+      600 136 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      600 179 moveto (A) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      696 136 moveto
+      672 184 lineto
+      720 184 lineto
+      696 136 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      696 179 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 648 72 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 648 72 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      648 80 moveto (a) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   480 152 moveto
+   480 160 lineto
+   524 160 lineto
+   524 168 lineto
+   544 156 lineto
+   524 144 lineto
+   524 152 lineto
+   480 152 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% BOX
+0 setgray
+gsave
+   1.415 setmiterlimit
+   newpath
+      288 40 moveto 1192 40 lineto 1192 280 lineto 288 280 lineto
+   closepath 1 setgray stroke 0 setgray
+   1 setmiterlimit
+grestore
+
+% OVAL
+0 setgray
+newpath 328 136 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 328 136 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      328 144 moveto (a) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      920 96 moveto
+      968 160 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      968 160 moveto
+      944 208 lineto
+      992 208 lineto
+      968 160 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      968 203 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 920 96 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 920 96 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      920 104 moveto (z) tgifcentertext show
+   grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      484 276 moveto (\(a1\)) show
+   grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1032 268 moveto (\(a2\)) show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      776 592 moveto
+      824 528 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      824 528 moveto
+      872 592 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      824 400 moveto
+      872 464 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      632 400 moveto
+      680 464 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      248 336 moveto
+      392 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      248 336 moveto
+      104 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      344 464 moveto
+      392 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      296 528 moveto
+      344 464 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      104 400 moveto
+      152 464 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      152 464 moveto
+      200 528 lineto
+   stroke
+grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   480 444 moveto
+   480 452 lineto
+   524 452 lineto
+   524 460 lineto
+   544 448 lineto
+   524 436 lineto
+   524 444 lineto
+   480 444 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      296 528 moveto
+      272 576 lineto
+      320 576 lineto
+      296 528 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      296 571 moveto (F) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      200 528 moveto
+      176 576 lineto
+      224 576 lineto
+      200 528 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      200 571 moveto (C) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      104 528 moveto
+      152 464 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      104 528 moveto
+      80 576 lineto
+      128 576 lineto
+      104 528 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      104 571 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 152 464 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 152 464 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      152 472 moveto (b) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      56 464 moveto
+      104 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      56 464 moveto
+      32 512 lineto
+      80 512 lineto
+      56 464 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      56 507 moveto (A) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 104 400 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 104 400 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      104 408 moveto (a) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      344 464 moveto
+      392 528 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      392 528 moveto
+      368 576 lineto
+      416 576 lineto
+      392 528 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      392 571 moveto (E) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 344 464 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 344 464 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      344 472 moveto (e) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      392 400 moveto
+      440 464 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      440 464 moveto
+      416 512 lineto
+      464 512 lineto
+      440 464 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      440 507 moveto (D) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 392 400 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 392 400 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      392 408 moveto (d) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 248 336 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 248 336 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      248 344 moveto (z) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      728 336 moveto
+      824 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      728 336 moveto
+      632 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      776 464 moveto
+      824 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      824 528 moveto
+      872 464 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      776 464 moveto
+      752 512 lineto
+      800 512 lineto
+      776 464 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      776 507 moveto (C) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      872 592 moveto
+      848 640 lineto
+      896 640 lineto
+      872 592 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      872 635 moveto (E) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 824 528 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 824 528 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      824 536 moveto (e) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      680 464 moveto
+      656 512 lineto
+      704 512 lineto
+      680 464 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      680 507 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 728 336 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 728 336 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      728 344 moveto (b) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      584 464 moveto
+      632 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      584 464 moveto
+      560 512 lineto
+      608 512 lineto
+      584 464 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      584 507 moveto (A) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 632 400 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 632 400 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      632 408 moveto (a) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      872 464 moveto
+      920 528 lineto
+   stroke
+grestore
+
+% OVAL
+0 setgray
+newpath 824 400 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 824 400 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      824 408 moveto (z) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 872 464 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 872 464 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      872 472 moveto (d) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1208 528 moveto
+      1256 464 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1352 400 moveto
+      1448 464 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1096 400 moveto
+      1144 464 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1224 336 moveto
+      1352 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1224 336 moveto
+      1096 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1400 528 moveto
+      1448 464 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1256 464 moveto
+      1304 528 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1256 464 moveto
+      1352 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1208 528 moveto
+      1184 576 lineto
+      1232 576 lineto
+      1208 528 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1208 571 moveto (C) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1304 528 moveto
+      1280 576 lineto
+      1328 576 lineto
+      1304 528 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1304 571 moveto (F) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1256 464 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1256 464 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1256 472 moveto (z) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1144 464 moveto
+      1120 512 lineto
+      1168 512 lineto
+      1144 464 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1144 507 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1224 336 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1224 336 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1224 344 moveto (b) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1048 464 moveto
+      1096 400 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1048 464 moveto
+      1024 512 lineto
+      1072 512 lineto
+      1048 464 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1048 507 moveto (A) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1096 400 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1096 400 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1096 408 moveto (a) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1448 464 moveto
+      1496 528 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1400 528 moveto
+      1376 576 lineto
+      1424 576 lineto
+      1400 528 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1400 571 moveto (E) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1352 400 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1352 400 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1352 408 moveto (e) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1496 528 moveto
+      1472 576 lineto
+      1520 576 lineto
+      1496 528 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1496 571 moveto (D) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1448 464 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1448 464 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1448 472 moveto (d) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      776 592 moveto
+      752 640 lineto
+      800 640 lineto
+      776 592 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      776 635 moveto (F) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   944 444 moveto
+   944 452 lineto
+   988 452 lineto
+   988 460 lineto
+   1008 448 lineto
+   988 436 lineto
+   988 444 lineto
+   944 444 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      920 528 moveto
+      896 576 lineto
+      944 576 lineto
+      920 528 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      920 571 moveto (D) tgifcentertext show
+   grestore
+
+% BOX
+0 setgray
+gsave
+   1.415 setmiterlimit
+   newpath
+      24 312 moveto 1528 312 lineto 1528 696 lineto 24 696 lineto
+   closepath 1 setgray stroke 0 setgray
+   1 setmiterlimit
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      712 684 moveto (\(b\)) show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1160 96 moveto
+      1136 144 lineto
+      1184 144 lineto
+      1160 96 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1160 139 moveto (B) tgifcentertext show
+   grestore
+
+grestore
+tgifsavedpage restore
+end
+%MatchingCreationDate: Mon May 10 11:58:59 1999
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/fig5.eps	Sat Aug 06 23:17:49 2011 +0900
@@ -0,0 +1,1177 @@
+%!
+%%BoundingBox: 18 703 419 836
+%%Title: fig5
+%%CreationDate: Sun May  9 15:26:16 1999
+%%Creator: Tgif-2.16J-p12 by William Chia-Wei Cheng (william@cs.UCLA.edu)
+
+/tgifdict 4 dict def
+tgifdict begin
+
+/tgifellipsedict 6 dict def
+tgifellipsedict /mtrx matrix put
+
+/tgifellipse
+ { tgifellipsedict begin
+      /yrad exch def
+      /xrad exch def
+      /y exch def
+      /x exch def
+      /savematrix mtrx currentmatrix def
+      x y translate
+      xrad yrad scale
+      0 0 1 0 360 arc
+      savematrix setmatrix
+   end
+ } def
+
+/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def
+
+end
+
+%%PageBoundingBox: 18 703 419 836
+tgifdict begin
+/tgifsavedpage save def
+
+1 setmiterlimit
+1 setlinewidth
+
+0 setgray
+
+72 0 mul 72 11.70 mul translate
+72 128 div 50 mul 100 div dup neg scale
+
+gsave
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1248 368 moveto
+      1296 304 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1248 240 moveto
+      1296 304 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1120 176 moveto
+      1248 240 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      944 304 moveto
+      992 240 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1360 112 moveto
+      1408 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      880 112 moveto
+      928 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      384 48 moveto
+      624 112 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      384 48 moveto
+      144 112 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      576 176 moveto
+      624 112 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      528 240 moveto
+      576 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 112 moveto
+      192 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      192 176 moveto
+      240 240 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      528 240 moveto
+      576 304 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      480 304 moveto
+      528 240 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      384 432 moveto
+      432 368 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      432 368 moveto
+      480 432 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      432 368 moveto
+      480 304 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      480 304 moveto
+      528 368 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      384 432 moveto
+      360 480 lineto
+      408 480 lineto
+      384 432 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      384 475 moveto (K) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      480 432 moveto
+      456 480 lineto
+      504 480 lineto
+      480 432 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      480 475 moveto (J) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      528 368 moveto
+      504 416 lineto
+      552 416 lineto
+      528 368 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      528 411 moveto (I) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 432 368 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 432 368 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      432 376 moveto (j) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 480 304 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 480 304 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      480 312 moveto (i) tgifcentertext show
+   grestore
+
+% POLYGON/CLOSED-SPLINE
+0 setgray
+newpath
+   720 252 moveto
+   720 260 lineto
+   764 260 lineto
+   764 268 lineto
+   784 256 lineto
+   764 244 lineto
+   764 252 lineto
+   720 252 lineto
+closepath
+gsave
+grestore
+gsave
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      576 304 moveto
+      552 352 lineto
+      600 352 lineto
+      576 304 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      576 347 moveto (H) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 528 240 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 528 240 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      528 248 moveto (h) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      288 432 moveto
+      336 368 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      192 304 moveto
+      240 240 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      240 240 moveto
+      288 304 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      240 368 moveto
+      288 304 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      288 304 moveto
+      336 368 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      192 304 moveto
+      168 352 lineto
+      216 352 lineto
+      192 304 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      192 347 moveto (C) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      240 368 moveto
+      216 416 lineto
+      264 416 lineto
+      240 368 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      240 411 moveto (D) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      288 432 moveto
+      264 480 lineto
+      312 480 lineto
+      288 432 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      288 475 moveto (E) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 240 240 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 240 240 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      240 248 moveto (c) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 288 304 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 288 304 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      288 312 moveto (d) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 336 368 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 336 368 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      336 376 moveto (e) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 240 moveto
+      192 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      144 240 moveto
+      120 288 lineto
+      168 288 lineto
+      144 240 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      144 283 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 192 176 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 192 176 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      192 184 moveto (b) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      96 176 moveto
+      144 112 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      96 176 moveto
+      72 224 lineto
+      120 224 lineto
+      96 176 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      96 219 moveto (A) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 144 112 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 144 112 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      144 120 moveto (a) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      576 176 moveto
+      624 240 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      624 240 moveto
+      600 288 lineto
+      648 288 lineto
+      624 240 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      624 283 moveto (G) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 576 176 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 576 176 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      576 184 moveto (g) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      624 112 moveto
+      672 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      672 176 moveto
+      648 224 lineto
+      696 224 lineto
+      672 176 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      672 219 moveto (F) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 624 112 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 624 112 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      624 120 moveto (f) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 384 48 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 384 48 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      384 56 moveto (z) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1120 48 moveto
+      1360 112 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1120 48 moveto
+      880 112 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1120 176 moveto
+      1360 112 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1360 240 moveto
+      1408 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      992 240 moveto
+      1040 304 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1296 304 moveto
+      1344 368 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1120 304 moveto
+      1248 240 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1120 432 moveto
+      1168 368 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1168 368 moveto
+      1216 432 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1120 304 moveto
+      1168 368 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1120 432 moveto
+      1096 480 lineto
+      1144 480 lineto
+      1120 432 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1120 475 moveto (K) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1216 432 moveto
+      1192 480 lineto
+      1240 480 lineto
+      1216 432 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1216 475 moveto (J) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1248 368 moveto
+      1224 416 lineto
+      1272 416 lineto
+      1248 368 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1248 411 moveto (I) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1168 368 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1168 368 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1168 376 moveto (j) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1248 240 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1248 240 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1248 248 moveto (i) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1344 368 moveto
+      1320 416 lineto
+      1368 416 lineto
+      1344 368 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1344 411 moveto (H) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1296 304 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1296 304 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1296 312 moveto (h) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1072 368 moveto
+      1120 304 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      992 240 moveto
+      1120 176 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      944 304 moveto
+      920 352 lineto
+      968 352 lineto
+      944 304 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      944 347 moveto (C) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1040 304 moveto
+      1016 352 lineto
+      1064 352 lineto
+      1040 304 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1040 347 moveto (D) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1072 368 moveto
+      1048 416 lineto
+      1096 416 lineto
+      1072 368 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1072 411 moveto (E) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 992 240 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 992 240 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      992 248 moveto (c) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1120 176 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1120 176 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1120 184 moveto (d) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1120 304 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1120 304 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1120 312 moveto (e) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      928 176 moveto
+      904 224 lineto
+      952 224 lineto
+      928 176 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      928 219 moveto (B) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1120 48 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1120 48 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1120 56 moveto (b) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      832 176 moveto
+      880 112 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      832 176 moveto
+      808 224 lineto
+      856 224 lineto
+      832 176 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      832 219 moveto (A) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 880 112 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 880 112 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      880 120 moveto (a) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1408 176 moveto
+      1456 240 lineto
+   stroke
+grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1360 240 moveto
+      1336 288 lineto
+      1384 288 lineto
+      1360 240 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1360 283 moveto (G) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1360 112 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1360 112 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1360 120 moveto (g) tgifcentertext show
+   grestore
+
+% POLY/OPEN-SPLINE
+0 setgray
+gsave
+   newpath
+      1456 240 moveto
+      1432 288 lineto
+      1480 288 lineto
+      1456 240 lineto
+   stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1456 283 moveto (F) tgifcentertext show
+   grestore
+
+% OVAL
+0 setgray
+newpath 1408 176 16 16 tgifellipse
+closepath 1 setgray fill
+0 setgray
+gsave
+   newpath 1408 176 16 16 tgifellipse stroke
+grestore
+
+% TEXT
+0 setgray
+/Helvetica findfont [24 0 0 -24 0 0] makefont setfont
+   gsave
+      1408 184 moveto (f) tgifcentertext show
+   grestore
+
+% BOX
+0 setgray
+gsave
+   1.415 setmiterlimit
+   newpath
+      72 24 moveto 1488 24 lineto 1488 488 lineto 72 488 lineto
+   closepath 1 setgray stroke 0 setgray
+   1 setmiterlimit
+grestore
+
+grestore
+tgifsavedpage restore
+end
+%MatchingCreationDate: Sun May  9 15:26:16 1999
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/jssst.bst	Sat Aug 06 23:17:49 2011 +0900
@@ -0,0 +1,1276 @@
+% jssst.bst tomura@etl.go.jp (Satoru Tomura)
+% BibTeX standard bibliography style `jplain'
+	% version 0.10 for JBibTeX versions 0.10 or later, JLaTeX version 2.09.
+	% by Shouichi Matsui, matsui@denken.junet
+
+ENTRY
+  { address
+    author
+    booktitle
+    chapter
+    edition
+    editor
+    howpublished
+    institution
+    journal
+    key
+    month
+    note
+    number
+    organization
+    pages
+    publisher
+    school
+    series
+    title
+    type
+    volume
+    year
+    yomi
+  }
+  {}
+  { label }
+
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+  #1 'mid.sentence :=
+  #2 'after.sentence :=
+  #3 'after.block :=
+}
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+  output.state mid.sentence =
+    { ", " * write$ }
+    { output.state after.block =
+	{ add.period$ write$
+	  newline$
+	  "\newblock " write$
+	}
+	{ output.state before.all =
+	    'write$
+	    { add.period$ " " * write$ }
+	  if$
+	}
+      if$
+      mid.sentence 'output.state :=
+    }
+  if$
+  s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+    'pop$
+    'output.nonnull
+  if$
+}
+
+FUNCTION {required.argument}
+{ 't :=
+  empty$
+    {"Missing required argument " t * " in " * cite$ * warning$}
+    'skip$
+  if$
+}
+
+FUNCTION {required.exclusive.or.argument}
+{ 't :=
+  empty$
+    { 's := 
+      empty$
+        { t " or " * s * " is missing in " * cite$ * warning$}
+        'skip$
+      if$
+    }
+    { 's :=
+      empty$
+        'skip$
+        { "You can use only one of " t * " and " * s * " in " * cite$ * warning$}
+      if$
+    }
+  if$
+}
+
+FUNCTION {required.and.or.argument}
+{ 't := empty$
+     { 's := empty$
+         { "there's no " t * " and/or " * s * cite$ * warning$ }
+         'skip$
+       if$
+     }
+     { pop$ pop$ }
+  if$
+}
+
+FUNCTION {optional.series.volume.number.argument}
+{ series empty$
+    { volume empty$
+        { number empty$
+            'skip$
+            { "there's a number but no series in " cite$ * warning$ }
+          if$
+        }
+        { number empty$
+            { "there's a volume but no series in " cite$ * warning$ }
+            { "you can use only one of volume and number in " cite$ * warning$}
+          if$
+        }
+     if$
+    }
+    { volume empty$
+        { number empty$
+            { "there's a series but neither volume nor number in " cite$ * warning$ }
+            'skip$
+          if$
+        }
+        { number empty$
+            'skip$
+            { "you can use only one of volume and number in " cite$ * warning$ }
+          if$
+        }
+     if$
+   }
+   if$
+}            
+
+FUNCTION {output.bibitem}
+{ newline$
+  "\bibitem{" write$
+  cite$ write$
+  "}" write$
+  newline$
+  before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+  write$
+  newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+    'skip$
+    { after.block 'output.state := }
+  if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+    'skip$
+    { output.state before.all =
+	'skip$
+	{ after.sentence 'output.state := }
+      if$
+    }
+  if$
+}
+
+FUNCTION {not}
+{   { #0 }
+    { #1 }
+  if$
+}
+
+FUNCTION {and}
+{   'skip$
+    { pop$ #0 }
+  if$
+}
+
+FUNCTION {or}
+{   { pop$ #1 }
+    'skip$
+  if$
+}
+
+FUNCTION {new.block.checka}
+{ empty$
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {new.block.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
+}
+
+FUNCTION {new.sentence.checka}
+{ empty$
+    'skip$
+    'new.sentence
+  if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.sentence
+  if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+    { pop$ "" }
+    { "{\it " swap$ * "}" * }
+  if$
+}
+
+FUNCTION {is.kanji}
+%%%{ #1 text.prefix$ chr.to.int$ #127 > }
+%%%{ #1 #1 substring$ chr.to.int$ #127 > }
+{ purify$ #1 text.prefix$ chr.to.int$ #127 >}
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr
+        s nameptr "{ll}" format.name$ is.kanji
+           { "{ff}{vv}{ll}" }
+           { "{vv~}{ll}{, jj}{, f.}" }
+        if$
+      format.name$ 't :=
+      nameptr #1 >
+	{ namesleft #1 >
+	    { ", " * t * }
+	    { numnames #2 >
+		{ "," * }
+		'skip$
+	      if$
+	      numnames #3 <
+		{ t is.kanji
+		    {"," * "" *} 'skip$ if$
+		}
+		'skip$
+    	      if$
+	      t "others" =
+		{ s is.kanji
+			{"$B$[$+(B" * }
+			{" et~al." * }
+		      if$
+                }
+		{ s is.kanji
+			{" " * t * }
+			{" and " * t * }
+	     	      if$
+		}
+	      if$
+	    }
+	  if$
+	}
+	't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+    { "" }
+    { author format.names }
+  if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+    { "" }
+    { editor format.names
+      editor num.names$ #1 >
+	{ editor is.kanji
+		{"($BJT(B)" * } %%{", editors" * } if$
+                            {"(eds.)" *} if$
+	}
+	{ editor is.kanji
+		{"($BJT(B)" *}  %%{", editor" * } if$
+                            {"(ed.)" *} if$
+	}
+      if$
+    }
+  if$
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+	{ t #1 #2 substring$ "--" = not
+	    { "--" *
+	      t #2 global.max$ substring$ 't :=
+	    }
+	    {   { t #1 #1 substring$ "-" = }
+		{ "-" *
+		  t #2 global.max$ substring$ 't :=
+		}
+	      while$
+	    }
+	  if$
+	}
+	{ t #1 #1 substring$ *
+	  t #2 global.max$ substring$ 't :=
+	}
+      if$
+    }
+  while$
+}
+
+FUNCTION {format.date}
+{ year empty$
+    { month empty$
+	{ "" }
+	{ "there's a month but no year in " cite$ * warning$
+	  month
+	}
+      if$
+    }
+    { month empty$
+	'year
+	{ month " " * year * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+    { "~" }
+    { " " }
+  if$
+  swap$ * *
+}
+
+FUNCTION {output.volume}
+{ 
+  volume empty$
+    'skip$
+    { "Vol.~" volume * output}
+  if$
+
+}
+
+FUNCTION {output.number}
+{
+  number empty$
+    'skip$
+    { "No.~" number * output}
+  if$
+}
+
+FUNCTION {output.series.volume.number}
+{ series empty$
+    { output.volume
+      output.number }
+    { series is.kanji
+      volume empty$
+      number empty$
+      or
+      and
+        { series " " * volume * number * output}
+        { series output
+          output.volume
+          output.number}
+      if$
+   }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition empty$
+    { "" }
+    { output.state mid.sentence =
+	{ edition "l" change.case$ " edition" * }
+	{ edition "t" change.case$ " edition" * }
+      if$
+    }
+  if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and
+    }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+	{ #1 'multiresult := }
+	{ t #2 global.max$ substring$ 't := }
+      if$
+    }
+  while$
+  multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+    { "" }
+    { pages multi.page.check
+	{ "pp.~" pages n.dashify tie.or.space.connect }
+	{ "pp.~" pages tie.or.space.connect }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.volume.number.year.pages}
+{ volume empty$
+    { number empty$
+        { year empty$
+             { "" }
+             { "(" year * ")" * }
+          if$}
+        { year empty$
+             { "No.~" number * }
+             { "No.~" number * "(" * year * ")" * }
+         if$}
+      if$}
+    { number empty$
+        { year empty$
+             { "Vol.~" volume * }
+             { "Vol.~" volume * "(" * year * ")" * }
+          if$}
+        { year empty$
+             {"Vol.~" volume * ", " * "No.~" * number * }
+             {"Vol.~" volume * ", " * "No.~" * number * "(" * year * ")" * }
+         if$}
+      if$}
+   if$
+  pages empty$
+    'skip$
+    { duplicate$ empty$
+	{ pop$ format.pages }
+	{ "," * " pp.~" * pages n.dashify * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+    'format.pages
+    { type empty$
+	{ "chapter" chapter tie.or.space.connect }
+        { type is.kanji 
+             { chapter type tie.or.space.connect }
+             { type "l" change.case$ chapter tie.or.space.connect }
+          if$
+        }
+      if$
+      pages empty$
+	'skip$
+	{ ", " * format.pages * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ booktitle empty$
+    { "" }
+    { editor empty$
+	{ booktitle is.kanji
+	    { " " booktitle emphasize * }
+	    { " " booktitle emphasize * }
+	  if$
+	}
+	{ booktitle is.kanji
+	    { booktitle emphasize ", " * format.editors * "" *}
+	    { booktitle emphasize ", " * format.editors * "" *}
+	  if$
+	}
+      if$
+    }
+  if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+  month empty$ year empty$ note empty$
+  and and and and and
+  key empty$ not and
+    { "all relevant fields are empty in " cite$ * warning$ }
+    'skip$
+  if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+    'skip$
+    { pop$
+      type "t" change.case$
+    }
+  if$
+}
+
+FUNCTION {format.tr.number}
+{ type empty$
+    { title empty$
+        { "Technical Report" }
+        { title is.kanji
+            { "$B5;=QJs9p(B" }
+            { "Technical Report" }
+          if$
+        }
+      if$
+    }
+    {type}
+  if$
+  number empty$
+    { "t" change.case$ }
+    { number tie.or.space.connect }
+  if$
+}
+
+FUNCTION {format.article.crossref}
+{ key empty$
+    { journal empty$
+	{ "need key or journal for " cite$ * " to crossref " * crossref *
+	  warning$
+	  ""
+	}
+	{ "In {\it " journal * "\/}" * }
+      if$
+    }
+    { "In " key * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+  editor num.names$ duplicate$
+  #2 >
+    { editor is.kanji
+	  {pop$ " $B$[$+(B" *} {pop$ " et~al." * } if$
+    }
+    { #2 <
+	'skip$
+	{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+	    { editor is.kanji
+		{" $B$[$+(B" *} {"et~al." * } if$
+	    }
+	    { editor is.kanji
+		{" " * editor #2 "{vv~}{ll}" format.name$ * }
+		{" and " * editor #2 "{vv~}{ll}" format.name$ * }
+	      if$
+	    }
+	  if$
+	}
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.book.crossref}
+{ volume empty$
+    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+      title is.kanji
+	{"  "} {"In "} if$
+    }
+    { "Volume" volume tie.or.space.connect
+      " of " *
+    }
+  if$
+  editor empty$
+  editor field.or.null author field.or.null =
+  or
+    { key empty$
+	{ series empty$
+	    { "need editor, key, or series for " cite$ * " to crossref " *
+	      crossref * warning$
+	      "" *
+	    }
+	    { "{\it " * series * "\/}" * }
+	  if$
+	}
+	{ key * }
+      if$
+    }
+    { format.crossref.editor * }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ editor empty$
+  editor field.or.null author field.or.null =
+  or
+    { key empty$
+	{ booktitle empty$
+	    { "need editor, key, or booktitle for " cite$ * " to crossref " *
+	      crossref * warning$
+	      ""
+	    }
+	    { booktitle is.kanji
+		{" {\it " booktitle * "\/}" * }
+		{"In {\it " booktitle * "\/}" * }
+	       if$
+	    }
+	  if$
+	}
+	{ "In " key * }
+      if$
+    }
+    { title is.kanji
+	{" " format.crossref.editor * }
+	{"In " format.crossref.editor * }
+      if$
+    }
+  if$
+  " \cite{" * crossref * "}" *
+}
+
+FUNCTION {article}
+{ 
+%%%%
+  author  "author"  required.argument
+  title   "title"   required.argument
+  journal "journal" required.argument
+  year    "year"    required.argument
+%%%% jssst
+  volume  "volume"  
+  number  "number"  
+     required.and.or.argument
+  pages   "pages"   required.argument
+%%%%
+  output.bibitem 
+  format.authors ": " *
+  title output
+  crossref missing$
+    { journal emphasize output
+      format.volume.number.year.pages output
+    }
+    { format.article.crossref output.nonnull
+      format.pages output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {book}
+{ 
+%%%%
+  author  "author"
+  editor  "editor"
+    required.exclusive.or.argument
+  title   "title"  required.argument
+  publisher "publisher" required.argument
+  year    "year" required.argument
+  optional.series.volume.number.argument
+%%%%
+  output.bibitem
+  author empty$
+    { format.editors}
+    { format.authors}
+  if$
+  ": " *
+  title emphasize output
+  crossref missing$
+    { output.series.volume.number
+      publisher output
+      address output
+    }
+    { new.block
+      format.book.crossref output.nonnull
+    }
+  if$
+  format.edition output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {booklet}
+{
+%%%%
+  title   "title"   required.argument
+%%%% jssst
+  author  "author"  required.argument
+%%%%
+  output.bibitem
+  format.authors  ": " *
+  title output
+  howpublished output
+  address output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {inbook}
+{ 
+%%%%
+  author  "author"
+  editor  "editor"
+     required.exclusive.or.argument
+  title   "title"  required.argument
+  chapter "chapter"
+  pages   "pages"
+     required.and.or.argument
+  publisher  "publisher" required.argument
+  year       "year"      required.argument
+
+  optional.series.volume.number.argument
+%%%%
+  output.bibitem 
+  author empty$
+    { format.editors}
+    { format.authors}
+  if$
+  ": " *
+  title emphasize output
+  crossref missing$
+    { output.series.volume.number
+      publisher output
+    }
+    { format.chapter.pages output
+      new.block
+      format.book.crossref output.nonnull
+    }
+  if$
+  format.edition output
+  format.date output
+  format.chapter.pages output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {incollection}
+{
+%%%%
+  author    "author"    required.argument
+  title     "title"     required.argument
+  booktitle "booktitle" required.argument
+  publisher "publisher" required.argument
+  year      "year"      required.argument
+
+  optional.series.volume.number.argument
+%%%%
+  output.bibitem
+  format.authors ": " *
+  title output
+  crossref missing$
+    { format.in.ed.booktitle output
+      output.series.volume.number
+      publisher output
+      address output
+      format.edition output
+      format.date output
+    }
+    { format.incoll.inproc.crossref output.nonnull
+      format.chapter.pages output
+    }
+  if$
+  format.chapter.pages output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {inproceedings}
+{
+%%%%
+  author    "author"    required.argument
+  title     "title"     required.argument
+  booktitle "booktitle" required.argument
+  year      "year"      required.argument
+
+  optional.series.volume.number.argument
+%%%%
+  output.bibitem 
+  format.authors ": " *
+  title output
+  crossref missing$
+    { format.in.ed.booktitle output
+      output.series.volume.number
+      address output
+      organization output
+      publisher output
+      format.date output
+      format.pages output
+    }
+    { format.incoll.inproc.crossref output.nonnull
+      format.pages output
+    }
+  if$
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {manual}
+{	
+%%%%
+  title   "title"    required.argument
+%%%% jssst
+  author   "author"
+  organization "organazaion"
+     required.exclusive.or.argument
+%%%%
+  output.bibitem
+  author empty$
+    { organization}
+    { format.authors}
+  if$
+  ": " *
+  title emphasize output
+  author empty$
+    'skip$
+    { organization output }
+  if$
+  address output
+  format.edition output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {mastersthesis}
+{
+%%%%
+  author   "author"  required.argument
+  title    "title"   required.argument
+  school   "school"  required.argument
+  year     "year"    required.argument
+%%%%
+  output.bibitem
+  format.authors ": " *
+  title output
+  author empty$
+    { "Master's thesis" }
+    { author is.kanji
+        { "$B=$;NO@J8(B" }  
+        { "Master's thesis" }
+      if$
+    }
+  if$
+  format.thesis.type output.nonnull
+  school output
+  address output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {misc}
+{
+%%%%
+%%%% jssst
+  author "author" required.argument
+  title  "title"  required.argument
+%%%%
+  output.bibitem
+  format.authors 
+  ": " *
+  title output
+  howpublished output
+  format.date output
+  new.block
+  note output
+  fin.entry
+  empty.misc.check
+}
+
+FUNCTION {phdthesis}
+{
+%%%%
+  author   "author"  required.argument
+  title    "title"   required.argument
+  school   "school"  required.argument
+  year     "year"    required.argument
+%%%%
+  output.bibitem 
+  format.authors ": " *
+  title emphasize output
+  author empty$
+    { "PhD Thesis" }
+    { author is.kanji
+        { "$BGn;NO@J8(B" }
+        { "PhD Thesis" }
+      if$
+    }
+  if$
+  format.thesis.type output.nonnull
+  school output
+  address output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {proceedings}
+{
+%%%%
+  title  "title"  required.argument
+  year   "year"   required.argument
+
+  optional.series.volume.number.argument
+%%%% jssst
+  editor  "editor"
+  organization "organization"
+      required.exclusive.or.argument 
+%%%%
+  output.bibitem 
+  editor empty$
+    { organization }
+    { format.editors }
+  if$
+  ": " *
+  title emphasize output
+  output.series.volume.number
+  address output
+  editor empty$
+    'skip$
+    { organization output }
+  if$
+  publisher output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {techreport}
+{
+%%%%
+  author   "author"   required.argument
+  title    "title"    required.argument
+  institution "institution" required.argument
+  year     "year"     required.argument
+%%%%
+  output.bibitem
+  format.authors  ": " *
+  title output
+  format.tr.number output.nonnull
+  institution output
+  address output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {unpublished}
+{
+%%%%
+  author   "author"   required.argument
+  title    "title"    required.argument
+  note     "note"     required.argument
+%%%%
+  output.bibitem
+  format.authors ": " *
+  title output
+  format.date output
+  new.block
+  note output
+  fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+READ
+
+FUNCTION {sortify}
+{ purify$
+  "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+  'len :=
+  s #1 len substring$ =
+    { s len #1 + global.max$ substring$ }
+    's
+  if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+  yomi empty$
+     'skip$
+     { yomi 's := }
+  if$
+
+  #1 'nameptr :=
+  ""
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { nameptr #1 >
+	{ "   " * }
+	'skip$
+      if$
+      s nameptr "{vv{ } }{ll{ }}{  ff{ }}{  jj{ }}" format.name$ 't :=
+      nameptr numnames = t "others" = and
+	{ "et al" * }
+	{ t sortify * }
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+  "A " #2
+    "An " #3
+      "The " #4 t chop.word
+    chop.word
+  chop.word
+  sortify
+  #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+    { key empty$
+	{ "to sort, need author or key in " cite$ * warning$
+	  ""
+	}
+	{ key sortify }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+    { editor empty$
+	{ key empty$
+	    { "to sort, need author, editor, or key in " cite$ * warning$
+	      ""
+	    }
+	    { key sortify }
+	  if$
+	}
+	{ editor sort.format.names }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+    { organization empty$
+	{ key empty$
+	    { "to sort, need author, organization, or key in " cite$ * warning$
+	      ""
+	    }
+	    { key sortify }
+	  if$
+	}
+	{ "The " #4 organization chop.word sortify }
+      if$
+    }
+    { author sort.format.names }
+  if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+    { organization empty$
+	{ key empty$
+	    { "to sort, need editor, organization, or key in " cite$ * warning$
+	      ""
+	    }
+	    { key sortify }
+	  if$
+	}
+	{ "The " #4 organization chop.word sortify }
+      if$
+    }
+    { editor sort.format.names }
+  if$
+}
+
+FUNCTION {presort}
+{ type$ "book" =
+  type$ "inbook" =
+  or
+    'author.editor.sort
+    { type$ "proceedings" =
+	'editor.organization.sort
+	{ type$ "manual" =
+	    'author.organization.sort
+	    'author.sort
+	  if$
+	}
+      if$
+    }
+  if$
+  "    "
+  *
+  year field.or.null sortify
+  *
+  "    "
+  *
+  title field.or.null
+  sort.format.title
+  *
+  #1 entry.max$ substring$
+  'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+STRINGS { longest.label }
+
+INTEGERS { number.label longest.label.width }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+  #1 'number.label :=
+  #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+  number.label #1 + 'number.label :=
+  label width$ longest.label.width >
+    { label 'longest.label :=
+      label width$ 'longest.label.width :=
+    }
+    'skip$
+  if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  "\begin{thebibliography}{"  longest.label  * "}" * write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+  "\end{thebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/sample.tex	Sat Aug 06 23:17:49 2011 +0900
@@ -0,0 +1,544 @@
+% Sample file for the use of compsoft style file.
+%
+\documentclass{compsoft}
+% \documentclass[L]{compsoft}
+% \documentclass[S]{compsoft}
+% \documentclass[S,L]{compsoft}
+% \documentclass[K]{compsoft}
+% \documentclass[K,L]{compsoft}
+% \documentclass[U]{compsoft}
+% \documentclass[U,L]{compsoft}
+
+% Preamble
+%
+% $B!V%3%s%T%e!<%?%=%U%H%&%'%"!W;o$K7G:\$5$l$kO@J8$N>l9g!$<!$G(B
+% $B4,?t!$9f?t!$3+;O%Z!<%8!$=*N;%Z!<%8$r;XDj$9$k!%(B
+\volNoPp{16}{5}{78}{83}
+
+% $B%o!<%/%7%g%C%W$K$h$k?dA&O@J8$N>l9g!$%o!<%/%7%g%C%WL>$r;XDj$9$k!%(B
+% \suisen{$B%o!<%/%7%g%C%WL>(B}
+
+% $BFC=8$N>l9g!$FC=8$N%?%$%H%k$rM?$($k!%(B
+% \tokushu{$BFC=8$N%?%$%H%k(B}
+
+% $BBg2qO@J8$N>l9g!$(B\taikai $B$G3+:EG/$r;XDj$9$k!%$3$3$G;XDj$7$?G/$+$i(B
+% $BBg2q$N2s?t$O7W;;$5$l$k!%(B
+% \taikai{2009}
+
+% $B$3$3$K!$;HMQ$9$k%Q%C%1!<%8$rNs5s$9$k!%(B
+\usepackage[dvips]{graphics}
+
+% $B%f!<%6$,Dj5A$7$?%^%/%m$J$I$O$3$3$KCV$/!%$?$@$73X2q;o$N%9%?%$%k$N(B
+% $B:FDj5A$O86B'$H$7$FHr$1$k$3$H!%(B
+
+\begin{document}
+
+% $BO@J8$N%?%$%H%k(B
+\title{$B<+8JD4@0FsJ,LZ$NJBNsA`:n(B}
+
+% $BCx<T(B
+% $BOBJ8O@J8$N>l9g!$@+$HL>$N4V$K$OH>3Q%9%Z!<%9$rF~$l!$(B
+% $BJ#?t$NCx<T$N4V$OA43Q%9%Z!<%9$G6h@Z$k(B
+%
+\author{$B>eED(B $BOB5*(B
+%
+% $B$3$3$K%?%$%H%k1QLu(B ($B1QJ8$N>l9g$OOBLu(B) $B$r=q$/!%(B
+%
+\ejtitle{Concurrent Operations on Splay Trees.}
+%
+% $B$3$3$KCx<T1QJ8I=5-(B ($B1QJ8$N>l9g$OOBJ8I=5-(B) $B$*$h$S(B
+% $B=jB0(B ($BOBJ8$*$h$S1QJ8(B) $B$r=q$/!%(B
+% $BJ#?tCx<T$N=jB0$O$^$H$a$F$h$$!%(B
+%
+\shozoku{Kazunori Ueda}{$BAa0pEDBg3XM}9)3XIt>pJs3X2J(B}%
+{Dept.\ of Information and Computer Science, Waseda University}
+%
+% $B=PE5>pJs$O(B \shutten $B$H$9$l$P=PNO$5$l$k!%(B
+\shutten
+%
+% $B<uIUG/7nF|!$5-;v%+%F%4%j$J$I$O<+F0E*$K@8@.$5$l$k!%(B
+\uketsuke{1999}{8}{3}
+%
+% $B$=$NB>!$5SCm$KF~$l$k$b$N$,$"$l$P!$(B\note $B$K5-=R$9$k!%(B
+%\note{$B5SCm$KF~$l$kFbMF(B}
+}
+
+%
+% $BOBJ8%"%V%9%H%i%/%H(B
+\Jabstract{%
+Sleator$B$H(BTarjan$B$K$h$k<+8JD4@0FsJ,LZ(B(splay tree)$B$KBP$7$FJB(B
+$BNsA`:n$r2DG=$K$9$kA`:n%"%k%4%j%:%`$rDs0F$9$k!%Ds0F$9$k%"%k(B
+$B%4%j%:%`$O!$F10l$NLZ$KBP$9$kJ#?t$N99?7!&A^F~!&:o=|A`:n$N%Q%$%W%i%$%sE*JB(B
+$BNs<B9T$r5v$7!$$+$DA`:n7ONs$N%9%k!<%W%C%H(B($BC10L;~4VFb$K=hM}2DG=$J(B
+$BA`:n$N8D?t(B)$B$H%l%9%]%s%9(B($B8D!9$NA`:n$N=~5Q7W;;NL(B
+(amortized complexity))$B$rN>N)$5$;$k$3$H$rL\E*$H$7$F$$$k!%(B
+$B%9%k!<%W%C%H$N:GE,@-$HA^F~A`:n$NBP?tE*%l%9%]%s%9$K$D$$$F$O(B
+$BM}O@E*7k2L$r<($9!%:o=|A`:n$O!$LZ$N7A>u$K4X$9$kNI$$@-<A$rJ]$D(B
+$B$K$b$+$+$o$i$:!$(BSleator$B$i$NOHAH$_$G$O:GE,@-$,>ZL@$G$-$J$$!%(B
+$B$3$N$3$H$K$D$$$F$bO@$8$k!%(B}
+%
+% $B1QJ8%"%V%9%H%i%/%H!JK\%5%s%W%k$N86O@J8$K$O$J$7!K(B
+\Eabstract{
+We propose a family of algorithms for concurrent operations on
+self-adjusting binary trees (splay trees) proposed by Sleator and
+Tarjan.  The goal of the algorithms is to allow pipelined execution of
+multiple update/insert/delete operations while retaining good bounds
+both in throughput (number of operations per unit time)
+and in latency (amortized time complexity of each operation).  We show
+theoretical results on the optimality of throughput of all operations
+and the logarithmic latency of insert operations.  The optimality of
+latency of delete operations, on the other hand, cannot be proved using
+Sleator \textit{et al.}'s setting, while the operations preserve desirable
+properies of the shapes of trees.}
+%
+\maketitle
+
+\section{$B$O$8$a$K(B}
+
+$B<+8JD4@0FsJ,LZ(B($B%9%W%l!<LZ(B, splay tree) \cite{ST85}$B$O!$%"%/%;%9$7$?@a(B
+$BE@$KBP$7$FY(J?2=(B(splaying)$BA`:n(B(\ref{subsection:splaying}$B@a(B)
+$B$r;\$9$3$H$K$h$j!$LZ$N7A>u$rF0E*$K:GE,2=$9(B
+$B$kFsJ,C5:wLZ$NAm>N$G$"$j!$(B
+%
+% $B$5$^$6$^$J%"%/(B
+% $B%;%9%Q%?!<%s$KBP$7$FLZ$N7A>u$,F0E*$K:GE,2=$7$F$f$/FsJ,LZ$G$"$j!$(B
+%
+$BB?$/$N6/NO$J@-<A$,@.$jN)$D$3$H$,$o$+$C$F$$$k!%K\O@J8$G$O!$(B
+$BF10l$N%9%W%l!<LZ$KBP$9$kJ#?t$NA^F~:o=|Ey$NA`:n(B
+$B$N%Q%$%W%i%$%sE*JBNs<B9T$r2DG=$K$9$kJ}K!$r8!F$$9$k!%L\I8$O!$2<5-$NMW@A$rK~$?$9(B
+$BA`:n%"%k%4%j%:%`$rF@$k$3$H$G$"$k!%(B
+%
+\begin{enumerate}
+\item ({\bf $B%l%9%]%s%9(B}) $BDL>o$N%9%W%l!<LZ$NA`:n$HF1MM!$(B
+$BBP?tE*$J=~5Q7W;;NL(B(amortized complexity)\cite{T85}$B$r$b$D!%(B
+
+\item ({\bf $B%9%k!<%W%C%H(B}) $BA`:n8e$NLZ$N7A>u$,!$:,$K6a$$ItJ,$+(B
+$B$iMU$K8~$+$C$F(B
+$BA2A}E*$K3NDj$9$k$h$&$K$9$k$3$H$G!$8D!9$NA`:n$,F1;~$K;\>{$7$J$1$l$P$J(B
+$B$i$J$$@aE@$N?t$r9b!9(B${\rm O}(1)$$B8D$K$*$5$($k!%(B
+\end{enumerate}
+%
+$B$b$7%9%k!<%W%C%H$@$1$,L\I8$J$i$P!$FsJ,LZ$rMQ$$$J$/$F$b!$(B
+$B@~7A%j%9%H$rMQ$$$FMF(B
+$B0W$KC#@.$G$-$k!%$7$?$,$C$F!$%l%9%]%s%9$H%9%k!<%W%C%H(B
+$B$rF1;~$KC#@.$9$k$3$H$,K\<AE*$K=EMW$G$"$k!%(B
+%
+B$BLZ$d$=$NJQ<o$KBP$9$kJBNsA`:n$N8&5f$O>/$J$/$J$$(B\cite{LS86}$B$,!$%9%W(B
+$B%l!<LZ$NJBNs@-$K4X$9$k8&5f$O>/$J$/!$Cx<T$NCN$k8B$j!$>e5-$NFs>r7o$rK~$?$9(B
+$BJBNs%"%k%4%j%:%`$O$^$@Ds0F$5$l$F$$$J$$!%(B
+
+$BK\O@J8$G$O!$FsJ,C5:wLZ$N3F@aE@$O%-!<$HCM$NBP$rJ];}$9$k$b$N$H$7!$@aE@$O(B
+$B%-!<$NBP>N=g(B(symmetric order)$B$KJB$s$G$$$k$H$9$k!%4pK\A`:n$H$7$F!$(B
+$B<!$NFs$D$r9M$($k!%C1$J$k@aE@CM$NFI=P$7$O(B${\it update\/}$$B$NC1=c$JJQ(B
+$B<o$H9M$($k$3$H$,$G$-$k!%(B
+
+\begin{description}
+\item{${\it update}(i,v,v',t)$:} $B%-!<(B$i$$B$r$b$D@aE@$,LZ(B$t$$B$NCf$K$"$l$P!$$=(B
+$B$N@aE@$N8=:_$NCM$r(B$v$$B$KBeF~$7$?$"$H!$@aE@$K?7$?$JCM(B$v'$$B$r3JG<$9$k!%(B
+$B$J$1$l$P!$%-!<(B$i$$B$HCM(B$v'$$B$r$b$D@aE@$r(B$t$$B$KA^F~$7!$(B$v$$B$K$O@aE@$,$J$+$C$?(B
+$B$3$H$r<($9FCJL$NCM$rBeF~$9$k!%(B
+
+\item{${\it delete}(i,v,t)$:} $B%-!<(B$i$$B$r$b$D@aE@$,LZ(B$t$$B$NCf$K$"$l$P!$$=$N@a(B
+$BE@$N8=:_$NCM$r(B$v$$B$KBeF~$7$?$"$H!$@aE@$r>C5n$9$k!%$J$1$l$P(B$v$$B$KFCJL$N(B
+$BCM$rBeF~$9$k!%(B
+\end{description}
+
+
+\section{$B4XO"8&5f(B}
+
+\subsection{$BY(J?2=$H%H%C%W%@%&%sY(J?2=(B}\label{subsection:splaying}
+
+$B%9%W%l!<LZ$K$*$1$kY(J?2=$H$O!$@aE@$NC5:wA`:n$K$*$$$F(B
+$B%"%/%;%9$7$?%Q%9$ND9$5$r$*$h$=H>J,$K$7$D$D!$L\I8(B
+$B@aE@(B(${\it delete\/}$$B$K$*$$$F$O!$L\I8@aE@$ND>A0$^$?$OD>8e$N%-!<$r$b$D@aE@(B)
+$B$rLZ$N:,$^$GIb>e$5$;$kA`:n$G$"$k!%Y(J?2=$O;^$N2sE>(B(rotation)$B$r4pK\A`(B
+$B:n$H$7$F$*$j!$?^(B\ref{figure:splaying}$B$K<($9(B
+zig, zig-zig, zig-zag$B$N$&$A$NE,@Z$JA`:n$r%\(B
+$B%H%`%"%C%W$K7+$jJV$9!%0J2<K\O@J8$G$O!$:81&BP>N$JA`:n72$O$=$NJRJ}$N$_$r<((B
+$B$9!%$^$??^Cf$N>.J8;z$O@aE@!$BgJ8;z$OItJ,LZ$r<($9!%(B
+%
+${\it update}$, ${\it delete\/}$$BEy$N8DJL$N(B
+$BA`:n%"%k%4%j%:%`$K$D$$$F$OB?$/$NJQ<o$,$"$k!%Y(J?2=$NBg$-$JFCD'$O!$%"%/%;(B
+$B%9$7$?%Q%9>e$N3F@aE@$N?<$5$rLsH>J,$K$9$k0lJ}$G!$%"%/(B
+$B%;%9$7$?%Q%9$N>e$K$J$$@aE@$r!$9b!9(B${\rm O}(1)$$BCJ$7$+?<$/$7$J$$$3$H(B
+$B$G$"$k!%(B
+
+\begin{figure}[tb]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig1.eps}}
+\end{center}
+\caption{
+$B%\%H%`%"%C%WY(J?2=A`:n$N(B1$B%9%F%C%W!%(B % \cite{ST85}
+$x$ $B$,%"%/%;%9$7$?@aE@!%(B(a) zig: 1$B2s$N1&2sE>(B($y$$B$,:,$N>l9g(B
+$B$N$_(B)$B!$(B
+(b) zig-zig: $B;^(B$yz$$B$H;^(B$xy$$B$r$3$N=g$K1&2sE>!$(B(c) zig-zag: $B;^(B$xy$
+$B$r:82sE>$7!$$G$-$?;^(B$xz$$B$r1&2sE>!%(B}
+\label{figure:splaying}
+\end{figure}
+
+$BY(J?2=$O%\%H%`%"%C%W$JJQ7AA`:n$G$"$k$?$a!$JBNsA`:n$K$OE,$5$J$$!%(B
+$BJ88%(B\Cite{ST85}$B$O%H%C%W%@%&%sY(J?2=$bDs0F$7$F$$$k$,!$$3$l$O<BAu$N(B
+$BMF0W2=$,<g$JL\E*$G$"$j!$LZ$N:,$OA`:n=*N;$ND>A0$^$G3NDj$7$J$$!%(B
+
+
+\subsection{$BJBNsA`:n$K4X$9$k2a5n$N8&5f(B}\label{subsection:related-parallel}
+
+$BOBED(B\cite{W90}$B$O!$JB9TO@M}7?8@8l(B\cite{S89}$B$NO@M}JQ?t$rMQ$$$?Y((B
+$BJ?2=%"%k%4%j%:%`$rDs0F$7$F$$$k!%$3$l$O!$O@M}JQ?t$rMxMQ$7$F!$(B
+$B%H%C%W%@%&%sY(J?2=$r(Bin-place$B$G9T$J$&$h$&$K$7$?$b$N$H8+$J$9$3$H$b$G$-$k(B
+$B$,!$(B${\it update\/}$$B$N$h$&$K!$BP>]$H$J$k@aE@$,A`:n=*N;8e$NLZ$KB8:_$9$k$3(B
+$B$H$,$o$+$C$F$$$k>l9g$O!$LZ$N:,$N%-!<$rA`:n$N:G=i$K3NDj$5$;$kE@$,Bg$-$JFCD'$G(B
+$B$"$k!%(B
+% 
+% $B?tI4@aE@$NO"B3A^F~A`:n$NJBNsEY$O(B4$B!A(B8$B$G$"$k$H$$$&<B837k2L$,(B
+% $BJs9p$5$l$F$$$k(B\cite{W90}$B!%(B
+%
+$B$7$+$7$3$N5;K!$O!$(B
+${\it delete\/}$$B$N$h$&$K!$A`:n7k2L$NLZ$N:,$,;vA0$K$o$+$i(B
+$B$J$$>l9g$K$OE,MQ$G$-$J$$!%(B
+
+
+\subsection{$B%H%C%W%@%&%sY(J?2=$NLdBjE@(B}
+
+$B%H%C%W%@%&%sY(J?2=$K$h$k(B${\it update\/}$$B$O!$(B
+\ref{subsection:related-parallel}$B@a$N$h$&$K(B
+$B:,$N%-!<$r:G=i$K3NDj$5$;$k$h(B
+$B$&$K$7$F$b!$JBNs=hM}$N4QE@$+$i$OLdBj$,;D$k!%$?$H$($P!$@aE@(B
+$x(<b)$ ($<$$B$O%-!<$K$h$k=g=x4X78(B)$B$N(B${\it update\/}$$B$K$h$C$F5/$-$k(B
+$B?^(B\ref{figure:topdown}$B$N(B
+zig-zig$BA`:n(B\cite{W90} $B$r9M$($k(B($L$$B$H(B$R$$B$O!$LZ(B$C$$B$r%H%C%W%@%&%sY(J?(B
+$B2=$7$?7k2L$N:8(B($B1&(B)$BItJ,LZ$G!$(B${\it update\/}$$B40N;;~$^$G$K3NDj(B)$B!%(B
+
+% \begin{adjustvboxheight}
+\begin{figure}[tb]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig2.eps}}
+\end{center}
+\caption{$B%H%C%W%@%&%sY(J?2=$K$h$k(B${\it update\/}$}
+\label{figure:topdown}
+\end{figure}
+% \end{adjustvboxheight}
+
+$B$3$N(B${\it update\/}$$B$N8e!$(B$y(<x)$, $z(>b)$$B$X$N%"%/%;%9$,$3$N=g$KB3$/$H(B
+$B$9$k!%:G=i$N(B$x$$B$X$N%"%/%;%9;~$K(B$x$$B$,ItJ,LZ(B$C$$B$N:8$NJ}$K$"$C$?$?$a$K(Bzig-zig$BA`:n(B
+$B$,B3$/>l9g!$(B$L$$B$N(B
+$B:,$,3N(B
+$BDj$9$k$N$OCY$/$J$k!%$7$+$7(B$L$$B$N:,$,3NDj$9$k$^$G$O!$<!$N(B$y$$B$X$N%"%/%;(B
+$B%9$,(Bzig, zig-zig, zig-zag$B$N$I$l$r$^$:E,MQ$9$k$+7h$a$i$l$J$$!%(B
+% 
+% $BD9$/BT$C$F$b!$L\I8$N@aE@$N>e>:CJ?t$,B?$1$l$PLdBj$O$J$$$N$G$"$k$,!$(B
+% $B$=$l$,(B
+%
+$B$=$3$G(B3$BHVL\$N(B
+$z$$B$X$N%"%/%;%9$,!$(B2$BHVL\$NA`:n$K$h$C$F1F6A$r<u$1$k$3$H$N$J$$(B$b$$B$N1&ItJ,(B
+$BLZ$K8~$+$&$K$b$+$+$o$i$:!$D9;~4V%V%m%C%/$7$F$7$^$&!%(B
+
+$B:o=|A`:n$O$5$i$KLdBj$G$"$k!%0lHL$K!$FsJ,LZ$+$i@aE@(B$x$$B$r:o=|$9$k$K$O!$(B
+$x$$B$N:8It(B
+$BJ,LZ$N:GBg$N@aE@(B$y$$B$rC5$7$F$=$l$r(B$x$$B$N>l=j$K0\$9$3$H$,4pK\$H$J(B
+$B$k!%$7$+$7!$Y(J?2=$NM-L5$K$+$+$o$i$:!$(B$y$$B$,8+$D$+$k$^$G$O(B$x$$B$N>l=j(B
+$B$K$/$k?7$?$J%-!<$O3NDj$;$:!$8eB3$NA`:n$r%V%m%C%/$7$F$7$^$&!%0J2<$N$h$&(B
+$B$J2r7hK!$b9M$($i$l$k$,!$$$$:$l$b$&$^$/F0:n$7$J$$!%(B
+
+\begin{enumerate}
+\item % {\bf $B0l;~E*$J%-!<(B}
+$y$$B$,8+$D$+$k$^$G!$(B$x$$B$r0l;~E*$J%-!<$H$7$FMxMQ$9$k$H!$(B
+$y\le z\le x$$B$G$"$k$h$&$J@aE@(B$z$$B$X$NA`:n$r8m$C$?J}8~$XF3$/!%(B
+
+\item % {\bf $BAPJ}8~%j%9%H(B}
+$B3F@aE@$,D>A0$HD>8e$N%-!<$r$b$D@aE@$X$N%]%$%s%?$rJ];}$9$k$3$H$K$h$C$F!$(B
+$x$$B$ND>A0$NMWAG(B$y$$B$K(B${\rm O}(1)$$B;~4V$G%"%/%;%9$G$-$k$h$&$K$9$k(B
+$B$3$H$,9M$($i$l$k!%$3$l$i$N%]%$%s%?$OLZ(B
+$B$NY(J?2=;~$KJQ99$9$kI,MW$,$J$$$H$$$&FCD'$,$"$k!%(B
+% 
+$B$7$+$7$3$NJ}K!$OC`<!A`:n$N$H$-$7$+$&$^$/F0:n$7$J$$!%(B
+% 
+% $B$"$k%W%m%;%9$,@aE@(B
+% $x$$B$r:o=|$7$h$&$H$7$?$H$9$k!%$=$N%W%m%;%9$O@aE@(B$y$$B$K(B${\rm O}(1)$$B;~4V$G%"(B
+% $B%/%;%9$G$-$k$b$N$N!$C1$K$=$l$r:o=|$7$F(B$x$$B$N$+$o$j$KMQ$$$k$3$H$O$G$-$J$$!%(B
+% (invisible pointer?)
+%
+$B$J$<$J$i$3$N:o=|A`:n$NA0$NA`:n$,(B$x$$B$H(B$y$$B$r7k(B
+$B$V%Q%9$r2<9_Cf$G!$$$$:$l(B$y$$B$KE~C#$9$k$+$b$7$l$J$$$+$i$G$"$k!%(B
+\end{enumerate}
+
+$B$7$?$,$C$FK\O@J8$G$O!$9b!9(B${\rm O}(1)$$B8D$N@a$r;\>{$7$D$D!$87L)$K%H%C%W%@%&(B
+$B%s$KLZ$rJQ7A$7$F$f$/%"%k%4%j%:%`$r9M$($k$3$H$H$9$k!%(B
+
+\section{$BJBNs99?7%"%k%4%j%:%`(B}\label{section:update}
+
+$BK\@a$G$O!$8eB3$NA`:n$r%V%m%C%/$7$J$$(B${\it update\/}$$BA`:n$rM?$($k!%4pK\E*$J(B
+$B%"%$%G%"$O!$(Bzig-zig$B$H(Bzig-zag$B$NN>J}$K$D$$$F!$L\I8@aE@$r$=$N?<$5$N(B
+$BH>J,$^$G$7$+Ib>e$5$;$J$$H>Y(J?2=(B(semi-splaying)$B$rMQ$$$k$3$H$G$"$k(B($BJ88%(B
+\cite{ST85}$B$NH>Y(J?2=$O!$(Bzig-zig$B$N$_$,Y(J?2=$H0[$J$C$F$$$?(B)$B!%(B$x$$B$r99?7BP(B
+$B>]$N@aE@$H$9$k$H!$%"%k%4%j%:%`$O0J2<$N$h$&$K$J$k!%(B
+%
+% $B$3$3$G$b:81&BP>N$JA`:n$NJRJ}$N$_$r=R$Y$k!%(B
+
+\begin{itemize}
+% \medskip\noindent (a)
+\item[(a)]
+$B6u$NLZ$KBP$9$kA^F~$O?^(B\ref{figure:update}
+(a1)$B$NA`:n!$(B($B6u$G$J$$(B)$BLZ$N:,$KBP$9$k99?7$O(B
+$B?^(B\ref{figure:update}(a2)$B$NA`:n$r9T$J$&!%(B
+
+% \begin{adjustvboxheight}
+\begin{figure*}[t]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig3.eps}}
+\end{center}
+\caption{$B8eB3A`:n$r%V%m%C%/$7$J$$99?7%"%k%4%j%:%`$N(B1$B%9%F%C%W(B}
+\label{figure:update}
+\end{figure*}
+% \end{adjustvboxheight}
+
+% \medskip\noindent (b)
+\item[(b)]
+zig: 
+$x$$B$,:8ItJ,LZ$N:,$G$"$k>l9g$O?^(B\ref{figure:update}(b1)
+$B$NA`:n!$(B$x$$B$,B8:_$9$Y$-:8ItJ,LZ$,6u$N(B
+$B>l9g$O?^(B\ref{figure:update}(b2)$B$NA`:n$r9T$J$&!%(B
+
+% \medskip\noindent (c)
+\item[(c)]
+zig-zig: $B?^(B\ref{figure:update}(c)$B:8$NLZ$K$*$1$k(B$x (<b)$$B$NC5:w$G$O!$(B
+$B;^(B$ba$$B$N1&2sE>$r9T$J$C$F%"%/%;%9$7$?%Q%9$ND9$5$r(B1$BC;=L$9$k!%<!$O(B1$B%l%Y%k(B
+($BC;=LA0$ND9$5$G$O(B2$B%l%Y%k(B)$B2<9_$7$F!$ItJ,LZ(B$A$$B$KBP$7$F:F5"E*$KC5:w$r9T$J$&!%(B
+
+% \medskip\noindent (d)
+\item[(d)]
+zig-zag: $B?^(B\ref{figure:update}(d)$B:8$NLZ$K$*$1$k@aE@(B$x$ ($b<x<a$) $B$N(B
+$BC5:w$G$O!$(B
+$B;^(B$cb$$B$N:82sE>$H!$$G$-$?;^(B$ca$$B$N1&2sE>$r9T$J$$!$(B
+$B%"%/%;%9$7$?%Q%9$r(B1$BC;=L$9$k!%(B
+%
+% $BFs$D$NCfB&$NItJ,LZ$NE,Ev$JJ}$KBP$7$F:F5"E*$KC5:w$r9T$J$&!%(B
+%
+% \noindent
+$x=c$$B$J$i$P$3$l$GC5:w=*N;$G$"$k!%(B$x<c$$B$J$i$P(B2$B%l%Y%k(B($BC;=LA0$ND9$5$G$O(B3$B%l(B
+$B%Y%k(B)$B2<9_$7$F(B$B$$B$NCf$+$i(B$x$$B$r:F5"E*$K(B
+$BC5:w$9$k!%(B$x>c$$B$J$i$PF1MM$K(B$C$$B$NCf$+$i:F5"E*$KC5:w$9$k!%(B$x\ge c$$B$N>l9g$K$O(B
+$B;^(B$ca$$B$N2sE>A`:n$r>JN,$9$k$3$H$b9M$($i$l$k!%(B
+%
+$b$$B$N1&ItJ,LZ$,6u$N>l9g$O!$$=$3$K@aE@(B$x$$B$rA^F~(B
+$B$7$?$"$H!$>e$K=R$Y$?2sE>A`:n$r9T$J$&!%(B
+
+\end{itemize}
+% \medskip
+$B0J>e$NA`:n$G!$%"%/%;%9$7$?%Q%9$ND9$5$O:G0-$G$bLs(B$2/3$$B$K$J$k!%(B
+%
+$BH>J,$G$J$/$F(B$2/3$$B$J$N$O!$>e5-(Bzig-zag$BA`:n$N@-<A$K$h$k$b$N$G$"$k!%(B
+
+
+\section{$BJBNs:o=|%"%k%4%j%:%`(B}\label{section:delete}
+
+$BJBNs:o=|$N$?$a$N4pK\E*$JCeA[$O!$Y(J?2=A`:n$r!$:o=|$9$Y$-@aE@$r2<9_$5(B
+$B$;$k$?$a$KMxMQ$9$k$3$H$G$"$k!%$3$l$^$G$O!$Y(J?2=A`:n$O$b$C$Q$i!$:FEY%"%/(B
+$B%;%9$7$=$&(B
+$B$J@aE@$rIb>e$5$;$k$?$a$KMQ$$$i$l$F$-$?!%$3$3$G=EMW$J$3$H$O!$:o=|BP>]$N(B
+$B@aE@0J30$O9b!9(B${\rm O}(1)$$B%l%Y%k$7$+2<9_$5$;$J$$$h$&$K$9$k$3$H$G$"$k!%(B
+$B0J2<$G$O!$(B$z$$B$r:o=|BP>]$N@aE@$H$9$k!%(B
+
+$B$^$:!$:,@aE@$,:o=|BP>]@aE@(B$z$$B$G$"$k>l9g$r9M$($k!%$3$N>l9g!$(Bzipping$B$H8F$V(B
+$BA`:n$K$h$C$F(B
+$B$=$l$r(B``$BMF0W$K(B''$B:o=|$G$-$k>l=j$^$G2<9_$5$;$k!%@aE@$,(B``$BMF0W$K(B''$B:o=|$G$-(B
+$B$k$H$O!$$=$N:8ItJ,LZ!$1&ItJ,LZ!$:8ItJ,LZ$N1&ItJ,LZ!$1&ItJ,LZ$N:8ItJ,LZ$N(B
+$B$$$:$l$+$,6u$G$"$k$3$H$G$"$k!%:,@aE@$N2<9_$K$h$C$F!$$=$N:8ItJ,LZ$H(B
+$B1&ItJ,LZ$NK%$$9g$;$,5/$-$k!%(B
+% 
+% $B$3$l$,8@MU$NM3Mh$G$"$k!%(B
+
+\begin{enumerate}
+% \medskip\noindent (a)
+\item[(a)]
+``$BMF0W$K(B''$B:o=|$G$-$k>l9g!'?^(B\ref{figure:delete}(a1)$B$^$?$O(B(a2)
+$B$N$h$&$KJQ7A$9$k!%(B
+
+
+% \begin{adjustvboxheight}
+\begin{figure*}[t]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig4.eps}}
+\end{center}
+\caption{$B8eB3A`:n$r%V%m%C%/$7$J$$:o=|%"%k%4%j%:%`$N(B1$B%9%F%C%W(B}
+\label{figure:delete}
+\end{figure*}
+% \end{adjustvboxheight}
+
+% \medskip\noindent (b)
+\item[(b)]
+``$BMF0W$K(B''$B:o=|$G$-$J$$>l9g!'?^(B\ref{figure:delete}(b)$B$N$h$&$K(B
+zig-zag$B$r;\$7!$$=(B
+$B$N7k2L$G$-$k(B$b$$B$N1&ItJ,LZ$K!$(B($B0l$D$a$H$O:81&BP>N$J(B) zig-zag$B$r;\$9!%(B
+
+\noindent
+4$B2s$N2sE>$G(B$z$$B$O(B2$B%l%Y%k2<9_$9$k!%(B$z$$B$N?7$?$JItJ,LZ(B$C$$B$H(B$F$
+$B$O!$F1$8%l%Y%k$K$H$I$^$k!%$=$l0J30$N@aE@$b9b!9(B1$B%l%Y%k$7$+2<9_(B
+$B$7$J$$!%(B$z$$B$r:,$H$9$k?7$?$JItJ,LZ$KBP$7$F:F5"E*$K:o=|A`:n$r9T$J$&$,!$(B$z$$B$N;RB9(B
+$B$G$J$$@aE@$,$=$l$K$h$C$F$5$i$K2<9_$9$k$3$H$O$J$$!%(B
+\end{enumerate}
+
+% \medskip
+$B?^(B\ref{figure:zipping}$B$K!$:,@aE@(B$z$$B$N:o=|$K$h$kLZ$N7A>u$NJQ2=$r<($9!%(B
+\begin{figure*}[t]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig5.eps}}
+\end{center}
+\caption{Zipping$B$K$h$k@aE@(B$z$$B$N:o=|(B}
+\label{figure:zipping}
+\end{figure*}
+
+$B:o=|BP>]@aE@(B$z$$B$,:,$G$"$k$H$O8B$i$J$$>l9g$O!$$^$:Bh(B\ref{section:update}$B@a$N(B
+$BJ}K!$G(B$z$$B$rC5:w$9$k!%$3$l$O:,$+$i(B$z$$B$K;j$k%Q%9$rC;=L$9$k8z2L$r$b$D!%$D$.(B
+$B$K!$(B$z$$B$r(Bzipping$B$K$h$C$F2<9_$5$;$F:o=|$9$k!%(B
+
+Zipping$BA`:n$O%Q%9$NC;=L$r9T$J$o$J$$$,!$%"%/%;%9$7$?@aE@$OIb>e$5$;(B
+$B$k$H$$$&86B'$K$7$?$,$&$J$i$P!$(Bzipping$B$K@h$@$C$F!$:8ItJ,LZ$N:GBgMWAG$K;j(B
+$B$k%Q%9$H1&ItJ,LZ$N:G>.MWAG$K;j$k%Q%9$r$=$l$>$l%H%C%W%@%&%s$NH>Y(J?2=(B
+(zig-zig ($B?^(B\ref{figure:update}(c)) $B$N7+JV$7(B)$B$K$h$C(B
+$B$FC;=L$9$l$P$h$$!%$3$NC;=L2=$O(Bzipping$B$HJB9T$7$F9T$J$&$3$H$,$G$-$k!%(B
+
+Zipping$B$O99?7A`:n$H0[$J$j!$3F@aE@$N%-!<CM$rFI$`$3$H$J$/LZ$r2<9_$9$k!%(B
+$B$^$?(Bzipping$B$O!$LZ(B$T_1$$B$HLZ(B$T_2$ ($T_1$$B$N$I(B
+$B$N%-!<$b!$(B$T_2$$B$N$I$N%-!<$h$j$b>.$5$$$b$N$H$9$k(B)$B$H$N%H%C%W%@%&%sJ;9gA`:n(B
+$B$K$b1~MQ$G$-$k!%$9$J$o$A!$?7$?$J@aE@(B($B%-!<$OG$0U(B)$B$rD4C#$7!$$=$N:8ItJ,LZ(B
+$B$r(B$T_1$$B!$1&ItJ,LZ$r(B$T_2$$B$H$7$F0l$D$NLZ$r9=@.$7$?(B
+$B$N$A!$D4C#$7$?:,@aE@$r>C5n$9$l$P$h$$!%(B
+
+\section{$B7W;;NL$K4X$9$k7k2L$H9M;!(B}
+
+$B8zN($NFs$D$N<\EY$N$&$A!$%9%k!<%W%C%H$K$D(B
+$B$$$F$OMF0W$K5DO@$,$G$-$k!%$9$J$o$A!$Fs$D$NA`:n$O!$%l%Y%k(B$l$ ($B:,$r%l(B
+$B%Y%k(B$0$$B$H$7$F(B)$B$N@aE@$r(B${\rm O}(l)$$B2s(B --- ${\it update\/}$$B$O9b!9(B$(l+2)$$B2s!$(B
+zipping$B$O9b!9(B$(2l+2)$$B2s(B ---
+$B$N2sE>A`:n$N$N$A$K3NDj$5$;$k!%(B
+$B$5$i$K$I$A$i$NA`:n$b!$O"B3$9$k9b!9(B$3$
+$B%l%Y%k$N@aE@$rF1;~$K;\>{$9$k$@$1$G$h$$!%$3$l$i$N$3$H$+$i!$LZ$NBg$-$5$d?<(B
+$B$5$K$h$i$J$$%9%k!<%W%C%H$G!$A`:n7ONs$r%Q%$%W%i%$%sE*$KJBNs=hM}$9$k$3(B
+$B$H$,$G$-$k!%(B
+
+$B%l%9%]%s%9$O!$(B${\it update\/}$$B$K$D$$$F$O!$DL>o$N%9%W%l!<(B
+$BLZ$HF1Ey$N=~5Q7W;;NL$r$b$D$3$H$,>ZL@$G$-$k!%6qBNE*$K$O!$(B
+$B@aE@(B$x$$B$N(B{\bf $BBg$-$5(B}$s(x)$$B$r(B$x$$B$r:,$H$9$kItJ,LZ$N@aE@?t$HDj5A$7!$(B
+{\bf $B%i%s%/(B}$r(x)$$B$r(B$\log_2(s(x))$$B$H$9$k!%(B
+$B$=$7$F(B
+%
+$BLZ$N(B{\bf $B%]%F%s%7%c%k(B}$B$r!$$9$Y$F$N@aE@$N%i%s%/$NOB$HDj5A$9$k!%(B
+$B$9$k$H!$(B${\it update\/}$$B$N=~5Q;~4V!$$D$^$j2sE>A`:n$N2s?t$GB,$C$?=j(B
+$BMW;~4V$KA`:nA08e$N%]%F%s%7%c%k$NJQ2=$r2C$($?$b$N$O!$(B$n$$B$rLZ$N@aE@?t$H$7(B
+$B$F!$(B${\rm O}(\log n)$$B$G$"$k$3$H$r<($9$3$H$,$G$-$k!%(B
+$B$3$N$3$H$+$i!$==J,D9$$A`:n7ONs$NJ?6Q%l%9%]%s%9$O!$:G0-$G$bBP?tE*$G$"$k$3(B
+$B$H$,$o$+$k!%(B
+$BJ88%(B\Cite{ST85}$B$N$h$&(B
+$B$K!$@aE@$K0[$J$k=E$_$r$D$1$F(B$s$$B$d(B$r$$B$rDj5A$9$k$3$H$K$h$j!$$h$j6/$$@-<A(B
+$B$r<($9$3$H$b$G$-$k$,!$K\O@J8$G$O>J$/!%(B
+
+$B0lJ}!$(B${\it delete\/}$$B$K$D$$$F$O!$J88%(B\Cite{ST85}$B$N2r@OJ}K!$G$O!$BP(B
+$B?tE*=~5Q7W(B
+$B;;NL$rF3$/$3$H$O$G$-$J$$!%$=$N$3$H$r<($9$?$a$K!$?^(B\ref{figure:delete}
+(b)$B$N(B4$B2s$N2sE>$K$h$k%]%F%s%7%c%kJQ2=$r9M$($k!%(B
+
+$B?^(B\ref{figure:delete}(b)$B$N0lHV1&B&(B
+$B$NLZ$N%i%s%/4X?t$r(B$r'$$B$H$9$k!%0lHV:8B&$NLZ$+$i$N%]%F%s%7%c%k$NJQ2=$r!$(B
+$k$$B$r$"$k@5Dj?t$H$7$F(B$k(r'(b)-r'(z))$$B0JFb$K2!$5$($k$3$H$,$G$-$k$3$H$r<($9$N$,!$(B
+$BJ88%(B\Cite{ST85}$B$K$*$1$k=~5Q7W;;NL$N>ZL@5;K!$N4pK\$G$"$C$?!%$7$+$7!$(B
+$B$3$l$i$NLZ$K(B
+$B$D$$$F(B$s(A)= s(B) = s(C) = h\gg t = s(D) = s(E) = s(F)$
+$B$r2>Dj$9$k$H!$%]%F%s%7%c%kJQ2=$,(B$h/t$$B$K4X$7$F(B${\rm O}(\log
+(h/t))$$B$H$J$k!%0lJ}(B$r'(b)-r'(z)$$B$O(B$h/t$$B$K4X$7$F(B${\rm O}(1)$$B$G$"$k$N$G!$(B
+$B>e5-$NMW@A$rK~$?$9(B
+$k$$B$OB8:_$7$J$$$3$H$,$o$+$k!%(BZipping$B$K@hN)$C$F%Q%9C;=L2=$r9T$J$C(B
+$B$?>l9g$K$D$$$F$b!$F1MM$N$3$H$,<($;$k!%(B
+
+$B$7$+$7!$Bh(B\ref{section:delete}$B@a$N:o=|A`:n$O!$(B
+%
+$B%"%/%;%9$7$?%Q%9>e$N@aE@$N?<$5$,LsH>J,$K$J$j(B($B;vA0$K%Q%9(B
+$BC;=L2=$r;\$7$?>l9g(B)$B!$$=$l0J30$N@aE@$b9b!9Dj?t%l%Y%k$7$+D@$^$J$$(B
+%
+$B$H$$$&!$@aE@$NIb$-D@$_$K$D$$$F$N%9%W%l!<LZ0lHL$N@-<A$OK~$?$7$F$$$k!%(B
+%
+$B$G$O0lHL$K!$$3$NFs$D$N@-<A$rK~$?$9<+8JD4@0E*$JLZ%"%k%4%j%:%`$G!$J?6Q%l%9(B
+$B%]%s%9$,BP?t;~4V$G2!$5$($i$l$J$$$h$&$J!$==J,D9$$A`:n7ONs$OB8:_$9(B
+$B$k$N$@$m$&$+!)(B $B$3$l$OL$2r7h$G$"$k$,!$K\O@J8$GDs0F$7$?FsA`:n$K(B
+$B$D$$$F$O!$J?6Q%l%9%]%s%9$O>/$J$/$H$b(B${\rm O}(\sqrt n)$ ($B99?7$N$_$J$i$P(B
+${\rm O}(\log n)$)$B$HM=A[$5$l$k!%(B
+
+$B$=$N:,5r(B
+$B$H$7$F!$3F@aE@$N:o=|$7$d$9$5$NJQ2=$r9M$($k!%(B
+$B@aE@(B$x$$B$N(B{\bf $B:o=|:$FqEY(B}$d(x)$$B$r!$(B$x$$B$+$i$=$ND>A0$N%-!<(B$x_-$$B$r$b$D@a(B
+$BE@$X;j$k%Q%9D9(B($x_-$$B$,B8:_$7$J$$>l9g$d!$(B$x_-$$B$,(B$x$$B$N;RB9$G(B
+$B$J$$>l9g$O(B$0$$B$HDj$a$k(B)$B$HD>8e$N%-!<(B$x_+$$B$r$b$D@a$K;j$k%Q%9D9$N:G>.CM(B
+$B$HDj$a$k$H!$Bh(B\ref{section:delete}$B@a$N(B
+${\it delete\/}$$B$O!$(B$d$$B$NBg$-$J@aE@$N>C5n$K$O;~4V$,$+$+$k$b(B
+$B$N$N!$;D$C$?3F@aE@$N(B$d$$B$r9b!9(B${\rm O}(1)$
+$B$7$+Bg$-$/$7$J$$!%$^$?Bh(B\ref{section:update}$B@a$N(B
+${\it update\/}$$B$G?7$?$KA^F~$7$?@aE@$N(B$d$
+$B$O(B$0$$B$G$"$j!$(B${\it update\/}$$B$O$9$G$KB8:_$7$F$$$?3F@aE@$N(B$d$$B$b9b!9(B${\rm
+O}(1)$$B$7$+Bg$-$/$7$J$$!%(B($B%\%H%`%"%C%WY(J?2=$K$*$1$k@aE@$N(B$d$$B$NA}2C$O!$Dj?t$G(B
+$B2!$($k$3$H$,$G$-$J$$!%(B)$B$3$l$i$N$3$H$+$i(B
+%
+\begin{enumerate}
+\item[1.]
+$B?7$?$J@aE@$N(B$d$$B$NCM$,(B$k$$B$^$G@.D9$9$k$K$O!$B>$N@aE@$N(B$\Omega(k)$
+$B2s$NA^F~:o=|$,I,MW(B
+\end{enumerate}
+%
+$B$G$"$k$3$H$,$o$+$k!%$5$i$K(B
+%
+\begin{enumerate}
+\item[2.]
+$BFsJ,LZ$K$*$1$k3F@aE@$N(B$d$$B$NAmOB$O!$(B
+$BLZ$r%H%i%P!<%9$7$?$H$-$KDL$k;^$N1d$YK\?t$r>e2s$k$3$H$O$J$$$+$i(B
+${\rm O}(n)$
+\end{enumerate}
+%
+$B$G$"$k!%(B1.$B$H(B2.$B$+$i!$(B
+$B?7$?$J@aE@$NA^F~$H!$(B$d$$B$NBg$-$J@aE@$N>C5n$,7+$jJV$5$l$k$H$$$&:G0-$NA`:n(B
+$B7ONs$r9M$($F$b!$A`:n$NJ?6Q$N<j4V$O(B${\rm O}(\sqrt n)$$B$G$"$j!$<BMQ>e$N8zN((B
+$B$O99?7A`:n$N$_$N>l9g$H$[$H$s$IJQ$o$i$J$$$HM=A[$5$l$k!%(B
+
+\section{$B$^$H$a$H:#8e$N2]Bj(B}
+
+$B@aE@$NIb$-D@$_$K4X$9$kK>$^$7$$@-<A$rJ]$A!$$+$D7W;;NL$N0UL#$G:GE,$J%9%k!<(B
+$B%W%C%H$r$b$D<+(B
+$B8JD4@0FsJ,LZ$NJBNsA`:n(B($B99?7!$A^F~!$:o=|!$J;9g(B)$B%"%k%4%j%:%`$rDs0F$7$?!%@aE@$N(B
+$B99?7$dA^F~$K4X$7$F(B
+$B$OBP?tE*=~5Q7W;;NL$r;}$D$3$H$,>ZL@$G$-$F$*$j!$$5$i$K%"%/%;%9%Q%?!<%s$NJP(B
+$B$j$dJQ2=$KBP$9$kDI=>@-$J$I!$%9%W%l!<LZ$N;}$D6/NO$+$D4h7r$J@-<A(B
+$B$NB?$/$r0z$-7Q$$$G$$$k!%:o=|$N=~5Q7W;;NL$N$h$jNI$$M}O@E*8B3&$rF3$/(B($B$^$?(B
+$B$O$=$NITB8:_$r<($9(B)$B$3$H$O:#(B
+$B8e$N2]Bj$G$"$k!%$^$?!$%"%k%4%j%:%`$N<B:]E*8zN(!$JBNsJ,;64D6-$G$N<BAu!$1~(B
+$BMQ$N8!F$$b:#8e$N2]Bj$G$"$k!%(B
+
+
+{\bf $B<U<-(B}\
+$BK\O@J8$N=i4|$NHG$K$D$$$F5DO@$7$F$$$?$@$$$?(BRobert Tarjan$B;a(B(Princeton$BBg(B)$B!$(B
+$BLS<uE/;a(B(NEC)$B!$CfC+M42p;a(B($BAa0pEDBg(B)$B$K46<U$9$k!%(B
+%
+\begin{adjustvboxheight} % needed only when Appendix follows
+\begin{thebibliography}{99}
+\bibitem{LS86} Lanin, V. and Shasha, D.$B!'(BA Symmetric Concurrent B-Tree
+Algorithm,
+Proc.\ 1986 Fall Joint Computer Conference, IEEE, 1986, pp.~380--389$B!%(B
+
+\bibitem{ST85} Sleator, D. D. and Tarjan, R. E.$B!'(BSelf-Adjusting Binary Search
+Trees, {\it J. ACM}, Vol.~32, No.~3 (1985), pp.~652--686$B!%(B
+
+\bibitem{S89} Shapiro E.$B!'(BThe Family of Concurrent Logic Programming Languages.
+{\it ACM Computing Surveys}, Vol.~21, No.~3 (1989), pp.~413--510$B!%(B
+
+\bibitem{T85} Tarjan, R. E.$B!'(BAmortized Computational Complexity, {\it
+SIAM J.\ Alg.\ Disc.\ Math.}, Vol.~6, No.~2 (1985), pp.~306--318.
+
+\bibitem{W90} $BOBED5WH~;R!'%9%W%l%$LZ$NJBNs%G!<%?C5:w(B, Proc.\ KL1
+Programming Workshop '90, Tokyo, ICOT, 1990, pp.~42--49$B!%(B
+\end{thebibliography}
+\end{adjustvboxheight} % needed only when Appendix follows
+
+\appendix
+\section{$BIUO?(B: \LaTeX $B$K$h$kO@J8:n@.$N%,%$%I(B} 
+
+$B$3$3$K!$0JA0$N(B \verb|sample.tex| $B$G$O!$O@J8:n@.$N%,%$%I$,$"$C$?$,!$(B
+$B$=$NFbMF$O(B \verb|guide.tex| $B$K0\F0$7$?!%(B
+
+\end{document}