changeset 0:9275fe406966

Ryoma's paper for JSST 2010.
author Ryoma SHINYA <shinya@firefly.cr.ie.u-ryukyu.ac.jp>
date Tue, 10 Aug 2010 18:27:06 +0900
parents
children e79cdc772194
files compsoft-sjis.sty compsoft.cls compsoft.sty makefile paper.pdf paper.tex
diffstat 6 files changed, 4472 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compsoft-sjis.sty	Tue Aug 10 18:27:06 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/compsoft.cls	Tue Aug 10 18:27:06 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/compsoft.sty	Tue Aug 10 18:27:06 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.
+
+%% $B#Q?t7O$N$?$a$N$U$?$D$N%f%K%C%H(B
+\newdimen \JQ	\JQ .259817mm	%%%	\JQ/\Q = 10pt/9.62216pt
+\newdimen \Q	\Q  .25mm	%%%	Quarter of 1mm
+
+%% $B%Y!<%9%i%$%s%9%-%C%W$NCM!%(B
+%% $B%G%U%)%k%HCM$O(B21.5Q$B!$(BEronbun, Etokushuronbun$B$G$O(B17.5Q
+%% $B$K@Z$jBX$($k!%(B
+\newdimen\@Baseline
+\@Baseline=21.5\Q
+
+
+% $B%U%)%s%H$N:FDj5A(B
+% $B$^$:OBJ8!'(B
+%\font\sevmin	skhmnlaa at 8.5\JQ 	% 8.5Q $BK\MvL@D+(B LHM
+\font\sevmin	min10 at 8.5\JQ 	% 8.5Q min10$B$G2>A[E*$K=PNO(B
+%\font\sevgt	skgotoaa at 8.5\JQ	% 8.5Q $BCfB@%4%7%C%/(B DG-KL
+\font\sevgt	goth10 at 8.5\JQ	% 8.5Q goth10$B$G2>A[E*$K=PNO(B
+% \font\egtmin	skhmnlaa at 10\JQ 	% 10Q $BK\MvL@D+(B LHM
+\font\egtmin	min10 at 10\JQ	 	% 10Q min10$B$G2>A[E*$K=PNO(B
+% \font\egtgt	skgotoaa at 10\JQ	% 10Q $BCfB@%4%7%C%/(B DG-KL
+\font\egtgt	goth10 at 10\JQ		% 10Q goth10$B$G2>A[E*$K=PNO(B
+%\font\ninmin	skhmnlaa at 11.5\JQ	% 11.5Q $BK\MvL@D+(B LHM
+\font\ninmin	min10 at 11.5\JQ	% 11.5Q min10$B$G2>A[E*$K=PNO(B
+%\font\ningt	skgotoaa at 11.5\JQ	% 11.5Q $BCfB@%4%7%C%/(B DG-KL
+\font\ningt	goth10 at 11.5\JQ	% 11.5Q goth10$B$G2>A[E*$K=PNO(B
+%\font\tenmin	skhmnlaa at 13\JQ	% 13Q $BK\MvL@D+(B LHM
+\font\tenmin	min10 at 13\JQ		% 13Q min10$B$G2>A[E*$K=PNO(B
+%\font\tengt	skgotoaa at 13\JQ	% 13Q $BCfB@%4%7%C%/(B DG-KL
+\font\tengt	goth10 at 13\JQ		% 13Q goth10$B$G2>A[E*$K=PNO(B
+
+%\font\twlvgona	sknagoaa at 16\JQ	% 16Q $B%4%J#D(B for $B!V%A%e!<%H%j%"%k!W(B
+\font\twlvgona	goth10 at 16\JQ	% 20Q min10$B$G2>A[E*$K=PNO(B for$B!V%A%e!<%H%j%"%k!W(B
+
+% \font\svtnmin	skminsaa at 20\JQ	% 20Q $BB@L@D+(B for author
+\font\svtnmin	min10 at 20\JQ	% 20Q min10$B$G2>A[E*$K=PNO(B for author
+
+% \font\twtygt	skgotsaa at 28\JQ	% 28Q $BB@%4%7%C%/(B for title
+\font\twtygt	goth10 at 28\JQ	% 28Q goth10$B$G2>A[E*$K=PNO(B for title
+
+% $BB3$$$F2$J8!'(B
+%   $B%W%l%m!<%I$5$l$F$k%m!<%^%s%U%)%s%H$O?t<0$N(B \textfont0 $B$H$7$F$b(B
+%   $B;H$o$l$k$?$a!"JLL>>N$G%m!<%I$7$F%5%$%:4D6-$rA`:n$9$k$N$,L5Fq$+!)(B
+%%\font\egtrm	secntmm	at 10\Q
+%%\font\ninrm	secntmm	at 11.5\Q
+%%\font\tenrm	secntmm at 13\Q
+
+%%\font\egtit	secntmmi at 10\Q
+%%\font\ninit	secntmmi at 11.5\Q
+%%\font\tenit	secntmmi at 13\Q
+
+%%\font\egtbf	secntqm	at 10\Q
+%%\font\ninbf	secntqm	at 11.5\Q
+%%\font\tenbf	secntqm	at 13\Q
+
+%%\font\titleb	sebdnqm at 28\Q		% $B%?%$%H%kMQ%\%I%K%\!<%k%I(B
+\font\titleb	min10 at 28\Q		% $B%?%$%H%kMQ%\%I%K%\!<%k%I(B
+
+% $BHGLLE7CO$H%Q%i%a!<%?$N@_Dj(B
+%
+% \textheight
+%    = \topskip + \baselineskip * 39 lines
+%    = 12Q      + 21.5Q         * 39 lines
+%    = 850.5Q
+
+\headsep	15\Q		% $B@53N$JCM$G$O$J$$(B
+\topskip	12\Q		% 12Q $B$h$j9b$$9T$O%Y!<%9%i%$%s$,$:$l$k(B
+\baselineskip	\@Baseline		% 11.5Q $B9T4V(B 10Q
+\lineskip	0pt
+\lineskiplimit	0pt
+
+\textheight	850.89\Q	% 850.5Q (21.5Q * 39line + \topskip) $B$N(B
+				% $B$O$:$@$,(B 40 $B9TF~$i$J$$$?$a!"$9$3$7$:$D(B
+				% $BA}$d$7$F$3$NCM$K$J$C$?(B
+
+\maxdepth	5\Q		%
+
+%TI%% We don't need foot* because we don't use footer
+%TI%\footskip	0pt
+%TI%\footheight	0pt
+
+\parindent1zw
+
+%\parskip	0pt plus.001\Q	% $B$9$Y$F$N%Q%i%a!<%?$,7hDj$G$-$?$i(B
+				% $B%Q%i%0%i%U4V$K$o$:$+$N<+M3EY$rCV$-$?$$!#(B
+				% $B%F%9%HCf$O<+M3EY$O$J$$$[$&$,$$$$!#(B
+
+\kanjiskip 0pt plus .1zw minus 0.05zw
+				% $BOBJ8J8;z4V$OHf3SE*<+M3EY$,Bg$-$$(B
+
+%\overfullrule	10pt		% $B0-$$ItJ,$OL\N)$?$;$FD>$9(B
+
+%
+% $B0lIt$N%^%/%m$N:FDj5A(B
+%
+
+% \def\@maketitle{\newpage \null
+%  \vbox to 235.2\Q{		%% $B7W;;$G$O(B 236.5Q $B$N$O$:$@$,!"!"!"(B
+%  \begin{flushleft}
+%   \rule{\textwidth}{1mm}%
+%   \vskip.7cm
+%   {\titleb\hskip 6.5mm
+%   \twtygt\@title\kanjiskip -3mm plus0mm minus0mm % $B5M$a$?$$$N$K5M$i$J$$!"!"!"(B
+%   }
+%   \vskip.7cm
+%   \huge\hskip 6.5mm
+%   \begin{tabular}[t]{@{}l}\@author\end{tabular}
+%  \end{flushleft}
+%  \par
+%  \vss
+%  \hrule	% height0pt		%% $BBN:[$,7h$^$C$?$i(B 0pt $B$K$9$k(B
+%  }}
+
+% \long\def\@makecaption#1#2{  %% \vskip 10pt
+% \setbox\@tempboxa\hbox{\small\bf\egtbf\egtgt~~#1~~#2~~}
+%   \ifdim \wd\@tempboxa >\hsize 
+%     {\small\bf\egtbf\egtgt\setlength{\baselineskip}{12pt}
+%        \newbox\@tempboxb \setbox\@tempboxb\hbox{#1~~}
+%        \leftskip=15pt \hangindent=\wd\@tempboxb #1~~#2\par}
+%   \else \hbox to\hsize{\hfil\box\@tempboxa\hfil} 
+%  \fi}
+
+% \def\section{\@startsection{section}{1}{0\jspaceskip}
+%  {8\Q plus.1\Q minus.1\Q}	% $B>eIt%0%k!<(B ($B7P83CM(B)
+%  {1.6\Q plus.1\Q minus.1\Q}	% $B2<It%0%k!<(B
+%  {\vrule width	.4pt		%% $BBN:[$,7h$^$C$?$i(B 0pt $B$K$9$k!#(B
+% 	 height	30\Q		%% $B%Z!<%8F,$G(B \topskip $B$KFO$/$h$&$K!#(B
+% 	 depth	14\Q		%% $BK\J8$N(B 1 $B9TL\$K@\$9$k$h$&$K!#(B
+%   \font@s}}
+% 
+% \def\subsection{\@startsection{subsection}{2}{\jspaceskip}
+%  {1\baselineskip plus.1\Q minus.1\Q}
+%  {0.1\Q plus.1\Q minus.1\Q}
+%  {\font@ss}}
+
+%TI%\pagestyle{headings}
+\flushbottom			% $B%Z!<%82<C<$r$=$m$($k(B
+%dskfonts.sty ends %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%---------------------------
+% ``dskfonts.sty' uses CM and min** fonts for preminary printing.
+% For production-run, use ``skfonts.sty'' instead of ``dskfonts.sty''.
+%---------------------------
+
+\let\sevendm=\sevmin                                    %ST
+\let\sevendg=\sevgt                                     %ST
+\let\eightdm=\egtmin                                    %ST
+\let\eightdg=\egtgt                                     %ST
+\let\ninedm=\ninmin                                     %ST
+\let\ninedg=\ningt                                      %ST
+\let\gona=\twlvgona             % N. Yamanouchi for $B!V%A%e!<%H%j%"%k!W(B
+
+\if@LaTeX@e\else
+\def\dm{\mc}\def\pdm{\pmc}                                      %ST
+\def\dg{\gt}\def\pdg{\pgt}                                      %ST
+\fi
+
+\let\setjglues=\relax
+\let\jintercharskip=\kanjiskip
+\let\jasciikanjiskip=\xkanjiskip
+
+\if@LaTeX@e\else
+\def\dm{\mc}\def\pdm{\pmc}                                      %ST
+\def\dg{\gt}\def\pdg{\pgt}                                      %ST
+\fi
+
+\def\defjintercharskip#1#2#3#4{
+\fontdimen2#1=#2                                                %ST
+\fontdimen3#1=#3                                                %ST
+\fontdimen4#1=#4}                                               %ST
+\def\defjasciikanjiskip#1#2#3#4{%                               %ST
+\fontdimen7#1=#2                                                %ST
+\fontdimen7#1=#3                                                %ST
+\fontdimen7#1=#4}                                               %ST
+\def\defmathkanjiskip#1#2#3#4{}                                 %ST
+\def\defjspaceskip#1#2#3#4{%                                    %ST
+\fontdimen6#1=#1}                                               %ST
+\let\setjglues=\relax                                           %ST
+\let\jintercharskip=\kanjiskip                                  %ST
+\let\jasciikanjiskip=\xkanjiskip                                %ST
+\newdimen\jspaceskip                                            %ST
+\jspaceskip=2.875mm             %yamanouchi%                    %ST
+%%\jspaceskip=1zw                                               %ST
+
+\newdimen\jmathkanjiskip        %yamanouchi 3/25/92%
+\jmathkanjiskip=\kanjiskip      %yamanouchi 3/25/92%            
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\fi
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% compsoft9.sty ASCII version modified 25 March 1992 by N. YAMANOUCHI
+% compsoft9.sty 23 March 1992 By Yasuki SAITO
+% compsoft9.sty Apr. 24 '91 By Hideki ISOZAKI
+% j-art10.sty 10-Feb-89 from art10.sty 22-Dec-87
+
+% 1mm = 2.8452755905pt, 1pt = .3514598035mm, 1Q = 0.25mm = .7113188976pt
+%
+% For footnotesize
+% depth_of_8pt_kanji = 1.4454pt
+% height_of_8pt_kanji = 5.781592pt
+% line = height_plus_depth_of_8pt_kanji = 7.226992pt = 2.53999mm ~= 10Q
+% baselineskip = line + gap = 15Q = 3.75mm = 10.6697834645pt
+% gap = baselineskip - line = 10.66978 - 7.226992 = 3.4427914645pt
+
+% For references
+% baselineskip = line + gap = 14.5Q = 3.625mm = 10.314124pt
+% gap = baselineskip - line = 10.314124pt - 7.226992pt = 3.087132pt
+%                                    ~= 4.5Q = 1.125mm = 3.2009350393pt
+% gap + depth = 3.087132 + 1.4454 = 4.532532pt
+
+% For normalsize
+% depth_of_9pt_kanji = 1.44539pt
+% line = height_plus_depth_of_9pt_kanji = 8.1906pt
+%                              ~= 11.5Q = 8.1801673228pt
+% 212.5mm = 212.5mm * 72.27pt / 25.4mm = 604.62106299212598425196pt
+% baselineskip = line + gap = 11.5Q + 10Q = 21.5Q = 15.2933562992pt
+% gap = 21.5Q - line(8.1906pt) = 7.1027562992pt ~= 10Q = 7.1131889763pt
+% gap + depth = 8.54815pt
+
+\ifASCII\else
+\newlength{\Q} \setlength{\Q}{0.25mm} % commented out for ASCII version
+                                         % by N. Yamanouchi
+\let\kanjiskip=\jintercharskip
+\let\xkanjiskip\jasciikanjiskip
+\fi
+
+\lineskip\z@ \normallineskip\z@ \jot\z@ \lineskiplimit\z@
+\def\baselinestretch{1}
+
+\if@LaTeX@e
+\def\normalsize{\@setsize\normalsize{\@Baseline}\ixpt\@ixpt
+%\renewcommand{\normalsize}{%
+%\@setfontsize\normalsize{12\JQ}{21.5\Q}
+\abovedisplayskip \z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI} 
+\else
+\def\@normalsize{\@setsize\normalsize{\@Baseline}\ixpt\@ixpt
+\abovedisplayskip \z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI} 
+\fi
+
+\def\small{\@setsize\small{15\Q}\viiipt\@viiipt
+%\newcommand{\small}{%
+%\@setfontsize\normalsize{11\JQ}{15\Q}
+\abovedisplayskip \z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI}
+
+\def\footnotesize{\@setsize\footnotesize{15\Q}\viiipt\@viiipt
+%\newcommand{\footnotesize}{%
+%\@setfontsize\normalsize{11\JQ}{15\Q}
+\abovedisplayskip\z@\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@\belowdisplayshortskip\z@
+\let\@listi\@listI}
+
+\def\scriptsize{\@setsize\scriptsize{11pt}\vipt\@vipt}
+\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
+\def\large{\@setsize\large{21.5\Q}\xpt\@xpt}% baselineskip=>normalsize
+\def\Large{\@setsize\Large{20pt}\xiipt\@xiipt}
+\def\LARGE{\@setsize\LARGE{25pt}\xivpt\@xivpt}
+\def\huge{\@setsize\huge{30pt}\xviipt\@xviipt}
+\def\Huge{\@setsize\Huge{35pt}\xxpt\@xxpt}
+
+\@ifundefined{normalsize}{\let\normalsize\@Normalsize}
+
+\normalsize 
+\oddsidemargin 0pt \evensidemargin 0pt
+\advance\oddsidemargin-.5in
+\advance\evensidemargin-.5in
+\topmargin -25pt
+
+\headheight 12.5\Q
+\addtolength{\headheight}{0.1087pt}
+% headheight was increased a little bit to avoid annoying overful vbox
+% in sample.tex, but this also shifts entire headline upward a little bit.
+% So, \headsep is decreased a little to compensate this.
+
+\headsep 17\Q
+\addtolength{\headsep}{-0.1087pt}
+
+%\footskip 2\baselineskip % This isn't necessary, no foot in this style
+
+\newdimen\@mojihaba
+\settowidth{\@mojihaba}{$B$"(B}
+
+\textheight = 212.5mm % for simple twocolumn setup
+
+% topskip = line - depth_of_9pt_kanji
+\topskip = 6.74521pt
+
+% columnsep = 2\@mojihaba = 2*11.5Q = 23Q = 5.75mm = 16.3603346456pt
+%          ~= 8.1906pt * 2 = 16.3812pt
+\columnsep 16.3812pt 
+
+\textwidth 50\jspaceskip
+\advance\textwidth by \columnsep
+\columnseprule 0pt 
+
+%% 15 Jul 2009  Iwasaki & Matsuzaki
+\def\adjustAfour{%
+\oddsidemargin210mm
+\advance\oddsidemargin-\textwidth
+\oddsidemargin.5\oddsidemargin
+\advance\oddsidemargin-1in
+\evensidemargin\oddsidemargin
+\topmargin297mm
+\advance\topmargin-\headheight
+\advance\topmargin-\headsep
+\advance\topmargin-\textheight
+\topmargin.5\topmargin
+\advance\topmargin-1in
+}
+
+
+
+%\footnotesep must be \baselineskip-\depth = 10.6697835pt-1.4454pt
+% = 9.2243835pt, but this is too wide
+%\footnotesep 9.2243835pt
+%\footnotesep 7.226992pt % = line height
+\footnotesep 8.672392pt % = line height + depth = 7.226992pt + 1.4454pt
+% you want to make a gap between footnoterule and first footnote 2Q, but...
+%\footnotesep 2\Q % This does not work! you must do something in \@makecol
+
+%\skip\footins 10\Q plus 21.5\Q
+\skip\footins 10\Q plus 11.5\Q minus 1\Q
+
+\floatsep \baselineskip \textfloatsep \baselineskip 
+\intextsep \baselineskip \@maxsep \baselineskip
+\dblfloatsep \baselineskip \dbltextfloatsep \baselineskip
+\@dblmaxsep \baselineskip
+\@fptop 0pt plus 1fil \@fpsep 0pt plus 2fil \@fpbot 0pt plus 1fil 
+\@dblfptop 0pt plus 1fil \@dblfpsep 0pt plus 2fil \@dblfpbot 0pt plus 1fil
+
+\parskip\z@ \parindent \@mojihaba \partopsep\z@
+\@lowpenalty 51 \@medpenalty 151 \@highpenalty 301 
+\@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty \@itempenalty
+-\@lowpenalty 
+
+
+
+\def\section{\@startsection {section}{1}{\jspaceskip}{17.5\Q}{4\Q}{\font@s}}
+\def\subsection
+ {\@startsection{subsection}{2}{\jspaceskip}{\baselineskip}{0.001pt}{\font@ss}}
+\def\subsubsection
+ {\@startsection{subsubsection}{3}{\jspaceskip}{0.001pt}{0.001pt}{\font@sss}}
+\def\paragraph{\@startsection
+ {paragraph}{4}{\jspaceskip}{0.001pt}{0.001pt}{\normalsize\bf}}
+\def\subparagraph{\@startsection
+ {subparagraph}{5}{\jspaceskip}{\baselineskip}{0.001pt}{\normalsize\bf}}
+
+\setcounter{secnumdepth}{5}
+
+\def\appendix{\par
+ \setcounter{section}{0}
+ \setcounter{subsection}{0}
+ \def\thesection{\Alph{section}}}
+
+\def\sectionfont#1#2#3{\gdef\font@s{#1}\gdef\font@ss{#2}\gdef\font@sss{#3}}
+\sectionfont{\large\bf}{\normalsize\bf}{\normalsize\bf}
+
+
+
+\leftmargini2\@mojihaba
+\leftmarginii2\@mojihaba
+\leftmarginiii2\@mojihaba
+\leftmarginiv2\@mojihaba
+\leftmarginv2\@mojihaba
+\leftmarginvi2\@mojihaba
+\leftmargin\leftmargini
+
+\def\@listI{\leftmargin\leftmargini\parsep\z@\topsep\z@\itemsep\z@
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+}
+\let\@listi\@listI
+%\@listi 
+
+\def\@listii{\leftmargin\leftmarginii
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+ \topsep\z@ \parsep\z@ \itemsep\parsep}
+
+\def\@listiii{\leftmargin\leftmarginiii
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+ \topsep\z@ \parsep\z@ \itemsep\topsep}
+
+\def\@listiv{\leftmargin\leftmarginiv
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0.25\@mojihaba
+%\itemindent=\@mojihaba
+}
+
+\def\@listv{\leftmargin\leftmarginv
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0pt%
+%\itemindent=\@mojihaba
+}
+
+\def\@listvi{\leftmargin\leftmarginvi
+\labelsep 0.75\@mojihaba % 3/4*\@mojihaba
+\labelwidth=0pt%
+%\itemindent=\@mojihaba
+}
+
+% 2009/12/03 Iwasaki
+% It seems that the \labelsep parameter has to be set as a moderate
+% positive dimension value to make environments defined by \newtheorem
+% correctly work.
+% Without the following line, \labelsep's value is 0.0pt, which causes
+% no space between a theorem number and the first word of the theorem.
+\labelsep 5.0pt
+
+
+
+%% JTeX glues
+
+\ifASCII
+\defjintercharskip{\ninedm}{0pt}{1.8pt}{0.18pt}
+\defjintercharskip{\ninedg}{0pt}{1.8pt}{0.18pt}
+\defjintercharskip{\eightdm}{0pt}{1.5pt}{0.15pt}
+\defjintercharskip{\eightdg}{0pt}{1.5pt}{0.15pt}
+\defjintercharskip{\sevendm}{0pt}{1.4pt}{0.14pt}
+\defjintercharskip{\sevendg}{0pt}{1.4pt}{0.14pt}
+
+\setjglues
+\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+\def\labelenumi{\theenumi.} 
+\def\theenumi{\arabic{enumi}} 
+\def\labelenumii{(\theenumii)}
+\def\theenumii{\alph{enumii}}
+\def\p@enumii{\theenumi}
+\def\labelenumiii{\theenumiii.}
+\def\theenumiii{\roman{enumiii}}
+\def\p@enumiii{\theenumi(\theenumii)}
+\def\labelenumiv{\theenumiv.}
+\def\theenumiv{\Alph{enumiv}} 
+\def\p@enumiv{\p@enumiii\theenumiii}
+
+\def\labelitemi{$\bullet$}
+\def\labelitemii{\bf --}
+\def\labelitemiii{$\ast$}
+\def\labelitemiv{$\cdot$}
+
+\def\verse{\let\\=\@centercr 
+ \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent 
+ \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
+\let\endverse\endlist
+\def\quotation{\list{}{\listparindent 1.5em
+ \itemindent\listparindent
+ \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
+\let\endquotation=\endlist
+\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
+\let\endquote=\endlist
+\def\abstquotation{\list{}{\listparindent 1.5em
+ \itemindent\listparindent
+ \leftmargin 5mm
+ \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
+\let\endabstquotation=\endlist
+\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
+\let\endquote=\endlist
+
+
+%\def\descriptionlabel#1{\hspace\labelsep \bf #1}
+\def\descriptionlabel#1{\bf #1}
+\def\description{\list{}{\labelwidth\z@ %\itemindent-\leftmargin
+ %\itemindent=\@mojihaba
+ \labelsep=0.75\@mojihaba %
+ \let\makelabel\descriptionlabel}}
+\let\enddescription\endlist
+
+\def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else
+      \advance\@enumdepth \@ne 
+      \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
+      {\csname label\@enumctr\endcsname}{\usecounter
+        {\@enumctr}\def\makelabel##1{##1\hss}}\fi}
+
+\let\endenumerate =\endlist
+
+\def\itemize{\ifnum \@itemdepth >3 \@toodeep\else \advance\@itemdepth \@ne
+\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+\list{\csname\@itemitem\endcsname}{\def\makelabel##1{##1\hss}}\fi}
+
+\let\enditemize =\endlist
+
+
+
+
+
+\def\theequation{\arabic{equation}}
+
+\arraycolsep 5pt \tabcolsep 6pt \arrayrulewidth .4pt \doublerulesep 2pt 
+\tabbingsep \labelsep 
+
+\skip\@mpfootins = \skip\footins
+\fboxsep = 3pt \fboxrule = .4pt 
+
+
+
+\newcounter{part}
+\newcounter{section}
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\newcounter{subparagraph}[paragraph]
+
+\def\thepart{\Roman{part}} \def\thesection {\arabic{section}}
+\def\thesubsection {\thesection.\,\arabic{subsection}}
+\def\thesubsubsection {\thesubsection.\,\arabic{subsubsection}}
+\def\theparagraph {\thesubsubsection.\,\arabic{paragraph}}
+\def\thesubparagraph {\theparagraph.\,\arabic{subparagraph}}
+
+
+
+% Do not delete BEFORESKIP even if \section is on top of page
+% Is this functioning?
+% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
+\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi
+   \par \@tempskipa #4\relax
+   \@afterindenttrue
+   \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi
+   \@minipagefalse % this line is added by Hiroshi Nakashima
+   \if@nobreak \everypar{}\else
+     \addpenalty{\@secpenalty}%
+        \ifnum#2=\@ne%\message{topskip=\the\topskip,beforeskip=\the\@tempskipa}
+%\message{prevdepth=\the\prevdepth}%
+\ifdim\prevdepth=0pt\vspace*{-21.5\Q}\else\vskip-\prevdepth\fi
+%\vspace{-\prevdepth} % seems to be the same as above, but does not work!!
+%       \advance\@tempskipa-17.5\Q \addvspace{17.5\Q}
+% 13.89347pt = 17.5Q + depth(1.44539pt)
+        \advance\@tempskipa-13.89347pt \addvspace{13.89347pt}
+        \vspace*{\@tempskipa}%
+        \else\addvspace{\@tempskipa}\fi\fi \@ifstar
+     {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
+
+% to include section/subsection title modification
+\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
+     \def\@svsec{}\else 
+%     \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi
+     \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip\@mojihaba}\fi
+     \@tempskipa #5\relax
+      \ifdim \@tempskipa>\z@ 
+        \begingroup #6\relax
+          \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M\@mojidori{#8}\par}%
+        \endgroup
+       \csname #1mark\endcsname{#7}\addcontentsline
+         {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+                      \protect\numberline{\csname the#1\endcsname}\fi
+                    #7}\else
+        \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname
+                      {#7}\addcontentsline
+                           {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+                             \protect\numberline{\csname the#1\endcsname}\fi
+                       #7}}\fi
+     \@xsect{#5}}
+
+\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
+   \ifdim \@tempskipa>\z@
+     \begingroup #4\@hangfrom{\hskip #1}{\interlinepenalty \@M\@mojidori{#5}\par}\endgroup
+   \else \def\@svsechd{#4\hskip #1\relax #5}\fi
+    \@xsect{#3}}
+
+\newlength\@currentmojihaba
+
+\def\@mojidori#1{\setbox0\hbox{#1}\settowidth{\@currentmojihaba}{$B$"(B}%
+ \ifdim\wd0>5\@currentmojihaba #1\else%
+  \ifdim\wd0=2\@currentmojihaba {\jasciikanjiskip=2\@currentmojihaba%
+     \jmathkanjiskip=2\@currentmojihaba%
+     \jintercharskip=2\@currentmojihaba #1}\else%
+   {\jasciikanjiskip=0.2\@currentmojihaba%
+     \jmathkanjiskip=0.2\@currentmojihaba%
+     \jintercharskip=0.2\@currentmojihaba #1}\fi\fi}
+
+
+\newlength\twodigits
+
+\newbox\bibbox
+\setbox\bibbox=\hbox{{999}}{\relax}
+\def\@biblabel#1{\hbox to\wd\bibbox{{[\hss#1\hss]}}}
+
+\def\thebibliography#1{\subsection*{\refname\@mkboth{\refname}{\refname}}%
+\vskip7\Q % = 21.5\Q - 14.5\Q (the difference in two baselineskips)
+\settowidth\twodigits{#1}\list
+ {~~[\hbox to \twodigits{\hss\arabic{enumi}\hss}]}
+ {\setlength\labelwidth{10\Q}\leftmargin\labelwidth\labelsep\labelwidth
+ \advance\leftmargin\labelsep
+ \itemindent=0pt
+ \usecounter{enumi}\footnotesize\baselineskip=14.5\Q}
+ \def\newblock{\hskip .11em plus .33em minus .07em}
+ \sloppy\clubpenalty4000\widowpenalty4000
+ \sfcode`\.=1000\relax}
+\let\endthebibliography=\endlist
+
+\def\refname{$B;2(B $B9M(B $BJ8(B $B8%(B}  % will be changed in English articles
+
+
+
+\newif\if@restonecol
+\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+\columnseprule \z@
+\columnsep 35pt\twocolumn[\section*{\indexname}]
+ \@mkboth{\indexname}{\indexname}\thispagestyle{plain}\parindent\z@
+ \parskip\z@ plus .3pt\relax\let\item\@idxitem}
+\def\@idxitem{\par\hangindent 40pt}
+\def\subitem{\par\hangindent 40pt \hspace*{20pt}}
+\def\subsubitem{\par\hangindent 40pt \hspace*{30pt}}
+\def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
+\def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}
+
+
+
+% You may need to change following parameters
+\setcounter{topnumber}{4} \def\topfraction{.9}
+\setcounter{bottomnumber}{4} \def\bottomfraction{.9}
+\setcounter{totalnumber}{8}
+\def\textfraction{.1}
+\def\floatpagefraction{.9}
+\setcounter{dbltopnumber}{4} \def\dbltopfraction{.9}
+\def\dblfloatpagefraction{.9}
+
+% You cannot handle double column bottom figures yet!!!
+
+\newskip\@beforecaptionskip
+\newskip\@aftercaptionskip
+% initial default values for under caption
+\@beforecaptionskip=10\Q \@aftercaptionskip=0pt
+
+% addcontentsline is omitted to allow `\\' containing argument
+\long\def\@caption#1[#2]#3{\par\begingroup
+    \@parboxrestore
+%    \normalsize
+    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+  \endgroup}
+
+\newbox\@tempboxb
+% following makecaption is for under caption.
+% you may need to define another makecaption for over caption!!
+\long\def\@makecaption#1#2{\vskip\@beforecaptionskip
+ \setbox\@tempboxa\hbox{\footnotesize\bf #1\hskip\jspaceskip #2}
+ \ifdim \wd\@tempboxa >\hsize
+ \begin{center}
+%  \setbox\@tempboxb\hbox{\footnotesize\bf #1\hskip\jspaceskip}
+%  \hangindent=\wd\@tempboxb \hangafter=1
+  {\footnotesize\bf #1\hskip\jspaceskip #2}\par
+ \end{center}
+ \else
+  \hbox to\hsize{\hfil\box\@tempboxa\hfil}
+%  \center{\footnotesize\bf #1\hskip\jspaceskip #2}
+  \fi\vskip\@aftercaptionskip}
+
+\newcounter{figure}
+\def\thefigure{\@arabic\c@figure}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename \thefigure}
+\def\figure{\bgroup\@beforecaptionskip=10\Q\@aftercaptionskip=0pt\@float{figure}}
+\def\endfigure{\end@float\egroup}
+\@namedef{figure*}{\bgroup\@beforecaptionskip=10\Q\@aftercaptionskip=0pt\@dblfloat{figure}}
+\@namedef{endfigure*}{\end@dblfloat\egroup}
+
+\newcounter{table}
+\def\thetable{\@arabic\c@table}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename \thetable}
+\def\table{\bgroup\@beforecaptionskip=0pt\@aftercaptionskip=7\Q\@float{table}}
+\def\endtable{\end@float\egroup}
+\@namedef{table*}{\bgroup\@beforecaptionskip=0pt\@aftercaptionskip=7\Q\@dblfloat{table}}
+\@namedef{endtable*}{\end@dblfloat\egroup}
+
+% height adjustment code insertion into float ending routines
+\newdimen\@floatheight
+\newcount\@floatlinecount
+
+\def\end@float{\par\vskip\z@\egroup %% \par\vskip\z@ added 15 Dec 87
+\color@endbox
+\@floatheight=\ht\@currbox
+\advance\@floatheight \dp\@currbox
+\divide\@floatheight\baselineskip \@floatlinecount=\@floatheight
+\advance\@floatlinecount\@ne
+\@floatheight=\@floatlinecount\baselineskip
+%\fboxrule=0.01pt\fboxsep=0pt% for debugging
+%\global\setbox\@currbox=\hbox{\fbox{\vbox to\@floatheight{\vfil\copy\@currbox\vfil}}}%
+\global\setbox\@currbox=\vbox to\@floatheight{\vfil\copy\@currbox\vfil}%
+   \ifnum\@floatpenalty <\z@
+     \@cons\@currlist\@currbox
+     \ifdim \ht\@currbox >\textheight 
+        \ht\@currbox\textheight \fi
+     \ifnum\@floatpenalty < -\@Mii 
+        \penalty -\@Miv 
+        \@tempdima\prevdepth    %% saving and restoring \prevdepth added
+        \vbox{}                 %% 26 May 87 to prevent extra vertical
+        \prevdepth \@tempdima   %% space when used in vertical mode
+        \penalty\@floatpenalty
+      \else \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@esphack
+     \fi\fi}
+
+\def\end@dblfloat{\if@twocolumn
+     \par\vskip\z@\egroup %% \par\vskip\z@ added 15 Dec 87\egroup
+\color@endbox
+\@floatheight=\ht\@currbox
+\advance\@floatheight \dp\@currbox
+\divide\@floatheight\baselineskip \@floatlinecount=\@floatheight
+\advance\@floatlinecount\@ne
+\@floatheight=\@floatlinecount\baselineskip
+%\fboxrule=0.01pt\fboxsep=0pt% for debugging
+%\global\setbox\@currbox=\hbox{\fbox{\vbox to\@floatheight{\vfil\copy\@currbox\vfil}}}%
+\global\setbox\@currbox=\vbox to\@floatheight{\vfil\copy\@currbox\vfil}%
+     \ifnum\@floatpenalty <\z@ \@cons\@dbldeferlist\@currbox\fi
+      \ifnum \@floatpenalty =-\@Mii \@esphack\fi\else\end@float\fi}
+
+
+
+\def\maketitle{\par
+ \begingroup
+ \def\thefootnote{}%
+ \def\@makefnmark{}%
+ \if@twocolumn 
+ \twocolumn[\@maketitle] 
+ \else \newpage
+ \global\@topnum\z@ \@maketitle \fi\thispagestyle{plain}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}
+
+ \thispagestyle{myheadings} % to avoid running head on title page
+ \if@hissha
+ \thispagestyle{hisshatop}
+ \fi
+ \let\maketitle\relax
+ \let\@maketitle\relax
+ \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}
+
+\newbox\@temptitlebox
+
+% abstract
+
+\long\def\Jabstract#1{\global\long\def\Jabstcontent{\noindent\ignorespaces #1}}
+\long\def\Eabstract#1{\global\long\def\Eabstcontent{\noindent\ignorespaces #1}}
+\def\Jabstcontent{\relax}
+\def\Eabstcontent{\relax}
+\def\JEabstInsert{%
+  \begin{adjustvboxheight}\vfill
+  \begin{small}
+    \begin{abstquotation}
+      \Jabstcontent
+      \par\hbox{ }\par
+      \Eabstcontent
+    \end{abstquotation}
+  \end{small}\vskip8mm
+  \end{adjustvboxheight}}
+\def\EabstInsert{%
+  \begin{adjustvboxheight}\vfill
+  \begin{small}
+    \begin{abstquotation}
+      \Eabstcontent
+    \end{abstquotation}
+  \end{small}\vskip8mm
+  \end{adjustvboxheight}}
+
+\def\Jarticle{%
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to193.5\Q{\baselineskip=10mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\JarticleHeader
+% following extra vskip together with baselineskip(10mm) will produce
+% appropriate 10mm/6mm gap between the rule and title
+% This assumes that title is typeset with 28Q(7mm) font, and baseline
+% is set 1mm above the bottom of the font.
+\setbox\@temptitlebox\hbox{JarticleTitle}\ifdim\wd\@temptitlebox>\textwidth\vskip2mm\else\vskip6mm\fi
+\leftskip=5mm
+\JarticleTitle
+\vskip6mm % to leave 10mm gap between title and author
+\JarticleAuthor
+\end{flushleft}\vfil}}
+\JEabstInsert
+}}
+
+\def\Earticle{%
+\def\refname{References}%
+\def\tablename{Table~}
+\def\figurename{Fig.~}
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to193\Q{\baselineskip=8mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\EarticleHeader
+% following extra vskip together with baselineskip(8mm) will produce
+% appropriate 10mm/6mm gap between the rule and title
+% This assumes that title is typeset with 28Q(7mm) font, and baseline
+% is set 1mm above the bottom of the font.
+\setbox\@temptitlebox\hbox{EarticleTitle}\ifdim\wd\@temptitlebox>\textwidth\vskip4mm\else\vskip8mm\fi
+\leftskip=5mm
+\EarticleTitle
+\vskip6mm % to leave 10mm gap between title and author
+\EarticleAuthor
+\end{flushleft}\vfil}}
+\EabstInsert
+}
+\@Baseline=17.5\Q}
+
+\def\JarticleWithoutAbst{%
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to193.5\Q{\baselineskip=10mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\JarticleHeader
+\setbox\@temptitlebox\hbox{JarticleTitle}\ifdim\wd\@temptitlebox>\textwidth\vskip2mm\else\vskip6mm\fi
+\leftskip=5mm
+\JarticleTitle
+\vskip6mm % to leave 10mm gap between title and author
+\JarticleAuthor
+\end{flushleft}\vfil}}}}
+
+\def\leaderfill{\leaders\hbox{\rule{1mm}{1mm}}\hfill}
+\def\leaderfillB{\leaders\hbox to1mm{%
+ \vbox{\rule{1mm}{0.1mm}\vskip0.4mm
+       \rule{1mm}{0.1mm}\vskip0.4mm
+       \rule{1mm}{0.1mm}\vskip0.4mm
+       \rule{1mm}{0.1mm}}}\hfill}
+
+\newdimen\strokeinterval \newdimen\strokewidth
+\newdimen\rightstrokewidth
+\strokeinterval=\textwidth \advance\strokeinterval by-0.1mm
+\divide\strokeinterval by150
+\strokewidth=\strokeinterval
+\multiply\strokewidth by150 \advance\strokewidth by0.1mm
+\rightstrokewidth=\strokeinterval
+\multiply\rightstrokewidth by9
+\def\leaderfillstrokeL{\leaders\hbox to\strokeinterval{%
+ \rule{0.1mm}{1.6mm}\hfil}\hfill}
+
+\newdimen\boxinterval \newdimen\boxwidth
+\newdimen\leftboxwidth
+\boxinterval=\textwidth \advance\boxinterval by-1mm
+\divide\boxinterval by99
+\boxwidth=\boxinterval
+\multiply\boxwidth by99 \advance\boxwidth by1mm
+\leftboxwidth=\boxinterval
+\multiply\leftboxwidth by6
+\def\leaderfillboxL{\leaders\hbox to\boxinterval{%
+ \rule{0.9mm}{1mm}\hfil}\hfill}
+
+\ifASCII\else
+\jfont\gona=dg12      % in ASCII, moved to (d)skfonts.
+\fi
+
+% default title header
+% you must devise various headers for topics, tokushu, shohyo etc.
+%
+% 2009/04/22  H.Iwasaki
+% ==========================================================
+% $B%9%?%$%k%U%!%$%k$NJQ99!$$=$NL\E*$O0J2<$NFs$D(B
+%   $B!&(B2009$BG/(B6$B7n$h$jO@J8Ej9F5,Dj$,2~D{$5$l$k$N$K9g$o$;$k(B
+%   $B!&(B2009$BG/EY$NBg2qO@J8%U%)!<%^%C%H$b6&MQ$9$k$h$&$K$9$k(B
+%
+
+%%%
+% $BO@J8<oJL(B
+%   $B%3%s%T%e!<%?%=%U%H%&%'%";o$K7G:\$5$l$kO@J8$O(B
+%       $B8&5fO@J8(B/$B%=%U%H%&%'%"O@J8(B/$B2r@bO@J8(B
+%   $B$N(B3$BDL$j$G$"$k$,!$Bg2qM=9F$b$3$N%9%?%$%k%U%!%$%k$r;H$&$3$H$K$7$?$N$G!$(B
+%   $BJX59E*$K!$Bg2qM=9F$bO@J8<oJL$N0l<o$H$9$k!%(B
+%   
+%   $B7k6IO@J8<oJL$O!$(B
+%     $B8&5fO@J8(B/$B%=%U%H%&%'%"O@J8(B/$B2r@bO@J8(B/$BBg2qM=9F(B
+%   $B$N(B4$BDL$j$N$$$:$l$+!%$=$N$=$l$>$l$K$D$$$FOBJ8$H1QJ8$,$"$jF@$k$,!$(B
+%   $B1QJ82r@bO@J8$O$"$^$jA[Dj$7$F$$$J$$!%(B
+%   $B$^$?!$%A%e!<%H%j%"%k$O2r@bO@J8$N0l<o$@$,!$(B1$B%Z!<%8L\$NF,=q$-$,(B
+%   $B0[$J$k$N$G!$IaDL$N2r@bO@J8$H$PJL$N<oJLJ8;z$rMQ0U$7$?!%(B
+%
+% \documentclass[..]{compsoft} $B$N(B [...] $B$NCf$KO@J8<oJL!$::FI<oJL!$8@8l(B
+% $B$r;XDj$9$k!%(B
+%
+% $BO@J8<oJL(B
+%   P   $B8&5fO@J8(B ($B%G%U%)%k%H(B)
+%   S   $B%=%U%H%&%'%"O@J8(B
+%   K   $BIaDL$N2r@bO@J8(B
+%   U   $B%A%e!<%H%j%"%k(B
+%   T   $BBg2qO@J8(B ($BBg2qO@J8$OJX59E*$KO@J8<oJL$N0l<o$H$7$F07$&(B)
+%
+% $B::FI<oJL(B ($BBg2qO@J8$N;~$K$O;XDj$7$J$$(B)
+%   R   $BDL>oO@J8(B ($B%G%U%)%k%H(B)
+%   L   $B%l%?!<O@J8(B
+%
+% $B8@8l(B
+%   J   $BOBJ8(B ($B%G%U%)%k%H(B)
+%   E   $B1QJ8(B
+%
+% \ronbunShubetsu $B$O!$O@J8<oJL$rI=$90lJ8;z(B (P, S, K, U, T $B$N$$$:$l$+(B)
+% \sadokuShubets  $B$O!$::FI<oJL$rI=$90lJ8;z(B (R$B!$(BL $B$N$$$:$l$+(B)
+% \ronbunLang     $B$O!$8@8l$rI=$90lJ8;z(B (J, E $B$N$$$:$l$+(B)
+
+\let\ronbunShubetsu=P     % $BO@J8<oJL$N%G%U%)%k%HCM$O8&5fO@J8(B
+\let\sadokuShubetsu=R     % $B::FI<oJL$N%G%U%)%k%HCM$ODL>oO@J8(B
+\let\ronbunLang=J         % $B%G%U%)%k%H$OOBJ8O@J8(B
+\def\JarticleHeader{\rule{\textwidth}{1mm}}
+\def\JarticleTitle{{\huge\bf\@title}}
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}
+
+%
+% $BO@J8<oJL(B
+%
+
+\def\ifRonbun#1{\ifx\ronbunShubetsu P{#1}\else\relax\fi}
+\def\ifSoftRonbun#1{\ifx\ronbunShubetsu S{#1}\else\relax\fi}
+\def\ifKaisetsu#1{\ifx\ronbunShubetsu K{#1}\else\relax\fi}
+\def\ifTutorial#1{\ifx\ronbunShubetsu U{#1}\else\relax\fi}
+\def\ifTaikai#1{\ifx\ronbunShubetsu T{#1}\else\relax\fi}
+\def\ifNotTaikai#1{\ifx\ronbunShubetsu T\relax\else{#1}\fi}
+
+% $B"!(BP $B!J8&5fO@J8!K(B
+\def\ds@P{
+\let\ronbunShubetsu=P%
+\def\JarticleHeader{\rule{\textwidth}{1mm}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BS $B!J%=%U%H%&%'%"O@J8!K(B
+\def\ds@S{
+\let\ronbunShubetsu=S%
+\def\JarticleHeader{%
+\hbox to \strokewidth{\leaderfillboxL\rule{0.9mm}{1mm}}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BK $B!JIaDL$N2r@bO@J8!K(B
+\def\ds@K{
+\let\ronbunShubetsu=K%
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B2r!!@b(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BU $B!J%A%e!<%H%j%"%k(B --- $B2r@bO@J8$N0l<o!K(B
+\def\ds@U{
+\let\ronbunShubetsu=U%
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL\rule{0.1mm}{1.6mm}}
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9.5mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%A%e!<%H%j%"%k(B}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BT $B!JBg2qO@J8!K(B
+\def\ds@T{
+\let\ronbunShubetsu=T%
+\def\JarticleHeader{\rule{\textwidth}{1mm}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle\adjustAfour}
+
+%
+% $B::FI<oJL(B --- $BDL>oO@J8(B/$B%l%?!<O@J8(B $B$N(B2$BDL$j(B
+%
+
+\def\ifRegular#1{\ifx\sadokuShubetsu R{#1}\else\relax\fi}
+\def\ifLetter#1{\ifx\sadokuShubetsu L{#1}\else\relax\fi}
+
+% $B"!(BR $B!JDL>oO@J8!K(B
+\def\ds@R{
+\let\sadokuShubetsu=R
+}
+
+% $B"!(BL $B!J%l%?!<O@J8!K(B
+\def\ds@L{
+\let\sadokuShubetsu=L
+}
+
+%
+% $B8@8l(B
+%
+
+% $B"!(BJ $B!JOBJ8!K(B
+\def\ds@J{
+\let\ronbunLang=J%
+\Jarticle}
+
+% $B"!(BE $B!J1QJ8!K(B
+\def\ds@E{
+\let\ronbunLang=E%
+\def\EarticleHeader{\JarticleHeader}
+\def\EarticleTitle{\JarticleTitle}
+\def\EarticleAuthor{\JarticleAuthor}
+\Earticle}
+
+%%%
+% $BFC=8$N>l9g(B
+%   \tokushu{$BFC=8$N%?%$%H%k(B}
+% $B$H$9$k!%$3$N%?%$%H%k$O!$(B1$B%Z!<%8L\$N>e$NJ}$K=PNO$5$l$k!%(B
+
+\def\tokushu#1{%
+\def\tokushutitle{#1}%
+\ifRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}%
+\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfill}}}%
+\ifSoftRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{%
+\hbox to \leftboxwidth{\leaderfillboxL}%
+\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfillboxL
+\rule{0.9mm}{1mm}}}}%
+\ifKaisetsu{%
+\gdef\articleHeader{{\offinterlineskip
+\hbox to \textwidth{\leaderfillB\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle
+\hskip1mm}%
+\hbox to3\@mojihaba{%
+ \vbox{\rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B2r!!@b(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}}%
+\ifTutorial{%
+\gdef\articleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL
+\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle\hskip2mm}%
+\hbox to\rightstrokewidth{\leaderfillstrokeL}\rule{0.1mm}{1.6mm}}%
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%A%e!<%H%j%"%k(B}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}}%
+\gdef\JarticleHeader{\articleHeader}%
+\gdef\EarticleHeader{\articleHeader}}
+
+%%%
+% $B?dA&$N>l9g(B
+%   \suisen{$B%?%$%H%k(B}
+% $B$H$9$k!%$3$N%?%$%H%k$O!$(B1$B%Z!<%8L\$N>e$NJ}$K=PNO$5$l$k!%(B
+
+\def\suisen#1{%
+\def\suisentitle{#1}%
+\ifRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}%
+\hbox{\small\bf\hskip1mm $B?dA&O@J8!|(B\suisentitle}\leaderfill}}}%
+\ifSoftRonbun{%
+\gdef\articleHeader{\hbox to\textwidth{%
+\hbox to \leftboxwidth{\leaderfillboxL}%
+\hbox{\small\bf\hskip1mm $B?dA&O@J8!|(B\suisentitle}\leaderfillboxL
+\rule{0.9mm}{1mm}}}}%
+\ifKaisetsu{%
+\gdef\articleHeader{{\offinterlineskip
+\hbox to \textwidth{\leaderfillB\hbox{\small\bf\hskip1mm $B?dA&O@J8!|(B\suisentitle
+\hskip1mm}%
+\hbox to3\@mojihaba{%
+ \vbox{\rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B2r!!@b(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}}%
+\gdef\JarticleHeader{\articleHeader}%
+\gdef\EarticleHeader{\articleHeader}}
+
+%%%
+% $BBg2qM=9F$N>l9g(B
+%   \taikai{$BG/EY(B}
+% $B$rF~$l$J$1$l$P$J$i$J$$!%2s?t$OG/EY$+$i<+F0E*$K7W;;$5$l$k!%(B
+% $B2s?t(B = $BG/EY(B - 1983
+% $B$3$N%?%$%H%k$O!$(B1$B%Z!<%8L\$N>e$NJ}$K=PNO$5$l$k!%(B
+
+\def\leaderfilll{\leaders\hbox{\rule{0.2mm}{0.2mm}}\hfill}
+
+\def\taikai#1{%
+\ifTaikai{%
+\newcount\currentYear%
+\newcount\currentKai%
+\currentYear=#1%
+\currentKai=\currentYear\advance\currentKai by-1983%
+\global\xdef\taikaititle{$BF|K\%=%U%H%&%'%"2J3X2qBh(B\number\currentKai $B2sBg2q(B%
+(\number\currentYear $BG/EY(B)$B9V1iO@J8=8(B}%
+\gdef\articleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{0.2mm}%
+\hbox{\small\bf\hskip1mm \taikaititle\hskip1mm}\leaderfilll}}%
+\gdef\JarticleHeader{\articleHeader}%
+\gdef\EarticleHeader{\articleHeader}%
+\gdef\@oddheadcontents{\taikaititle}%
+\gdef\@evenheadcontents{\taikaititle}}}
+
+%%%
+% 1$B%Z!<%8L\$N:82<$K=PNO$5$l$k$b$N(B
+\def\ejtitle#1{\thanks{#1}}
+
+\def\shozoku#1#2#3{\thanks{#1, #2, #3.}}
+
+\def\shutten{%
+\ifNotTaikai{%
+  \thanks{\kanjiskip 0pt minus 0.15zw %
+  $B%3%s%T%e!<%?%=%U%H%&%'%"(B, \kern-0.75pt Vol.\arabic{$B4,?t(B}, %
+  \kern-0.75pt No.\arabic{$B9f?t(B} \kern-1.25pt(\arabic{$BG/?t(B}), %
+  \kern-0.75pt pp.\arabic{firstpage}--\arabic{lastpage}.}}}
+
+\def\ronbunKind{%
+  \ifRonbun{$B8&5f(B}\ifSoftRonbun{$B%=%U%H%&%'%"(B}%
+  \ifKaisetsu{$B2r@b(B}\ifTutorial{$B2r@b(B}$BO@J8(B%
+  \ifRegular{\relax}\ifLetter{($B%l%?!<(B)}}
+
+\def\uketsuke#1#2#3{\ifNotTaikai{\thanks{[\ronbunKind] #1$BG/(B#2$B7n(B#3$BF|<uIU(B.}}}
+
+\def\note#1{\thanks{#1}}
+
+% $B$3$3$+$i@h$O8_49@-$N$?$a$K!$<j$rF~$l$F$$$J$$(B
+%
+% ==========================================================
+% $B"!(Bronbun $B!JO@J8!K(B
+\def\ds@ronbun{
+\def\JarticleHeader{\rule{\textwidth}{1mm}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BEronbun $B!J1QJ8O@J8!K(B
+\def\ds@Eronbun{
+\def\EarticleHeader{\rule{\textwidth}{1mm}}%
+\def\EarticleTitle{{\huge\bf\@title}}%
+\def\EarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Earticle}
+
+% ==========================================================
+% $B"!(Bronbungaiyou $B!JO@J835MW!K(B
+\def\ds@ronbungaiyou{
+\def\pages##1{\long\def\pp{##1}}
+\let\Jabstcontent\relax
+\let\Eabstcontent\relax
+\def\maketitle{\par
+ \@lastpagebalancingfalse
+ \begingroup
+ \def\thefootnote{}%
+ \def\@makefnmark{}%
+ \@maketitle
+ \thispagestyle{plain}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}
+ \thispagestyle{myheadings} % to avoid running head on title page
+\gdef\@thanks{}\gdef\@author{}\gdef\@title{}
+\let\Jabstcontent\relax
+\let\Eabstcontent\relax
+% \let\thanks\relax
+}%
+%
+\def\JarticleHeader{\hbox to25\jspaceskip{\rule{2\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $B%5%$%P!<%Z!<%8O@J835MW(B\hskip1mm}\leaderfill}}%
+\def\JarticleTitle{{\Large\bf\@title}}%
+\def\JarticleAuthor{\large\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\global\def\@maketitle{\newpage \null 
+\hbox{\vbox to193.5\Q{\baselineskip=6mm % 193.5\Q = 9*\baselineskip
+\begin{flushleft}
+\JarticleHeader
+\vskip5mm
+\leftskip=0mm
+\JarticleTitle
+\vskip3mm % to leave 7mm gap between title and author
+\JarticleAuthor
+\end{flushleft}\vfil}}
+% \begin{small}
+\begingroup
+\ifx\Jabstcontent\relax
+\baselineskip=19.5Q
+\Eabstcontent\par
+\else
+\baselineskip=19.5Q
+\Jabstcontent\par
+\fi
+\leavevmode\null\hfill 
+[\kern1pt pp.~\pp\kern1pt]\par
+\endgroup
+% \end{small}
+}}
+
+% ==========================================================
+% $B"!(Bsoftwareronbun $B!J%=%U%H%&%'%"O@J8!K(B
+\def\ds@softwareronbun{
+\def\JarticleHeader{%
+\hbox to \strokewidth{\leaderfillboxL\rule{0.9mm}{1mm}}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ==========================================================
+% $B"!(Btutorial $B!J%A%e!<%H%j%"%k!K(B
+\def\ds@tutorial{
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL\rule{0.1mm}{1.6mm}}
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9.5mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%A%e!<%H%j%"%k(B}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ==========================================================
+% $B"!(Bkaisetsu $B!J2r@b!K(B
+\def\ds@kaisetsu{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}\vskip0.4mm
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B2r!!@b(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% ==========================================================
+% $B"!(Btopics $B!J%H%T%C%/%9!K(B
+\def\ds@topics{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%H%T%C%/%9(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bsoftware $B!J%=%U%H%&%'%">R2p!K(B
+\def\ds@softwareshokai{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%=%U%H%&%'%">R2p(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bforum $B!J%U%)!<%i%`!K(B
+\def\ds@forum{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%U%)!<%i%`(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bzadankai $B!J:BCL2q!K(B
+\def\ds@zadankai{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B:BCL2q(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bcolumn $B!J%3%i%`!K(B
+\def\ds@column{
+\global\advance\textheight by-3mm
+\global\advance\leftskip by3mm
+\global\advance\rightskip by3mm
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to165\Q{% 172\Q = 7*\baselineskip
+\begin{flushleft}
+\null\vskip11.2mm
+\leftskip=8mm \baselineskip10mm
+{\huge\bf\@title}
+\vskip1.5mm % to leave hmode and start a new paragraph
+\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\end{flushleft}\vfil}}}% 
+\columnsep 0pt     % ueda
+}
+
+% $B"!(Breview $B!J=qI>!K(B
+\def\ds@bookreview{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B=q!!I>(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bpioneer $B!J%Q%$%*%K%"!K(B
+\def\ds@pioneer{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%Q%$%*%K%"(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bmemoriam $B!JDIEi5-;v!K(B
+\def\ds@memoriam{
+\def\JarticleHeader{{\offinterlineskip
+\rule{\textwidth}{0.1mm}
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona }\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% ==========================================================
+% $BFC=8$d?dA&$NL>A0$rF~$l$k$?$a$N%^%/%m!#%f!<%6$KDj5A$7$F$b$i$&!#(B
+\def\tokushutitle{}
+\def\suisentitle{}
+
+% $B"!(Btokushuronbun $B!JFC=8O@J8!K(B
+\def\ds@tokushuronbun{
+\def\JarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfill}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BEtokushuronbun $B!J1QJ8FC=8O@J8!K(B
+\def\ds@Etokushuronbun{
+\def\EarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfill}}%
+\def\EarticleTitle{{\huge\bf\@title}}%
+\def\EarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Earticle}
+
+% $B"!(Btokushusoftwareronbun $B!JFC=8%=%U%H%&%'%"O@J8!K(B
+\def\ds@tokushusoftwareronbun{
+\def\JarticleHeader{\hbox to\textwidth{%
+\hbox to \leftboxwidth{\leaderfillboxL}%
+\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfillboxL
+\rule{0.9mm}{1mm}}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(Btokushututorial $B!JFC=8%A%e!<%H%j%"%k!K(B
+\def\ds@tokushututorial{
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \strokewidth{\leaderfillstrokeL
+\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle\hskip2mm}%
+\hbox to\rightstrokewidth{\leaderfillstrokeL}\rule{0.1mm}{1.6mm}}%
+\hbox to\strokewidth{\hbox to0.1mm{{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%A%e!<%H%j%"%k(B}}\vfil}\hfil%
+\hbox to0.1mm{\vbox to8mm{\vss\rule{0.1mm}{9mm}}}}
+\rule{\strokewidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(Btokushukaisetsu $B!JFC=82r@b!K(B
+\def\ds@tokushukaisetsu{
+\def\JarticleHeader{{\offinterlineskip
+\hbox to \textwidth{\leaderfillB\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle
+\hskip1mm}%
+\hbox to3\@mojihaba{%
+ \vbox{\rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}\vskip0.4mm
+       \rule{3\@mojihaba}{0.1mm}}}}%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B2r!!@b(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(Btopics $B!JFC=8%H%T%C%/%9!K(B
+\def\ds@tokushutopics{
+\def\JarticleHeader{{\offinterlineskip
+%
+\hbox to\textwidth{%
+\setbox0=\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle\hskip1mm}%
+\leaders\hbox{\rule{1mm}{0.1mm}}\hfill
+\vbox to0pt{\hsize\wd0\vss\box0\vss}\hbox{\rule{3\@mojihaba}{0.1mm}}}
+% \hbox{\rule{3\@mojihaba}{0.1mm}}}
+%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%H%T%C%/%9(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Btopics $B!JFC=8%=%U%H%&%'%">R2p!K(B
+\def\ds@tokushusoftwareshokai{
+\def\JarticleHeader{{\offinterlineskip
+%
+\hbox to\textwidth{%
+\setbox0=\hbox{\small\bf\hskip1mm $B>.FC=8!|(B\tokushutitle\hskip1mm}%
+\leaders\hbox{\rule{1mm}{0.1mm}}\hfill
+\vbox to0pt{\hsize\wd0\vss\box0\vss}\hbox{\rule{3\@mojihaba}{0.1mm}}}
+% \hbox{\rule{3\@mojihaba}{0.1mm}}}
+%
+\vbox to8mm{\vfil\hbox{\hskip5mm{\gona $B%=%U%H%&%'%">R2p(B}\hfil}\vfil}
+\rule{\textwidth}{0.1mm}
+\vskip0pt}% to end the paragraph and use new baselineskip
+}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\JarticleWithoutAbst}
+
+% $B"!(Bsuisenronbun $B!J?dA&O@J8!K(B
+\def\ds@suisenronbun{
+\def\JarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $B?dA&O@J8!|(B\suisentitle}\leaderfill}}%
+\def\JarticleTitle{{\huge\bf\@title}}%
+\def\JarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Jarticle}
+
+% $B"!(BEsuisenronbun $B!J1QJ8?dA&O@J8!K(B
+\def\ds@Esuisenronbun{
+\def\EarticleHeader{\hbox to\textwidth{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $B?dA&O@J8!|(B\suisentitle}\leaderfill}}%
+\def\EarticleTitle{{\huge\bf\@title}}%
+\def\EarticleAuthor{\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}}%
+\Earticle}
+% ==========================================================
+
+% ==========================================================
+% $B"!(Bkantogen $B!J4,F,8@!K(B
+\def\ds@kantogen{
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox{
+\begin{flushleft}
+\offinterlineskip
+\vspace*{-\topskip}
+\rule{\textwidth}{0.1mm}
+\vskip6mm{\gona $B4,F,8@(B}\hskip15mm{\huge\@title}\vskip5mm\hskip27mm%
+\Large\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\vskip10mm plus10mm minus10mm% you must adjust this size
+\vskip22.5\Q
+\end{flushleft}
+\vfil}}}
+\leftskip=27mm
+\@totalleftmargin=27mm
+\@rightskip=27mm
+\onecolumn
+\baselineskip=22.5\Q
+\global\tendm\global\rm % This does not work, I don't know why!
+}
+% ==========================================================
+
+% ==========================================================
+% $B"!(Btokushutobira $B!JFC=8$NJT=8$K$"$?$C$F!K(B
+\def\ds@tokushutobira{
+\global\def\@maketitle{\newpage \null
+\vspace*{-\baselineskip}
+\begin{flushleft}
+\hbox to\textwidth
+{\rule{3\@mojihaba}{1mm}\hbox{\small\bf\hskip1mm $BFC=8!|(B\tokushutitle}\leaderfill}%
+\vskip12mm\hskip5mm{\huge\bf\@title}\vskip1mm\hskip5mm%
+\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\vskip10mm%
+\end{flushleft}%\vfil
+}
+% tokushutobira must be flush left on even page, and flush right on
+% odd page.
+\ifodd\c@page
+\leftskip=7\@mojihaba \rightskip=0pt
+\@totalleftmargin=7\@mojihaba % for list environment such as itemize
+\@rightskip=7\@mojihaba % for list environment such as itemize
+\else
+\leftskip=0pt \rightskip=7\@mojihaba
+\@totalleftmargin=0pt
+\@rightskip=7\@mojihaba
+\fi
+\onecolumn
+}
+% ==========================================================
+
+% ==========================================================
+% $B"!(Btobira $B!J4,F,!K(B
+\def\ds@tobira{
+\global\def\@maketitle{\newpage \null
+\vspace*{-\baselineskip}
+\begin{flushleft}
+\rule{\textwidth}{1mm}
+\vskip12mm\hskip5mm{\huge\bf\@title}\vskip1mm\hskip5mm%
+\LARGE\begin{tabular}[t]{@{}l}\@author\end{tabular}%
+\vskip10mm%
+\end{flushleft}%\vfil
+}
+% tokushutobira must be flush left on even page, and flush right on
+% odd page.
+\ifodd\c@page
+\leftskip=7\@mojihaba \rightskip=0pt
+\@totalleftmargin=7\@mojihaba % for list environment such as itemize
+\@rightskip=7\@mojihaba % for list environment such as itemize
+\else
+\leftskip=0pt \rightskip=7\@mojihaba
+\@totalleftmargin=0pt
+\@rightskip=7\@mojihaba
+\fi
+\onecolumn
+}
+% ==========================================================
+
+% ==========================================================
+% $B"!(Bgakkaikiji $B!J3X2q5-;v!K(B
+% Gakkai-Kiji header added by yaski
+\def\ds@gakkaikiji{
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to64.5\Q{% 43\Q=3*21.5\Q
+\begin{flushleft}
+{\offinterlineskip
+\noindent
+\hbox to \hsize{{\LARGE $BF|K\%=%U%H%&%'%"2J3X2q(B} \leaders\hrule height 2mm\hfill}
+\vspace{2mm}
+\hbox to \hsize{\footnotesize\bf 
+Japan Society for Software Science and Technology \hfil}}
+\end{flushleft}\vfil}}}
+}
+% ==========================================================
+
+% ==========================================================
+% $B"!(B henshu header added by yaski ($BJT=8$@$h$j(B)
+\def\ds@henshu{
+\global\def\@maketitle{\newpage \null
+\hbox{\vbox to64.5\Q{% 43\Q=3*21.5\Q
+\begin{flushleft}
+{\offinterlineskip
+\noindent
+\hbox to \hsize{{\LARGE $BF|K\%=%U%H%&%'%"2J3X2q(B} \leaders\hrule height 2mm\hfill}
+\vspace{2mm}
+\hbox to \hsize{\footnotesize\bf 
+Japan Society for Software Science and Technology \hfil}}
+\end{flushleft}\vfil}}}
+}
+% ==========================================================
+
+% ==========================================================
+% <13> hissha header added by ohno ($BI.<T>R2p(B)
+\def\ds@hissha{
+\setlength\headsep{47.5mm}
+\setlength\textheight{160mm}
+\pagestyle{hissha}
+\@hisshatrue
+% ----------------
+\raggedbottom
+\global\def\@maketitle{\newpage \null
+%\thispagestyle{hisshatop}
+%\vskip-45mm % added by iwamoto 92.10.15
+%\vskip-55mm % added by iwamoto 92.10.15
+\vskip-53mm
+%\hbox to \textwidth{\hrulefillx}
+\vskip 10mm
+\hbox{\vbox to40mm{%
+\noindent
+\vskip8mm
+\begin{tabular}{l}
+{\LARGE\bf $BI.(B\hspace{2mm}$B<T(B\hspace{2mm}$B>R(B\hspace{2mm}$B2p(B}
+\end{tabular}
+\vfil}}}
+}
+\def\ds@newsletr{
+\input{newsletr.sty}
+}
+
+% ==========================================================
+% $BAmL\<!(B
+\def\ds@somokuji{
+\setlength\headsep{30mm}
+\setlength\textheight{190mm}
+\pagestyle{hissha}
+\@hisshatrue
+% ----------------
+\raggedbottom
+\global\def\@maketitle{\newpage \null
+%\thispagestyle{hisshatop}
+%\vskip-45mm % added by iwamoto 92.10.15
+%\vskip-55mm % added by iwamoto 92.10.15
+%\vskip-30mm
+%\hbox to \textwidth{\hrulefillx}
+\vskip -20mm
+\hbox{\vbox to21mm{%
+\noindent
+\vskip1mm
+\begin{tabular}{l}
+{\LARGE\bf \@title}
+\end{tabular}
+\vfil}}}
+}
+
+% You must define $B=qI>MQ(B header here!
+
+
+\mark{{}{}} 
+
+% volpage$B!J%\%j%e!<%`DL$7%Z!<%8!K(Bhas been abolished as of Vol.22 (2005),
+% but the counter volpageoffset is kept alive for backward compatibility
+% because many papers still say \setcounter{volpageoffset}{...} .
+%
+% \newcounter{volpage}
+\newcounter{volpageoffset} % You must set this to appropriate value
+% \setcounter{volpageoffset}{0} % for each issue!
+
+% \def\thevolpage{\setcounter{volpage}{\value{page}}%
+%  \addtocounter{volpage}{\value{volpageoffset}}%
+%   \hbox to21pt{(\hfil\arabic{volpage}\hfil)}}
+\let\thevolpage=\null
+
+\newcounter{$B4,?t(B} \newcounter{$B9f?t(B}
+\newcounter{$BG/?t(B}
+\newcounter{firstpage}
+\newcounter{lastpage}
+
+\def\volNoPp#1#2#3#4{%
+  \ifNotTaikai{%
+  \setcounter{$B4,?t(B}{#1}\setcounter{$B9f?t(B}{#2}%
+  \setcounter{$BG/?t(B}{1983}\addtocounter{$BG/?t(B}{\value{$B4,?t(B}}%
+  \setcounter{firstpage}{#3}\setcounter{lastpage}{#4}\setcounter{page}{#3}}}
+
+\def\@oddheadcontents
+ {Vol.~\arabic{$B4,?t(B}\hskip\@mojihaba No.~\arabic{$B9f?t(B}\hskip\@mojihaba
+  \ifcase\value{$B9f?t(B}\or Jan.\or Apr.\or July\or Oct.\else\fi
+  \hskip.5\@mojihaba \setcounter{$BG/?t(B}{1983}\addtocounter{$BG/?t(B}{\value{$B4,?t(B}}
+  \arabic{$BG/?t(B}}
+
+\def\@evenheadcontents{$B%3%s%T%e!<%?%=%U%H%&%'%"(B}
+
+\def\ps@headings{\let\@mkboth\markboth
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\normalsize
+ \thepage\phantom{\thevolpage}\hfil\@evenheadcontents
+  \hfil\phantom{\thepage}\thevolpage}
+\def\@oddhead{\normalsize
+ \thevolpage\phantom{\thepage}\hfil\@oddheadcontents
+  \hfil\phantom{\thevolpage}\thepage}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@hissha{\let\@mkboth\markboth
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to221.5mm{\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil{$B%3%s%T%e!<%?%=%U%H%&%'%"(B}
+  \hfil\phantom{\thepage}\thevolpage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\@oddhead{\vbox to221.5mm{\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil\@oddheadcontents
+  \hfil\phantom{\thevolpage}\thepage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@hisshatop{\let\@mkboth\markboth
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to221.5mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil\phantom{$B%3%s%T%e!<%?%=%U%H%&%'%"(B}
+  \hfil\phantom{\thepage}\thevolpage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\@oddhead{\vbox to221.5mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil\phantom{\@oddheadcontents}
+  \hfil\phantom{\thevolpage}\thepage}\vskip3.5mm\rule{\textwidth}{0.1mm}\vfill\rule{\textwidth}{0.1mm}}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@newsheadings{\let\@mkboth\markboth
+%\newfont{\cmssi}{cmssi10 scaled \magstep1}
+%\def\cmssi{\usefont{OT1}{cmss}{m}{it}}
+\font\cmssi=cmssi10 scaled \magstep1
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil{$B!!!!!!!!(B}
+  \hfil\phantom{\thepage}\thevolpage}\vskip2mm\hbox to\textwidth{%\hskip2mm
+\rule{29mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{97mm}{0.1mm}%\hskip2mm
+}\vfill}}
+\def\@oddhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil{$B!!!!!!!!(B}
+  \hfil\phantom{\thevolpage}\thepage}\vskip2mm\hbox to\textwidth{%\hskip2mm
+\rule{29mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{97mm}{0.1mm}%\hskip2mm
+}\vfill}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@myindexheadings{\let\@mkboth\markboth
+%\newfont{\cmssi}{cmssi10 scaled \magstep1}
+%\def\cmssi{\usefont{OT1}{cmss}{m}{it}}
+\font\cmssi=cmssi10 scaled \magstep1
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thepage\phantom{\thevolpage}\hfil{$B!!!!!!!!(B}
+  \hfil\phantom{\thepage}\thevolpage}\vskip2mm\hbox to\textwidth{\hskip2mm\rule{27mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{95mm}{0.1mm}\hskip2mm}\vfill}}
+\def\@oddhead{\vbox to20mm{\vskip.7mm\hbox to\textwidth{\normalsize
+ \thevolpage\phantom{\thepage}\hfil{$B!!!!!!!!(B}
+  \hfil\phantom{\thevolpage}\thepage}\vskip2mm\hbox to\textwidth{\hskip2mm\rule{27mm}{0.1mm}\hss\raisebox{-.5mm}{\cmssi NewsLetter}\hss\rule{95mm}{0.1mm}\hskip2mm}\vfill}}
+\def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}
+\def\subsectionmark##1{\markright{\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}
+
+\def\ps@myheadings{\let\@mkboth\@gobbletwo
+\def\@oddhead{\normalsize \thevolpage\hfil\thepage}
+\def\@oddfoot{}
+\def\@evenfoot{}
+\def\@evenhead{\normalsize \thepage\hfil\thevolpage}
+\def\sectionmark##1{}\def\subsectionmark##1{}}
+
+\pagestyle{headings}
+\pagenumbering{arabic}
+
+\def\tablename{$BI=(B}
+\def\figurename{$B?^(B}
+
+\if@LaTeX@e
+\ifASCII
+\def\bf{\normalfont\gtfamily\bfseries}
+\fi
+\else
+\def\bf{\protect\pdg\protect\pbf}
+\fi
+
+\def\today{\the\year $BG/(B \the\month $B7n(B \the\day $BF|(B}
+
+\def\sloppy{\tolerance 9000 \hfuzz .5\p@ \vfuzz .5\p@}
+
+\flushbottom
+
+
+
+% To balance the final page,
+% following code is borrowed from nicetwocolumn style
+\newdimen\dimen@@
+
+\def\balancecolumns{\setbox0\vbox{\unvbox\@outputbox} \dimen@@=\ht0
+   \advance\dimen@@ by\topskip \advance\dimen@@ by-\baselineskip
+   \divide\dimen@@ by2 \splittopskip=\topskip
+   {\vbadness=10000 \loop \global\setbox3=\copy0
+     \global\setbox1=\vsplit3 to\dimen@@
+     \ifdim\ht3>\dimen@@ \global\advance\dimen@@ by1pt\repeat}
+   \ifdim\dimen@@>\textheight \dimen@@=\textheight\fi
+   \setbox0=\vbox to \dimen@@{\unvbox1} \setbox2=\vbox to \dimen@@{\unvbox3}
+   \if\ht0>\ht2 \setbox2=\vbox to\ht0{\unvbox2}\dimen@@=\ht0\else
+   \if\ht2>\ht0 \setbox0=\vbox to\ht2{\unvbox0}\dimen@@=\ht2\fi\fi
+  \wd0=\hsize \wd2=\hsize
+%\message{in balancecolumns dimen@@=\the\dimen@@, dp0=\the\dp0, dp2=\the\dp2}
+\ifdim\dp0>\dp2\advance\dimen@@ by\dp0\else\advance\dimen@@ by\dp2\fi
+\setbox\@outputbox\vbox to\dimen@@{\hbox to\textwidth{\box0\hfil\box2}\vfill}}
+
+
+% you can refrain from balancing by falsifying following switch!
+\newif\if@lastpagebalancing \@lastpagebalancingtrue % default is to balance
+
+% incorporate balanced output to \enddocument
+\def\enddocument{\if@lastpagebalancing \global\let\@outputdblcol=\balancing@outputdblcol\fi%
+\@checkend{document}\clearpage
+\begingroup  
+\if@filesw \immediate\closeout\@mainaux 
+\def\global\@namedef##1##2{}\def\newlabel{\@testdef r}%
+\def\bibcite{\@testdef b}\@tempswafalse \makeatletter\input \jobname.aux
+\if@tempswa \@warning{Label(s) may have changed.  Rerun to get
+cross-references right}\fi\fi\endgroup
+\deadcycles\z@\@@end}
+
+\newlength{\@interlinegap}
+
+% to change \interlinegap appropriately at appropriate time
+\def\@outputdblcol{\if@firstcolumn \global\@firstcolumnfalse
+    \global\setbox\@leftcolumn\box\@outputbox
+% Following interlinegap value may be wrong!!
+% It is set to gap+depth for normalsize, and depth(2.031999Q) for footnotesize.
+% This setting is inconsistent, but seems to work properly now.
+%\ifx \@currsize\normalsize \global\@interlinegap 8.54815pt\else% setup
+% reset to 10Q after final page footnote hack!
+\ifx \@currsize\normalsize \global\@interlinegap 10\Q\else% setup
+ \ifx \@currsize\footnotesize \global\@interlinegap 2.03199\Q\else% appropriate
+  \ifx \@currsize\small \global\@interlinegap 3.08713pt\fi\fi\fi% gap here!
+  \else \global\@firstcolumntrue
+\if@leftfootnoteexist\setbox\@leftcolumn\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@leftcolumn
+\unvbox\@leftcolumn\vskip\skip\footins\footnoterule%
+%\message{in outputdblcol leftcolumnfootnote=ht:\the\ht\@leftcolumnfootnote, dp:\the\dp\@leftcolumnfootnote, wd:\the\wd\@leftcolumnfootnote}
+\unvbox\@leftcolumnfootnote
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\else
+\setbox\@leftcolumn\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@leftcolumn
+\unvbox\@leftcolumn\vfill%
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\fi
+\if@rightfootnoteexist\setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@outputbox
+\unvbox\@outputbox\vskip\skip\footins\footnoterule%
+%\message{in outputdblcol rightcolumnfootnote=ht:\the\ht\@rightcolumnfootnote, dp:\the\dp\@rightcolumnfootnote, wd:\the\wd\@rightcolumnfootnote}
+\unvbox\@rightcolumnfootnote
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\else
+\setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@outputbox
+\unvbox\@outputbox\vfill%
+\vskip-\dimen128\@textbottom}
+\global\maxdepth\@maxdepth\fi
+    \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth
+      {\box\@leftcolumn \hss}\hfil \vrule width\columnseprule\hfil
+       \hbox to\columnwidth{\box\@outputbox \hss}}}\@combinedblfloats
+       \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
+       \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup
+    \fi}
+
+\def\balancing@outputdblcol{\if@firstcolumn %\global\@firstcolumnfalse
+ \else \global\@firstcolumntrue
+  \setbox\@outputbox\vbox{\unvbox\@leftcolumn\vskip\@interlinegap%
+   \penalty\interlinepenalty\unvbox\@outputbox}
+ \fi
+ \balancecolumns \@combinedblfloats
+\if@leftfootnoteexist\setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+\@texttop\dimen128=\dp\@outputbox
+\unvbox\@outputbox\vfill\vskip\skip\footins\footnoterule%
+%\message{in balancing@outputdblcol leftcolumnfootnote=ht:\the\ht\@leftcolumnfootnote, dp:\the\dp\@leftcolumnfootnote, wd:\the\wd\@leftcolumnfootnote}
+\unvbox\@leftcolumnfootnote
+\if@rightfootnoteexist
+%\message{in balancing@outputdblcol rightcolumnfootnote=ht:\the\ht\@rightcolumnfootnote, dp:\the\dp\@rightcolumnfootnote, wd:\the\wd\@rightcolumnfootnote}
+\unvbox\@rightcolumnfootnote\fi
+\vskip-\dimen128
+\@textbottom}
+\global\maxdepth\@maxdepth\fi
+ \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
+ \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup}
+
+\newbox\@leftcolumnfootnote \newbox\@rightcolumnfootnote
+\newif\if@leftfootnoteexist \newif\if@rightfootnoteexist
+
+% Extra \@texttop somehow found its way into \@makecol.  Deleted
+% 1 Dec 86.  (Found by Mike Harrison)
+
+\def\@makecol{\if@twocolumn
+\if@firstcolumn
+\ifvoid\footins \setbox\@outputbox\box\@cclv
+%\message{in makecol @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\@leftfootnoteexistfalse
+   \else\global\@leftfootnoteexisttrue
+\setbox\@outputbox\box\@cclv
+%\message{in makecol with foot @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\setbox\@leftcolumnfootnote\box\footins
+%\message{in makecol leftcolumnfootnote=ht:\the\ht\@leftcolumnfootnote, dp:\the\dp\@leftcolumnfootnote, wd:\the\wd\@leftcolumnfootnote}
+\fi
+     \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
+\else %if@firstcolumn
+\ifvoid\footins \setbox\@outputbox\box\@cclv
+%\message{in makecol right @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\@rightfootnoteexistfalse
+   \else\global\@rightfootnoteexisttrue
+\setbox\@outputbox\box\@cclv
+%\message{in makecol right with foot @outputbox=(\the\ht\@outputbox, \the\dp\@outputbox, \the\wd\@outputbox)}
+\global\setbox\@rightcolumnfootnote\box\footins
+%\message{in makecol rightcolumnfootnote=ht:\the\ht\@rightcolumnfootnote, dp:\the\dp\@rightcolumnfootnote, wd:\the\wd\@rightcolumnfootnote}
+\fi
+     \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
+\fi %if@firstcolumn
+\else % if@twocolumn
+\ifvoid\footins \setbox\@outputbox\box\@cclv
+   \else\setbox\@outputbox
+     \vbox{\boxmaxdepth \maxdepth
+     \unvbox\@cclv\vskip\skip\footins\footnoterule\unvbox\footins}\fi
+     \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
+     \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\maxdepth
+        \@texttop\dimen128=\dp\@outputbox\unvbox\@outputbox
+        \vskip-\dimen128\@textbottom}%
+     \global\maxdepth\@maxdepth
+\fi}
+
+
+
+\if@LaTeX@e
+\long\def\@footnotetext#1{\insert\footins{%
+    \reset@font\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore\leftskip10\Q
+        \ifnum\value{footnote}>9\hangindent=20\Q\advance\hangindent by 5.2pt
+        \else\hangindent=20\Q\fi \hangafter=1
+    \protected@edef\@currentlabel{%
+       \csname p@footnote\endcsname\@thefnmark
+    }%
+    \color@begingroup
+      \@makefntext{%
+        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}%
+    \color@endgroup}}%
+\else
+\long\def\@footnotetext#1{\insert\footins{\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore\leftskip10\Q
+% extra indent of 5.2pt is decided empirically, roughly the width of a digit
+        \ifnum\value{footnote}>9\hangindent=20\Q\advance\hangindent by 5.2pt
+        \else\hangindent=20\Q\fi \hangafter=1
+%    \hangindent=20\Q \hangafter=1
+   \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@makefntext
+    {\rule{\z@}{\footnotesep}\ignorespaces#1\strut}}}
+\fi
+
+\long\def\@makefntext#1{\noindent$\@thefnmark$\hskip10\Q #1}
+
+\def\@makefnmark{\smash{\hbox{$^{\@thefnmark}$}}} % smashed to make it
+                                                  % zero height
+
+\def\thefootnote{\mbox{\dag}\arabic{footnote}}
+
+% Following \footnoterule is changed to make a gap between footnoterule
+% and first footnote text about 2Q.
+%\def\footnoterule{\kern-3\p@ \hrule width 35mm \kern 2.6\p@} 
+\def\footnoterule{\kern0\p@ \hrule width 35mm \kern-0.4\p@}
+
+
+\def\thanks#1{\footnotemark\begingroup
+\def\protect{\noexpand\protect\noexpand}\xdef\@thanks{\@thanks
+  \protect\specialfootnotetext[\the\c@footnote]{\noindent #1}}\endgroup}
+
+\def\specialfootnotetext{\@ifnextchar
+    [{\@specialxfootnotenext}{\xdef\@thefnmark{\thempfn}\@specialfootnotetext}}
+
+\def\@specialxfootnotenext[#1]{\begingroup \csname c@\@mpfn\endcsname #1\relax
+   \xdef\@thefnmark{\thempfn}\endgroup \@specialfootnotetext}
+
+\def\@mpfn{footnote}
+\def\thempfn{\thefootnote}
+
+\long\def\@specialfootnotetext#1{\insert\footins{\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore\leftskip10\Q
+    \hangindent=10\Q \hangafter=1
+   \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}\@specialmakefntext
+    {\rule{\z@}{\footnotesep}\ignorespaces#1\strut}}}
+
+\long\def\@specialmakefntext#1{\noindent\llap{$\@thefnmark$ }#1}
+
+
+
+% to add extra space before citation by yamanouchi
+\def\cite{{\hskip 1pt}\@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}
+
+\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
+        \def\@citea{}%
+        {\footnotesize\@for\@citeb:=#2\do
+%               {\@citea\def\@citea{\penalty\@m\ }%
+                {\@citea\def\@citea{\penalty\@m{\hskip 1pt}}%
+                 \@ifundefined{b@\@citeb}%
+                        {{\bf ?}\@warning{Citation 
+                                `\@citeb' on page \thepage \space undefined}}%
+                \hbox{[\csname b@\@citeb\endcsname]}}}}
+
+% to make citations within sentences 11.5Q (same as other characters)
+% new command \Cite similar to \cite is defined as follows.
+% (normally citation numbers are typeset using \footnotesize)
+\def\Cite{{\hskip 1pt}\@ifnextchar [{\@tempswatrue\@Citex}{\@tempswafalse\@Citex[]}}
+
+\def\@Citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
+        \def\@citea{}%
+        {\@for\@citeb:=#2\do
+%               {\@citea\def\@citea{\penalty\@m\ }%
+                {\@citea\def\@citea{\penalty\@m{\hskip 1pt}}%
+                 \@ifundefined{b@\@citeb}%
+                        {{\bf ?}\@warning{Citation 
+                                `\@citeb' on page \thepage \space undefined}}%
+                \hbox{[\csname b@\@citeb\endcsname]}}}}
+
+% you must place 1-moji space just right of eqation number
+\def\@eqnnum{{\rm (\theequation)\hskip\@mojihaba}} 
+
+
+
+% height adjusting environment
+% you must use this as separate paragraph
+
+\newbox\adjustbox
+\newdimen\adjustheight
+\newcount\adjustlinecount
+
+\newenvironment{adjustvboxheight}{%\message{prevdepth=\the\prevdepth}
+\vskip-\prevdepth\vskip1.4454pt % to cancel out various depth and set
+                               % it to normal 1.445pt.  For this to
+                               % work properly, it is necessary to use
+                               % this environment as a separate paragraph!!
+\global\setbox\adjustbox=\vbox\bgroup%
+\hsize\columnwidth }{\egroup%
+\adjustheight=\ht\adjustbox%
+\advance\adjustheight \dp\adjustbox%
+\divide\adjustheight\baselineskip \adjustlinecount=\adjustheight%
+\advance\adjustlinecount by 1 %
+\adjustheight=\adjustlinecount\baselineskip%
+% you must ajust the position of top box somehow!!!
+\vskip-.5\Q\vskip-1.445pt\vspace*{.5\Q}\vspace*{1.445pt}%
+%\fboxrule=0.01pt\fboxsep=0pt% for debugging
+\vskip5\Q % = 1/2 gap
+%\noindent\fbox{\vbox to\adjustheight{\vfil\box\adjustbox\vfil}}%
+\noindent\vbox to\adjustheight{\vfil\box\adjustbox\vfil}%
+\vskip-5\Q % = 1/2 gap
+\vskip-1.445pt\noindent}
+
+\clubpenalty=-1000 \widowpenalty=-1000 % we allow club and widow lines ?
+\displaywidowpenalty=-1000
+
+% The following redefinition influences \linebreak etc.
+\def\sloppy{\tolerance 9999 \hfuzz .5\p@ \vfuzz .5\p@}
+
+% use twocolumn instead of multicol
+\twocolumn
+
+\vbadness10001 \hbadness5000
+\tolerance 9999 \pretolerance\m@ne
+
+\@options
+
+\@ifundefined{@maketitle}{\ds@ronbun}{} % to setup default title style
+
+
+\if@LaTeX@e
+\ifASCII
+\DeclareFontShape{JY1}{mc}{m}{it}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JT1}{mc}{m}{it}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JY1}{mc}{m}{sl}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JT1}{mc}{m}{sl}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JY1}{mc}{m}{sc}{<->ssub*mc/m/n}{}
+\DeclareFontShape{JT1}{mc}{m}{sc}{<->ssub*mc/m/n}{}
+
+\DeclareFontShape{JY1}{gt}{m}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{gt}{m}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{gt}{m}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{gt}{m}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{gt}{m}{sc}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{gt}{m}{sc}{<->ssub*gt/m/n}{}
+
+\DeclareFontShape{JY1}{mc}{bx}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{mc}{bx}{it}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{mc}{bx}{sl}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JY1}{mc}{bx}{sc}{<->ssub*gt/m/n}{}
+\DeclareFontShape{JT1}{mc}{bx}{sc}{<->ssub*gt/m/n}{}
+\fi
+\fi
+
+\newcommand{\$B!'(B}{\hbox to1zw{\hss:\hss}}
+
+\endinput
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/makefile	Tue Aug 10 18:27:06 2010 +0900
@@ -0,0 +1,24 @@
+FILE=paper
+
+platex:
+	platex ${FILE}.tex
+	platex ${FILE}.tex
+
+pdf: platex
+	dvipdfmx ${FILE}.dvi
+	open ${FILE}.pdf
+
+repdf: platex
+	pkill Preview
+	dvipdfmx ${FILE}.dvi
+	open ${FILE}.pdf
+	
+xdvi: platex
+	xdvi ${FILE}.dvi
+
+.PHONY:clean
+clean:
+	rm -f ${FILE}.log ${FILE}.aux ${FILE}.dvi
+
+remove:
+	rm -rf ${FILE}.log ${FILE}.aux ${FILE}.toc ${FILE}.dvi ${FILE}.dvi *.PNG *.eps *.bb *.png *.pdf *.graffle *.key *.dat img/*
Binary file paper.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper.tex	Tue Aug 10 18:27:06 2010 +0900
@@ -0,0 +1,127 @@
+% Sample file for the use of compsoft style file.
+%
+\documentclass{compsoft}
+% \documentclass[L]{compsoft}
+% \documentclass[S]{compsoft}
+% \documentclass[S,L]{compsoft}
+% \documentclass[K]{compsoft}
+% \documentclass[K,L]{compsoft}
+% \documentclass[U]{compsoft}
+% \documentclass[U,L]{compsoft}
+
+% Preamble
+%
+% 縲後さ繝ウ繝斐Η繝シ繧ソ繧ス繝輔ヨ繧ヲ繧ァ繧「縲崎ェ後↓謗イ霈峨&繧後k隲匁枚縺ョ蝣エ蜷茨シ梧ャ。縺ァ
+% 蟾サ謨ーシ悟捷謨ーシ碁幕蟋九壹シ繧クシ檎オゆコ繝壹シ繧ク繧呈欠螳壹☆繧具シ
+\volNoPp{16}{5}{78}{83}
+
+% 繝ッ繝シ繧ッ繧キ繝ァ繝繝励↓繧医k謗ィ阮ヲ隲匁枚縺ョ蝣エ蜷茨シ後Ρ繝シ繧ッ繧キ繝ァ繝繝怜錐繧呈欠螳壹☆繧具シ
+% \suisen{繝ッ繝シ繧ッ繧キ繝ァ繝繝怜錐}
+
+% 迚ケ髮縺ョ蝣エ蜷茨シ檎音髮縺ョ繧ソ繧、繝医Ν繧剃ク弱∴繧具シ
+% \tokushu{迚ケ髮縺ョ繧ソ繧、繝医Ν}
+
+% 螟ァ莨夊ォ匁枚縺ョ蝣エ蜷茨シ圭taikai 縺ァ髢句ぎ蟷エ繧呈欠螳壹☆繧具シ弱%縺薙〒謖螳壹@縺溷ケエ縺九i
+% 螟ァ莨壹ョ蝗樊焚縺ッ險育ョ励&繧後kシ
+% \taikai{2009}
+
+% 縺薙%縺ォシ御スソ逕ィ縺吶k繝代ャ繧ア繝シ繧ク繧貞玲嫌縺吶kシ
+\usepackage[dvips]{graphics}
+
+% 繝ヲ繝シ繧カ縺悟ョ夂セゥ縺励◆繝槭け繝ュ縺ェ縺ゥ縺ッ縺薙%縺ォ鄂ョ縺擾シ弱◆縺縺怜ュヲ莨夊ェ後ョ繧ケ繧ソ繧、繝ォ縺ョ
+% 蜀榊ョ夂セゥ縺ッ蜴溷援縺ィ縺励※驕ソ縺代k縺薙→シ
+
+\begin{document}
+
+% 隲匁枚縺ョ繧ソ繧、繝医Ν
+\title{螳溯。梧凾繧ウ繝ウ繝代う繝ォ繧堤畑縺縺滓ュ」隕剰。ィ迴セ隧穂セ。蝎ィ縺ョ螳溯」}
+
+% 闡苓
+% 蜥梧枚隲匁枚縺ョ蝣エ蜷茨シ悟ァ薙→蜷阪ョ髢薙↓縺ッ蜊願ァ偵せ繝壹シ繧ケ繧貞・繧鯉シ
+% 隍謨ー縺ョ闡苓縺ョ髢薙ッ蜈ィ隗偵せ繝壹シ繧ケ縺ァ蛹コ蛻繧
+%
+\author{譁ー螻 濶ッ逎ィ
+%
+% 縺薙%縺ォ繧ソ繧、繝医Ν闍ア險ウ (闍ア譁縺ョ蝣エ蜷医ッ蜥瑚ィウ) 繧呈嶌縺擾シ
+%
+\ejtitle{Implimentation Regular Expression Engine with Just-In-Time Compile.}
+%
+% 縺薙%縺ォ闡苓闍ア譁陦ィ險 (闍ア譁縺ョ蝣エ蜷医ッ蜥梧枚陦ィ險) 縺翫h縺ウ
+% 謇螻 (蜥梧枚縺翫h縺ウ闍ア譁) 繧呈嶌縺擾シ
+% 隍謨ー闡苓縺ョ謇螻槭ッ縺セ縺ィ繧√※繧医>シ
+%
+\shozoku{Shinya Ryoma}{逅臥帥螟ァ蟄ヲ蟾・蟄ヲ驛ィ諠蝣ア蟾・蟄ヲ蟄ヲ遘挿%
+{Dept.\ of Information Engineering, Ryukyu University}
+%
+% 蜃コ蜈ク諠蝣ア縺ッ \shutten 縺ィ縺吶l縺ー蜃コ蜉帙&繧後kシ
+\shutten
+%
+% 蜿嶺サ伜ケエ譛域律シ瑚ィ倅コ九き繝繧エ繝ェ縺ェ縺ゥ縺ッ閾ェ蜍慕噪縺ォ逕滓舌&繧後kシ
+\uketsuke{1999}{8}{3}
+%
+% 縺昴ョ莉厄シ瑚壽ウィ縺ォ蜈・繧後k繧ゅョ縺後≠繧後ーシ圭note 縺ォ險倩ソー縺吶kシ
+%\note{閼壽ウィ縺ォ蜈・繧後k蜀螳ケ}
+}
+
+%
+% 蜥梧枚繧「繝悶せ繝医Λ繧ッ繝
+% 蜥梧枚繧「繝悶せ繝医Λ繧ッ繝
+\Jabstract{%
+蠖鍋皮ゥカ螳、縺ァ縺ッ, Concinuation based C 縺ィ縺縺 迥カ諷矩キ遘サ險倩ソー縺ォ驕ゥ縺励◆ C 縺ョ荳倶ス崎ィ隱槭r謠先。医@縺ヲ縺繧.
+Continuous bsed C 縺ッ 繧ケ繝繝シ繝医Γ繝ウ繝医h繧雁、ァ縺阪¥, 髢「謨ー繧医j繧ょー上&縺ェ繝励Ο繧ー繝ゥ
+繝溘Φ繧ー蜊倅ス阪→縺励※繧ウ繝シ繝峨そ繧ー繝。繝ウ繝医r謖√■, 繧ウ繝シ繝峨そ繧ー繝。繝ウ繝医°繧峨ョ邯咏カ壹r蝓コ譛ャ縺ィ縺励※縺繧.
+譛ャ遐皮ゥカ縺ァ縺ッ, 荳弱∴繧峨l縺滓ュ」隕剰。ィ迴セ縺九i, 遲我セ。縺ェ 縺蜿ウ闊キ迥カ諷九が繝シ繝医槭ヨ繝ウ縺ォ螟画鋤縺, 縺輔i縺ォ縺昴ョ迥カ諷矩キ驕キ遘サ
+繧 CbC 遲峨ョ繝励Ο繧ー繝ゥ繝溘Φ繧ー險隱槭ョ險倩ソー縺ォ螟画鋤縺, 螳溯。梧凾繧ウ繝ウ繝代う繝ォ縺ォ繧医▲縺ヲ蠕
+繧峨l縺滓ュ」隕剰。ィ迴セ隧穂セ。蝎ィ繧堤函謌舌☆繧九さ繝ウ繝代う繝ゥ繧 Python 縺ァ險倩ソー縺, 隧穂セ。繧定。後▲縺.}
+%
+\maketitle
+
+\section{縺ッ縺倥a縺ォ}
+...
+
+\section{CbC}
+...
+
+\section{豁」隕剰。ィ迴セ}
+\section{豁」隕剰。ィ迴セ縺ォ繧医k繝繧ュ繧ケ繝医槭ャ繝±
+豁」隕剰。ィ迴セ縺ッ荳弱∴繧峨l縺滓枚蟄怜励r蜿礼炊縺吶k縺九←縺縺九r蛻、螳壹〒縺阪k繝代ち繝シ繝ウ繝槭ャ繝√Φ
+繧ー縺ョ讖滓ァ九〒縺ゅj, sed, grep, awk 繧貞ァ九a縺ィ縺吶k繝繧ュ繧ケ繝亥ヲ逅繝繝シ繝ォ縺ォ蠎縺丞茜逕ィ
+縺輔l縺ヲ縺繧. 豁」隕剰。ィ迴セ縺ォ縺ッ螳壹a繧峨l縺滓枚豕輔↓繧医▲縺ヲ險倩ソー縺輔l, 萓九∴縺ー,豁」隕剰。ィ迴セ
+``a*b''縺ッ''a''縺ョ0蝗樔サ・荳翫ョ郢ー繧願ソ斐@ ``b'' 縺ァ邨ゅo繧区枚蟄怜(``b'', ``ab'',
+``'aaaab')繧貞女逅縺, ``a(b|c)'' 縺ッ ``a''縺ァ蟋九∪繧,逶エ蠕後′ ``b'' 縺セ縺溘ッ
+``c''縺ァ邨ゅo繧区枚蟄怜(``ab'', ``ac'') 繧貞女逅縺吶k.
+%
+%
+\section{豁」隕剰。ィ迴セ縺ョ隧穂セ。蝎ィ}
+\section{grep}
+\section{豁」隕剰。ィ迴セ縺九iCbC縺ク縺ョ螟画鋤}
+%
+
+%
+\begin{adjustvboxheight} % needed only when Appendix follows
+\begin{thebibliography}{99}
+\bibitem{LS86} Lanin, V. and Shasha, D.シ哂 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.シ售elf-Adjusting Binary Search
+Trees, {\it J. ACM}, Vol.~32, No.~3 (1985), pp.~652--686シ
+
+\bibitem{S89} Shapiro E.シ啜he Family of Concurrent Logic Programming Languages.
+{\it ACM Computing Surveys}, Vol.~21, No.~3 (1989), pp.~413--510シ
+
+\bibitem{T85} Tarjan, R. E.シ哂mortized 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 縺ォ繧医k隲匁枚菴懈舌ョ繧ャ繧、繝厭
+
+縺薙%縺ォシ御サ・蜑阪ョ \verb|sample.tex| 縺ァ縺ッシ瑚ォ匁枚菴懈舌ョ繧ャ繧、繝峨′縺ゅ▲縺溘′シ
+縺昴ョ蜀螳ケ縺ッ \verb|guide.tex| 縺ォ遘サ蜍輔@縺滂シ
+
+\end{document}