summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/xymtex/chemist/chemist.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/xymtex/chemist/chemist.dtx')
-rw-r--r--macros/latex/contrib/xymtex/chemist/chemist.dtx3349
1 files changed, 3349 insertions, 0 deletions
diff --git a/macros/latex/contrib/xymtex/chemist/chemist.dtx b/macros/latex/contrib/xymtex/chemist/chemist.dtx
new file mode 100644
index 0000000000..3b07bc2e48
--- /dev/null
+++ b/macros/latex/contrib/xymtex/chemist/chemist.dtx
@@ -0,0 +1,3349 @@
+% \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