VsCode下通过Latex运行计算机学报的模板

一、模板的下载

1.1 官方

计算机学报:http://cjc.ict.ac.cn/
下拉到下方:
在这里插入图片描述
问题:博主在使用VsCode下的Latex跑此模板,出现乱码,应该是编码问题,博主没有详细研究。

1.2 overleaf

此处使用的事overleaf上提供的模板,拷贝下来,存储为对应的文件,跑起来没有问题。(上面的问题,理解也可以通过此方式进行解决,在notepad++或Ttex打开没有问题的情况下,拷贝内容,存储为对应的文件,运行)

二、模板的文件

2.1 captionhack.sty

% change the look of the captions
\renewcommand{\fnum@figure}{{\zihao{-5}\textbf{Fig.~\thefigure}}}
\renewcommand{\fnum@table}{{\zihao{-5}\textbf{Table \thetable}}}
\let\ocaption\caption
\renewcommand{\caption}[2][]{\ocaption[#1]{{\zihao{-5}\textbf{#2}}}}
\renewcommand{\@makecaption}[2]{%
\vskip\abovecaptionskip%
\sbox\@tempboxa{#1\quad #2}%
\ifdim \wd\@tempboxa >\hsize
#1\quad #2\par%
\else
\global \@minipagefalse
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}

2.2 CjC_template_tex.tex

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{CjC}[2019/01/01 v0.1 CjC LaTeX Chinese template class] % Need to be changed with new release
\LoadClass[a4paper, 10.5pt,twocolumn,twoside,journal]{ctexart}
\RequirePackage{ifthen}
\usepackage{flushend}
\usepackage{graphicx}
%\usepackage{CJKutf8}
%\usepackage{CJK}
%\usepackage[lite,subscriptcorrection,slantedGreek,nofontinfo]{mtpro2}
\usepackage{times}%
\RequirePackage{picins}
\RequirePackage{ccaption}
\RequirePackage{calc}
%%--------PAGE FORMAT---------%%
\setlength{\topmargin}{28pt}
\setlength{\headsep}{13pt}
\setlength{\headheight}{6mm}
\setlength{\oddsidemargin}{-7mm}
\setlength{\evensidemargin}{-7mm}
\setlength{\voffset}{-0.40in}
\setlength{\hoffset}{0mm}
\setlength{\footskip}{3.5em}
\setlength{\columnsep}{8mm} %
\textwidth \paperwidth%
\textheight \paperheight%
\addtolength\textwidth{-38mm}
\addtolength\textheight{-62mm}
% extra vertical space between paragraphs normally
\setlength{\parskip}{0mm}
% extra vertical space between paragraphs within a list item
%\setlength{\parsep}{0mm}

%%
\setlength{\abovedisplayskip}{2pt plus 1pt minus 1pt}
\setlength{\belowdisplayskip}{3pt plus 2pt minus 2pt}

\setlength{\doublerulesep}{0.5pt}

%%
\renewcommand{\baselinestretch}{1.14}
\renewcommand{\arraystretch}{1.06}
%
%
\newlength\CjC@linespace
\newcommand{\CjC@choosefont}[3]{%
    \setlength{\CjC@linespace}{#1*\real{\baselinestretch}}%
    \fontsize{#1}{\CjC@linespace plus#2 minus #3}\selectfont}
%
% 1 in = 72 bp = 72.27 pt

\renewcommand\zihao[1]{%
    \ifthenelse{\equal{#1}{0}}{%
        \CjC@choosefont{42bp}{.5pt}{.3pt}}{}%
    \ifthenelse{\equal{#1}{0-}}{%
        \CjC@choosefont{36bp}{.5pt}{.3pt}}{}%
    \ifthenelse{\equal{#1}{1}}{%
        \CjC@choosefont{26bp}{.5pt}{.3pt}}{}%
    \ifthenelse{\equal{#1}{1-}}{%
        \CjC@choosefont{24bp}{.5pt}{.3pt}}{}%
    \ifthenelse{\equal{#1}{2}}{%
        \CjC@choosefont{22bp}{.5pt}{.3pt}}{}%
    \ifthenelse{\equal{#1}{2-}}{%
        \CjC@choosefont{18bp}{.3pt}{.2pt}}{}%
    \ifthenelse{\equal{#1}{3}}{%
        \CjC@choosefont{16bp}{.3pt}{.2pt}}{}%
    \ifthenelse{\equal{#1}{3-}}{%
        \CjC@choosefont{15bp}{.3pt}{.2pt}}{}%
    \ifthenelse{\equal{#1}{4}}{%
        \CjC@choosefont{14bp}{.3pt}{.2pt}}{}%
    \ifthenelse{\equal{#1}{4-}}{%
        \CjC@choosefont{12bp}{.3pt}{.2pt}}{}%
    \ifthenelse{\equal{#1}{5}}{%
        \CjC@choosefont{10.5bp}{.3pt}{.2pt}}{}%
    \ifthenelse{\equal{#1}{5--}}{%
        \CjC@choosefont{10bp}{.3pt}{.2pt}}{}%
    \ifthenelse{\equal{#1}{5-}}{%
        \CjC@choosefont{9bp}{.2pt}{.1pt}}{}%
    \ifthenelse{\equal{#1}{6}}{%
        \CjC@choosefont{7.5bp}{.2pt}{.1pt}}{}%
    \ifthenelse{\equal{#1}{6-}}{%
        \CjC@choosefont{6.5bp}{.2pt}{.1pt}}{}%
    \ifthenelse{\equal{#1}{7}}{%
        \CjC@choosefont{5.5bp}{.1pt}{.1pt}}{}%
    \ifthenelse{\equal{#1}{8}}{%
        \CjC@choosefont{5bp}{.1pt}{.1pt}}{}}
%
%%----- Redefine \tiny \scriptsize \footnotesize\small ----------%%
%%-------------------------\normalsize --------------------------%%
%%---------------\large \Large \LARGE \huge \Huge ---------------%%
%% Refer to ctex
\def\tiny{\zihao{7-}}
\def\scriptsize{\zihao{7}}
\def\footnotesize{\zihao{6-}}
\def\small{\zihao{6}}
\def\normalsize{\zihao{5}}%
\def\large{\zihao{4-}}%
\def\Large{\zihao{4}}%
\def\LARGE{\zihao{3}}%
\def\huge{\zihao{2-}}%
\def\Huge{\zihao{1-}}%
\def\IEEEproof{\@ifnextchar[{\@IEEEproof}{\@IEEEproof[\IEEEproofname]}}
\def\@IEEEproof[#1]{\par\noindent\hspace{1em}{\textbf #1{\quad}}}
\def\endIEEEproof{\hspace*{\fill}~$\blacksquare$\par}
\def\IEEEproofname{Proof}
\AtBeginDocument{\def\proof{\@IEEElegacywarn{proof}{IEEEproof}\IEEEproof}\def\endproof{\endIEEEproof}}




\normalsize  %make \baselinestretch take affect
%\renewcommand{\@biblabel}[1]{#1}
\let\@afterindentfalse\@afterindenttrue\@afterindenttrue
\def\@cite#1#2{\textsuperscript{[{#1\if@tempswa, #2\fi}]}}
\setlength{\footnotesep}{0pt}
\def\footnoterule{\kern-10\p@ \hrule width .4\columnwidth height 0.4pt \kern 6.6\p@}
%
%%-------- maketitle --------%%
%
%
%\renewcommand{\title}[1]{\gdef\CjC@title{{\huge\bf #1}}}
%\renewcommand{\author}[1]{\gdef\CjC@author{{\normalsize #1}}}
%\renewcommand{\address}[1]{\gdef\CjC@address{{\footnotesize \it #1}}}
%\newcommand{\email}[1]{\gdef\CjC@email{{\centering\footnotesize (E-mail: #1)}}}
%\renewcommand{\abstract}[1]{\gdef\CjC@abstract{{\noindent\small {\bf Abstract}\quad #1}}}
%\newcommand{\keyword}[1]{\gdef\CjC@keyword{{\noindent\small {\bf Key words}\quad #1}}}
%\newcommand{\doi}[1]{\gdef\CjC@doi{{\noindent\small {\bf DOI}\quad #1}}}
%
%
\renewcommand{\maketitle}{\par
\begingroup
\def\thefootnote{}%  the \thanks{} mark type is empty
\def\footnotemark{}% and kill space from \thanks within author
\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
\long\def\@makefntext##1{\parindent 1em\noindent
\hb@xt@0.5em{%
\hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
\twocolumn[\@maketitle]%
\thispagestyle{CjC@firstfootings}%ssl
\@thanks%
\endgroup%
\setcounter{footnote}{0}%
\global\let\thanks\relax%
\global\let\maketitle\relax%
\global\let\@maketitle\relax%
\global\let\@thanks\@empty%
\global\let\@author\@empty%
\global\let\@title\@empty%
\global\let\title\relax%
\global\let\author\relax%
\global\let\and\relax%
%
\global\let\cncl\relax%
\global\let\email\relax%
%
\global\let\CjC@title\relax%
\global\let\CjC@author\relax%
\global\let\CjC@address\relax%
\global\let\CjC@abstract\relax%
\global\let\CjC@keyword\relax%
\global\let\CjC@doi\relax%
%
\global\let\title\relax%
\global\let\author\relax%
\global\let\address\relax%
\global\let\abstract\relax%
\global\let\keyword\relax%
\global\let\doi\relax%
}
%
\def\@maketitle{%
    \let\footnote\thanks%
    \newpage\null% an empty hbox
    \vskip 1.2\baselineskip%
    {\centering%
        {\CjC@title\par}%
        {%\vskip 1.2em%
            \vskip 0.8\baselineskip%
            \begin{tabular}[t]{c}%
                \CjC@author%
            \end{tabular}%
            \vskip 0.3em%
            \par%
        }%
        \vskip 0.2\baselineskip}%
    {\linespread{1.0}\selectfont\CjC@abstract\par%
        \vskip 0.2\baselineskip%
        \CjC@keyword\par%
        \vskip 0.2\baselineskip%
        \CjC@doi\par
    }%
    \vskip 1.5\baselineskip%
}
%
\renewcommand{\refname}{\centering \normalsize\bf ~\\[-7mm]}
%
\newenvironment{acknowledgement}{
    \vspace*{10pt}
    {\noindent\zihao{4}\bfseries Acknowledgements\par}
    \vspace*{10pt}
    \begingroup
}{
    \par
    \endgroup
}
%
%%---------------- Define biography ----------------%%
\newenvironment{biography}[1][]{
    \vskip 0.4\baselineskip%
    \zihao{5-}
    \parpic{%
        \includegraphics[height=3.3cm,width=2.5cm]{#1}}%
}{\vskip 0.4\baselineskip\par}

%% For author who has no photo
\newenvironment{biographynophoto}{\vskip 0.4\baselineskip\zihao{5-}}{\vskip 0.4\baselineskip\par}

%%---------------- Redefine section -----------------%%
\setcounter{secnumdepth}{3}

\renewcommand\thesection {\@arabic\c@section}
\renewcommand\thesubsection   {\thesection.\@arabic\c@subsection}
\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection}

\renewcommand\section{\@startsection {section}{1}{\z@}%
  {-1.5ex \@plus -.2ex \@minus -.2ex}%
  {1.5ex \@plus.2ex}%
  {\zihao{4-}\bfseries }}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
    {-1.0ex \@plus -.2ex \@minus -.2ex}%
    {1.0ex \@plus .2ex}%
    {\zihao{5}\bfseries}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
    {-0.5ex \@plus -.0ex \@minus -.2ex}%
    {0.5ex \@plus .0ex}%
    {\zihao{5}}}
\renewcommand*\l@section[2]{%
    \ifnum \c@tocdepth >\z@
        \addpenalty\@secpenalty
        \addvspace{1.0em \@plus\p@}%
        \setlength\@tempdima{1.5em}%
        \begingroup
        \parindent \z@ \rightskip \@pnumwidth
        \parfillskip -\@pnumwidth
        \leavevmode \bfseries
        \advance\leftskip\@tempdima
        \hskip -\leftskip
        #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
        \endgroup
    \fi}
%



\newcommand{\firstheadname}[1]{\gdef\CjC@firstheadname{\zihao{5-} #1}}
\newcommand{\firstfootname}[1]{\gdef\CjC@firstfootname{\zihao{5-}}{#1}}
\newcommand{\headevenname}[1]{\gdef\CjC@headevenname{\zihao{5-} #1}}
\newcommand{\headoddname}[1]{\gdef\CjC@headoddname{\zihao{5-} #1}}



%%------------------CjC@firstheadings begin------------------------------------%%
\def\ps@CjC@firstheadings{
    \let\@evenhead\@empty\let\@evenfoot\@empty
    \let\@oddhead\@empty\let\@oddfoot\@empty
    \def\@evenhead{%
        \vbox{%
            \vskip 3.2mm%
            \hbox to \textwidth{{\zihao{5-} \hbox{\CjC@firstheadname} \hfill }}%
            \vskip 2.0mm%
            %            \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt%
        }%
    }
    \def\@evenfoot{
        \hbox{\CjC@firstfootname}
    }
    \let\@oddhead\@evenhead%
    \let\@oddfoot\@evenfoot%
}
%%-----------------CjC@firstheadings end--------------------------------------%%
%%-------------------CjCheadings begin----------------------------------------%%
\def\ps@CjCheadings{
    \let\@evenhead\@empty\let\@evenfoot\@empty
    \let\@oddhead\@empty\let\@oddfoot\@empty
    \def\@evenhead{%
        \vbox{%
            \vskip 1mm%
            \hbox to \textwidth {\mbox{\hspace {2mm}} {\zihao{5-} \thepage} \hfill \hbox{\CjC@headevenname  \hfill  {\zihao{5-} \mbox{\hspace {2mm}}}}}%
            \vskip 2.0mm%
            \hbox to \textwidth{\noindent\rule[2mm]{\textwidth}{0.5pt}}%
        }%
    }
    \def\@oddhead{%
        \vbox{%
            \vskip 1mm%
            \hbox to \textwidth {{\zihao{5-} \mbox{\hspace {0mm}} \CjC@headoddname}   \hfill {{\zihao{5-} \thepage} \mbox{\hspace {2mm}}}}%
            \vskip 2.0mm%
            \hbox to \textwidth{\noindent\rule[2mm]{\textwidth}{0.5pt}}%
        }
    }%
}
%---------------------headings end------------------------------------------%%


%%------------------CjC@firstheadings begin------------------------------------%%P1
%\def\ps@CjC@firstheadings{
%   \let\@evenhead\@empty
%   \let\@evenfoot\@empty
%  \let\@oddhead\@empty
%  \let\@oddfoot\@empty
%    \def\@ovenhead{
%\hbox to 17cm {\CjC@firstheadname}}
%    \def\@oddhead{
%\hbox to 17cm {\CjC@firstheadname}}
%}
%%-----------------CjC@firstheadings end--------------------------------------%%
%%------------------CjC@firstfootings begin------------------------------------%%P1
%\def\ps@CjC@firstfootings{
%   \let\@evenhead\@empty\let\@evenfoot\@empty
%   \let\@oddhead\@empty\let\@oddfoot\@empty
%    \def\@evenfoot{%
%        \vbox{%
%            \vskip 3.2mm%
%            \hbox to \textwidth{{\zihao{5-} \hbox{\CjC@firstfootname} \hfill }}%
%            \vskip 2.0mm%
%%            \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt%
%        }%
%    }
%   \def\@oddfoot{%
%        \vbox{%
%            \vskip 3.2mm%
%            \hbox to \textwidth{{\zihao{5-} \hbox{\CjC@firstfootname} \hfill }}%
%            \vskip 2.0mm%
%%            \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt%
%        }%
%    }
%   \def\@evenfoot{
%   \hbox{\CjC@firstfootname}
%    }
%   \let\@oddhead\@evenhead%
%   \let\@oddfoot\@evenfoot%
%   }
%%-----------------CjC@firstfootings end--------------------------------------%%
%%-------------------CjCheadings begin----------------------------------------%%
%\def\ps@CjCheadings{
%    \let\@evenhead\@empty
%    \let\@evenfoot\@empty
%    \let\@oddhead\@empty
%    \let\@oddfoot\@empty
%    \def\@evenhead{%
%        \vbox{%
%            \vskip -20mm%
%            \hbox to \textwidth {\mbox{\hspace{2mm}}{\zihao{5-}\thepage}
%            \hfill \hbox{\CjC@headevenname}\hfill{\zihao{5-}\mbox{{\begin{CJK*}{GBK}{song}Year\end{CJK*}\hspace {2.5mm}}}}%
%\vskip 2.0mm%
%\hbox to \textwidth{\noindent\rule[2mm]{\textwidth}{0.5pt}}%
%        }}
%    }
%    \def\@oddhead{%
%        \vbox{%
%            \vskip -40mm%
%            \hbox to \textwidth {{\zihao{5-}\mbox{\hspace {2mm}}{\begin{CJK*}{GBK}{song}No.\end{CJK*}
%\hfill \CjC@headoddname \hfill  {\thepage} \mbox{\hspace {2mm}}}}
%  \vskip 2.0mm%
%  \hbox to \textwidth{\noindent\rule[2mm]{\textwidth}{0.5pt}}}
%    }
%}
%}
%---------------------headings end------------------------------------------%%
%
%%-------- Set the begin and end method for class -----%%
\AtBeginDocument{%
    \flushend
    \captiondelim{ } %
    \captionnamefont{\small}%
    \captiontitlefont{\small}%
}
\AtEndDocument{\clearpage}
\endinput
%%-------- The end of CjC.cls -------------%%

2.3 CjC.cls

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{CjC}[2019/01/01 v0.1 CjC LaTeX Chinese template class] % Need to be changed with new release
\LoadClass[a4paper, 10.5pt,twocolumn,twoside,journal]{ctexart}
\RequirePackage{ifthen}
\usepackage{flushend}
\usepackage{graphicx}
%\usepackage{CJKutf8}
%\usepackage{CJK}
%\usepackage[lite,subscriptcorrection,slantedGreek,nofontinfo]{mtpro2}
\usepackage{times}%
\RequirePackage{picins}
\RequirePackage{ccaption}
\RequirePackage{calc}
%%--------PAGE FORMAT---------%%
\setlength{\topmargin}{28pt}
\setlength{\headsep}{13pt}
\setlength{\headheight}{6mm}
\setlength{\oddsidemargin}{-7mm}
\setlength{\evensidemargin}{-7mm}
\setlength{\voffset}{-0.40in}
\setlength{\hoffset}{0mm}
\setlength{\footskip}{3.5em}
\setlength{\columnsep}{8mm} %
\textwidth \paperwidth%
\textheight \paperheight%
\addtolength\textwidth{-38mm}
\addtolength\textheight{-62mm}
% extra vertical space between paragraphs normally
\setlength{\parskip}{0mm}
% extra vertical space between paragraphs within a list item
%\setlength{\parsep}{0mm}

%%
\setlength{\abovedisplayskip}{2pt plus 1pt minus 1pt}
\setlength{\belowdisplayskip}{3pt plus 2pt minus 2pt}

\setlength{\doublerulesep}{0.5pt}

%%
\renewcommand{\baselinestretch}{1.14}
\renewcommand{\arraystretch}{1.06}
%
%
\newlength\CjC@linespace
\newcommand{\CjC@choosefont}[3]{%
   \setlength{\CjC@linespace}{#1*\real{\baselinestretch}}%
   \fontsize{#1}{\CjC@linespace plus#2 minus #3}\selectfont}
%
% 1 in = 72 bp = 72.27 pt

\renewcommand\zihao[1]{%
   \ifthenelse{\equal{#1}{0}}{%
       \CjC@choosefont{42bp}{.5pt}{.3pt}}{}%
   \ifthenelse{\equal{#1}{0-}}{%
       \CjC@choosefont{36bp}{.5pt}{.3pt}}{}%
   \ifthenelse{\equal{#1}{1}}{%
       \CjC@choosefont{26bp}{.5pt}{.3pt}}{}%
   \ifthenelse{\equal{#1}{1-}}{%
       \CjC@choosefont{24bp}{.5pt}{.3pt}}{}%
   \ifthenelse{\equal{#1}{2}}{%
       \CjC@choosefont{22bp}{.5pt}{.3pt}}{}%
   \ifthenelse{\equal{#1}{2-}}{%
       \CjC@choosefont{18bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{3}}{%
       \CjC@choosefont{16bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{3-}}{%
       \CjC@choosefont{15bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{4}}{%
       \CjC@choosefont{14bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{4-}}{%
       \CjC@choosefont{12bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{5}}{%
       \CjC@choosefont{10.5bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{5--}}{%
       \CjC@choosefont{10bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{5-}}{%
       \CjC@choosefont{9bp}{.2pt}{.1pt}}{}%
   \ifthenelse{\equal{#1}{6}}{%
       \CjC@choosefont{7.5bp}{.2pt}{.1pt}}{}%
   \ifthenelse{\equal{#1}{6-}}{%
       \CjC@choosefont{6.5bp}{.2pt}{.1pt}}{}%
   \ifthenelse{\equal{#1}{7}}{%
       \CjC@choosefont{5.5bp}{.1pt}{.1pt}}{}%
   \ifthenelse{\equal{#1}{8}}{%
       \CjC@choosefont{5bp}{.1pt}{.1pt}}{}}
%
%%----- Redefine \tiny \scriptsize \footnotesize\small ----------%%
%%-------------------------\normalsize --------------------------%%
%%---------------\large \Large \LARGE \huge \Huge ---------------%%
%% Refer to ctex
\def\tiny{\zihao{7-}}
\def\scriptsize{\zihao{7}}
\def\footnotesize{\zihao{6-}}
\def\small{\zihao{6}}
\def\normalsize{\zihao{5}}%
\def\large{\zihao{4-}}%
\def\Large{\zihao{4}}%
\def\LARGE{\zihao{3}}%
\def\huge{\zihao{2-}}%
\def\Huge{\zihao{1-}}%
\def\IEEEproof{\@ifnextchar[{\@IEEEproof}{\@IEEEproof[\IEEEproofname]}}
\def\@IEEEproof[#1]{\par\noindent\hspace{1em}{\textbf #1{\quad}}}
\def\endIEEEproof{\hspace*{\fill}~$\blacksquare$\par}
\def\IEEEproofname{Proof}
\AtBeginDocument{\def\proof{\@IEEElegacywarn{proof}{IEEEproof}\IEEEproof}\def\endproof{\endIEEEproof}}




\normalsize  %make \baselinestretch take affect
%\renewcommand{\@biblabel}[1]{#1}
\let\@afterindentfalse\@afterindenttrue\@afterindenttrue
\def\@cite#1#2{\textsuperscript{[{#1\if@tempswa, #2\fi}]}}
\setlength{\footnotesep}{0pt}
\def\footnoterule{\kern-10\p@ \hrule width .4\columnwidth height 0.4pt \kern 6.6\p@}
%
%%-------- maketitle --------%%
%
%
%\renewcommand{\title}[1]{\gdef\CjC@title{{\huge\bf #1}}}
%\renewcommand{\author}[1]{\gdef\CjC@author{{\normalsize #1}}}
%\renewcommand{\address}[1]{\gdef\CjC@address{{\footnotesize \it #1}}}
%\newcommand{\email}[1]{\gdef\CjC@email{{\centering\footnotesize (E-mail: #1)}}}
%\renewcommand{\abstract}[1]{\gdef\CjC@abstract{{\noindent\small {\bf Abstract}\quad #1}}}
%\newcommand{\keyword}[1]{\gdef\CjC@keyword{{\noindent\small {\bf Key words}\quad #1}}}
%\newcommand{\doi}[1]{\gdef\CjC@doi{{\noindent\small {\bf DOI}\quad #1}}}
%
%
\renewcommand{\maketitle}{\par
 \begingroup
  \def\thefootnote{}%  the \thanks{} mark type is empty
  \def\footnotemark{}% and kill space from \thanks within author
   \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
   \long\def\@makefntext##1{\parindent 1em\noindent
           \hb@xt@0.5em{%
               \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
   \twocolumn[\@maketitle]%
   \thispagestyle{CjC@firstfootings}%ssl
   \@thanks%
 \endgroup%
 \setcounter{footnote}{0}%
 \global\let\thanks\relax%
 \global\let\maketitle\relax%
 \global\let\@maketitle\relax%
 \global\let\@thanks\@empty%
 \global\let\@author\@empty%
 \global\let\@title\@empty%
 \global\let\title\relax%
 \global\let\author\relax%
 \global\let\and\relax%
%
 \global\let\cncl\relax%
 \global\let\email\relax%
%
 \global\let\CjC@title\relax%
 \global\let\CjC@author\relax%
 \global\let\CjC@address\relax%
 \global\let\CjC@abstract\relax%
 \global\let\CjC@keyword\relax%
 \global\let\CjC@doi\relax%
%
 \global\let\title\relax%
 \global\let\author\relax%
 \global\let\address\relax%
 \global\let\abstract\relax%
 \global\let\keyword\relax%
 \global\let\doi\relax%
}
%
\def\@maketitle{%
    \let\footnote\thanks%
    \newpage\null% an empty hbox
    \vskip 1.2\baselineskip%
    {\centering%
    {\CjC@title\par}%
    {%\vskip 1.2em%
    \vskip 0.8\baselineskip%
    \begin{tabular}[t]{c}%
    \CjC@author%
    \end{tabular}%
    \vskip 0.3em%
    \par%
    }%
    \vskip 0.2\baselineskip}%
    {\linespread{1.0}\selectfont\CjC@abstract\par%
    \vskip 0.2\baselineskip%
    \CjC@keyword\par%
    \vskip 0.2\baselineskip%
    \CjC@doi\par
    }%
    \vskip 1.5\baselineskip%
}
%
\renewcommand{\refname}{\centering \normalsize\bf ~\\[-7mm]}
%
\newenvironment{acknowledgement}{
    \vspace*{10pt}
    {\noindent\zihao{4}\bfseries Acknowledgements\par}
    \vspace*{10pt}
    \begingroup
    }{
    \par
    \endgroup
}
%
%%---------------- Define biography ----------------%%
\newenvironment{biography}[1][]{
\vskip 0.4\baselineskip%
\zihao{5-}
\parpic{%
\includegraphics[height=3.3cm,width=2.5cm]{#1}}%
}{\vskip 0.4\baselineskip\par}

%% For author who has no photo
\newenvironment{biographynophoto}{\vskip 0.4\baselineskip\zihao{5-}}{\vskip 0.4\baselineskip\par}

%%---------------- Redefine section -----------------%%
\setcounter{secnumdepth}{3}

\renewcommand\thesection {\@arabic\c@section}
\renewcommand\thesubsection   {\thesection.\@arabic\c@subsection}
\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection}

\renewcommand\section{\@startsection {section}{1}{\z@}%
                                   {-1.5ex \@plus -.2ex \@minus -.2ex}%
                                   {1.5ex \@plus.2ex}%
                                   {\zihao{4-}\bfseries }}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
                                     {-1.0ex \@plus -.2ex \@minus -.2ex}%
                                     {1.0ex \@plus .2ex}%
                                     {\zihao{5}\bfseries}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
                                     {-0.5ex \@plus -.0ex \@minus -.2ex}%
                                     {0.5ex \@plus .0ex}%
                                     {\zihao{5}}}
\renewcommand*\l@section[2]{%
  \ifnum \c@tocdepth >\z@
    \addpenalty\@secpenalty
    \addvspace{1.0em \@plus\p@}%
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bfseries
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
    \endgroup
  \fi}
%



\newcommand{\firstheadname}[1]{\gdef\CjC@firstheadname{\zihao{5-} #1}}
\newcommand{\firstfootname}[1]{\gdef\CjC@firstfootname{\zihao{5-}}{#1}}
\newcommand{\headevenname}[1]{\gdef\CjC@headevenname{\zihao{5-} #1}}
\newcommand{\headoddname}[1]{\gdef\CjC@headoddname{\zihao{5-} #1}}



%%------------------CjC@firstheadings begin------------------------------------%%
\def\ps@CjC@firstheadings{
   \let\@evenhead\@empty\let\@evenfoot\@empty
   \let\@oddhead\@empty\let\@oddfoot\@empty
    \def\@evenhead{%
        \vbox{%
            \vskip 3.2mm%
            \hbox to \textwidth{{\zihao{5-} \hbox{\CjC@firstheadname} \hfill }}%
            \vskip 2.0mm%
%            \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt%
        }%
    }
   \def\@evenfoot{
   \hbox{\CjC@firstfootname}
    }
   \let\@oddhead\@evenhead%
   \let\@oddfoot\@evenfoot%
}
%%-----------------CjC@firstheadings end--------------------------------------%%
%%-------------------CjCheadings begin----------------------------------------%%
\def\ps@CjCheadings{
    \let\@evenhead\@empty\let\@evenfoot\@empty
    \let\@oddhead\@empty\let\@oddfoot\@empty
    \def\@evenhead{%
        \vbox{%
            \vskip 1mm%
            \hbox to \textwidth {\mbox{\hspace {2mm}} {\zihao{5-} \thepage} \hfill \hbox{\CjC@headevenname  \hfill  {\zihao{5-} \mbox{\hspace {2mm}}}}}%
            \vskip 2.0mm%
           \hbox to \textwidth{\noindent\rule[2mm]{\textwidth}{0.5pt}}%
        }%
    }
    \def\@oddhead{%
        \vbox{%
            \vskip 1mm%
            \hbox to \textwidth {{\zihao{5-} \mbox{\hspace {0mm}} \CjC@headoddname}   \hfill {{\zihao{5-} \thepage} \mbox{\hspace {2mm}}}}%
            \vskip 2.0mm%
            \hbox to \textwidth{\noindent\rule[2mm]{\textwidth}{0.5pt}}%
        }
    }%
}
%---------------------headings end------------------------------------------%%


%%------------------CjC@firstheadings begin------------------------------------%%P1
%\def\ps@CjC@firstheadings{
%   \let\@evenhead\@empty
%   \let\@evenfoot\@empty
%  \let\@oddhead\@empty
%  \let\@oddfoot\@empty
%    \def\@ovenhead{
%\hbox to 17cm {\CjC@firstheadname}}
%    \def\@oddhead{
%\hbox to 17cm {\CjC@firstheadname}}
%}
%%-----------------CjC@firstheadings end--------------------------------------%%
%%------------------CjC@firstfootings begin------------------------------------%%P1
%\def\ps@CjC@firstfootings{
%   \let\@evenhead\@empty\let\@evenfoot\@empty
%   \let\@oddhead\@empty\let\@oddfoot\@empty
%    \def\@evenfoot{%
%        \vbox{%
%            \vskip 3.2mm%
%            \hbox to \textwidth{{\zihao{5-} \hbox{\CjC@firstfootname} \hfill }}%
%            \vskip 2.0mm%
%%            \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt%
%        }%
%    }
%   \def\@oddfoot{%
%        \vbox{%
%            \vskip 3.2mm%
%            \hbox to \textwidth{{\zihao{5-} \hbox{\CjC@firstfootname} \hfill }}%
%            \vskip 2.0mm%
%%            \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt%
%        }%
%    }
%   \def\@evenfoot{
%   \hbox{\CjC@firstfootname}
%    }
%   \let\@oddhead\@evenhead%
%   \let\@oddfoot\@evenfoot%
%   }
%%-----------------CjC@firstfootings end--------------------------------------%%
%%-------------------CjCheadings begin----------------------------------------%%
%\def\ps@CjCheadings{
%    \let\@evenhead\@empty
%    \let\@evenfoot\@empty
%    \let\@oddhead\@empty
%    \let\@oddfoot\@empty
%    \def\@evenhead{%
%        \vbox{%
%            \vskip -20mm%
%            \hbox to \textwidth {\mbox{\hspace{2mm}}{\zihao{5-}\thepage}
%            \hfill \hbox{\CjC@headevenname}\hfill{\zihao{5-}\mbox{{\begin{CJK*}{GBK}{song}Year\end{CJK*}\hspace {2.5mm}}}}%
%\vskip 2.0mm%
%\hbox to \textwidth{\noindent\rule[2mm]{\textwidth}{0.5pt}}%
%        }}
%    }
%    \def\@oddhead{%
%        \vbox{%
%            \vskip -40mm%
%            \hbox to \textwidth {{\zihao{5-}\mbox{\hspace {2mm}}{\begin{CJK*}{GBK}{song}No.\end{CJK*}
%\hfill \CjC@headoddname \hfill  {\thepage} \mbox{\hspace {2mm}}}}
%  \vskip 2.0mm%
%  \hbox to \textwidth{\noindent\rule[2mm]{\textwidth}{0.5pt}}}
%    }
%}
%}
%---------------------headings end------------------------------------------%%
%
%%-------- Set the begin and end method for class -----%%
\AtBeginDocument{%
   \flushend
   \captiondelim{ } %
   \captionnamefont{\small}%
   \captiontitlefont{\small}%
   }
\AtEndDocument{\clearpage}
\endinput
%%-------- The end of CjC.cls -------------%%

2.4 llncs.cls

% LLNCS DOCUMENT CLASS -- version 2.17 (12-Jul-2010)
% Springer Verlag LaTeX2e support for Lecture Notes in Computer Science
%
%%
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{llncs}[2010/07/12 v2.17
^^J LaTeX document class for Lecture Notes in Computer Science]
% Options
\let\if@envcntreset\iffalse
\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}
\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}
\DeclareOption{oribibl}{\let\oribibl=Y}
\let\if@custvec\iftrue
\DeclareOption{orivec}{\let\if@custvec\iffalse}
\let\if@envcntsame\iffalse
\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue}
\let\if@envcntsect\iffalse
\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}
\let\if@runhead\iffalse
\DeclareOption{runningheads}{\let\if@runhead\iftrue}

\let\if@openright\iftrue
\let\if@openbib\iffalse
\DeclareOption{openbib}{\let\if@openbib\iftrue}

% languages
\let\switcht@@therlang\relax
\def\ds@deutsch{\def\switcht@@therlang{\switcht@deutsch}}
\def\ds@francais{\def\switcht@@therlang{\switcht@francais}}

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}

\ProcessOptions

\LoadClass[twoside]{article}
\RequirePackage{multicol} % needed for the list of participants, index
\RequirePackage{aliascnt}

\setlength{\textwidth}{12.2cm}
\setlength{\textheight}{19.3cm}
\renewcommand\@pnumwidth{2em}
\renewcommand\@tocrmarg{3.5em}
%
\def\@dottedtocline#1#2#3#4#5{%
  \ifnum #1>\c@tocdepth \else
    \vskip \z@ \@plus.2\p@
    {\leftskip #2\relax \rightskip \@tocrmarg \advance\rightskip by 0pt plus 2cm
               \parfillskip -\rightskip \pretolerance=10000
     \parindent #2\relax\@afterindenttrue
     \interlinepenalty\@M
     \leavevmode
     \@tempdima #3\relax
     \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
     {#4}\nobreak
     \leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep
        mu$}\hfill
     \nobreak
     \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor #5}%
     \par}%
  \fi}
%
\def\switcht@albion{%
\def\abstractname{Abstract.}
\def\ackname{Acknowledgement.}
\def\andname{and}
\def\lastandname{\unskip, and}
\def\appendixname{Appendix}
\def\chaptername{Chapter}
\def\claimname{Claim}
\def\conjecturename{Conjecture}
\def\contentsname{Table of Contents}
\def\corollaryname{Corollary}
\def\definitionname{Definition}
\def\examplename{Example}
\def\exercisename{Exercise}
\def\figurename{Fig.}
\def\keywordname{{\bf Keywords:}}
\def\indexname{Index}
\def\lemmaname{Lemma}
\def\contriblistname{List of Contributors}
\def\listfigurename{List of Figures}
\def\listtablename{List of Tables}
\def\mailname{{\it Correspondence to\/}:}
\def\noteaddname{Note added in proof}
\def\notename{Note}
\def\partname{Part}
\def\problemname{Problem}
\def\proofname{Proof}
\def\propertyname{Property}
\def\propositionname{Proposition}
\def\questionname{Question}
\def\remarkname{Remark}
\def\seename{see}
\def\solutionname{Solution}
\def\subclassname{{\it Subject Classifications\/}:}
\def\tablename{Table}
\def\theoremname{Theorem}}
\switcht@albion
% Names of theorem like environments are already defined
% but must be translated if another language is chosen
%
% French section
\def\switcht@francais{%\typeout{On parle francais.}%
 \def\abstractname{R\'esum\'e.}%
 \def\ackname{Remerciements.}%
 \def\andname{et}%
 \def\lastandname{ et}%
 \def\appendixname{Appendice}
 \def\chaptername{Chapitre}%
 \def\claimname{Pr\'etention}%
 \def\conjecturename{Hypoth\`ese}%
 \def\contentsname{Table des mati\`eres}%
 \def\corollaryname{Corollaire}%
 \def\definitionname{D\'efinition}%
 \def\examplename{Exemple}%
 \def\exercisename{Exercice}%
 \def\figurename{Fig.}%
 \def\keywordname{{\bf Mots-cl\'e:}}
 \def\indexname{Index}
 \def\lemmaname{Lemme}%
 \def\contriblistname{Liste des contributeurs}
 \def\listfigurename{Liste des figures}%
 \def\listtablename{Liste des tables}%
 \def\mailname{{\it Correspondence to\/}:}
 \def\noteaddname{Note ajout\'ee \`a l'\'epreuve}%
 \def\notename{Remarque}%
 \def\partname{Partie}%
 \def\problemname{Probl\`eme}%
 \def\proofname{Preuve}%
 \def\propertyname{Caract\'eristique}%
%\def\propositionname{Proposition}%
 \def\questionname{Question}%
 \def\remarkname{Remarque}%
 \def\seename{voir}
 \def\solutionname{Solution}%
 \def\subclassname{{\it Subject Classifications\/}:}
 \def\tablename{Tableau}%
 \def\theoremname{Th\'eor\`eme}%
}
%
% German section
\def\switcht@deutsch{%\typeout{Man spricht deutsch.}%
 \def\abstractname{Zusammenfassung.}%
 \def\ackname{Danksagung.}%
 \def\andname{und}%
 \def\lastandname{ und}%
 \def\appendixname{Anhang}%
 \def\chaptername{Kapitel}%
 \def\claimname{Behauptung}%
 \def\conjecturename{Hypothese}%
 \def\contentsname{Inhaltsverzeichnis}%
 \def\corollaryname{Korollar}%
%\def\definitionname{Definition}%
 \def\examplename{Beispiel}%
 \def\exercisename{\"Ubung}%
 \def\figurename{Abb.}%
 \def\keywordname{{\bf Schl\"usselw\"orter:}}
 \def\indexname{Index}
%\def\lemmaname{Lemma}%
 \def\contriblistname{Mitarbeiter}
 \def\listfigurename{Abbildungsverzeichnis}%
 \def\listtablename{Tabellenverzeichnis}%
 \def\mailname{{\it Correspondence to\/}:}
 \def\noteaddname{Nachtrag}%
 \def\notename{Anmerkung}%
 \def\partname{Teil}%
%\def\problemname{Problem}%
 \def\proofname{Beweis}%
 \def\propertyname{Eigenschaft}%
%\def\propositionname{Proposition}%
 \def\questionname{Frage}%
 \def\remarkname{Anmerkung}%
 \def\seename{siehe}
 \def\solutionname{L\"osung}%
 \def\subclassname{{\it Subject Classifications\/}:}
 \def\tablename{Tabelle}%
%\def\theoremname{Theorem}%
}

% Ragged bottom for the actual page
\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil
\global\let\@textbottom\relax}}

\renewcommand\small{%
   \@setfontsize\small\@ixpt{11}%
   \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
   \abovedisplayshortskip \z@ \@plus2\p@
   \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
   \def\@listi{\leftmargin\leftmargini
               \parsep 0\p@ \@plus1\p@ \@minus\p@
               \topsep 8\p@ \@plus2\p@ \@minus4\p@
               \itemsep0\p@}%
   \belowdisplayskip \abovedisplayskip
}

\frenchspacing
\widowpenalty=10000
\clubpenalty=10000

\setlength\oddsidemargin   {63\p@}
\setlength\evensidemargin  {63\p@}
\setlength\marginparwidth  {90\p@}

\setlength\headsep   {16\p@}

\setlength\footnotesep{7.7\p@}
\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@}
\setlength\intextsep   {8mm\@plus 2\p@ \@minus 2\p@}

\setcounter{secnumdepth}{2}

\newcounter {chapter}
\renewcommand\thechapter      {\@arabic\c@chapter}

\newif\if@mainmatter \@mainmattertrue
\newcommand\frontmatter{\cleardoublepage
            \@mainmatterfalse\pagenumbering{Roman}}
\newcommand\mainmatter{\cleardoublepage
       \@mainmattertrue\pagenumbering{arabic}}
\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi
      \@mainmatterfalse}

\renewcommand\part{\cleardoublepage
                 \thispagestyle{empty}%
                 \if@twocolumn
                     \onecolumn
                     \@tempswatrue
                   \else
                     \@tempswafalse
                 \fi
                 \null\vfil
                 \secdef\@part\@spart}

\def\@part[#1]#2{%
    \ifnum \c@secnumdepth >-2\relax
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    \markboth{}{}%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >-2\relax
       \huge\bfseries \partname~\thepart
       \par
       \vskip 20\p@
     \fi
     \Huge \bfseries #2\par}%
    \@endpart}
\def\@spart#1{%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \Huge \bfseries #1\par}%
    \@endpart}
\def\@endpart{\vfil\newpage
              \if@twoside
                \null
                \thispagestyle{empty}%
                \newpage
              \fi
              \if@tempswa
                \twocolumn
              \fi}

\newcommand\chapter{\clearpage
                    \thispagestyle{empty}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
                       \if@mainmatter
                         \refstepcounter{chapter}%
                         \typeout{\@chapapp\space\thechapter.}%
                         \addcontentsline{toc}{chapter}%
                                  {\protect\numberline{\thechapter}#1}%
                       \else
                         \addcontentsline{toc}{chapter}{#1}%
                       \fi
                    \else
                      \addcontentsline{toc}{chapter}{#1}%
                    \fi
                    \chaptermark{#1}%
                    \addtocontents{lof}{\protect\addvspace{10\p@}}%
                    \addtocontents{lot}{\protect\addvspace{10\p@}}%
                    \if@twocolumn
                      \@topnewpage[\@makechapterhead{#2}]%
                    \else
                      \@makechapterhead{#2}%
                      \@afterheading
                    \fi}
\def\@makechapterhead#1{%
% \vspace*{50\p@}%
  {\centering
    \ifnum \c@secnumdepth >\m@ne
      \if@mainmatter
        \large\bfseries \@chapapp{} \thechapter
        \par\nobreak
        \vskip 20\p@
      \fi
    \fi
    \interlinepenalty\@M
    \Large \bfseries #1\par\nobreak
    \vskip 40\p@
  }}
\def\@schapter#1{\if@twocolumn
                   \@topnewpage[\@makeschapterhead{#1}]%
                 \else
                   \@makeschapterhead{#1}%
                   \@afterheading
                 \fi}
\def\@makeschapterhead#1{%
% \vspace*{50\p@}%
  {\centering
    \normalfont
    \interlinepenalty\@M
    \Large \bfseries  #1\par\nobreak
    \vskip 40\p@
  }}

\renewcommand\section{\@startsection{section}{1}{\z@}%
                       {-18\p@ \@plus -4\p@ \@minus -4\p@}%
                       {12\p@ \@plus 4\p@ \@minus 4\p@}%
                       {\normalfont\large\bfseries\boldmath
                        \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
                       {-18\p@ \@plus -4\p@ \@minus -4\p@}%
                       {8\p@ \@plus 4\p@ \@minus 4\p@}%
                       {\normalfont\normalsize\bfseries\boldmath
                        \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
                       {-18\p@ \@plus -4\p@ \@minus -4\p@}%
                       {-0.5em \@plus -0.22em \@minus -0.1em}%
                       {\normalfont\normalsize\bfseries\boldmath}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
                       {-12\p@ \@plus -4\p@ \@minus -4\p@}%
                       {-0.5em \@plus -0.22em \@minus -0.1em}%
                       {\normalfont\normalsize\itshape}}
\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use
                  \string\subparagraph\space with this class}\vskip0.5cm
You should not use \verb|\subparagraph| with this class.\vskip0.5cm}

\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}
\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}
\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}
\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}
\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}
\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}
\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}
\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}
\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}
\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}
\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}

\let\footnotesize\small

\if@custvec
\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
{\mbox{\boldmath$\textstyle#1$}}
{\mbox{\boldmath$\scriptstyle#1$}}
{\mbox{\boldmath$\scriptscriptstyle#1$}}}
\fi

\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
\penalty50\hskip1em\null\nobreak\hfil\squareforqed
\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}

\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
\halign{\hfil
$\displaystyle##$\hfil\cr\gets\cr\to\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets
\cr\to\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets
\cr\to\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
\gets\cr\to\cr}}}}}
\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr
\noalign{\vskip1.2pt}=\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr
\noalign{\vskip1pt}=\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
<\cr
\noalign{\vskip0.9pt}=\cr}}}}}
\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr
\noalign{\vskip1.2pt}=\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr
\noalign{\vskip1pt}=\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
>\cr
\noalign{\vskip0.9pt}=\cr}}}}}
\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip
\halign{\hfil
$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr
>\cr\noalign{\vskip-1pt}<\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr
>\cr\noalign{\vskip-0.8pt}<\cr}}}
{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
>\cr\noalign{\vskip-0.3pt}<\cr}}}}}
\def\bbbr{{\rm I\!R}} %reelle Zahlen
\def\bbbm{{\rm I\!M}}
\def\bbbn{{\rm I\!N}} %natuerliche Zahlen
\def\bbbf{{\rm I\!F}}
\def\bbbh{{\rm I\!H}}
\def\bbbk{{\rm I\!K}}
\def\bbbp{{\rm I\!P}}
\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox
to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
Q$}\hbox{\raise
0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
\def\bbbs{{\mathchoice
{\setbox0=\hbox{$\displaystyle     \rm S$}\hbox{\raise0.5\ht0\hbox
to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
{\setbox0=\hbox{$\textstyle        \rm S$}\hbox{\raise0.5\ht0\hbox
to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
{\setbox0=\hbox{$\scriptstyle      \rm S$}\hbox{\raise0.5\ht0\hbox
to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox
to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}}
{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}}

\let\ts\,

\setlength\leftmargini  {17\p@}
\setlength\leftmargin    {\leftmargini}
\setlength\leftmarginii  {\leftmargini}
\setlength\leftmarginiii {\leftmargini}
\setlength\leftmarginiv  {\leftmargini}
\setlength  \labelsep  {.5em}
\setlength  \labelwidth{\leftmargini}
\addtolength\labelwidth{-\labelsep}

\def\@listI{\leftmargin\leftmargini
            \parsep 0\p@ \@plus1\p@ \@minus\p@
            \topsep 8\p@ \@plus2\p@ \@minus4\p@
            \itemsep0\p@}
\let\@listi\@listI
\@listi
\def\@listii {\leftmargin\leftmarginii
              \labelwidth\leftmarginii
              \advance\labelwidth-\labelsep
              \topsep    0\p@ \@plus2\p@ \@minus\p@}
\def\@listiii{\leftmargin\leftmarginiii
              \labelwidth\leftmarginiii
              \advance\labelwidth-\labelsep
              \topsep    0\p@ \@plus\p@\@minus\p@
              \parsep    \z@
              \partopsep \p@ \@plus\z@ \@minus\p@}

\renewcommand\labelitemi{\normalfont\bfseries --}
\renewcommand\labelitemii{$\m@th\bullet$}

\setlength\arraycolsep{1.4\p@}
\setlength\tabcolsep{1.4\p@}

\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}%
                                                    {{\contentsname}}}
 \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}}
 \def\lastand{\ifnum\value{auco}=2\relax
                 \unskip{} \andname\
              \else
                 \unskip \lastandname\
              \fi}%
 \def\and{\stepcounter{@auth}\relax
          \ifnum\value{@auth}=\value{auco}%
             \lastand
          \else
             \unskip,
          \fi}%
 \@starttoc{toc}\if@restonecol\twocolumn\fi}

\def\l@part#1#2{\addpenalty{\@secpenalty}%
   \addvspace{2em plus\p@}%  % space above part line
   \begingroup
     \parindent \z@
     \rightskip \z@ plus 5em
     \hrule\vskip5pt
     \large               % same size as for a contribution heading
     \bfseries\boldmath   % set line in boldface
     \leavevmode          % TeX command to enter horizontal mode.
     #1\par
     \vskip5pt
     \hrule
     \vskip1pt
     \nobreak             % Never break after part entry
   \endgroup}

\def\@dotsep{2}

\let\phantomsection=\relax

\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else
{}\fi}

\def\addnumcontentsmark#1#2#3{%
\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
                     {\thechapter}#3}{\thepage}\hyperhrefextend}}%
\def\addcontentsmark#1#2#3{%
\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}%
\def\addcontentsmarkwop#1#2#3{%
\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}%

\def\@adcmk[#1]{\ifcase #1 \or
\def\@gtempa{\addnumcontentsmark}%
  \or    \def\@gtempa{\addcontentsmark}%
  \or    \def\@gtempa{\addcontentsmarkwop}%
  \fi\@gtempa{toc}{chapter}%
}
\def\addtocmark{%
\phantomsection
\@ifnextchar[{\@adcmk}{\@adcmk[3]}%
}

\def\l@chapter#1#2{\addpenalty{-\@highpenalty}
 \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
 \parindent \z@ \rightskip \@tocrmarg
 \advance\rightskip by 0pt plus 2cm
 \parfillskip -\rightskip \pretolerance=10000
 \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
 {\large\bfseries\boldmath#1}\ifx0#2\hfil\null
 \else
      \nobreak
      \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
      \@dotsep mu$}\hfill
      \nobreak\hbox to\@pnumwidth{\hss #2}%
 \fi\par
 \penalty\@highpenalty \endgroup}

\def\l@title#1#2{\addpenalty{-\@highpenalty}
 \addvspace{8pt plus 1pt}
 \@tempdima \z@
 \begingroup
 \parindent \z@ \rightskip \@tocrmarg
 \advance\rightskip by 0pt plus 2cm
 \parfillskip -\rightskip \pretolerance=10000
 \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
 #1\nobreak
 \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
 \@dotsep mu$}\hfill
 \nobreak\hbox to\@pnumwidth{\hss #2}\par
 \penalty\@highpenalty \endgroup}

\def\l@author#1#2{\addpenalty{\@highpenalty}
 \@tempdima=15\p@ %\z@
 \begingroup
 \parindent \z@ \rightskip \@tocrmarg
 \advance\rightskip by 0pt plus 2cm
 \pretolerance=10000
 \leavevmode \advance\leftskip\@tempdima %\hskip -\leftskip
 \textit{#1}\par
 \penalty\@highpenalty \endgroup}

\setcounter{tocdepth}{0}
\newdimen\tocchpnum
\newdimen\tocsecnum
\newdimen\tocsectotal
\newdimen\tocsubsecnum
\newdimen\tocsubsectotal
\newdimen\tocsubsubsecnum
\newdimen\tocsubsubsectotal
\newdimen\tocparanum
\newdimen\tocparatotal
\newdimen\tocsubparanum
\tocchpnum=\z@            % no chapter numbers
\tocsecnum=15\p@          % section 88. plus 2.222pt
\tocsubsecnum=23\p@       % subsection 88.8 plus 2.222pt
\tocsubsubsecnum=27\p@    % subsubsection 88.8.8 plus 1.444pt
\tocparanum=35\p@         % paragraph 88.8.8.8 plus 1.666pt
\tocsubparanum=43\p@      % subparagraph 88.8.8.8.8 plus 1.888pt
\def\calctocindent{%
\tocsectotal=\tocchpnum
\advance\tocsectotal by\tocsecnum
\tocsubsectotal=\tocsectotal
\advance\tocsubsectotal by\tocsubsecnum
\tocsubsubsectotal=\tocsubsectotal
\advance\tocsubsubsectotal by\tocsubsubsecnum
\tocparatotal=\tocsubsubsectotal
\advance\tocparatotal by\tocparanum}
\calctocindent

\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}}
\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}}
\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}}
\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}}
\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}}

\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
 \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}}
 \@starttoc{lof}\if@restonecol\twocolumn\fi}
\def\l@figure{\@dottedtocline{1}{0em}{1.5em}}

\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
 \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}}
 \@starttoc{lot}\if@restonecol\twocolumn\fi}
\let\l@table\l@figure

\renewcommand\listoffigures{%
    \section*{\listfigurename
      \@mkboth{\listfigurename}{\listfigurename}}%
    \@starttoc{lof}%
    }

\renewcommand\listoftables{%
    \section*{\listtablename
      \@mkboth{\listtablename}{\listtablename}}%
    \@starttoc{lot}%
    }

\ifx\oribibl\undefined
\ifx\citeauthoryear\undefined
\renewenvironment{thebibliography}[1]
     {\section*{\refname}
      \def\@biblabel##1{##1.}
      \small
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \if@openbib
              \advance\leftmargin\bibindent
              \itemindent -\bibindent
              \listparindent \itemindent
              \parsep \z@
            \fi
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \if@openbib
        \renewcommand\newblock{\par}%
      \else
        \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
      \fi
      \sloppy\clubpenalty4000\widowpenalty4000%
      \sfcode`\.=\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw
     {\let\protect\noexpand\immediate
     \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
\newcount\@tempcntc
\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
  \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
    {\@ifundefined
       {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries
        ?}\@warning
       {Citation `\@citeb' on page \thepage \space undefined}}%
    {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
     \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
       \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
     \else
      \advance\@tempcntb\@ne
      \ifnum\@tempcntb=\@tempcntc
      \else\advance\@tempcntb\m@ne\@citeo
      \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else
               \@citea\def\@citea{,\,\hskip\z@skip}%
               \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
               {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else
                \def\@citea{--}\fi
      \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
\else
\renewenvironment{thebibliography}[1]
     {\section*{\refname}
      \small
      \list{}%
           {\settowidth\labelwidth{}%
            \leftmargin\parindent
            \itemindent=-\parindent
            \labelsep=\z@
            \if@openbib
              \advance\leftmargin\bibindent
              \itemindent -\bibindent
              \listparindent \itemindent
              \parsep \z@
            \fi
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{}}%
      \if@openbib
        \renewcommand\newblock{\par}%
      \else
        \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
      \fi
      \sloppy\clubpenalty4000\widowpenalty4000%
      \sfcode`\.=\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}
      \def\@cite#1{#1}%
      \def\@lbibitem[#1]#2{\item[]\if@filesw
        {\def\protect##1{\string ##1\space}\immediate
      \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
   \fi
\else
\@cons\@openbib@code{\noexpand\small}
\fi

\def\idxquad{\hskip 10\p@}% space that divides entry from number

\def\@idxitem{\par\hangindent 10\p@}

\def\subitem{\par\setbox0=\hbox{--\enspace}% second order
                \noindent\hangindent\wd0\box0}% index entry

\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third
                \noindent\hangindent\wd0\box0}% order index entry

\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}

\renewenvironment{theindex}
               {\@mkboth{\indexname}{\indexname}%
                \thispagestyle{empty}\parindent\z@
                \parskip\z@ \@plus .3\p@\relax
                \let\item\par
                \def\,{\relax\ifmmode\mskip\thinmuskip
                             \else\hskip0.2em\ignorespaces\fi}%
                \normalfont\small
                \begin{multicols}{2}[\@makeschapterhead{\indexname}]%
                }
                {\end{multicols}}

\renewcommand\footnoterule{%
  \kern-3\p@
  \hrule\@width 2truecm
  \kern2.6\p@}
  \newdimen\fnindent
  \fnindent1em
\long\def\@makefntext#1{%
    \parindent \fnindent%
    \leftskip \fnindent%
    \noindent
    \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}

\long\def\@makecaption#1#2{%
  \small
  \vskip\abovecaptionskip
  \sbox\@tempboxa{{\bfseries #1.} #2}%
  \ifdim \wd\@tempboxa >\hsize
    {\bfseries #1.} #2\par
  \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}

\def\fps@figure{htbp}
\def\fnum@figure{\figurename\thinspace\thefigure}
\def \@floatboxreset {%
        \reset@font
        \small
        \@setnobreak
        \@setminipage
}
\def\fps@table{htbp}
\def\fnum@table{\tablename~\thetable}
\renewenvironment{table}
               {\setlength\abovecaptionskip{0\p@}%
                \setlength\belowcaptionskip{10\p@}%
                \@float{table}}
               {\end@float}
\renewenvironment{table*}
               {\setlength\abovecaptionskip{0\p@}%
                \setlength\belowcaptionskip{10\p@}%
                \@dblfloat{table}}
               {\end@dblfloat}

\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
  ext@#1\endcsname}{#1}{\protect\numberline{\csname
  the#1\endcsname}{\ignorespaces #2}}\begingroup
    \@parboxrestore
    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
  \endgroup}

% LaTeX does not provide a command to enter the authors institute
% addresses. The \institute command is defined here.

\newcounter{@inst}
\newcounter{@auth}
\newcounter{auco}
\newdimen\instindent
\newbox\authrun
\newtoks\authorrunning
\newtoks\tocauthor
\newbox\titrun
\newtoks\titlerunning
\newtoks\toctitle

\def\clearheadinfo{\gdef\@author{No Author Given}%
                   \gdef\@title{No Title Given}%
                   \gdef\@subtitle{}%
                   \gdef\@institute{No Institute Given}%
                   \gdef\@thanks{}%
                   \global\titlerunning={}\global\authorrunning={}%
                   \global\toctitle={}\global\tocauthor={}}

\def\institute#1{\gdef\@institute{#1}}

\def\institutename{\par
 \begingroup
 \parskip=\z@
 \parindent=\z@
 \setcounter{@inst}{1}%
 \def\and{\par\stepcounter{@inst}%
 \noindent$^{\the@inst}$\enspace\ignorespaces}%
 \setbox0=\vbox{\def\thanks##1{}\@institute}%
 \ifnum\c@@inst=1\relax
   \gdef\fnnstart{0}%
 \else
   \xdef\fnnstart{\c@@inst}%
   \setcounter{@inst}{1}%
   \noindent$^{\the@inst}$\enspace
 \fi
 \ignorespaces
 \@institute\par
 \endgroup}

\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or
   {\star\star\star}\or \dagger\or \ddagger\or
   \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger
   \or \ddagger\ddagger \else\@ctrerr\fi}}

\def\inst#1{\unskip$^{#1}$}
\def\fnmsep{\unskip$^,$}
\def\email#1{{\tt#1}}
\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}%
\@ifpackageloaded{babel}{%
\@ifundefined{extrasenglish}{}{\addto\extrasenglish{\switcht@albion}}%
\@ifundefined{extrasfrenchb}{}{\addto\extrasfrenchb{\switcht@francais}}%
\@ifundefined{extrasgerman}{}{\addto\extrasgerman{\switcht@deutsch}}%
}{\switcht@@therlang}%
\providecommand{\keywords}[1]{\par\addvspace\baselineskip
\noindent\keywordname\enspace\ignorespaces#1}%
}
\def\homedir{\~{ }}

\def\subtitle#1{\gdef\@subtitle{#1}}
\clearheadinfo
%
%%% to avoid hyperref warnings
\providecommand*{\toclevel@author}{999}
%%% to make title-entry parent of section-entries
\providecommand*{\toclevel@title}{0}
%
\renewcommand\maketitle{\newpage
\phantomsection
  \refstepcounter{chapter}%
  \stepcounter{section}%
  \setcounter{section}{0}%
  \setcounter{subsection}{0}%
  \setcounter{figure}{0}
  \setcounter{table}{0}
  \setcounter{equation}{0}
  \setcounter{footnote}{0}%
  \begingroup
    \parindent=\z@
    \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
    \if@twocolumn
      \ifnum \col@number=\@ne
        \@maketitle
      \else
        \twocolumn[\@maketitle]%
      \fi
    \else
      \newpage
      \global\@topnum\z@   % Prevents figures from going at top of page.
      \@maketitle
    \fi
    \thispagestyle{empty}\@thanks
%
    \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%
    \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%
    \instindent=\hsize
    \advance\instindent by-\headlineindent
    \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else
       \addcontentsline{toc}{title}{\the\toctitle}\fi
    \if@runhead
       \if!\the\titlerunning!\else
         \edef\@title{\the\titlerunning}%
       \fi
       \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%
       \ifdim\wd\titrun>\instindent
          \typeout{Title too long for running head. Please supply}%
          \typeout{a shorter form with \string\titlerunning\space prior to
                   \string\maketitle}%
          \global\setbox\titrun=\hbox{\small\rm
          Title Suppressed Due to Excessive Length}%
       \fi
       \xdef\@title{\copy\titrun}%
    \fi
%
    \if!\the\tocauthor!\relax
      {\def\and{\noexpand\protect\noexpand\and}%
      \protected@xdef\toc@uthor{\@author}}%
    \else
      \def\\{\noexpand\protect\noexpand\newline}%
      \protected@xdef\scratch{\the\tocauthor}%
      \protected@xdef\toc@uthor{\scratch}%
    \fi
    \addtocontents{toc}{\noexpand\protect\noexpand\authcount{\the\c@auco}}%
    \addcontentsline{toc}{author}{\toc@uthor}%
    \if@runhead
       \if!\the\authorrunning!
         \value{@inst}=\value{@auth}%
         \setcounter{@auth}{1}%
       \else
         \edef\@author{\the\authorrunning}%
       \fi
       \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}%
       \ifdim\wd\authrun>\instindent
          \typeout{Names of authors too long for running head. Please supply}%
          \typeout{a shorter form with \string\authorrunning\space prior to
                   \string\maketitle}%
          \global\setbox\authrun=\hbox{\small\rm
          Authors Suppressed Due to Excessive Length}%
       \fi
       \xdef\@author{\copy\authrun}%
       \markboth{\@author}{\@title}%
     \fi
  \endgroup
  \setcounter{footnote}{\fnnstart}%
  \clearheadinfo}
%
\def\@maketitle{\newpage
 \markboth{}{}%
 \def\lastand{\ifnum\value{@inst}=2\relax
                 \unskip{} \andname\
              \else
                 \unskip \lastandname\
              \fi}%
 \def\and{\stepcounter{@auth}\relax
          \ifnum\value{@auth}=\value{@inst}%
             \lastand
          \else
             \unskip,
          \fi}%
 \begin{center}%
 \let\newline\\
 {\Large \bfseries\boldmath
  \pretolerance=10000
  \@title \par}\vskip .8cm
\if!\@subtitle!\else {\large \bfseries\boldmath
  \vskip -.65cm
  \pretolerance=10000
  \@subtitle \par}\vskip .8cm\fi
 \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}%
 \def\thanks##1{}\@author}%
 \global\value{@inst}=\value{@auth}%
 \global\value{auco}=\value{@auth}%
 \setcounter{@auth}{1}%
{\lineskip .5em
\noindent\ignorespaces
\@author\vskip.35cm}
 {\small\institutename}
 \end{center}%
 }

% definition of the "\spnewtheorem" command.
%
% Usage:
%
%     \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}
% or  \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}
% or  \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}
%
% New is "cap_font" and "body_font". It stands for
% fontdefinition of the caption and the text itself.
%
% "\spnewtheorem*" gives a theorem without number.
%
% A defined spnewthoerem environment is used as described
% by Lamport.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\def\@thmcountersep{}
\def\@thmcounterend{.}

\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}}

% definition of \spnewtheorem with number

\def\@spnthm#1#2{%
  \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}}
\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}}

\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname
   {\@definecounter{#1}\@addtoreset{#1}{#3}%
   \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
     \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}%
   \expandafter\xdef\csname #1name\endcsname{#2}%
   \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
                              \global\@namedef{end#1}{\@endtheorem}}}

\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
   {\@definecounter{#1}%
   \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
   \expandafter\xdef\csname #1name\endcsname{#2}%
   \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}%
                               \global\@namedef{end#1}{\@endtheorem}}}

\def\@spothm#1[#2]#3#4#5{%
  \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%
  {\expandafter\@ifdefinable\csname #1\endcsname
  {\newaliascnt{#1}{#2}%
  \expandafter\xdef\csname #1name\endcsname{#3}%
  \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
  \global\@namedef{end#1}{\@endtheorem}}}}

\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
\refstepcounter{#1}%
\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}

\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%
                    \ignorespaces}

\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname
       the#1\endcsname}{#5}{#3}{#4}\ignorespaces}

\def\@spbegintheorem#1#2#3#4{\trivlist
                 \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4}

\def\@spopargbegintheorem#1#2#3#4#5{\trivlist
      \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5}

% definition of \spnewtheorem* without number

\def\@sthm#1#2{\@Ynthm{#1}{#2}}

\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
   {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}%
    \expandafter\xdef\csname #1name\endcsname{#2}%
    \global\@namedef{end#1}{\@endtheorem}}}

\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@
\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}}

\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces}

\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1}
       {#4}{#2}{#3}\ignorespaces}

\def\@Begintheorem#1#2#3{#3\trivlist
                           \item[\hskip\labelsep{#2#1\@thmcounterend}]}

\def\@Opargbegintheorem#1#2#3#4{#4\trivlist
      \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }}

\if@envcntsect
   \def\@thmcountersep{.}
   \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape}
\else
   \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}
   \if@envcntreset
      \@addtoreset{theorem}{section}
   \else
      \@addtoreset{theorem}{chapter}
   \fi
\fi

%definition of divers theorem environments
\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily}
\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily}
\if@envcntsame % alle Umgebungen wie Theorem.
   \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}}
\else % alle Umgebungen mit eigenem Zaehler
   \if@envcntsect % mit section numeriert
      \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}}
   \else % nicht mit section numeriert
      \if@envcntreset
         \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
                                   \@addtoreset{#1}{section}}
      \else
         \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
                                   \@addtoreset{#1}{chapter}}%
      \fi
   \fi
\fi
\spn@wtheorem{case}{Case}{\itshape}{\rmfamily}
\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily}
\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape}
\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape}
\spn@wtheorem{example}{Example}{\itshape}{\rmfamily}
\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily}
\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape}
\spn@wtheorem{note}{Note}{\itshape}{\rmfamily}
\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily}
\spn@wtheorem{property}{Property}{\itshape}{\rmfamily}
\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape}
\spn@wtheorem{question}{Question}{\itshape}{\rmfamily}
\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily}
\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily}

\def\@takefromreset#1#2{%
    \def\@tempa{#1}%
    \let\@tempd\@elt
    \def\@elt##1{%
        \def\@tempb{##1}%
        \ifx\@tempa\@tempb\else
            \@addtoreset{##1}{#2}%
        \fi}%
    \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname
    \expandafter\def\csname cl@#2\endcsname{}%
    \@tempc
    \let\@elt\@tempd}

\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist
      \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5}
                  \def\@Opargbegintheorem##1##2##3##4{##4\trivlist
      \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}
      }

\renewenvironment{abstract}{%
      \list{}{\advance\topsep by0.35cm\relax\small
      \leftmargin=1cm
      \labelwidth=\z@
      \listparindent=\z@
      \itemindent\listparindent
      \rightmargin\leftmargin}\item[\hskip\labelsep
                                    \bfseries\abstractname]}
    {\endlist}

\newdimen\headlineindent             % dimension for space between
\headlineindent=1.166cm              % number and text of headings.

\def\ps@headings{\let\@mkboth\@gobbletwo
   \let\@oddfoot\@empty\let\@evenfoot\@empty
   \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
                  \leftmark\hfil}
   \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}%
                 \llap{\thepage}}
   \def\chaptermark##1{}%
   \def\sectionmark##1{}%
   \def\subsectionmark##1{}}

\def\ps@titlepage{\let\@mkboth\@gobbletwo
   \let\@oddfoot\@empty\let\@evenfoot\@empty
   \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
                  \hfil}
   \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}%
                 \llap{\thepage}}
   \def\chaptermark##1{}%
   \def\sectionmark##1{}%
   \def\subsectionmark##1{}}

\if@runhead\ps@headings\else
\ps@empty\fi

\setlength\arraycolsep{1.4\p@}
\setlength\tabcolsep{1.4\p@}

\endinput
%end of file llncs.cls

2.5 main


% !TeX program = xelatex
% !TEX root = main.tex
% !TeX encoding = UTF-8
\documentclass[10.5pt,compsoc]{CjC}
%\usepackage{CJKutf8}
%\usepackage{CJK}
\usepackage{graphicx}
\usepackage{footmisc}
\usepackage{subfigure}
\usepackage{url}
\usepackage{multirow}
\usepackage[noadjust]{cite}
\usepackage{amsmath,amsthm}
\usepackage{amssymb,amsfonts}
\usepackage{booktabs}
\usepackage{color}
\usepackage{ccaption}
\usepackage{booktabs}
\usepackage{float}
\usepackage{fancyhdr}
\usepackage{caption}
\usepackage{xcolor,stfloats}
\usepackage{comment}
\setcounter{page}{1}
\graphicspath{{figures/}}
\usepackage{cuted}%flushend,
\usepackage{captionhack}
\usepackage{epstopdf}
%\usepackage{ccmap}
%\CJKtilde
%\usepackage{CJKpunct} 
%\usepackage[lite,subscriptcorrection,slantedGreek,nofontinfo]{mtpro2}

%===============================%

%\firstfootname{ \quad \quad }
\headevenname{\mbox{\quad} \hfill  \mbox{\zihao{-5}{\songti  计\quad \quad 算\quad \quad 机\quad \quad 学\quad \quad 报 } \hspace {50mm} \mbox{\songti  2019}}}%
\headoddname{\songti  ? 期 \hfill
作者姓名等:论文题目 }%

%footnote use of *
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\setcounter{footnote}{0}
\renewcommand\footnotelayout{\zihao{5-}}

\newtheoremstyle{mystyle}{0pt}{0pt}{\normalfont}{1em}{\bf}{}{1em}{}
\theoremstyle{mystyle}
\renewcommand\figurename{figure~}
\renewcommand{\thesubfigure}{(\alph{subfigure})}
\newcommand{\upcite}[1]{\textsuperscript{\cite{#1}}}
\renewcommand{\labelenumi}{(\arabic{enumi})}
\newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}
\newcommand{\abc}{\color{white}\vrule width 2pt}
\makeatletter
\renewcommand{\@biblabel}[1]{[#1]\hfill}
\makeatother
\setlength\parindent{2em}
%\renewcommand{\hth}{\heiti }
%\renewcommand{\htss}{\begin{CJK*}{UTF8}{song}}


\begin{document}
\hyphenpenalty=50000
\makeatletter
\newcommand\mysmall{\@setfontsize\mysmall{7}{9.5}}
\newenvironment{tablehere}
  {\def\@captype{table}}

\let\temp\footnote
\renewcommand \footnote[1]{\temp{\zihao{-5}#1}}


\thispagestyle{plain}%
\thispagestyle{empty}%
\pagestyle{CjCheadings}

\begin{table*}[!t]
\vspace {-13mm}
\begin{tabular}{p{168mm}}
\zihao{5-}
\songti 
第??卷\quad 第?期 \hfill 计\quad 算\quad 机\quad 学\quad 报\hfill Vol. ??  No. ?
\zihao{5-}\songti  
20??年?月 \hfill CHINESE JOURNAL OF COMPUTERS \hfill ???. 20?? \\
\hline\\[-4.5mm]
\hline\end{tabular}

\centering
\vspace{11mm}
\heiti  
{\zihao{2} 题目(中英文题目一致)字体为2号黑体(全文除特别声明外, 外文统一用Times New Roman) }

\vskip 5mm

{\zihao{3} \fangsong 
作者名$^{1)}$\quad  作者名$^{2),3)}$ \quad 作者名$^{3) }$($^*$字体为3号仿宋*作者)
 }

\vspace{5mm}
\zihao{6}{\songti 
$^{1)}$(单位全名 部门()全名, 市(或直辖市) 国家名 邮政编码)
*字体为6号宋体*单位
 }

\zihao{6}{\songti  
$^{2)}$(单位全名 部门()全名, 市(或直辖市) 国家名
邮政编码)*中英文单位名称、作者姓名须一致*}

\zihao{6}{\songti  
$^{3)}$(单位全名 部门()全名, 市(或直辖市) 国家名 邮政编码)
 }

\zihao{6}{\heiti 
论文定稿后,作者署名、单位无特殊情况不能变更。若变更,须提交签章申请,国家名为中国可以不写,省会城市不写省的名称,其他国家必须写国家名。
 }

\vskip 5mm
{\centering
\begin{tabular}{p{160mm}}
\zihao{5-}{
\setlength{\baselineskip}{16pt}\selectfont{
\noindent\heiti 摘\quad 要\quad   \songti  
*中文摘要内容置于此处(英文摘要中要有这些内容),字体为小5号宋体。摘要贡献部分,要有数据支持,不要出现``...大大提高''``...显著改善''等描述,正确的描述是``{\ldots}提高X{\%}''``{\ldots}上改善X{\%}''。*摘要

 \par}}\\[2mm]

\zihao{5-}{\noindent
\heiti 关键词  \quad \songti  {*关键词(中文关键字与英文关键字对应且一致,应有5-7个关键词);关键词;关键词;关键词*  }
 
}\\[2mm]
\zihao{5-}{\heiti 中图法分类号 	\songti  
TP \rm{\quad \quad \quad     }
\heiti DOI号: \songti  
*投稿时不提供DOI号 }
\end{tabular}}

\vskip 7mm

\begin{center}
\zihao{3}{ {\heiti Title *(中英文题目一致)字体为4号Times New Roman,加粗* Title }}\\
\vspace {5mm}
\zihao{5}{ {\heiti NAME Name-Name$^{1)}$ NAME Name$^{2)}$ NAME Name-Name$^{3)}$ *字体为5号Times
new Roman*Name 
}}\\
\vspace {2mm}
\zihao{6}{\heiti {$^{1)}$(Department of ****, University, City ZipCode, China) *字体为6号Times
new Roman* Depart.Correspond} }

\zihao{6}{\heiti {$^{2)}$(Department of ****, University, City ZipCode)*中国不写国家名*} }

\zihao{6}{\heiti {$^{3)}$(Department of ****, University, City ZipCode, country)*外国写国家名*} }



\end{center}

\begin{tabular}{p{160mm}}
\zihao{5}{
\setlength{\baselineskip}{18pt}\selectfont{
{\bf Abstract}\quad \begin{heiti} (\textbf{500英文单词,内容包含中文摘要的内容}).
字体为Times new Roman,字号5号* Abstract \end{heiti}
\par}}\\

\setlength{\baselineskip}{18pt}\selectfont{
\zihao{5}{\noindent Do not modify the amount of space before and after the artworks. One- or two-column format artworks are preferred. and Tables, create a new break line and paste the resized artworks where desired. Do not modify the amount of space before and after the artworks. One- or two-column format artworks are preferred. All Schemes, Equations, Figures, and Tables should be mentioned in the text consecutively and numbered with Arabic numerals, and appear below where they are mentioned for the first time in the main text. To insert Schemes, Equations, Figures, and Tables, create a new break line and paste the resized artworks where desired. Do not modify the amount of space before and after the artworks. One- or two-column format artworks are preferred.Do not modify the amount of space before and after the artworks. One- or two-column format artworks are preferred. and Tables, create a new break line and paste the resized artworks where desired. Do not modify the amount of space before and after the artworks. One- or two-column format artworks are preferred. All Schemes, Equations, Figures, and Tables should be mentioned in the text consecutively and numbered with Arabic numerals, and appear below where they are mentioned for the first time in the main text.

\vspace {5mm}
{\bf Keywords}\quad \heiti 中文关键字与英文关键字对应且一致,\textbf{不要用英文缩写});
key word; key word; key word* *字体为5号Times new Roman * Key words }\par}
\end{tabular}

\setlength{\tabcolsep}{2pt}
\begin{tabular}{p{0.05cm}p{16.15cm}}
\multicolumn{2}{l}{\rule[4mm]{40mm}{0.1mm}}\\[-3mm]
&\begin{songti}
收稿日期:\quad \quad -\quad -\quad ;最终修改稿收到日期:\quad \quad -\quad -\quad .*投稿时不填写此项*. 本课题得到… …基金中文完整名称(No.项目号)、… …基金中文完整名称(No.项目号)、… … 基金中文完整名称(No.项目号)资助.作者名1(通信作者),性别,xxxx年生,学位(或目前学历),职称,是/否计算机学会(CCF)会员(提供会员号),主要研究领域为*****、****.E-mail: **************.作者名2(通信作者),性别,xxxx年生,学位(或目前学历),职称,是/否计算机学会(CCF)会员(提供会员号),主要研究领域为*****、****.E-mail: **************. 作者名3(通信作者),性别,xxxx年生,学位(或目前学历),职称,是/否计算机学会(CCF)会员(提供会员号),主要研究领域为*****、****.E-mail: **************.(给出的电子邮件地址应不会因出国、毕业、更换工作单位等原因而变动。请给出所有作者的电子邮件)
第1作者手机号码(投稿时必须提供,以便紧急联系,发表时会删除): … …, E-mail: … …*此部分6号宋体*
\end{songti}
\end{tabular}\end{table*}
\clearpage\clearpage
\begin{strip}
\vspace {-13mm}
\end{strip}
    \linespread{1.15}
\heiti 
\zihao{5}
\vskip 1mm
\section{一级标题*字体为4号黑体*标题1}
\textbf{对投稿的基本要求}\songti  
(1) 研究性论文主体应包括引言(重点论述研究的科学问题、意义、解决思路、价值、贡献等)、相关工作(为与引言部分独立的一个章节)、主要成果论述、关键实现技术、验证(对比实验或理论证明)、结论(结束语)等内容;系统实现或实验应有关键点的详细论述,以便读者能够重复实现论文所述成果。实验应有具体的实验环境设置、全面细致的数据对比分析。

(2) 综述应包括引言、问题与挑战、研究现状分析、未来研究方向、结论等内容。以分析、对比为主,避免堆砌文献或一般性介绍、叙述。

(3) 定理证明、公式推导、大篇幅的数学论述、原始数据,放到论文最后的附录中。

{\bf 稿件提交时的基本要求:}

(1) 本模板中要求的各项内容正确齐全,无遗漏;

(2) 语句通顺,无中文、英文语法错误,易于阅读理解,符号使用正确,图、表清晰无误;

(3) 在学术、技术上,论文内容正确无误,各项内容确定。

{\heiti \subsection{二级标题 *字体为5号黑体*标题2} }
\subsubsection{三级标题 *字体为5号宋体*标题3}
*正文部分, 字体为5号宋体* 正文文字

\textbf{正文文字要求语句通顺,无语法错误,结构合理,条理清楚,不影响审稿人、读者阅读理解全文内容。以下几类问题请作者们特别注意}1) 文章题目应明确反映文章的思想和方法;文字流畅,表述清楚;

2) 中文文字、英文表达无语法错误;

3) 公式中无符号、表达式的疏漏,没有同一个符号表示两种意思的情况;

4) 数学中使用的符号、函数名用斜体;

5) 使用的量符合法定计量单位标准;

6) 矢量为黑体,标量为白体;

7) 变量或表示变化的量用斜体;

8) 图表规范,量、线、序无误,位置正确(图表必须在正文中有所表述后出现,即{\ldots}如图1所示)(注意纵、横坐标应有坐标名称和刻度值)9) 列出的参考文献必须在文中按顺序引用,即参考文献顺序与引用顺序一致,各项信息齐全(格式见参考文献部分)10) 首次出现的缩写需写明全称,首次出现的符号需作出解释。

11) 图的图例说明、坐标说明全部用中文或量符号。

\textbf{12) 图应为矢量图。}

13) 表中表头文字采用中文。

14) 公式尺寸:

标准:10.5磅

下标/上标:5.8磅

次下标/上标:4.5磅

符号:16磅

次符号:10.5磅

15) 组合单位采用标准格式,如:``pJ/bit/m$^{4}$''应为 ``pJ/(bit$\cdot
$m$^{4})$''

{\heiti\textbf{定理1}. }\quad ******. *定理内容.*

[``定义''``假设''``公理''``引理''等的排版格式与此相同,详细定理证明、公式可放在附录中]

{ \fangsong 证明 }.\quad  *证明过程.* [``例 x''等的排版格式相同]

\rightline {证毕.}

\begin{figure}[htbp]
\centerline{\includegraphics[width=3.15in,height=1.98in]{CJC1.pdf}}
图X\quad  图片说明 *字体为小5号,图片应为黑白图,图中的子图要有子图说明*
\label{fig1}
\end{figure}

\begin{table}[htbp]
\centering {\heiti 表X\quad 表说明 *表说明采用黑体* }
\vspace {-2.5mm}
\begin{center}
\begin{tabular}{ll}
\toprule
*示例表格*&*第1行为表头,表头要有内容* \\
\hline
&
 \\
&
 \\
&
 \\
&
 \\
\bottomrule
\end{tabular}
\label{tab1}
\end{center}
\end{table}

\heiti 过程X. \quad 过程名称

{\zihao{5-}*《计算机学报》的方法过程描述字体为小5号宋体,IF、THEN等伪代码关键词全部用大写字母,变量和函数名称用斜体*}


\heiti 算法\textbf{Y} .\quad 算法名称.
\zihao{5-}{

\noindent 输入:{\ldots} {\ldots}

\noindent 输出:{\ldots} {\ldots}

*《计算机学报》的算法描述字体为小5号宋体, IF、THEN等伪代码关键词全部用大写字母,变量和函数名称用斜体*}

\vspace {3mm}
\zihao{5}{
\noindent \heiti 致\quad 谢 \quad  \kaishu   *致谢内容.* 致谢 }


\vspace {5mm}
\centerline
{\zihao{5}
\heiti 参~考~文~献 }

% \begin{thebibliography}{99}
% \zihao{5-} \addtolength{\itemsep}{-1em}
% \vspace{1.5mm}

% \bibitem[1]{1}
% 网上的文献(举例:The Cooperative
% Association for Internet Data Analysis(CAIDA),http://www.caida.org/data
% 2010,7,18) \textbf{*请采用脚注放于正文出现处,每页的脚注从1开始编序号*}\footnote{The Cooperative Association for Internet Data
% Analysis (CAIDA), http://www.caida.org/data 2010, 7, 18}

% \bibitem[2]{2} 中文的参考文献需给出中英文对照。形式如[3]。

% \bibitem[3]{3} Zhou Yong-Bin, Feng Deng-Guo. Design and analysis of cryptographic
% protocols for RFID. Chinese Journal of Computers, 2006, 29(4): 581-589 (in
% Chinese) \newline
% (周永彬, 冯登国. RFID安全协议的设计与分析. 计算机学报, 2006, 29(4): 581-589)

% \bibitem[4]{4} 期刊、会议、书籍名称不能用缩写。

% \bibitem[5]{5} 作者(外国人姓在前,名在后可缩写, 后同).
% 题目(英文题目第一字母大写,其它均小写):副标题(如果有). 刊名(全称), 年,
% 卷(): 页码 \textbf{*期刊论文格式*}

% \bibitem[6]{6}作者.
% 文章题目(英文题目第1字母大写,其它均小写):副标题(如果有)//Proceedings of
% the {\ldots} (会议名称). 会议召开城市, 会议召开城市所在国家, 年: 页码
% \textbf{*会议论文集论文格式*}

% \bibitem[7]{7}作者. 文章题目(英文题目第一字母大写, 其它均小写):
% 副标题(如果有)//编者. 文集标题. 出版地: 出版社, 出版年: 页码
% \textbf{*文集格式*}

% \bibitem[8]{8}作者. 书名: 副标题(如果有). 版次(初版不写). 出版社地点: 出版社,
% 出版年 \textbf{*书籍格式*}

% \bibitem[9]{9}作者. 文章题目[博士学位论文/硕士学位论文]. 单位名称,单位地点, 年
% \textbf{*学位论文格式*}

% \bibitem[10]{10}作者. 文章题目(英文题目第一字母大写,其它均小写). 单位地点: 单位,
% 技术报告: 报告编号, 年 \textbf{*技术报告*}

% \bibitem[11]{11}专利拥有人. 专利名称,专利授权国家,专利授权日期
% \textbf{*技术专利*}
%   \end{thebibliography}

\begin{strip}
\end{strip}

\noindent {\zihao{5}\bf{附录X}.}

{\zihao{5-}\setlength\parindent{2em}
*\textbf{附录内容}置于此处,字体为小5号宋体。附录内容包括:\textbf{详细的定理证明、公式推导、原始数据}等*}

\begin{strip}
\end{strip}

\begin{biography}[yourphotofilename.jpg]
\noindent
\textbf{First A. Author}\ \ *计算机学报第1作者提供照片电子图片,尺寸为1寸。英文作者介绍内容包括:出生年,学位(或目前学历),职称,主要研究领域(\textbf{与中文作者介绍中的研究方向一致}).*
*字体为小5号Times New Roman*

\end{biography}

\begin{biography}[yourphotofilename.jpg]
\noindent
\textbf{Second B. Author} *英文作者介绍内容包括:出生年,学位(或目前学历),职称,主要研究领域(\textbf{与中文作者介绍中的研究方向一致})。*
*字体为小5号Times New Roman*
\end{biography}
\begin{strip}
\end{strip}
\zihao{5}
\noindent \textbf{Background}

\zihao{5-}{
\setlength\parindent{2em}
*论文背景介绍为\textbf{英文},字体为小5号Times New Roman体*

论文后面为400单词左右的英文背景介绍。介绍的内容包括:

本文研究的问题属于哪一个领域的什么问题。该类问题目前国际上解决到什么程度。

本文将问题解决到什么程度。

课题所属的项目。

项目的意义。

本研究群体以往在这个方向上的研究成果。

本文的成果是解决大课题中的哪一部分,如果涉及863$\backslash $973以及其项目、基金、研究计划,注意这些项目的英文名称应书写正确。}

 
\end{document}



2.6 mtpro2.sty

%%
%% This is file `mtpro2.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% mtpro2.dtx  (with options: `mtpro')
%% 
%% Copyright 1996 1997 Frank Mittelbach and David Carlisle.
%% Copyright 2001--2006 Frank Mittelbach, David Carlisle, Walter Schmidt, Mike Spivak
\NeedsTeXFormat{LaTeX2e}[1997/06/01]
\ProvidesPackage{mtpro2}
 [2006/05/03 v1.1 %
 MathTimePro II font support (PCTeX/WaS)%
]
\newif\ifmtp@full
\DeclareOption{complete}{\mtp@fulltrue}
\DeclareOption{lite}{\mtp@fullfalse\mtp@amsfalse}
\def\mtp@opterr{%
  \PackageError{mtpro2}%
  {Option \CurrentOption\space cannot be used\MessageBreak
  together with the option `lite'}%
  {Remove the option `lite' or make sure that the complete MT-Pro font set is provided.}
}
\newif\ifmtp@ams
\DeclareOption{noamssymbols}{\mtp@amsfalse}
\DeclareOption{amssymbols}{\ifmtp@full\mtp@amstrue\else\mtp@opterr\fi}
\DeclareOption{uprightGreek}{\let\Gamma=u}
\DeclareOption{slantedGreek}{\let\Gamma=s}
\newif\ifmtp@slops
\DeclareOption{uprightoperators}{\mtp@slopsfalse}
\DeclareOption{slantedoperators}{\mtp@slopstrue}
\newcommand\enablesubscriptcorrection {\catcode`\_=12\relax}
\newcommand\disablesubscriptcorrection{\catcode`\_=8\relax}
\DeclareOption{nosubscriptcorrection}{\disablesubscriptcorrection}
\DeclareOption{subscriptcorrection}  {\enablesubscriptcorrection}
\DeclareOption{zswash}{\mathcode `z="8000}
\DeclareOption{nozswash}{\mathcode `z="717A}
\DeclareOption{cmcal}    {\let\mathcal=c}
\DeclareOption{lucidacal}{\let\mathcal=l}
\DeclareOption{eucal}    {\let\mathcal=e}
\DeclareOption{mtpluscal}{\let\mathcal=s}
\DeclareOption{mtpcal}   {\ifmtp@full\let\mathcal=a\else\mtp@opterr\fi}
\DeclareOption{mtpccal}  {\ifmtp@full\let\mathcal=u\else\mtp@opterr\fi}
\DeclareOption{lucidascr}{\let\mathscr=l}
\DeclareOption{mtplusscr}{\let\mathscr=s}
\DeclareOption{mtpscr}   {\ifmtp@full\let\mathscr=a\else\mtp@opterr\fi}
\DeclareOption{eufrak}   {\let\mathfrak=e}
\DeclareOption{mtpfrak}  {\ifmtp@full\let\mathfrak=a\else\mtp@opterr\fi}
\newif\ifmtp@greekalpha\mtp@greekalphatrue
\DeclareOption{compatiblegreek}{\mtp@greekalphafalse}
\DeclareOption{amsbb}{\let\mathbb=y}
\DeclareOption{mtpbb}{\let\mathbb=b}
\DeclareOption{mtpbbd}{\let\mathbb=d}
\DeclareOption{mtphrb}{\let\mathbb=h}
\DeclareOption{mtphrd}{\let\mathbb=k}
\DeclareOption{mtpbbi}{\let\mathbb=i}
\DeclareOption{mtphbi}{\let\mathbb=j}
\DeclareOption{errorshow}{%
   \def\@font@info#1{%
         \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
                     {LaTeX Font Info: \space\space\space#1}}%
    \def\@font@warning#1{%
         \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
                        {LaTeX Font Warning: #1}}}
\DeclareOption{warningshow}{%
   \def\@font@info#1{%
         \GenericInfo{(Font)\@spaces\@spaces\@spaces\space\space}%
                     {LaTeX Font Info: \space\space\space#1}}%
    \def\@font@warning#1{%
         \GenericWarning{(Font)\@spaces\@spaces\@spaces\space\space}%
                        {LaTeX Font Warning: #1}}}
\DeclareOption{nofontinfo}{%
   \let\@font@info\@gobble
   \let\@font@warning\@gobble}
\ExecuteOptions{%
  complete,amssymbols,uprightGreek,uprightoperators,nosubscriptcorrection,cmcal,errorshow}
\ProcessOptions
\normalfont
\ifmtp@full
\DeclareMathVersion{heavy}
\newcommand\heavymath{\@nomath\heavymath\mathversion{heavy}}
\fi
\DeclareFontEncoding{LMP1}{}{}
\DeclareFontSubstitution{LMP1}{mtt}{m}{it}
\DeclareFontFamily{LMP1}{mtt}{\skewchar\font45}
\DeclareFontShape{LMP1}{mtt}{m}{it}{<-7> mt2mif <7-9> mt2mis <9-> mt2mit}{}
\DeclareFontShape{LMP1}{mtt}{b}{it}{<-7> mt2bmif <7-9> mt2bmis <9-> mt2bmit}{}
\DeclareFontEncoding{LMP2}{}{}
\DeclareFontSubstitution{LMP2}{mtt}{m}{n}
\DeclareFontFamily{LMP2}{mtt}{\skewchar\font48}
\DeclareFontShape{LMP2}{mtt}{m}{n}{<-7> mt2syf <7-9> mt2sys <9-> mt2syt}{}
\DeclareFontShape{LMP2}{mtt}{b}{n}{<-7> mt2bsyf <7-9> mt2bsys <9-> mt2bsyt}{}
\DeclareFontShape{LMP2}{mtt}{eb}{n}{<-7> mt2hsyf <7-9> mt2hsys <9-> mt2hsyt}{}
\DeclareFontEncoding{LMP3}{}{}
\DeclareFontSubstitution{LMP3}{mtt}{m}{n}
\DeclareFontFamily{LMP3}{mtt}{}
\DeclareFontShape{LMP3}{mtt}{m}{n}{<->mt2exa}{}
\DeclareFontShape{LMP3}{mtt}{b}{n}{<->mt2bexa}{}
\DeclareFontShape{LMP3}{mtt}{eb}{n}{<->mt2hexa}{}
\DeclareFontFamily{U}{mtt}{\skewchar\font45}
\DeclareFontShape{U}{mtt}{b}{n}{<-7> mt2mbf <7-9> mt2mbs <9-> mt2mbt}{}% (MJ)
\DeclareSymbolFont{operators}   {\encodingdefault}{\rmdefault}{m}{n}
\DeclareSymbolFont{letters}     {LMP1}{mtt}{m}{it}
\DeclareSymbolFont{symbols}     {LMP2}{mtt}{m}{n}
\DeclareSymbolFont{largesymbols}{LMP3}{mtt}{m}{n}
\ifmtp@full
\SetSymbolFont{operators}   {bold}{\encodingdefault}{\rmdefault}{b}{n}
\SetSymbolFont{letters}     {bold}{LMP1}{mtt}{b}{it}
\SetSymbolFont{symbols}     {bold}{LMP2}{mtt}{b}{n}
\SetSymbolFont{largesymbols}{bold}{LMP3}{mtt}{b}{n}
\SetSymbolFont{symbols}     {heavy}{LMP2}{mtt}{eb}{n}
\SetSymbolFont{largesymbols}{heavy}{LMP3}{mtt}{eb}{n}
\DeclareFontFamily{U}{mt2sya}{}%
\DeclareFontShape{U}{mt2sya}{m}{n}{<-7>mt2syaf<7-9>mt2syas<9->mt2syat}{}%
\DeclareFontShape{U}{mt2sya}{b}{n}{<-7>mt2bsyaf<7-9>mt2bsyas<9->mt2bsyat}{}%
\DeclareFontShape{U}{mt2sya}{eb}{n}{<-7>mt2hsyaf<7-9>mt2hsyas<9->mt2hsyat}{}%
\fi
\normalsize
\dimen@\f@size pt
\edef\tMTPsize{\f@size pt}
\font\MTEXA@=mt2exa at \the\dimen@
\font\MTXL@=mt2xl at \the\dimen@
\multiply\dimen@\tw@
\font\MTEXE@=mt2exe at \the\dimen@
\font\MTXXXL@=mt2xxxl at \the\dimen@
\multiply\dimen@\tw@
\font\MTEXF@=mt2exf at \the\dimen@
\multiply\dimen@\tw@
\font\MTEXG@=mt2exg at \the\dimen@
\alloc@0\count\countdef\insc@unt\pointcount@
\def\getpoints@#1.#2\getpoints@{\pointcount@#1\relax}
\DeclareMathAlphabet{\mathbf}{\encodingdefault}{\rmdefault}{b}{n}
\DeclareMathAlphabet{\mathit}{\encodingdefault}{\rmdefault}{m}{it}
\DeclareMathAlphabet{\mathsf}{\encodingdefault}{\sfdefault}{m}{n}
\DeclareMathAlphabet{\mathtt}{\encodingdefault}{\ttdefault}{m}{n}
\SetMathAlphabet{\mathit}{bold}{\encodingdefault}{\rmdefault}{b}{it}
\SetMathAlphabet{\mathsf}{bold}{\encodingdefault}{\sfdefault}{b}{n}
\SetMathAlphabet{\mathtt}{bold}{\encodingdefault}{\ttdefault}{b}{n}
\DeclareMathAlphabet{\mbf}{U}{mtt}{b}{n}
\DeclareMathAlphabet{\mathbold}{LMP1}{mtt}{b}{it}
\ifx\mathscr s
  \let\mathscr\relax
  \DeclareMathAlphabet{\mathscr}       {U}{mtms}{m}{n}
  \SetMathAlphabet    {\mathscr} {bold}{U}{mtms}{b}{n}
  \DeclareMathAlphabet{\mathbscr}      {U}{mtms}{b}{n}
\fi
\ifx\mathscr l
  \let\mathscr\relax
  \DeclareMathAlphabet{\mathscr}  {OMS}{lbm}{m}{n}
  \SetMathAlphabet{\mathscr}{bold}{OMS}{lbm}{b}{n}
  \DeclareMathAlphabet{\mathbscr} {OMS}{lbm}{b}{n}
\fi
\ifx\mathscr a
  \let\mathscr\relax
  \DeclareRobustCommand*{\mathscr}[1]{{\MTPsetupScript\MTPScript{#1}}}
  \DeclareRobustCommand*{\mathbscr}[1]{{\MTPsetupScript\MTPbScript{#1}}}
\fi
\ifx\mathcal l
  \let\mathcal\relax
  \DeclareMathAlphabet{\mathcal}  {OMS}{lbm}{m}{n}
  \SetMathAlphabet{\mathcal}{bold}{OMS}{lbm}{b}{n}
  \DeclareMathAlphabet{\mathbcal} {OMS}{lbm}{b}{n}
\fi
\ifx\mathcal s
  \let\mathcal\relax
  \DeclareMathAlphabet{\mathcal}  {U}{mtms}{m}{n}
  \SetMathAlphabet{\mathcal}{bold}{U}{mtms}{b}{n}
  \DeclareMathAlphabet{\mathbcal} {U}{mtms}{b}{n}
\fi
\ifx\mathcal e
  \let\mathcal\relax
  \DeclareFontFamily{U}{eus}{\skewchar\font'60}
  \DeclareFontShape{U}{eus}{m}{n}{<-7>eusm5<7-9>eusm7<9->eusm10}{}
  \DeclareFontShape{U}{eus}{b}{n}{<-7>eusb5<7-9>eusb7<9->eusb10}{}
  \DeclareMathAlphabet{\mathcal}  {U}{eus}{m}{n}
  \SetMathAlphabet{\mathcal}{bold}{U}{eus}{b}{n}
  \DeclareMathAlphabet{\mathbcal} {U}{eus}{b}{n}
\fi
\ifx\mathcal c
  \let\mathcal\relax
  \DeclareMathAlphabet{\mathcal}  {OMS}{cmsy}{m}{n}
  \SetMathAlphabet{\mathcal}{bold}{OMS}{cmsy}{b}{n}
  \DeclareMathAlphabet{\mathbcal} {OMS}{cmsy}{b}{n}
\fi
\ifx\mathcal a
  \let\mathcal\relax
  \DeclareRobustCommand*{\mathcal}[1]{{\MTPsetupScript\MTPScript{#1}}}
  \DeclareRobustCommand*{\mathbcal}[1]{{\MTPsetupScript\MTPbScript{#1}}}
\fi
\ifx\mathcal u
  \let\mathcal\relax
  \DeclareRobustCommand*{\mathcal}[1]{{\MTPsetupCurly\MTPCurly{#1}}}
  \def\mathbcal{\PackageError{mtpro2}
    {There is no bold variant of the Curly font}
    {Type <return> to proceed; \protect\mathbcal\space will be ignored.}
  }
\fi
\ifx\mathfrak e
  \let\mathfrak\relax
  \DeclareFontFamily{U}{euf}{}%
  \DeclareFontShape{U}{euf}{m}{n}{<-7>eufm5<7-9>eufm7<9->eufm10}{}%
  \DeclareFontShape{U}{euf}{b}{n}{<-7>eufb5<7-9>eufb7<9->eufb10}{}%
  \DeclareMathAlphabet{\mathfrak}{U}{euf}{m}{n}
  \SetMathAlphabet{\mathfrak}{bold}{U}{euf}{b}{n}
\fi
\ifx\mathfrak a
  \DeclareRobustCommand*{\mathfrak}[1]{{\MTPsetupFrak\MTPFrak{#1}}}
\fi
\ifmtp@full
\DeclareMathSymbol{\imath}{\mathalpha}{letters}{"7B}
\DeclareMathSymbol{\jmath}{\mathalpha}{letters}{"7C}
\newcommand{\altC}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altC}C}
\newcommand{\altG}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altG}G}
\newcommand{\altL}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altL}L}
\newcommand{\altM}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altM}M}
\newcommand{\altN}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altN}N}
\newcommand{\altQ}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altQ}Q}
\newcommand{\altS}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altS}S}
\newcommand{\altY}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altY}Y}
\newcommand{\altZ}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altZ}Z}
\newcommand{\altr}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altr}r}
\newcommand{\altx}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altx}x}
\newcommand{\alty}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\alty}y}
\newcommand{\altz}{%
  \PackageWarning{mtpro2}{Invalid use of \protect\altz}z}
\newcommand{\MTPsetupScript}{%
  \let\altC=\MTP@C
  \let\altG=\MTP@G
  \let\altL=\MTP@L
  \let\altQ=\MTP@Q
  \let\altS=\MTP@S
  \let\altY=\MTP@Y
  \let\altZ=\MTP@Z
  \let\altr=\MTP@r
  \let\altz=\MTP@z}
\newcommand{\MTPsetupFrak}{%
  \let\altY=\MTP@Y
  \let\altx=\MTP@x
  \let\alty=\MTP@y}
\newcommand{\MTPsetupCurly}{%
  \let\altG=\MTP@G
  \let\altM=\MTP@M
  \let\altN=\MTP@N
  \let\altQ=\MTP@Q
  \let\altY=\MTP@Y}
\DeclareMathSymbol{\MTP@C}{\mathalpha}{letters}{'003}
\DeclareMathSymbol{\MTP@G}{\mathalpha}{letters}{'007}
\DeclareMathSymbol{\MTP@L}{\mathalpha}{letters}{'014}
\DeclareMathSymbol{\MTP@M}{\mathalpha}{letters}{'015}
\DeclareMathSymbol{\MTP@N}{\mathalpha}{letters}{'016}
\DeclareMathSymbol{\MTP@Q}{\mathalpha}{letters}{'021}
\DeclareMathSymbol{\MTP@S}{\mathalpha}{letters}{'023}
\DeclareMathSymbol{\MTP@Y}{\mathalpha}{letters}{'031}
\DeclareMathSymbol{\MTP@Z}{\mathalpha}{letters}{'032}
\DeclareMathSymbol{\MTP@r}{\mathalpha}{letters}{'062}
\DeclareMathSymbol{\MTP@x}{\mathalpha}{letters}{'070}
\DeclareMathSymbol{\MTP@y}{\mathalpha}{letters}{'071}
\DeclareMathSymbol{\MTP@z}{\mathalpha}{letters}{'072}
\DeclareMathAlphabet{\MTPScript}  {U}{mt2ms}{m}{it}
\SetMathAlphabet{\MTPScript}{bold}{U}{mt2ms}{b}{it}
\DeclareMathAlphabet{\MTPbScript} {U}{mt2ms}{b}{it}
\DeclareMathAlphabet{\MTPCurly}{U}{mt2ms}{m}{n}
\DeclareMathAlphabet{\MTPFrak}  {U}{mt2mf}{m}{n}
\SetMathAlphabet{\MTPFrak}{bold}{U}{mt2mf}{b}{n}
\fi
\ifx\mathbb i
  \let\mathbb\relax
  \DeclareMathAlphabet{\mathbb}  {U}{mt2bb}{m}{it}
\fi
\ifx\mathbb j
  \let\mathbb\relax
  \DeclareMathAlphabet{\mathbb}  {U}{mt2hrb}{m}{it}
\fi
\ifx\mathbb b
  \let\mathbb\relax
  \DeclareMathAlphabet{\mathbb}  {U}{mt2bb}{m}{n}
  \SetMathAlphabet{\mathbb}{bold}{U}{mt2bb}{b}{n}
\fi
\ifx\mathbb d
  \let\mathbb\relax
  \DeclareMathAlphabet{\mathbb}  {U}{mt2bb}{b}{n}
\fi
\ifx\mathbb h
  \let\mathbb\relax
  \DeclareMathAlphabet{\mathbb}  {U}{mt2hrb}{m}{n}
  \SetMathAlphabet{\mathbb}{bold}{U}{mt2hrb}{b}{n}
\fi
\ifx\mathbb k
  \let\mathbb\relax
  \DeclareMathAlphabet{\mathbb}   {U}{mt2hrb}{b}{n}
\fi
\ifx\mathbb y
  \let\mathbb\relax
  \DeclareFontFamily{U}{msb}{}%
  \DeclareFontShape{U}{msb}{m}{n}{<-7>msbm5<7-9>msbm7<9->msbm10}{}%
  \DeclareMathAlphabet{\mathbb}{U}{msb}{m}{n}
\fi
\DeclareMathSymbol{0}{\mathalpha}{letters}{"30}
\DeclareMathSymbol{1}{\mathalpha}{letters}{"31}
\DeclareMathSymbol{2}{\mathalpha}{letters}{"32}
\DeclareMathSymbol{3}{\mathalpha}{letters}{"33}
\DeclareMathSymbol{4}{\mathalpha}{letters}{"34}
\DeclareMathSymbol{5}{\mathalpha}{letters}{"35}
\DeclareMathSymbol{6}{\mathalpha}{letters}{"36}
\DeclareMathSymbol{7}{\mathalpha}{letters}{"37}
\DeclareMathSymbol{8}{\mathalpha}{letters}{"38}
\DeclareMathSymbol{9}{\mathalpha}{letters}{"39}
\DeclareMathSymbol{!}{\mathclose}{letters}{"8A}
\DeclareMathSymbol{+}{\mathbin}{symbols}{67}
\DeclareMathSymbol{:}{\mathrel}{symbols}{"57}
\DeclareMathSymbol{;}{\mathpunct}{symbols}{"49}
\DeclareMathSymbol{?}{\mathclose}{letters}{"8B}
\DeclareMathSymbol{=}{\mathrel}{symbols}{"44}
\DeclareMathDelimiter{(}{\mathopen}{letters}{46}{largesymbols}{0}
\DeclareMathDelimiter{)}{\mathclose}{letters}{47}{largesymbols}{1}
\DeclareMathDelimiter{[}{\mathopen} {letters}{140}{largesymbols}{"02}
\DeclareMathDelimiter{]}{\mathclose}{letters}{141}{largesymbols}{"03}
\DeclareMathDelimiter{/}{\mathord}{letters}{"3D}{largesymbols}{"0E}
\ifmtp@greekalpha
  \DeclareMathSymbol{\alpha}{\mathalpha}{letters}{"0B}
  \DeclareMathSymbol{\beta}{\mathalpha}{letters}{"0C}
  \DeclareMathSymbol{\gamma}{\mathalpha}{letters}{"0D}
  \DeclareMathSymbol{\delta}{\mathalpha}{letters}{"0E}
  \DeclareMathSymbol{\epsilon}{\mathalpha}{letters}{"0F}
  \DeclareMathSymbol{\zeta}{\mathalpha}{letters}{"10}
  \DeclareMathSymbol{\eta}{\mathalpha}{letters}{"11}
  \DeclareMathSymbol{\theta}{\mathalpha}{letters}{"12}
  \DeclareMathSymbol{\iota}{\mathalpha}{letters}{"13}
  \DeclareMathSymbol{\kappa}{\mathalpha}{letters}{"14}
  \DeclareMathSymbol{\lambda}{\mathalpha}{letters}{"15}
  \DeclareMathSymbol{\mu}{\mathalpha}{letters}{"16}
  \DeclareMathSymbol{\nu}{\mathalpha}{letters}{"17}
  \DeclareMathSymbol{\xi}{\mathalpha}{letters}{"18}
  \DeclareMathSymbol{\pi}{\mathalpha}{letters}{"19}
  \DeclareMathSymbol{\rho}{\mathalpha}{letters}{"1A}
  \DeclareMathSymbol{\sigma}{\mathalpha}{letters}{"1B}
  \DeclareMathSymbol{\tau}{\mathalpha}{letters}{"1C}
  \DeclareMathSymbol{\upsilon}{\mathalpha}{letters}{"1D}
  \DeclareMathSymbol{\phi}{\mathalpha}{letters}{"1E}
  \DeclareMathSymbol{\chi}{\mathalpha}{letters}{"1F}
  \DeclareMathSymbol{\psi}{\mathalpha}{letters}{"20}
  \DeclareMathSymbol{\omega}{\mathalpha}{letters}{"21}
  \DeclareMathSymbol{\varepsilon}{\mathalpha}{letters}{"22}
  \DeclareMathSymbol{\vartheta}{\mathalpha}{letters}{"23}
  \DeclareMathSymbol{\varpi}{\mathalpha}{letters}{"24}
  \DeclareMathSymbol{\varrho}{\mathalpha}{letters}{"25}
  \DeclareMathSymbol{\varsigma}{\mathalpha}{letters}{"26}
  \DeclareMathSymbol{\varphi}{\mathalpha}{letters}{"27}
  \DeclareMathSymbol{\varkappa}{\mathalpha}{letters}{126}% new
  \DeclareMathSymbol{\varbeta}{\mathalpha}{letters}{176} % new
  \DeclareMathSymbol{\vardelta}{\mathalpha}{letters}{178}% new
\else
  \DeclareMathSymbol{\varkappa}{\mathord}{letters}{126}% new
  \DeclareMathSymbol{\varbeta}{\mathord}{letters}{176} % new
  \DeclareMathSymbol{\vardelta}{\mathord}{letters}{178}% new
\fi
\ifx\Gamma s
  \let\Gamma\@undefined
  \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}
  \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}
  \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}
  \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}
  \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}
  \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}
  \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}
  \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}
  \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}
  \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}
  \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}
\else
  \let\Gamma\@undefined
  \DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"80}
  \DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"81}
  \DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"82}
  \DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"83}
  \DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"84}
  \DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"85}
  \DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"86}
  \DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"87}
  \DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"88}
  \DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"89}
  \DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"7F}
\fi
 \DeclareMathSymbol{\upGamma}{\mathord}{letters}{"80}
 \DeclareMathSymbol{\upDelta}{\mathord}{letters}{"81}
 \DeclareMathSymbol{\upTheta}{\mathord}{letters}{"82}
 \DeclareMathSymbol{\upLambda}{\mathord}{letters}{"83}
 \DeclareMathSymbol{\upXi}{\mathord}{letters}{"84}
 \DeclareMathSymbol{\upPi}{\mathord}{letters}{"85}
 \DeclareMathSymbol{\upSigma}{\mathord}{letters}{"86}
 \DeclareMathSymbol{\upUpsilon}{\mathord}{letters}{"87}
 \DeclareMathSymbol{\upPhi}{\mathord}{letters}{"88}
 \DeclareMathSymbol{\upPsi}{\mathord}{letters}{"89}
 \DeclareMathSymbol{\upOmega}{\mathord}{letters}{"7F}
 \DeclareMathSymbol{\upalpha}{\mathord}{letters}{"92}
 \DeclareMathSymbol{\upbeta}{\mathord}{letters}{"93}
 \DeclareMathSymbol{\upgamma}{\mathord}{letters}{"94}
 \DeclareMathSymbol{\updelta}{\mathord}{letters}{"95}
 \DeclareMathSymbol{\upepsilon}{\mathord}{letters}{"96}
 \DeclareMathSymbol{\upzeta}{\mathord}{letters}{"97}
 \DeclareMathSymbol{\upeta}{\mathord}{letters}{"98}
 \DeclareMathSymbol{\uptheta}{\mathord}{letters}{"99}
 \DeclareMathSymbol{\upiota}{\mathord}{letters}{"9A}
 \DeclareMathSymbol{\upkappa}{\mathord}{letters}{"9B}
 \DeclareMathSymbol{\uplambda}{\mathord}{letters}{"9C}
 \DeclareMathSymbol{\upmu}{\mathord}{letters}{"9D}
 \DeclareMathSymbol{\upnu}{\mathord}{letters}{"9E}
 \DeclareMathSymbol{\upxi}{\mathord}{letters}{"9F}
 \DeclareMathSymbol{\uppi}{\mathord}{letters}{160}
 \DeclareMathSymbol{\uprho}{\mathord}{letters}{161}
 \DeclareMathSymbol{\upsigma}{\mathord}{letters}{162}
 \DeclareMathSymbol{\uptau}{\mathord}{letters}{163}
 \DeclareMathSymbol{\upupsilon}{\mathord}{letters}{164}
 \DeclareMathSymbol{\upphi}{\mathord}{letters}{165}
 \DeclareMathSymbol{\upchi}{\mathord}{letters}{166}
 \DeclareMathSymbol{\uppsi}{\mathord}{letters}{167}
 \DeclareMathSymbol{\upomega}{\mathord}{letters}{168}
 \DeclareMathSymbol{\upvarepsilon}{\mathord}{letters}{169}
 \DeclareMathSymbol{\upvartheta}{\mathord}{letters}{170}
 \DeclareMathSymbol{\upvarpi}{\mathord}{letters}{171}
 \DeclareMathSymbol{\upvarrho}{\mathord}{letters}{172}
 \DeclareMathSymbol{\upvarsigma}{\mathord}{letters}{173}
 \DeclareMathSymbol{\upvarphi}{\mathord}{letters}{174}
 \DeclareMathSymbol{\upvarkappa}{\mathord}{letters}{175}
 \DeclareMathSymbol{\upvarbeta}{\mathord}{letters}{177}
 \DeclareMathSymbol{\upvardelta}{\mathord}{letters}{179}
\DeclareMathSymbol{\triangleleft}{\mathbin}{symbols}{"47}
\DeclareMathSymbol{\triangleright}{\mathbin}{symbols}{"46}
\DeclareMathSymbol{\ddagger}{\mathbin}{letters}{"8F}
\DeclareMathSymbol{\dagger}{\mathbin}{letters}{"8E}
\let\Relbar\@undefined
\DeclareMathSymbol{\Relbar}{\mathrel}{symbols}{"48}
\DeclareMathSymbol{\ldotp}{\mathpunct}{letters}{"3A}
\let\colon\@undefined % for amsmath!
\DeclareMathSymbol{\colon}{\mathpunct}{symbols}{"57}
\@ifpackageloaded{mathdots}{}{%
  \newcommand\hb@xmdot{\hbox{$\m@th.$}}
  \def\vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@
    \kern6\p@\hb@xmdot\hb@xmdot\hb@xmdot}}
  \def\ddots{\mathinner{\mkern1mu\raise7\p@\vbox{\kern7\p@
    \hb@xmdot}\mkern2mu
    \raise4\p@\hb@xmdot\mkern2mu\raise\p@\hb@xmdot\mkern1mu}}
}
\DeclareMathAccent{\vec}{\mathord}{symbols}{69}
\DeclareMathAccent{\grave}{\mathord}{symbols}{74}
\DeclareMathAccent{\acute}{\mathord}{symbols}{75}
\DeclareMathAccent{\check}{\mathord}{symbols}{76}
\DeclareMathAccent{\breve}{\mathord}{symbols}{77}
\DeclareMathAccent{\bar}{\mathord}{symbols}{78}
\DeclareMathAccent{\hat}{\mathord}{symbols}{79}
\DeclareMathAccent{\dot}{\mathord}{symbols}{80}
\DeclareMathAccent{\tilde}{\mathord}{symbols}{81}
\DeclareMathAccent{\ddot}{\mathord}{symbols}{82}
\DeclareMathAccent{\mathring}{\mathord}{symbols}{86}
\DeclareMathSymbol{\braceld}{\mathord}{largesymbols}{"82}
\DeclareMathSymbol{\bracerd}{\mathord}{largesymbols}{"83}
\DeclareMathSymbol{\bracelu}{\mathord}{largesymbols}{"84}
\DeclareMathSymbol{\braceru}{\mathord}{largesymbols}{"85}
\DeclareMathSymbol{\mathparagraph}{\mathord}{letters}{"91}
\DeclareMathSymbol{\mathsection}{\mathord}{letters}{"90}
\DeclareMathSymbol{\slsumop}{\mathop}{largesymbols}{160}
\DeclareMathSymbol{\slprodop}{\mathop}{largesymbols}{162}
\DeclareMathSymbol{\slcoprodop}{\mathop}{largesymbols}{164}
\DeclareMathSymbol{\upsumop}{\mathop}{largesymbols}{"50}
\DeclareMathSymbol{\upprodop}{\mathop}{largesymbols}{"51}
\DeclareMathSymbol{\upcoprodop}{\mathop}{largesymbols}{"60}
\DeclareMathSymbol{\openclubsuit}{\mathord}{symbols}{"80}
\DeclareMathSymbol{\shadedclubsuit}{\mathord}{symbols}{"81}
\DeclareMathSymbol{\openspadesuit}{\mathord}{symbols}{"82}
\DeclareMathSymbol{\shadedspadesuit}{\mathord}{symbols}{"83}
\DeclareMathSymbol{\hslash}{\mathord}{symbols}{175}
\DeclareMathSymbol{\digamma}{\mathord}{symbols}{177}
\DeclareMathSymbol{\dbar}{\mathord}{letters}{181}
\DeclareMathSymbol{\updbar}{\mathord}{letters}{182}
\DeclareMathSymbol{\comp}{\mathbin}{symbols}{66}
\DeclareMathSymbol{\setdif}{\mathbin}{symbols}{88}
\DeclareMathSymbol{\cupprod}{\mathbin}{symbols}{89}
\DeclareMathSymbol{\capprod}{\mathbin}{symbols}{90}
\DeclareMathSymbol{\simarrow}{\mathrel}{symbols}{176}
\DeclareMathSymbol{\varland}{\mathbin}{symbols}{178}
\DeclareMathSymbol{\contraction}{\mathbin}{symbols}{179}
\DeclareMathSymbol{\coloneq}{\mathrel}{symbols}{180}
\DeclareMathSymbol{\eqcolon}{\mathrel}{symbols}{181}
\DeclareMathSymbol{\hateq}{\mathrel}{symbols}{182}
\DeclareMathSymbol{\circdashbullet}{\mathrel}{symbols}{183}
\DeclareMathSymbol{\bulletdashcirc}{\mathrel}{symbols}{184}
\DeclareMathSymbol{\bigcupprod}{\mathop}{largesymbols}{"8E}
\DeclareMathSymbol{\bigcapprod}{\mathop}{largesymbols}{"90}
\DeclareMathSymbol{\bigvarland}{\mathop}{largesymbols}{166}
\DeclareMathSymbol{\bigast}{\mathop}{largesymbols}{168}
\DeclareMathAccent{\dotup}{\mathord}{symbols}{"54}
\DeclareMathAccent{\ddotup}{\mathord}{symbols}{"55}
\DeclareMathAccent{\dddotup}{\mathord}{symbols}{173}
\DeclareMathAccent{\ddddotup}{\mathord}{symbols}{174}
\let\oacc\mathring
\DeclareMathAccent{\what}  {\mathord}{symbols}{"79}
\DeclareMathAccent{\wtilde}{\mathord}{symbols}{"7A}
\DeclareMathAccent{\wcheck}{\mathord}{symbols}{"7B}
\DeclareMathAccent{\wbar}  {\mathord}{symbols}{"78}
\DeclareMathAccent{\wwhat}  {\mathord}{largesymbols}{"80}
\DeclareMathAccent{\wwtilde}{\mathord}{largesymbols}{"81}
\DeclareMathAccent{\wwcheck}{\mathord}{largesymbols}{"7D}
\DeclareMathAccent{\wwbar}  {\mathord}{symbols}     {"53}
\DeclareMathSymbol{\hbar}  {\mathord}{symbols}{"84}
\let\notin\@undefined
\DeclareMathSymbol{\notin} {\mathrel}{symbols}{"85}
\let\angle\@undefined
\DeclareMathSymbol{\angle} {\mathord}{symbols}{"86}
\let\models\@undefined
\DeclareMathSymbol{\models}{\mathrel}{symbols}{"88}
\let\bowtie\@undefined
\DeclareMathSymbol{\bowtie}{\mathrel}{symbols}{"89}
\let\cong\@undefined
\DeclareMathSymbol{\cong}  {\mathrel}{symbols}{"8A}
\let\Longleftrightarrow\@undefined
\DeclareMathSymbol{\Longleftrightarrow} {\mathrel}{symbols}{"94}
\let\rightleftharpoons\@undefined
\DeclareMathSymbol{\rightleftharpoons}  {\mathrel}{symbols}{"95}
\DeclareMathSymbol{\notless}          {\mathrel}{symbols}{"96}
\DeclareMathSymbol{\notleq}           {\mathrel}{symbols}{"97}
\DeclareMathSymbol{\notprec}          {\mathrel}{symbols}{"98}
\DeclareMathSymbol{\notpreceq}        {\mathrel}{symbols}{"99}
\DeclareMathSymbol{\notsubset}        {\mathrel}{symbols}{"9A}
\DeclareMathSymbol{\notsubseteq}      {\mathrel}{symbols}{"9B}
\DeclareMathSymbol{\notsqsubseteq}    {\mathrel}{symbols}{"9C}
\DeclareMathSymbol{\notgr}            {\mathrel}{symbols}{"9D}
\DeclareMathSymbol{\notgeq}           {\mathrel}{symbols}{"9E}
\DeclareMathSymbol{\notsucc}          {\mathrel}{symbols}{"9F}
\DeclareMathSymbol{\notsucceq}        {\mathrel}{symbols}{160}
\DeclareMathSymbol{\notsupset}        {\mathrel}{symbols}{161}
\DeclareMathSymbol{\notsupseteq}      {\mathrel}{symbols}{162}
\DeclareMathSymbol{\notsqsupseteq}    {\mathrel}{symbols}{163}
\let\neq\@undefined
\DeclareMathSymbol{\neq}              {\mathrel}{symbols}{164}
\let\ne=\neq
\DeclareMathSymbol{\notequiv}         {\mathrel}{symbols}{165}
\DeclareMathSymbol{\notsim}           {\mathrel}{symbols}{166}
\DeclareMathSymbol{\notsimeq}         {\mathrel}{symbols}{167}
\DeclareMathSymbol{\notapprox}        {\mathrel}{symbols}{168}
\DeclareMathSymbol{\notcong}          {\mathrel}{symbols}{169}
\DeclareMathSymbol{\notasymp}         {\mathrel}{symbols}{170}
\let\nless=\notless
\let\nleq=\notleq
\let\nprec=\notprec
\let\npreceq=\notpreceq
\let\nsubset=\notsubset
\let\nsubseteq=\notsubseteq
\let\nsqsubseteq=\notsqsubseteq
\let\ngtr=\notgr
\let\ngeq=\notgeq
\let\nsucc=\notsucc
\let\nsucceq=\notsucceq
\let\nsupset=\notsupset
\let\nsupseteq=\notsupseteq
\let\nsqsupseteq=\notsqsupseteq
\let\ncong=\notcong
\let\nasymp=\notasymp
\let\nequiv=\notequiv
\let\nsimeq=\notsimeq
\let\napprox=\notapprox
\@ifpackageloaded{amsmath}{}{%
  \let\doteq\@undefined
  \let\hookleftarrow\@undefined
  \let\hookrightarrow\@undefined
  \let\longleftarrow\@undefined
  \let\longrightarrow\@undefined
  \let\Longleftarrow\@undefined
  \let\Longrightarrow\@undefined
  \let\mapsto\@undefined
  \let\longmapsto\@undefined
  \let\longleftrightarrow\@undefined
  \DeclareMathSymbol{\doteq} {\mathrel}{symbols}{"87}
  \DeclareMathSymbol{\hookleftarrow} {\mathrel}{symbols}{"8B}
  \DeclareMathSymbol{\hookrightarrow}{\mathrel}{symbols}{"8C}
  \DeclareMathSymbol{\longleftarrow} {\mathrel}{symbols}{"8D}
  \DeclareMathSymbol{\longrightarrow}{\mathrel}{symbols}{"8E}
  \DeclareMathSymbol{\Longleftarrow} {\mathrel}{symbols}{"8F}
  \DeclareMathSymbol{\Longrightarrow}{\mathrel}{symbols}{"90}
  \DeclareMathSymbol{\mapsto}    {\mathrel}{symbols}{"91}
  \DeclareMathSymbol{\longmapsto}{\mathrel}{symbols}{"92}
  \DeclareMathSymbol{\longleftrightarrow} {\mathrel}{symbols}{"93}
}
\DeclareMathSymbol{\iintop}{\mathop}{largesymbols}{"92}
\DeclareMathSymbol{\iiintop}{\mathop}{largesymbols}{"94}
\DeclareMathSymbol{\oiintop}{\mathop}{largesymbols}{"96}
\DeclareMathSymbol{\oiiintop}{\mathop}{largesymbols}{"98}
\DeclareMathSymbol{\cwointop}{\mathop}{largesymbols}{"9A}
\DeclareMathSymbol{\awointop}{\mathop}{largesymbols}{"9C}
\DeclareMathSymbol{\cwintop}{\mathop}{largesymbols}{"9E}
\DeclareMathSymbol{\barintop}{\mathop}{largesymbols}{170}
\DeclareMathSymbol{\slashintop}{\mathop}{largesymbols}{172}
\AtBeginDocument{%
  \@ifpackageloaded{amsmath}{%
     \let\Relbar\@undefined
     \DeclareMathSymbol{\Relbar}{\mathrel}{symbols}{"48}
     \def\accentclass@{0}
     \def\iint{\DOTSI\iintop\ilimits@}
     \def\iiint{\DOTSI\iiintop\ilimits@}
     \def\oiint{\DOTSI\oiintop\ilimits@}
     \def\oiiint{\DOTSI\oiiintop\ilimits@}
     \def\cwoint{\DOTSI\cwointop\ilimits@}
     \def\awoint{\DOTSI\awointop\ilimits@}
     \def\cwint{\DOTSI\cwintop\ilimits@}
     \def\barint{\DOTSI\barintop\ilimits@}
     \def\slashint{\DOTSI\slashintop\ilimits@}
     \gdef\slsum{\DOTSB\slsumop\slimits@}
     \gdef\slprod{\DOTSB\slprodop\slimits@}
     \gdef\slcoprod{\DOTSB\slcoprodop\slimits@}
     \gdef\upsum{\DOTSB\upsumop\slimits@}
     \gdef\upprod{\DOTSB\upprodop\slimits@}
     \gdef\upcoprod{\DOTSB\upcoprodop\slimits@}
  }{%
     \def\iint{\iintop\nolimits}
     \def\iiint{\iiintop\nolimits}
     \def\oiint{\oiintop\nolimits}
     \def\oiiint{\oiiintop\nolimits}
     \def\cwoint{\cwointop\nolimits}
     \def\awoint{\awointop\nolimits}
     \def\cwint{\cwintop\nolimits}
     \def\barint{\barintop\nolimits}
     \def\slashint{\slashintop\nolimits}
     \let\slsum\slsumop\let\slprod\slprodop\let\slcoprod\slcoprodop
     \let\upsum\upsumop\let\upprod\upprodop\let\upcoprod\upcoprodop
  }%
     \ifmtp@slops
        \let\sum\slsum\let\prod\slprod\let\coprod\slcoprod
     \else
        \let\sum\upsum\let\prod\upprod\let\coprod\upcoprod
     \fi
  \let\dddot\@undefined\let\ddddot\@undefined
  \DeclareMathAccent{\dddot}{\mathord}{symbols}{171}
  \DeclareMathAccent{\ddddot}{\mathord}{symbols}{172}
}
\newbox\prePbox@
\newbox\Pbox@
\newif\ifPEX@
\def\PEX@#1{\setbox\Pbox@\vbox{$$\left.\vcenter{\copy\prePbox@}\right)$$}%
 \setbox\Pbox@\vbox{\unvbox\Pbox@\unskip\unpenalty
 \setbox\Pbox@\lastbox
 \setbox\Pbox@\hbox{\unhbox\Pbox@\setbox\Pbox@\lastbox
 \setbox\Pbox@\hbox{\unhbox\Pbox@\setbox\Pbox@\lastbox
 \setbox\z@\hbox{#1}%
 \ifdim\dp\Pbox@>\dp\z@\global\PEX@true\else
 \global\PEX@false\fi}}}}
\def\EXtest@#1{\setbox\prePbox@\hbox{$\displaystyle{#1}$}%
 \PEX@{\MTEXA@\char32}%
 \ifPEX@
  {\textfont3=\MTEXE@\PEX@{\MTEXE@\char12}}%
  \ifPEX@
   {\textfont3=\MTEXF@\PEX@{\MTEXF@\char12}}%
   \ifPEX@
    \def\EXtest@@{\textfont3=\MTEXG@}%
   \else
    \def\EXtest@@{\textfont3=\MTEXF@}%
   \fi
  \else
   \def\EXtest@@{\textfont3=\MTEXE@}%
  \fi
 \else
  \def\EXtest@@{\textfont3=\MTEXA@}%
 \fi}
\def\vc@nt@r#1{\hbox{$\vcenter{\hbox{$\displaystyle{#1}$}}$}}
\newbox\LRbox@
\def\LEFTRIGHT@#1#2#3{\setbox\LRbox@\vc@nt@r{#3}%
 \EXtest@{\vc@nt@r{#3}}%
 \vcenter{\hbox{\def\lcbrace{\delimiter"4266308 }%
 \def\rcbrace{\delimiter"5267309 }%
 \EXtest@@$\displaystyle\left#1\box\LRbox@\right#2$}}}%
\def\PARENS#1{\LEFTRIGHT@(){#1}}%
\def\lcbrace{lcbr@ce}%
\def\rcbrace{rcbr@ce}%
\newif\ifspecdelim@
\def\specdelim@#1{\ifx#1(\specdelim@true
 \else\ifx#1)\specdelim@true
 \else\ifx#1<\specdelim@true
 \else\ifx#1\langle\specdelim@true
 \else\ifx#1>\specdelim@true
 \else\ifx#1\rangle\specdelim@true
 \else\ifx#1/\specdelim@true
 \else\ifx#1\backslash\specdelim@true
 \else\ifx#1\lcbrace\specdelim@true
 \else\ifx#1\rcbrace\specdelim@true
 \else\specdelim@false\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
\def\LEFTRIGHT#1#2#3{%
 \specdelim@#1%
 \ifspecdelim@
  \LEFTRIGHT@#1.{\vc@nt@r{#3}}%
 \else
  \left#1
  \vc@nt@r{#3}%
  \right.%
 \fi
 \kern-2\nulldelimiterspace\mskip-\thinmuskip
 \specdelim@#2%
 \ifspecdelim@
  \LEFTRIGHT@.#2{\vphantom{\vc@nt@r{#3}}}%
 \else
  \left.%
  \vphantom{\vc@nt@r{#3}}%
  \right#2%
 \fi}
\def\vcorrection#1{\vrule width\z@ height#1\relax}
\newcommand{\ccases}[1]{{%
  \def\arraystretch{1.2}%
  \LEFTRIGHT\lcbrace.{\,\array{@{}l@{\quad}l@{}}#1\endarray}%
}}
\newbox\HATbox@
\def\widehat{\mathpalette\@widehat}
\def\@widehat#1#2{\setbox\HATbox@\hbox{$#1{#2}$}%
\setbox0\hbox{\MTEXF@;}%
\ifdim\wd\HATbox@>\wd0
\def\HAT@{\textfont3=\MTEXG@}%
\else
\setbox0\hbox{\MTEXE@9}%
\ifdim\wd\HATbox@>\wd0
\def\HAT@{\textfont3=\MTEXF@}%
\else
\setbox0\hbox{\MTEXA@ d}%
\ifdim\wd\HATbox@>\wd0
\def\HAT@{\textfont3=\MTEXE@}%
\else
\def\HAT@{\textfont3=\MTEXA@}%
\fi
\fi
\fi
\hbox{\HAT@$\mathaccent"0362 {#1{#2}}$}}%
\newbox\TDbox@
\def\widetilde{\mathpalette\@widetilde}
\def\@widetilde#1#2{\setbox\TDbox@\hbox{$#1{#2}$}%
\setbox0\hbox{\MTEXF@ K}%
\ifdim\wd\TDbox@>\wd0
\def\TD@{\textfont3=\MTEXG@}%
\else
\setbox0\hbox{\MTEXE@ I}%
\ifdim\wd\TDbox@>\wd0
\def\TD@{\textfont3=\MTEXF@}%
\else
\setbox0\hbox{\MTEXA@ d}%
\ifdim\wd\TDbox@>\wd0
\def\TD@{\textfont3=\MTEXE@}%
\else
\def\TD@{\textfont3=\MTEXA@}%
\fi
\fi
\fi
\hbox{\TD@$\mathaccent"0365 {#1{#2}}$}}
\newbox\CHbox@
\def\widecheck{\mathpalette\@widecheck}
\def\@widecheck#1#2{\setbox\CHbox@\hbox{$#1{#2}$}%
\setbox0\hbox{\MTEXF@[}%
\ifdim\wd\CHbox@>\wd0
\def\CHECK@{\textfont3=\MTEXG@}%
\else
\setbox0\hbox{\MTEXE@ Y}%
\ifdim\wd\CHbox@>\wd0
\def\CHECK@{\textfont3=\MTEXF@}%
\else
\setbox0\hbox{\MTEXA@ z}%
\ifdim\wd\CHbox@>\wd0
\def\CHECK@{\textfont3=\MTEXE@}%
\else
\def\CHECK@{\textfont3=\MTEXA@}%
\fi
\fi
\fi
\hbox{\CHECK@$\mathaccent"037A {#1{#2}}$}}%
\def\widehatdown#1#2{\setbox\HATbox@\hbox{$\displaystyle{#2}$}%
 \setbox\z@\hbox{\MTEXF@;}%
 \ifdim\wd\HATbox@>\wd\z@
  \def\HAT@{\textfont3=\MTEXG@}%
 \else
  \setbox\z@\hbox{\MTEXE@9}%
  \ifdim\wd\HATbox@>\wd\z@
   \def\HAT@{\textfont3=\MTEXF@}%
  \else
   \setbox\z@\hbox{\MTEXA@ d}%
   \ifdim\wd\HATbox@>\wd\z@
    \def\HAT@{\textfont3=\MTEXE@}%
   \else
    \def\HAT@{\textfont3=\MTEXA@}%
   \fi
  \fi
 \fi
 \dimen@\ht\HATbox@\advance\dimen@-#1\relax
 \ht\HATbox@\dimen@
 \hbox{\HAT@$\mathaccent"0362 {\box\HATbox@}$}}%
\def\widetildedown#1#2{\setbox\TDbox@\hbox{$\displaystyle{#2}$}%
 \setbox\z@\hbox{\MTEXF@ K}%
 \ifdim\wd\TDbox@>\wd\z@
  \def\TD@{\textfont3=\MTEXG@}%
 \else
  \setbox\z@\hbox{\MTEXE@ I}%
  \ifdim\wd\TDbox@>\wd\z@
   \def\TD@{\textfont3=\MTEXF@}%
  \else
   \setbox\z@\hbox{\MTEXA@ d}%
   \ifdim\wd\TDbox@>\wd\z@
    \def\TD@{\textfont3=\MTEXE@}%
   \else
    \def\TD@{\textfont3=\MTEXA@}%
   \fi
  \fi
 \fi
 \dimen@\ht\TDbox@\advance\dimen@-#1\relax
 \ht\TDbox@\dimen@
 \hbox{\TD@$\mathaccent"0365 {\box\TDbox@}$}}
\def\widecheckdown#1#2{\setbox\CHbox@\hbox{$\displaystyle{#2}$}%
 \setbox\z@\hbox{\MTEXF@[}%
 \ifdim\wd\CHbox@>\wd\z@
  \def\CHECK@{\textfont3=\MTEXG@}%
 \else
  \setbox\z@\hbox{\MTEXE@ Y}%
  \ifdim\wd\CHbox@>\wd\z@
   \def\CHECK@{\textfont3=\MTEXF@}%
  \else
   \setbox\z@\hbox{\MTEXA@ z}%
   \ifdim\wd\CHbox@>\wd\z@
    \def\CHECK@{\textfont3=\MTEXE@}%
   \else
    \def\CHECK@{\textfont3=\MTEXA@}%
   \fi
  \fi
 \fi
 \dimen@\ht\CHbox@\advance\dimen@-#1\relax
 \ht\CHbox@\dimen@
 \hbox{\CHECK@$\mathaccent"037A {\box\CHbox@}$}}%
\newbox\preSbox@
\newbox\Sbox@
\newif\ifSQEX@
\def\SQEX@#1{\setbox\Sbox@\vbox{$$\radical"270370{\copy\preSbox@}$$}%
\setbox\Sbox@\vbox{\unvbox\Sbox@\unskip\unpenalty
\setbox\Sbox@\lastbox\setbox\Sbox@\hbox{\unhbox\Sbox@\setbox\Sbox@\lastbox
\setbox\Sbox@\hbox{\unhbox\Sbox@\setbox\Sbox@\lastbox\setbox\Sbox@\lastbox
\setbox0\hbox{#1}%
\ifdim\dp\Sbox@>\dp0\global\SQEX@true\else
\global\SQEX@false\fi}}}}
\newcount\SQcount@
\def\SQtest@#1{\setbox\preSbox@\hbox{$\displaystyle{#1}$}%
\SQEX@{\MTEXA@ s}%
\ifSQEX@
{\textfont3=\MTEXE@\SQEX@{\MTEXE@ u}}%
\ifSQEX@
{\textfont3=\MTEXF@\SQEX@{\MTEXF@ u}}%
\ifSQEX@
\def\SQtest@@{\textfont3=\MTEXG@}\global\SQcount@3
\else
\def\SQtest@@{\textfont3=\MTEXF@}\global\SQcount@2
\fi
\else
\def\SQtest@@{\textfont3=\MTEXE@}\global\SQcount@1
\fi
\else
\def\SQtest@@{\textfont3=\MTEXA@}\global\SQcount@0
\fi}
\newbox\SQRTbox@
\def\SQR@@T#1{\setbox\SQRTbox@\hbox{$\displaystyle{#1}$}%
\SQtest@{#1}%
\hbox{\SQtest@@$\displaystyle\radical"270370{\box\SQRTbox@}$}}
\newcount\UPROOT@
\newcount\LEFTROOT@
\def\LEFTROOT#1{\relax
  \ifmmode\LEFTROOT@#1\relax
  \else\PackageError{mtpro2}
         {\protect\LEFTROOT\space allowed only in math mode}
         {Type <return> to proceed; the command will be ignored.}
  \fi}
\def\UPROOT#1{\relax
  \ifmmode\UPROOT@#1\relax
  \else\PackageError{mtpro2}
         {\protect\UPROOT\space allowed only in math mode}
         {Type <return> to proceed; the command will be ignored.}
  \fi}
\def\ROOT#1\OF#2{\setbox\rootbox\hbox{$\m@th\scriptscriptstyle{#1}$}%
\mathpalette\R@@T{#2}}
\def\R@@T#1#2{\setbox\z@\hbox{$\UPROOT@\z@\LEFTROOT@\z@\m@th#1\SQR@@T{#2}$}%
\dimen@\ht\z@\advance\dimen@-\dp\z@
\dimen@ii\dimen@
\setbox\tw@\hbox{$\m@th#1\mskip\UPROOT@ mu$}\advance\dimen@ii by1.667\wd\tw@
\setbox\tw@\hbox{$\m@th#1\mskip10mu$}%
\ifcase\SQcount@\advance\dimen@3\wd\tw@\or\advance\dimen@1.5\wd\tw@\or
\advance\dimen@\wd\tw@\fi
\mkern1mu\kern.13\dimen@\mkern-\LEFTROOT@ mu
\raise.5\dimen@ii\copy\rootbox % was .44
\mkern-1mu\kern-.13\dimen@\mkern\LEFTROOT@ mu\box\z@\kern-\wd\rootbox
\LEFTROOT\z@\UPROOT\z@}
\DeclareRobustCommand\SQRT{\@ifnextchar[\SQRT@\SQR@@T}
\def\SQRT@[#1]{\ROOT #1\OF}
\def\space@.{\futurelet\space@\relax}
\space@. %
\def\FNSS@#1{\let\FNSS@@#1\futurelet\next\FNSS@@@}
\def\FNSS@@@{\ifx\next\space@\def\FNSS@@@@.  {\futurelet\next\FNSS@@@}\else
\def\FNSS@@@@.{\FNSS@@}\fi\FNSS@@@@.}
{\catcode`\_=12
\global\let\sbxii@=_}
{\catcode`\_=8
\global\let\sbviii@=_}
\newcount\limtype@
\newcount\xlfont@
\newcount\xlposition@
\newcount\xlposition@ii
\newcount\optype@
\newcount\x@count
\def\xl{\xlposition@ii\z@\xlfont@\z@\x@count\thr@@\futurelet\next\xl@}
\def\xl@{%
\optype@\z@
\limtype@\z@
\ifx\next\bigodot\xlposition@96\else
\ifx\next\bigoplus\xlposition@97\else
\ifx\next\bigotimes\xlposition@98\else
\ifx\next\bigsqcup\xlposition@99\else
\ifx\next\bigcup\xlposition@100\else
\ifx\next\bigcap\xlposition@101\else
\ifx\next\biguplus\xlposition@102\else
\ifx\next\bigwedge\xlposition@103\else
\ifx\next\bigvee\xlposition@104\else
\ifx\next\upsum\xlposition@105\else
\ifx\next\upprod\xlposition@106\else
\ifx\next\upcoprod\xlposition@107\else
\ifx\next\bigcupprod\xlposition@110\else
\ifx\next\bigcapprod\xlposition@111\else
\ifx\next\bigvarland\xlposition@122\else
\ifx\next\bigast\xlposition@123\else
\ifx\next\slsum\optype@\@ne\xlposition@119\else
\ifx\next\slprod\optype@\@ne\xlposition@120\else
\ifx\next\slcoprod\optype@\@ne\xlposition@121\else
\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@108\else
\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@109\else
\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@112\else
\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@113\else
\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@114\else
\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@115\else
\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@116\else
\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@117\else
\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@118\else
\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@124\else
\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@125\else
\PackageError{mtpro2}%
  {Invalid use of \protect\xl}%
  {\protect\xl\space can be applied to `large operators' only.}%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\def\next@##1{\futurelet\next\getxlims@}\next@}
\def\getxlims@{%
\let\lowerlim@\relax\let\upperlim@\relax
\ifx\next\limits
\def\next@##1{\limtype@\z@\futurelet\next\getxlims@}%
\else\ifx\next\nolimits
\def\next@##1{\limtype@\@ne\futurelet\next\getxlims@}%
\else\ifx\next\sbxii@
\def\next@##1{\getxlowerlim@}%
\else\ifx\next\sbviii@
\def\next@##1{\getxlowerlim@}%
\else\ifcat\sbviii@\noexpand\next
\def\next@##1{\getxlowerlim@}%
\else\ifcat^\noexpand\next
\def\next@##1{\getxupperlim@}%
\else
\let\next@\uselims@
\fi\fi\fi\fi\fi\fi
\next@}
\def\getxlowerlim@#1{\def\lowerlim@{#1}\FNSS@\getxupperlim@@}
\def\getxupperlim@#1{\def\upperlim@{#1}\FNSS@\getxlowerlim@@}
\def\getxupperlim@@{%
\ifcat^\noexpand\next
\def\next@##1##2{\def\upperlim@{##2}\uselims@}%
\else
\let\next@\uselims@  % have limits  now
\fi
\next@}
\def\getxlowerlim@@{%
\ifx\next\sbxii@
\def\next@##1##2{\def\lowerlim@{##2}\uselims@}%
\else\ifx\next\sbviii@
\def\next@##1##2{\def\lowerlim@{##2}\uselims@}%
\else\ifcat\sbviii@\noexpand\next
\def\next@##1##2{\def\lowerlim@{##2}\uselims@}%
\else
\let\next@\uselims@ % have limits now
\fi\fi\fi
\next@}
\def\uselims@{\ifnum\optype@=\z@\xlargeop@\else\xlargeopic@\fi}
\def\xlargeop@{%
\ifnum\limtype@=\z@
\mathop{\hbox{$\vcenter{\hbox{%
\ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi
\char\xlposition@\relax
\ifnum\xlposition@ii=\z@\else\char\xlposition@ii\relax\fi
}}$}}_{\lowerlim@}^{\upperlim@}%
\else
\mathop{\hbox{$\vcenter{\hbox{%
\ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi
\char\xlposition@\relax
\ifnum\xlposition@ii=\z@\else\char\xlposition@ii\relax\fi
}}$}}\nolimits_{\lowerlim@}^{\upperlim@}%
\fi}
\newdimen\maxXLscripts@
\def\xlargeopic@{%
\def\thecharacter@{\ifnum\xlfont@=\z@\MTXL@\else\MTXXXL@\fi\char\xlposition@\relax}%
\ifnum\limtype@=\@ne
\setbox\z@\hbox{\thecharacter@\/}%
\dimen@\wd\z@
\setbox\z@\hbox{\thecharacter@}%
\advance\dimen@-\wd\z@
\mathop{\hbox{$\vcenter{\hbox{\thecharacter@}}$}}
\nolimits_{\lowerlim@}^{\kern\dimen@\upperlim@}%
\else
\setbox\z@\hbox{\ifcase\x@count\kern\tw@\fontdimen8\MTXL@\or
\kern4\fontdimen8\MTXL@\or\kern\tw@\fontdimen8\MTXXXL@\or\kern1.7\fontdimen8\MTXL@\fi}%
\setbox\@ne\hbox{\thecharacter@}%
\setbox\tw@\hbox{$\scriptstyle{\lowerlim@}$}%
\setbox\thr@@\hbox{$\kern\wd\z@\scriptstyle{\upperlim@}$}%
\maxXLscripts@\wd\thr@@\ifdim\maxXLscripts@<\wd\tw@\maxXLscripts@\wd\tw@\fi
\dimen@ii.5\wd\tw@ \advance\dimen@ii-.5\wd\@ne
\dimen@.5\wd\thr@@ \advance\dimen@-\wd\z@  \advance\dimen@-.5\wd\@ne
\ifdim\dimen@>\z@ % if visible part of  superscript extends to left of operator
  \ifdim\dimen@>\dimen@ii % if visible part of superscript to left of  subscript
    \kern\dimen@\kern.5\wd\@ne\kern-.5\maxXLscripts@
  \else %                   only trim to  subscript,
    \kern\dimen@ii\kern.5\wd\@ne\kern-.5\maxXLscripts@
  \fi
\else % visible part of superscript entirely to right of operator, so trim to subscript
  \ifdim\dimen@ii >  \z@
    \kern\dimen@ii\kern.5\wd\@ne\kern-.5\maxXLscripts@
  \else
    \kern.5\wd\@ne\kern-.5\maxXLscripts@
  \fi
\fi
\setbox\@ne\hbox{\thecharacter@\/}\dimen@ii\wd\@ne
\setbox\@ne\hbox{\thecharacter@}\advance\dimen@ii-\wd\@ne
\mathop{\hbox{$\vcenter{\hbox{\thecharacter@}}$}}_{\lowerlim@}^{\kern\wd\z@\upperlim@}%
\kern\dimen@ii
\fi
}
\def\XL{\xlposition@ii\z@\xlfont@\z@\x@count\z@\futurelet\next\XL@}
\def\XL@{\optype@\z@\limtype@\z@
\ifx\next\bigodot\xlposition@0\else
\ifx\next\bigoplus\xlposition@1\else
\ifx\next\bigotimes\xlposition@2\else
\ifx\next\bigsqcup\xlposition@3\else
\ifx\next\bigcup\xlposition@4\else
\ifx\next\bigcap\xlposition@5\else
\ifx\next\biguplus\xlposition@6\else
\ifx\next\bigwedge\xlposition@7\else
\ifx\next\bigvee\xlposition@8\else
\ifx\next\upsum\xlposition@9\else
\ifx\next\upprod\xlposition@10\else
\ifx\next\upcoprod\xlposition@11\else
\ifx\next\bigcupprod\xlposition@14\else
\ifx\next\bigcapprod\xlposition@15\else
\ifx\next\bigvarland\xlposition@26\else
\ifx\next\bigast\xlposition@27\else
\ifx\next\slsum\optype@\@ne\xlposition@23\else
\ifx\next\slprod\optype@\@ne\xlposition@24\else
\ifx\next\slcoprod\optype@\@ne\xlposition@25\else
\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@12\else
\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@13\else
\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@16\else
\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@17\else
\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@18\else
\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@19\else
\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@20\else
\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@21\else
\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@22\else
\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@28\else
\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@29\else
\PackageError{mtpro2}%
  {Invalid use of \protect\XL}%
  {\protect\XL\space can be applied to `large operators' only.}%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\def\next@##1{\futurelet\next\getxlims@}\next@}
\def\XXL{\xlposition@ii\z@\xlfont@\z@\x@count\@ne\futurelet\next\XXL@}
\def\XXL@{\optype@\z@\limtype@\z@
\ifx\next\bigodot\xlposition@48\else
\ifx\next\bigoplus\xlposition@49\else
\ifx\next\bigotimes\xlposition@50\else
\ifx\next\bigsqcup\xlposition@51\else
\ifx\next\bigcup\xlposition@52\else
\ifx\next\bigcap\xlposition@53\else
\ifx\next\biguplus\xlposition@54\else
\ifx\next\bigwedge\xlposition@55\else
\ifx\next\bigvee\xlposition@56\else
\ifx\next\upsum\xlposition@57\else
\ifx\next\upprod\xlposition@58\else
\ifx\next\upcoprod\xlposition@59\else
\ifx\next\bigcupprod\xlposition@62  \xlposition@ii64\else
\ifx\next\bigcapprod\xlposition@63  \xlposition@ii65\else
\ifx\next\bigvarland\xlposition@76\else
\ifx\next\bigast\xlposition@77\else
\ifx\next\slsum\optype@\@ne\xlposition@73\else
\ifx\next\slprod\optype@\@ne\xlposition@74\else
\ifx\next\slcoprod\optype@\@ne\xlposition@75\else
\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@60\else
\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@61\else
\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@66\else
\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@67\else
\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@68\else
\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@69\else
\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@70\else
\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@71\else
\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@72\else
\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@78\else
\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@79\else
\PackageError{mtpro2}%
  {Invalid use of \protect\XXL}%
  {\protect\XXL\space can be applied to `large operators' only.}%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\def\next@##1{\futurelet\next\getxlims@}\next@}
\def\XXXL{\xlposition@ii\z@\xlfont@\@ne\x@count\tw@\futurelet\next\XXXL@}
\def\XXXL@{\optype@\z@\limtype@\z@
\ifx\next\bigodot\xlposition@0\else
\ifx\next\bigoplus\xlposition@1\else
\ifx\next\bigotimes\xlposition@2\else
\ifx\next\bigsqcup\xlposition@3\else
\ifx\next\bigcup\xlposition@4\else
\ifx\next\bigcap\xlposition@5\else
\ifx\next\biguplus\xlposition@6\else
\ifx\next\bigwedge\xlposition@7\else
\ifx\next\bigvee\xlposition@8\else
\ifx\next\upsum\xlposition@9\else
\ifx\next\uprod\xlposition@10\else
\ifx\next\ucoprod\xlposition@11\else
\ifx\next\bigcupprod\xlposition@14  \xlposition@ii16\else
\ifx\next\bigcapprod\xlposition@15  \xlposition@ii17\else
\ifx\next\bigvarland\xlposition@ 28  \xlposition@ii29\else
\ifx\next\bigast\xlposition@30\else
\ifx\next\slsum\optype@\@ne\xlposition@25\else
\ifx\next\slprod\optype@\@ne\xlposition@26\else
\ifx\next\slcoprod\optype@\@ne\xlposition@27\else
\ifx\next\int\limtype@\@ne\optype@\@ne\xlposition@12\else
\ifx\next\oint\limtype@\@ne\optype@\@ne\xlposition@13\else
\ifx\next\cwoint\limtype@\@ne\optype@\@ne\xlposition@18\else
\ifx\next\awoint\limtype@\@ne\optype@\@ne\xlposition@19\else
\ifx\next\cwint\limtype@\@ne\optype@\@ne\xlposition@20\else
\ifx\next\iint\limtype@\@ne\optype@\@ne\xlposition@21\else
\ifx\next\iiint\limtype@\@ne\optype@\@ne\xlposition@22\else
\ifx\next\oiint\limtype@\@ne\optype@\@ne\xlposition@23\else
\ifx\next\oiiint\limtype@\@ne\optype@\@ne\xlposition@24\else
\ifx\next\barint\limtype@\@ne\optype@\@ne\xlposition@31\else
\ifx\next\slashint\limtype@\@ne\optype@\@ne\xlposition@32\else
\def\next@{\PackageError{mtpro2}%
  {Invalid use of \protect\XXXL}%
  {\protect\XXXL\space can be applied to `large operators' only.}}%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\def\next@##1{\futurelet\next\getxlims@}\next@}
\def\undercbrace#1{\setbox\z@\hbox{$\displaystyle#1$}%
 \dimen@\tMTPsize\relax
 \expandafter\getpoints@\the\dimen@\getpoints@
 \dimen@\wd\z@
 \divide\dimen@\pointcount@
 \expandafter\getpoints@\the\dimen@\getpoints@
 \ifnum\pointcount@<4
  \ifdim\wd\z@<12pt
   \def\thebrace@{\hbox{\MTEXE@\char144}}%
  \else\ifdim\wd\z@<15pt
   \def\thebrace@{\hbox{\MTEXE@\char145}}%
  \else\ifdim\wd\z@<18pt
   \def\thebrace@{\hbox{\MTEXE@\char146}}%
  \else\ifdim\wd\z@<21pt
   \def\thebrace@{\hbox{\MTEXE@\char147}}%
  \else\ifdim\wd\z@<24pt
   \def\thebrace@{\hbox{\MTEXE@\char148}}%
  \else\ifdim\wd\z@<27pt
   \def\thebrace@{\hbox{\MTEXE@\char149}}%
  \else\ifdim\wd\z@<30pt
   \def\thebrace@{\hbox{\MTEXE@\char150}}%
  \else\ifdim\wd\z@<33pt
   \def\thebrace@{\hbox{\MTEXE@\char151}}%
  \else
   \def\thebrace@{\hbox{\MTEXE@\char152}}%
  \fi\fi\fi\fi\fi\fi\fi\fi
 \else
  \ifnum\pointcount@<12
    \advance\pointcount@149
    \def\thebrace@{\hbox{\MTEXE@\char\pointcount@}}%
  \else
   \ifnum\pointcount@<24
    \advance\pointcount@132
    \def\thebrace@{\hbox{\MTEXF@\char\pointcount@}}%
   \else
    \advance\pointcount@120
    \ifnum\pointcount@>149 \pointcount@149 \fi
    \def\thebrace@{\hbox{\MTEXG@\char\pointcount@}}%
   \fi
  \fi
 \fi
 \mathop{\vtop{\ialign{\hfil##\hfil\cr$\displaystyle#1$\crcr\noalign
  {\vskip3pt\nointerlineskip}\thebrace@\cr\noalign{\kern3pt}}}}\limits}%
\def\overcbrace#1{\setbox\z@\hbox{$\displaystyle#1$}%
 \dimen@\tMTPsize\relax
 \expandafter\getpoints@\the\dimen@\getpoints@
 \dimen@\wd\z@
 \divide\dimen@\pointcount@
 \expandafter\getpoints@\the\dimen@\getpoints@
 \ifnum\pointcount@<4
  \ifdim\wd\z@<12pt
   \def\thebrace@{\hbox{\MTEXE@\char176}}%
  \else\ifdim\wd\z@<15pt
   \def\thebrace@{\hbox{\MTEXE@\char177}}%
  \else\ifdim\wd\z@<18pt
   \def\thebrace@{\hbox{\MTEXE@\char178}}%
  \else\ifdim\wd\z@<21pt
   \def\thebrace@{\hbox{\MTEXE@\char179}}%
  \else\ifdim\wd\z@<24pt
   \def\thebrace@{\hbox{\MTEXE@\char180}}%
  \else\ifdim\wd\z@<27pt
   \def\thebrace@{\hbox{\MTEXE@\char181}}%
  \else\ifdim\wd\z@<30pt
   \def\thebrace@{\hbox{\MTEXE@\char182}}%
  \else\ifdim\wd\z@<33pt
   \def\thebrace@{\hbox{\MTEXE@\char183}}%
  \else
   \def\thebrace@{\hbox{\MTEXE@\char184}}%
  \fi\fi\fi\fi\fi\fi\fi\fi
 \else
  \ifnum\pointcount@<12
    \advance\pointcount@181
    \def\thebrace@{\hbox{\MTEXE@\char\pointcount@}}%
  \else
   \ifnum\pointcount@<24
    \advance\pointcount@148
    \def\thebrace@{\hbox{\MTEXF@\char\pointcount@}}%
   \else
    \advance\pointcount@136
    \ifnum\pointcount@>165 \pointcount@165 \fi
    \def\thebrace@{\hbox{\MTEXG@\char\pointcount@}}%
   \fi
  \fi
 \fi
 \mathop{\vbox{\ialign{\hfil##\hfil\cr\noalign{\kern3\p@}\thebrace@\crcr
 \noalign{\kern3\p@\nointerlineskip}$\displaystyle#1$\crcr}}}\limits}%
\ifmtp@ams
\DeclareSymbolFont{AMSa}{U}{mt2sya}{m}{n}
\SetSymbolFont{AMSa}{bold}{U}{mt2sya}{b}{n}
\SetSymbolFont{AMSa}{heavy}{U}{mt2sya}{eb}{n}
\global\let\sqsubset\undefined
\global\let\sqsupset\undefined
\global\let\mho\undefined
\global\let\Diamond\undefined
\global\let\leadsto\undefined
\@ifundefined{checkmark}{%
  \edef\checkmark{\noexpand\mathhexbox{\hexnumber@\symAMSa}58}
}{}
\@ifundefined{circledR}{%
  \edef\circledR{\noexpand\mathhexbox{\hexnumber@\symAMSa}72}
}{}
\@ifundefined{maltese}{%
  \edef\maltese{\noexpand\mathhexbox{\hexnumber@\symAMSa}7A}
}{}
\@ifundefined{yen}{%
  \edef\yen{\noexpand\mathhexbox{\hexnumber@\symAMSa}55}
}{}
\DeclareMathDelimiter{\ulcorner}{\mathopen} {AMSa}{"70}{AMSa}{"70}
\DeclareMathDelimiter{\urcorner}{\mathclose}{AMSa}{"71}{AMSa}{"71}
\DeclareMathDelimiter{\llcorner}{\mathopen} {AMSa}{"78}{AMSa}{"78}
\DeclareMathDelimiter{\lrcorner}{\mathclose}{AMSa}{"79}{AMSa}{"79}
\DeclareMathSymbol{\dashleftarrow}{\mathrel}{AMSa}{219}
\DeclareMathSymbol{\dashrightarrow}{\mathrel}{AMSa}{220}
\global\let\dasharrow\dashrightarrow
\DeclareMathSymbol{\Diamond}      {\mathbin}{AMSa}{"DE}
\DeclareMathSymbol{\leadsto}      {\mathbin}{AMSa}{"DD}
\DeclareMathSymbol{\boxdot}       {\mathbin}{AMSa}{"00}
\DeclareMathSymbol{\boxplus}      {\mathbin}{AMSa}{"01}
\DeclareMathSymbol{\boxtimes}     {\mathbin}{AMSa}{"02}
\DeclareMathSymbol{\square}       {\mathord}{AMSa}{"03}
\DeclareMathSymbol{\blacksquare}  {\mathord}{AMSa}{"04}
\DeclareMathSymbol{\centerdot}    {\mathbin}{AMSa}{"05}
\DeclareMathSymbol{\lozenge}      {\mathord}{AMSa}{"06}
\DeclareMathSymbol{\blacklozenge} {\mathord}{AMSa}{"07}
\DeclareMathSymbol{\circlearrowright}   {\mathrel}{AMSa}{"08}
\DeclareMathSymbol{\circlearrowleft}    {\mathrel}{AMSa}{"09}
\DeclareMathSymbol{\leftrightharpoons}  {\mathrel}{AMSa}{"0B}
\DeclareMathSymbol{\boxminus}     {\mathbin}{AMSa}{"0C}
\DeclareMathSymbol{\Vdash}        {\mathrel}{AMSa}{"0D}
\DeclareMathSymbol{\Vvdash}       {\mathrel}{AMSa}{"0E}
\DeclareMathSymbol{\vDash}        {\mathrel}{AMSa}{"0F}
\DeclareMathSymbol{\twoheadrightarrow}  {\mathrel}{AMSa}{"10}
\DeclareMathSymbol{\twoheadleftarrow}   {\mathrel}{AMSa}{"11}
\DeclareMathSymbol{\leftleftarrows}     {\mathrel}{AMSa}{"12}
\DeclareMathSymbol{\rightrightarrows}   {\mathrel}{AMSa}{"13}
\DeclareMathSymbol{\upuparrows}         {\mathrel}{AMSa}{"14}
\DeclareMathSymbol{\downdownarrows} {\mathrel}{AMSa}{"15}
\DeclareMathSymbol{\upharpoonright} {\mathrel}{AMSa}{"16}
\global\let\restriction\upharpoonright
\DeclareMathSymbol{\downharpoonright}   {\mathrel}{AMSa}{"17}
\DeclareMathSymbol{\upharpoonleft}  {\mathrel}{AMSa}{"18}
\DeclareMathSymbol{\downharpoonleft}{\mathrel}{AMSa}{"19}
\DeclareMathSymbol{\rightarrowtail} {\mathrel}{AMSa}{"1A}
\DeclareMathSymbol{\leftarrowtail}  {\mathrel}{AMSa}{"1B}
\DeclareMathSymbol{\leftrightarrows}{\mathrel}{AMSa}{"1C}
\DeclareMathSymbol{\rightleftarrows}{\mathrel}{AMSa}{"1D}
\DeclareMathSymbol{\Lsh}            {\mathrel}{AMSa}{"1E}
\DeclareMathSymbol{\Rsh}            {\mathrel}{AMSa}{"1F}
\DeclareMathSymbol{\rightsquigarrow}  {\mathrel}{AMSa}{"20}
\DeclareMathSymbol{\leftrightsquigarrow}{\mathrel}{AMSa}{"21}
\DeclareMathSymbol{\looparrowleft}  {\mathrel}{AMSa}{"22}
\DeclareMathSymbol{\looparrowright} {\mathrel}{AMSa}{"23}
\DeclareMathSymbol{\circeq}       {\mathrel}{AMSa}{"24}
\DeclareMathSymbol{\succsim}      {\mathrel}{AMSa}{"25}
\DeclareMathSymbol{\gtrsim}       {\mathrel}{AMSa}{"26}
\DeclareMathSymbol{\gtrapprox}    {\mathrel}{AMSa}{"27}
\DeclareMathSymbol{\multimap}     {\mathrel}{AMSa}{"28}
\DeclareMathSymbol{\therefore}    {\mathrel}{AMSa}{"29}
\DeclareMathSymbol{\because}      {\mathrel}{AMSa}{"2A}
\DeclareMathSymbol{\doteqdot}     {\mathrel}{AMSa}{"2B}
\global\let\Doteq\doteqdot
\DeclareMathSymbol{\triangleq}    {\mathrel}{AMSa}{"2C}
\DeclareMathSymbol{\precsim}      {\mathrel}{AMSa}{"2D}
\DeclareMathSymbol{\lesssim}      {\mathrel}{AMSa}{"2E}
\DeclareMathSymbol{\lessapprox}   {\mathrel}{AMSa}{"2F}
\DeclareMathSymbol{\eqslantless}  {\mathrel}{AMSa}{"30}
\DeclareMathSymbol{\eqslantgtr}   {\mathrel}{AMSa}{"31}
\DeclareMathSymbol{\curlyeqprec}  {\mathrel}{AMSa}{"32}
\DeclareMathSymbol{\curlyeqsucc}  {\mathrel}{AMSa}{"33}
\DeclareMathSymbol{\preccurlyeq}  {\mathrel}{AMSa}{"34}
\DeclareMathSymbol{\leqq}         {\mathrel}{AMSa}{"35}
\DeclareMathSymbol{\leqslant}     {\mathrel}{AMSa}{"36}
\DeclareMathSymbol{\lessgtr}      {\mathrel}{AMSa}{"37}
\DeclareMathSymbol{\backprime}    {\mathord}{AMSa}{"38}
\DeclareMathSymbol{\risingdotseq} {\mathrel}{AMSa}{"3A}
\DeclareMathSymbol{\fallingdotseq}{\mathrel}{AMSa}{"3B}
\DeclareMathSymbol{\succcurlyeq}  {\mathrel}{AMSa}{"3C}
\DeclareMathSymbol{\geqq}         {\mathrel}{AMSa}{"3D}
\DeclareMathSymbol{\geqslant}     {\mathrel}{AMSa}{"3E}
\DeclareMathSymbol{\gtrless}      {\mathrel}{AMSa}{"3F}
\DeclareMathSymbol{\sqsubset}    {\mathrel}{AMSa}{"40}
\DeclareMathSymbol{\sqsupset}    {\mathrel}{AMSa}{"41}
\DeclareMathSymbol{\vartriangleright}{\mathrel}{AMSa}{"42}
\DeclareMathSymbol{\vartriangleleft} {\mathrel}{AMSa}{"43}
\DeclareMathSymbol{\trianglerighteq} {\mathrel}{AMSa}{"44}
\DeclareMathSymbol{\trianglelefteq}  {\mathrel}{AMSa}{"45}
\DeclareMathSymbol{\bigstar}    {\mathord}{AMSa}{"46}
\DeclareMathSymbol{\between}    {\mathrel}{AMSa}{"47}
\DeclareMathSymbol{\blacktriangledown}  {\mathord}{AMSa}{"48}
\DeclareMathSymbol{\blacktriangleright} {\mathrel}{AMSa}{"49}
\DeclareMathSymbol{\blacktriangleleft}  {\mathrel}{AMSa}{"4A}
\DeclareMathSymbol{\vartriangle}        {\mathrel}{AMSa}{"4D}
\DeclareMathSymbol{\blacktriangle}      {\mathord}{AMSa}{"4E}
\DeclareMathSymbol{\triangledown}       {\mathord}{AMSa}{"4F}
\DeclareMathSymbol{\eqcirc}       {\mathrel}{AMSa}{"50}
\DeclareMathSymbol{\lesseqgtr}    {\mathrel}{AMSa}{"51}
\DeclareMathSymbol{\gtreqless}    {\mathrel}{AMSa}{"52}
\DeclareMathSymbol{\lesseqqgtr}   {\mathrel}{AMSa}{"53}
\DeclareMathSymbol{\gtreqqless}   {\mathrel}{AMSa}{"54}
\DeclareMathSymbol{\Rrightarrow}  {\mathrel}{AMSa}{"56}
\DeclareMathSymbol{\Lleftarrow}   {\mathrel}{AMSa}{"57}
\DeclareMathSymbol{\veebar}       {\mathbin}{AMSa}{"59}
\DeclareMathSymbol{\barwedge}     {\mathbin}{AMSa}{"5A}
\DeclareMathSymbol{\doublebarwedge} {\mathbin}{AMSa}{"5B}
\DeclareMathSymbol{\measuredangle}  {\mathord}{AMSa}{"5D}
\DeclareMathSymbol{\sphericalangle} {\mathord}{AMSa}{"5E}
\DeclareMathSymbol{\varpropto}    {\mathrel}{AMSa}{"5F}
\DeclareMathSymbol{\smallsmile}   {\mathrel}{AMSa}{"60}
\DeclareMathSymbol{\smallfrown}   {\mathrel}{AMSa}{"61}
\DeclareMathSymbol{\Subset}       {\mathrel}{AMSa}{"62}
\DeclareMathSymbol{\Supset}       {\mathrel}{AMSa}{"63}
\DeclareMathSymbol{\Cup}          {\mathbin}{AMSa}{"64}
\global\let\doublecup\Cup
\DeclareMathSymbol{\Cap}          {\mathbin}{AMSa}{"65}
\global\let\doublecap\Cap
\DeclareMathSymbol{\curlywedge}   {\mathbin}{AMSa}{"66}
\DeclareMathSymbol{\curlyvee}     {\mathbin}{AMSa}{"67}
\DeclareMathSymbol{\leftthreetimes} {\mathbin}{AMSa}{"68}
\DeclareMathSymbol{\rightthreetimes}{\mathbin}{AMSa}{"69}
\DeclareMathSymbol{\subseteqq}    {\mathrel}{AMSa}{"6A}
\DeclareMathSymbol{\supseteqq}    {\mathrel}{AMSa}{"6B}
\DeclareMathSymbol{\bumpeq}       {\mathrel}{AMSa}{"6C}
\DeclareMathSymbol{\Bumpeq}       {\mathrel}{AMSa}{"6D}
\DeclareMathSymbol{\lll}          {\mathrel}{AMSa}{"6E}
\global\let\llless\lll
\DeclareMathSymbol{\ggg}          {\mathrel}{AMSa}{"6F}
\global\let\gggtr\ggg
\DeclareMathSymbol{\circledS}     {\mathord}{AMSa}{"73}
\DeclareMathSymbol{\pitchfork}    {\mathrel}{AMSa}{"74}
\DeclareMathSymbol{\dotplus}      {\mathbin}{AMSa}{"75}
\DeclareMathSymbol{\backsim}      {\mathrel}{AMSa}{"76}
\DeclareMathSymbol{\backsimeq}    {\mathrel}{AMSa}{"77}
\DeclareMathSymbol{\complement}   {\mathord}{AMSa}{"7B}
\DeclareMathSymbol{\intercal}     {\mathbin}{AMSa}{"7C}
\DeclareMathSymbol{\circledcirc}  {\mathbin}{AMSa}{"7D}
\DeclareMathSymbol{\circledast}   {\mathbin}{AMSa}{"7E}
\DeclareMathSymbol{\circleddash}  {\mathbin}{AMSa}{"7F}
\DeclareMathSymbol{\updownarrows}{\mathrel}{AMSa}{"DF}
\DeclareMathSymbol{\downuparrows}{\mathrel}{AMSa}{224}
\DeclareMathSymbol{\updownharpoons}{\mathrel}{AMSa}{225}
\DeclareMathSymbol{\downupharpoons}{\mathrel}{AMSa}{226}
\DeclareMathSymbol{\upupharpoons}{\mathrel}{AMSa}{227}
\DeclareMathSymbol{\downdownharpoons}{\mathrel}{AMSa}{228}
\DeclareMathSymbol{\undercurvearrowleft}{\mathrel}{AMSa}{229}
\DeclareMathSymbol{\undercurvearrowright}{\mathrel}{AMSa}{230}
\DeclareMathSymbol{\midshaft}    {\mathord}{AMSa}{"39}
\DeclareMathSymbol{\rarrowhead}  {\mathord}{AMSa}{"4B}
\DeclareMathSymbol{\larrowhead}  {\mathord}{AMSa}{"4C}
\DeclareMathSymbol{\lvertneqq}    {\mathrel}{AMSa}{"80}
\DeclareMathSymbol{\gvertneqq}    {\mathrel}{AMSa}{"81}
\DeclareMathSymbol{\lneqq}        {\mathrel}{AMSa}{"88}
\DeclareMathSymbol{\gneqq}        {\mathrel}{AMSa}{"89}
\DeclareMathSymbol{\nleqslant}    {\mathrel}{AMSa}{"8A}
\DeclareMathSymbol{\ngeqslant}    {\mathrel}{AMSa}{"8B}
\DeclareMathSymbol{\lneq}         {\mathrel}{AMSa}{"8C}
\DeclareMathSymbol{\gneq}         {\mathrel}{AMSa}{"8D}
\DeclareMathSymbol{\npreceq}      {\mathrel}{AMSa}{"8E}
\DeclareMathSymbol{\nsucceq}      {\mathrel}{AMSa}{"8F}
\DeclareMathSymbol{\precnsim}     {\mathrel}{AMSa}{"90}
\DeclareMathSymbol{\succnsim}     {\mathrel}{AMSa}{"91}
\DeclareMathSymbol{\lnsim}        {\mathrel}{AMSa}{"92}
\DeclareMathSymbol{\gnsim}        {\mathrel}{AMSa}{"93}
\DeclareMathSymbol{\nleqq}        {\mathrel}{AMSa}{"94}
\DeclareMathSymbol{\ngeqq}        {\mathrel}{AMSa}{"95}
\DeclareMathSymbol{\precneqq}     {\mathrel}{AMSa}{"96}
\DeclareMathSymbol{\succneqq}     {\mathrel}{AMSa}{"97}
\DeclareMathSymbol{\precnapprox}  {\mathrel}{AMSa}{"98}
\DeclareMathSymbol{\succnapprox}  {\mathrel}{AMSa}{"99}
\DeclareMathSymbol{\lnapprox}     {\mathrel}{AMSa}{"9A}
\DeclareMathSymbol{\gnapprox}     {\mathrel}{AMSa}{"9B}
\DeclareMathSymbol{\nsim}         {\mathrel}{AMSa}{"9C}
\DeclareMathSymbol{\diagup}       {\mathord}{AMSa}{"9E}
\DeclareMathSymbol{\diagdown}     {\mathord}{AMSa}{"9F}
\DeclareMathSymbol{\varsubsetneq}   {\mathrel}{AMSa}{160}
\DeclareMathSymbol{\varsupsetneq}   {\mathrel}{AMSa}{161}
\DeclareMathSymbol{\nsubseteqq}     {\mathrel}{AMSa}{162}
\DeclareMathSymbol{\nsupseteqq}     {\mathrel}{AMSa}{163}
\DeclareMathSymbol{\subsetneqq}     {\mathrel}{AMSa}{164}
\DeclareMathSymbol{\supsetneqq}     {\mathrel}{AMSa}{165}
\DeclareMathSymbol{\varsubsetneqq}  {\mathrel}{AMSa}{166}
\DeclareMathSymbol{\varsupsetneqq}  {\mathrel}{AMSa}{167}
\DeclareMathSymbol{\subsetneq}      {\mathrel}{AMSa}{168}
\DeclareMathSymbol{\supsetneq}      {\mathrel}{AMSa}{169}
\DeclareMathSymbol{\nsubseteq}      {\mathrel}{AMSa}{170}
\DeclareMathSymbol{\nsupseteq}      {\mathrel}{AMSa}{171}
\DeclareMathSymbol{\nparallel}      {\mathrel}{AMSa}{172}
\DeclareMathSymbol{\nmid}           {\mathrel}{AMSa}{173}
\DeclareMathSymbol{\nshortmid}      {\mathrel}{AMSa}{174}
\DeclareMathSymbol{\nshortparallel} {\mathrel}{AMSa}{175}
\DeclareMathSymbol{\nvdash}         {\mathrel}{AMSa}{176}
\DeclareMathSymbol{\nVdash}         {\mathrel}{AMSa}{177}
\DeclareMathSymbol{\nvDash}         {\mathrel}{AMSa}{178}
\DeclareMathSymbol{\nVDash}         {\mathrel}{AMSa}{179}
\DeclareMathSymbol{\ntrianglerighteq}{\mathrel}{AMSa}{180}
\DeclareMathSymbol{\ntrianglelefteq}{\mathrel}{AMSa}{181}
\DeclareMathSymbol{\ntriangleleft}  {\mathrel}{AMSa}{182}
\DeclareMathSymbol{\ntriangleright} {\mathrel}{AMSa}{183}
\DeclareMathSymbol{\nleftarrow}     {\mathrel}{AMSa}{184}
\DeclareMathSymbol{\nrightarrow}    {\mathrel}{AMSa}{185}
\DeclareMathSymbol{\nLeftarrow}     {\mathrel}{AMSa}{186}
\DeclareMathSymbol{\nRightarrow}    {\mathrel}{AMSa}{187}
\DeclareMathSymbol{\nLeftrightarrow}{\mathrel}{AMSa}{188}
\DeclareMathSymbol{\nleftrightarrow}{\mathrel}{AMSa}{189}
\DeclareMathSymbol{\divideontimes}  {\mathbin}{AMSa}{190}
\DeclareMathSymbol{\varnothing}     {\mathord}{AMSa}{191}
\DeclareMathSymbol{\nexists}        {\mathord}{AMSa}{192}
\DeclareMathSymbol{\Finv}           {\mathord}{AMSa}{193}
\DeclareMathSymbol{\Game}           {\mathord}{AMSa}{194}
\DeclareMathSymbol{\mho}            {\mathord}{AMSa}{195}
\DeclareMathSymbol{\eth}            {\mathord}{AMSa}{196}
\DeclareMathSymbol{\eqsim}          {\mathrel}{AMSa}{197}
\DeclareMathSymbol{\beth}           {\mathord}{AMSa}{198}
\DeclareMathSymbol{\gimel}          {\mathord}{AMSa}{199}
\DeclareMathSymbol{\daleth}         {\mathord}{AMSa}{200}
\DeclareMathSymbol{\lessdot}        {\mathbin}{AMSa}{201}
\DeclareMathSymbol{\gtrdot}         {\mathbin}{AMSa}{202}
\DeclareMathSymbol{\ltimes}         {\mathbin}{AMSa}{203}
\DeclareMathSymbol{\rtimes}         {\mathbin}{AMSa}{204}
\DeclareMathSymbol{\shortmid}       {\mathrel}{AMSa}{205}
\DeclareMathSymbol{\shortparallel}  {\mathrel}{AMSa}{206}
\let\smallsetminus=\setdif
\DeclareMathSymbol{\thicksim}       {\mathrel}{AMSa}{207}
\DeclareMathSymbol{\thickapprox}    {\mathrel}{AMSa}{208}
\DeclareMathSymbol{\approxeq}       {\mathrel}{AMSa}{209}
\DeclareMathSymbol{\succapprox}     {\mathrel}{AMSa}{210}
\DeclareMathSymbol{\precapprox}     {\mathrel}{AMSa}{211}
\DeclareMathSymbol{\curvearrowleft} {\mathrel}{AMSa}{212}
\DeclareMathSymbol{\curvearrowright}{\mathrel}{AMSa}{213}
\newcommand{\Bbbk}{\mathbb{k}}
\DeclareMathSymbol{\backepsilon}    {\mathrel}{AMSa}{214}
\DeclareMathSymbol{\nsqsubset}      {\mathrel}{AMSa}{215}
\DeclareMathSymbol{\nsqsupset}      {\mathrel}{AMSa}{216}
\let\Box\square
\let\lhd\vartriangleleft
\let\rhd\vartriangleright
\let\unrhd\trianglerighteq
\let\unlhd\trianglelefteq
\let\Join\bowtie
\fi
\def\defaultscriptratio{.7}
\def\defaultscriptscriptratio{.55}
\DeclareMathSizes{5}{5}{5}{5}
\DeclareMathSizes{6}{6}{5}{5}
\DeclareMathSizes{7}{7}{5}{5}
\DeclareMathSizes{8}{8}{6}{5}
\DeclareMathSizes{9}{9}{7}{5.5}
\DeclareMathSizes{\@xpt}{\@xpt}{7}{5.5}
\DeclareMathSizes{\@xipt}{\@xipt}{8}{6}
\DeclareMathSizes{\@xiipt}{\@xiipt}{8}{6}
\DeclareMathSizes{\@xivpt}{\@xivpt}{\@xpt}{7}
\DeclareMathSizes{\@xviipt}{\@xviipt}{\@xiipt}{\@xpt}
\DeclareMathSizes{\@xxpt}{\@xxpt}{\@xivpt}{\@xiipt}
\DeclareMathSizes{\@xxvpt}{\@xxvpt}{\@xxpt}{\@xviipt}
\DeclareTextSymbolDefault{\textless}{LMP1}
\DeclareTextSymbolDefault{\textgreater}{LMP1}
\DeclareTextAccentDefault{\t}{LMP2}
\DeclareTextSymbol{\textless}{LMP1}{`\<}
\DeclareTextSymbol{\textgreater}{LMP1}{`\>}
\DeclareTextAccent{\t}{LMP2}{65}
\DeclareTextSymbolDefault{\textasteriskcentered}{LMP2}
\DeclareTextSymbolDefault{\textbackslash}{LMP2}
\DeclareTextSymbolDefault{\textbar}{LMP2}
\DeclareTextSymbolDefault{\textbraceleft}{LMP2}
\DeclareTextSymbolDefault{\textbraceright}{LMP2}
\DeclareTextSymbolDefault{\textbullet}{LMP2}
\DeclareTextSymbolDefault{\textperiodcentered}{LMP2}
\DeclareTextAccentDefault{\textcircled}{LMP2}
\DeclareTextSymbol{\textasteriskcentered}{LMP2}{3}
\DeclareTextSymbol{\textbackslash}{LMP2}{110}
\DeclareTextSymbol{\textbar}{LMP2}{106}
\DeclareTextSymbol{\textbraceleft}{LMP2}{102}
\DeclareTextSymbol{\textbraceright}{LMP2}{103}
\DeclareTextSymbol{\textbullet}{LMP2}{15}
\DeclareTextSymbol{\textperiodcentered}{LMP2}{1}
\DeclareTextCommand{\textcircled}{LMP2}[1]{{%
   \ooalign{%
      \hfil \raise .07ex\hbox {\upshape#1}\hfil \crcr
      \char13}}}
\@ifpackageloaded{textcomp}{}{%
  \DeclareTextSymbolDefault{\textdagger}{LMP1}
  \DeclareTextSymbolDefault{\textdaggerdbl}{LMP1}
  \DeclareTextSymbolDefault{\textsection}{LMP1}
  \DeclareTextSymbolDefault{\textparagraph}{LMP1}
  \DeclareTextSymbol{\textdagger}{LMP1}{"8E}
  \DeclareTextSymbol{\textdaggerdbl}{LMP1}{"8F}
  \DeclareTextSymbol{\textsection}{LMP1}{"90}
  \DeclareTextSymbol{\textparagraph}{LMP1}{"91}}
\def\@tempa{LY1}
\ifx\encodingdefault\@tempa
    \DeclareMathSymbol{\mathsterling}{\mathord}{operators}{163}
    \let\mathunderscore\@undefined
    \DeclareMathSymbol{\mathunderscore}{\mathord}{operators}{95}
\else
  \def\@tempa{T1}
  \ifx\encodingdefault\@tempa
    \DeclareMathSymbol\mathsterling{\mathord}{operators}{191}
    \let\mathunderscore\@undefined
    \DeclareMathSymbol\mathunderscore{\mathord}{operators}{95}
  \fi
\fi
\begingroup
 \catcode`\_=13
 \gdef_{\futurelet\next\s@@b}
\endgroup
\def\s@@b{\ifcat\relax\noexpand\next\expandafter\sb\else
 \expandafter\s@@b@\fi}
\def\s@@b@#1{\sb{\futurelet\next\sb@#1}}
\def\sb@{%
 \ifx\next\space@\def\next@. {\futurelet\next\sb@}\else
  \def\next@.{%
   \ifx\next f\mkern-\thr@@ mu\else
   \ifx\next j\mkern-\tw@ mu\else
   \ifx\next p\mkern-\tw@ mu\else
   \ifx\next t\mkern\@ne mu\else
   \ifx\next y\mkern-\@ne mu\else
   \ifx\next A\mkern-\tw@ mu\else
   \ifx\next B\mkern-\@ne mu\else
   \ifx\next D\mkern-\@ne mu\else
   \ifx\next H\mkern-\@ne mu\else
   \ifx\next I\mkern-\@ne mu\else
   \ifx\next K\mkern-\@ne mu\else
   \ifx\next L\mkern-\@ne mu\else
   \ifx\next M\mkern-\@ne mu\else
   \ifx\next P\mkern-\@ne mu\else
   \ifx\next X\mkern-\tw@ mu\else
   \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
 \fi
 \next@.}
\mathcode`\_=\string"8000
\DeclareMathSymbol{\mtp@z}{\mathalpha}{letters}{`z}
\DeclareMathSymbol{\mtp@@z}{\mathalpha}{letters}{"B4}
\begingroup
\lccode`\~=`\z
\lowercase{\gdef ~{\ifnum\the\mathgroup=\m@ne \mtp@@z \else \mtp@z \fi}}
\endgroup
\endinput
%%
%% End of file `mtpro2.sty'.

2.7 picins.sty

%       PICINS.STY --- Style File zum Einbinden von Bildern
%       Autor:  J. Bleser, E. Lang
%       Hochschulrechenzentrum
%       Technische Hochschule Darmstadt
%       !!!  Dieses Style-File ist urheberrechtlich geschuetzt  !!!
%       !!!  Aenderungen nur mit Zustimmung der Autoren         !!!
\message{Option `picins' Version 3.0  Sep. 1992, TH Darmstadt/HRZ}
\newbox\@BILD%
\newbox\@TEXT%
\newdimen\d@breite%
\newdimen\d@hoehe%
\newdimen\d@xoff%
\newdimen\d@yoff%
\newdimen\d@shad%
\newdimen\d@dash%
\newdimen\d@boxl%
\newdimen\d@pichskip%
\newdimen\d@tmp
\newdimen\d@tmpa
\newdimen\d@bskip
\newdimen\hsiz@%
\newdimen\p@getot@l%
\newcount\c@breite
\newcount\c@hoehe
\newcount\c@xoff
\newcount\c@yoff
\newcount\c@pos
\newcount\c@shad
\newcount\c@dash
\newcount\c@boxl
\newcount\c@zeilen%
\newcount\@changemode%
\newcount\c@piccaption%
\newcount\c@piccaptionpos%
\newcount\c@picpos
\newcount\c@whole%
\newcount\c@half%
\newcount\c@tmp
\newcount\c@tmpa
\newcount\c@tmpb
\newcount\c@tmpc
\newcount\c@tmpd
\newskip\d@leftskip
\newif\if@list \@listfalse%
\newif\if@offset%


\c@piccaptionpos=1%
\c@picpos=0
\d@shad=4pt%
\d@dash=4pt%
\d@boxl=10pt%
\d@pichskip=1em%
\@changemode=0%
\def\@captype{figure}%
\let\old@par=\par%

\def\pichskip#1{\d@pichskip #1\relax}


\def\shadowthickness#1{\d@shad #1\relax}


\def\dashlength#1{\d@dash #1\relax}


\def\boxlength#1{\d@boxl #1\relax}


\def\picchangemode{\@changemode=1}%
\def\nopicchangemode{\@changemode=0}%


\def\piccaptionoutside{\c@piccaptionpos=1}%
\def\piccaptioninside{\c@piccaptionpos=2}%
\def\piccaptionside{\c@piccaptionpos=3}%
\def\piccaptiontopside{\c@piccaptionpos=4}%

\def\piccaption{\@ifnextchar [{\@piccaption}{\@piccaption[]}}
\def\@piccaption[#1]#2{\c@piccaption=1\def\sh@rtf@rm{#1}\def\capti@nt@xt{#2}}
\def\make@piccaption{%
 \hsiz@\d@breite%
 \ifnum\c@piccaptionpos=2%
   \advance\hsiz@ -2\fboxsep%
 \fi%
 \ifnum\c@piccaptionpos>2%
   \hsiz@\hsize\advance\hsiz@-\d@breite\advance\hsiz@-\d@pichskip%
 \fi%
 \setbox\@TEXT=\vbox{\hsize\hsiz@\caption[\sh@rtf@rm]{\capti@nt@xt}}%
}



\def\newcaption{\refstepcounter\@captype\@dblarg{\@newcaption\@captype}}
\long\def\@newcaption#1[#2]#3{%
  \old@par%
  \addcontentsline{\csname ext@#1\endcsname }{#1}%
    {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}
  \begingroup\@parboxrestore\normalsize%
    \@newmakecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\old@par%
  \endgroup%
}
\long\def\@newmakecaption#1#2{%
  \vskip 10pt%
  \setbox\@tempboxa \hbox {#1: #2}%
  \ifdim \wd\@tempboxa >\hsize%
    \setbox0=\hbox{#1: }\dimen0=\hsize\advance\dimen0 by-\wd0
    \setbox1=\vtop{\hsize=\dimen0 #2}
    \hbox{\box0 \box1}
    \par
  \else \hbox to\hsize {\hfil \box \@tempboxa \hfil}
  \fi
}





\def\parpic{%
  \@ifnextchar ({\iparpic}{\iparpic(0pt,0pt)}
}
\def\iparpic(#1,#2){%
  \@ifnextchar ({\@offsettrue\iiparpic(#1,#2)}%
                {\@offsetfalse\iiparpic(#1,#2)(0pt,0pt)}
}
\def\iiparpic(#1,#2)(#3,#4){%
  \@ifnextchar [{\iiiparpic(#1,#2)(#3,#4)}{\iiiparpic(#1,#2)(#3,#4)[l]}
}
\def\iiiparpic(#1,#2)(#3,#4)[#5]{%
  \@ifnextchar [{\ivparpic(#1,#2)(#3,#4)[#5]}{\ivparpic(#1,#2)(#3,#4)[#5][]}
}
\def\ivparpic(#1,#2)(#3,#4)[#5][#6]#7{%
 \let\par=\old@par\par%
 \hangindent0pt\hangafter1%
 \setbox\@BILD=\hbox{#7}%
 \d@breite=#1\d@breite=\the\d@breite%
 \ifdim\d@breite=0pt\d@breite=\wd\@BILD\fi%
 \c@breite=\d@breite\divide\c@breite by65536%
 \multiply\c@piccaption\c@piccaptionpos%
 \d@hoehe=#2\d@hoehe=\the\d@hoehe%
 \ifdim\d@hoehe=0pt\d@hoehe=\ht\@BILD\advance\d@hoehe by\dp\@BILD\fi%
 \c@hoehe=\d@hoehe\divide\c@hoehe by65536%
 \d@xoff=#3\c@xoff=\d@xoff\divide\c@xoff by65536%
 \d@yoff=\d@hoehe%
 \advance\d@yoff by-#4\c@yoff=\d@yoff\divide\c@yoff by65536%
 \c@pos=1\unitlength1pt%
 \if@offset%
   \setbox\@BILD=\hbox{%
     \begin{picture}(\c@breite,\c@hoehe)%
       \put(0,0){\makebox(\c@breite,\c@hoehe){}}%
       \put(\c@xoff,\c@yoff){\box\@BILD}%
     \end{picture}%
   }%
 \else%
   \setbox\@BILD=\hbox{%
     \begin{picture}(\c@breite,\c@hoehe)%
       \put(0,0){\makebox(\c@breite,\c@hoehe)[#6]{\box\@BILD}}%
     \end{picture}%
   }%
 \fi%
 \ifnum\c@piccaption=2%
   \make@piccaption%
   \advance\d@hoehe\ht\@TEXT\advance\d@hoehe\dp\@TEXT%
   \c@hoehe=\d@hoehe\divide\c@hoehe by65536%
   \setbox\@BILD=\vbox{\box\@BILD\vspace{-5pt}%
                       \hbox{\hspace{\fboxsep}\box\@TEXT}%
                       \vspace{4pt}}%
 \fi%
 \@tfor\@tempa := #5\do{%
   \if\@tempa f\setbox\@BILD=\hbox{\Rahmen(\c@breite,\c@hoehe){\box\@BILD}}\fi%
   \if\@tempa s\setbox\@BILD=\hbox{\Schatten(\c@breite,\c@hoehe){\box\@BILD}}\fi%
   \if\@tempa o\setbox\@BILD=\hbox{\Oval(\c@breite,\c@hoehe){\box\@BILD}}\fi%
   \if\@tempa d\setbox\@BILD=\hbox{\Strich(\c@breite,\c@hoehe){\box\@BILD}}\fi%
   \if\@tempa x\setbox\@BILD=\hbox{\Kasten(\c@breite,\c@hoehe){\box\@BILD}}\fi%
   \if\@tempa l\c@pos=1\fi%
   \if\@tempa r\c@pos=2\fi%
 }%
 \ifnum\c@piccaption=1%
   \make@piccaption%
   \advance\d@hoehe\ht\@TEXT\advance\d@hoehe\dp\@TEXT%
   \c@hoehe=\d@hoehe\divide\c@hoehe by65536%
   \setbox\@BILD=\vbox{\box\@BILD\vspace{-5pt}\hbox{\box\@TEXT}\vspace{4pt}}%
 \fi%
 \ifodd\count0\c@picpos=0\else\c@picpos=\@changemode\fi%
 \pagetotal=\the\pagetotal%
 \d@tmp=\pagegoal\advance\d@tmp by-\pagetotal\advance\d@tmp by-\baselineskip%
 \ifdim\d@hoehe>\d@tmp%
   \vskip 0pt plus\d@hoehe\relax\pagebreak[3]\vskip 0pt plus-\d@hoehe\relax%
   \ifnum\c@picpos=1\c@picpos=0\else\c@picpos=\@changemode\fi%
 \fi%
 \ifnum\c@picpos=1\ifnum\c@pos=1\c@pos=2\else\c@pos=1\fi\fi%
 \ifnum\@listdepth>0
   \@listtrue\parshape 0%
   \advance\hsize -\rightmargin%
   \d@leftskip \leftskip%
   \leftskip \@totalleftmargin%
   \if@inlabel\rule{\linewidth}{0pt}\vskip-\baselineskip\relax\fi%
 \else\@listfalse\medskip%
 \fi%
 \if@list\d@tmpa=\linewidth\else\d@tmpa=\hsize\fi%
 \ifnum\c@piccaption=3%
   \make@piccaption%
   \d@tmp\ht\@TEXT\advance\d@tmp\dp\@TEXT%
   \ifdim\d@hoehe>\d@tmp%
     \setbox\@TEXT=\vbox to\d@hoehe{\vfill\box\@TEXT\vspace{.2\baselineskip}\vfill}%
   \else%
     \setbox\@BILD=\vbox to\d@tmp{\vfill\box\@BILD\vfill}%
     \d@hoehe\d@tmp%
   \fi%
 \fi%
 \ifnum\c@piccaption=4%
   \make@piccaption%
   \d@tmp\ht\@TEXT\advance\d@tmp\dp\@TEXT%
   \setbox\@TEXT=\vbox to\d@hoehe{\vspace{-10pt}\box\@TEXT\vfil}%
   \advance\d@hoehe-\d@tmp%
 \fi%
 \ifnum\c@pos=1\d@tmpa=0pt%
   \ifnum\c@piccaption>2%
      \setbox\@BILD=\hbox{\box\@BILD\hspace{\d@pichskip}\hbox{\box\@TEXT}}%
   \fi%
 \else\advance\d@tmpa by-\wd\@BILD\d@breite=-\d@breite%
   \ifnum\c@piccaption>2%
      \d@tmpa=0pt%
      \setbox\@BILD=\hbox{\hbox{\box\@TEXT}\hspace{\d@pichskip}\box\@BILD}%
   \fi%
 \fi%
 \p@getot@l\the\pagetotal%
 \d@bskip\d@hoehe\advance\d@bskip by\parskip\advance\d@bskip by.3\baselineskip%
 {\noindent\hspace*{\d@tmpa}\relax%
  \box\@BILD\nopagebreak\vskip-\d@bskip\relax\nopagebreak}%
 \d@tmp=-\d@hoehe\divide\d@tmp by\baselineskip%
 \c@zeilen=\d@tmp\advance\c@zeilen by-1%
 \ifdim\d@breite<0pt\advance\d@breite by-\d@pichskip%
 \else\advance\d@breite by\d@pichskip%
 \fi%
 \hangindent=\d@breite%
 \hangafter=\c@zeilen%
 \let\par=\x@par%
 \ifnum\c@piccaption=3%
    \hangindent0pt\hangafter1\let\par=\old@par%
    \vskip\d@hoehe\vskip.2\baselineskip%
 \fi%
 \c@piccaption=0%
}




\newdimen\ptoti
\newdimen\ptotii
\def\x@par{%
 \ptoti\pagetotal%
 \old@par%
 \ptotii\pagetotal%
 \ifdim\ptoti=\ptotii%
   \d@tmp\d@hoehe%
 \else%
   \d@tmp\baselineskip%
   \multiply\d@tmp by\prevgraf%
   \advance\d@tmp by\parskip%
   \global\advance\d@hoehe by-\d@tmp\d@tmp=\d@hoehe%
 \fi%
 \ifdim\d@hoehe>0pt%
   \divide\d@tmp by\baselineskip\c@zeilen=-\d@tmp\advance\c@zeilen by-1%
   \c@zeilen=\the\c@zeilen%
 \else\c@zeilen=0
 \fi
 \ifnum\c@zeilen<0\hangafter=\c@zeilen\hangindent=\d@breite%
 \else\let\par=\old@par%
   \hangindent 0pt%
   \leftskip \d@leftskip%
   \if@list\parshape \@ne \@totalleftmargin \linewidth%
     \advance\hsize \rightmargin%
   \fi%
 \fi%
}


\def\picskip#1{%
 \let\par=\old@par%
 \par%
 \pagetotal\the\pagetotal%
 \c@tmp=#1\relax%
 \ifnum\c@tmp=0%
   \d@tmp\baselineskip\multiply\d@tmp by\prevgraf\advance\d@tmp\parskip%
   \ifdim\p@getot@l<\pagetotal
     \advance\d@hoehe by-\d@tmp\advance\d@hoehe by1ex%
     \ifdim\d@hoehe>0pt\vspace*{\d@hoehe}\fi%
   \fi%
   \ifdim\p@getot@l=\pagetotal%
     \advance\d@hoehe by-\d@tmp\advance\d@hoehe by1ex%
     \ifdim\d@hoehe>0pt\vspace*{\d@hoehe}\fi%
   \fi%
 \else\hangafter=-\c@tmp\hangindent=\d@breite%
 \fi%
 \leftskip \d@leftskip%
 \if@list\parshape \@ne \@totalleftmargin \linewidth%
   \advance\hsize \rightmargin%
 \fi%
}






\def\hpic{%
  \@ifnextchar ({\ihpic}{\ihpic(0pt,0pt)}
}
\def\ihpic(#1,#2){%
  \@ifnextchar ({\@offsettrue\iihpic(#1,#2)}%
                {\@offsetfalse\iihpic(#1,#2)(0pt,0pt)}
}
\def\iihpic(#1,#2)(#3,#4){%
  \@ifnextchar [{\iiihpic(#1,#2)(#3,#4)}{\iiihpic(#1,#2)(#3,#4)[l]}
}
\def\iiihpic(#1,#2)(#3,#4)[#5]{%
  \@ifnextchar [{\ivhpic(#1,#2)(#3,#4)[#5]}{\ivhpic(#1,#2)(#3,#4)[#5][]}
}
\def\ivhpic(#1,#2)(#3,#4)[#5][#6]#7{%
  \setbox\@BILD=\hbox{#7}%
  \d@breite=#1\d@breite=\the\d@breite%
  \ifdim\d@breite=0pt\d@breite=\wd\@BILD\fi%
  \c@breite=\d@breite\divide\c@breite by65536%
  \d@hoehe=#2\d@hoehe=\the\d@hoehe%
  \ifdim\d@hoehe=0pt\d@hoehe=\ht\@BILD\advance\d@hoehe by\dp\@BILD\fi%
  \c@hoehe=\d@hoehe\divide\c@hoehe by65536%
  \d@xoff=#3\c@xoff=\d@xoff\divide\c@xoff by65536%
  \d@yoff=\d@hoehe%
  \advance\d@yoff by-#4\c@yoff=\d@yoff\divide\c@yoff by65536%
  \c@pos=0\d@tmpa=\parindent\parindent=0pt\unitlength1pt%
  \if@offset
    \setbox\@BILD=\hbox{%
      \begin{picture}(\c@breite,\c@hoehe)%
        \put(0,0){\makebox(\c@breite,\c@hoehe){}}%
        \put(\c@xoff,\c@yoff){\box\@BILD}%
      \end{picture}%
    }%
  \else%
    \setbox\@BILD=\hbox{%
      \begin{picture}(\c@breite,\c@hoehe)%
        \put(0,0){\makebox(\c@breite,\c@hoehe)[#6]{\box\@BILD}}%
      \end{picture}%
    }%
  \fi%
  \@tfor\@tempa := #5\do{%
    \if\@tempa f\setbox\@BILD=\hbox{\Rahmen(\c@breite,\c@hoehe){\box\@BILD}}\fi%
    \if\@tempa s\setbox\@BILD=\hbox{\Schatten(\c@breite,\c@hoehe){\box\@BILD}}\fi%
    \if\@tempa o\setbox\@BILD=\hbox{\Oval(\c@breite,\c@hoehe){\box\@BILD}}\fi%
    \if\@tempa d\setbox\@BILD=\hbox{\Strich(\c@breite,\c@hoehe){\box\@BILD}}\fi%
    \if\@tempa x\setbox\@BILD=\hbox{\Kasten(\c@breite,\c@hoehe){\box\@BILD}}\fi%
    \if\@tempa t\c@pos=1\fi%
    \if\@tempa b\c@pos=2\fi%
  }%
 \ifnum\c@pos=0\parbox{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi%
 \ifnum\c@pos=1\parbox[t]{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi%
 \ifnum\c@pos=2\parbox[b]{\d@breite}{\makebox[0cm]{}\\\box\@BILD\smallskip}\fi%
 \parindent=\d@tmpa%
}






\def\Rahmen(#1,#2)#3{%
  \c@whole=\@wholewidth\divide\c@whole by65536%
  \c@half=\@halfwidth\divide\c@half by65536%
  \c@tmpa=#1\advance\c@tmpa by\c@whole\advance\c@tmpa by\c@whole%
  \c@tmpb=#2\advance\c@tmpb by\c@whole\advance\c@tmpb by\c@whole%
  \begin{picture}(\c@tmpa,\c@tmpb)%
    \put(\c@whole,\c@half){\framebox(#1,#2){#3}}%
  \end{picture}%
  \global\advance\d@breite by2\@wholewidth%
  \global\advance\d@hoehe by2\@wholewidth%
}


\def\Schatten(#1,#2)#3{%
  \c@whole=\@wholewidth\divide\c@whole by65536%
  \c@half=\@halfwidth\divide\c@half by65536%
  \c@shad=\d@shad\divide\c@shad by65536%
  \c@tmp=\c@whole\advance\c@tmp by\c@whole\c@tmpd=\c@tmp%
  \advance\c@tmp by\c@shad%
  \advance\c@tmpd by#1%
  \advance\c@half by\c@shad%
  \c@tmpa=#1\advance\c@tmpa by\c@tmp%
  \c@tmpb=#2\advance\c@tmpb by\c@tmp%
  \begin{picture}(\c@tmpa,\c@tmpb)%
    \put(\c@whole,\c@half){\framebox(#1,#2){#3}}%
    \put(\c@shad,0){\rule{\c@tmpd pt}{\c@shad pt}}%
    \put(\c@tmpd,0){\rule{\c@shad pt}{#2 pt}}%
  \end{picture}%
  \global\advance\d@breite by2\@wholewidth\global\advance\d@breite by\d@shad%
  \global\advance\d@hoehe by2\@wholewidth\global\advance\d@hoehe by\d@shad%
}


\def\Oval(#1,#2)#3{%
  \@wholewidth=0.4pt%
  \c@tmpa=\the#1\divide\c@tmpa by2%
  \c@tmpb=\the#2\divide\c@tmpb by2%
  \begin{picture}(#1,#2)%
    \put(\c@tmpa,\c@tmpb){\oval(#1,#2)}%
    \put(0.4,0.4){#3}%
  \end{picture}%
  \global\advance\d@breite by1pt\global\advance\d@hoehe by1pt%
}


\def\Strich(#1,#2)#3{%
  \c@whole=\@wholewidth\divide\c@whole by65536%
  \c@half=\@halfwidth\divide\c@half by65536%
  \c@dash=\d@dash\divide\c@dash by65536%
  \c@tmp=\c@whole\advance\c@tmp by\c@whole%
  \c@tmpa=#1\advance\c@tmpa by\c@tmp%
  \c@tmpb=#2\advance\c@tmpb by\c@tmp%
  \c@tmpc=#1\advance\c@tmpc by\c@whole%
  \c@tmpd=#2\advance\c@tmpd by\c@whole%
  \begin{picture}(\c@tmpa,\c@tmpb)%
    \put(\c@half,\c@half){\dashbox{\c@dash}(\c@tmpc,\c@tmpd){#3}}%
  \end{picture}%
  \global\advance\d@breite by2\@wholewidth%
  \global\advance\d@hoehe by2\@wholewidth%
}


\def\Kasten(#1,#2)#3{%
  \@wholewidth=0.4pt%
  \c@boxl=\d@boxl\divide\c@boxl by65536\c@boxl=\the\c@boxl%
  \c@tmpa=#1\advance\c@tmpa by\c@boxl%
  \c@tmpb=#2\advance\c@tmpb by\c@boxl%
  \c@tmp=#2%
  \begin{picture}(\c@tmpa,\c@tmpb)%
    \put(0,\c@boxl){\framebox(#1,#2){#3}}%
    \put(\c@boxl,0){\line(-1,1){\c@boxl}}%
    \put(\c@boxl,0){\line(1,0){#1}\line(-1,1){\c@boxl}}%
    \put(\c@boxl,0){\put(#1,0){\line(0,1){\c@tmp}%
         \put(0,\c@tmp){\line(-1,1){\c@boxl}}}}%
  \end{picture}%
  \global\advance\d@breite by\d@boxl%
  \global\advance\d@hoehe by\d@boxl%
}





\newbox\env@box%
\newdimen\d@envdp
\newcount\c@hsize
\newcount\c@envdp
\newdimen\d@envb

\long\def\frameenv{\@ifnextchar [{\@frameenv}{\@frameenv[\textwidth]}}
\long\def\@frameenv[#1]{%
 \hsiz@=\textwidth  \textwidth=#1  \d@envb=#1
 \advance\textwidth by-2\@wholewidth
 \advance\textwidth by-2\fboxsep
 \hsize=\textwidth   \linewidth=\textwidth
 \setbox\env@box=\vbox\bgroup}%
\def\endframeenv{%
 \egroup%
 \hsize=\hsiz@  \textwidth=\hsiz@  \linewidth=\hsiz@
 \c@breite=\d@envb   \divide\c@breite by65536
 \advance\d@envb by-2\@wholewidth
 \c@hsize=\d@envb  \divide\c@hsize by65536%
 \d@envdp=\dp\env@box  \advance\d@envdp by\ht\env@box%
 \advance\d@envdp by2\fboxsep%
 \d@hoehe=\d@envdp   \advance\d@hoehe by2\@wholewidth
 \c@hoehe=\d@hoehe   \divide\c@hoehe by65536
 \c@envdp=\d@envdp   \divide\c@envdp by65536%
 \c@tmp=\@wholewidth \divide\c@tmp by65536
 \vskip\@wholewidth%
 \unitlength 1pt\noindent%
 \begin{picture}(\c@breite,\c@hoehe)(0,0)
   \put(\c@tmp,\c@tmp){\framebox(\c@hsize,\c@envdp){\box\env@box}}
 \end{picture}%
}



\long\def\shadowenv{\@ifnextchar [{\@shadowenv}{\@shadowenv[\textwidth]}}
\long\def\@shadowenv[#1]{%
 \hsiz@=\textwidth  \textwidth=#1  \d@envb=#1
 \advance\textwidth by-2\@wholewidth
 \advance\textwidth by-2\fboxsep
 \advance\textwidth by-\d@shad%
 \hsize=\textwidth   \linewidth=\textwidth
 \setbox\env@box=\vbox\bgroup}%
\def\endshadowenv{%
 \egroup
 \hsize=\hsiz@  \textwidth=\hsiz@  \linewidth=\hsiz@
 \d@tmpa=\d@envb
 \c@breite=\d@envb   \divide\c@breite by65536
 \advance\d@envb by-2\@wholewidth  \advance\d@envb by-\d@shad
 \c@hsize=\d@envb  \divide\c@hsize by65536%
 \d@envdp=\dp\env@box  \advance\d@envdp by\ht\env@box%
 \advance\d@envdp by2\fboxsep%
 \c@envdp=\d@envdp   \divide\c@envdp by65536%
 \d@hoehe=\d@envdp
 \advance\d@hoehe by2\@wholewidth  \advance\d@hoehe by\d@shad
 \c@hoehe=\d@hoehe    \divide\c@hoehe by65536
 \c@shad =\d@shad     \divide\c@shad  by65536
 \c@tmp=\@wholewidth  \divide\c@tmp by65536
 \advance\d@tmpa by-2\d@shad
 \c@xoff =\d@tmpa     \divide\c@xoff by65536
 \advance\c@xoff by\c@shad  \advance\c@xoff by-1
 \advance\d@envdp by\@wholewidth
 \vskip\@halfwidth
 \unitlength 1pt\noindent%
 \begin{picture}(\c@breite,\c@hoehe)(0,0)
    \put(\c@tmp,\c@shad){\framebox(\c@hsize,\c@envdp){\box\env@box}}
    \put(\c@shad,0){\rule{\d@tmpa}{\d@shad}}%
    \put(\c@xoff,0){\rule{\d@shad}{\d@envdp}}%
 \end{picture}%
 \vskip\@halfwidth
}


\long\def\dashenv{\@ifnextchar [{\@dashenv}{\@dashenv[\textwidth]}}
\long\def\@dashenv[#1]{%
 \hsiz@=\textwidth  \textwidth=#1  \d@envb=#1
 \advance\textwidth by-2\@wholewidth  \advance\textwidth by-2\fboxsep
 \hsize=\textwidth   \linewidth=\textwidth
 \setbox\env@box=\vbox\bgroup}%
\long\def\enddashenv{%
 \egroup
 \hsize=\hsiz@  \textwidth=\hsiz@  \linewidth=\hsiz@
 \c@breite=\d@envb   \divide\c@breite by65536
 \advance\d@envb by-\@wholewidth
 \c@hsize=\d@envb  \divide\c@hsize by65536%
 \d@envdp=\dp\env@box  \advance\d@envdp by\ht\env@box%
 \advance\d@envdp by2\fboxsep%
 \advance\d@envdp by\@wholewidth
 \d@hoehe=\d@envdp   \advance\d@hoehe by2\@wholewidth
 \c@hoehe=\d@hoehe   \divide\c@hoehe by65536
 \c@envdp=\d@envdp   \divide\c@envdp by65536%
 \c@dash=\d@dash     \divide\c@dash  by65536%
 \c@whole=\@wholewidth  \divide\c@whole by65536
 \c@half=\@halfwidth  \divide\c@half by 65536
 \noindent\unitlength 1pt
 \begin{picture}(\c@breite,\c@hoehe)(0,0)
   \put(\c@half,\c@whole){\dashbox{\c@dash}(\c@hsize,\c@envdp){\box\env@box}}
 \end{picture}%
}


\long\def\ovalenv{\@ifnextchar [{\@ovalenv}{\@ovalenv[\textwidth]}}%
\long\def\@ovalenv[#1]{%
 \hsiz@=\textwidth  \textwidth=#1  \d@envb=#1
 \advance\textwidth by-4\fboxsep
 \hsize=\textwidth   \linewidth=\textwidth
 \setbox\env@box=\vbox\bgroup}%
\long\def\endovalenv{%
 \egroup
 \hsize=\hsiz@  \textwidth=\hsiz@  \linewidth=\hsiz@
 \@wholewidth=0.4pt
 \c@breite=\d@envb   \divide\c@breite by65536
 \advance\d@envb by-2\@wholewidth
 \c@hsize=\d@envb  \divide\c@hsize by65536%
 \d@envdp=\dp\env@box  \advance\d@envdp by\ht\env@box%
 \advance\d@envdp by4\fboxsep%
 \c@envdp=\d@envdp   \divide\c@envdp by65536%
 \d@hoehe=\d@envdp   \advance\d@hoehe by2\@wholewidth
 \c@hoehe=\d@hoehe   \divide\c@hoehe by65536
 \c@tmpa=\c@hsize   \divide\c@tmpa by2%
 \c@tmpb=\c@envdp   \divide\c@tmpb by2%
 \d@tmpa=2\fboxsep   \advance\d@tmpa by\@wholewidth
 \c@xoff=\d@tmpa     \divide\c@xoff  by65536%
 \advance\d@tmpa by\dp\env@box
 \c@yoff=\d@tmpa     \divide\c@yoff  by65536%
 \unitlength 1pt\noindent
 \begin{picture}(\c@breite,\c@hoehe)(0,0)
   \put(\c@tmpa,\c@tmpb){\oval(\c@hsize,\c@envdp)}
   \put(\c@xoff,\c@yoff){\box\env@box}%
 \end{picture}%
}

2.8 tst.cls

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tst}[2012/02/10 v0.1 TST LaTeX English template class] % Need to be changed with new release
\LoadClass[a4paper, 10.5pt,twocolumn,twoside,journal]{article}
\RequirePackage{ifthen}
\usepackage{flushend}
\usepackage{graphicx}  %
\usepackage{CJK}      %
%\usepackage[lite,subscriptcorrection,slantedGreek,nofontinfo]{mtpro2}
\usepackage{times}    %
\RequirePackage{picins}
\RequirePackage{ccaption}
\RequirePackage{calc}
%%--------PAGE FORMAT---------%%
\setlength{\topmargin}{28pt}
\setlength{\headsep}{13pt}
\setlength{\headheight}{6mm}
\setlength{\oddsidemargin}{-7mm}
\setlength{\evensidemargin}{-7mm}
\setlength{\voffset}{-0.40in}
\setlength{\hoffset}{0mm}
\setlength{\footskip}{3.5em}
\setlength{\columnsep}{8mm} %
\textwidth \paperwidth%
\textheight \paperheight%
\addtolength\textwidth{-38mm}
\addtolength\textheight{-62mm}
% extra vertical space between paragraphs normally
\setlength{\parskip}{0mm}
% extra vertical space between paragraphs within a list item
%\setlength{\parsep}{0mm}

%%
\setlength{\abovedisplayskip}{2pt plus 1pt minus 1pt}
\setlength{\belowdisplayskip}{3pt plus 2pt minus 2pt}

\setlength{\doublerulesep}{0.5pt}

%%
\renewcommand{\baselinestretch}{1.14}
\renewcommand{\arraystretch}{1.06}
%
%
\newlength\tst@linespace
\newcommand{\tst@choosefont}[3]{%
   \setlength{\tst@linespace}{#1*\real{\baselinestretch}}%
   \fontsize{#1}{\tst@linespace plus#2 minus #3}\selectfont}
%
% 1 in = 72 bp = 72.27 pt

\newcommand\zihao[1]{%
   \ifthenelse{\equal{#1}{0}}{%
       \tst@choosefont{42bp}{.5pt}{.3pt}}{}%
   \ifthenelse{\equal{#1}{0-}}{%
       \tst@choosefont{36bp}{.5pt}{.3pt}}{}%
   \ifthenelse{\equal{#1}{1}}{%
       \tst@choosefont{26bp}{.5pt}{.3pt}}{}%
   \ifthenelse{\equal{#1}{1-}}{%
       \tst@choosefont{24bp}{.5pt}{.3pt}}{}%
   \ifthenelse{\equal{#1}{2}}{%
       \tst@choosefont{22bp}{.5pt}{.3pt}}{}%
   \ifthenelse{\equal{#1}{2-}}{%
       \tst@choosefont{18bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{3}}{%
       \tst@choosefont{16bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{3-}}{%
       \tst@choosefont{15bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{4}}{%
       \tst@choosefont{14bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{4-}}{%
       \tst@choosefont{12bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{5}}{%
       \tst@choosefont{10.5bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{5--}}{%
       \tst@choosefont{10bp}{.3pt}{.2pt}}{}%
   \ifthenelse{\equal{#1}{5-}}{%
       \tst@choosefont{9bp}{.2pt}{.1pt}}{}%
   \ifthenelse{\equal{#1}{6}}{%
       \tst@choosefont{7.5bp}{.2pt}{.1pt}}{}%
   \ifthenelse{\equal{#1}{9}}{%
       \tst@choosefont{8.5bp}{.2pt}{.1pt}}{}%
   \ifthenelse{\equal{#1}{6-}}{%
       \tst@choosefont{6.5bp}{.2pt}{.1pt}}{}%
   \ifthenelse{\equal{#1}{7}}{%
       \tst@choosefont{5.5bp}{.1pt}{.1pt}}{}%
   \ifthenelse{\equal{#1}{8}}{%
       \tst@choosefont{5bp}{.1pt}{.1pt}}{}}
%
%%----- Redefine \tiny \scriptsize \footnotesize\small ----------%%
%%-------------------------\normalsize --------------------------%%
%%---------------\large \Large \LARGE \huge \Huge ---------------%%
%% Refer to ctex
\def\tiny{\zihao{7-}}
\def\scriptsize{\zihao{7}}
\def\footnotesize{\zihao{6-}}
\def\small{\zihao{6}}
\def\normalsize{\zihao{5-}}%
\def\large{\zihao{5}}%
\def\Large{\zihao{4}}%
\def\LARGE{\zihao{3}}%
\def\huge{\zihao{2-}}%
\def\Huge{\zihao{1-}}%
\def\IEEEproof{\@ifnextchar[{\@IEEEproof}{\@IEEEproof[\IEEEproofname]}}
\def\@IEEEproof[#1]{\par\noindent\hspace{1em}{\textbf #1{\quad}}}
\def\endIEEEproof{\hspace*{\fill}~$\blacksquare$\par}
\def\IEEEproofname{Proof}
\AtBeginDocument{\def\proof{\@IEEElegacywarn{proof}{IEEEproof}\IEEEproof}\def\endproof{\endIEEEproof}}




\normalsize  %make \baselinestretch take affect
%\renewcommand{\@biblabel}[1]{#1}
\let\@afterindentfalse\@afterindenttrue\@afterindenttrue
\def\@cite#1#2{\textsuperscript{[{#1\if@tempswa, #2\fi}]}}
\setlength{\footnotesep}{0pt}
\def\footnoterule{\kern-10\p@ \hrule width .4\columnwidth height 0.4pt \kern 6.6\p@}
%
%%-------- maketitle --------%%
%
%
\renewcommand{\title}[1]{\gdef\tst@title{{\huge\bf #1}}}
\renewcommand{\author}[1]{\gdef\tst@author{{\normalsize #1}}}
%\renewcommand{\address}[1]{\gdef\tst@address{{\footnotesize\it#1}}}
%\newcommand{\email}[1]{\gdef\tst@email{{\centering\footnotesize (E-mail: #1)}}}
\renewcommand{\abstract}[1]{\gdef\tst@abstract{{\noindent\small {\bf Abstract}\quad #1}}}
\newcommand{\keyword}[1]{\gdef\tst@keyword{{\noindent\small {\bf Key words}\quad #1}}}
\newcommand{\doi}[1]{\gdef\tst@doi{{\noindent\small {\bf DOI}\quad #1}}}
%
%
\renewcommand{\maketitle}{\par
 \begingroup
  \def\thefootnote{}%  the \thanks{} mark type is empty
  \def\footnotemark{}% and kill space from \thanks within author
   \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
   \long\def\@makefntext##1{\parindent 1em\noindent
           \hb@xt@0.5em{%
               \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
   \twocolumn[\@maketitle]%
   \thispagestyle{tst@firstheadings}%ssl
   \@thanks%
 \endgroup%
 \setcounter{footnote}{0}%
 \global\let\thanks\relax%
 \global\let\maketitle\relax%
 \global\let\@maketitle\relax%
 \global\let\@thanks\@empty%
 \global\let\@author\@empty%
 \global\let\@title\@empty%
 \global\let\title\relax%
 \global\let\author\relax%
 \global\let\and\relax%
%
 \global\let\cncl\relax%
 \global\let\email\relax%
%
 \global\let\tst@title\relax%
 \global\let\tst@author\relax%
 \global\let\tst@address\relax%
 \global\let\tst@abstract\relax%
 \global\let\tst@keyword\relax%
 \global\let\tst@doi\relax%
%
 \global\let\title\relax%
 \global\let\author\relax%
 \global\let\address\relax%
 \global\let\abstract\relax%
 \global\let\keyword\relax%
 \global\let\doi\relax%
}
%
\def\@maketitle{%
    \let\footnote\thanks%
    \newpage\null% an empty hbox
    \vskip 1.2\baselineskip%
    {\centering%
    {\tst@title\par}%
    {%\vskip 1.2em%
    \vskip 0.8\baselineskip%
    \begin{tabular}[t]{c}%
    \tst@author%
    \end{tabular}%
    \vskip 0.3em%
    \par%
    }%
    \vskip 0.2\baselineskip}%
    {\linespread{1.0}\selectfont\tst@abstract\par%
    \vskip 0.2\baselineskip%
    \tst@keyword\par%
    \vskip 0.2\baselineskip%
    \tst@doi\par
    }%
    \vskip 1.5\baselineskip%
}
%
\renewcommand{\refname}{\centering \normalsize\bf References}
%
\newenvironment{acknowledgement}{
    \vspace*{10pt}
    {\noindent\zihao{4}\bfseries Acknowledgements\par}
    \vspace*{10pt}
    \begingroup
    }{
    \par
    \endgroup
}
%
%%---------------- Define biography ----------------%%
\newenvironment{biography}[1][]{
\vskip 0.4\baselineskip%
\zihao{5-}
\parpic{%
\includegraphics[height=3.0cm,width=2.4cm]{#1}}%
}{\vskip 0.4\baselineskip\par}

%% For author who has no photo
\newenvironment{biographynophoto}{\vskip 0.4\baselineskip\zihao{5-}}{\vskip 0.4\baselineskip\par}

%%---------------- Redefine section -----------------%%
\setcounter{secnumdepth}{3}

\renewcommand\thesection {\@arabic\c@section}
\renewcommand\thesubsection   {\thesection.\@arabic\c@subsection}
\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection}

\renewcommand\section{\@startsection {section}{1}{\z@}%
                                   {-1.5ex \@plus -.2ex \@minus -.2ex}%
                                   {1.5ex \@plus.2ex}%
                                   {\zihao{4-}\bfseries}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
                                     {-1.0ex \@plus -.2ex \@minus -.2ex}%
                                     {1.0ex \@plus .2ex}%
                                     {\zihao{5}\bfseries}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
                                     {-0.5ex \@plus -.0ex \@minus -.2ex}%
                                     {0.5ex \@plus .0ex}%
                                     {\zihao{5}\bfseries}}
\renewcommand*\l@section[2]{%
  \ifnum \c@tocdepth >\z@
    \addpenalty\@secpenalty
    \addvspace{1.0em \@plus\p@}%
    \setlength\@tempdima{1.5em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode \bfseries
      \advance\leftskip\@tempdima
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
    \endgroup
  \fi}
%



\newcommand{\firstheadname}[1]{\gdef\tst@firstheadname{\zihao{5-} #1}}
\newcommand{\firstfootname}[1]{\gdef\tst@firstfootname{#1}}
\newcommand{\headevenname}[1]{\gdef\tst@headevenname{{\zihao{5-} #1}}}
\newcommand{\headoddname}[1]{\gdef\tst@headoddname{{\zihao{5-} #1}}}


%%------------------tst@firstheadings begin------------------------------------%%
\def\ps@tst@firstheadings{
   \let\@evenhead\@empty\let\@evenfoot\@empty
   \let\@oddhead\@empty\let\@oddfoot\@empty
    \def\@evenhead{%
        \vbox{%
            \vskip 3.2mm%
            \hbox to \textwidth{{\zihao{5-} \hbox{\tst@firstheadname} \hfill }}%
            \vskip 2.0mm%
%            \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt\vskip0.85pt \hrule width\textwidth height0.63pt%
        }%
    }
   \def\@evenfoot{
   \hbox{\tst@firstfootname}
    }
   \let\@oddhead\@evenhead%
   \let\@oddfoot\@evenfoot%
}
%%-----------------tst@firstheadings end--------------------------------------%%
%%-------------------tstheadings begin----------------------------------------%%
\def\ps@tstheadings{
    \let\@evenhead\@empty\let\@evenfoot\@empty
    \let\@oddhead\@empty\let\@oddfoot\@empty
    \def\@evenhead{%
        \vbox{%
            \vskip 3.2mm%
            \hbox to \textwidth {\mbox{\hspace {2mm}} {\zihao{5-} \thepage} \hfill \hbox{\tst@headevenname}  {\zihao{5-} \mbox{\hspace {2mm}}}}%
%            \vskip 2.0mm%
 %           \hbox to \textwidth{\noindent\rule[2mm]{\textwidth}{0.5pt}}%
        }%
    }
    \def\@oddhead{%
        \vbox{%
            \vskip 3.2mm%
            \hbox to \textwidth {{\zihao{5-} \mbox{\hspace {0mm}} \tst@headoddname}   \hfill {{\zihao{5-} \thepage} \mbox{\hspace {2mm}}}}%
   %         \vskip 2.0mm%
    %        \hbox to \textwidth{\noindent\rule[2mm]{\textwidth}{0.5pt}}%
        }
    }%
}
%---------------------headings end------------------------------------------%%
%
%%-------- Set the begin and end method for class -----%%
\AtBeginDocument{%
   \flushend
   \captiondelim{ } %
   \captionnamefont{\small}%
   \captiontitlefont{\small}%
   }
\AtEndDocument{\clearpage}
\endinput
%%-------- The end of tst.cls -------------%%

2.9 yourphotofilename.jpg

在这里插入图片描述

三、编译运行

参考上一篇博客内容:https://blog.csdn.net/Gerald_Jones/article/details/121872680

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值