% \iffalse 
%
% chemist.dtx
% 
% Copyright (C) 1996, 1999, 2000, 2004, 2009, 2010, 2013 by Shinsaku Fujita  All rights reserved.
%
% This file is part of the ChemSci system
% ========================================
%
% This style file is created for submitting a manuscript to 
% scientific journals. This style file is to be contained in the 
% ``chemist'' directory which is an input directory for TeX. 
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'. 
% The Current Maintainer of this work is Shinsaku Fujita.
%
% This work consists of the files xymtex.dtx and xymtex.ins 
% and the derived files: xymtex.sty, xymtexps.sty and xymtexpdf.sty.
%
%=======================================
%
% For using this file, see 
%  Shinsaku Fujita, ``LaTeX for Chemists and Biochemists'' 
%  Tokyo Kagaku Dojin, Tokyo (1993), Chapter 16. 
%
% This file is a successor to:
%
% *********************************************************************
% * chemist.sty <Sept 29 1991> by Shinsaku Fujita                     *
% *  counters and related matters for compounds.                      *
% *  ffboxit: November 2 1991 by S. Fujita                            *
% *  bslskipchange: November 6 1991 by S. Fujita (deleted)            *
% *  chapinitial: 1991 November 7 by S. Fujita                        *
% *  variable arrows: 1992 May 24 by S. Fujita                        *
% *  reaction and scheme arrows (revised): 1992 May 24  by S. Fujita  *
% *  changespace <=== bslskipchange: Dec 31 1992 by S. Fujita         *
% *  (g)rshfboxit and (g)lshfboxit: January 3, 1993 by S. Fujita      *
% *********************************************************************
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Released on January 3, 1993 
% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
% This style file is created for making manuscripts of chemical fields.  
% This option style file is to be contained in the ``chemist'' directory 
% which is an input directory for TeX. 
%
% For using this file, see 
%    Shinsaku Fujita, ``LaTeX for Chemists and Biochemists'' 
%    Tokyo Kagaku Dojin, Tokyo (1993), Chapters 7, 9, 12 and 18. 
%
%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \def\j@urnalname{chemist}
% \def\versi@ndate{January 03, 1993}
% \def\versi@nno{ver1.00}
%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Version 1.01 
%  --- added the end commands of the \verbatim environment and the 
%      \verb command contained in LaTeX 2.09
%  --- \LaTeX, \BibTeX logos etc improved
% \typeout{verbatim for LaTeX2.09 (and LaTeX2e) in chemist.sty}
% \typeout{logos for LaTeX2.09 (and LaTeX2e) in chemist.sty}
% \def\versi@ndate{April 20, 1996}
% \def\j@urnalname{chemist}
% \def\versi@ndate{April 20, 1996}
% \def\versi@nno{ver1.01}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \def\j@urnalname{chemist} \def\journalID{chemist}
% \def\versi@ndate{June 15, 1996}
% \def\versi@nno{ver1.01a}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
% \typeout{Package `\j@urnalname' (\versi@nno) <\versi@ndate>\space 
% [\copyrighth@lder]}
% \typeout{chemist.sty ver1.01a (for LaTeX2e) 1996/06/15[SF]}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \def\j@urnalname{chemist} \def\journalID{chemist}
% \def\versi@ndate{March 16, 1999}
% \def\versi@nno{ver2.00}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \def\j@urnalname{chemist} \def\journalID{chemist}
% \def\versi@ndate{November 3, 2000}
% \def\versi@nno{ver2.00a}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \def\j@urnalname{chemist} \def\journalID{chemist}
% \def\versi@ndate{June 20, 2001}
% \def\versi@nno{ver2.01}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \def\j@urnalname{chemist} \def\journalID{chemist}
% \def\versi@ndate{May 30, 2002}
% \def\versi@nno{ver3.00}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
%%%%%%%%%%
% \def\j@urnalname{chemist} \def\journalID{chemist}
% \def\versi@ndate{August 30, 2004}
% \def\versi@nno{ver4.01}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
%%%%%%%%%%
% \def\j@urnalname{chemist} \def\journalID{chemist}
% \def\versi@ndate{November 17, 2004}
% \def\versi@nno{ver4.01b}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
%%%%%%%%%%
% \def\j@urnalname{chemist} \def\journalID{chemist}
% \def\versi@ndate{December 02, 2004}
% \def\versi@nno{ver4.01c}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
%%%%%%%%%%
% \def\j@urnalname{chemist} \def\journalID{chemist}
% \def\versi@ndate{September 02, 2005}
% \def\versi@nno{ver4.03}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
%%%%%%%%%%
% \def\j@urnalname{chemist} \def\journalID{chemist}
% \def\versi@ndate{November 08, 2009}
% \def\versi@nno{ver4.05}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
%%%%%%%%%%
% \def\j@urnalname{chemist} \def\journalID{chemist}
% \def\versi@ndate{November 21, 2010}
% \def\versi@nno{ver5.00a}
% \def\copyrighth@lder{SF} % Shinsaku Fujita
%%%%%%%%%%
% 
% \fi
% \CheckSum{5053}
%% \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         \~}
%
% \iffalse
%%
%% `chemist.dtx' ver1.01a (for LaTeX2e) 1996/06/15 
%% `chemist.dtx' ver1.02 (for LaTeX2e) 2009/11/08 
%% `chemist.dtx' ver5.00 (for LaTeX2e) 2010/10/01
%% `chemist.dtx' ver5.00a (for LaTeX2e) 2010/11/21
%%  by Shinsaku Fujita
%%
%
% \section{Initial declaration}
%
% \changes{v1.01a}{1996/06/15}{For LaTeX2e: dtx file}
% \changes{v1.01a}{1996/07/16}{Comment out for use LaTeX2.09}
% \changes{v2.00}{1999/03/16}{For XyMTeX 2.00 Enhanced Version}
% \changes{v2.00a}{2000/11/03}{Bug fix}
% \changes{v2.01}{2001/06/20}{Size reduction and Clip information}
% \changes{v3.00}{2002/05/30}{PStricks & mathversion{boldchem}}
% \changes{v4.03}{2005/9/2}{Bug fix for mathchem}
% \changes{v4.05}{2009/11/08}{extension of mathversions chem and boldchem}
% \changes{v5.00}{2010/10/01}{for bond coloring and the LaTeX Project Public License}
% \changes{v5.00a}{2010/11/21}{bug fix}
% \changes{v5.01}{2013/06/06}{bug fix}
%
%    \begin{macrocode}
% \NeedsTeXFormat{LaTeX2e}
%    \end{macrocode}
%
%    \begin{macrocode}
%    <chemist>\ProvidesFile{chemist.sty}
%<driver>\ProvidesFile{chemist.drv}
%<driver>         [2013/06/06 v5.01
%    <chemist>     ChemSci package ]
%<driver>     ChemSci package driver (English)
%    \end{macrocode}
%
%\setcounter{StandardModuleDepth}{1}
%
% \section{Driver file for this dtx file}
%
% \changes{v1.0a}{1996/06/15}{first draft}
% \changes{v2.00a}{2000/11/05}{bug fix}
% \changes{v4.01}{2004/08/30}{variable arrows}
% \changes{v4.01c}{2004/12/02}{To be compatible with multicol.sty: dimen2 into dimen6}
% \changes{v4.05}{2009/11/08}{extension of mathversions chem and boldchem; 
% modification of reaction arrows}
% \changes{v5.00a}{2010/11/21}{bug fix}
% \changes{v5.01}{2013/06/06}{bug fix}
%
%    \begin{macrocode}
%<*driver>
 ]
\documentclass{ltxdoc}
\GetFileInfo{chemist.drv}
\title{Chemist Package \space\fileversion}
\author{Shinsaku Fujita \\ 
Shonan Institute of Chemoinformatics and 
Mathematical Chemistry \\
Ashigara-Kami-Gun, Kanagawa, Japan 
%% (old address)
%% Department of Chemistry and Materials Technology \\
%%  Kyoto Institute of Technology \\
%Matsugasaki, Sakyoku, Kyoto, 606-8585 Japan 
%% (old address)
%% Ashigara Research Laboratories \\
%% Fuji Photo Film Co. Ltd.
}
\date{\filedate}
\begin{document}
\maketitle
\tableofcontents
\DocInput{chemist.dtx}
\end{document}
%</driver>
%    \end{macrocode}
%
% \fi
%
% \StopEventually{}
%
% \section{{\sc docstrip} options}
%
% This dtx file provides the {\sffamily chemist} package 
% by docstrip processing. 
%
% \DeleteShortVerb{\|}
% \begin{center}
% \begin{tabular}{|l|l|}
%  \hline
%   argument & package name \\
%  \hline
%   chemist   & chemist.sty \\
%   driver  & a documentation driver file \\
%  \hline
% \end{tabular}
% \end{center}
% \MakeShortVerb{\|}
% 
% \section{Version information}
%
% The old process for typing out version information remains active. 
%    \begin{macrocode}
%<chemist>
%%%%%%%%
\def\j@urnalname{chemist} \def\journalID{chemist}
\def\versi@ndate{June 6, 2013}
\def\versi@nno{ver5.01}
\def\copyrighth@lder{SF} % Shinsaku Fujita
%%%%%%%%%%
%<*chemist>
\typeout{Package `\j@urnalname' (\versi@nno) <\versi@ndate>\space 
[\copyrighth@lder]}
\typeout{chemist.sty ver5.01 (for LaTeX2e) 2013/06/06[SF]}
%</chemist>
%    \end{macrocode}
%
% \section{Times Fonts}
%
% If the \textsf{chemtimes} package is loaded, the switch \verb/\@chemtimestrue/ 
% becomes effective. Thereby, the mathversions ``chem'' and ``boldchem'' 
% defined in the present \textsf{chemist} package are entirely replaced by those defined 
% in the \textsf{chemtimes} package. 
% \changes{v4.05}{2009/11/20}{the unskip command was deleted.}
%
%  \begin{macro}{\if@chemtimes}
%    \begin{macrocode}
%<*chemist>
\@ifundefined{ifchemtimes}{\newif\ifchemtimes}{}%from chemtimes
\@ifundefined{if@chemtimes}{\newif\if@chemtimes}{}
\@ifundefined{if@@chemtimes}{\newif\if@@chemtimes}{}%from chemtimes
\DeclareOption{chemtimes}{\@chemtimestrue}
\@chemtimesfalse
\ProcessOptions
\if@chemtimes
\if@@chemtimes\else
\ifchemtimes\else
  \PackageError{chemist}
    {The option ``chemtimes'' is not permitted}
    {You should use this option after the chemtimes package is loaded}
\fi\fi\fi
%    \end{macrocode}
%  \end{macro}
% 
%
% \section{Cross-references of compounds}
%
% The \textsf{compd} counter is introduced for numbering 
% chemical compounds. 
%
%  \begin{macro}{\thecompd}
%  \begin{macro}{\compd}
%  \begin{macro}{\nocompd}
% 
% The |\thecompd| command prints compound numbering without 
% advancing the the \textsf{compd} counter. 
% The |\compd| command prints compound numbering and advances 
% the \textsf{compd} counter by one, while 
% the |\nocompd| advances the \textsf{compd} counter by one 
% without printing. 
% \changes{v1.01a}{1996/06/22}{the unskip command was deleted.}
%
%    \begin{macrocode}
% *******************
% * compound label  *
% *   1991 sept 29  *
% *******************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\@ifundefined{chapter}{\newcounter{compd}}{\newcounter{compd}[chapter]}
\def\thecompd{\arabic{compd}} 
%\def\compd{\refstepcounter{compd}\unskip{\large\bf \thecompd}}
\def\compd{\leavevmode\refstepcounter{compd}{\large\bf \thecompd}}
\def\nocompd{\refstepcounter{compd}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\compdlabel}
%  \begin{macro}{\nocompdlabel}
%  \begin{macro}{\cref}
%
% The cross-reference of compound numbers are conducted by using 
% |\label| and |\ref| commands. Alternative commands are also available 
% as follows.
%    \begin{macrocode}
\def\compdlabel#1{\compd \label{#1}}
\def\nocompdlabel#1{\nocompd \label{#1}}
\@ifundefined{bf}{\def\bf{\normalfont\bfseries}}{}
\def\cref#1{{\bf \ref{#1}}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\compdfbox}
%  \begin{macro}{\compdmbox}
%  \begin{macro}{\lbcompdpbox}
%
% For takeing a space for compound output, we can use |\compdfbox| 
% and like. 
%
%    \begin{macrocode}
\def\compdfbox#1#2#3{\framebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }}
\def\compdmbox#1#2#3{\makebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }}
\def\lbcompdpbox#1#2#3{\parbox{#2}{\vskip 2em 
  \parbox{#2}{#3 \par \centering{\compdlabel{#1}}\vskip 2em }}} 
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% The \textsf{deriv} counter is introduced for numbering 
% derivatives of a compound. 
% \changes{v1.01a}{1996/06/22}{the unskip command was deleted.}
% \changes{v2.00}{1999/03/17}{derivnum added}
%
%  \begin{macro}{\thederiv}
%  \begin{macro}{\deriv}
%  \begin{macro}{\noderiv}
%  \begin{macro}{\derivnum}
%
%    \begin{macrocode}
% ********************
% * deriv label      *
% *   1991 oct  01   *
% ********************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\newcounter{deriv}[compd]
\def\thederiv {\thecompd\alph{deriv}}
%\def\deriv{\refstepcounter{deriv}\unskip{\large\bf \thederiv}}
\def\deriv{\leavevmode\refstepcounter{deriv}{\large\bf \thederiv}}
\def\noderiv{\refstepcounter{deriv}}
\def\derivnum{%
\leavevmode\refstepcounter{deriv}{\large\bf \alph{deriv}}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\derivlabel}
%  \begin{macro}{\noderivlabel}
%
% The cross-reference of derivative numbers are conducted by using 
% |\label| and |\ref| commands.  
% Alternative commands are also available as follows.
%    \begin{macrocode}
\def\derivlabel#1{\deriv \label{#1}}
\def\noderivlabel#1{\noderiv \label{#1}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\derivfbox}
%  \begin{macro}{\derivmbox}
%  \begin{macro}{\lbderivpbox}
%
% For takeing a space for placing a derivative, we can use |\compdfbox| 
% and like. 
%
%    \begin{macrocode}
\def\derivfbox#1#2#3{\framebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }}
\def\derivmbox#1#2#3{\makebox[#1]{\rule[-0.3mm]{0pt}{#2} #3 }}
\def\lbderivpbox#1#2#3{\parbox{#2}{\vskip 2em 
  \parbox{#2}{#3 \par \centering{\derivlabel{#1}}\vskip 2em }}} 
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\deriva}
%  \begin{macro}{\noderiva}
%  \begin{macro}{\derivalabel}
%  \begin{macro}{\noderivalabel}
%
% The \textsf{deriv} counter is also advanced by |\deriva| command and like. 
% This command produced the net output of the \textsf{deriv} counter. 
% \changes{v1.01a}{1996/06/22}{the unskip command was deleted.}
%    \begin{macrocode}
% ********************
% * deriva label     *
% *   1991 oct  05   *
% ********************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
%\def\deriva{\refstepcounter{deriv}\unskip{\large\bf \alph{deriv}}}
\def\deriva{\leavevmode\refstepcounter{deriv}{\large\bf \alph{deriv}}}
\def\noderiva{\refstepcounter{deriv}}
\def\derivalabel#1{\deriva \label{#1}}
\def\noderivalabel#1{\noderiva \label{#1}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Boxes for placing compounds}
%
%  \begin{macro}{\cdonecell}
%  \begin{macro}{\cdtwocell}
%
% These boxes with a given width are used for printing chemical compounds. 
% A box provided by |\cdonecell| is used for accomodating a compound. 
% A box provided by |\cdtwocell| is devied into two vertical cells 
% where the one is to place a compound and the other to place 
% the compound number. 
%    \begin{macrocode}
% ********************
% * cdonecell label  *
% *   1991 oct  04   *
% ********************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\cdonecell#1#2#3{\raisebox{#1}{\parbox{#2}{\centering{#3}}}}
% #1 ue, #2 haba, #3 honbun 
\def\cdtwocell#1#2#3#4{\raisebox{#1}{
 \parbox{#2}{\centering{#3} \par \vskip 3pt \centering{#4}  }}}
% #1 ue, #2 haba, #3 ue honbun, #4 shita label 
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
% \section{Arrows}
%
% \subsection{Arrows with variable length}
%
%  \begin{macro}{\leftrightarrowfill}
%  \begin{macro}{\Leftarrowfill}
%  \begin{macro}{\Rightarrowfill}
%  \begin{macro}{\Leftrightarrowfill}
%
% LaTeX{} are possessed of |\leftarrowfill| and |\rightarrowfill| for 
% drawing arrows with variable length.  The {\sffamily chemist} 
% package defines other arrows with variable length for drawing 
% chemical equations or schemes. 
%
%    \begin{macrocode}
% *******************
% * variable arrows * 1992 May 24 S. Fujita
% *******************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\leftrightarrowfill{$\m@th \mathord\leftarrow \mkern-6mu 
 \cleaders\hbox{$\mkern-2mu \mathord- \mkern-2mu$}\hfill 
 \mkern-6mu \mathord\rightarrow$}
\def\Leftarrowfill{$\m@th \mathord\Leftarrow \mkern-6mu 
 \cleaders\hbox{$\mkern-2mu \mathord= \mkern-2mu$}\hfill 
 \mkern-6mu \mathord=$}
\def\Rightarrowfill{$\m@th \mathord= \mkern-6mu 
 \cleaders\hbox{$\mkern-2mu \mathord= \mkern-2mu$}\hfill 
 \mkern-6mu \mathord\Rightarrow$}
\def\Leftrightarrowfill{$\m@th \mathord\Leftarrow \mkern-6mu 
 \cleaders\hbox{$\mkern-2mu \mathord= \mkern-2mu$}\hfill 
 \mkern-6mu \mathord\Rightarrow$}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \subsection{Reaction arrows with variable length}
%
%  \begin{macro}{\reactrarrow}
%  \begin{macro}{\reactlarrow}
%  \begin{macro}{\reactlrarrow}
%  \begin{macro}{\reacteqarrow}
%
% The {\sffamily chemist} package defines arrows with variable length 
% for drawing chemical equations, where additional information 
% can be written on the upper and/or downward sides of each arrow.  
% \changes{v2.00}{1999/02/02}{Vertical spacing changed}
% \changes{v2.00}{1999/03/16}{Horizontal shift}
%
% The vertical space between the upper text and the arrow as well as 
% the vertical spece between the the arrow and the below text can be 
% changed by the dimension register \verb/\reactarrowsep/. 
%
% \changes{v4.05}{2009/11/8}{added \cs{reactarrowsep} and \cs{reactarrowseprate}}
% \changes{v4.05}{2009/11/15}{added \cs{ChemStrut}}
% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}}
%
% \begin{verbatim}
%  \reactarrowsep (dimension) for adjusting the two vertical spaces 
%                             (default value 0pt)
%  \reactarrowseprate (string) for adjusting the lower vertical space 
%                              (default 1.0) 
% \end{verbatim}
%
%    \begin{macrocode}
% ******************* 1991 Oct 4 S. Fujita
% * reaction arrows * Revised 1992 May 24 S.Fujita%1999/02/02 SF
% *******************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
%
% #1 yoko #2 ue, #3 haba, #4 ya no ue, #5 ya no shita 
% 
\newdimen\reactarrowsep
\def\reactarrowseprate{1.0}
\reactarrowsep=0pt
\def\oldreactrarrow{\@ifnextchar[{\oldreact@rarrow}{\oldreact@rarrow[0pt]}}
\def\oldreact@rarrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{%
  \parbox{#3}{\centering
    \baselineskip=.8\normalbaselineskip \ChemStrut{#4}\par
    \vskip-0.2\normalbaselineskip\vskip\reactarrowsep
    \leavevmode\rightarrowfill \par
    \vskip\reactarrowseprate\reactarrowsep
    \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}}
\def\oldreactlarrow{\@ifnextchar[{\oldreact@larrow}{\oldreact@larrow[0pt]}}
\def\oldreact@larrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{%
    \parbox{#3}{\centering
    \baselineskip=.8\normalbaselineskip \ChemStrut{#4}\par
    \vskip-0.2\normalbaselineskip\vskip\reactarrowsep
    \leavevmode\leftarrowfill \par
    \vskip\reactarrowseprate\reactarrowsep
    \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}}
\def\oldreactlrarrow{\@ifnextchar[{\oldreact@lrarrow}{\oldreact@lrarrow[0pt]}}
\def\oldreact@lrarrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{%
    \parbox{#3}{\centering
    \baselineskip=.8\normalbaselineskip
    \ChemStrut{#4}\par
    \vskip-0.2\normalbaselineskip\vskip\reactarrowsep
    \leavevmode\centering{\leftrightarrowfill} \par
    \vskip\reactarrowseprate\reactarrowsep
    \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}}
\def\oldreacteqarrow{\@ifnextchar[{\oldreact@eqarrow}{\oldreact@eqarrow[0pt]}}
\def\oldreact@eqarrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{%
    \parbox{#3}{\centering
    \baselineskip=.8\normalbaselineskip
    \ChemStrut{#4}\par
    \vskip-0.2\normalbaselineskip\vskip\reactarrowsep
    \leavevmode\rightarrowfill \par \vskip-0.55\normalbaselineskip%
    \leavevmode\leftarrowfill \par
    \vskip\reactarrowseprate\reactarrowsep
    \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}}
%%%%%%2009/11/19
%\let\reactrarrow=\oldreactrarrow
%\let\reactlarrow=\oldreactlarrow
%\let\reactlrarrow=\oldreactlrarrow
%\let\reacteqarrow=\oldreacteqarrow
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\reactreqarrow}
%  \begin{macro}{\reactleqarrow}
%
% These commands have been added for the XyMTeX version 4.05. 
% The {\sffamily chemist} package additionally defines arrows with variable length 
% for drawing chemical equilibrium, where additional information 
% can be written on the upper and/or downward sides of each arrow.  
% The length of either one of arrows can be reduced by \verb/\eqlbarrowstretch/.
% 
% \changes{v4.05}{2009/11/08}{added \cs{reactreqarrow} and \cs{reactleqarrow}}
% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}}
%
%    \begin{macrocode}
% **************************************** 2009/11/08 S. Fujita
% * equilibrium arrows of uneven lengths * 
% ****************************************
%
% #1 yoko #2 ue, #3 haba, #4 ya no ue, #5 ya no shita 
% 
\def\eqlbarrowstretch{0.6}%reduction rate of arrow length
\def\oldreactreqarrow{\@ifnextchar[{\oldreact@reqarrow}{\oldreact@reqarrow[0pt]}}
\def\oldreact@reqarrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{%
    \parbox{#3}{\centering\dimen0=#3
    \baselineskip=.8\normalbaselineskip
    \ChemStrut{#4}\par
    \vskip-0.2\normalbaselineskip\vskip\reactarrowsep
    \leavevmode\rightarrowfill \par \vskip-0.55\normalbaselineskip%
    \leavevmode\hbox to\eqlbarrowstretch\dimen0{\leftarrowfill} \par
    \vskip\reactarrowseprate\reactarrowsep
    \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}}
\def\oldreactleqarrow{\@ifnextchar[{\oldreact@leqarrow}{\oldreact@leqarrow[0pt]}}
\def\oldreact@leqarrow[#1]#2#3#4#5{\ensuremath{\mathbin{\hskip#1\raisebox{#2}{%
    \parbox{#3}{\centering\dimen0=#3
    \baselineskip=.8\normalbaselineskip
    \ChemStrut{#4}\par
    \vskip-0.2\normalbaselineskip\vskip\reactarrowsep
    \leavevmode\hbox to\eqlbarrowstretch\dimen0{\rightarrowfill} \par
    \vskip-0.55\normalbaselineskip%
    \leavevmode\leftarrowfill \par
    \vskip\reactarrowseprate\reactarrowsep
    \vskip-0.1\normalbaselineskip\ChemStrut{#5}}}}}}
%%%%%2009/11/19
%\let\reactreqarrow=\oldreactreqarrow
%\let\reactleqarrow=\oldreactleqarrow
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\k@nz@n}
% The |\k@nz@n| command is used for changing a dimension to a 
% parameter for the \LaTeX{} picture environment. 
%    \begin{macrocode}
\def\k@nz@n#1{\@tempdima=#1\relax
\@tempcnta=\@tempdima \@tempcntb=\unitlength
\divide\@tempcnta by \@tempcntb
\edef\kanzanchi{\the\@tempcnta}%
\divide\@tempcnta by2\relax
\edef\kanzanhalf{\the\@tempcnta}}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\reactdarrow}
%  \begin{macro}{\reactuarrow}
%  \begin{macro}{\reactveqarrow}
%  \begin{macro}{\reactduarrow}
% Vertical reaction arrows has been added. 
% \changes{v2.00}{1999/02/02}{New commands}
% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}}
%    \begin{macrocode}
\def\oldreactdarrow{\@ifnextchar[{\oldreact@darrow}{\oldreact@darrow[0pt]}}
\def\oldreact@darrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{tabular}{l}#4\end{tabular}%
{\tabcolsep=0pt
\begin{tabular}{c}\begin{sfpicture}(0,\kanzanchi)(0,0)
\Put@Direct(0,\kanzanchi){\vector(0,-1){\kanzanchi}}
\end{sfpicture}\end{tabular}}%
\begin{tabular}{l}#5\end{tabular}}}
%
\def\oldreactuarrow{\@ifnextchar[{\oldreact@uarrow}{\oldreact@uarrow[0pt]}}
\def\oldreact@uarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{tabular}{l}#4\end{tabular}%
{\tabcolsep=0pt
\begin{tabular}{c}\begin{sfpicture}(0,\kanzanchi)(0,0)
\Put@Direct(0,0){\vector(0,1){\kanzanchi}}
\end{sfpicture}\end{tabular}}%
\begin{tabular}{l}#5\end{tabular}}}
%
\def\oldreactveqarrow{\@ifnextchar[%]
{\oldreact@veqarrow}{\oldreact@veqarrow[0pt]}}
\def\oldreact@veqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{tabular}{l}#4\end{tabular}%
{\tabcolsep=0pt
\begin{tabular}{c}\begin{sfpicture}(40,\kanzanchi)(0,0)
\Put@Direct(40,0){\vector(0,1){\kanzanchi}}%
\Put@Direct(0,\kanzanchi){\vector(0,-1){\kanzanchi}}%
\end{sfpicture}\end{tabular}}%
\begin{tabular}{l}#5\end{tabular}}}
%
\def\oldreactduarrow{\@ifnextchar[{\oldreact@duarrow}{\oldreact@duarrow[0pt]}}
\def\oldreact@duarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{tabular}{l}#4\end{tabular}%
{\tabcolsep=0pt
\begin{tabular}{c}\begin{sfpicture}(0,\kanzanchi)(0,0)
\Put@Direct(0,\kanzanhalf){\vector(0,1){\kanzanhalf}}%
\Put@Direct(0,\kanzanhalf){\vector(0,-1){\kanzanhalf}}%
\end{sfpicture}\end{tabular}}%
\begin{tabular}{l}#5\end{tabular}}}
%%%%2009/11/19
%\let\reactdarrow=\oldreactdarrow
%\let\reactuarrow=\oldreactuarrow
%\let\reactveqarrow=\oldreactveqarrow
%\let\reactduarrow=\oldreactduarrow
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\reactswarrow}
%  \begin{macro}{\reactsearrow}
%  \begin{macro}{\reactnwrarrow}
%  \begin{macro}{\reactnearrow}
% Further reaction arrows have been added. 
% \changes{v2.00}{1999/02/02}{New commands}
% \changes{v2.00}{2000/06/14}{Bug Fix: exchanged sw -- se and nw --ne}
% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}}
%    \begin{macrocode}
\def\oldreactsearrow{\@ifnextchar[{\oldreact@searrow}{\oldreact@searrow[0pt]}}
\def\oldreact@searrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)
\Put@Direct(0,\kanzanchi){\vector(1,-1){\kanzanchi}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\hbox to0pt{%
\begin{tabular}[b]{l}#4\end{tabular}\hss}}
\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
\begin{tabular}[t]{r}#5\end{tabular}}}%
\end{sfpicture}}}
%
\def\oldreactnwarrow{\@ifnextchar[{\oldreact@nwarrow}{\oldreact@nwarrow[0pt]}}
\def\oldreact@nwarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)%
\Put@Direct(\kanzanchi,0){\vector(-1,1){\kanzanchi}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\hbox to0pt{%
\begin{tabular}[b]{l}#4\end{tabular}\hss}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
\begin{tabular}[t]{r}#5\end{tabular}}}%
\end{sfpicture}}}
%
\def\oldreactnearrow{\@ifnextchar[{\oldreact@nearrow}{\oldreact@nearrow[0pt]}}
\def\oldreact@nearrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)
\Put@Direct(0,0){\vector(1,1){\kanzanchi}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
\begin{tabular}[t]{l}#5\end{tabular}\hss}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\hbox to0pt{\hss
\begin{tabular}[b]{r}#4\end{tabular}}}%
\end{sfpicture}}}
%
\def\oldreactswarrow{\@ifnextchar[{\oldreact@swarrow}{\oldreact@swarrow[0pt]}}
\def\oldreact@swarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)%
\Put@Direct(\kanzanchi,\kanzanchi){\vector(-1,-1){\kanzanchi}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
\begin{tabular}[t]{l}#5\end{tabular}\hss}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\hbox to0pt{\hss
\begin{tabular}[b]{r}#4\end{tabular}}}%
\end{sfpicture}}}
%%%%%2009/11/19
%\let\reactsearrow=\oldreactsearrow
%\let\reactnwarrow=\oldreactnwarrow
%\let\reactnearrow=\oldreactnearrow
%\let\reactswarrow=\oldreactswarrow
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\reactdeqarrow}
%  \begin{macro}{\reactueqarrow}
%  \begin{macro}{\reactdlrarrow}
%  \begin{macro}{\reactulrarrow}
% Further reaction arrows have been added. 
% \changes{v2.00}{1999/02/02}{New commands}
% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}}
%    \begin{macrocode}
\def\oldreactdeqarrow{\@ifnextchar[%]
{\oldreact@deqarrow}{\oldreact@deqarrow[0pt]}}
\def\oldreact@deqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)%
\Put@Direct(0,\kanzanchi){\Put@Direct(15,15){\vector(1,-1){\kanzanchi}}}%
\Put@Direct(\kanzanchi,0){\Put@Direct(-15,-15){\vector(-1,1){\kanzanchi}}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{%
\begin{tabular}[b]{l}#4\end{tabular}\hss}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
\begin{tabular}[t]{r}#5\end{tabular}}}%
\end{sfpicture}}}
\def\oldreactueqarrow{\@ifnextchar[%]
{\oldreact@ueqarrow}{\oldreact@ueqarrow[0pt]}}
\def\oldreact@ueqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)
\Put@Direct(0,0){\Put@Direct(-15,15){\vector(1,1){\kanzanchi}}}
\Put@Direct(\kanzanchi,\kanzanchi){\Put@Direct(15,-15){\vector(-1,-1){\kanzanchi}}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
\begin{tabular}[t]{l}#5\end{tabular}\hss}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{\hss
\begin{tabular}[b]{r}#4\end{tabular}}}%
\end{sfpicture}}}
\def\oldreactulrarrow{\@ifnextchar[%]
{\oldreact@ulrarrow}{\oldreact@ulrarrow[0pt]}}
\def\oldreact@ulrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)%
\Put@Direct(\kanzanhalf,\kanzanhalf){\vector(1,1){\kanzanhalf}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\vector(-1,-1){\kanzanhalf}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
\begin{tabular}[t]{l}#5\end{tabular}\hss}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{\hss
\begin{tabular}[b]{r}#4\end{tabular}}}%
\end{sfpicture}}}
\def\oldreactdlrarrow{\@ifnextchar[%]
{\oldreact@dlrarrow}{\oldreact@dlrarrow[0pt]}}
\def\oldreact@dlrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
\def\arraystretch{0.8}%
\begin{sfpicture}(\kanzanchi,\kanzanchi)(0,0)%
\Put@Direct(\kanzanhalf,\kanzanhalf){\vector(-1,1){\kanzanhalf}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\vector(1,-1){\kanzanhalf}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\hbox to0pt{%
\begin{tabular}[b]{l}#4\end{tabular}\hss}}%
\Put@Direct(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
\begin{tabular}[t]{r}#5\end{tabular}}}%
\end{sfpicture}}}
%%%%%2009/11/19
%\let\reactdeqarrow=\oldreactdeqarrow
%\let\reactueqarrow=\oldreactueqarrow
%\let\reactulrarrow=\oldreactulrarrow
%\let\reactdlrarrow=\oldreactdlrarrow
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\schemelarrow}
%  \begin{macro}{\schemerarrow}
%  \begin{macro}{\schemelrarrow}
%
% The {\sffamily chemist} package defines double-line arrows with variable 
% length for drawing reaction schemes, where additional information 
% can be written on the upper and/or downward sides of each arrow.  
% \changes{v2.00}{1999/02/02}{Vertical spacing changed}
% \changes{v4.05}{2009/11/19}{\cs{react...} to \cs{oldreact...}}
%    \begin{macrocode}
% ********************************
% * scheme arrows                *
% * 1991 OCT 4 S. Fujita         *
% * Revised 1992 May 24 S.Fujita * 1999/02/02 by S. Fujita
% ********************************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\oldschemelarrow#1#2#3#4{\raisebox{#1}{%
    \parbox{#2}{\centering 
    \baselineskip=.8\normalbaselineskip #3 \par
    \vskip-0.2\normalbaselineskip
    \centering{\Leftarrowfill} \par
    \vskip-0.1\normalbaselineskip #4}}}
\def\oldschemerarrow#1#2#3#4{\raisebox{#1}{%
    \parbox{#2}{\centering
    \baselineskip=.8\normalbaselineskip #3 \par
    \vskip-0.2\normalbaselineskip
    \centering{\Rightarrowfill} \par
    \vskip-0.1\normalbaselineskip #4}}}
\def\oldschemelrarrow#1#2#3#4{\raisebox{#1}{%
    \parbox{#2}{\centering
    \baselineskip=.8\normalbaselineskip #3 \par
    \vskip-0.2\normalbaselineskip
    \centering{\Leftrightarrowfill} \par
    \vskip-0.1\normalbaselineskip #4}}}
%%%%2009/11/19
%\let\schemelarrow=\oldschemelarrow
%\let\schemerarrow=\oldschemerarrow
%\let\schemelrarrow=\oldschemelrarrow
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%
%  \begin{macro}{\ChemStrut}
%
% The commond \verb/\ChemStrut/ is defined to output a strut for chemical arrows. 
% For example, \verb/\reactrarrow{0pt}{1cm}{AAAA}{\ChemStrut}/ can adjust the horizontal 
% position of an arrow. 
%
% \changes{v4.05}{2009/11/08}{added \cs{ChemStrut}}
%
%    \begin{macrocode}
\def\ChemStrut{\mbox{\vphantom{A}}}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\changespace}
%
% The |\changespace| command is used to change a vertical space 
% between lines. 
%    \begin{macrocode}
% *************************
% * Changing line spacing *
% *************************
% After Chapter 3 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\changespace#1{\def\baselinestretch{#1} \@normalsize}
%    \end{macrocode}
%  \end{macro}
%
%    \begin{macrocode}
%    %%%%%%%%%%1991 November 6%%%\bslskipchange%%%%%%%%%%
% \newenvironment{bslskipchange}[1]%
% {\par\begingroup\global\baselineskip= #1\normalbaselineskip}%
% {\endgroup\par\global\baselineskip=\normalbaselineskip%
%  \global\@ignoretrue}
%    \end{macrocode}
%
% \section{Captions}
% \subsection{Changing caption types within a float}
% \changes{v1.00}{1993/06/17}{by S. Fujita}
%
%  \begin{macro}{\tbcaption}
%  \begin{macro}{\fgcaption}
%  \begin{macro}{\smcaption}
%
% These commands enable us to place two or more floats of 
% different kinds in a single floating body.  
%
% \begin{center}
% \begin{tabular}{lp{5cm}}
%   \verb/\tbcaption[TCAP]{CAP}/ &
%      makes a table caption in a float other than ``table'' or 
%      after using \verb/\fgcaption/ or \verb/\smcaption/ command. \\
%   \verb/\fgcaption[TCAP]{CAP}/ &
%      makes a figure caption in a float other than ``figure'' or 
%      after using \verb/\tbcaption/ or \verb/\smcaption/ command. \\
%   \verb/\smcaption[TCAP]{CAP}/ & 
%      makes a scheme caption in a float other than ``scheme'' or 
%      after using \verb/\tbcaption/ or \verb/\fgcaption/ command. \\
% \end{tabular}
% \end{center}
%
% For exmaple, we have 
%
% \begin{verbatim}
%   \begin{figure}
%      \caption{aaa}   % 通常のキャプション。
%      \tbcaption{bbb} % 表のキャプションの強制的に変更。
%      \fgcaption[ccc]{ddd} %図のキャプションに戻す。
%   \end{figure}
% \end{verbatim}
%
%    \begin{macrocode}
\def\tbcaption{\def\@captype{table}\caption}
\def\fgcaption{\def\@captype{figure}\caption}
\def\smcaption{\def\@captype{scheme}\caption}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\chapinitial}
%
%    \begin{macrocode}
% *****************
% * miscellaneous *
% *****************
%%%%%%%%%%%1991 November 7%%%chapinitial%%%%%%%%%%%%%
\def\chap@initial#1%
{\medbreak\begingroup\clubpenalty=10000
 \def\par{\endgraf\endgroup\medbreak} 
 \noindent\hangindent28pt\hangafter=-2
\hbox to0pt{\hskip-\hangindent 
\hbox to28pt{\hss\raise-4pt\hbox{\lower3pt\hbox{\Huge\bf #1}} }
} \hskip-5pt plus2pt minus2pt}
\outer\def\chapinitial{\chap@initial}
%    \end{macrocode}
%  \end{macro}
%
% \section{Redefinition of verbatim}
%
%  \begin{macro}{\yen}
%
% The {\sffamily chemist} package uses a customaized defintion of |\yen| for 
% printing the top symbol of each command sequence. 
%    \begin{macrocode}
% ************
% * ￥の定義 *
% ************
% % ￥ %%%%%from ascmac.sty%%%%added \leavevmode%%%%%%%%%%%%%%%%
%\def\yen{\leavevmode{\setbox0=\hbox{Y}Y\kern-.97\wd0\vbox{%
% \hrule\@height.1ex\@width.98\wd0%
% \kern.33ex\hrule\@height.1ex\@width.98\wd0\kern.45ex}}}
%
\def\yen{\leavevmode\hbox{\setbox0=\hbox{Y}%
\setbox1=\vbox{\hrule height.05\ht0 width.96\wd0%
\kern.18\ht0\hrule height.05\ht0 width.96\wd0}%
\setbox1=\hbox to\wd0{\raise.3\ht0\box1\hss}%
{\ooalign{\hfil\box1\hfil\crcr\box0}}}}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\ifverbswitch}
%  \begin{macro}{\verb}
% 
% The switch |\ifverbswitch| is used for changing |\yen| or 
% |\backslash| for the top symbol of each control sequence 
% printed by the |\verb| command. 
%
%    \begin{macrocode}
% **************************
% * ￥を含んだverbatim環境 *
% **************************
% %%%%%%1992 April 30 %%%verbatim%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % from       奥村晴彦　LaTeX美文書作成入門　1991 技術評論社    %
% %  omitted: =, by, etc.                                        %
% %  added: verbswitch                                           %
% %          \verbswitchtrue===> yen mark                        %
% %          \verbswitchfalse===> backslash mark                 %
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newif\ifverbswitch \verbswitchtrue
\let\old@verbatim\@verbatim
\let\old@xverbatim\@xverbatim
\let\old@sxverbatim\@sxverbatim
\begingroup 
  \catcode`\|=0  \catcode`\\=13 
  |gdef|verbh@@k{|catcode`|\=13 |let\=|yen}
|endgroup 
%    \end{macrocode}
%
%    \begin{macrocode}
\def\verb{\begingroup \catcode``=13 \@noligs 
 \tt \let\do\@makeother \dospecials  
 \ifverbswitch \verbh@@k \fi \@ifstar{\@sverb}{\@verb}} 
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{environment}{@verbatim}
%  \begin{environment}{verbatim}
% 
% The switch |\ifverbswitch| is also effective 
% for in a verbtim environment. 
%
%    \begin{macrocode}
\begingroup 
\catcode`|=0 \catcode`[=1 \catcode`]=2 
\catcode`\{=12 \catcode`\}=12 \catcode`\\=13 
|gdef|@xverbatim#1\end{verbatim}[#1|end[verbatim]]  
|gdef|@sxverbatim#1\end{verbatim*}[#1|end[verbatim*]]  
|endgroup 
%    \end{macrocode}
%
%    \begin{macrocode}
\newdimen\verbatimleftmargin \verbatimleftmargin\leftmargini 
\newdimen\verbatimbaselineskip \verbatimbaselineskip11pt
\def\verbatimsize{\small}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\@verbatim{\trivlist \item[]%
 \if@minipage \else \vskip\baselineskip%
 \vskip-\verbatimbaselineskip \vskip\parskip\fi
 \leftskip\@totalleftmargin 
 \if@minipage \else \advance\leftskip\verbatimleftmargin \fi
 \rightskip\z@ \parindent\z@ \parfillskip\@flushglue \parskip\z@
 \@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par}
 \obeylines \verbatimsize \baselineskip\verbatimbaselineskip \tt 
 \catcode``=13 \@noligs \let\do\@makeother \dospecials} 
%    \end{macrocode}
%
%    \begin{macrocode}
\def\verbatim{\ifverbswitch \@verbatim \else \old@verbatim \fi
\frenchspacing \@vobeyspaces 
\ifverbswitch \verbh@@k \@xverbatim \else \old@xverbatim \fi} 
\@namedef{verbatim*}{%
 \ifverbswitch \@verbatim \verbh@@k \@sxverbatim
 \else \old@verbatim \old@sxverbatim \fi}
%    \end{macrocode}
%
%    \begin{macrocode}
% %%%%%%%%%%%%%%pLaTeX2e%%%%%%%%%%%%%1996/04/20 by S. Fujita%%%%%%
% pLaTeX2eでは再定義されているので，上のままだとエラーになる
% LaTeX2.09の定義を補っておく
\def\@sverb#1{\def\@tempa ##1#1{##1\endgroup}\@tempa}
\def\@verb{\obeyspaces \frenchspacing \@sverb}
\def\@sverbtim{\obeyspaces\@verbatim}
\let\endverbatim=\endtrivlist
\@namedef{varbatim*}{\@verbatim\@sxverbatim}
\expandafter\let\csname endverbatim*\endcsname =\endtrivlist
%    \end{macrocode}
%  \end{environment}
%  \end{environment}
%
%
% \section{Shadowed Boxes}
%
%  \begin{macro}{\fb@xit}
%  \begin{macro}{\fboxit}
% 
%    \begin{macrocode}
%
% <<Base box for boxes>>
% \fb@xit{LWIDTH}{SPACE}{BWIDTH}{TEXT}
%     #1 LWIDTH:  line thickness
%     #2 SPACE:   spacing around the text
%     #3 BWIDTH:  box width 
%     #4 TEXT:    text
% 
\long\def\fb@xit#1#2#3#4{%
\setbox4=\vbox{\hsize#3\noindent#4}%
%\setbox4=\vbox{\hsize#3\noindent\strut#4\strut}%
\vbox{\hrule\@height#1\hbox{\vrule\@width#1\kern#2\vbox{%
\kern#2\box4\kern#2}\kern#1\vrule\@width#1}\hrule\@height#1}}
%\kern#2\box4\kern#2}\vrule\@width#1}\hrule\@height#1}}
%    \end{macrocode}
%
%    \begin{macrocode}
%
% \fboxit{BWIDTH}{TEXT}
%     #1 BWIDTH:  box width 
%     #2 TEXT:    text
%
\long\def\fboxit#1#2{\fb@xit{\fboxrule}{\fboxsep}{#1}{#2}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\leftshfr@me}
%  \begin{macro}{\leftshframe}
%  \begin{macro}{\leftshfbox}
% 
%    \begin{macrocode}
% % ************************************************************
% % * 影のついた箱                                             *
% % *   January 3, 1993 by Shinsaku Fujita                     *
% % *   Borde ({\em \TeX{} by Example})の記載を参考にして作った*
% % ************************************************************
% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
%
% left shadow box 
%
%    \leftshfr@me{SWIDTH}{SPACE}{BOXWIDTH}{TEXT}
%
%     #1 SWIDTH:    shadow width
%     #2 SPACE:     spacing around the text
%     #3 BOXWIDTH:  box width 
%     #4 TEXT:      text
%
%    \leftshframe{BOXWIDTH}{TEXT}
%
%     #1 BOXWIDTH:  box width 
%     #2 TEXT:      text
%
%    \leftshfbox{TEXT}
%
%     #1 TEXT:      text
%
% %%leftshfr@me#1 shadow width, #2 space, #3 boxwidth, #4 text%
\long\def\leftshfr@me#1#2#3#4{\leavevmode%
 \vbox{\hbox{\hsize #3\vbox{%
 \hbox{\vrule\@width #1%
 \vbox{\kern-#1\fb@xit{%
 \fboxrule}{#2}{#3}{#4}\kern-\fboxrule}\kern-#1}%
 \hrule\@height#1}}}\strut\hskip #1\relax} 
% %leftshframe%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%%%%
\long\def\leftshframe#1#2{%
 \leftshfr@me{\fboxsep}{\fboxsep}{#1}{#2}}
% %leftshfbox%%%%%%%%%%%%%%%%%%%%%%%%% #1 text%%%%%%%%%%%%%%%%
\long\def\leftshfbox#1{\leavevmode\setbox0=\hbox{\fbox{#1}}%
 \vbox{\hbox{\vbox{\hbox{\vrule\@width\fboxsep\vbox{%
       \kern-\fboxsep\box0\kern-\fboxrule}\kern-\fboxsep}%
 \hrule\@height\fboxsep}}}\hskip\fboxsep\relax} %%%%
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\rightshfr@me}
%  \begin{macro}{\rightshframe}
%  \begin{macro}{\rightshfbox}
% 
%    \begin{macrocode}
%
% right shadow box 
%
%    \rightshfr@me{SWIDTH}{SPACE}{BOXWIDTH}{TEXT}
%
%     #1 SWIDTH:    shadow width
%     #2 SPACE:     spacing around the text
%     #3 BOXWIDTH:  box width 
%     #4 TEXT:      text
%
%    \rightshframe{BOXWIDTH}{TEXT}
%
%     #1 BOXWIDTH:  box width 
%     #2 TEXT:      text
%
%    \rightshfbox{TEXT}
%
%     #1 TEXT:      text
%
% %rightshfr@me#1 shadow width, #2 space, #3 boxwidth, #4 text%
\long\def\rightshfr@me#1#2#3#4{\leavevmode%
 \vbox{\hbox{\kern#1\vbox{\hsize#3\vbox{\kern-#1\hbox{%
 \kern-#1\fb@xit{\fboxrule}{#2}{#3}{#4}}\hrule\@height#1}}%
 \vrule\@width#1}}\strut} 
% %rightshframe%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%%%%
\long\def\rightshframe#1#2{%
 \rightshfr@me{\fboxsep}{\fboxsep}{#1}{#2}}
% %rightshfbox%%%%%%%%%%%%%%%%%%%%%%%%% #1 text%%%%%%%%%%%%%%%%
\long\def\rightshfbox#1{\leavevmode%
 \vbox{\hbox{\kern\fboxsep\vbox{\vbox{\kern-\fboxsep\hbox{%
 \kern-\fboxsep\fbox{#1}}\hrule\@height\fboxsep}}%
 \vrule\@width\fboxsep}}} 
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{environment}{ffboxit}
%  \begin{macro}{\ffparbox}
% 
%    \begin{macrocode}
% *****************************************
% * 箱 (環境版)                           *
% *   November 2, 1991 by Shinsaku Fujita *
% *****************************************
% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
% %%%%%%1991 November 2 %%%ffboxit%%%%%%%%%%%%%%%%%%%%%%
\def\ffboxit{\par\vskip1pc\hfil\vbox\bgroup
    \hrule\hbox\bgroup\vrule\kern3pt\vbox\bgroup\kern3pt}
\def\endffboxit{\kern3pt\egroup\kern3pt\vrule\egroup\hrule\egroup
             \hfil\\}
\def\ffparbox#1#2{\vbox{\hsize=#1 \noindent\strut #2\strut}}
%    \end{macrocode}
%  \end{macro}
% \end{environment}
%
% \section{Framed box environment with and without shadows}
%
% \subsection{Framed box environment without shadows}
%
%    \begin{macrocode}
% %%%%%%1991 November 2 %%%frameboxit%%%old definition%%%%%%%%%%
%                                   with centering function
%\def\frameboxit#1{\par\vskip1pc\hfil\vbox\bgroup
%    \hrule\hbox\bgroup\vrule\kern3pt\vbox\bgroup\kern3pt 
%    \vbox\bgroup\hsize=#1 \noindent\strut
%    \@minipagetrue%
%    \everypar{\global\@minipagefalse\everypar{}}}
%\def\endframeboxit{\strut\egroup\kern3pt\egroup%
%\kern3pt\vrule\egroup
%             \hrule\egroup\hfil\\}
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% <<Base box for box environments>>
% \begin{fr@meboxit}{LWIDTH}{SPACE}{BWIDTH}
%     LWIDTH:  line thickness
%     SPACE:   spacing around the text
%     BWIDTH:  box width 
% \end{fr@meboxit}
%
% %%fr@meboxit%%%%%#1 line width, #2 space, #3 width%%%%%%%%%%%%%
%\def\fr@meboxit#1#2#3{\gdef\fr@meline{#1}\gdef\fr@mesp{#2}%
%    \hbox\bgroup\vbox\bgroup%
%    \hrule\@height#1\hbox\bgroup%
%    \vrule\@width#1\kern#2\vbox\bgroup%
%    \kern#2\vbox\bgroup\hsize=#3\strut%
%    \@minipagetrue%
%    \everypar{\global\@minipagefalse\everypar{}}}
%\def\endfr@meboxit{\strut\egroup%
%\kern\fr@mesp\egroup\kern\fr@mesp\egroup\hrule\@height\fr@meline%
%\egroup\vrule\@width\fr@meline\egroup}
%    \end{macrocode}
%
%  \begin{environment}{fr@meboxit}
%  \begin{environment}{frameboxit}
% 
%    \begin{macrocode}
% %%%%%%%revised by S. Fujita, January 16, 1993%%%%%%%%%%%%%%%%%%%%%
\long\def\fr@meboxit#1#2#3{\gdef\fr@meline{#1}\gdef\fr@mesp{#2}%
% %    \setbox4=\vbox\bgroup\hsize=#3\@parboxrestore\ignorespaces}
    \global\setbox4=\hbox\bgroup\minipage{#3}}
% %\def\endfr@meboxit{\egroup%
\def\endfr@meboxit{\endminipage\egroup%
    \hbox{\vbox{\hrule\@height\fr@meline%
    \hbox{\vrule\@width\fr@meline\kern\fr@mesp%
    \vbox{\kern\fr@meline\kern\fr@mesp\box4\kern\fr@mesp}%
% %    \vbox{\kern\fr@mesp\box4\kern\fr@mesp}%
    \kern\fr@mesp}\hrule\@height\fr@meline}%
    \vrule\@width\fr@meline}}
%    \end{macrocode}
%
%    \begin{macrocode}
% %%%%%%%revised by S. Fujita, January 16, 1993%%%%%%%%%%%%%%%%%%%%
\def\frameboxit#1{\leavevmode\fr@meboxit{\fboxrule}{\fboxsep}{#1}}
\let\endframeboxit=\endfr@meboxit
%    \end{macrocode}
% \end{environment}
% \end{environment}
%
% \subsection{Framed box environment with shadows}
%
%  \begin{environment}{lshfr@meboxit}
%  \begin{environment}{lshfboxit}
% 
%    \begin{macrocode}
% *****************************************
% * 影のついた箱 (環境版)                 *
% *   January 16, 1993 by Shinsaku Fujita *
% *   \sh@hwidth: 水平の影の太さ          *
% *   \sh@vwidth: 垂直の影の太さ          *
% *****************************************
% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
%
% <<Base box for box environments>>  See above
% \begin{fr@meboxit}{LWIDTH}{SPACE}{BWIDTH}
%     LWIDTH:  line thickness
%     SPACE:   spacing around the text
%     BWIDTH:  box width 
% \end{fr@meboxit}
%
% <<Base box environment with left shadow>>
% \begin{lshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH}
%     HSWIDTH: the thickness of the horizontal shadow
%     VSWIDTH: the thickness of the vertical shadow
%     SPACE:   spacing around the text
%     BWIDTH:  box width 
% \end{lshfr@meboxit}
%
% <<Box environment with left shadow>>
% \begin{lshfboxit}{BWIDTH}
%     BWIDTH:  box width 
% \end{lshfboxit}
%
% %%%lshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%%%%  
\def\lshfr@meboxit#1#2#3#4{\gdef\sh@hwidth{#1}\gdef\sh@vwidth{#2}%
\leavevmode%
 \vbox\bgroup\hbox\bgroup\hsize #4\vbox\bgroup%
 \hbox\bgroup\vrule\@width\sh@vwidth%
 \vbox\bgroup\kern-\sh@hwidth\fr@meboxit{\fboxrule}{#3}{#4}}
\def\endlshfr@meboxit{\endfr@meboxit%%%%\kern-\fboxrule
 \egroup\kern-\sh@vwidth\egroup%
 \hrule\@height\sh@hwidth\egroup\egroup\egroup%
 \strut\kern\sh@hwidth\relax} 
%    \end{macrocode}
%
%    \begin{macrocode}
% %%lshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width %%%%%%%%
\def\lshfboxit#1{\leavevmode%
 \lshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}}
\let\endlshfboxit=\endlshfr@meboxit
%    \end{macrocode}
% \end{environment}
% \end{environment}
%
%  \begin{environment}{rshfr@meboxit}
%  \begin{environment}{rshfboxit}
% 
%    \begin{macrocode}
% <<Base box environment with right shadow>>
% \begin{rshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH}
%     HSWIDTH: the thickness of the horizontal shadow
%     VSWIDTH: the thickness of the vertical shadow
%     SPACE:   spacing around the text
%     BWIDTH:  box width 
% \end{rshfr@meboxit}
%
% <<Box environment with right shadow>>
% \begin{rshfboxit}{BWIDTH}
%     BWIDTH:  box width 
% \end{rshfboxit}
%
% %%rshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%%%  
\def\rshfr@meboxit#1#2#3#4{%
 \gdef\sh@hwidth{#1}\gdef\sh@vwidth{#2}%
 \leavevmode%
 \vbox\bgroup\hbox\bgroup\kern\sh@vwidth%
 \vbox\bgroup\hsize#4\vbox\bgroup%
 \kern-\sh@hwidth\hbox\bgroup\kern-\sh@vwidth%
 \fr@meboxit{\fboxrule}{#3}{#4}}
\def\endrshfr@meboxit{\endfr@meboxit\egroup%
 \hrule\@height\sh@hwidth%
 \egroup\egroup\vrule\@width\sh@vwidth\egroup\egroup\strut} 
%    \end{macrocode}
%
%    \begin{macrocode}
% %%rshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width%%%%%%%%
\def\rshfboxit#1{\leavevmode%
 \rshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}}
\let\endrshfboxit=\endrshfr@meboxit
%    \end{macrocode}
% \end{environment}
% \end{environment}
%
% \subsection{Framed box environment with gradient shadows}
%
%  \begin{macro}{\hsgr@d}
%  \begin{macro}{\vsgr@d}
%  \begin{macro}{\vwgr@d}
%  \begin{macro}{\hwgr@d}
%  \begin{macro}{\vsepgr@d}
%  \begin{macro}{\hsepgr@d}
%  \begin{macro}{\nrep}
%  \begin{macro}{\nrepmax}
% 
%    \begin{macrocode}
% %%parameters%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newdimen\hsgr@d \newdimen\vsgr@d
\newdimen\vwgr@d \newdimen\hwgr@d
\newdimen\vsepgr@d \newdimen\hsepgr@d
\newcount\nrep \newcount\nrepmax
%\nrepmax=20
\nrepmax=25
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{environment}{grshfr@meboxit}
%  \begin{environment}{grshfboxit}
% 
%    \begin{macrocode}
% *****************************************
% * 斜の影のついた箱 (環境版)             *
% * Box environments with gradient shadow *
% *   January 16, 1993 by Shinsaku Fujita *
% *****************************************
% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
%
% <<Base box environment with gradient right shadow>>
% \begin{grshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH}
%     HSWIDTH: the thickness of the horizontal shadow
%     VSWIDTH: the thickness of the vertical shadow
%     SPACE:   spacing around the text
%     BWIDTH:  box width 
% \end{grshfr@meboxit}
%
% <<Box environment with gradient right shadow>>
% \begin{grshfboxit}{BWIDTH}
%     BWIDTH:  box width 
% \end{grshfboxit}
% %%%%%%%%grshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%%%
\def\grshfr@meboxit#1#2#3#4{%
 \hsgr@d=0pt \advance\hsgr@d by#1 \divide\hsgr@d by\nrepmax%
 \vsgr@d=0pt \advance\vsgr@d by#2 \divide\vsgr@d by\nrepmax%
 \leavevmode%
 \setbox0=\vbox\bgroup\fr@meboxit{\fboxrule}{#3}{#4}}
\def\brb@xit#1{\vbox{\setbox1=\hbox{#1}%
       \offinterlineskip%
  \hbox{\copy1\vsepgr@d=\nrep\vsgr@d%
       \vwgr@d=\ht1\advance\vwgr@d by-\vsepgr@d%
       \vrule\@height\vwgr@d\@width\vsgr@d}%
  \hbox{\hsepgr@d=\nrep\hsgr@d\kern\hsepgr@d%
       \vbox{\hwgr@d=\wd1\advance\hwgr@d by-\hsepgr@d%
       \hrule\@height\hsgr@d\@width\hwgr@d}}}}
\def\lprb@xit{\expandafter\setbox0=\expandafter\brb@xit{\box0}}
\def\endgrshfr@meboxit{\endfr@meboxit\egroup%
 \nrep=\@ne\@whilenum\nrep<\nrepmax\do%
 {\lprb@xit\advance\nrep\@ne}\box0\relax} 
% %%%%% in TeX grammer
%\def\endgrshfr@meboxit{\endfr@meboxit\egroup%
% \nrep=\@ne \loop \lprb@xit \advance\nrep\@ne%
% \ifnum \nrep<\nrepmax \repeat \box0\relax} 
%    \end{macrocode}
%
%    \begin{macrocode}
% %%%%%%%grshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%%%%%%%
\def\grshfboxit#1{\leavevmode%
  \grshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}}
\let\endgrshfboxit=\endgrshfr@meboxit
%    \end{macrocode}
% \end{environment}
% \end{environment}
%
%  \begin{environment}{glshfr@meboxit}
%  \begin{environment}{glshfboxit}
% 
%    \begin{macrocode}
% <<Base box environment with gradient left shadow>>
% \begin{glshfr@meboxit}{HSWIDTH}{VSWIDTH}{SPACE}{BWIDTH}
%     HSWIDTH: the thickness of the horizontal shadow
%     VSWIDTH: the thickness of the vertical shadow
%     SPACE:   spacing around the text
%     BWIDTH:  box width 
% \end{glshfr@meboxit}
%
% <<Box environment with gradient left shadow>>
% \begin{glshfboxit}{BWIDTH}
%     BWIDTH:  box width 
% \end{glshfboxit}
% %%%%%%%%glshfr@meboxit#1 #2 shadow width, #3 space, #4 boxwidth%%
\def\glshfr@meboxit#1#2#3#4{%
 \hsgr@d=0pt \advance\hsgr@d by#1 \divide\hsgr@d by\nrepmax%
 \vsgr@d=0pt \advance\vsgr@d by#2 \divide\vsgr@d by\nrepmax%
 \leavevmode%
 \setbox0=\vbox\bgroup\fr@meboxit{\fboxrule}{#3}{#4}}
\def\blb@xit#1{%
  \vbox{\setbox1=\hbox{#1}%
       \offinterlineskip%
       \vsepgr@d=\nrep\vsgr@d%
       \vwgr@d=\ht1\advance\vwgr@d by-\vsepgr@d%
       \hsepgr@d=\nrep\hsgr@d%
       \hwgr@d=\wd1\advance\hwgr@d by-\hsepgr@d%
   \hbox{\vrule\@height\vwgr@d\@width\vsgr@d\copy1}%
   \hbox{\kern-\vsgr@d%
         \vrule\@height\hsgr@d\@width\hwgr@d}}}
% %%       \hbox{\vbox{\hrule\@height\hsgr@d\@width\hwgr@d}}}}
\def\lplb@xit{\expandafter\setbox0=\expandafter\blb@xit{\box0}}
\def\endglshfr@meboxit{\endfr@meboxit\egroup%
 \nrep=\@ne\@whilenum\nrep<\nrepmax\do%
 {\lplb@xit\advance\nrep\@ne}\box0\relax} 
% %%%%% in TeX grammer
%\def\endglshfr@meboxit{\endfr@meboxit\egroup%
% \nrep=\@ne \loop \lplb@xit \advance\nrep\@ne%
% \ifnum\nrep<\nrepmax\repeat\box0\relax} 
%    \end{macrocode}
%
%    \begin{macrocode}
% %%%%%%%%glshfboxit%%%%%%%%%%%%%%%%%%%%%%%%% #1 width, #2 text%%%
\def\glshfboxit#1{\leavevmode%
 \glshfr@meboxit{\fboxsep}{\fboxsep}{\fboxsep}{#1}}
\let\endglshfboxit=\endglshfr@meboxit
%    \end{macrocode}
% \end{environment}
% \end{environment}
%
% \section{(Mini)screen environment}
% \subsection{(Mini)screen environment without a title}
%
%  \begin{macro}{\@oval}
%  \begin{macro}{\h@b@x}
%  \begin{macro}{\@vrf@}
%  \changes{v2.00}{2000/06/15}{ybaselineshift etc.}
%
%    \begin{macrocode}
\@ifundefined{ybaselineshift}{%
\newdimen\ybaselineshift \ybaselineshift=\z@}{}
\@ifundefined{tbaselineshift}{%
\newdimen\tbaselineshift \tbaselineshift=\z@}{}
\newdimen\@savetbaselineshift \@savetbaselineshift=\z@
\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
  \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
  \@tfor\@tempa :=#3\do{\csname @ov\@tempa false\endcsname}\@ovxx
  #1\unitlength \@ovyy #2\unitlength
  \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
  \advance\@tempdimb -2pt\relax
  \@getcirc \@tempdimb
  \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
  \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
  \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
  \@circlefnt \setbox\@tempboxa
  \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
  \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
  \if@ovt \@ovhorz \kern -\@ovxx \fi
  \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
  \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
  \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
  \endgroup}
\def\h@b@x#1#2#3{\hbox to\dimen1%
 {\@oval(#3,#3)[#1]\hfil\@oval(#3,#3)[#2]}}
\def\@vrf@#1#2{\vskip#1\leaders\vrule\@width#2\vfil\vskip#1}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{environment}{miniscreen}
%  \begin{environment}{screen}
%  \changes{v2.00}{2000/06/15}{ybaselineshift etc.}
%  \changes{v4.01c}{2004/12/03}{To be compatible with multicol.sty: dimen2 into dimen6}
%
% 
%    \begin{macrocode}
% ******************
% * miniscreen環境 *
% ******************
%
% ASCII版Micro\TeXのscreen環境を枠の幅を指定できるように改変
%
%   ifcase文 ==> 直接計算
%   dimen類  ==> dimen0 to dimen5
%   box類    ==> box0 and box1
%
% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
% miniscreen environment
%
\let\miniscreentoprule=\hrule
\def\miniscreen{\@ifnextchar[{\@miniscreen}{\@miniscreen[0]}}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\miniscreen{\@ifnextchar[{\@miniscreen}{\@miniscreen[0]}}
\def\@miniscreen[#1]#2{\dimen1=#2\relax%
\@savetbaselineshift\tbaselineshift \tbaselineshift\z@
\@tempcnta=-2 \multiply\@tempcnta by#1\relax%
\advance\@tempcnta by 20\relax \dimen5=1pt
\multiply\dimen5\@tempcnta
\dimen4=-1pt \multiply\dimen4 by#1\relax
\advance\dimen4 by 10pt
\dimen3=\dimen4 \advance\dimen3 by -.2pt
\par\vspace{.3\baselineskip}%
\dimen6=\dimen1 \advance\dimen6 by .1pt
\advance\dimen1 -\dimen5\relax%
\setbox0=\hbox\bgroup\minipage{\dimen1 
\tbaselineshift\@savetbaselineshift}}%
%    \end{macrocode}
%
%    \begin{macrocode}
\def\endminiscreen{\endminipage\egroup%
\setbox1=\hbox to\dimen6{\hfil\vbox{\offinterlineskip%
\thinlines\unitlength=1pt
\miniscreentoprule%\hrule
\kern\dimen3%
\h@b@x{tl}{tr}{\@tempcnta}%
\kern-\dimen4\box0\h@b@x{bl}{br}{\@tempcnta}%
\kern-.4pt\hrule}\hfil}\dimen0=\ht1\noindent%
\hbox to\dimen6{\hbox to.4pt{%
\vbox to\dimen0{\@vrf@{\dimen4}{.4pt}}\hss}%
\box1\hbox to.2pt{%
 \hss\vbox to\dimen0{\@vrf@{\dimen4}{.4pt}}}\hss}}%
% %%%%%%alternative
%\def\miniscreen{\@ifnextchar[{\@miniscreen}{\@miniscreen[0]}}
%\def\@miniscreen[#1]#2{\noindent\minipage{#2}\@screen[#1]}
%\def\endminiscreen{\endscreen\endminipage}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\screen{\@ifnextchar[{\@screen}{\@miniscreen[0]{\linewidth}}}
\def\@screen[#1]{\miniscreen[#1]{\linewidth}}
\let\endscreen=\endminiscreen
%    \end{macrocode}
% \end{environment}
% \end{environment}
%
% \subsection{(Mini)screen environment with a title}
%
%  \begin{macro}{\tboxscreentoprule}
%  \begin{macro}{\tboxtitle}
%
%    \begin{macrocode}
\def\tboxscreentoprule{%
\hbox to\wd0{\smash{\lower.4ex\hbox{%
\fboxsep=2pt \fbox{\small \tboxtitle}}}\hrulefill}}
\def\tboxtitle{\bf Memorandum}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{environment}{\tboxminiscreen}
%  \begin{environment}{\tboxscreen}
% 
%    \begin{macrocode}
% ******************
% * tboxscreen環境 *
% ******************
% 1996/06/04 by Shinsaku Fujita
%
\def\tboxminiscreen{\@ifnextchar[{\vskip8pt
 \let\miniscreentoprule=\tboxscreentoprule%
 \@miniscreen}{\vskip8pt
 \let\miniscreentoprule=\tboxscreentoprule%
 \@miniscreen[0]}}
\let\endtboxminiscreen=\endminiscreen
%    \end{macrocode}
%
%    \begin{macrocode}
\def\tboxscreen{\@ifnextchar[{\@tboxscreen}%
{\@tboxscreen[0]}}
\def\@tboxscreen[#1]{\tboxminiscreen[#1]{\linewidth}}
\let\endtboxscreen=\endtboxminiscreen
%    \end{macrocode}
% \end{environment}
% \end{environment}
%
% \section{Further boxes}
%
%  \begin{macro}{\sboxit}
%
%    \begin{macrocode}
% ******************************
% * \sboxit 左右の余裕のない箱 *
% ******************************
% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\sboxit#1#2{\vbox{\hrule\hbox%
{\vrule\vbox{\kern3pt\vbox{\hsize #1 \noindent #2}%
\kern3pt}\vrule}\hrule}}
%    \end{macrocode}
%  \end{macro}
%
% \section{Boxes with no height or no width} 
%
%  \begin{macro}{\bury}
%  \begin{macro}{\pushtowall}
%
%    \begin{macrocode}
% ***********************
% * bury and pushtowall *
% ***********************
% After Chapter 7 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
%
%  \bury[下げ幅]{内容}
%    下げ幅のデフォルト値は，\normalbaselineksipの半分
%
%  (旧) \def\bury#1{\smash{\lower.5\normalbaselineskip\hbox{#1}}}
%       これは，「化学と生化学のためのLaTeX」に載せた定義です．
%       以下の定義は，下げ幅をオプション引数として取るように
%       拡張したものです．
%
\def\bury{\@ifnextchar [{\@bury}{\@bury[.5\normalbaselineskip]}}
\def\@bury[#1]#2{\smash{\lower#1\hbox{#2}}}
%
%  \pushtowall{内容}
%    水平方向の押し付ける命令 (\smashの水平方向版)
%
\def\finpushw@ll{\wd0=0pt \box0}
\def\makepushw@ll#1{\setbox0=\hbox{#1}\finpushw@ll}
\def\mathpushw@ll#1#2{\setbox0=\hbox{$\m@th#1{#2}$}\finpushw@ll}
\def\pushtowall{\relax \leavevmode
 \ifmmode\def\next{\mathpalette\mathpushw@ll}
 \else\let\next\makepushw@ll \fi \next}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\penetrate}
%
%    \begin{macrocode}
%   \penetrate{DIM}{OBJ}
%   幅無し<OBJ>を、印字位置はそのままにして、<DIM>だけ移動させる。この時
%   引き続く文字の印字位置は<OBJ>がなかったとした時の位置になる。
%   (\bury命令の水平方向版)
%
%   (比較)
%     aaa  bbb  \penetrate{-50pt}{ccc} ddd eee fff \\
%     aaa  bbb  \hspace{-50pt} ccc ddd eee fff \\
%
\def\penetrate#1#2{\pushtowall{\hbox{\hskip#1\hbox{#2}}}}
%    \end{macrocode}
%  \end{macro}
%
% \section{Symbols for instant photography} 
%
%  \begin{macro}{\cyandye}%%orig. |\cyan| 2010/10/01
%  \begin{macro}{\magentadye}%%orig. |\magenta| 2010/10/01
%  \begin{macro}{\yellowdye}%%orig. |\yellow| 2010/10/01
%  \begin{macro}{\cyandv}
%  \begin{macro}{\magentadv}
%  \begin{macro}{\yellowdv}
%  \begin{macro}{\agxlatent}
%  \begin{macro}{\agxdv}
%  \begin{macro}{\agx}
%
%    \begin{macrocode}
% ***********************
% * instant photography *
% ***********************
% After Chapter 7 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\cyandye{\mbox{$\bigcirc$\kern-.06em{--}\kern-.06em
 \ooalign{\hfil
 \raise.05ex\hbox{\scriptsize C}\hfil\cr\cr$\bigcirc$}\,}}
\def\magentadye{\mbox{$\bigcirc$\kern-.06em{--}\kern-.06em
 \ooalign{\hfil
 \raise.05ex\hbox{\scriptsize M}\hfil\cr\cr$\bigcirc$}\,}}
\def\yellowdye{\mbox{$\bigcirc$\kern-.06em{--}\kern-.06em
 \ooalign{\hfil
 \raise.05ex\hbox{\scriptsize Y}\hfil\cr\cr$\bigcirc$}\,}}
\def\cyandv{\mbox{$\bigotimes$\kern-.06em{--}\kern-.06em
 \ooalign{\hfil
 \raise.05ex\hbox{\scriptsize C}\hfil\cr\cr$\bigcirc$}\,}}
\def\magentadv{\mbox{$\bigotimes$\kern-.06em{--}\kern-.06em
 \ooalign{\hfil
 \raise.05ex\hbox{\scriptsize M}\hfil\cr\cr$\bigcirc$}\,}}
\def\yellowdv{\mbox{$\bigotimes$\kern-.06em{--}\kern-.06em
 \ooalign{\hfil
 \raise.05ex\hbox{\scriptsize Y}\hfil\cr\cr$\bigcirc$}\,}}
\def\agxlatent{%
 \mbox{\ooalign{%
 \hfil\raise.07ex\hbox{\footnotesize $\bullet$}\hfil\cr\cr
 $\triangle$}\,}} 
\def\agxdv{%
 \mbox{\ooalign{\hfil\raise.07ex\hbox{%
 \small $\spadesuit$}\hfil\cr\cr
 $\triangle$}\,}} 
\def\agx{\mbox{$\triangle$}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Various arrows with fixed length}
% 
%  \begin{macro}{\llongrightarrow}
%  \begin{macro}{\llongleftarrow}
%  \begin{macro}{\llongleftrightarrow}
%  \begin{macro}{\Equilibarrow}
%  \begin{macro}{\Llongrightarrow}
%  \begin{macro}{\Llongleftarrow}
%  \begin{macro}{\Llongleftrightarrow}
%
%    \begin{macrocode}
% ***********************
% * various long arrows *
% ***********************
% After Chapter 18 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\oldllongrightarrow{%%%--->
\relbar\joinrel\relbar\joinrel\relbar\joinrel\rightarrow}
\def\oldllongleftarrow{%%%<---
 \leftarrow\joinrel\relbar\joinrel\relbar\joinrel\relbar}
\def\oldllongleftrightarrow{%%%<--->
 \leftarrow\joinrel\relbar\joinrel\relbar\joinrel\rightarrow}
%\def\oldEquilibarrow{%%%<--- and --->
% \mathrel{\ooalign{\raise.35ex\hbox{$\llongrightarrow$}\crcr
% \lower.35ex\hbox{$\llongleftarrow$}}}}
\def\oldEquilibarrow{%%%<--- and --->
 \mathrel{\ooalign{\raise.35ex\hbox{$\oldllongrightarrow$}\crcr
 \lower.35ex\hbox{$\oldllongleftarrow$}}}}
\def\oldLlongrightarrow{%%%===>
 \Relbar\joinrel\Relbar\joinrel\Relbar\joinrel\Rightarrow}
\def\oldLlongleftarrow{%%%<===
 \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel\Relbar}
\def\oldLlongleftrightarrow{%%<===>
 \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel\Rightarrow}
%%%%%2009/11/19 old...
%\let\llongrightarrow=\oldllongrightarrow%%%--->
%\let\llongleftarrow=\oldllongleftarrow%%%<---
%\let\llongleftrightarrow=\oldllongleftrightarrow%%%<--->
%\let\Equilibarrow=\oldEquilibarrow%%%<--- and --->
%\let\Llongrightarrow=\oldLlongrightarrow%%%===>
%\let\Llongleftarrow=\oldLlongleftarrow%%%<===
%\let\Llongleftrightarrow=\oldLlongleftrightarrow%%<===>
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\llongleftharpoondown}
%  \begin{macro}{\llongrightharpoonup}
%  \begin{macro}{\equilibarrow}
% \changes{v5.01}{2013/06/06}{bug fix. \cs{mathrel} added}
%
%    \begin{macrocode}
\def\oldllongleftharpoondown{%%% /---
 \mathrel{\leftharpoondown}\joinrel\relbar\joinrel\relbar\joinrel\relbar}
\def\oldllongrightharpoonup{%%%---/
 \relbar\joinrel\relbar\joinrel\relbar\joinrel\mathrel{\rightharpoonup}}
\def\oldequilibarrow{%%% /--- and ---/
 \mathrel{\ooalign{%
 \raise.3ex\hbox{$\oldllongrightharpoonup$}\crcr
 \lower.3ex\hbox{$\oldllongleftharpoondown$}}}}
%%%%%2009/11/19
%\let\llongleftharpoondown=\oldllongleftharpoondown%%% /---
%\let\llongrightharpoonup=\oldllongrightharpoonup%%%---/
%\let\equilibarrow=\oldequilibarrow%%% /--- and ---/
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\eqproton}
%
%    \begin{macrocode}
% *******************************
% * 平衡の両側矢印の上にH+を書く*
% *******************************
\def\eqproton{\stackrel{{\rm \displaystyle H}^{+}}{\Equilibarrow}} 
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\lllongrightarrow}
%  \begin{macro}{\lllongleftarrow}
%  \begin{macro}{\lllongleftrightarrow}
%  \begin{macro}{\Equiliblongarrow}
%  \begin{macro}{\Lllongrightarrow}
%  \begin{macro}{\Lllongleftarrow}
%  \begin{macro}{\Lllongleftrightarrow}
%
%    \begin{macrocode}
% ****************
% * 長い長い矢印 *
% ****************
\def\oldlllongrightarrow{\relbar\joinrel\relbar%
 \joinrel\relbar\joinrel\relbar\joinrel\rightarrow}
\def\oldlllongleftarrow{%%%<-------
 \leftarrow\joinrel\relbar\joinrel\relbar%
 \joinrel\relbar\joinrel\relbar}
\def\oldlllongleftrightarrow{%%%<------->
 \leftarrow\joinrel\relbar\joinrel\relbar%
 \joinrel\relbar\joinrel\rightarrow}
\def\oldEquiliblongarrow{%%%<------- and ------->
 \mathrel{\ooalign{\raise.35ex\hbox{$\oldlllongrightarrow$}\crcr
 \lower.35ex\hbox{$\oldlllongleftarrow$}}}}
\def\oldLllongrightarrow{%%%=======>
 \Relbar\joinrel\Relbar\joinrel\Relbar\joinrel%
 \Relbar\joinrel\Rightarrow}
\def\oldLllongleftarrow{%%%<=======
 \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel%
 \Relbar\joinrel\Relbar}
\def\oldLllongleftrightarrow{%%<=======>
 \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel%
 \Relbar\joinrel\Rightarrow}
%%%%2009/11/19
%\let\lllongrightarrow=\oldlllongrightarrow%%%%------>
%\let\lllongleftarrow=\oldlllongleftarrow%%%<-------
%\let\lllongleftrightarrow=\oldlllongleftrightarrow%%%<------->
%\let\Equiliblongarrow=\oldEquiliblongarrow%%%<------- and ------->
%\let\Lllongrightarrow=\oldLllongrightarrow%%%=======>
%\let\Lllongleftarrow=\oldLllongleftarrow%%%<=======
%\let\Lllongleftrightarrow=\oldLllongleftrightarrow%%<=======>
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\lllongleftharpoondown}
%  \begin{macro}{\lllongrightharpoonup}
%  \begin{macro}{\equiliblongarrow}
%  \begin{macro}{\deHBr}
% \changes{v5.01}{2013/06/06}{bug fix. \cs{mathrel} added}
%
%    \begin{macrocode}
\def\oldlllongleftharpoondown{%%% /-------
 \mathrel{\leftharpoondown}\joinrel\relbar\joinrel\relbar%
 \joinrel\relbar\joinrel\relbar}
\def\oldlllongrightharpoonup{%%%-------/
 \relbar\joinrel\relbar\joinrel\relbar\joinrel%
 \relbar\joinrel\mathrel{\rightharpoonup}}
\def\oldequiliblongarrow{%%% /------ and ------/
 \mathrel{\ooalign{%
 \raise.3ex\hbox{$\oldlllongrightharpoonup$}\crcr
 \lower.3ex\hbox{$\oldlllongleftharpoondown$}}}}
%%%%%%%%2009/11/19
%\let\lllongleftharpoondown=\oldlllongleftharpoondown%%% /-------
%\let\lllongrightharpoonup=\oldlllongrightharpoonup%%%-------/
%\let\equiliblongarrow=\oldequiliblongarrow%%% /------ and ------/
% %%%%%
\def\deHBr{\stackrel{\displaystyle \rm -HBr}%
{\stackrel{\displaystyle \lllongrightarrow}{\rm E2}}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Chemical Corrections}
%
% \subsection{Correction commands}
%
%  \begin{macro}{\chemcorr}
%  \begin{macro}{\leavechemcorr}
%
%  \changes{v2.00a}{2000/11/03}{chemcorr 3.0pt into 3.5pt}
%  \changes{v4.055}{2009/11/19}{chemcorr 3.5pt into 3.05pt}
%    \begin{macrocode}
% ********************
% * chemform command *
% ********************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\chemcorr{%
 \fontdimen16\textfont2=3.05pt
 \fontdimen17\textfont2=3.05pt
 %\fontdimen14\textfont2=3.8pt
}
\def\leavechemcorr{%
 \fontdimen16\textfont2=1.49998pt
 \fontdimen17\textfont2=2.47217pt
 %\fontdimen14\textfont2=3.62892pt
}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
% \subsection{Chem Version}
%
% The `chem' for mathversion is introduced to describe chemical equations. 
% The `boldchem' for mathversion is introduced to describe 
% boldfaced chemical equations. 
%
%  \changes{v3.00}{2002/05/30}{Added the correction for commas and periods.}
%  \changes{v3.00}{2002/05/30}{Added the correction for Greek letters.}
%  \changes{v3.00}{2002/05/30}{Redefinition of \cs{mathversion}.}
%  \changes{v3.00}{2002/05/30}{New mathversion: boldchem}
%  \changes{v4.05}{2009/10/25}{Bugfix for chem and boldchem}
%  \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package}
%
%  \begin{macro}{\ifnewl@tex}
%
%    \begin{macrocode}
\newif\ifnewl@tex \newl@textrue
\@ifundefined{DeclareMathVersion}%
 {\global\newl@texfalse}{\global\newl@textrue}%
%    \end{macrocode}
%  \end{macro}
%
%  Old commands are stored temporarily. 
%    \begin{macrocode}
\if@chemtimes\else%for chemtimes package
\def\math@chem{chem}
\def\math@boldchem{boldchem}
\def\math@bold{bold}
\def\math@normal{normal}
%%added 2005/09/02
\let\oldalpha=\alpha
\let\oldbeta=\beta
\let\oldgamma=\gamma
\let\olddelta=\delta
\let\oldepsilon=\epsilon
\let\oldzeta=\zeta
\let\oldeta=\eta
\let\oldtheta=\theta
\let\oldiota=\iota
\let\oldkappa=\kappa
\let\oldlambda=\lambda
\let\oldmu=\mu
\let\oldnu=\nu
\let\oldxi=\xi
\let\oldpi=\pi
\let\oldrho=\rho
\let\oldsigma=\sigma
\let\oldtau=\tau
\let\oldupsilon=\upsilon
\let\oldphi=\phi
\let\oldchi=\chi
\let\oldpsi=\psi
\let\oldomega=\omega
\let\oldvarepsilon=\varepsilon
\let\oldvartheta=\vartheta
\let\oldvarpi=\varpi
\let\oldvarrho=\varrho
\let\oldvarsigma=\varsigma
\let\oldvarphi=\varphi
\let\oldGamma=\Gamma
\let\oldDelta=\Delta
\let\oldTheta=\Theta
\let\oldLamda=\Lambda
\let\oldXi=\Xi
\let\oldPi=\Pi
\let\oldSigma=\Sigma
\let\oldUpsilon=\Upsilon
\let\oldPhi=\Phi
\let\oldPsi=\Psi
\let\oldOmega=\Omega
\fi
%    \end{macrocode}
%
%  \begin{macro}{\chemGreekletter}
%
%  \changes{v3.01}{2004/11/17}{Redefined: \cs{chemGreekletter}}
%  \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package}
%  \changes{v5.00a}{2010/11/21}{bug fix: \cs{bgroup} and \cs{egroup} added}
%    \begin{macrocode}
\if@chemtimes\else%for chemtimes package
\def\chemGreekletter#1#2{%
\expandafter\def\csname #1\endcsname{\bgroup%added 2010/11/21
\ifx\math@version\math@chem
\mathord{\hbox{\mathversion{normal}$\mathchar"#2$}}\else
\ifx\math@version\math@boldchem
\mathord{\hbox{\mathversion{bold}$\mathchar"#2$}}\else
\ifx\math@version\math@bold
\csname old#1\endcsname
%\mathord{\hbox{\mathversion{bold}$\mathchar"#2$}}%changed 2005/09/02
\else
\csname old#1\endcsname
%\mathord{\hbox{\mathversion{normal}$\mathchar"#2$}}%changed 2005/09/02
\fi\fi\fi\egroup}}%added 2010/11/21
\fi
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\chemUpGreekletter}
%
%  \changes{v4.05}{2009/10/25}{Defined: \cs{chemUpGreekletter}}
%  \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package}
%  \changes{v5.00a}{2010/11/21}{bug fix: \cs{bgroup} and \cs{egroup} added}
%    \begin{macrocode}
%%%\if@chemtimes\else%for chemtimes package
\newif\ifupgreekrm \upgreekrmfalse
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\upgreekrmtrue\mathrm}
%%%\fi
\if@chemtimes\else\relax%for chemtimes package
\def\chemUpGreekletter#1#2#3{%
\expandafter\def\csname #1\endcsname{\bgroup%added 2010/11/21 by SF
\ensuremath{%
\ifx\math@version\math@chem
#2{\hbox{\usefont{OML}{cmm}{m}{it}\char"#3}}\else
\ifx\math@version\math@boldchem
#2{\hbox{\usefont{OML}{cmm}{b}{it}\char"#3}}\else
\ifx\math@version\math@bold
\ifupgreekrm
#2{\hbox{\usefont{OML}{cmm}{b}{it}\char"#3}}%
\upgreekrmfalse
\else
#2{\hbox{\usefont{OML}{cmm}{b}{it}\char"#3}}%
\fi
\else 
#2{\hbox{\usefont{OML}{cmm}{m}{it}\char"#3}}%
\fi\fi\fi}\egroup}}%added 2010/11/21 by SF
\fi
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\ChemAccent}
%
%  \changes{v4.05}{2009/10/25}{Defined: \cs{ChemAccent}}
%  \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package}
%    \begin{macrocode}
\if@chemtimes\else%for chemtimes package
\def\ChemAccent#1#2#3{%
\expandafter\def\csname #1\endcsname{%
\ifx\math@version\math@chem
#2{\hbox{\kern-0.15em\usefont{OML}{cmm}{m}{it}\char"#3}}\else
\ifx\math@version\math@boldchem
#2{\hbox{\kern-0.2em\usefont{OML}{cmm}{b}{it}\char"#3}}\else
\ifx\math@version\math@bold
\ifupgreekrm
#2{\hbox{\usefont{OML}{cmm}{b}{it}\char"#3}}%
\upgreekrmfalse
\else
#2{\hbox{\usefont{OML}{cmm}{b}{it}\char"#3}}%
\fi
\else
#2{\hbox{\usefont{OML}{cmm}{m}{it}\char"#3}}%
\fi\fi\fi}}
\fi
%    \end{macrocode}
%  \end{macro}
%
%
%  \begin{macro}{\SetChemSymbol}
%
%  \changes{v3.01}{2004/11/17}{New command: \cs{SetChemSymbol}}
%  \changes{v4.05}{2009/10/25}{Added due to \cs{chemUpGreekletter}}
%  \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package}
%
%    \begin{macrocode}
\if@chemtimes\else%for chemtimes package
\def\SetChemSymbol{%
\chemGreekletter{alpha}{010B}%
\chemGreekletter{beta}{010C}%
\chemGreekletter{gamma}{010D}%
\chemGreekletter{delta}{010E}%
\chemGreekletter{epsilon}{010F}%
\chemGreekletter{zeta}{0110}%
\chemGreekletter{eta}{0111}%
\chemGreekletter{theta}{0112}%
\chemGreekletter{iota}{0113}%
\chemGreekletter{kappa}{0114}%
\chemGreekletter{lambda}{0115}%
\chemGreekletter{mu}{0116}%
\chemGreekletter{nu}{0117}%
\chemGreekletter{xi}{0118}%
\chemGreekletter{pi}{0119}%
\chemGreekletter{rho}{011A}%
\chemGreekletter{sigma}{011B}%
\chemGreekletter{tau}{011C}%
\chemGreekletter{upsilon}{011D}%
\chemGreekletter{phi}{011E}%
\chemGreekletter{chi}{011F}%
\chemGreekletter{psi}{0120}%
\chemGreekletter{omega}{0121}%
\chemGreekletter{varepsilon}{0122}%
\chemGreekletter{vartheta}{0123}%
\chemGreekletter{varpi}{0124}%
\chemGreekletter{varrho}{0125}%
\chemGreekletter{varsigma}{0126}%
\chemGreekletter{varphi}{0127}%
%
%\chemGreekletter{Gamma}{7000}%
%\chemGreekletter{Delta}{7001}%
%\chemGreekletter{Theta}{7002}%
%\chemGreekletter{Lambda}{7003}%
%\chemGreekletter{Xi}{7004}%
%\chemGreekletter{Pi}{7005}%
%\chemGreekletter{Sigma}{7006}%
%\chemGreekletter{Upsilon}{7007}%
%\chemGreekletter{Phi}{7008}%
%\chemGreekletter{Psi}{7009}%
%\chemGreekletter{Omega}{700A}%
%
% for uppercase Greek letters and some fonts
% (cmmi medium or bold) 2009/10/25
\chemUpGreekletter{Gamma}{\mathord}{00}%
\chemUpGreekletter{Delta}{\mathord}{01}%
\chemUpGreekletter{Theta}{\mathord}{02}%
\chemUpGreekletter{Lambda}{\mathord}{03}%
\chemUpGreekletter{Xi}{\mathord}{04}%
\chemUpGreekletter{Pi}{\mathord}{05}%
\chemUpGreekletter{Sigma}{\mathord}{06}%
\chemUpGreekletter{Upsilon}{\mathord}{07}%
\chemUpGreekletter{Phi}{\mathord}{08}%
\chemUpGreekletter{Psi}{\mathord}{09}%
\chemUpGreekletter{Omega}{\mathord}{0A}%
\chemUpGreekletter{imath}{\mathord}{7B}%
\chemUpGreekletter{jmath}{\mathord}{7C}%
\chemUpGreekletter{mathless}{\mathrel}{3C}%in place of <
\chemUpGreekletter{mathgreater}{\mathrel}{3E}% in place of > 
\chemUpGreekletter{leftharpoonup}{\mathrel}{28}%
\chemUpGreekletter{leftharpoondown}{\mathrel}{29}%
\chemUpGreekletter{rightharpoonup}{\mathrel}{2A}%
\chemUpGreekletter{rightharpoondown}{\mathrel}{2B}%
\chemUpGreekletter{ell}{\mathord}{60}%
\chemUpGreekletter{wp}{\mathord}{7D}%
\chemUpGreekletter{partial}{\mathord}{40}%
\chemUpGreekletter{flat}{\mathord}{5B}%
\chemUpGreekletter{natural}{\mathord}{5C}%
\chemUpGreekletter{sharp}{\mathord}{5D}%
\chemUpGreekletter{triangleleft}{\mathbin}{2F}%
\chemUpGreekletter{triangleright}{\mathbin}{2E}%
\chemUpGreekletter{smile}{\mathrel}{5E}%
\chemUpGreekletter{frown}{\mathrel}{5F}%
\chemUpGreekletter{star}{\mathbin}{3F}%
\ChemAccent{vec}{\rlap}{7E}%
}
\fi
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\mathversion}
%
%  \changes{v3.00}{2002/5/30}{Redefined: \cs{mathversion}}
%  \changes{v3.01}{2004/11/17}{Redefined: \cs{mathversion}}
%  \changes{v4.05}{2009/10/25}{Setting added for bugfix}
%  \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package}
%
%    \begin{macrocode}
\if@chemtimes\else%for chemtimes package
\DeclareRobustCommand\mathversion[1]
         {\@nomath\mathversion
          \expandafter\ifx\csname mv@#1\endcsname\relax
          \@latex@error{Math version `#1' is not defined}\@eha\else
          \edef\math@version{#1}%
          \gdef\glb@currsize{}%
%%%%%%2002/5/30, 2004/11/17, and 2009/10/25
\ifx\math@version\math@chem
 \mathcode`\.="012E
 \mathcode`\,="612C
 \mathcode`\/="012F
 \mathcode`\=="313D
 \mathcode`\?="513F
 \mathcode`\[="415B
 \mathcode`\]="515D
 \mathcode`\(="4128
 \mathcode`\)="5129
% \mathcode`\+="212B
 \SetChemSymbol
\else\ifx\math@version\math@boldchem
 \mathcode`\.="012E
 \mathcode`\,="612C
 \mathcode`\/="012F
 \mathcode`\=="313D
 \mathcode`\?="513F
 \mathcode`\[="415B
 \mathcode`\]="515D
 \mathcode`\(="4128
 \mathcode`\)="5129
% \mathcode`\+="212B
 \def\check{\mathaccent"7114 }
 \def\dot{\mathaccent"715F }
 \def\acute{\mathaccent"7113 }
 \def\grave{\mathaccent"7112 }
 \def\ddot{\mathaccent"717F }
 \def\bar{\mathaccent"7116 }
 \def\breve{\mathaccent"7115 }
 \SetChemSymbol
\else\ifx\math@version\math@bold
 \mathcode`\.="013A
 \mathcode`\,="613B
 \mathcode`\/="013D
 \mathcode`\=="303D
 \mathcode`\?="503F
 \mathcode`\[="405B
 \mathcode`\]="505D
 \mathcode`\(="4028
 \mathcode`\)="5029
% \mathcode`\+="202B
 \SetChemSymbol%
\else
 \mathcode`\.="013A
 \mathcode`\,="613B
 \mathcode`\/="013D
 \mathcode`\=="303D
 \mathcode`\?="503F
 \mathcode`\[="405B
 \mathcode`\]="505D
 \mathcode`\(="4028
 \mathcode`\)="5029
% \mathcode`\+="202B
 \SetChemSymbol%
\fi\fi\fi
%%%%%%
          \aftergroup\glb@settings
          \fi}
\fi
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\SetSymbolFont}
%
%  \changes{v3.01}{2004/11/17}{Fonts for mathverion{chem}.}
%  \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package}
%
%    \begin{macrocode}
\if@chemtimes\else%for chemtimes package
\ifnewl@tex
\@ifundefined{mv@chem}{\DeclareMathVersion{chem}%
\SetSymbolFont{letters}{chem}{OT1}{cmr}{m}{n}%OT1-->T1-->OT1
\SetSymbolFont{operators}{chem}{OT1}{cmr} {m}{n}%
\SetSymbolFont{symbols}  {chem}{OMS}{cmsy}{m}{n}%
\DeclareMathVersion{boldchem}%2002/5/30
\SetSymbolFont{operators}{boldchem}{OT1}{cmr} {bx}{n}%
\SetSymbolFont{letters}  {boldchem}{OT1}{cmr} {b}{n}%
\SetSymbolFont{symbols}  {boldchem}{OMS}{cmsy}{b}{n}%
}{}
\fi
\fi
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\mathnormal}
%
% The macro \verb/\mathnormal/ for outputting numbers of old style 
% has been redefined to meet ``boldchem''. 
%
%  \changes{v4.05}{2009/10/25}{Redefined for oldsytle fonts}
%  \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package}
%
%    \begin{macrocode}
\if@chemtimes\else%for chemtimes package
\let\oldmathnormal=\mathnormal
\def\mathnormal#1{%
\ifx\math@version\math@chem
%\mathgroup\@ne
\mathord{\hbox{\usefont{OML}{cmm}{m}{it}#1}}%
\else\ifx\math@version\math@boldchem
%\mathgroup\@ne
\mathord{\hbox{\usefont{OML}{cmm}{b}{it}#1}}%
\else\ifx\math@version\math@bold
\ifupgreekrm
\oldmathnormal{#1}%
\upgreekrmfalse
\else
\oldmathnormal{#1}%
\fi
\else
\oldmathnormal{#1}%
%\mathgroup\@ne\usefont{OML}{cmm}{m}{it}%
\fi\fi\fi}%
\fi
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\oldstyle}
%
% The command \verb/\oldstyle/ should be used in the form of \verb/{\oldstyle ...}/ 
% in a math mode. 
%
%  \changes{v4.05}{2009/10/25}{Redefined for oldsytle fonts}
%  \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package}
%
%    \begin{macrocode}
\if@chemtimes\else%for chemtimes package
\def\oldstyle{\egroup%
\ifx\math@version\math@chem
\hbox\bgroup\usefont{OML}{cmm}{m}{it}%
\else\ifx\math@version\math@boldchem
\hbox\bgroup\usefont{OML}{cmm}{b}{it}%
\else\ifx\math@version\math@bold
\ifupgreekrm
\oldmathnormal\bgroup%
\upgreekrmfalse
\else
\oldmathnormal\bgroup%
\fi
\else
\oldmathnormal\bgroup%
\fi\fi\fi}%
\fi
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\mathcal}
%
% The macro \verb/\mathcal/ for outputting calligraphic letters 
% has been redefined to meet ``boldchem''. 
%
%  \changes{v4.05}{2009/10/25}{Redefined for calligraphic letters}
%  \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package}
%
%    \begin{macrocode}
\if@chemtimes\else%for chemtimes package
\let\oldmathcal=\mathcal
\def\mathcal#1{%
\ifx\math@version\math@chem
\mathgroup\tw@{\usefont{OMS}{cmsy}{m}{n}#1}%
\else\ifx\math@version\math@boldchem
\mathgroup\tw@{\usefont{OMS}{cmsy}{b}{n}#1}%
\else\ifx\math@version\math@bold
\ifupgreekrm \oldmathcal{#1}\upgreekrmfalse
\else \oldmathcal{#1}\fi
\else
\oldmathcal{#1}%
\fi\fi\fi}%
\fi
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\cal}
%
% The macro \verb/\cal/ for outputting calligraphic letters 
% (a macro of declaration type) has been redefined to meet ``boldchem''. 
%
%  \changes{v4.05}{2009/10/25}{Redefined for calligraphic letters}
%  \changes{v4.05}{2009/11/20}{Switch by \cs{if@chemtimes} for chemtimes package}
%
%    \begin{macrocode}
\if@chemtimes\else%for chemtimes package
\let\oldcal=\cal
\def\cal{%
\ifx\math@version\math@chem
\mathgroup\tw@\usefont{OMS}{cmsy}{m}{n}%
\else\ifx\math@version\math@boldchem
\mathgroup\tw@\usefont{OMS}{cmsy}{b}{n}%
\else\ifx\math@version\math@bold
\ifupgreekrm \oldcal\upgreekrmfalse
\else\oldcal\fi
\else
\oldcal%
\fi\fi\fi}%
\fi
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\chemform}
%
%  \changes{v2.00a}{2000/11/03}{change the position of chemcorr 
%  in chemform command}
%
%    \begin{macrocode}
\ifnewl@tex
\def\chemform#1{{\mathversion{chem}%
$\chemcorr #1$\leavechemcorr}}
\else
\def\chemform#1{\chemcorr
$\rm #1$\leavechemcorr}
\fi
%    \end{macrocode}
%  \end{macro}
%
%  \begin{environment}{chemmath}
% 
%  \changes{v2.00a}{2000/11/03}{change the position of chemcorr 
%  in chemmath command}
%    \begin{macrocode}
% ************************
% * chemmath environment *
% ************************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\ifnewl@tex
\def\chemmath{\begingroup\mathversion{chem}\[\chemcorr}
\def\endchemmath{\]\endgroup\leavechemcorr}
\else
\def\chemmath{\chemcorr\[\rm}
\def\endchemmath{\] \leavechemcorr}
\fi
%    \end{macrocode}
%  \end{environment}
%
%  \begin{environment}{chemeqn}
% 
%  \changes{v2.00a}{2000/11/03}{change the position of chemcorr 
%  in chemeqn command}
%    \begin{macrocode}
% ***********************
% * chemeqn environment *
% ***********************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\ifnewl@tex
\def\chemeqn{\begingroup\mathversion{chem}\equation\chemcorr}
%\def\endchemeqn{\endequation\endgroup\leavechemcorr}
\def\endchemeqn{\endequation\leavechemcorr\endgroup}%bug fix 2013/6/15
\else
\def\chemeqn{\chemcorr\equation\rm}
\def\endchemeqn{\endequation\leavechemcorr}
\fi
%    \end{macrocode}
%  \end{environment}
%
%  \begin{environment}{chemeqnarray}
% 
%  \changes{v2.00a}{2000/11/03}{change the position of chemcorr 
%  in chemeqnarray command}
%    \begin{macrocode}
% ****************************
% * chemeqnarray environment *
% ****************************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\ifnewl@tex
\def\chemeqnarray{\stepcounter{equation}
 \let\@currentlabel=\theequation
 \global\@eqnswtrue
 \global\@eqcnt\z@\tabskip\@centering
 \let\\=\@eqncr 
 \begingroup\mathversion{chem}
$$\chemcorr\halign to \displaywidth\bgroup
  \@eqnsel\hskip\@centering
  $\rm \displaystyle\tabskip\z@{##}$ &
  \global\@eqcnt\@ne 
  \hskip \arraycolsep \hfil$\rm{##}$\hfil &
  \global\@eqcnt\tw@ \hskip \arraycolsep 
  $\rm \displaystyle\tabskip\z@{##}$\hfil 
  \tabskip\@centering & 
  \llap{##}\tabskip\z@\cr}
\def\endchemeqnarray{\endeqnarray\endgroup
\leavechemcorr}
\else
\def\chemeqnarray{\stepcounter{equation}
 \let\@currentlabel=\theequation
 \global\@eqnswtrue
 \global\@eqcnt\z@\tabskip\@centering
 \let\\=\@eqncr \chemcorr
$$\halign to \displaywidth\bgroup
  \@eqnsel\hskip\@centering
  $\rm \displaystyle\tabskip\z@{##}$ &
  \global\@eqcnt\@ne 
  \hskip \arraycolsep \hfil$\rm{##}$\hfil &
  \global\@eqcnt\tw@ \hskip \arraycolsep 
  $\rm \displaystyle\tabskip\z@{##}$\hfil 
  \tabskip\@centering & 
  \llap{##}\tabskip\z@\cr}
\def\endchemeqnarray{\endeqnarray
\leavechemcorr}
\fi
%    \end{macrocode}
%  \end{environment}
%
%  \begin{environment}{chemeqnarray*}
% 
%    \begin{macrocode}
% *****************************
% * chemeqnarray* environment *
% *****************************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
% bug fix (1996/06/15) the end command is replaced. 
\let\@seqncr=\@eqncr
\ifnewl@tex
\@namedef{chemeqnarray*}{%
\def\@eqncr{\nonumber\@seqncr}\chemeqnarray}
\@namedef{endchemeqnarray*}{\nonumber\endchemeqnarray}
\else
\@namedef{chemeqnarray*}{%
\def\@eqncr{\nonumber\@seqncr\rm}\chemeqnarray}
\@namedef{endchemeqnarray*}{\nonumber\endchemeqnarray}
\fi
%    \end{macrocode}
%  \end{environment}
%
%  \begin{environment}{chemeqnarraya}
% 
%    \begin{macrocode}
% *****************
% * chemeqnarraya *
% *****************
% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by S. Fujita
% revised may 21 1992 by S. Fujita
\def\chemeqnarraya{\chemeqn@rraya \chemeqnarray} 
\def\chemeqn@rraya{%
 \c@enumi=\c@equation 
 \advance\c@enumi\@ne
 \c@equation=\z@
 \@ifundefined{chapter}%
{\def\theequation{\theenumi\alph{equation}}}%
{\def\theequation{%
\thechapter.\theenumi\alph{equation}}}}
\def\endchemeqnarraya{\endchemeqnarray 
\global\c@equation=\c@enumi}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{macro}{\if@display}
% This switch is to meat the \textsf{amsmath} package. 
%  \changes{v4.05}{2009/10/25}{A new command}
%    \begin{macrocode}
\@ifundefined{if@display}{\newif\if@display}{}
%    \end{macrocode}
%  \end{macro}
%  \begin{environment}{ChemEquation}
%  \changes{v4.05}{2009/10/25}{A new environment}
%    \begin{macrocode}
\newif\ifupgreekrm \upgreekrmfalse
\let\ChemEqFont=\rm
\def\ChemEquation{\everymath{\ChemEqFont\chemcorr\upgreekrmtrue}%
\everydisplay{\ChemEqFont\chemcorr\@displaytrue\upgreekrmtrue}\equation}
\def\endChemEquation{\endequation\everymath{}\everydisplay{}%
\@displayfalse\leavechemcorr\upgreekrmfalse}
%    \end{macrocode}
%  \end{environment}

%  \begin{environment}{ChemEqnarray}
%  \changes{v4.05}{2009/10/25}{A new environment}
%    \begin{macrocode}
\def\ChemEqnarray{\everymath{\ChemEqFont\chemcorr\upgreekrmtrue}%
%\everydisplay{\ChemEqFont\chemcorr\@displaytrue}
\eqnarray}
\def\endChemEqnarray{\endeqnarray\everymath{}%
%\everydisplay{}\@displayfalse
\leavechemcorr\upgreekrmfalse}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{macro}{\ChemForm}
% 
%  \changes{v4.05}{2009/10/25}{A new command}
%    \begin{macrocode}
\def\ChemForm#1{\everymath{\ChemEqFont\chemcorr\upgreekrmtrue}$#1$\everymath{}%
\leavechemcorr\upgreekrmfalse}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{environment}{ChemEqnarray*}
%  \changes{v4.05}{2009/10/25}{A new environment}
%    \begin{macrocode}
\@namedef{ChemEqnarray*}{\def\@eqncr{\nonumber\@seqncr}\ChemEqnarray}
\@namedef{endChemEqnarray*}{\nonumber\endChemEqnarray}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{macro}{\newchemenvironment}
% This command is used to creat a new environment for chemistry based on an appropriate 
% environment for mathematics. 
%
% \begin{verbatim}
% \newchemenviroment{New Name}{Old Environment}
% \end{verbatim}
% 
%  \changes{v4.05}{2009/11/19}{A new command}
%    \begin{macrocode}
\def\newchemenvironment#1#2{%
\expandafter\def\csname  #1\endcsname{%
\everymath{\ChemEqFont\chemcorr\upgreekrmtrue}%
%\everydisplay{\ChemEqFont\chemcorr\@displaytrue}%
\csname #2\endcsname}%
\expandafter\def\csname  end#1\endcsname{%
\csname end#2\endcsname\everymath{}%
%\everydisplay{}\@displayfalse%
\leavechemcorr\upgreekrmfalse}}
%    \end{macrocode}
%  \end{macro}
%
% \section{XyMcompd and XyMtab Environments}
%
% These environments are designed for XyM Markup Language 
% to treat a XyM tag and a XyMtab tag. 
%
%  \begin{environment}{XyMcompd}
%  \changes{v2.00}{1999/03/16}{New Environment}
% 
%    \begin{macrocode}
\def\XyMcompd(#1,#2)(#3,#4)#5#6{%
\begingroup
\edef\xymrefa{#5}\edef\xymrefb{#6}%
\edef\kkk{#1}%
\begin{tabular}{c}
\ifx\kkk\empty\else
\begin{sfpicture}(#1,#2)(#3,#4)\fi\ignorespaces}
\def\endXyMcompd{%
\ifx\kkk\empty\else\end{sfpicture}\fi
\\[-\baselineskip]
\ifx\xymrefa\empty\else{\bf \compd\xymrefb
\expandafter\label{\xymrefa}}\fi
\end{tabular}\endgroup}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{environment}{XyMtab}
%  \changes{v2.00}{1999/03/16}{New Environment}
% 
%    \begin{macrocode}
\def\XyMtab#1{\center\tabular{#1c}}
\def\endXyMtab{\endtabular\endcenter}
%    \end{macrocode}
%  \end{environment}
%
%  \begin{macro}{\derivlist}
%  \changes{v2.00}{1999/03/17}{New command}
%
% For example, derivatives are specified as follows: 
% \begin{verbatim}
%  \derivlist{X = Cl;X = F;X = Me}
% \end{verbatim}
% 
%    \begin{macrocode}
\def\derivlist#1{%
\mbox{}\\
\begingroup\def\arraystretch{0.7}%
\begin{tabular}{l}
\@forsemicol\member:=#1\do{%
\ifx\member\empty\else%
\hbox to2em{\hss\derivnum}:\space\member \\
\fi}\end{tabular}\endgroup}
%    \end{macrocode}
%  \end{macro}
% This command is used in the XyMderiv environment. 
%
%  \begin{environment}{XyMderiv}
%  \changes{v2.00}{1999/03/17}{New Environment}
% 
%    \begin{macrocode}
\def\XyMderiv{\tabular{c}}
\def\endXyMderiv{\endtabular}
%    \end{macrocode}
%  \end{environment}
%
% \section{Useful commands}
%
%  \begin{macro}{\endash}
%  \begin{macro}{\Cent}
%  \begin{macro}{\degC}
%  \begin{macro}{\degF}
% 
%    \begin{macrocode}
% ***************
% * temperature *
% ***************
% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\endash{\mbox{--{}}}
\def\Cent{\mbox{\raise.9ex\hbox{%
 \scriptsize$\circ$}\kern-.12em\hbox{C}}}
\def\degC{\mbox{\kern-.2em\char'27\kern-.3em C}}
\def\degF{\mbox{\kern-.2em\char'27\kern-.3em F}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\yubin}
%  \begin{macro}{\Yubin}
% 
%    \begin{macrocode}
% *******************
% * yubin and Yubin *
% *******************
% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\yubin{$\overline{\top}$}
\def\Yubin#1{\leavevmode\hbox{\vbox{\hrule\@height.12ex\@width.7em
\kern.28ex\hrule\@height.12ex\@width.7em
\hbox{\kern.35em\kern-.06ex
\vbox{\hrule\@height1ex\@width.12ex}}}\kern.1em{#1}}}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\xlethead}
% 
%    \begin{macrocode}
% ***********
% * lethead *
% ***********
% After Chapter 18 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\xlethead#1{%
 \kern-.6667\baselineskip \line{\hrulefill\phantom{ #1 }\hrulefill}
 \kern-.6667\baselineskip \line{\hrulefill\phantom{ #1 }\hrulefill}
 \kern-.6667\baselineskip \line{\hrulefill\hbox{ #1 }\hrulefill}}
\def\lethead#1#2#3{\def\line{\hbox to\textwidth}
 \vbox{\line{\hrulefill} 
 \xlethead{#1} \xlethead{#2} \xlethead{#3}
 \kern-.6667\baselineskip \line{\hrulefill}}} 
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\horizon}
% 
%    \begin{macrocode}
% ************
% * baseline *
% ************
% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\def\horizon{\rule{12pt}{0.1pt}}
%    \end{macrocode}
%  \end{macro}
%
% \section{Logos}
%
%  \begin{macro}{\resetfontsize}
%  \begin{macro}{\Bib}
%  \begin{macro}{\BibTeX}
%  \begin{macro}{\jBibTeX}
%
%    \begin{macrocode}
% ********************************
% * Redefinition of Logos        *
% * January 3, 1993 by S. Fujita *
% ********************************
% After Chapter 12 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
\newcount\TestCount \def\tmpkern{\kern0pt}
\ifnewl@tex \else
\def\resetfontsize{%
 \ifx\@currsize\normalsize%
  \def\tmpf@ntsize{%
   \load{\footnotesize}{\sf}%
   \load{\footnotesize}{\sl}%
   \load{\footnotesize}{\bf}%
   \def\tmpkern{\kern0.05em}%
   \footnotesize}\fi
 \ifx\@currsize\scriptsize \let\tmpf@ntsize=\tiny\fi
 \ifx\@currsize\footnotesize \let\tmpf@ntsize=\tiny\fi
 \ifx\@currsize\small \let\tmpf@ntsize=\scriptsize\fi
 \ifx\@currsize\large \let\tmpf@ntsize=\small\fi
 \ifx\@currsize\Large \let\tmpf@ntsize=\@normalsize\fi
 \ifx\@currsize\LARGE \let\tmpf@ntsize=\large\fi
 \ifx\@currsize\huge \let\tmpf@ntsize=\Large\fi
 \ifx\@currsize\Huge \let\tmpf@ntsize=\LARGE\fi}
\fi
%    \end{macrocode}
%
%    \begin{macrocode}
\ifnewl@tex \else
\def\Bib{\ifnum \fam=\m@ne \fam=\z@ \fi\TestCount=\fam\leavevmode%
    \edef\aaa{\fontname\scriptfont\fam}%
    \edef\bbb{\fontname\textfont\fam}%
 \resetfontsize%
 \hbox{$\fam=\TestCount\textstyle B$}%
 \ifx\aaa\bbb% 
   \hbox{\tmpf@ntsize\bf
  $\fam=\TestCount\kern-.025em I\kern-.045em B$}%
 \else%
   \hbox{$\fam\TestCount\scriptstyle\kern-.025em I\kern-.045em B$}%
 \fi
}
\fi
%    \end{macrocode}
%
%    \begin{macrocode}
%\def\BibTeX{\Bib\kern-.08em\TeX}
%\def\jBibTeX{\leavevmode\lower.46ex\hbox{J}
%\kern-.08em\Bib\kern-.08em\TeX}
% %%\def\BibTeX{%
% {\rm B\kern-.05em{\sc i\kern-.025emb}\kern-.08em\TeX}}
% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifnewl@tex
\DeclareRobustCommand{\BibTeX}{%
    B\hbox{$\m@th$\csname S@\f@size\endcsname
    \fontsize\sf@size\z@ \math@fontsfalse\selectfont
    \kern-.025em I\kern-.045em B}\kern-.08em\TeX}
\else \def\BibTeX{\Bib\kern-.08em\TeX} \fi
%    \end{macrocode}
%
%    \begin{macrocode}
\ifnewl@tex
\DeclareRobustCommand{\jBibTeX}{\mbox{%
  \if b\expandafter\@car\f@series\@nil\boldmath\fi
  \leavevmode\lower.46ex\hbox{J}\kern-.08em\BibTeX}}
\else
\def\jBibTeX{\leavevmode\lower.46ex\hbox{J}%
 \kern-.08em\Bib\kern-.08em\TeX}
\fi
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\jTeX}
%  \begin{macro}{\pTeX}
%
%    \begin{macrocode}
\def\jTeX{\leavevmode\lower.46ex\hbox{J}\kern-.15em\TeX}
\def\pTeX{p\kern-.15em\TeX}
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\Sub}
%  \begin{macro}{\Subbib}
%
%    \begin{macrocode}
\ifnewl@tex \else
\def\Sub{\leavevmode\ifnum \fam=\m@ne \fam=\z@ \fi%
    \TestCount=\fam{S}%
    \edef\aaa{\fontname\scriptfont\fam}%
    \edef\bbb{\fontname\textfont\fam}%
    \ifx\aaa\bbb\resetfontsize%
      \hbox{\tmpf@ntsize\bf%
      $\fam=\TestCount\kern-.045em{U}\kern-.12em{B}$}%
    \else%
      \hbox{$\fam\TestCount%
       \scriptstyle\kern-.045em{U}\kern-.12em{B}$}%
    \fi}
\fi
%\def\SubBib{\Sub\kern-.08em\Bib}
%    \end{macrocode}
%
%    \begin{macrocode}
% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifnewl@tex
\DeclareRobustCommand{\SubBib}{S\hbox{$\m@th$%
   \csname S@\f@size\endcsname\fontsize\sf@size\z@
   \math@fontsfalse\selectfont%
   \kern-.045em{U}\kern-.12em{B}}B\hbox{$\m@th$%
   \csname S@\f@size\endcsname\fontsize\sf@size\z@
   \math@fontsfalse\selectfont \kern-.025em I\kern-.045em B}}
\else \def\SubBib{\Sub\kern-.08em\Bib} \fi
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\La}
%  \begin{macro}{\LaTeX}
%
%    \begin{macrocode}
%\def\La{\TestCount=\fam \leavevmode L\raise.42ex
%        \hbox{$\fam\TestCount\scriptstyle\kern-.3em A$}}
\ifnewl@tex \else
\def\La{\ifnum \fam=\m@ne \fam=\z@ \fi\TestCount=\fam%
  \edef\aaa{\fontname\scriptfont\fam}%
  \edef\bbb{\fontname\textfont\fam}\leavevmode{L}%
  \ifx\aaa\bbb \resetfontsize%
   \raise.46ex\hbox{{\tmpf@ntsize\bf%
   $\fam\TestCount\kern-.4em\tmpkern{A}$}}%
  \else%
   \raise.42ex\hbox{$\fam\TestCount\scriptstyle\kern-.3em{A}$}%
  \fi}
\fi
%    \end{macrocode}
%
%    \begin{macrocode}
% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\def\LaTeX{\La\kern-.15em\TeX}
\ifnewl@tex \else \def\LaTeX{\La\kern-.15em\TeX}\fi
%    \end{macrocode}
%
%    \begin{macrocode}
%\def\jLaTeX{\leavevmode\lower.46ex\hbox{J}\kern-.08em\LaTeX}
\ifnewl@tex 
 \DeclareRobustCommand{\jLaTeX}%
 {\leavevmode\lower.46ex\hbox{J}\kern-.08em\LaTeX}
\else
 \def\jLaTeX{\leavevmode\lower.46ex\hbox{J}\kern-.08em\LaTeX}
\fi
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\PiC}
%  \begin{macro}{\PiCTeX}
%
%    \begin{macrocode}
\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC}
%    \end{macrocode}
%
%    \begin{macrocode}
%\def\PiCTeX{\PiC\kern-.11em\TeX}
\ifnewl@tex 
\DeclareRobustCommand{\PiCTeX}{\PiC\kern-.11em\TeX}
\else
\def\PiCTeX{\PiC\kern-.11em\TeX}
\fi
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\tpic}
%  \begin{macro}{\PiCTeX}
%
%    \begin{macrocode}
%\def\tpic{\TestCount=\fam \leavevmode T%
% \hbox{$\fam\TestCount\scriptstyle
%\kern-.025em P\kern-.025em I\kern-.025emC$}}
\ifnewl@tex 
\DeclareRobustCommand{\tpic}{T\hbox{$\m@th$%
   \csname S@\f@size\endcsname\fontsize\sf@size\z@
   \math@fontsfalse\selectfont
   \kern-.025em P\kern-.025em I\kern-.025emC}}
\else
\def\tpic{\ifnum \fam=\m@ne \fam=\z@ \fi%
    \TestCount=\fam \leavevmode%
    \edef\aaa{\fontname\scriptfont\fam}%
    \edef\bbb{\fontname\textfont\fam}%
 \resetfontsize\hbox{$\fam=\TestCount\textstyle T$}%
 \ifx\aaa\bbb\hbox{\tmpf@ntsize\bf$\fam=\TestCount%
        \kern-.025em P\kern-.025em I\kern-.025emC$}\else%
 \hbox{$\fam\TestCount\scriptstyle%
       \kern-.025em P\kern-.025em I\kern-.025emC$}\fi}
\fi
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%
%  \begin{macro}{\Post}
%  \begin{macro}{\Script}
%  \begin{macro}{\PostScript}
%
%    \begin{macrocode}
\ifnewl@tex \else
\def\Post{\ifnum \fam=\m@ne \fam=\z@ \fi%
    \TestCount=\fam\leavevmode%
    \edef\aaa{\fontname\scriptfont\fam}%
    \edef\bbb{\fontname\textfont\fam}%
 \resetfontsize%
 \hbox{$\fam=\TestCount\textstyle P$}%
 \ifx\aaa\bbb% 
   \hbox{\tmpf@ntsize\bf%
   $\fam=\TestCount\kern-.045em O\kern-.015em ST$}%
 \else%
   \hbox{$\fam\TestCount%
   \scriptstyle\kern-.045em O\kern-.015em ST$}%
 \fi}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\Script{\ifnum \fam=\m@ne \fam=\z@ \fi%
    \TestCount=\fam\leavevmode%
    \edef\aaa{\fontname\scriptfont\fam}%
    \edef\bbb{\fontname\textfont\fam}%
 \resetfontsize%
 \hbox{$\fam=\TestCount\textstyle S$}%
 \ifx\aaa\bbb% 
   \hbox{\tmpf@ntsize\bf$\fam=\TestCount\kern-.035em %
    C\kern-.015em R\kern-.015em IP\kern-.035em T$}%
 \else%
   \hbox{$\fam\TestCount\scriptstyle\kern-.035em %
   C\kern-.015em R\kern-.015em IP\kern-.035em T$}%
 \fi}
\fi
%    \end{macrocode}
%
%    \begin{macrocode}
%\def\PostScript{\Post\Script}
% %%%%%1996/04/20 by Shinsaku Fujita%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifnewl@tex 
\DeclareRobustCommand{\PostScript}{P\hbox{$\m@th$%
    \csname S@\f@size\endcsname\fontsize\sf@size\z@
    \math@fontsfalse\selectfont
    \kern-.045em O\kern-.015em ST}S\hbox{$\m@th$%
    \csname S@\f@size\endcsname\fontsize\sf@size\z@
    \math@fontsfalse\selectfont
    \kern-.035em C\kern-.015em R\kern-.015em IP\kern-.035em T}}
\else
\def\PostScript{\Post\Script}
\fi
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Double and triple bonds}
%
%  \begin{macro}{\triplebond}
%  \begin{macro}{\doublebond}
%  \begin{macro}{\tbond}
%  \begin{macro}{\dbond}
%
%    \begin{macrocode}
% *****************
% * 二重 三重結合 *
% *****************
\def\triplebond{\leavevmode\kern.2pt\raisebox{.2ex}{%
\hbox{\vbox{\hrule height.03ex width1em\kern.4ex
\hrule height.03ex width1em\kern.4ex
\hrule height.03ex width1em}}}\hskip.4pt}
\def\doublebond{\leavevmode\kern.2pt\raisebox{.3ex}{%
\hbox{\vbox{\hrule height.03ex width1em\kern.6ex
\hrule height.03ex width1em}}}\hskip.4pt}
\let\tbond=\triplebond
\let\dbond=\doublebond
%    \end{macrocode}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%  \end{macro}
%
% \section{Round Arrows}
% 
% The macro |\calcontrolpoints| is comman to define round arrows in the \textsf{chmst-ps} 
% pacakage and in the \textsf{chmst-pdf} pacakage. Two control points for Bezier curves 
% are automatically calculated to draw round arrows. 
%
%  \begin{macro}{\upwardarrowcalcA}
%  \changes{v5.00}{2010/10/01}{Control points for round arrows}
% This macro gives a midpoint between two control points for 
% drawing an upward-curved arrow. 
% This is used in the definition of the |\calcontrolpoints| command. 
%  
%    \begin{macrocode}
\def\upwardarrowcalcA{%
\@tempcntXc=\@tempcntXa
\advance\@tempcntXc by\@tempcntXb
\advance\@tempcntXc by-\@tempcntYb
\advance\@tempcntXc by\@tempcntYa
\divide\@tempcntXc by2\relax
%%
\@tempcntYc=\@tempcntYa
\advance\@tempcntYc by\@tempcntYb
\advance\@tempcntYc by-\@tempcntXa
\advance\@tempcntYc by\@tempcntXb
\divide\@tempcntYc by2\relax}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\upwardarrowcalcB}
%  \changes{v5.00}{2010/10/01}{Control points for round arrows}
% This macro gives two control points for drawing an upward-curved arrow. 
% This is used in the definition of the |\calcontrolpoints| command. 
%  
%    \begin{macrocode}
\def\upwardarrowcalcB{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% control point: (\@tempcntXc, \@tempcntYc)%
% control point: (\@cnttempa, \@cnttempb)  %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\advance\@tempcntXc by\@tempcntXd
\advance\@tempcntYc by\@tempcntYd
\advance\@cnttempa by-\@tempcntXd
\advance\@cnttempb by-\@tempcntYd}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\downwardarrowcalcA}
%  \changes{v5.00}{2010/10/01}{Control points for round arrows}
% This macro gives a midpoint between two control points for 
% drawing a down ward-curved arrow. 
% This is used in the definition of the |\calcontrolpoints| command. 
%  
%    \begin{macrocode}
\def\downwardarrowcalcA{%
\@tempcntXc=\@tempcntXa
\advance\@tempcntXc by\@tempcntXb
\advance\@tempcntXc by\@tempcntYb
\advance\@tempcntXc by-\@tempcntYa
\divide\@tempcntXc by2\relax
%
\@tempcntYc=\@tempcntYa
\advance\@tempcntYc by\@tempcntYb
\advance\@tempcntYc by\@tempcntXa
\advance\@tempcntYc by-\@tempcntXb
\divide\@tempcntYc by2\relax}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\downwardarrowcalcA}
%  \changes{v5.00}{2010/10/01}{Control points for round arrows}
% This macro gives two control points for drawing a down ward-curved arrow. 
% This is used in the definition of the |\calcontrolpoints| command. 
%  
%    \begin{macrocode}
\def\downwardarrowcalcB{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% control point: (\@tempcntXc, \@tempcntYc)%
% control point: (\@cnttempa, \@cnttempb)  %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\advance\@tempcntXc by\@tempcntXd
\advance\@tempcntYc by\@tempcntYd
\advance\@cnttempa by-\@tempcntXd
\advance\@cnttempb by-\@tempcntYd}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\calcontrolpoints}
%  \changes{v5.00}{2010/10/01}{Control points for round arrows}
%  
%    \begin{macrocode}
\def\calcontrolpoints#1{%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% arrow (\@tempcntXa,\@tempcntYa) <---> (\@tempcntXb, \@tempcntYb) %
% #1=0, 2, 4: upward round arrow                                   %
% #1=1, 3, 5: downward round arrow                                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\@tempcntXd=\@tempcntXb
\advance\@tempcntXd by-\@tempcntXa
\divide\@tempcntXd by4\relax
\@tempcntYd=\@tempcntYb
\advance\@tempcntYd by-\@tempcntYa
\divide\@tempcntYd by4\relax
%
\ifcase#1\relax%upward round: 0
\upwardarrowcalcA%
\@cnttempa=\@tempcntXc
\@cnttempb=\@tempcntYc
\upwardarrowcalcB%
\or%downward-round: 1 
\downwardarrowcalcA%
\@cnttempa=\@tempcntXc
\@cnttempb=\@tempcntYc
\downwardarrowcalcB%
\or%upward round: 2
\upwardarrowcalcA%
\advance\@tempcntXc by-\@tempcntYd
\advance\@tempcntYc by\@tempcntXd
\@cnttempa=\@tempcntXc
\@cnttempb=\@tempcntYc
\upwardarrowcalcB%
\or%downward-round: 3
\downwardarrowcalcA%
\advance\@tempcntXc by\@tempcntYd
\advance\@tempcntYc by-\@tempcntXd
\@cnttempa=\@tempcntXc
\@cnttempb=\@tempcntYc
\downwardarrowcalcB%
\or%upward round: 4
\upwardarrowcalcA%
\advance\@tempcntXc by-\@tempcntYd
\advance\@tempcntXc by-\@tempcntYd
\advance\@tempcntYc by\@tempcntXd
\advance\@tempcntYc by\@tempcntXd
\@cnttempa=\@tempcntXc
\@cnttempb=\@tempcntYc
\upwardarrowcalcB%
\or%downward-round: 5
\downwardarrowcalcA%
\advance\@tempcntXc by\@tempcntYd
\advance\@tempcntXc by\@tempcntYd
\advance\@tempcntYc by-\@tempcntXd
\advance\@tempcntYc by-\@tempcntXd
\@cnttempa=\@tempcntXc
\@cnttempb=\@tempcntYc
\downwardarrowcalcB%
\fi}
%    \end{macrocode}
%  \end{macro}
%
%
% The following macros are supported only by the \textsf{chmst-ps} pacakage.  
%
%    \begin{macrocode}
%\let\reactDEqarrow=\reactdeqarrow
%\let\reactUEqarrow=\reactueqarrow
%\let\reactVEqarrow=\reactveqarrow
%\let\reactREqarrow=\reactreqarrow
%\let\reactLEqarrow=\reactleqarrow
%\let\reactEqarrow=\reacteqarrow
%\let\lllongleftharpoonup=\lllongleftarrow
%\let\lllongrightharpoondown=\lllongrightarrow
%\let\llongleftharpoonup=\llongleftarrow
%\let\llongrightharpoondown=\llongrightarrow
%    \end{macrocode}
%
% \section{Initial Setting and Switch to Arrows of Original Styles}
%
%  \begin{macro}{\chemistsw}
%    \begin{macrocode}
\def\chemistsw{%setting of the chemist package
\let\reactrarrow=\oldreactrarrow%
\let\reactlarrow=\oldreactlarrow
\let\reactlrarrow=\oldreactlrarrow
\let\reacteqarrow=\oldreacteqarrow
%%%%
\let\reactreqarrow=\oldreactreqarrow%
\let\reactleqarrow=\oldreactleqarrow
%%%%
\let\reactdarrow=\oldreactdarrow%
\let\reactuarrow=\oldreactuarrow
\let\reactveqarrow=\oldreactveqarrow
\let\reactduarrow=\oldreactduarrow
%%%%
\let\reactsearrow=\oldreactsearrow%
\let\reactnwarrow=\oldreactnwarrow
\let\reactnearrow=\oldreactnearrow
\let\reactswarrow=\oldreactswarrow
%%%%
\let\reactdeqarrow=\oldreactdeqarrow%
\let\reactueqarrow=\oldreactueqarrow
\let\reactulrarrow=\oldreactulrarrow
\let\reactdlrarrow=\oldreactdlrarrow
%%%%
\let\schemelarrow=\oldschemelarrow%
\let\schemerarrow=\oldschemerarrow
\let\schemelrarrow=\oldschemelrarrow
%%%%
\let\llongrightarrow=\oldllongrightarrow%%%--->%
\let\llongleftarrow=\oldllongleftarrow%%%<---
\let\llongleftrightarrow=\oldllongleftrightarrow%%%<--->
\let\Equilibarrow=\oldEquilibarrow%%%<--- and --->
\let\Llongrightarrow=\oldLlongrightarrow%%%===>
\let\Llongleftarrow=\oldLlongleftarrow%%%<===
\let\Llongleftrightarrow=\oldLlongleftrightarrow%%<===>
%%%%%
\let\llongleftharpoondown=\oldllongleftharpoondown%%% /---%
\let\llongrightharpoonup=\oldllongrightharpoonup%%%---/
\let\equilibarrow=\oldequilibarrow%%% /--- and ---/
%%%%%
\let\lllongrightarrow=\oldlllongrightarrow%%%%------>%
\let\lllongleftarrow=\oldlllongleftarrow%%%<-------
\let\lllongleftrightarrow=\oldlllongleftrightarrow%%%<------->
\let\Equiliblongarrow=\oldEquiliblongarrow%%%<------- and ------->
\let\Lllongrightarrow=\oldLllongrightarrow%%%=======>
\let\Lllongleftarrow=\oldLllongleftarrow%%%<=======
\let\Lllongleftrightarrow=\oldLllongleftrightarrow%%<=======>
%%%%%
\let\lllongleftharpoondown=\oldlllongleftharpoondown%%% /-------%
\let\lllongrightharpoonup=\oldlllongrightharpoonup%%%-------/
\let\equiliblongarrow=\oldequiliblongarrow%%% /------ and ------/
%%%%tentative setting
\let\reactDEqarrow=\oldreactdeqarrow
\let\reactUEqarrow=\oldreactueqarrow
\let\reactVEqarrow=\oldreactveqarrow
\let\reactREqarrow=\oldreactreqarrow
\let\reactLEqarrow=\oldreactleqarrow
\let\reactEqarrow=\oldreacteqarrow
\let\lllongleftharpoonup=\oldlllongleftarrow
\let\lllongrightharpoondown=\oldlllongrightarrow
\let\llongleftharpoonup=\oldllongleftarrow
\let\llongrightharpoondown=\oldllongrightarrow
%%%%
}
%    \end{macrocode}
%  \end{macro}
%
% Dummy commands are declared for compatibility to PS and PDF mode. 
% In paticular, arrows defined in the \textsf{chmst-ps} and \textsf{chmst-pdf} packages 
% are defined as futile commands. 
% \changes{v5.00}{2010/10/01}{for bond coloring and the LaTeX Project Public License}
%    \begin{macrocode}
\RequirePackage{assurechemist}
%    \end{macrocode}
%
% Initial setting: 
%    \begin{macrocode}
\chemistsw%setting of the chemist package
\mathversion{normal}
%</chemist>
%    \end{macrocode}
% \Finale
\endinput
