changeset 0:692fcb13b3fa

init
author kazz <kazz@cr.ie.u-ryukyu.ac.jp>
date Fri, 20 Aug 2010 21:53:21 +0900
parents
children 645757a3f87f
files jssst2010-style/README-sjis.txt jssst2010-style/README.txt jssst2010-style/compsoft-sjis.sty jssst2010-style/compsoft.cls jssst2010-style/compsoft.sty jssst2010-style/fig1.eps jssst2010-style/fig2.eps jssst2010-style/fig3.eps jssst2010-style/fig4.eps jssst2010-style/fig5.eps jssst2010-style/guide-sjis.tex jssst2010-style/guide.pdf jssst2010-style/guide.tex jssst2010-style/jssst.bst jssst2010-style/sample-sjis.tex jssst2010-style/sample.pdf jssst2010-style/sample.tex
diffstat 17 files changed, 13110 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jssst2010-style/README-sjis.txt	Fri Aug 20 21:53:21 2010 +0900
@@ -0,0 +1,20 @@
+日本ソフトウェア科学会学会誌および大会論文のスタイル・ファイルの
+ダウンロードありがとうございました.
+
+   README.txt           このファイル (JIS 版)
+   README-sjis.txt      このファイル (shift-JIS 版)
+   compsoft.sty         スタイルファイル
+   compsoft-sjis.sty    上記の shift-JIS 版
+   compsoft.cls         クラスファイル
+   guide.tex            論文作成ガイドのソース
+   guide-sjis.tex       上記の shift-JIS 版
+   guide.pdf            上記の PDF 出力
+   sample.tex           上記スタイルファイルの使用例 (大会論文)
+   sample-sjis.tex      上記の shift-JIS 版
+   sample.pdf           上記大会論文の PDF 出力
+   fig?.eps             使用例ファイルでとりこんでいる図
+   jssst.bst            BIBTeX用スタイルファイル
+
+なお shift-JIS 版のファイルの改行文字は CR LF になっています.
+
+ご質問は,hosobe@nii.ac.jp までお願いします.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jssst2010-style/README.txt	Fri Aug 20 21:53:21 2010 +0900
@@ -0,0 +1,20 @@
+日本ソフトウェア科学会学会誌および大会論文のスタイル・ファイルの
+ダウンロードありがとうございました.
+
+   README.txt           このファイル (JIS 版)
+   README-sjis.txt      このファイル (shift-JIS 版)
+   compsoft.sty         スタイルファイル
+   compsoft-sjis.sty    上記の shift-JIS 版
+   compsoft.cls         クラスファイル
+   guide.tex            論文作成ガイドのソース
+   guide-sjis.tex       上記の shift-JIS 版
+   guide.pdf            上記の PDF 出力
+   sample.tex           上記スタイルファイルの使用例 (大会論文)
+   sample-sjis.tex      上記の shift-JIS 版
+   sample.pdf           上記大会論文の PDF 出力
+   fig?.eps             使用例ファイルでとりこんでいる図
+   jssst.bst            BIBTeX用スタイルファイル
+
+なお shift-JIS 版のファイルの改行文字は CR LF になっています.
+
+ご質問は,hosobe@nii.ac.jp までお願いします.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jssst2010-style/compsoft-sjis.sty	Fri Aug 20 21:53:21 2010 +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/jssst2010-style/compsoft.cls	Fri Aug 20 21:53:21 2010 +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/jssst2010-style/compsoft.sty	Fri Aug 20 21:53:21 2010 +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/jssst2010-style/fig1.eps	Fri Aug 20 21:53:21 2010 +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/jssst2010-style/fig2.eps	Fri Aug 20 21:53:21 2010 +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/jssst2010-style/fig3.eps	Fri Aug 20 21:53:21 2010 +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/jssst2010-style/fig4.eps	Fri Aug 20 21:53:21 2010 +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/jssst2010-style/fig5.eps	Fri Aug 20 21:53:21 2010 +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/jssst2010-style/guide-sjis.tex	Fri Aug 20 21:53:21 2010 +0900
@@ -0,0 +1,520 @@
+% Sample file for the use of compsoft style file.
+%
+%\documentclass[T]{compsoft}
+\documentclass[K,L]{compsoft}
+%
+% その他の optional argument については,compsoft.sty の旧版を
+% 参照のこと.
+
+% Preamble
+%
+% 「コンピュータソフトウェア」誌に掲載される論文の場合,次で
+% 巻数,号数,開始ページ,終了ページを指定する.
+\volNoPp{27}{0}{1}{5}
+
+% ワークショップによる推薦論文の場合,ワークショップ名を指定する.
+% \suisen{ワークショップ名}
+
+% 特集の場合,特集のタイトルを与える.
+% \tokushu{特集のタイトル}
+
+% 大会論文の場合,\taikai で開催年を指定する.ここで指定した年から
+% 大会の回数は計算される.
+% \taikai{2009}
+
+% ここに,使用するパッケージを列挙する.
+\usepackage[dvips]{graphics}
+
+% ユーザが定義したマクロなどはここに置く.ただし学会誌のスタイルの
+% 再定義は原則として避けること.
+
+\begin{document}
+
+% 論文のタイトル
+\title{新しいスタイルファイルによる論文作成ガイド}
+
+% 著者
+% 和文論文の場合,姓と名の間には半角スペースを入れ,
+% 複数の著者の間は全角スペースで区切る
+%
+\author{岩崎 英哉 上田 和紀
+%
+% ここにタイトル英訳 (英文の場合は和訳) を書く.
+%
+\ejtitle{The new compsoft Document Style Users Guide.}
+%
+% ここに著者英文表記 (英文の場合は和文表記) および
+% 所属 (和文および英文) を書く.
+% 複数著者の所属はまとめてよい.
+%
+\shozoku{Hideya Iwasaki}{電気通信大学情報工学科}%
+{Dept.\ of Computer Science, The University of Electro-Communications}
+\shozoku{Kazunori Ueda}{早稲田大学理工学部情報学科}%
+{Dept.\ of Information and Computer Science, Waseda University}
+%
+% 出典情報は \shutten とすれば出力される.
+\shutten
+%
+% 受付年月日,記事カテゴリなどは自動的に生成される.
+\uketsuke{2010}{1}{7}
+%
+% その他,脚注に入れるものがあれば,\note に記述する.
+\note{本ガイドは,旧スタイルファイルとともに配布されていた
+\texttt{sample.tex}をもとに発展させたものである.}
+}
+
+%
+% 和文アブストラクト
+\Jabstract{%
+本ガイドは,日本ソフトウェア科学会の新しいスタイルファイル
+\texttt{compsoft.sty} (2010年1月7日版)
+の利用方法を解説したものである.
+この新しいスタイルファイルは,「コンピュータソフトウェア」の
+論文,および,毎年秋に開催される日本ソフトウェア科学会大会論文の
+両方に共通のスタイルファイルとして利用する.
+}
+%
+% 英文アブストラクト (大会和文論文の場合には必要なし) 
+\Eabstract{%
+This documentation describes the new version of the
+\texttt{compsoft.sty} document style file.
+This style file can be used to typeset papers in the
+publications of Japan Society of Software Science and Technology.
+}
+%
+\maketitle
+
+\section{はじめに}
+
+日本ソフトウェア科学会では,2009年6月より「コンピュータソフトウェア」誌
+の論文の査読種別として「レター論文」を新設した.
+この機会に,「コンピュータソフトウェア」編集委員会は,
+\LaTeX \cite{Lamport:LaTeX} 用スタイルファイル \verb|compsoft.sty| を
+「コンピュータソフトウェア」誌向けの各種論文 (以下「雑誌論文」と呼ぶ),
+および,毎年秋に開催される日本ソフトウェア科学会大会の論文
+(以下「大会論文」と呼ぶ) の両方で共通して利用できるように,
+バージョンアップを行った.
+これに伴い,大会論文のフォーマットは,従来の大会独自のものから,
+雑誌論文に準ずるものに変更した.
+本ガイドは,この新しいスタイルファイルの利用方法を解説したものである.
+
+\section{論文の分類}
+
+学会誌「コンピュータソフトウェア」に掲載される雑誌論文の種別には,
+次のものがある.
+
+\begin{description}
+  \item[研究論文:]
+著者によってなされた学術研究の報告であり,独創性,新規性,有用性
+などの点で優れたもの.
+  \item[ソフトウェア論文:]
+著者によって実現されたソフトウェアの報告であり,発想,構成法,実装法
+などの点で優れ,ソフトウェアの発展に寄与するもの.
+  \item[解説論文:]
+特定の領域を調査し考察を加えて,専門外の会員にも十分に理解でき,
+かつ当該領域に対する新しい視点を与える優れた技術的論説・解説を行うもの.
+なお解説論文には,通常の「解説」と「チュートリアル」の2種類があり,
+両者では1ページ目上部の論文タイトルの上の部分が異なる.
+\end{description}
+
+上の論文種別それぞれに対し,次の査読種別がある.
+
+\begin{description}
+  \item[通常論文:]
+ページ数の制限のない,通常の査読を行う論文.
+投稿時の刷り上がりページ数は6ページ以内であっても,著者が希望すれば
+通常論文として投稿することもできる.
+  \item[レター論文:]
+速報性を重んじた査読を行う論文.
+投稿時の刷り上がりページ数は6ページ以内でなければならない.
+\end{description}
+
+一方,大会の CD-ROM に掲載される大会論文は,本スタイルファイルでは,
+便宜的に論文種別の一種として扱うこととしている.
+
+以上をまとめると,本スタイルファイルでは
+
+\begin{itemize}
+  \item 「コンピュータソフトウェア」誌に掲載される雑誌論文に対する
+論文種別と査読種別の $3\times2=6$ 通りの組み合わせ.
+  \item 大会論文
+\end{itemize}
+
+\noindent
+の,都合7通りの論文を区別して扱う.
+また,7通りのそれぞれに対して,記述言語として和文と英文の2通りが
+考えられる.\footnote{ただし,「コンピュータソフトウェア」は国内向け
+雑誌であるため,英文の解説論文はあまり想定していない.}
+
+本スタイルファイルは,旧版のスタイルファイルの上位互換に
+なるように作られている.
+「コンピュータソフトウェア」に掲載される,論文以外の記事
+(たとえば「フォーラム」など) に関しては,従前通り
+の書き方をすれば良いので,本ガイドでは扱わない.
+以下では,上の7通りの場合に絞って説明する.
+
+\section{プリアンブル}
+
+\verb|\documentclass| コマンドで指定するオプションには,
+次のものをカンマで区切って指定する.
+
+\begin{description}
+  \item[論文種別:]
+\verb|P| (研究論文でデフォルト値),
+\verb|S| (ソフトウェア論文),
+\verb|K| (普通の解説論文),
+\verb|U| (チュートリアル),
+\verb|T| (大会論文)
+のいずれか 1 つ.
+  \item[査読種別:]
+\verb|R| (通常論文でデフォルト値),
+\verb|L| (レター論文)
+のいずれか.
+ただし,大会論文の時には指定しない.
+  \item[言語:]
+\verb|J| (和文でデフォルト値),
+\verb|E| (英文)
+のいずれか.
+\end{description}
+
+下にいくつか例を示す.
+
+\begin{verbatim}
+  \documentclass{compsoft}
+      研究論文,通常論文,和文
+  \documentclass[P,L]{compsoft}
+      研究論文,レター論文,和文
+  \documentclass[S,E]{compsoft}
+      ソフトウェア論文,通常論文,英文
+  \documentclass[T]{compsoft}
+      大会論文,和文
+\end{verbatim}
+
+大会論文で,「コンピュータソフトウェア」誌に同時投稿する場合
+であっても,CD-ROM に掲載される大会の予稿論文は \verb|T| を指定して作成し,
+査読プロセスの中での改訂稿は,その論文の論文種別,査読種別に基づいた
+オプションを指定し作成すること.
+
+\verb|\documentclass| コマンドに続いて,雑誌論文の場合は,
+\verb|\volNoPp| コマンドに,巻,号,開始ページ,終了ページを指定する.
+これらの正しい数値は印刷所で記入するので,論文投稿時には,
+適当な数値を与えておけば良い.
+ただし,巻数に数値以外の値を指定すると,西暦の計算において
+エラーとなるので注意する必要がある.
+下は,第26巻第0号,開始ページ番号1,終了ページ番号5を
+指定した例である.
+
+\begin{verbatim}
+   \volNoPp{26}{0}{1}{5}
+\end{verbatim}
+
+ワークショップによる推薦論文の場合には,次のようにして
+ワークショップ名を与える.
+
+\begin{verbatim}
+   \suisen{ワークショップ名}
+\end{verbatim}
+
+特集の場合,次のようにして特集のタイトルを与える.
+
+\begin{verbatim}
+   \tokushu{特集のタイトル}
+\end{verbatim}
+
+大会論文の場合,次のように \verb|\taikai| コマンドで開催年を指定する.
+ここで指定した年から,大会の回数は自動的に計算される.
+
+\begin{verbatim}
+   \taikai{2009}
+\end{verbatim}
+
+
+これ以降,\verb|\begin{document}| までの間に,パッケージを使用する
+\verb|\usepackage| コマンド,および,ユーザが定義したマクロなどを置く.
+ただしスタイルの再定義は避けること.
+
+\section{タイトルと著者}
+
+\begin{figure*}[tb]
+\begin{center}
+\begin{verbatim}
+\author{岩崎 英哉 上田 和紀 電通 大郎
+\ejtitle{The new compsoft Document Style Users Guide.}
+\shozoku{Hideya Iwasaki, Taro Dentsu}{電気通信大学情報工学科}%
+{Dept.\ of Computer Science, The University of Electro-Communications}
+\shozoku{Kazunori Ueda}{早稲田大学理工学部情報学科}%
+{Dept.\ of Information and Computer Science, Waseda University}
+\shutten
+\uketsuke{2009}{6}{10}
+}
+\end{verbatim}
+(a) 雑誌論文の場合
+\begin{verbatim}
+\author{岩崎 英哉 上田 和紀 電通 大郎
+\ejtitle{The new compsoft Document Style Users Guide.}
+\shozoku{Hideya Iwasaki, Taro Dentsu}{電気通信大学情報工学科}%
+{Dept.\ of Computer Science, The University of Electro-Communications}
+\shozoku{Kazunori Ueda}{早稲田大学理工学部情報学科}%
+{Dept.\ of Information and Computer Science, Waseda University}
+}
+\end{verbatim}
+(b) 大会論文の場合
+\end{center}
+\caption{著者等の情報の記述例}
+\label{fig:author}
+\end{figure*}
+
+論文タイトルは,次のように \verb|\title| コマンドで指定する.
+
+\begin{verbatim}
+  \title{論文のタイトル}
+\end{verbatim}
+
+次に著者情報等を \verb|\author| コマンドで指定する.
+和文論文の場合,姓と名の間には半角スペースを入れ,
+複数の著者の間は全角スペースで区切る.
+さらに \verb|\author| コマンドの中で,次のものを空行を入れずに
+続けて指定する.
+空行が入っているとエラーになるので注意されたい.
+これらは,1ページ目の脚注に出力される.
+
+\begin{itemize}
+  \item \verb|\ejtitle| コマンドに,タイトルの英訳
+ (英文の場合は和訳) を書く.
+  \item \verb|\shozoku| コマンドに,著者の英文表記 (英文の場合は和文表記),
+所属(和文および英文) を与える.
+著者が複数いる場合には,著者ごとに \verb|\shozoku| コマンドを書く.
+ただし,複数の著者の所属が同じ場合には,ひとつの \verb|\shozoku|
+コマンドにまとめてよい.
+  \item 雑誌論文の場合,出典情報を出力する \verb|\shutten| コマンドを書く.
+大会論文の場合には,このコマンドは不要である.
+  \item 雑誌論文の場合,\verb|\uketsuke| コマンドに受付年,月,日を与える.
+このコマンドにより,受付年月日に加え,論文種別,査読種別も
+自動的に生成される.
+正しい年月日は印刷所が入れるので,著者はここには適当な年月日を与えて
+おいてもよい.
+大会論文の場合には,このコマンドは不要である.
+  \item 雑誌論文の場合,「本論文は XX ワークショップの発表論文をもとに
+発展させたものである.」というような注釈を入れることもある.
+このような注釈は \verb|\note| コマンドを使って記述する.
+\end{itemize}
+
+図 \ref{fig:author} に,雑誌論文の場合,および
+大会論文の場合の典型的な例をあげる.
+
+アブストラクトは,雑誌論文で和文の場合は和文 (\verb|\Jabstract|) と
+英文 (\verb|\Eabstract|) の双方をつける.
+雑誌論文で英文の場合は英文 (\verb|\Eabstract|) だけでよい.
+また,大会論文の場合は,本文を記述する言語に従って,和文あるいは英文の
+一方だけでよい.
+
+表 \ref{tab:commands} は,雑誌論文/大会論文,和文/英文によって,
+必須なコマンド (○),場合によってはあってもよいコマンド (△),
+不要なコマンド (×) を表にまとめたものである.
+
+\def\hbbb#1{\hbox to 2cm{\hfil #1\hfil}}
+\begin{table*}[t]
+\caption{論文の種類による各種コマンドの要/不要
+(○:必要,△:オプション,×:不要)}
+\label{tab:commands}
+\begin{center}
+\doublerulesep=0.3pt % to avoid unnecessary gap between two \hline's
+\begin{tabular}{l|c|c|c|c|c|c} \hline\hline\hline
+                & \verb|\volNoPp|
+                & \verb|\suisen|
+                & \verb|\tokushu|
+                & \verb|\taikai|
+                & \verb|\Jabstract|
+                & \verb|\Eabstract|\\ \hline
+雑誌論文 (和文) & ○ & △ & △ & × & ○ & ○ \\
+雑誌論文 (英文) & ○ & △ & △ & × & × & ○ \\
+大会論文 (和文) & × & × & × & ○ & ○ & × \\
+大会論文 (英文) & × & × & × & ○ & × & ○ \\ \hline
+\end{tabular}
+\end{center}
+\end{table*}
+
+\section{句読点}
+
+句点には全角の「\null.\null」,読点には全角の「\null,\null」を用いる.
+ただし英文中や数式中で「\,.\,」や「\,,\,」を使う場合には
+半角文字を使う.\null
+「\null 。\null」や「\null 、\null」は一切使わない.
+
+\section{全角と半角}
+
+全角文字と半角文字の両方にある文字は次のように使い分ける.
+
+\begin{itemize}
+  \item 英数字,空白,記号類は半角文字を用いる.
+ただし,句読点に関しては前項で述べたような例外がある.
+  \item カタカナは全角文字を用いる.
+  \item 引用符は開きと閉じを区別する. 
+開きには \verb|``| を用い,閉じには \verb|''| を用いる.
+  \item 省略のピリオドのあとは次のように処理する.
+特に参考文献の中の省略のピリオドに注意する.
+%
+\begin{itemize}
+  \item そこが文の終りにもなっている場合には,ピリオドのあとに単に半角空白
+を置くだけでよい.
+  \item 文の終りではないが,そこで改行してもかまわない場合は,
+\verb|Tech.\ Rep.\ 125.| のように,ピリオドの直後に \verb*|\ | をつける.
+  \item その場所で改行してほしくない場合は,\verb|pp.~26--35.| や 
+\verb|Vol.~7| のように,ピリオドの直後に \verb|~| をつける.
+\end{itemize}
+%
+\end{itemize}
+
+\section{数式}
+
+本文中では分数はなるべく \verb|\(a/b\)| (\(a/b\) と印刷される)の形を
+使用し, \verb|\(\frac{a}{b}\)|
+(\(\frac{a}{b}\))の形は極力避ける.
+また,本文中で無理矢理文字を大きくして,
+ \verb|\(\displaystyle\frac{a}{b}\)|
+(\(\displaystyle\frac{a}{b}\))のようにすることも避ける.
+
+\verb|\begin{equation}|と \verb|\end{equation}| で囲ったり,
+\verb|\[| と \verb|\]| で囲ったりした別組の数式の場合には,
+本文中の数式の場合とは逆に,
+\verb|\[ a/b \]| (\(a/b\)) よりも \verb|\[ \frac{a}{b} \]|
+(\(\displaystyle\frac{a}{b}\))の形を使う方がよい.
+
+ただし,繁分数は極力避ける.たとえば 
+\begin{adjustvboxheight}
+\[\displaystyle\frac{a+\frac{1}{2}}{b+\frac{1}{2}} \]
+\end{adjustvboxheight}
+よりも
+\begin{adjustvboxheight}
+\[ \displaystyle\frac{a+1/2}{b+1/2}\]
+\end{adjustvboxheight}
+の形の方がよい.
+
+互いに関連する別組の数式が2行以上連続して現れる場合には,
+単に \verb|\begin{equation}| と \verb|\end{equation}|,
+あるいは \verb|\[| と \verb|\]| で囲った数式を書き並べるのではなく,
+\verb|\begin{eqnarray}| と \verb|\end{eqnarray}|
+を使って,等号や不等号の位置で縦揃えを行なった方が読みやすい.
+
+\section{図と表}
+
+1段の幅におさまる図は次の形式で指定する. 位置の指定に \verb|h| は使わない.
+図は, それを参照している節の中に配置することを原則とする. 
+自由度がある場合には, 1段目 (左側の段) に置くようにする.
+
+\begin{verse}
+\qquad \verb|\begin{figure}[tb]| \\
+\qquad\quad \dots 図本体の指定 \dots \\
+\qquad \verb|\caption{| $\ldots$ \verb|}| \\
+\qquad \verb|\label{| $\ldots$ \verb|}| \\
+\qquad \verb|\end{figure}| \\
+\end{verse}
+
+2段の幅にまたがる図は次の形式で指定する. 位置の指定は \verb|t| しか使え
+ない. 2段幅の図も可能な限り, それを参照している節の中に配置する.
+
+\begin{verse}
+\qquad \verb|\begin{figure*}[t]| \\
+\qquad\quad \dots 図本体の指定 \dots \\
+\qquad \verb|\caption{| $\ldots$ \verb|}| \\
+\qquad \verb|\label{| $\ldots$ \verb|}| \\
+\qquad \verb|\end{figure*}| \\
+\end{verse}
+
+図は \LaTeX の \verb|picture| 環境を使って \LaTeX ソースファイルに含めるか,
+\verb|.eps| (Encapsulated PostScript) 形式で用意したものを
+\verb|graphicx| または \verb|graphics| パッケージで取り込む.
+それ以外の形式の図については,本文中で \verb|figure| 環境を使って
+図の大きさだけを空けておき,最終稿提出時はそれぞれの図に対応する
+ファイルを \LaTeX ソースファイルと一緒に送付する.
+
+表に関しても,幅と位置の指定は図と同様である.
+表の罫線はなるべく少なくするのが,仕上がりをすっきりさせるコツである.
+罫線をつける場合には,一番上の罫線には太線を使う.
+また,左右の端には縦の罫線をつけない (表\ref{tab:jp-domains}).
+
+% Sample for a table.
+% 一番上の罫線が太くなっていること,両はしには縦の罫線が入らないことに
+% 注意.これが標準の表のスタイルなので,これを守って作表すること.
+\begin{table}[t]
+\caption{日本のドメイン}
+\label{tab:jp-domains}
+\begin{center}
+\doublerulesep=0.3pt % to avoid unnecessary gap between two \hline's
+\begin{tabular}{c|c|l} \hline\hline\hline
+レベル & 名前 & 範囲 \\ \hline
+ 1	& \texttt{jp} & 日本 \\ \hline
+ 2	& \texttt{ac} & 大学などの研究教育組織 \\
+	& \texttt{ad} & ネットワークの管理母体 \\
+	& \texttt{co} & 企業 \\
+	& \texttt{go} & 政府関連機関 \\
+	& \texttt{or} & 非営利団体 \\ \hline
+ 3	& \emph{org}  & 各組織を表す組織名 \\ \hline
+\end{tabular}
+\end{center}
+\end{table}
+
+\section{脚注}
+
+脚注は \verb|\footnote| を使って書く.脚注
+をつけた位置と脚注本体との位置関係を調整する必要のある場合は,
+ \verb|\footnotemark| や \verb|\footnotetext| を
+使って対処する.詳しくは {\LaTeX} ブック \cite{Lamport:LaTeX} 
+の付録Cを参照してほしい.
+
+\section{見出し}
+
+節や小節の見出しには \verb|\section|,\verb|\subsection| といったコ
+マンドを使用する.
+自分で「\textbf{定義}」「\textbf{例}」「\textbf{記法}」などを
+見出しとしてつける場合には,ゴシック体を使い,新たな段落として書き出す.
+新しい段落の先頭は,自動的に1字分字下げされる.
+
+\section{左右の段の行揃え}
+
+学会誌では左右の段で各行の位置をそろえる必要がある.
+ユーザが特別な高さのボックスや数式を使ったために行の位置が乱れて
+しまうような場合には,その部分を \verb|\begin{adjustvboxheight}| と
+\verb|\end{adjustvboxheight}|で囲む.
+特に,参考文献の後に付録がある場合には,参考文献の
+\verb|thebibliography| 環境を,この環境で囲む必要がある.
+
+この環境は中途半端な行送りを吸収するためのものである.
+
+\section{参考文献の参照}
+
+主語や目的語など,文の不可欠な構成要素として文献番号を用いるときは,
+\verb|\Cite| コマンドを用いる.
+文や語句に対する付加情報として文献を参照するときは \verb|\cite| を用いる.
+\verb|\cite|は \verb|\Cite|よりもやや小さな文字で文献番号を表示する.
+
+\section{参考文献リスト}
+
+参考文献リストには,原則として本文中で引用した文献のみを列挙する.
+順序は第一著者の苗字のアルファベット順とする.
+著者名の欧文表記は苗字を最初に書き,カンマで区切ったあとイニシャルを並べる.
+具体的な記述例は,本ガイドとともに配布している \verb|sample.tex| を
+参考にすること.
+
+参考文献は,学会誌の校正作業においてもっとも手間のかかっている部分である.
+出典の表記には細心の注意を払ってほしい.
+
+\section{謝辞}
+
+謝辞は,参考文献の前に,次のように書く.
+
+\begin{verbatim}
+   {\bf 謝辞}\ 本論文の初期の版について議論して
+   いただいた A 氏に感謝する.
+\end{verbatim}
+
+% \begin{adjustvboxheight} % needed only when Appendix follows
+\begin{thebibliography}{9}
+\bibitem{Lamport:LaTeX}
+Lamport, L. : \textit{A Document Preparation System 
+{\LaTeX} User's Guide \& Reference Manual},
+Addison-Wesley, Reading, Massachusetts,1986.
+\end{thebibliography}
+%\end{adjustvboxheight} % needed only when Appendix follows
+
+\end{document}
Binary file jssst2010-style/guide.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jssst2010-style/guide.tex	Fri Aug 20 21:53:21 2010 +0900
@@ -0,0 +1,520 @@
+% Sample file for the use of compsoft style file.
+%
+\documentclass[T]{compsoft}
+%\documentclass[K,L]{compsoft}
+%
+% その他の optional argument については,compsoft.sty の旧版を
+% 参照のこと.
+
+% Preamble
+%
+% 「コンピュータソフトウェア」誌に掲載される論文の場合,次で
+% 巻数,号数,開始ページ,終了ページを指定する.
+%\volNoPp{27}{0}{1}{5}
+
+% ワークショップによる推薦論文の場合,ワークショップ名を指定する.
+% \suisen{ワークショップ名}
+
+% 特集の場合,特集のタイトルを与える.
+% \tokushu{特集のタイトル}
+
+% 大会論文の場合,\taikai で開催年を指定する.ここで指定した年から
+% 大会の回数は計算される.
+\taikai{2010}
+
+% ここに,使用するパッケージを列挙する.
+\usepackage[dvips]{graphics}
+
+% ユーザが定義したマクロなどはここに置く.ただし学会誌のスタイルの
+% 再定義は原則として避けること.
+
+\begin{document}
+
+% 論文のタイトル
+\title{新しいスタイルファイルによる論文作成ガイド}
+
+% 著者
+% 和文論文の場合,姓と名の間には半角スペースを入れ,
+% 複数の著者の間は全角スペースで区切る
+%
+\author{岩崎 英哉 上田 和紀
+%
+% ここにタイトル英訳 (英文の場合は和訳) を書く.
+%
+\ejtitle{The new compsoft Document Style Users Guide.}
+%
+% ここに著者英文表記 (英文の場合は和文表記) および
+% 所属 (和文および英文) を書く.
+% 複数著者の所属はまとめてよい.
+%
+\shozoku{Hideya Iwasaki}{電気通信大学情報工学科}%
+{Dept.\ of Computer Science, The University of Electro-Communications}
+\shozoku{Kazunori Ueda}{早稲田大学理工学部情報学科}%
+{Dept.\ of Information and Computer Science, Waseda University}
+%
+% 出典情報は \shutten とすれば出力される.
+\shutten
+%
+% 受付年月日,記事カテゴリなどは自動的に生成される.
+\uketsuke{2010}{1}{7}
+%
+% その他,脚注に入れるものがあれば,\note に記述する.
+\note{本ガイドは,旧スタイルファイルとともに配布されていた
+\texttt{sample.tex}をもとに発展させたものである.}
+}
+
+%
+% 和文アブストラクト
+\Jabstract{%
+本ガイドは,日本ソフトウェア科学会の新しいスタイルファイル
+\texttt{compsoft.sty} (2010年1月7日版)
+の利用方法を解説したものである.
+この新しいスタイルファイルは,「コンピュータソフトウェア」の
+論文,および,毎年秋に開催される日本ソフトウェア科学会大会論文の
+両方に共通のスタイルファイルとして利用する.
+}
+%
+% 英文アブストラクト (大会和文論文の場合には必要なし) 
+\Eabstract{%
+This documentation describes the new version of the
+\texttt{compsoft.sty} document style file.
+This style file can be used to typeset papers in the
+publications of Japan Society of Software Science and Technology.
+}
+%
+\maketitle
+
+\section{はじめに}
+
+日本ソフトウェア科学会では,2009年6月より「コンピュータソフトウェア」誌
+の論文の査読種別として「レター論文」を新設した.
+この機会に,「コンピュータソフトウェア」編集委員会は,
+\LaTeX \cite{Lamport:LaTeX} 用スタイルファイル \verb|compsoft.sty| を
+「コンピュータソフトウェア」誌向けの各種論文 (以下「雑誌論文」と呼ぶ),
+および,毎年秋に開催される日本ソフトウェア科学会大会の論文
+(以下「大会論文」と呼ぶ) の両方で共通して利用できるように,
+バージョンアップを行った.
+これに伴い,大会論文のフォーマットは,従来の大会独自のものから,
+雑誌論文に準ずるものに変更した.
+本ガイドは,この新しいスタイルファイルの利用方法を解説したものである.
+
+\section{論文の分類}
+
+学会誌「コンピュータソフトウェア」に掲載される雑誌論文の種別には,
+次のものがある.
+
+\begin{description}
+  \item[研究論文:]
+著者によってなされた学術研究の報告であり,独創性,新規性,有用性
+などの点で優れたもの.
+  \item[ソフトウェア論文:]
+著者によって実現されたソフトウェアの報告であり,発想,構成法,実装法
+などの点で優れ,ソフトウェアの発展に寄与するもの.
+  \item[解説論文:]
+特定の領域を調査し考察を加えて,専門外の会員にも十分に理解でき,
+かつ当該領域に対する新しい視点を与える優れた技術的論説・解説を行うもの.
+なお解説論文には,通常の「解説」と「チュートリアル」の2種類があり,
+両者では1ページ目上部の論文タイトルの上の部分が異なる.
+\end{description}
+
+上の論文種別それぞれに対し,次の査読種別がある.
+
+\begin{description}
+  \item[通常論文:]
+ページ数の制限のない,通常の査読を行う論文.
+投稿時の刷り上がりページ数は6ページ以内であっても,著者が希望すれば
+通常論文として投稿することもできる.
+  \item[レター論文:]
+速報性を重んじた査読を行う論文.
+投稿時の刷り上がりページ数は6ページ以内でなければならない.
+\end{description}
+
+一方,大会の CD-ROM に掲載される大会論文は,本スタイルファイルでは,
+便宜的に論文種別の一種として扱うこととしている.
+
+以上をまとめると,本スタイルファイルでは
+
+\begin{itemize}
+  \item 「コンピュータソフトウェア」誌に掲載される雑誌論文に対する
+論文種別と査読種別の $3\times2=6$ 通りの組み合わせ.
+  \item 大会論文
+\end{itemize}
+
+\noindent
+の,都合7通りの論文を区別して扱う.
+また,7通りのそれぞれに対して,記述言語として和文と英文の2通りが
+考えられる.\footnote{ただし,「コンピュータソフトウェア」は国内向け
+雑誌であるため,英文の解説論文はあまり想定していない.}
+
+本スタイルファイルは,旧版のスタイルファイルの上位互換に
+なるように作られている.
+「コンピュータソフトウェア」に掲載される,論文以外の記事
+(たとえば「フォーラム」など) に関しては,従前通り
+の書き方をすれば良いので,本ガイドでは扱わない.
+以下では,上の7通りの場合に絞って説明する.
+
+\section{プリアンブル}
+
+\verb|\documentclass| コマンドで指定するオプションには,
+次のものをカンマで区切って指定する.
+
+\begin{description}
+  \item[論文種別:]
+\verb|P| (研究論文でデフォルト値),
+\verb|S| (ソフトウェア論文),
+\verb|K| (普通の解説論文),
+\verb|U| (チュートリアル),
+\verb|T| (大会論文)
+のいずれか 1 つ.
+  \item[査読種別:]
+\verb|R| (通常論文でデフォルト値),
+\verb|L| (レター論文)
+のいずれか.
+ただし,大会論文の時には指定しない.
+  \item[言語:]
+\verb|J| (和文でデフォルト値),
+\verb|E| (英文)
+のいずれか.
+\end{description}
+
+下にいくつか例を示す.
+
+\begin{verbatim}
+  \documentclass{compsoft}
+      研究論文,通常論文,和文
+  \documentclass[P,L]{compsoft}
+      研究論文,レター論文,和文
+  \documentclass[S,E]{compsoft}
+      ソフトウェア論文,通常論文,英文
+  \documentclass[T]{compsoft}
+      大会論文,和文
+\end{verbatim}
+
+大会論文で,「コンピュータソフトウェア」誌に同時投稿する場合
+であっても,CD-ROM に掲載される大会の予稿論文は \verb|T| を指定して作成し,
+査読プロセスの中での改訂稿は,その論文の論文種別,査読種別に基づいた
+オプションを指定し作成すること.
+
+\verb|\documentclass| コマンドに続いて,雑誌論文の場合は,
+\verb|\volNoPp| コマンドに,巻,号,開始ページ,終了ページを指定する.
+これらの正しい数値は印刷所で記入するので,論文投稿時には,
+適当な数値を与えておけば良い.
+ただし,巻数に数値以外の値を指定すると,西暦の計算において
+エラーとなるので注意する必要がある.
+下は,第26巻第0号,開始ページ番号1,終了ページ番号5を
+指定した例である.
+
+\begin{verbatim}
+   \volNoPp{26}{0}{1}{5}
+\end{verbatim}
+
+ワークショップによる推薦論文の場合には,次のようにして
+ワークショップ名を与える.
+
+\begin{verbatim}
+   \suisen{ワークショップ名}
+\end{verbatim}
+
+特集の場合,次のようにして特集のタイトルを与える.
+
+\begin{verbatim}
+   \tokushu{特集のタイトル}
+\end{verbatim}
+
+大会論文の場合,次のように \verb|\taikai| コマンドで開催年を指定する.
+ここで指定した年から,大会の回数は自動的に計算される.
+
+\begin{verbatim}
+   \taikai{2009}
+\end{verbatim}
+
+
+これ以降,\verb|\begin{document}| までの間に,パッケージを使用する
+\verb|\usepackage| コマンド,および,ユーザが定義したマクロなどを置く.
+ただしスタイルの再定義は避けること.
+
+\section{タイトルと著者}
+
+\begin{figure*}[tb]
+\begin{center}
+\begin{verbatim}
+\author{岩崎 英哉 上田 和紀 電通 大郎
+\ejtitle{The new compsoft Document Style Users Guide.}
+\shozoku{Hideya Iwasaki, Taro Dentsu}{電気通信大学情報工学科}%
+{Dept.\ of Computer Science, The University of Electro-Communications}
+\shozoku{Kazunori Ueda}{早稲田大学理工学部情報学科}%
+{Dept.\ of Information and Computer Science, Waseda University}
+\shutten
+\uketsuke{2009}{6}{10}
+}
+\end{verbatim}
+(a) 雑誌論文の場合
+\begin{verbatim}
+\author{岩崎 英哉 上田 和紀 電通 大郎
+\ejtitle{The new compsoft Document Style Users Guide.}
+\shozoku{Hideya Iwasaki, Taro Dentsu}{電気通信大学情報工学科}%
+{Dept.\ of Computer Science, The University of Electro-Communications}
+\shozoku{Kazunori Ueda}{早稲田大学理工学部情報学科}%
+{Dept.\ of Information and Computer Science, Waseda University}
+}
+\end{verbatim}
+(b) 大会論文の場合
+\end{center}
+\caption{著者等の情報の記述例}
+\label{fig:author}
+\end{figure*}
+
+論文タイトルは,次のように \verb|\title| コマンドで指定する.
+
+\begin{verbatim}
+  \title{論文のタイトル}
+\end{verbatim}
+
+次に著者情報等を \verb|\author| コマンドで指定する.
+和文論文の場合,姓と名の間には半角スペースを入れ,
+複数の著者の間は全角スペースで区切る.
+さらに \verb|\author| コマンドの中で,次のものを空行を入れずに
+続けて指定する.
+空行が入っているとエラーになるので注意されたい.
+これらは,1ページ目の脚注に出力される.
+
+\begin{itemize}
+  \item \verb|\ejtitle| コマンドに,タイトルの英訳
+ (英文の場合は和訳) を書く.
+  \item \verb|\shozoku| コマンドに,著者の英文表記 (英文の場合は和文表記),
+所属(和文および英文) を与える.
+著者が複数いる場合には,著者ごとに \verb|\shozoku| コマンドを書く.
+ただし,複数の著者の所属が同じ場合には,ひとつの \verb|\shozoku|
+コマンドにまとめてよい.
+  \item 雑誌論文の場合,出典情報を出力する \verb|\shutten| コマンドを書く.
+大会論文の場合には,このコマンドは不要である.
+  \item 雑誌論文の場合,\verb|\uketsuke| コマンドに受付年,月,日を与える.
+このコマンドにより,受付年月日に加え,論文種別,査読種別も
+自動的に生成される.
+正しい年月日は印刷所が入れるので,著者はここには適当な年月日を与えて
+おいてもよい.
+大会論文の場合には,このコマンドは不要である.
+  \item 雑誌論文の場合,「本論文は XX ワークショップの発表論文をもとに
+発展させたものである.」というような注釈を入れることもある.
+このような注釈は \verb|\note| コマンドを使って記述する.
+\end{itemize}
+
+図 \ref{fig:author} に,雑誌論文の場合,および
+大会論文の場合の典型的な例をあげる.
+
+アブストラクトは,雑誌論文で和文の場合は和文 (\verb|\Jabstract|) と
+英文 (\verb|\Eabstract|) の双方をつける.
+雑誌論文で英文の場合は英文 (\verb|\Eabstract|) だけでよい.
+また,大会論文の場合は,本文を記述する言語に従って,和文あるいは英文の
+一方だけでよい.
+
+表 \ref{tab:commands} は,雑誌論文/大会論文,和文/英文によって,
+必須なコマンド (○),場合によってはあってもよいコマンド (△),
+不要なコマンド (×) を表にまとめたものである.
+
+\def\hbbb#1{\hbox to 2cm{\hfil #1\hfil}}
+\begin{table*}[t]
+\caption{論文の種類による各種コマンドの要/不要
+(○:必要,△:オプション,×:不要)}
+\label{tab:commands}
+\begin{center}
+\doublerulesep=0.3pt % to avoid unnecessary gap between two \hline's
+\begin{tabular}{l|c|c|c|c|c|c} \hline\hline\hline
+                & \verb|\volNoPp|
+                & \verb|\suisen|
+                & \verb|\tokushu|
+                & \verb|\taikai|
+                & \verb|\Jabstract|
+                & \verb|\Eabstract|\\ \hline
+雑誌論文 (和文) & ○ & △ & △ & × & ○ & ○ \\
+雑誌論文 (英文) & ○ & △ & △ & × & × & ○ \\
+大会論文 (和文) & × & × & × & ○ & ○ & × \\
+大会論文 (英文) & × & × & × & ○ & × & ○ \\ \hline
+\end{tabular}
+\end{center}
+\end{table*}
+
+\section{句読点}
+
+句点には全角の「\null.\null」,読点には全角の「\null,\null」を用いる.
+ただし英文中や数式中で「\,.\,」や「\,,\,」を使う場合には
+半角文字を使う.\null
+「\null 。\null」や「\null 、\null」は一切使わない.
+
+\section{全角と半角}
+
+全角文字と半角文字の両方にある文字は次のように使い分ける.
+
+\begin{itemize}
+  \item 英数字,空白,記号類は半角文字を用いる.
+ただし,句読点に関しては前項で述べたような例外がある.
+  \item カタカナは全角文字を用いる.
+  \item 引用符は開きと閉じを区別する. 
+開きには \verb|``| を用い,閉じには \verb|''| を用いる.
+  \item 省略のピリオドのあとは次のように処理する.
+特に参考文献の中の省略のピリオドに注意する.
+%
+\begin{itemize}
+  \item そこが文の終りにもなっている場合には,ピリオドのあとに単に半角空白
+を置くだけでよい.
+  \item 文の終りではないが,そこで改行してもかまわない場合は,
+\verb|Tech.\ Rep.\ 125.| のように,ピリオドの直後に \verb*|\ | をつける.
+  \item その場所で改行してほしくない場合は,\verb|pp.~26--35.| や 
+\verb|Vol.~7| のように,ピリオドの直後に \verb|~| をつける.
+\end{itemize}
+%
+\end{itemize}
+
+\section{数式}
+
+本文中では分数はなるべく \verb|\(a/b\)| (\(a/b\) と印刷される)の形を
+使用し, \verb|\(\frac{a}{b}\)|
+(\(\frac{a}{b}\))の形は極力避ける.
+また,本文中で無理矢理文字を大きくして,
+ \verb|\(\displaystyle\frac{a}{b}\)|
+(\(\displaystyle\frac{a}{b}\))のようにすることも避ける.
+
+\verb|\begin{equation}|と \verb|\end{equation}| で囲ったり,
+\verb|\[| と \verb|\]| で囲ったりした別組の数式の場合には,
+本文中の数式の場合とは逆に,
+\verb|\[ a/b \]| (\(a/b\)) よりも \verb|\[ \frac{a}{b} \]|
+(\(\displaystyle\frac{a}{b}\))の形を使う方がよい.
+
+ただし,繁分数は極力避ける.たとえば 
+\begin{adjustvboxheight}
+\[\displaystyle\frac{a+\frac{1}{2}}{b+\frac{1}{2}} \]
+\end{adjustvboxheight}
+よりも
+\begin{adjustvboxheight}
+\[ \displaystyle\frac{a+1/2}{b+1/2}\]
+\end{adjustvboxheight}
+の形の方がよい.
+
+互いに関連する別組の数式が2行以上連続して現れる場合には,
+単に \verb|\begin{equation}| と \verb|\end{equation}|,
+あるいは \verb|\[| と \verb|\]| で囲った数式を書き並べるのではなく,
+\verb|\begin{eqnarray}| と \verb|\end{eqnarray}|
+を使って,等号や不等号の位置で縦揃えを行なった方が読みやすい.
+
+\section{図と表}
+
+1段の幅におさまる図は次の形式で指定する. 位置の指定に \verb|h| は使わない.
+図は, それを参照している節の中に配置することを原則とする. 
+自由度がある場合には, 1段目 (左側の段) に置くようにする.
+
+\begin{verse}
+\qquad \verb|\begin{figure}[tb]| \\
+\qquad\quad \dots 図本体の指定 \dots \\
+\qquad \verb|\caption{| $\ldots$ \verb|}| \\
+\qquad \verb|\label{| $\ldots$ \verb|}| \\
+\qquad \verb|\end{figure}| \\
+\end{verse}
+
+2段の幅にまたがる図は次の形式で指定する. 位置の指定は \verb|t| しか使え
+ない. 2段幅の図も可能な限り, それを参照している節の中に配置する.
+
+\begin{verse}
+\qquad \verb|\begin{figure*}[t]| \\
+\qquad\quad \dots 図本体の指定 \dots \\
+\qquad \verb|\caption{| $\ldots$ \verb|}| \\
+\qquad \verb|\label{| $\ldots$ \verb|}| \\
+\qquad \verb|\end{figure*}| \\
+\end{verse}
+
+図は \LaTeX の \verb|picture| 環境を使って \LaTeX ソースファイルに含めるか,
+\verb|.eps| (Encapsulated PostScript) 形式で用意したものを
+\verb|graphicx| または \verb|graphics| パッケージで取り込む.
+それ以外の形式の図については,本文中で \verb|figure| 環境を使って
+図の大きさだけを空けておき,最終稿提出時はそれぞれの図に対応する
+ファイルを \LaTeX ソースファイルと一緒に送付する.
+
+表に関しても,幅と位置の指定は図と同様である.
+表の罫線はなるべく少なくするのが,仕上がりをすっきりさせるコツである.
+罫線をつける場合には,一番上の罫線には太線を使う.
+また,左右の端には縦の罫線をつけない (表\ref{tab:jp-domains}).
+
+% Sample for a table.
+% 一番上の罫線が太くなっていること,両はしには縦の罫線が入らないことに
+% 注意.これが標準の表のスタイルなので,これを守って作表すること.
+\begin{table}[t]
+\caption{日本のドメイン}
+\label{tab:jp-domains}
+\begin{center}
+\doublerulesep=0.3pt % to avoid unnecessary gap between two \hline's
+\begin{tabular}{c|c|l} \hline\hline\hline
+レベル & 名前 & 範囲 \\ \hline
+ 1	& \texttt{jp} & 日本 \\ \hline
+ 2	& \texttt{ac} & 大学などの研究教育組織 \\
+	& \texttt{ad} & ネットワークの管理母体 \\
+	& \texttt{co} & 企業 \\
+	& \texttt{go} & 政府関連機関 \\
+	& \texttt{or} & 非営利団体 \\ \hline
+ 3	& \emph{org}  & 各組織を表す組織名 \\ \hline
+\end{tabular}
+\end{center}
+\end{table}
+
+\section{脚注}
+
+脚注は \verb|\footnote| を使って書く.脚注
+をつけた位置と脚注本体との位置関係を調整する必要のある場合は,
+ \verb|\footnotemark| や \verb|\footnotetext| を
+使って対処する.詳しくは {\LaTeX} ブック \cite{Lamport:LaTeX} 
+の付録Cを参照してほしい.
+
+\section{見出し}
+
+節や小節の見出しには \verb|\section|,\verb|\subsection| といったコ
+マンドを使用する.
+自分で「\textbf{定義}」「\textbf{例}」「\textbf{記法}」などを
+見出しとしてつける場合には,ゴシック体を使い,新たな段落として書き出す.
+新しい段落の先頭は,自動的に1字分字下げされる.
+
+\section{左右の段の行揃え}
+
+学会誌では左右の段で各行の位置をそろえる必要がある.
+ユーザが特別な高さのボックスや数式を使ったために行の位置が乱れて
+しまうような場合には,その部分を \verb|\begin{adjustvboxheight}| と
+\verb|\end{adjustvboxheight}|で囲む.
+特に,参考文献の後に付録がある場合には,参考文献の
+\verb|thebibliography| 環境を,この環境で囲む必要がある.
+
+この環境は中途半端な行送りを吸収するためのものである.
+
+\section{参考文献の参照}
+
+主語や目的語など,文の不可欠な構成要素として文献番号を用いるときは,
+\verb|\Cite| コマンドを用いる.
+文や語句に対する付加情報として文献を参照するときは \verb|\cite| を用いる.
+\verb|\cite|は \verb|\Cite|よりもやや小さな文字で文献番号を表示する.
+
+\section{参考文献リスト}
+
+参考文献リストには,原則として本文中で引用した文献のみを列挙する.
+順序は第一著者の苗字のアルファベット順とする.
+著者名の欧文表記は苗字を最初に書き,カンマで区切ったあとイニシャルを並べる.
+具体的な記述例は,本ガイドとともに配布している \verb|sample.tex| を
+参考にすること.
+
+参考文献は,学会誌の校正作業においてもっとも手間のかかっている部分である.
+出典の表記には細心の注意を払ってほしい.
+
+\section{謝辞}
+
+謝辞は,参考文献の前に,次のように書く.
+
+\begin{verbatim}
+   {\bf 謝辞}\ 本論文の初期の版について議論して
+   いただいた A 氏に感謝する.
+\end{verbatim}
+
+% \begin{adjustvboxheight} % needed only when Appendix follows
+\begin{thebibliography}{9}
+\bibitem{Lamport:LaTeX}
+Lamport, L. : \textit{A Document Preparation System 
+{\LaTeX} User's Guide \& Reference Manual},
+Addison-Wesley, Reading, Massachusetts,1986.
+\end{thebibliography}
+%\end{adjustvboxheight} % needed only when Appendix follows
+
+\end{document}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jssst2010-style/jssst.bst	Fri Aug 20 21:53:21 2010 +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
+			{"ほか" * }
+			{" 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
+		{"(編)" * } %%{", editors" * } if$
+                            {"(eds.)" *} if$
+	}
+	{ editor is.kanji
+		{"(編)" *}  %%{", 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
+            { "技術報告" }
+            { "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$ " ほか" *} {pop$ " et~al." * } if$
+    }
+    { #2 <
+	'skip$
+	{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+	    { editor is.kanji
+		{" ほか" *} {"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
+        { "修士論文" }  
+        { "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
+        { "博士論文" }
+        { "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/jssst2010-style/sample-sjis.tex	Fri Aug 20 21:53:21 2010 +0900
@@ -0,0 +1,526 @@
+% Sample file for the use of compsoft style file.
+%
+\documentclass[T]{compsoft}
+
+% Preamble
+%
+% 「コンピュータソフトウェア」誌に掲載される論文の場合,次で
+% 巻数,号数,開始ページ,終了ページを指定する.
+%\volNoPp{16}{5}{78}{83}
+
+% ワークショップによる推薦論文の場合,ワークショップ名を指定する.
+% \suisen{ワークショップ名}
+
+% 特集の場合,特集のタイトルを与える.
+% \tokushu{特集のタイトル}
+
+% 大会論文の場合,\taikai で開催年を指定する.ここで指定した年から
+% 大会の回数は計算される.
+\taikai{2010}
+
+% ここに,使用するパッケージを列挙する.
+\usepackage[dvips]{graphics}
+
+% ユーザが定義したマクロなどはここに置く.ただし学会誌のスタイルの
+% 再定義は原則として避けること.
+
+\begin{document}
+
+% 論文のタイトル
+\title{自己調整二分木の並列操作}
+
+% 著者
+% 和文論文の場合,姓と名の間には半角スペースを入れ,
+% 複数の著者の間は全角スペースで区切る
+%
+\author{上田 和紀
+%
+% ここにタイトル英訳 (英文の場合は和訳) を書く.
+%
+\ejtitle{Concurrent Operations on Splay Trees.}
+%
+% ここに著者英文表記 (英文の場合は和文表記) および
+% 所属 (和文および英文) を書く.
+% 複数著者の所属はまとめてよい.
+%
+\shozoku{Kazunori Ueda}{早稲田大学理工学部情報学科}%
+{Dept.\ of Information and Computer Science, Waseda University}
+%
+% 出典情報は \shutten とすれば出力される.
+%\shutten
+%
+% 受付年月日,記事カテゴリなどは自動的に生成される.
+%\uketsuke{1999}{8}{3}
+%
+% その他,脚注に入れるものがあれば,\note に記述する.
+%\note{脚注に入れる内容}
+}
+
+%
+% 和文アブストラクト
+\Jabstract{%
+SleatorとTarjanによる自己調整二分木(splay tree)に対して並
+列操作を可能にする操作アルゴリズムを提案する.提案するアル
+ゴリズムは,同一の木に対する複数の更新・挿入・削除操作のパイプライン的並
+列実行を許し,かつ操作系列のスループット(単位時間内に処理可能な
+操作の個数)とレスポンス(個々の操作の償却計算量
+(amortized complexity))を両立させることを目的としている.
+スループットの最適性と挿入操作の対数的レスポンスについては
+理論的結果を示す.削除操作は,木の形状に関する良い性質を保つ
+にもかかわらず,Sleatorらの枠組みでは最適性が証明できない.
+このことについても論じる.}
+%
+% 英文アブストラクト(大会論文には必要なし)
+% \Eabstract{}
+%
+\maketitle
+
+\section{はじめに}
+
+自己調整二分木(スプレー木, splay tree) \cite{ST85}は,アクセスした節
+点に対して扁平化(splaying)操作(\ref{subsection:splaying}節)
+を施すことにより,木の形状を動的に最適化す
+る二分探索木の総称であり,
+%
+% さまざまなアク
+% セスパターンに対して木の形状が動的に最適化してゆく二分木であり,
+%
+多くの強力な性質が成り立つことがわかっている.本論文では,
+同一のスプレー木に対する複数の挿入削除等の操作
+のパイプライン的並列実行を可能にする方法を検討する.目標は,下記の要請を満たす
+操作アルゴリズムを得ることである.
+%
+\begin{enumerate}
+\item ({\bf レスポンス}) 通常のスプレー木の操作と同様,
+対数的な償却計算量(amortized complexity)\cite{T85}をもつ.
+
+\item ({\bf スループット}) 操作後の木の形状が,根に近い部分か
+ら葉に向かって
+漸増的に確定するようにすることで,個々の操作が同時に施錠しなければな
+らない節点の数を高々${\rm O}(1)$個におさえる.
+\end{enumerate}
+%
+もしスループットだけが目標ならば,二分木を用いなくても,
+線形リストを用いて容
+易に達成できる.したがって,レスポンスとスループット
+を同時に達成することが本質的に重要である.
+%
+B木やその変種に対する並列操作の研究は少なくない\cite{LS86}が,スプ
+レー木の並列性に関する研究は少なく,著者の知る限り,上記の二条件を満たす
+並列アルゴリズムはまだ提案されていない.
+
+本論文では,二分探索木の各節点はキーと値の対を保持するものとし,節点は
+キーの対称順(symmetric order)に並んでいるとする.基本操作として,
+次の二つを考える.単なる節点値の読出しは${\it update\/}$の単純な変
+種と考えることができる.
+
+\begin{description}
+\item{${\it update}(i,v,v',t)$:} キー$i$をもつ節点が木$t$の中にあれば,そ
+の節点の現在の値を$v$に代入したあと,節点に新たな値$v'$を格納する.
+なければ,キー$i$と値$v'$をもつ節点を$t$に挿入し,$v$には節点がなかった
+ことを示す特別の値を代入する.
+
+\item{${\it delete}(i,v,t)$:} キー$i$をもつ節点が木$t$の中にあれば,その節
+点の現在の値を$v$に代入したあと,節点を消去する.なければ$v$に特別の
+値を代入する.
+\end{description}
+
+
+\section{関連研究}
+
+\subsection{扁平化とトップダウン扁平化}\label{subsection:splaying}
+
+スプレー木における扁平化とは,節点の探索操作において
+アクセスしたパスの長さをおよそ半分にしつつ,目標
+節点(${\it delete\/}$においては,目標節点の直前または直後のキーをもつ節点)
+を木の根まで浮上させる操作である.扁平化は枝の回転(rotation)を基本操
+作としており,図\ref{figure:splaying}に示す
+zig, zig-zig, zig-zagのうちの適切な操作をボ
+トムアップに繰り返す.以下本論文では,左右対称な操作群はその片方のみを示
+す.また図中の小文字は節点,大文字は部分木を示す.
+%
+${\it update}$, ${\it delete\/}$等の個別の
+操作アルゴリズムについては多くの変種がある.扁平化の大きな特徴は,アクセ
+スしたパス上の各節点の深さを約半分にする一方で,アク
+セスしたパスの上にない節点を,高々${\rm O}(1)$段しか深くしないこと
+である.
+
+\begin{figure}[tb]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig1.eps}}
+\end{center}
+\caption{
+ボトムアップ扁平化操作の1ステップ. % \cite{ST85}
+$x$ がアクセスした節点.(a) zig: 1回の右回転($y$が根の場合
+のみ),
+(b) zig-zig: 枝$yz$と枝$xy$をこの順に右回転,(c) zig-zag: 枝$xy$
+を左回転し,できた枝$xz$を右回転.}
+\label{figure:splaying}
+\end{figure}
+
+扁平化はボトムアップな変形操作であるため,並列操作には適さない.
+文献\Cite{ST85}はトップダウン扁平化も提案しているが,これは実装の
+容易化が主な目的であり,木の根は操作終了の直前まで確定しない.
+
+
+\subsection{並列操作に関する過去の研究}\label{subsection:related-parallel}
+
+和田\cite{W90}は,並行論理型言語\cite{S89}の論理変数を用いた扁
+平化アルゴリズムを提案している.これは,論理変数を利用して,
+トップダウン扁平化をin-placeで行なうようにしたものと見なすこともできる
+が,${\it update\/}$のように,対象となる節点が操作終了後の木に存在するこ
+とがわかっている場合は,木の根のキーを操作の最初に確定させる点が大きな特徴で
+ある.
+% 
+% 数百節点の連続挿入操作の並列度は4〜8であるという実験結果が
+% 報告されている\cite{W90}.
+%
+しかしこの技法は,
+${\it delete\/}$のように,操作結果の木の根が事前にわから
+ない場合には適用できない.
+
+
+\subsection{トップダウン扁平化の問題点}
+
+トップダウン扁平化による${\it update\/}$は,
+\ref{subsection:related-parallel}節のように
+根のキーを最初に確定させるよ
+うにしても,並列処理の観点からは問題が残る.たとえば,節点
+$x(<b)$ ($<$はキーによる順序関係)の${\it update\/}$によって起きる
+図\ref{figure:topdown}の
+zig-zig操作\cite{W90} を考える($L$と$R$は,木$C$をトップダウン扁平
+化した結果の左(右)部分木で,${\it update\/}$完了時までに確定).
+
+% \begin{adjustvboxheight}
+\begin{figure}[tb]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig2.eps}}
+\end{center}
+\caption{トップダウン扁平化による${\it update\/}$}
+\label{figure:topdown}
+\end{figure}
+% \end{adjustvboxheight}
+
+この${\it update\/}$の後,$y(<x)$, $z(>b)$へのアクセスがこの順に続くと
+する.最初の$x$へのアクセス時に$x$が部分木$C$の左の方にあったためにzig-zig操作
+が続く場合,$L$の
+根が確
+定するのは遅くなる.しかし$L$の根が確定するまでは,次の$y$へのアクセ
+スがzig, zig-zig, zig-zagのどれをまず適用するか決められない.
+% 
+% 長く待っても,目標の節点の上昇段数が多ければ問題はないのであるが,
+% それが
+%
+そこで3番目の
+$z$へのアクセスが,2番目の操作によって影響を受けることのない$b$の右部分
+木に向かうにもかかわらず,長時間ブロックしてしまう.
+
+削除操作はさらに問題である.一般に,二分木から節点$x$を削除するには,
+$x$の左部
+分木の最大の節点$y$を探してそれを$x$の場所に移すことが基本とな
+る.しかし,扁平化の有無にかかわらず,$y$が見つかるまでは$x$の場所
+にくる新たなキーは確定せず,後続の操作をブロックしてしまう.以下のよう
+な解決法も考えられるが,いずれもうまく動作しない.
+
+\begin{enumerate}
+\item % {\bf 一時的なキー}
+$y$が見つかるまで,$x$を一時的なキーとして利用すると,
+$y\le z\le x$であるような節点$z$への操作を誤った方向へ導く.
+
+\item % {\bf 双方向リスト}
+各節点が直前と直後のキーをもつ節点へのポインタを保持することによって,
+$x$の直前の要素$y$に${\rm O}(1)$時間でアクセスできるようにする
+ことが考えられる.これらのポインタは木
+の扁平化時に変更する必要がないという特徴がある.
+% 
+しかしこの方法は逐次操作のときしかうまく動作しない.
+% 
+% あるプロセスが節点
+% $x$を削除しようとしたとする.そのプロセスは節点$y$に${\rm O}(1)$時間でア
+% クセスできるものの,単にそれを削除して$x$のかわりに用いることはできない.
+% (invisible pointer?)
+%
+なぜならこの削除操作の前の操作が$x$と$y$を結
+ぶパスを下降中で,いずれ$y$に到達するかもしれないからである.
+\end{enumerate}
+
+したがって本論文では,高々${\rm O}(1)$個の節を施錠しつつ,厳密にトップダウ
+ンに木を変形してゆくアルゴリズムを考えることとする.
+
+\section{並列更新アルゴリズム}\label{section:update}
+
+本節では,後続の操作をブロックしない${\it update\/}$操作を与える.基本的な
+アイデアは,zig-zigとzig-zagの両方について,目標節点をその深さの
+半分までしか浮上させない半扁平化(semi-splaying)を用いることである(文献
+\cite{ST85}の半扁平化は,zig-zigのみが扁平化と異なっていた).$x$を更新対
+象の節点とすると,アルゴリズムは以下のようになる.
+%
+% ここでも左右対称な操作の片方のみを述べる.
+
+\begin{itemize}
+% \medskip\noindent (a)
+\item[(a)]
+空の木に対する挿入は図\ref{figure:update}
+(a1)の操作,(空でない)木の根に対する更新は
+図\ref{figure:update}(a2)の操作を行なう.
+
+% \begin{adjustvboxheight}
+\begin{figure*}[t]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig3.eps}}
+\end{center}
+\caption{後続操作をブロックしない更新アルゴリズムの1ステップ}
+\label{figure:update}
+\end{figure*}
+% \end{adjustvboxheight}
+
+% \medskip\noindent (b)
+\item[(b)]
+zig: 
+$x$が左部分木の根である場合は図\ref{figure:update}(b1)
+の操作,$x$が存在すべき左部分木が空の
+場合は図\ref{figure:update}(b2)の操作を行なう.
+
+% \medskip\noindent (c)
+\item[(c)]
+zig-zig: 図\ref{figure:update}(c)左の木における$x (<b)$の探索では,
+枝$ba$の右回転を行なってアクセスしたパスの長さを1短縮する.次は1レベル
+(短縮前の長さでは2レベル)下降して,部分木$A$に対して再帰的に探索を行なう.
+
+% \medskip\noindent (d)
+\item[(d)]
+zig-zag: 図\ref{figure:update}(d)左の木における節点$x$ ($b<x<a$) の
+探索では,
+枝$cb$の左回転と,できた枝$ca$の右回転を行ない,
+アクセスしたパスを1短縮する.
+%
+% 二つの中側の部分木の適当な方に対して再帰的に探索を行なう.
+%
+% \noindent
+$x=c$ならばこれで探索終了である.$x<c$ならば2レベル(短縮前の長さでは3レ
+ベル)下降して$B$の中から$x$を再帰的に
+探索する.$x>c$ならば同様に$C$の中から再帰的に探索する.$x\ge c$の場合には
+枝$ca$の回転操作を省略することも考えられる.
+%
+$b$の右部分木が空の場合は,そこに節点$x$を挿入
+したあと,上に述べた回転操作を行なう.
+
+\end{itemize}
+% \medskip
+以上の操作で,アクセスしたパスの長さは最悪でも約$2/3$になる.
+%
+半分でなくて$2/3$なのは,上記zig-zag操作の性質によるものである.
+
+
+\section{並列削除アルゴリズム}\label{section:delete}
+
+並列削除のための基本的な着想は,扁平化操作を,削除すべき節点を下降さ
+せるために利用することである.これまでは,扁平化操作はもっぱら,再度アク
+セスしそう
+な節点を浮上させるために用いられてきた.ここで重要なことは,削除対象の
+節点以外は高々${\rm O}(1)$レベルしか下降させないようにすることである.
+以下では,$z$を削除対象の節点とする.
+
+まず,根節点が削除対象節点$z$である場合を考える.この場合,zippingと呼ぶ
+操作によって
+それを``容易に''削除できる場所まで下降させる.節点が``容易に''削除でき
+るとは,その左部分木,右部分木,左部分木の右部分木,右部分木の左部分木の
+いずれかが空であることである.根節点の下降によって,その左部分木と
+右部分木の縫い合せが起きる.
+% 
+% これが言葉の由来である.
+
+\begin{enumerate}
+% \medskip\noindent (a)
+\item[(a)]
+``容易に''削除できる場合:図\ref{figure:delete}(a1)または(a2)
+のように変形する.
+
+
+% \begin{adjustvboxheight}
+\begin{figure*}[t]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig4.eps}}
+\end{center}
+\caption{後続操作をブロックしない削除アルゴリズムの1ステップ}
+\label{figure:delete}
+\end{figure*}
+% \end{adjustvboxheight}
+
+% \medskip\noindent (b)
+\item[(b)]
+``容易に''削除できない場合:図\ref{figure:delete}(b)のように
+zig-zagを施し,そ
+の結果できる$b$の右部分木に,(一つめとは左右対称な) zig-zagを施す.
+
+\noindent
+4回の回転で$z$は2レベル下降する.$z$の新たな部分木$C$と$F$
+は,同じレベルにとどまる.それ以外の節点も高々1レベルしか下降
+しない.$z$を根とする新たな部分木に対して再帰的に削除操作を行なうが,$z$の子孫
+でない節点がそれによってさらに下降することはない.
+\end{enumerate}
+
+% \medskip
+図\ref{figure:zipping}に,根節点$z$の削除による木の形状の変化を示す.
+\begin{figure*}[t]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig5.eps}}
+\end{center}
+\caption{Zippingによる節点$z$の削除}
+\label{figure:zipping}
+\end{figure*}
+
+削除対象節点$z$が根であるとは限らない場合は,まず第\ref{section:update}節の
+方法で$z$を探索する.これは根から$z$に至るパスを短縮する効果をもつ.つぎ
+に,$z$をzippingによって下降させて削除する.
+
+Zipping操作はパスの短縮を行なわないが,アクセスした節点は浮上させ
+るという原則にしたがうならば,zippingに先だって,左部分木の最大要素に至
+るパスと右部分木の最小要素に至るパスをそれぞれトップダウンの半扁平化
+(zig-zig (図\ref{figure:update}(c)) の繰返し)によっ
+て短縮すればよい.この短縮化はzippingと並行して行なうことができる.
+
+Zippingは更新操作と異なり,各節点のキー値を読むことなく木を下降する.
+またzippingは,木$T_1$と木$T_2$ ($T_1$のど
+のキーも,$T_2$のどのキーよりも小さいものとする)とのトップダウン併合操作
+にも応用できる.すなわち,新たな節点(キーは任意)を調達し,その左部分木
+を$T_1$,右部分木を$T_2$として一つの木を構成した
+のち,調達した根節点を消去すればよい.
+
+\section{計算量に関する結果と考察}
+
+効率の二つの尺度のうち,スループットにつ
+いては容易に議論ができる.すなわち,二つの操作は,レベル$l$ (根をレ
+ベル$0$として)の節点を${\rm O}(l)$回 --- ${\it update\/}$は高々$(l+2)$回,
+zippingは高々$(2l+2)$回 ---
+の回転操作ののちに確定させる.
+さらにどちらの操作も,連続する高々$3$
+レベルの節点を同時に施錠するだけでよい.これらのことから,木の大きさや深
+さによらないスループットで,操作系列をパイプライン的に並列処理するこ
+とができる.
+
+レスポンスは,${\it update\/}$については,通常のスプレー
+木と同等の償却計算量をもつことが証明できる.具体的には,
+節点$x$の{\bf 大きさ}$s(x)$を$x$を根とする部分木の節点数と定義し,
+{\bf ランク}$r(x)$を$\log_2(s(x))$とする.
+そして
+%
+木の{\bf ポテンシャル}を,すべての節点のランクの和と定義する.
+すると,${\it update\/}$の償却時間,つまり回転操作の回数で測った所
+要時間に操作前後のポテンシャルの変化を加えたものは,$n$を木の節点数とし
+て,${\rm O}(\log n)$であることを示すことができる.
+このことから,十分長い操作系列の平均レスポンスは,最悪でも対数的であるこ
+とがわかる.
+文献\Cite{ST85}のよう
+に,節点に異なる重みをつけて$s$や$r$を定義することにより,より強い性質
+を示すこともできるが,本論文では省く.
+
+一方,${\it delete\/}$については,文献\Cite{ST85}の解析方法では,対
+数的償却計
+算量を導くことはできない.そのことを示すために,図\ref{figure:delete}
+(b)の4回の回転によるポテンシャル変化を考える.
+
+図\ref{figure:delete}(b)の一番右側
+の木のランク関数を$r'$とする.一番左側の木からのポテンシャルの変化を,
+$k$をある正定数として$k(r'(b)-r'(z))$以内に押さえることができることを示すのが,
+文献\Cite{ST85}における償却計算量の証明技法の基本であった.しかし,
+これらの木に
+ついて$s(A)= s(B) = s(C) = h\gg t = s(D) = s(E) = s(F)$
+を仮定すると,ポテンシャル変化が$h/t$に関して${\rm O}(\log
+(h/t))$となる.一方$r'(b)-r'(z)$は$h/t$に関して${\rm O}(1)$であるので,
+上記の要請を満たす
+$k$は存在しないことがわかる.Zippingに先立ってパス短縮化を行なっ
+た場合についても,同様のことが示せる.
+
+しかし,第\ref{section:delete}節の削除操作は,
+%
+アクセスしたパス上の節点の深さが約半分になり(事前にパス
+短縮化を施した場合),それ以外の節点も高々定数レベルしか沈まない
+%
+という,節点の浮き沈みについてのスプレー木一般の性質は満たしている.
+%
+では一般に,この二つの性質を満たす自己調整的な木アルゴリズムで,平均レス
+ポンスが対数時間で押さえられないような,十分長い操作系列は存在す
+るのだろうか? これは未解決であるが,本論文で提案した二操作に
+ついては,平均レスポンスは少なくとも${\rm O}(\sqrt n)$ (更新のみならば
+${\rm O}(\log n)$)と予想される.
+
+その根拠
+として,各節点の削除しやすさの変化を考える.
+節点$x$の{\bf 削除困難度}$d(x)$を,$x$からその直前のキー$x_-$をもつ節
+点へ至るパス長($x_-$が存在しない場合や,$x_-$が$x$の子孫で
+ない場合は$0$と定める)と直後のキー$x_+$をもつ節に至るパス長の最小値
+と定めると,第\ref{section:delete}節の
+${\it delete\/}$は,$d$の大きな節点の消去には時間がかかるも
+のの,残った各節点の$d$を高々${\rm O}(1)$
+しか大きくしない.また第\ref{section:update}節の
+${\it update\/}$で新たに挿入した節点の$d$
+は$0$であり,${\it update\/}$はすでに存在していた各節点の$d$も高々${\rm
+O}(1)$しか大きくしない.(ボトムアップ扁平化における節点の$d$の増加は,定数で
+押えることができない.)これらのことから
+%
+\begin{enumerate}
+\item[1.]
+新たな節点の$d$の値が$k$まで成長するには,他の節点の$\Omega(k)$
+回の挿入削除が必要
+\end{enumerate}
+%
+であることがわかる.さらに
+%
+\begin{enumerate}
+\item[2.]
+二分木における各節点の$d$の総和は,
+木をトラバースしたときに通る枝の延べ本数を上回ることはないから
+${\rm O}(n)$
+\end{enumerate}
+%
+である.1.と2.から,
+新たな節点の挿入と,$d$の大きな節点の消去が繰り返されるという最悪の操作
+系列を考えても,操作の平均の手間は${\rm O}(\sqrt n)$であり,実用上の効率
+は更新操作のみの場合とほとんど変わらないと予想される.
+
+\section{まとめと今後の課題}
+
+節点の浮き沈みに関する望ましい性質を保ち,かつ計算量の意味で最適なスルー
+プットをもつ自
+己調整二分木の並列操作(更新,挿入,削除,併合)アルゴリズムを提案した.節点の
+更新や挿入に関して
+は対数的償却計算量を持つことが証明できており,さらにアクセスパターンの偏
+りや変化に対する追従性など,スプレー木の持つ強力かつ頑健な性質
+の多くを引き継いでいる.削除の償却計算量のより良い理論的限界を導く(また
+はその不存在を示す)ことは今
+後の課題である.また,アルゴリズムの実際的効率,並列分散環境での実装,応
+用の検討も今後の課題である.
+
+
+{\bf 謝辞}\
+本論文の初期の版について議論していただいたRobert Tarjan氏(Princeton大),
+毛受哲氏(NEC),中谷祐介氏(早稲田大)に感謝する.
+%
+\begin{adjustvboxheight} % needed only when Appendix follows
+\begin{thebibliography}{99}
+\bibitem{LS86} Lanin, V. and Shasha, D.:A Symmetric Concurrent B-Tree
+Algorithm,
+Proc.\ 1986 Fall Joint Computer Conference, IEEE, 1986, pp.~380--389.
+
+\bibitem{ST85} Sleator, D. D. and Tarjan, R. E.:Self-Adjusting Binary Search
+Trees, {\it J. ACM}, Vol.~32, No.~3 (1985), pp.~652--686.
+
+\bibitem{S89} Shapiro E.:The Family of Concurrent Logic Programming Languages.
+{\it ACM Computing Surveys}, Vol.~21, No.~3 (1989), pp.~413--510.
+
+\bibitem{T85} Tarjan, R. E.:Amortized Computational Complexity, {\it
+SIAM J.\ Alg.\ Disc.\ Math.}, Vol.~6, No.~2 (1985), pp.~306--318.
+
+\bibitem{W90} 和田久美子:スプレイ木の並列データ探索, Proc.\ KL1
+Programming Workshop '90, Tokyo, ICOT, 1990, pp.~42--49.
+\end{thebibliography}
+\end{adjustvboxheight} % needed only when Appendix follows
+
+\appendix
+\section{付録: \LaTeX による論文作成のガイド} 
+
+ここに,以前の \verb|sample.tex| では,論文作成のガイドがあったが,
+その内容は \verb|guide.tex| に移動した.
+
+\end{document}
Binary file jssst2010-style/sample.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jssst2010-style/sample.tex	Fri Aug 20 21:53:21 2010 +0900
@@ -0,0 +1,526 @@
+% Sample file for the use of compsoft style file.
+%
+\documentclass[T]{compsoft}
+
+% Preamble
+%
+% 「コンピュータソフトウェア」誌に掲載される論文の場合,次で
+% 巻数,号数,開始ページ,終了ページを指定する.
+%\volNoPp{16}{5}{78}{83}
+
+% ワークショップによる推薦論文の場合,ワークショップ名を指定する.
+% \suisen{ワークショップ名}
+
+% 特集の場合,特集のタイトルを与える.
+% \tokushu{特集のタイトル}
+
+% 大会論文の場合,\taikai で開催年を指定する.ここで指定した年から
+% 大会の回数は計算される.
+\taikai{2010}
+
+% ここに,使用するパッケージを列挙する.
+\usepackage[dvips]{graphics}
+
+% ユーザが定義したマクロなどはここに置く.ただし学会誌のスタイルの
+% 再定義は原則として避けること.
+
+\begin{document}
+
+% 論文のタイトル
+\title{自己調整二分木の並列操作}
+
+% 著者
+% 和文論文の場合,姓と名の間には半角スペースを入れ,
+% 複数の著者の間は全角スペースで区切る
+%
+\author{上田 和紀
+%
+% ここにタイトル英訳 (英文の場合は和訳) を書く.
+%
+\ejtitle{Concurrent Operations on Splay Trees.}
+%
+% ここに著者英文表記 (英文の場合は和文表記) および
+% 所属 (和文および英文) を書く.
+% 複数著者の所属はまとめてよい.
+%
+\shozoku{Kazunori Ueda}{早稲田大学理工学部情報学科}%
+{Dept.\ of Information and Computer Science, Waseda University}
+%
+% 出典情報は \shutten とすれば出力される.
+%\shutten
+%
+% 受付年月日,記事カテゴリなどは自動的に生成される.
+%\uketsuke{1999}{8}{3}
+%
+% その他,脚注に入れるものがあれば,\note に記述する.
+%\note{脚注に入れる内容}
+}
+
+%
+% 和文アブストラクト
+\Jabstract{%
+SleatorとTarjanによる自己調整二分木(splay tree)に対して並
+列操作を可能にする操作アルゴリズムを提案する.提案するアル
+ゴリズムは,同一の木に対する複数の更新・挿入・削除操作のパイプライン的並
+列実行を許し,かつ操作系列のスループット(単位時間内に処理可能な
+操作の個数)とレスポンス(個々の操作の償却計算量
+(amortized complexity))を両立させることを目的としている.
+スループットの最適性と挿入操作の対数的レスポンスについては
+理論的結果を示す.削除操作は,木の形状に関する良い性質を保つ
+にもかかわらず,Sleatorらの枠組みでは最適性が証明できない.
+このことについても論じる.}
+%
+% 英文アブストラクト(大会論文には必要なし)
+% \Eabstract{}
+%
+\maketitle
+
+\section{はじめに}
+
+自己調整二分木(スプレー木, splay tree) \cite{ST85}は,アクセスした節
+点に対して扁平化(splaying)操作(\ref{subsection:splaying}節)
+を施すことにより,木の形状を動的に最適化す
+る二分探索木の総称であり,
+%
+% さまざまなアク
+% セスパターンに対して木の形状が動的に最適化してゆく二分木であり,
+%
+多くの強力な性質が成り立つことがわかっている.本論文では,
+同一のスプレー木に対する複数の挿入削除等の操作
+のパイプライン的並列実行を可能にする方法を検討する.目標は,下記の要請を満たす
+操作アルゴリズムを得ることである.
+%
+\begin{enumerate}
+\item ({\bf レスポンス}) 通常のスプレー木の操作と同様,
+対数的な償却計算量(amortized complexity)\cite{T85}をもつ.
+
+\item ({\bf スループット}) 操作後の木の形状が,根に近い部分か
+ら葉に向かって
+漸増的に確定するようにすることで,個々の操作が同時に施錠しなければな
+らない節点の数を高々${\rm O}(1)$個におさえる.
+\end{enumerate}
+%
+もしスループットだけが目標ならば,二分木を用いなくても,
+線形リストを用いて容
+易に達成できる.したがって,レスポンスとスループット
+を同時に達成することが本質的に重要である.
+%
+B木やその変種に対する並列操作の研究は少なくない\cite{LS86}が,スプ
+レー木の並列性に関する研究は少なく,著者の知る限り,上記の二条件を満たす
+並列アルゴリズムはまだ提案されていない.
+
+本論文では,二分探索木の各節点はキーと値の対を保持するものとし,節点は
+キーの対称順(symmetric order)に並んでいるとする.基本操作として,
+次の二つを考える.単なる節点値の読出しは${\it update\/}$の単純な変
+種と考えることができる.
+
+\begin{description}
+\item{${\it update}(i,v,v',t)$:} キー$i$をもつ節点が木$t$の中にあれば,そ
+の節点の現在の値を$v$に代入したあと,節点に新たな値$v'$を格納する.
+なければ,キー$i$と値$v'$をもつ節点を$t$に挿入し,$v$には節点がなかった
+ことを示す特別の値を代入する.
+
+\item{${\it delete}(i,v,t)$:} キー$i$をもつ節点が木$t$の中にあれば,その節
+点の現在の値を$v$に代入したあと,節点を消去する.なければ$v$に特別の
+値を代入する.
+\end{description}
+
+
+\section{関連研究}
+
+\subsection{扁平化とトップダウン扁平化}\label{subsection:splaying}
+
+スプレー木における扁平化とは,節点の探索操作において
+アクセスしたパスの長さをおよそ半分にしつつ,目標
+節点(${\it delete\/}$においては,目標節点の直前または直後のキーをもつ節点)
+を木の根まで浮上させる操作である.扁平化は枝の回転(rotation)を基本操
+作としており,図\ref{figure:splaying}に示す
+zig, zig-zig, zig-zagのうちの適切な操作をボ
+トムアップに繰り返す.以下本論文では,左右対称な操作群はその片方のみを示
+す.また図中の小文字は節点,大文字は部分木を示す.
+%
+${\it update}$, ${\it delete\/}$等の個別の
+操作アルゴリズムについては多くの変種がある.扁平化の大きな特徴は,アクセ
+スしたパス上の各節点の深さを約半分にする一方で,アク
+セスしたパスの上にない節点を,高々${\rm O}(1)$段しか深くしないこと
+である.
+
+\begin{figure}[tb]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig1.eps}}
+\end{center}
+\caption{
+ボトムアップ扁平化操作の1ステップ. % \cite{ST85}
+$x$ がアクセスした節点.(a) zig: 1回の右回転($y$が根の場合
+のみ),
+(b) zig-zig: 枝$yz$と枝$xy$をこの順に右回転,(c) zig-zag: 枝$xy$
+を左回転し,できた枝$xz$を右回転.}
+\label{figure:splaying}
+\end{figure}
+
+扁平化はボトムアップな変形操作であるため,並列操作には適さない.
+文献\Cite{ST85}はトップダウン扁平化も提案しているが,これは実装の
+容易化が主な目的であり,木の根は操作終了の直前まで確定しない.
+
+
+\subsection{並列操作に関する過去の研究}\label{subsection:related-parallel}
+
+和田\cite{W90}は,並行論理型言語\cite{S89}の論理変数を用いた扁
+平化アルゴリズムを提案している.これは,論理変数を利用して,
+トップダウン扁平化をin-placeで行なうようにしたものと見なすこともできる
+が,${\it update\/}$のように,対象となる節点が操作終了後の木に存在するこ
+とがわかっている場合は,木の根のキーを操作の最初に確定させる点が大きな特徴で
+ある.
+% 
+% 数百節点の連続挿入操作の並列度は4〜8であるという実験結果が
+% 報告されている\cite{W90}.
+%
+しかしこの技法は,
+${\it delete\/}$のように,操作結果の木の根が事前にわから
+ない場合には適用できない.
+
+
+\subsection{トップダウン扁平化の問題点}
+
+トップダウン扁平化による${\it update\/}$は,
+\ref{subsection:related-parallel}節のように
+根のキーを最初に確定させるよ
+うにしても,並列処理の観点からは問題が残る.たとえば,節点
+$x(<b)$ ($<$はキーによる順序関係)の${\it update\/}$によって起きる
+図\ref{figure:topdown}の
+zig-zig操作\cite{W90} を考える($L$と$R$は,木$C$をトップダウン扁平
+化した結果の左(右)部分木で,${\it update\/}$完了時までに確定).
+
+% \begin{adjustvboxheight}
+\begin{figure}[tb]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig2.eps}}
+\end{center}
+\caption{トップダウン扁平化による${\it update\/}$}
+\label{figure:topdown}
+\end{figure}
+% \end{adjustvboxheight}
+
+この${\it update\/}$の後,$y(<x)$, $z(>b)$へのアクセスがこの順に続くと
+する.最初の$x$へのアクセス時に$x$が部分木$C$の左の方にあったためにzig-zig操作
+が続く場合,$L$の
+根が確
+定するのは遅くなる.しかし$L$の根が確定するまでは,次の$y$へのアクセ
+スがzig, zig-zig, zig-zagのどれをまず適用するか決められない.
+% 
+% 長く待っても,目標の節点の上昇段数が多ければ問題はないのであるが,
+% それが
+%
+そこで3番目の
+$z$へのアクセスが,2番目の操作によって影響を受けることのない$b$の右部分
+木に向かうにもかかわらず,長時間ブロックしてしまう.
+
+削除操作はさらに問題である.一般に,二分木から節点$x$を削除するには,
+$x$の左部
+分木の最大の節点$y$を探してそれを$x$の場所に移すことが基本とな
+る.しかし,扁平化の有無にかかわらず,$y$が見つかるまでは$x$の場所
+にくる新たなキーは確定せず,後続の操作をブロックしてしまう.以下のよう
+な解決法も考えられるが,いずれもうまく動作しない.
+
+\begin{enumerate}
+\item % {\bf 一時的なキー}
+$y$が見つかるまで,$x$を一時的なキーとして利用すると,
+$y\le z\le x$であるような節点$z$への操作を誤った方向へ導く.
+
+\item % {\bf 双方向リスト}
+各節点が直前と直後のキーをもつ節点へのポインタを保持することによって,
+$x$の直前の要素$y$に${\rm O}(1)$時間でアクセスできるようにする
+ことが考えられる.これらのポインタは木
+の扁平化時に変更する必要がないという特徴がある.
+% 
+しかしこの方法は逐次操作のときしかうまく動作しない.
+% 
+% あるプロセスが節点
+% $x$を削除しようとしたとする.そのプロセスは節点$y$に${\rm O}(1)$時間でア
+% クセスできるものの,単にそれを削除して$x$のかわりに用いることはできない.
+% (invisible pointer?)
+%
+なぜならこの削除操作の前の操作が$x$と$y$を結
+ぶパスを下降中で,いずれ$y$に到達するかもしれないからである.
+\end{enumerate}
+
+したがって本論文では,高々${\rm O}(1)$個の節を施錠しつつ,厳密にトップダウ
+ンに木を変形してゆくアルゴリズムを考えることとする.
+
+\section{並列更新アルゴリズム}\label{section:update}
+
+本節では,後続の操作をブロックしない${\it update\/}$操作を与える.基本的な
+アイデアは,zig-zigとzig-zagの両方について,目標節点をその深さの
+半分までしか浮上させない半扁平化(semi-splaying)を用いることである(文献
+\cite{ST85}の半扁平化は,zig-zigのみが扁平化と異なっていた).$x$を更新対
+象の節点とすると,アルゴリズムは以下のようになる.
+%
+% ここでも左右対称な操作の片方のみを述べる.
+
+\begin{itemize}
+% \medskip\noindent (a)
+\item[(a)]
+空の木に対する挿入は図\ref{figure:update}
+(a1)の操作,(空でない)木の根に対する更新は
+図\ref{figure:update}(a2)の操作を行なう.
+
+% \begin{adjustvboxheight}
+\begin{figure*}[t]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig3.eps}}
+\end{center}
+\caption{後続操作をブロックしない更新アルゴリズムの1ステップ}
+\label{figure:update}
+\end{figure*}
+% \end{adjustvboxheight}
+
+% \medskip\noindent (b)
+\item[(b)]
+zig: 
+$x$が左部分木の根である場合は図\ref{figure:update}(b1)
+の操作,$x$が存在すべき左部分木が空の
+場合は図\ref{figure:update}(b2)の操作を行なう.
+
+% \medskip\noindent (c)
+\item[(c)]
+zig-zig: 図\ref{figure:update}(c)左の木における$x (<b)$の探索では,
+枝$ba$の右回転を行なってアクセスしたパスの長さを1短縮する.次は1レベル
+(短縮前の長さでは2レベル)下降して,部分木$A$に対して再帰的に探索を行なう.
+
+% \medskip\noindent (d)
+\item[(d)]
+zig-zag: 図\ref{figure:update}(d)左の木における節点$x$ ($b<x<a$) の
+探索では,
+枝$cb$の左回転と,できた枝$ca$の右回転を行ない,
+アクセスしたパスを1短縮する.
+%
+% 二つの中側の部分木の適当な方に対して再帰的に探索を行なう.
+%
+% \noindent
+$x=c$ならばこれで探索終了である.$x<c$ならば2レベル(短縮前の長さでは3レ
+ベル)下降して$B$の中から$x$を再帰的に
+探索する.$x>c$ならば同様に$C$の中から再帰的に探索する.$x\ge c$の場合には
+枝$ca$の回転操作を省略することも考えられる.
+%
+$b$の右部分木が空の場合は,そこに節点$x$を挿入
+したあと,上に述べた回転操作を行なう.
+
+\end{itemize}
+% \medskip
+以上の操作で,アクセスしたパスの長さは最悪でも約$2/3$になる.
+%
+半分でなくて$2/3$なのは,上記zig-zag操作の性質によるものである.
+
+
+\section{並列削除アルゴリズム}\label{section:delete}
+
+並列削除のための基本的な着想は,扁平化操作を,削除すべき節点を下降さ
+せるために利用することである.これまでは,扁平化操作はもっぱら,再度アク
+セスしそう
+な節点を浮上させるために用いられてきた.ここで重要なことは,削除対象の
+節点以外は高々${\rm O}(1)$レベルしか下降させないようにすることである.
+以下では,$z$を削除対象の節点とする.
+
+まず,根節点が削除対象節点$z$である場合を考える.この場合,zippingと呼ぶ
+操作によって
+それを``容易に''削除できる場所まで下降させる.節点が``容易に''削除でき
+るとは,その左部分木,右部分木,左部分木の右部分木,右部分木の左部分木の
+いずれかが空であることである.根節点の下降によって,その左部分木と
+右部分木の縫い合せが起きる.
+% 
+% これが言葉の由来である.
+
+\begin{enumerate}
+% \medskip\noindent (a)
+\item[(a)]
+``容易に''削除できる場合:図\ref{figure:delete}(a1)または(a2)
+のように変形する.
+
+
+% \begin{adjustvboxheight}
+\begin{figure*}[t]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig4.eps}}
+\end{center}
+\caption{後続操作をブロックしない削除アルゴリズムの1ステップ}
+\label{figure:delete}
+\end{figure*}
+% \end{adjustvboxheight}
+
+% \medskip\noindent (b)
+\item[(b)]
+``容易に''削除できない場合:図\ref{figure:delete}(b)のように
+zig-zagを施し,そ
+の結果できる$b$の右部分木に,(一つめとは左右対称な) zig-zagを施す.
+
+\noindent
+4回の回転で$z$は2レベル下降する.$z$の新たな部分木$C$と$F$
+は,同じレベルにとどまる.それ以外の節点も高々1レベルしか下降
+しない.$z$を根とする新たな部分木に対して再帰的に削除操作を行なうが,$z$の子孫
+でない節点がそれによってさらに下降することはない.
+\end{enumerate}
+
+% \medskip
+図\ref{figure:zipping}に,根節点$z$の削除による木の形状の変化を示す.
+\begin{figure*}[t]
+\begin{center}
+\scalebox{1.00}{\includegraphics{fig5.eps}}
+\end{center}
+\caption{Zippingによる節点$z$の削除}
+\label{figure:zipping}
+\end{figure*}
+
+削除対象節点$z$が根であるとは限らない場合は,まず第\ref{section:update}節の
+方法で$z$を探索する.これは根から$z$に至るパスを短縮する効果をもつ.つぎ
+に,$z$をzippingによって下降させて削除する.
+
+Zipping操作はパスの短縮を行なわないが,アクセスした節点は浮上させ
+るという原則にしたがうならば,zippingに先だって,左部分木の最大要素に至
+るパスと右部分木の最小要素に至るパスをそれぞれトップダウンの半扁平化
+(zig-zig (図\ref{figure:update}(c)) の繰返し)によっ
+て短縮すればよい.この短縮化はzippingと並行して行なうことができる.
+
+Zippingは更新操作と異なり,各節点のキー値を読むことなく木を下降する.
+またzippingは,木$T_1$と木$T_2$ ($T_1$のど
+のキーも,$T_2$のどのキーよりも小さいものとする)とのトップダウン併合操作
+にも応用できる.すなわち,新たな節点(キーは任意)を調達し,その左部分木
+を$T_1$,右部分木を$T_2$として一つの木を構成した
+のち,調達した根節点を消去すればよい.
+
+\section{計算量に関する結果と考察}
+
+効率の二つの尺度のうち,スループットにつ
+いては容易に議論ができる.すなわち,二つの操作は,レベル$l$ (根をレ
+ベル$0$として)の節点を${\rm O}(l)$回 --- ${\it update\/}$は高々$(l+2)$回,
+zippingは高々$(2l+2)$回 ---
+の回転操作ののちに確定させる.
+さらにどちらの操作も,連続する高々$3$
+レベルの節点を同時に施錠するだけでよい.これらのことから,木の大きさや深
+さによらないスループットで,操作系列をパイプライン的に並列処理するこ
+とができる.
+
+レスポンスは,${\it update\/}$については,通常のスプレー
+木と同等の償却計算量をもつことが証明できる.具体的には,
+節点$x$の{\bf 大きさ}$s(x)$を$x$を根とする部分木の節点数と定義し,
+{\bf ランク}$r(x)$を$\log_2(s(x))$とする.
+そして
+%
+木の{\bf ポテンシャル}を,すべての節点のランクの和と定義する.
+すると,${\it update\/}$の償却時間,つまり回転操作の回数で測った所
+要時間に操作前後のポテンシャルの変化を加えたものは,$n$を木の節点数とし
+て,${\rm O}(\log n)$であることを示すことができる.
+このことから,十分長い操作系列の平均レスポンスは,最悪でも対数的であるこ
+とがわかる.
+文献\Cite{ST85}のよう
+に,節点に異なる重みをつけて$s$や$r$を定義することにより,より強い性質
+を示すこともできるが,本論文では省く.
+
+一方,${\it delete\/}$については,文献\Cite{ST85}の解析方法では,対
+数的償却計
+算量を導くことはできない.そのことを示すために,図\ref{figure:delete}
+(b)の4回の回転によるポテンシャル変化を考える.
+
+図\ref{figure:delete}(b)の一番右側
+の木のランク関数を$r'$とする.一番左側の木からのポテンシャルの変化を,
+$k$をある正定数として$k(r'(b)-r'(z))$以内に押さえることができることを示すのが,
+文献\Cite{ST85}における償却計算量の証明技法の基本であった.しかし,
+これらの木に
+ついて$s(A)= s(B) = s(C) = h\gg t = s(D) = s(E) = s(F)$
+を仮定すると,ポテンシャル変化が$h/t$に関して${\rm O}(\log
+(h/t))$となる.一方$r'(b)-r'(z)$は$h/t$に関して${\rm O}(1)$であるので,
+上記の要請を満たす
+$k$は存在しないことがわかる.Zippingに先立ってパス短縮化を行なっ
+た場合についても,同様のことが示せる.
+
+しかし,第\ref{section:delete}節の削除操作は,
+%
+アクセスしたパス上の節点の深さが約半分になり(事前にパス
+短縮化を施した場合),それ以外の節点も高々定数レベルしか沈まない
+%
+という,節点の浮き沈みについてのスプレー木一般の性質は満たしている.
+%
+では一般に,この二つの性質を満たす自己調整的な木アルゴリズムで,平均レス
+ポンスが対数時間で押さえられないような,十分長い操作系列は存在す
+るのだろうか? これは未解決であるが,本論文で提案した二操作に
+ついては,平均レスポンスは少なくとも${\rm O}(\sqrt n)$ (更新のみならば
+${\rm O}(\log n)$)と予想される.
+
+その根拠
+として,各節点の削除しやすさの変化を考える.
+節点$x$の{\bf 削除困難度}$d(x)$を,$x$からその直前のキー$x_-$をもつ節
+点へ至るパス長($x_-$が存在しない場合や,$x_-$が$x$の子孫で
+ない場合は$0$と定める)と直後のキー$x_+$をもつ節に至るパス長の最小値
+と定めると,第\ref{section:delete}節の
+${\it delete\/}$は,$d$の大きな節点の消去には時間がかかるも
+のの,残った各節点の$d$を高々${\rm O}(1)$
+しか大きくしない.また第\ref{section:update}節の
+${\it update\/}$で新たに挿入した節点の$d$
+は$0$であり,${\it update\/}$はすでに存在していた各節点の$d$も高々${\rm
+O}(1)$しか大きくしない.(ボトムアップ扁平化における節点の$d$の増加は,定数で
+押えることができない.)これらのことから
+%
+\begin{enumerate}
+\item[1.]
+新たな節点の$d$の値が$k$まで成長するには,他の節点の$\Omega(k)$
+回の挿入削除が必要
+\end{enumerate}
+%
+であることがわかる.さらに
+%
+\begin{enumerate}
+\item[2.]
+二分木における各節点の$d$の総和は,
+木をトラバースしたときに通る枝の延べ本数を上回ることはないから
+${\rm O}(n)$
+\end{enumerate}
+%
+である.1.と2.から,
+新たな節点の挿入と,$d$の大きな節点の消去が繰り返されるという最悪の操作
+系列を考えても,操作の平均の手間は${\rm O}(\sqrt n)$であり,実用上の効率
+は更新操作のみの場合とほとんど変わらないと予想される.
+
+\section{まとめと今後の課題}
+
+節点の浮き沈みに関する望ましい性質を保ち,かつ計算量の意味で最適なスルー
+プットをもつ自
+己調整二分木の並列操作(更新,挿入,削除,併合)アルゴリズムを提案した.節点の
+更新や挿入に関して
+は対数的償却計算量を持つことが証明できており,さらにアクセスパターンの偏
+りや変化に対する追従性など,スプレー木の持つ強力かつ頑健な性質
+の多くを引き継いでいる.削除の償却計算量のより良い理論的限界を導く(また
+はその不存在を示す)ことは今
+後の課題である.また,アルゴリズムの実際的効率,並列分散環境での実装,応
+用の検討も今後の課題である.
+
+
+{\bf 謝辞}\
+本論文の初期の版について議論していただいたRobert Tarjan氏(Princeton大),
+毛受哲氏(NEC),中谷祐介氏(早稲田大)に感謝する.
+%
+\begin{adjustvboxheight} % needed only when Appendix follows
+\begin{thebibliography}{99}
+\bibitem{LS86} Lanin, V. and Shasha, D.:A Symmetric Concurrent B-Tree
+Algorithm,
+Proc.\ 1986 Fall Joint Computer Conference, IEEE, 1986, pp.~380--389.
+
+\bibitem{ST85} Sleator, D. D. and Tarjan, R. E.:Self-Adjusting Binary Search
+Trees, {\it J. ACM}, Vol.~32, No.~3 (1985), pp.~652--686.
+
+\bibitem{S89} Shapiro E.:The Family of Concurrent Logic Programming Languages.
+{\it ACM Computing Surveys}, Vol.~21, No.~3 (1989), pp.~413--510.
+
+\bibitem{T85} Tarjan, R. E.:Amortized Computational Complexity, {\it
+SIAM J.\ Alg.\ Disc.\ Math.}, Vol.~6, No.~2 (1985), pp.~306--318.
+
+\bibitem{W90} 和田久美子:スプレイ木の並列データ探索, Proc.\ KL1
+Programming Workshop '90, Tokyo, ICOT, 1990, pp.~42--49.
+\end{thebibliography}
+\end{adjustvboxheight} % needed only when Appendix follows
+
+\appendix
+\section{付録: \LaTeX による論文作成のガイド} 
+
+ここに,以前の \verb|sample.tex| では,論文作成のガイドがあったが,
+その内容は \verb|guide.tex| に移動した.
+
+\end{document}