summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/source/latex/xymtex/ccycle.ins50
-rw-r--r--Master/texmf-dist/source/latex/xymtex/chemist.dtx2359
-rw-r--r--Master/texmf-dist/source/latex/xymtex/chemstr.dtx8567
-rw-r--r--Master/texmf-dist/source/latex/xymtex/hetarom.ins51
-rw-r--r--Master/texmf-dist/source/latex/xymtex/polymers.drv81
5 files changed, 11108 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/xymtex/ccycle.ins b/Master/texmf-dist/source/latex/xymtex/ccycle.ins
new file mode 100644
index 00000000000..1603014bdae
--- /dev/null
+++ b/Master/texmf-dist/source/latex/xymtex/ccycle.ins
@@ -0,0 +1,50 @@
+\def\batchfile{ccycle.ins}
+\input docstrip.tex
+\preamble
+
+This is a generated file.
+
+Copyright 1996,1998 by Shinsaku Fujita
+
+This file is part of the XyMTeX system.
+=======================================
+
+Version 1.01 Released on August 16, 1996
+Version 1.02 Released on October 31, 1996
+Version 2.00 Released on December 25, 1998
+
+Copyright (C) 1996,1998 by Shinsaku Fujita, all rights reserved.
+This style file is created for drawing chemical structural formulas
+This style file is to be contained in the ``xymtex'' directory which
+is an input directory for TeX.
+
+Copying of this file is authorized only if either
+
+ (1) you make absolutely no changes to your copy, including name and
+ directory name
+ (2) if you do make changes,
+ (a) you name it something other than the names included in the
+ ``xymtex'' directory and
+ (b) you acknowledge the original name.
+ This restriction ensures that all standard styles are identical.
+
+=======================================
+
+This file contains several codes modified from latex.tex (LaTeX2.09)
+and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
+Copyright 1994 the LaTeX3 project and the individual authors (For further
+copyright information see the file legal.txt of the LaTeX2e standard
+distribution, and any other copyright indicated in this file.)
+
+\endpreamble
+
+\keepsilent
+
+\generateFile{ccycle.drv}{t}{%
+ \from{ccycle.dtx}{driver}}
+
+\generateFile{ccycle.sty}{t}{%
+ \from{ccycle.dtx}{ccycle}}
+
+\endinput
+ \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/chemist.dtx b/Master/texmf-dist/source/latex/xymtex/chemist.dtx
new file mode 100644
index 00000000000..9d37ff1334c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/xymtex/chemist.dtx
@@ -0,0 +1,2359 @@
+% \iffalse
+%
+% chemist.dtx
+%
+% Copyright (C) 1996, 1999, 2000 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.
+%
+% For using this file, see
+% Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
+% Tokyo Kagaku Dojin, Tokyo (1993), Chapter 16.
+%
+% Copying of this file is authorized only if either
+%
+% (1) you make absolutely no changes to your copy, including name and
+% directory name
+% (2) if you do make changes,
+% (a) you name it something other than the names included in the
+% ``chemist'' directory and
+% (b) you acknowledge the original name.
+% This restriction ensures that all standard styles are identical.
+%
+%=======================================
+%
+% This file is a modification of latex.tex (LaTeX2.09) and of latex.ltx
+% (LaTeX2e), the reused parts of which is subject to
+% Copyright 1994 the LaTeX3 project and the individual authors (For further
+% copyright information see the file legal.txt of the LaTeX2e standard
+% distribution, and any other copyright indicated in this file.)
+%
+%=======================================
+%
+% 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.
+% このスタイル・ファイルの使用法は、
+% 藤田 眞作 著 『化学者・生化学者のためのLaTeX』
+% 東京化学同人、東京 (1993)、第7, 9, 12, 18章をご覧下さい。
+%
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name and
+% directory name
+% (2) if you do make changes,
+% (a) you name it something other than the names included in the
+% ``chemist'' directory and
+% (b) you acknowledge the original name.
+% This restriction ensures that all standard styles are identical.
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \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
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+% \fi
+% \CheckSum{3588}
+%% \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
+%% 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}
+%
+% \begin{macrocode}
+% \NeedsTeXFormat{LaTeX2e}
+% \end{macrocode}
+%
+% \begin{macrocode}
+% <chemist>\ProvidesFile{chemist.sty}
+%<driver>\ProvidesFile{chemist.drv}
+%<driver> [2000/11/03 v2.00a
+% <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}
+%
+% \begin{macrocode}
+%<*driver>
+ ]
+\documentclass{ltxdoc}
+\GetFileInfo{chemist.drv}
+\title{Chemist Package \space\fileversion}
+\author{Shinsaku Fujita \\
+Department of Chemistry and Materials Technology \\
+Kyoto Institute of Technology
+%% 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{November 3, 2000}
+\def\versi@nno{ver2.00a}
+\def\copyrighth@lder{SF} % Shinsaku Fujita
+%<*chemist>
+\typeout{Package `\j@urnalname' (\versi@nno) <\versi@ndate>\space
+[\copyrighth@lder]}
+\typeout{chemist.sty ver2.00a (for LaTeX2e) 2000/11/03[SF]}
+%</chemist>
+% \end{macrocode}
+%
+% \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}
+%<*chemist>
+% *******************
+% * 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}
+% \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
+%
+\def\reactrarrow{\@ifnextchar[{\react@rarrow}{\react@rarrow[0pt]}}
+\def\react@rarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{%
+ \parbox{#3}{\centering
+ \baselineskip=.8\normalbaselineskip #4 \par
+ \vskip-0.2\normalbaselineskip
+ \rightarrowfill \par
+ \vskip-0.1\normalbaselineskip #5}}}
+\def\reactlarrow{\@ifnextchar[{\react@larrow}{\react@larrow[0pt]}}
+\def\react@larrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{%
+ \parbox{#3}{\centering
+ \baselineskip=.8\normalbaselineskip #4 \par
+ \vskip-0.2\normalbaselineskip
+ \leftarrowfill \par
+ \vskip-0.1\normalbaselineskip #5}}}
+\def\reactlrarrow{\@ifnextchar[{\react@lrarrow}{\react@lrarrow[0pt]}}
+\def\react@lrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{%
+ \parbox{#3}{\centering
+ \baselineskip=.8\normalbaselineskip
+ #4 \par
+ \vskip-0.2\normalbaselineskip
+ \centering{\leftrightarrowfill} \par
+ \vskip-0.1\normalbaselineskip #5}}}
+\def\reacteqarrow{\@ifnextchar[{\react@eqarrow}{\react@eqarrow[0pt]}}
+\def\react@eqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{%
+ \parbox{#3}{\centering
+ \baselineskip=.8\normalbaselineskip
+ #4 \par
+ \vskip-0.2\normalbaselineskip
+ \rightarrowfill \par \vskip-0.55\normalbaselineskip%
+ \leftarrowfill \par
+ \vskip-0.1\normalbaselineskip #5}}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \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}
+% \begin{macrocode}
+\def\reactdarrow{\@ifnextchar[{\react@darrow}{\react@darrow[0pt]}}
+\def\react@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{picture}(0,\kanzanchi)(0,0)
+\put(0,\kanzanchi){\vector(0,-1){\kanzanchi}}
+\end{picture}\end{tabular}}%
+\begin{tabular}{l}#5\end{tabular}}}
+%
+\def\reactuarrow{\@ifnextchar[{\react@uarrow}{\react@uarrow[0pt]}}
+\def\react@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{picture}(0,\kanzanchi)(0,0)
+\put(0,0){\vector(0,1){\kanzanchi}}
+\end{picture}\end{tabular}}%
+\begin{tabular}{l}#5\end{tabular}}}
+%
+\def\reactveqarrow{\@ifnextchar[%]
+{\react@veqarrow}{\react@veqarrow[0pt]}}
+\def\react@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{picture}(40,\kanzanchi)(0,0)
+\put(40,0){\vector(0,1){\kanzanchi}}
+\put(0,\kanzanchi){\vector(0,-1){\kanzanchi}}
+\end{picture}\end{tabular}}%
+\begin{tabular}{l}#5\end{tabular}}}
+%
+\def\reactduarrow{\@ifnextchar[{\react@duarrow}{\react@duarrow[0pt]}}
+\def\react@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{picture}(0,\kanzanchi)(0,0)
+\put(0,\kanzanhalf){\vector(0,1){\kanzanhalf}}
+\put(0,\kanzanhalf){\vector(0,-1){\kanzanhalf}}
+\end{picture}\end{tabular}}%
+\begin{tabular}{l}#5\end{tabular}}}
+% \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}
+% \begin{macrocode}
+\def\reactsearrow{\@ifnextchar[{\react@searrow}{\react@searrow[0pt]}}
+\def\react@searrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
+\def\arraystretch{0.8}%
+\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
+\put(0,\kanzanchi){\vector(1,-1){\kanzanchi}}
+\put(\kanzanhalf,\kanzanhalf){\hbox to0pt{%
+\begin{tabular}[b]{l}#4\end{tabular}\hss}}
+\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
+\begin{tabular}[t]{r}#5\end{tabular}}}
+\end{picture}}}
+%
+\def\reactnwarrow{\@ifnextchar[{\react@nwarrow}{\react@nwarrow[0pt]}}
+\def\react@nwarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
+\def\arraystretch{0.8}%
+\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
+\put(\kanzanchi,0){\vector(-1,1){\kanzanchi}}
+\put(\kanzanhalf,\kanzanhalf){\hbox to0pt{%
+\begin{tabular}[b]{l}#4\end{tabular}\hss}}
+\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
+\begin{tabular}[t]{r}#5\end{tabular}}}
+\end{picture}}}
+%
+\def\reactnearrow{\@ifnextchar[{\react@nearrow}{\react@nearrow[0pt]}}
+\def\react@nearrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
+\def\arraystretch{0.8}%
+\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
+\put(0,0){\vector(1,1){\kanzanchi}}
+\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
+\begin{tabular}[t]{l}#5\end{tabular}\hss}}
+\put(\kanzanhalf,\kanzanhalf){\hbox to0pt{\hss
+\begin{tabular}[b]{r}#4\end{tabular}}}
+\end{picture}}}
+%
+\def\reactswarrow{\@ifnextchar[{\react@swarrow}{\react@swarrow[0pt]}}
+\def\react@swarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
+\def\arraystretch{0.8}%
+\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
+\put(\kanzanchi,\kanzanchi){\vector(-1,-1){\kanzanchi}}
+\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
+\begin{tabular}[t]{l}#5\end{tabular}\hss}}
+\put(\kanzanhalf,\kanzanhalf){\hbox to0pt{\hss
+\begin{tabular}[b]{r}#4\end{tabular}}}
+\end{picture}}}
+% \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}
+% \begin{macrocode}
+\def\reactdeqarrow{\@ifnextchar[%]
+{\react@deqarrow}{\react@deqarrow[0pt]}}
+\def\react@deqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
+\def\arraystretch{0.8}%
+\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
+\put(0,\kanzanchi){\put(15,15){\vector(1,-1){\kanzanchi}}}
+\put(\kanzanchi,0){\put(-15,-15){\vector(-1,1){\kanzanchi}}}
+\put(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{%
+\begin{tabular}[b]{l}#4\end{tabular}\hss}}
+\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
+\begin{tabular}[t]{r}#5\end{tabular}}}
+\end{picture}}}
+\def\reactueqarrow{\@ifnextchar[%]
+{\react@ueqarrow}{\react@ueqarrow[0pt]}}
+\def\react@ueqarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
+\def\arraystretch{0.8}%
+\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
+\put(0,0){\put(-15,15){\vector(1,1){\kanzanchi}}}
+\put(\kanzanchi,\kanzanchi){\put(15,-15){\vector(-1,-1){\kanzanchi}}}
+\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
+\begin{tabular}[t]{l}#5\end{tabular}\hss}}
+\put(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{\hss
+\begin{tabular}[b]{r}#4\end{tabular}}}
+\end{picture}}}
+\def\reactulrarrow{\@ifnextchar[%]
+{\react@ulrarrow}{\react@ulrarrow[0pt]}}
+\def\react@ulrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
+\def\arraystretch{0.8}%
+\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
+\put(\kanzanhalf,\kanzanhalf){\vector(1,1){\kanzanhalf}}
+\put(\kanzanhalf,\kanzanhalf){\vector(-1,-1){\kanzanhalf}}
+\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{%
+\begin{tabular}[t]{l}#5\end{tabular}\hss}}
+\put(\kanzanhalf,\kanzanhalf){\raise1ex\hbox to0pt{\hss
+\begin{tabular}[b]{r}#4\end{tabular}}}
+\end{picture}}}
+\def\reactdlrarrow{\@ifnextchar[%]
+{\react@dlrarrow}{\react@dlrarrow[0pt]}}
+\def\react@dlrarrow[#1]#2#3#4#5{\hskip#1\raisebox{#2}{\k@nz@n{#3}%
+\def\arraystretch{0.8}%
+\begin{picture}(\kanzanchi,\kanzanchi)(0,0)
+\put(\kanzanhalf,\kanzanhalf){\vector(-1,1){\kanzanhalf}}
+\put(\kanzanhalf,\kanzanhalf){\vector(1,-1){\kanzanhalf}}
+\put(\kanzanhalf,\kanzanhalf){\hbox to0pt{%
+\begin{tabular}[b]{l}#4\end{tabular}\hss}}
+\put(\kanzanhalf,\kanzanhalf){\lower2ex\hbox to0pt{\hss
+\begin{tabular}[t]{r}#5\end{tabular}}}
+\end{picture}}}
+% \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}
+% \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\schemelarrow#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\schemerarrow#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\schemelrarrow#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}}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \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.}
+%
+% \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}%
+\dimen2=\dimen1 \advance\dimen2 by .1pt
+\advance\dimen1 -\dimen5\relax%
+\setbox0=\hbox\bgroup\minipage{\dimen1
+\tbaselineshift\@savetbaselineshift}}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\endminiscreen{\endminipage\egroup%
+\setbox1=\hbox to\dimen2{\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\dimen2{\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}{\cyan}
+% \begin{macro}{\magenta}
+% \begin{macro}{\yellow}
+% \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\cyan{\mbox{$\bigcirc$\kern-.06em{--}\kern-.06em
+ \ooalign{\hfil
+ \raise.05ex\hbox{\scriptsize C}\hfil\cr\cr$\bigcirc$}\,}}
+\def\magenta{\mbox{$\bigcirc$\kern-.06em{--}\kern-.06em
+ \ooalign{\hfil
+ \raise.05ex\hbox{\scriptsize M}\hfil\cr\cr$\bigcirc$}\,}}
+\def\yellow{\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\llongrightarrow{%%%--->
+\relbar\joinrel\relbar\joinrel\relbar\joinrel\rightarrow}
+\def\llongleftarrow{%%%<---
+ \leftarrow\joinrel\relbar\joinrel\relbar\joinrel\relbar}
+\def\llongleftrightarrow{%%%<--->
+ \leftarrow\joinrel\relbar\joinrel\relbar\joinrel\rightarrow}
+\def\Equilibarrow{%%%<--- and --->
+ \mathrel{\ooalign{\raise.35ex\hbox{$\llongrightarrow$}\crcr
+ \lower.35ex\hbox{$\llongleftarrow$}}}}
+\def\Llongrightarrow{%%%===>
+ \Relbar\joinrel\Relbar\joinrel\Relbar\joinrel\Rightarrow}
+\def\Llongleftarrow{%%%<===
+ \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel\Relbar}
+\def\Llongleftrightarrow{%%<===>
+ \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel\Rightarrow}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+
+%
+% \begin{macro}{\llongleftharpoondown}
+% \begin{macro}{\llongrightharpoondown}
+% \begin{macro}{\equilibarrow}
+%
+% \begin{macrocode}
+\def\llongleftharpoondown{%%% /---
+ \leftharpoondown\joinrel\relbar\joinrel\relbar\joinrel\relbar}
+\def\llongrightharpoonup{%%%---/
+ \relbar\joinrel\relbar\joinrel\relbar\joinrel\rightharpoonup}
+\def\equilibarrow{%%% /--- and ---/
+ \mathrel{\ooalign{%
+ \raise.3ex\hbox{$\llongrightharpoonup$}\crcr
+ \lower.3ex\hbox{$\llongleftharpoondown$}}}}
+% \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\lllongrightarrow{\relbar\joinrel\relbar%
+ \joinrel\relbar\joinrel\relbar\joinrel\rightarrow}
+\def\lllongleftarrow{%%%<-------
+ \leftarrow\joinrel\relbar\joinrel\relbar%
+ \joinrel\relbar\joinrel\relbar}
+\def\lllongleftrightarrow{%%%<------->
+ \leftarrow\joinrel\relbar\joinrel\relbar%
+ \joinrel\relbar\joinrel\rightarrow}
+\def\Equiliblongarrow{%%%<------- and ------->
+ \mathrel{\ooalign{\raise.35ex\hbox{$\lllongrightarrow$}\crcr
+ \lower.35ex\hbox{$\lllongleftarrow$}}}}
+\def\Lllongrightarrow{%%%=======>
+ \Relbar\joinrel\Relbar\joinrel\Relbar\joinrel%
+ \Relbar\joinrel\Rightarrow}
+\def\Lllongleftarrow{%%%<=======
+ \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel%
+ \Relbar\joinrel\Relbar}
+\def\Lllongleftrightarrow{%%<=======>
+ \Leftarrow\joinrel\Relbar\joinrel\Relbar\joinrel%
+ \Relbar\joinrel\Rightarrow}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\lllongleftharpoondown}
+% \begin{macro}{\lllongrightharpoondown}
+% \begin{macro}{\equiliblongarrow}
+% \begin{macro}{\deHBr}
+%
+% \begin{macrocode}
+\def\lllongleftharpoondown{%%% /-------
+ \leftharpoondown\joinrel\relbar\joinrel\relbar%
+ \joinrel\relbar\joinrel\relbar}
+\def\lllongrightharpoonup{%%%-------/
+ \relbar\joinrel\relbar\joinrel\relbar\joinrel%
+ \relbar\joinrel\rightharpoonup}
+\def\equiliblongarrow{%%% /------ and ------/
+ \mathrel{\ooalign{%
+ \raise.3ex\hbox{$\lllongrightharpoonup$}\crcr
+ \lower.3ex\hbox{$\lllongleftharpoondown$}}}}
+% %%%%%
+\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}
+% \begin{macrocode}
+% ********************
+% * chemform command *
+% ********************
+% After Chapter 9 of ``LaTeX for (Bio)Chemists'' by Shinsaku Fujita
+\def\chemcorr{%
+ \fontdimen16\textfont2=3.5pt
+ \fontdimen17\textfont2=3.5pt
+ %\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}
+%
+% \begin{macro}{\ifnewl@tex}
+%
+% The `chem' for mathversion is introduced to describe chemical equations.
+% \begin{macrocode}
+\newif\ifnewl@tex \newl@textrue
+\@ifundefined{DeclareMathVersion}%
+ {\global\newl@texfalse}{\global\newl@textrue}%
+%
+\ifnewl@tex\@ifundefined{mv@chem}{\DeclareMathVersion{chem}%
+ \SetSymbolFont{letters}{chem}{OT1}{cmr}{m}{n}}{}\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}
+\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}
+%
+% \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{picture}(#1,#2)(#3,#4)\fi\ignorespaces}
+\def\endXyMcompd{%
+\ifx\kkk\empty\else\end{picture}\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
+%</chemist>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \Finale
+\endinput
+ \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/chemstr.dtx b/Master/texmf-dist/source/latex/xymtex/chemstr.dtx
new file mode 100644
index 00000000000..0bab3fdb3ea
--- /dev/null
+++ b/Master/texmf-dist/source/latex/xymtex/chemstr.dtx
@@ -0,0 +1,8567 @@
+% \iffalse meta-comment
+%% File: chemstr.dtx
+%
+% Copyright 1993,1996,1998 by Shinsaku Fujita
+%
+% This file is part of XyMTeX system.
+% -------------------------------------
+%
+% This file is a successor to:
+%
+% chemstr.sty
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00}
+% \typeout{ -- Released December 1, 1993 by Shinsaku Fujita}
+% Copyright (C) 1993 by Shinsaku Fujita, all rights reserved.
+%
+% This file is a part of the macro package ``XyMTeX'' which has been
+% designed for typesetting chemical structural formulas.
+%
+% This file is to be contained in the ``xymtex'' directory which is
+% an input directory for TeX. It is a LaTeX optional style file and
+% should be used only within LaTeX, because several macros of the file
+% are based on LaTeX commands.
+%
+% For the review of XyMTeX, see
+% (1) Shinsaku Fujita, ``Typesetting structural formulas with the text
+% formatter TeX/LaTeX'', Computers and Chemistry, in press.
+% The following book deals with an application of TeX/LaTeX to
+% preparation of manuscripts of chemical fields:
+% (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists''
+% Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese].
+%
+% Copying of this file is authorized only if either
+% (1) you make absolutely no changes to your copy, including name and
+% directory name; or
+% (2) if you do make changes,
+% (a) you name it something other than the names included in the
+% ``xymtex'' directory and
+% (b) you are requested to leave this notice intact.
+% This restriction ensures that all standard styles are identical.
+%
+% Please report any bugs, comments, suggestions, etc. to:
+% Shinsaku Fujita,
+% Ashigara Research Laboratories, Fuji Photo Film Co., Ltd.,
+% Minami-Ashigara, Kanagawa-ken, 250-01, Japan.
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Bug Fix:
+% 1993/11/14 S. Fujita
+% A and B are interchanged.
+% a and b are interchanged.
+%
+% \def\j@urnalname{chemstr}
+% \def\versi@ndate{December 01, 1993}
+% \def\versi@nno{ver1.00}
+% \def\copyrighth@lder{SF}% % Shinsaku Fujita
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.01}
+% \typeout{ -- Released August 16, 1996 by Shinsaku Fujita}
+% \def\j@urnalname{chemstr}
+% \def\versi@ndate{August 16, 1996}
+% \def\versi@nno{ver1.01}
+% \def\copyrighth@lder{SF} % Shinsaku Fujita
+%
+% New address:
+% Shinsaku Fujita,
+% Department of Chemistry and Materials Technology,
+% Kyoto Institute of Technology, \\
+% Matsugasaki, Sakyoku, Kyoto, 606 Japan
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \def\j@urnalname{chemstr}
+% \def\versi@ndate{October 31, 1998}
+% \def\versi@nno{ver1.02}
+% \def\copyrighth@lder{SF} % Shinsaku Fujita
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% \fi
+%
+% \CheckSum{13300}
+%% \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 \~}
+%
+% \setcounter{StandardModuleDepth}{1}
+%
+% \StopEventually{}
+% \MakeShortVerb{\|}
+%
+% \iffalse
+% \changes{v1.01}{1996/06/26}{first edition for LaTeX2e}
+% \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e}
+% \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e}
+% \fi
+%
+% \iffalse
+%<*driver>
+\NeedsTeXFormat{pLaTeX2e}
+% \fi
+\ProvidesFile{chemstr.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
+% \iffalse
+\documentclass{ltxdoc}
+\GetFileInfo{chemstr.dtx}
+%
+% %%XyMTeX Logo: Definition 2%%%
+\def\UPSILON{\char'7}
+\def\XyM{X\kern-.30em\smash{%
+\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
+\def\XyMTeX{\XyM\kern-.1em\TeX}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\title{Basic Commands for Drawing Chemical Structures
+by {\sffamily chemstr.sty}
+(\fileversion) of \XyMTeX{}}
+\author{Shinsaku Fujita \\
+Department of Chemistry and Materials Technology, \\
+Kyoto Institute of Technology, \\
+Matsugasaki, Sakyoku, Kyoto, 606 Japan
+% % (old address)
+% % Ashigara Research Laboratories,
+% % Fuji Photo Film Co., Ltd., \\
+% % Minami-Ashigara, Kanagawa, 250-01 Japan
+}
+\date{\filedate}
+%
+\begin{document}
+ \maketitle
+ \DocInput{chemstr.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \section{Introduction}\label{chemstr:intro}
+%
+% \subsection{Options for {\sffamily docstrip}}
+%
+% \DeleteShortVerb{\|}
+% \begin{center}
+% \begin{tabular}{|l|l|}
+% \hline
+% \emph{option} & \emph{function}\\ \hline
+% chemstr & chemstr.sty \\
+% driver & driver for this dtx file \\
+% \hline
+% \end{tabular}
+% \end{center}
+% \MakeShortVerb{\|}
+%
+% \subsection{Version Information}
+%
+% \begin{macrocode}
+%<*chemstr>
+\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
+\typeout{ -- Released December 25, 1998 by Shinsaku Fujita}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\def\j@urnalname{chemstr}
+\def\versi@ndate{December 25, 1998}
+\def\versi@nno{ver2.00}
+\def\copyrighth@lder{SF} % Shinsaku Fujita
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
+\space[\copyrighth@lder]}
+% \end{macrocode}
+%
+% \section{List of commands for chemstr.sty}
+%
+% \begin{verbatim}
+% *********************************
+% * chemstr.sty: list of commands *
+% *********************************
+%
+% <For separating an augument list to each argument>
+%
+% \@forsemicol
+% \@forl@@p
+% \@iforl@@p
+% \@m@mb@r
+% \twoch@r
+% \twoCH@R (terminater //)
+% \twoch@@r
+% \twoCH@@R (terminater //)
+% \threech@r
+% \end{verbatim}
+%
+% \begin{verbatim}
+% <Convention>
+%
+% \rmoiety
+% \lmoiety
+% \putlatom
+% \putratom
+% \putlratom
+% \Putlratom
+%
+% \end{verbatim}
+%
+% \begin{verbatim}
+% <Treatment of substitution positions>
+%
+% \if@clip \@clipfalse \@cliptrue
+% \if@aclip \@aclipfalse \@acliptrue
+% \if@bclip \@bclipfalse \@bcliptrue
+% \if@cclip \@cclipfalse \@ccliptrue
+% \if@eclip \@eclipfalse \@ecliptrue
+% \if@fclip \@fclipfalse \@fcliptrue
+% \iforigpt \origptfalse \origpttrue
+% \@tmpaa (counter)
+%
+% <Structures as substituents>
+% \@yl
+% \yl@xdiff \yl@ydiff
+% \yl@shiftii
+% \yl@shifti
+% \@ylii
+% \@yli
+% \@@ylii
+% \@@yli
+%
+% <Fused positions check>
+% \fuseAx \fuseAy
+% \fuseBx \fuseBy
+%
+% \end{verbatim}
+%
+% \begin{verbatim}
+% <VERTICAL SETTING>
+% Substitution
+%
+% \@substa
+% \@substb
+% \@substc
+% \@substd
+% \@subste
+% \@substf
+%
+% \end{verbatim}
+%
+% \begin{verbatim}
+% Setting of atoms and bonds
+%
+% \setsixringv (on a vertical six-membered ring)
+% \setdecaringv (on a decaline (six-six) ring)
+% \setfusedbond (at fused bond positions)
+% \if@clipfuse \@clipfusefalse \@clipfusetrue
+% \setatombond (at an appropiate position)
+%
+% Placing structures as substituents
+% \ylposition
+% \ylfusedpostion
+% \ylatombondposition
+%
+% \end{verbatim}
+%
+% \begin{verbatim}
+% <HORIZONTAL SETTING>
+% Substitution
+%
+% \@hsubsta
+% \@hsubstb
+% \@hsubstc
+% \@hsubstd
+% \@hsubste
+% \@hsubstf
+%
+% \end{verbatim}
+%
+% \begin{verbatim}
+% Setting of atoms and bonds
+%
+% \setsixringh (on a horizontal six-membered ring)
+%
+% Placing structures as substituents
+%
+% \ylpositionh
+%
+% \end{verbatim}
+%
+% \begin{verbatim}
+% <Linking unit>
+%
+% \ryl (right linking unit)
+% \lyl (left linking unit)
+%
+% <Setting fused rings>
+%
+% \set@fusionadd@sixv \set@fusion@sixv
+% \set@fusionadd@sixvi \set@fusion@sixvi
+% \set@fusionadd@sixh \set@fusion@sixh
+% \set@fusionadd@sixhi \set@fusion@sixhi
+%
+% \set@fusion@decav
+% \set@fusion@decavb
+% \set@fusion@decavt
+% \set@fusion@decah
+%
+% \set@fusion@hanthrav
+% \set@fusion@hphenanv
+%
+% \set@fusionadd@fivev \set@fusion@fivev
+% \set@fusionadd@fivevi \set@fusion@fivevi
+% \set@fusionadd@fiveh \set@fusion@fiveh
+% \set@fusionadd@fivehi \set@fusion@fivehi
+%
+% \set@fusion@nonav \set@fusion@nonavi
+% \set@fusion@nonah \set@fusion@nonahi
+% \end{verbatim}
+%
+% \section{Initialization and conventions}
+% \subsection{Logos}
+%
+% The logo of \XyMTeX{} is defined in two ways. The first definition uses
+% the \verb/\fam/ command, which sometimes shows unusual behavior. The
+% second definition is adopted in the present version of \XyMTeX{}, since
+% this aims at the compatibility to \LaTeXe{}.
+%
+% \begin{macro}{\XyMTeX}
+% \begin{macrocode}
+% ***************
+% * XyMTeX Logo *
+% ***************
+% %%XyMTeX Logo: Definition 1%%%
+%\newcount\TestCount
+%\def\XyM{\ifnum\fam=-1\relax\fam=0\relax\fi\TestCount=\fam%
+%X\kern-.30em\smash{\raise.50ex\hbox{$\fam\TestCount\Upsilon$}}%
+%\kern-.30em{M}}
+%\def\XyMTeX{\XyM\kern-.1em\TeX}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \end{macrocode}
+%
+% \begin{macrocode}
+% %%XyMTeX Logo: Definition 2%%%
+\def\UPSILON{\char'7}
+\def\XyM{X\kern-.30em\smash{\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
+\def\XyMTeX{\XyM\kern-.1em\TeX}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Macros for treating argumets}
+%
+% For separating each argument (BONDLIST, SUBSLIST or ATOMLIST) into
+% components (descriptors), we define several useful macros.
+%
+% \begin{macro}{\@forsemicol}
+% \begin{macro}{\@forl@@p}
+% \begin{macro}{\@iforl@@p}
+%
+% The macro |\@forsemicol| resembles the |\@for| macro that is
+% the \LaTeX{} original macro; however a semicolon is used as
+% a separating key in place of a comma.
+%
+% \changes{v1.01}{1996/07/06}{\cs{@forsemicol}: \cs{edef}
+% to \cs{expandafter}}
+% \changes{v1.01}{1996/07/06}{\cs{@iforl@@p} replaced by
+% a LaTeX2e-like definitiion}
+%
+% \begin{macrocode}
+% ****************************************************
+% * For separating an augument list to each argument *
+% ****************************************************
+%
+\def\@forsemicol#1:=#2\do#3{%
+% \edef\@fortmp{#2}%1996/07/06 by S. Fujita
+ \expandafter\def\expandafter\@fortmp\expandafter{#2}%
+ \ifx\@fortmp\@empty \else%
+ \expandafter\@forl@@p#2;\@nil;\@nil\@@#1{#3}\fi}
+\long\def\@forl@@p#1;#2;#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else%
+ #5\def#4{#2}\ifx #4\@nnil \else#5\@iforl@@p #3\@@#4{#5}\fi\fi}
+\long\def\@iforl@@p#1;#2\@@#3#4{\def#3{#1}\ifx #3\@nnil%
+ \expandafter\@fornoop \else
+ #4\relax\expandafter\@iforl@@p\fi#2\@@#3{#4}}
+%\def\@iforl@@p#1;#2\@@#3#4{\def#3{#1}\ifx #3\@nnil%
+% \let\@nextwhile=\@fornoop \else%
+% #4\relax\let\@nextwhile=\@iforl@@p\fi\@nextwhile#2\@@#3{#4}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% The macro |\@m@mb@r| separates a character string into to portions
+% by using a double equality symbol (|==|) and a semicolon as delimiters.
+% The first potion consists of a locant number and a bond modifier (stored
+% in |\@membera|), which are further separated by the macro |\twoch@r|,
+% |\twoch@@r| or |\threech@r|.
+% The second potion shows a substituent (stored in |\@memberb|),
+% which is printed by means of an appropiate command.
+%
+% \begin{macro}{\@m@mb@r}
+% \begin{macro}{\twoch@r}
+% \begin{macro}{\twoch@@r}
+% \begin{macro}{\threech@r}
+% \begin{macrocode}
+\def\@m@mb@r#1==#2;{\gdef\@membera{#1}\gdef\@memberb{#2}}
+\def\twoch@r#1#2{\gdef\@tmpa{#1}\gdef\@tmpb{#2}}
+\def\twoch@@r#1#2{\gdef\@@tmpa{#1}\gdef\@@tmpb{#2}}
+\def\threech@r#1#2#3{\gdef\@tmpa{#1}\gdef\@tmpb{#2}\gdef\@tmpc{#3}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% The following two commands are added to treat spiro fusion.
+% \changes{v2.00}{1998/11/15}{Added for spiro fusion}
+%
+% \begin{macro}{\twoCH@R}
+% \begin{macro}{\twoCH@@R}
+% \begin{macrocode}
+\def\twoCH@@R#1#2//{\gdef\@@tmpa{#1}\gdef\@@tmpb{#2}}
+\def\twoCH@R#1#2//{\gdef\@tmpa{#1}\gdef\@tmpb{#2}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Conventions}
+%
+% Switches for characterizing substitution sites as
+% left, right or left-right boxes become effective in
+% the commands |\putlatom|, |\putratom| and |\putlratom|.
+% They are used for warning wrong or unnecessary usages of
+% |\lmoiety| or |\rmoiety|.
+%
+% \changes{v1.02}{1998/10/20}{Switches \cs{@leftput} added}
+%
+% \begin{macro}{\if@leftput}
+% \begin{macro}{\if@rightput}
+% \begin{macro}{\if@leftrightput}
+% \begin{macro}{\resetlrput}
+% \begin{macrocode}
+\newif\if@rightput \@rightputfalse
+\newif\if@leftput \@leftputfalse
+\newif\if@leftrightput \@leftrightputfalse
+\def\resetlrput{\@rightputfalse\@leftputfalse
+\@leftrightputfalse}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% We can use the macro |\rmoiety| for drawing a right-hand substituent
+% and the macro |\lmoiety| for drawing a left-hand substituent.
+%
+% \changes{v1.02}{1998/10/20}{The definitions of \cs{rmoiety} and
+% \cs{lmoiety} are changed. Warning function is added.}
+%
+% When you use a |\rmoiety| command in a left box produced by
+% a |\putlatom| command, the warning ``Wrong |\rmoiety|'' is reported.
+% When you use a |\lmoiety| command in a right box produced by
+% a |\putratom| command, the warning ``Wrong |\lmoiety|'' is reported.
+% If the ``draft'' option is effective, these cases are designated by
+% solid squares at the corresponding positions on pages.
+%
+% \begin{macro}{\rmoiety}
+% \begin{macro}{\lmoiety}
+% \begin{macrocode}
+% **************
+% * Convention *
+% **************
+% %\def\rmoiety#1{#1 \hss}
+% %\def\lmoiety#1{\hss #1}
+\def\rmoiety#1{\if@leftput
+\XyMTeXWarning{Wrong \string\rmoiety\space used in a left box}%
+\hbox to0pt{%
+\hbox to0pt{\hss\vrule width\overfullrule height\overfullrule}#1\hss}%
+\else\if@rightput\XyMTeXWarning{Unnecessary \string\rmoiety\space
+used in a right box}\hbox to0pt{#1\hss}%
+\else\if@leftrightput\hbox to0pt{#1\hss}%
+\fi\fi\fi\resetlrput}
+\def\lmoiety#1{\if@rightput
+\XyMTeXWarning{Wrong \string\lmoiety\space used in a right box}%
+\hbox to0pt{\hss#1\kern-.72em%
+\hbox to0pt{\vrule width\overfullrule height\overfullrule\hss}}\else
+\if@leftput\XyMTeXWarning{Unnecessary \string\lmoiety\space
+used in a left box}\hbox to0pt{\hss#1}%
+\else\if@leftrightput\hbox to0pt{\hss#1\kern-.72em}%
+\else\hbox to0pt{\hss#1\kern-.72em}\fi\fi\fi\resetlrput}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% Warnings from \XyMTeX{} are concerned with commands
+% |\rmoiety| and |\lmoiety|.
+%
+% \begin{macro}{\XyMTeXWarning}
+% \begin{macrocode}
+\def\XyMTeXWarning#1{%
+\begingroup
+ \let\protect\string
+ \immediate\write\@unused{^^IXyMTeX Warning: #1\space
+ on input line \the\inputlineno^^I}%
+\endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% Warnings concerned with ring fusion are based on
+% the command |\FuseWarning| of \XyMTeX{}.
+% \changes{v2.00}{1998/11/15}{Warning function is added.}
+%
+% \begin{macro}{\@cnttempa}
+% \begin{macro}{\@cnttempb}
+% \begin{macro}{\FuseWarning}
+% \begin{macrocode}
+\newcount\@cnttempa
+\newcount\@cnttempb
+\def\FuseWarning#1#2#3#4#5#6#7{%
+\@tempcnta=#1 \@tempcntb=#2
+\@cnttempa=#3 \advance\@cnttempa-#5
+\@cnttempb=#4 \advance\@cnttempb-#6
+\ifnum\@tempcnta=\@cnttempa
+ \ifnum\@tempcntb=\@cnttempb\else
+ \XyMTeXWarning{Mismatched fusion at bond `#7'}%
+ \fi
+\else
+ \XyMTeXWarning{Mismatched fusion at bond `#7'}%
+\fi}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% The original \LaTeX{} command |\put| is changed into macros suitable to
+% more specific uses as follows.
+%
+% \changes{v1.02}{1998/10/20}{The definition is changed. Warning function
+% for \cs{rmoiety} is added.}
+%
+% \begin{macro}{\putlatom}
+% \begin{macrocode}
+% %\def\putlatom#1#2#3{\put(#1,#2){\hbox to0pt{\hss #3}}}
+\def\putlatom#1#2#3{\begingroup\resetlrput
+\put(#1,#2){\@leftputtrue\hbox to0pt{\hss #3}\@leftputfalse}\endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v1.02}{1998/10/20}{The definition is changed. Warning function
+% for \cs{lmoiety} is added.}
+%
+% \begin{macro}{\putratom}
+% \begin{macrocode}
+%\def\putratom#1#2#3{\put(#1,#2){\hbox to0pt{#3 \hss}}}
+\def\putratom#1#2#3{\begingroup\resetlrput
+\put(#1,#2){\@rightputtrue\hbox to0pt{#3 \hss}\@rightputfalse}\endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v1.02}{1998/10/20}{The definition is changed. Warning function
+% for \cs{lmoiety} and \cs{rmoiety|} is added.}
+%
+% \begin{macro}{\putlratom}
+% \begin{macrocode}
+\def\putlratom#1#2#3{\begingroup\resetlrput
+\put(#1,#2){\@leftrightputtrue\hbox to.72em{#3\hss}}%
+\@leftrightputfalse\endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \changes{v1.01b}{1998/10/06}{\cs{putlratom}: delete \sc{setbox0}}
+% \changes{v1.02}{1998/10/20}{The old definition is
+% totally replaced by the new definition}
+%
+% \begin{verbatim}
+% % old definitions
+% % \begin{macrocode}
+% % changed to avoid Overfull warnings 1993/11/11/S.Fujita
+% % \newif\if@moiety \@moietyfalse
+% % \def\putlratom#1#2#3{%
+% % \def\lmoiety##1{\global\@moietytrue}%
+% % \setbox0=\hbox{#3}%deleted by S. Fujita
+% % \if@moiety\def\lmoiety##1{\hss ##1}%
+% % \put(#1,#2){\hbox to.72em{#3}}\global\@moietyfalse
+% % \else\put(#1,#2){\hbox to.6em{#3\hss}}\fi}%
+% % \def\putlratom#1#2#3{\put(#1,#2){\hbox to.6em{#3}}}
+% % \end{macrocode}
+% \end{verbatim}
+%
+% \begin{macro}{\Putlratom}
+% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \begin{macrocode}
+\def\Putlratom#1#2#3{\put(#1,#2){\hbox to.8em{#3}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Parameters}
+%
+% The original point for drawing a structural formula is shifted to an
+% appropriate position, which is designated by the following parmeters
+% (counters) for coordinates.
+%
+%
+% \begin{macro}{\noshift}
+% \begin{macro}{\shifti}
+% \begin{macro}{\shiftii}
+% \begin{macro}{\shiftiii}
+% \begin{macrocode}
+% *******************************
+% * Parameters for Coordinates *
+% *******************************
+\newcount\noshift \noshift=0\relax%
+\newcount\shifti \shifti=240\relax%
+\newcount\shiftii \shiftii=400\relax%
+\newcount\shiftiii \shiftiii=800\relax%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% The unit length for \XyMTeX{} is selected to be 0.1pt. This value
+% should not be maintained as possible as you can. A smaller value
+% may disapper a sloped line of short length.
+% \begin{macrocode}
+\unitlength.1pt%
+% \end{macrocode}
+%
+% Parameters for ring fusion are used in fusering.sty.
+% \changes{v2.00}{1999/2/16}{This has been added to process the old XyMTeX
+% manual for Version 1.01}
+%
+% \begin{macro}{\fuseAx}
+% \begin{macro}{\fuseBx}
+% \begin{macro}{\fuseAy}
+% \begin{macro}{\fuseBy}
+% \begin{macrocode}
+\def\fuseAx{0}
+\def\fuseBx{0}
+\def\fuseAy{0}
+\def\fuseBy{0}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Various switchs}
+%
+% These macros are used for clipping spaces at substitution positions.
+% Note that |\if@clip| is used in place of |\if@dclip|.
+%
+% \begin{macro}{\if@clip}
+% \begin{macro}{\if@aclip}
+% \begin{macro}{\if@bclip}
+% \begin{macro}{\if@cclip}
+% \begin{macro}{\if@eclip}
+% \begin{macro}{\if@fclip}
+% \begin{macro}{\iforigpt}
+% \begin{macro}{\@tmpaa}
+% \begin{macrocode}
+% ***************************************
+% * various flags (switches) *
+% * treatment of substitution positions *
+% ***************************************
+%
+% for 6- or lower-membered cycles
+%
+\newif\if@clip \@clipfalse% % switch for clipping at 4
+\newif\if@aclip \@aclipfalse% % switch for clipping at 1
+\newif\if@bclip \@bclipfalse% % switch for clipping at 2
+\newif\if@cclip \@cclipfalse% % switch for clipping at 3
+\newif\if@eclip \@eclipfalse% % switch for clipping at 5
+\newif\if@fclip \@fclipfalse% % switch for clipping at 6
+\newif\iforigpt \origptfalse% % switch for showing the original point
+\newcount\@tmpaa%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\if@gclip}
+% \begin{macro}{\if@hclip}
+% \begin{macro}{\if@iclip}
+% \begin{macro}{\if@jclip}
+% \begin{macrocode}
+%
+% for further-membered cycles
+%
+\newif\if@gclip \@gclipfalse%
+\newif\if@hclip \@hclipfalse%
+\newif\if@iclip \@iclipfalse%
+\newif\if@jclip \@jclipfalse%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsection{Various commands and switchs for using substituents}
+%
+% For drawing a structure as a substituent, the argument (yl) can
+% be used. The following commands and counters are used for shifting
+% the substituent.
+% \changes{v1.02}{1998/10/31}{Commands for setting substituents}
+% \changes{v2.00}{1998/12/25}{Added: \cs{reset@yl@xydiff}}
+%
+% \begin{macro}{\@yl}
+% \begin{macro}{\yl@xdiff}
+% \begin{macro}{\yl@ydiff}
+% \begin{macro}{\yl@shiftii}
+% \begin{macro}{\yl@shifti}
+% \begin{macro}{\@ylii}
+% \begin{macro}{\@yli}
+% \begin{macro}{\@@ylii}
+% \begin{macro}{\@@yli}
+% \begin{macrocode}
+\def\@yl{(yl)}
+\newcount\yl@xdiff
+\newcount\yl@ydiff
+\newcount\yl@shiftii
+\newcount\yl@shifti
+\def\@ylii{0}\def\@yli{0}
+\def\@@ylii{}\def\@@yli{}
+\def\reset@@yl{\gdef\@@ylii{}\gdef\@@yli{}}
+\def\reset@yl@xydiff{\yl@xdiff=0 \yl@ydiff=0\relax}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% The following switches are used for shifting the substituent.
+% The locant flags such as |\@ylatrue| have been stoped to use.
+% \changes{v1.02}{1998/10/11}{Delete \cs{@ylatrue} etc.}
+% \changes{v1.02}{1998/10/31}{Commands for setting substituents}
+%
+% Old definition:
+% \begin{macrocode}
+% %%%%% \newif\if@yla \@ylafalse
+% %%%%% \newif\if@ylb \@ylbfalse
+% %%%%% \newif\if@ylc \@ylcfalse
+% %%%%% \newif\if@yld \@yldfalse
+% %%%%% \newif\if@yle \@ylefalse
+% %%%%% \newif\if@ylf \@ylffalse
+% \end{macrocode}
+%
+% \begin{macro}{\if@ylsw}
+% \begin{macro}{\if@@ylsw}
+% \begin{macrocode}
+\newif\if@ylsw \@ylswfalse
+\newif\if@@ylsw \@@ylswfalse
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{verbatim}
+% Old definition:
+% % \begin{macrocode}
+% %%%%% \def\@reset@ylsw{\@ylafalse\@ylbfalse\@ylcfalse
+% %%%%% \@yldfalse\@ylefalse\@ylffalse\@ylswfalse}
+% % \end{macrocode}
+% \end{verbatim}
+%
+% \begin{macro}{\@reset@ylsw}
+% \begin{macrocode}
+\def\@reset@ylsw{\@ylswfalse\@@ylswfalse}
+% \end{macrocode}
+% \end{macro}
+%
+% The further fusion of a three- or four-membered ring at a center bond
+% of a six-six or six-five ring is permitted, while that of a five-
+% or more-membered ring is not permitted. The macro |\@smallringsw|
+% is used for such switching (fusering.sty).
+%
+% \begin{macro}{\if@smallringsw}
+% \begin{macrocode}
+\newif\if@smallringsw \@smallringswfalse
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Initialization}
+%
+% The |\iniflag| command initializes all of the clipping flags.
+% The |\iniatom| command initializes all of the strings of temporary use
+% such as |\aaa| and |\bbb|, which are associated with respective
+% atom positions.
+% The |\resetbdsw| command resets all of the strings of temporary use
+% such as |\@aaa| and |\@bbb|, which are associated with respective
+% bond positions.
+%
+% \begin{macro}{\iniflag}
+% \begin{macro}{\iniatom}
+% \begin{macro}{\resetbdsw}
+% \changes{v1.02}{1998/10/25}{Delete \sc{global}}
+%
+% \begin{macrocode}
+% %\def\iniflag{%
+% %\global\@aclipfalse\global\@bclipfalse%
+% %\global\@cclipfalse\global\@clipfalse\global\@eclipfalse%
+% %\global\@fclipfalse\global\@gclipfalse\global\@hclipfalse%
+% %\global\@iclipfalse\global\@jclipfalse%
+% %\global\@clipfusefalse}%
+% %\def\iniatom{%
+% %\gdef\aaa{}\gdef\bbb{}\gdef\ccc{}\gdef\ddd{}%
+% %\gdef\eee{}\gdef\fff{}%
+% %\gdef\ggg{}\gdef\hhh{}\gdef\iii{}\gdef\jjj{}%
+% %\gdef\@aaa{}\gdef\@bbb{}\gdef\@ccc{}\gdef\@ddd{}%
+% %\gdef\@eee{}\gdef\@fff{}%
+% %}%
+% %\def\resetbdsw{\gdef\@aaa{a}\gdef\@bbb{b}\gdef\@ccc{c}%
+% %\gdef\@ddd{d}\gdef\@eee{e}\gdef\@fff{f}}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\iniflag{%
+\@aclipfalse\@bclipfalse\@cclipfalse\@clipfalse\@eclipfalse%
+\@fclipfalse\@gclipfalse\@hclipfalse%
+\@iclipfalse\@jclipfalse\@clipfusefalse%
+\global\@smallringswfalse%
+}%
+\def\iniatom{%
+\def\aaa{}\def\bbb{}\def\ccc{}\gdef\ddd{}%
+\def\eee{}\def\fff{}%
+\def\ggg{}\def\hhh{}\def\iii{}\gdef\jjj{}%
+\def\@aaa{}\def\@bbb{}\def\@ccc{}\def\@ddd{}%
+\def\@eee{}\def\@fff{}%
+\def\@ggg{}\def\@hhh{}\def\@iii{}%
+\def\@jjj{}\def\@kkk{}%
+}%
+\def\resetbdsw{\def\@aaa{a}\def\@bbb{b}\def\@ccc{c}%
+\def\@ddd{d}\def\@eee{e}\def\@fff{f}%
+\def\@ggg{g}\def\@hhh{h}\def\@iii{i}%
+\def\@jjj{j}\def\@kkk{k}%
+}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% At the beginning of \XyMTeX\ processing, we initialize atom
+% information by the command |\iniatom|.
+%
+% \begin{macrocode}
+\iniatom
+% \end{macrocode}
+%
+%
+% \section{Macros for Vertical formulas}
+% \subsection{Placing substituents for vertical formulas}
+%
+% Such a drawing command as |\setsixringv| uses several inner macros
+% for placing substituents with bonds. The first set of inner macros
+% are shown as follows.
+%
+% The command |\ylposition| is to obtain the shift values
+% |\@ylii| and |\@yli| which are used for shifting the standard
+% point of a substituent.
+% The locant flags such as |\@ylatrue| have been stoped to use.
+% \changes{v1.02}{1998/10/11}{Delete \cs{@ylatrue} etc.}
+% \changes{v1.02}{1998/10/31}{Commands for setting substituents}
+%
+% \begin{macro}{\ylposition}
+% \begin{macrocode}
+\def\ylposition#1#2#3#4#5{%
+\@@ylswfalse%%%\@reset@ylsw
+\@forsemicol\member:=#1\do{%
+\if@@ylsw\else%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\threech@r\@membera{}{}\relax%
+\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
+\if@@ylsw
+\ifnum#5<0\relax%
+\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
+\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax\fi
+\ifnum\@tmpaa>#3\relax%
+\ifnum\@tmpaa<#4\relax%
+\ifcase\@tmpaa%0 omit
+% \end{macrocode}
+%
+% The flags |\@lyatrue| etc are not used in a revised edition.
+%
+% \begin{macrocode}
+ \or\ifx\aaa\empty
+ \gdef\@ylii{0}\gdef\@yli{-406}\global\@ylswtrue%\@ylatrue% subst. on 1
+ \else
+ \gdef\@ylii{0}\gdef\@yli{-442}\global\@ylswtrue%\@ylatrue% subst. on 1
+ \fi
+ \or\ifx\bbb\empty
+ \gdef\@ylii{-171}\gdef\@yli{-303}\global\@ylswtrue%\@ylbtrue% subst. on 2
+ \else
+ \gdef\@ylii{-213}\gdef\@yli{-327}\global\@ylswtrue%\@ylbtrue% subst. on 2
+ \fi
+ \or\ifx\ccc\empty
+ \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue%\@ylctrue% subst. on 3
+ \else
+ \gdef\@ylii{-213}\gdef\@yli{-79}\global\@ylswtrue%\@ylctrue% subst. on 3
+ \fi
+ \or\ifx\ddd\empty
+ \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
+ \else
+ \gdef\@ylii{0}\gdef\@yli{36}\global\@ylswtrue%\@yldtrue% subst. on 4
+ \fi
+ \or\ifx\eee\empty
+ \gdef\@ylii{171}\gdef\@yli{-103}\global\@ylswtrue%\@yletrue% subst. on 5
+ \else
+ \gdef\@ylii{213}\gdef\@yli{-79}\global\@ylswtrue%\@yletrue% subst. on 5
+ \fi
+ \or\ifx\fff\empty
+ \gdef\@ylii{171}\gdef\@yli{-303}\global\@ylswtrue%\@ylftrue% subst. on 6
+ \else
+ \gdef\@ylii{213}\gdef\@yli{-327}\global\@ylswtrue%\@ylftrue% subst. on 6
+ \fi%
+\fi%end of ifcase
+\fi\fi\fi\fi\fi}}%
+% \end{macrocode}
+% \end{macro}
+%
+% The |\@substa| command is used for placing a substituent (|\@memberb|) at
+% the 1-position (top) of a vertical six-membered ring. The bond linking
+% between the substituent and the 1-position is drawn in the light of
+% the corresponding bond modifier (|\@tmpc| = Sa, Sb, SA, SB etc.).
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
+% \begin{macro}{\@substa}
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 1 %
+% %%%%%%%%%%%%%%%
+\def\@substa{%
+\if@aclip% %clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \put(0,436){\line(0,1){110}}% % single bond at 1
+ \putlratom{-31}{563}{\@memberb}% % left or right type
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-36\relax
+ \yl@ydiff=-27\relax
+ \putlatom{-42}{563}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-18,436){\line(-3,5){60}}% % single bond at 1
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=37\relax
+ \yl@ydiff=-27\relax
+ \putratom{41}{563}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(18,436){\line(3,5){60}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(18,436)(72,526)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=36\relax
+ \yl@ydiff=-27\relax
+ \putratom{41}{563}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(18,436){\line(3,5){60}}% % single bond at 1
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-37\relax
+ \yl@ydiff=-27\relax
+ \putlatom{-42}{563}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-18,436){\line(-3,5){60}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(-18,436)(-72,526)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-36\relax
+ \yl@ydiff=-27\relax
+ \putlatom{-42}{563}{\@memberb}% % left type
+ \put(-18,436){\line(-3,5){60}}% % single bond at 1
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=37\relax
+ \yl@ydiff=-27\relax
+ \putratom{41}{563}{\@memberb}% % right type
+ \put(18,436){\line(3,5){60}}% % single bond at 1
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \putlratom{-31}{563}{\@memberb}% % left or right type
+ \put(-12,436){\line(0,1){110}}% % double bond at 1
+ \put(12,436){\line(0,1){110}}% % double bond at 1
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \putlratom{-31}{563}{\@memberb}% % left or right type
+ {%
+ \thicklines%
+ \put(0,436){\line(0,1){110}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \putlratom{-31}{563}{\@memberb}% % left or right type
+ \@ifundefined{dottedline}{%
+ \put(0,436){\line(0,1){110}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,436)(0,546)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(0,406){\setatombondd}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(0,406){\setatombondf}%
+ }%
+ \else%
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \putlratom{-31}{563}{\@memberb}% % left or right type
+ \put(0,436){\line(0,1){110}}% % single bond at 1
+ \fi\fi\fi\fi%
+ \fi\fi%
+\else% % no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \put(0,406){\line(0,1){140}}% % single bond at 1
+ \putlratom{-31}{563}{\@memberb}% % left or right type
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-30\relax
+ \yl@ydiff=-37\relax
+ \putlatom{-42}{563}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(0,406){\line(-3,5){72}}% % single bond at 1
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=31\relax
+ \yl@ydiff=-37\relax
+ \putratom{41}{563}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(0,406){\line(3,5){72}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,406)(72,526)}}%
+ \else\if\@tmpc u%(u) upper --- (B) beta
+ \yl@xdiff=30\relax
+ \yl@ydiff=-37\relax
+ \putratom{41}{563}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(0,406){\line(3,5){72}}% % single bond at 1
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-31\relax
+ \yl@ydiff=-37\relax
+ \putlatom{-42}{563}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(0,406){\line(-3,5){72}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,406)(-72,526)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-30\relax
+ \yl@ydiff=-37\relax
+ \putlatom{-42}{563}{\@memberb}% % left type
+ \put(0,406){\line(-3,5){72}}% % single bond at 1
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=31\relax
+ \yl@ydiff=-37\relax
+ \putratom{41}{563}{\@memberb}% % right type
+ \put(0,406){\line(3,5){72}}% % single bond at 1
+ \fi\fi\fi\fi\fi%
+ \fi\fi%
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \putlratom{-31}{563}{\@memberb}% % left or right type
+ \put(-12,406){\line(0,1){140}}% % double bond at 1
+ \put(12,406){\line(0,1){140}}% % double bond at 1
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \putlratom{-31}{563}{\@memberb}% % left or right type
+ {%
+ \thicklines%
+ \put(0,406){\line(0,1){140}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \putlratom{-31}{563}{\@memberb}% % left or right type
+ \@ifundefined{dottedline}{%
+ \put(0,406){\line(0,1){140}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,406)(0,546)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(0,406){\setatombondd}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(0,406){\setatombondf}%
+ }%
+ \else%
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \putlratom{-31}{563}{\@memberb}% % left or right type
+ \put(0,406){\line(0,1){140}}% % single bond at 1
+ \fi\fi\fi\fi%
+ \fi\fi
+ \fi}% end of \@substa
+% \end{macrocode}
+% \end{macro}
+%
+% The |\@substb| command is used for placing a substituent (|\@memberb|) at
+% the 2-position (upper-right) of a vertical six-membered ring.
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
+% \begin{macro}{\@substb}
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 2 %
+% %%%%%%%%%%%%%%%
+\def\@substb{%
+ \if@bclip %clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=24\relax
+ \putratom{311}{363}{\@memberb}% % right type
+ \put(201,327){\line(5,3){100}}% % single bond at 2
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-7\relax
+ \yl@ydiff=38\relax
+ \putratom{268}{420}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(201,358){\line(3,5){60}}% % single bond at 2
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=-17\relax
+ \yl@ydiff=23\relax
+ \putratom{318}{280}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(201,303){\line(1,0){100}}% % single bond at 2
+ }{{\thicklines%
+ \dottedline{20}(201,303)(301,303)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=-17\relax
+ \yl@ydiff=23\relax
+ \putratom{318}{280}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(201,303){\line(1,0){100}}% % single bond at 2
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-7\relax
+ \yl@ydiff=38\relax
+ \putratom{268}{420}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(201,358){\line(3,5){60}}% % single bond at 2
+ }{{\thicklines%
+ \dottedline{20}(201,358)(261,458)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-7\relax
+ \yl@ydiff=38\relax
+ \putratom{268}{420}{\@memberb}% % right type
+ \put(201,358){\line(3,5){60}}% % single bond at 2
+ \else\if\@tmpc a%(a) alpha%
+ \yl@xdiff=-17\relax
+ \yl@ydiff=23\relax
+ \putratom{318}{280}{\@memberb}% % right type
+ \put(201,303){\line(1,0){100}}% % single bond at 2
+ \fi\fi\fi\fi\fi%
+ \fi\fi%
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=18\relax
+ \putratom{311}{363}{\@memberb}% % right type
+ \put(194,331){\line(5,3){100}}% % double bond at 2
+ \put(200,305){\line(5,3){100}}% % double bond at 2
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=24\relax
+ \putratom{311}{363}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(201,327){\line(5,3){100}}% % single bond at 2
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=24\relax
+ \putratom{311}{363}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(201,327){\line(5,3){100}}% % single bond at 2
+ }{{\thicklines%
+ \dottedline{20}(201,327)(301,387)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(171,303){\setatombonda}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(171,303){\setatombonde}%
+ }%
+ \else%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=24\relax
+ \putratom{311}{363}{\@memberb}% % right type
+ \put(201,327){\line(5,3){100}}% % single bond at 2
+ \fi\fi\fi\fi%
+ \fi\fi%
+ \else% %no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=12\relax
+ \putratom{301}{363}{\@memberb}% % right type
+ \put(171,303){\line(5,3){120}}% % single bond at 2
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-15\relax
+ \yl@ydiff=13\relax
+ \putratom{258}{410}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(171,303){\line(3,5){72}}% % single bond at 2
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=-7\relax
+ \yl@ydiff=23\relax
+ \putratom{318}{280}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(171,303){\line(1,0){140}}% % single bond at 2
+ }{{\thicklines%
+ \dottedline{20}(171,303)(311,303)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=-7\relax
+ \yl@ydiff=23\relax
+ \putratom{318}{280}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(171,303){\line(1,0){140}}% % single bond at 2
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-15\relax
+ \yl@ydiff=13\relax
+ \putratom{258}{410}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(171,303){\line(3,5){72}}% % single bond at 2
+ }{{\thicklines%
+ \dottedline{20}(171,303)(243,423)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-15\relax
+ \yl@ydiff=13\relax
+ \putratom{258}{410}{\@memberb}% % right type
+ \put(171,303){\line(3,5){72}}% % single bond at 2
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=-7\relax
+ \yl@ydiff=23\relax
+ \putratom{318}{280}{\@memberb}% % right type
+ \put(171,303){\line(1,0){140}}% % single bond at 2
+ \fi\fi\fi\fi\fi%
+ \fi\fi%
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=6\relax
+ \putratom{301}{363}{\@memberb}% % right type
+ \put(168,310){\line(5,3){120}}% % double bond at 2
+ \put(174,284){\line(5,3){120}}% % double bond at 2
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=12\relax
+ \putratom{301}{363}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(171,303){\line(5,3){120}}% % single bond at 2
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=12\relax
+ \putratom{301}{363}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(171,303){\line(5,3){120}}% % single bond at 2
+ }{{\thicklines%
+ \dottedline{20}(171,303)(291,375)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(171,303){\setatombonda}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(171,303){\setatombonde}%
+ }%
+ \else%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=12\relax
+ \putratom{301}{363}{\@memberb}% % right type
+ \put(171,303){\line(5,3){120}}% % single bond at 2
+ \fi\fi\fi\fi%
+ \fi\fi
+ \fi}% end of \@substb
+% \end{macrocode}
+% \end{macro}
+%
+% The |\@substc| command is used for placing a substituent (|\@memberb|) at
+% the 3-position (lower-right) of a vertical six-membered ring.
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff|} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
+% \begin{macro}{\@substc}
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 3 %
+% %%%%%%%%%%%%%%%
+\def\@substc{%
+ \if@cclip %clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=46\relax
+ \putratom{311}{-27}{\@memberb}% % right type
+ \put(201,79){\line(5,-3){110}}% % single bond at 3
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-7\relax
+ \yl@ydiff=28\relax
+ \putratom{268}{-80}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(201,48){\line(3,-5){60}}% % single bond at 3
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=-17\relax
+ \yl@ydiff=29\relax
+ \putratom{318}{74}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(201,103){\line(1,0){100}}% % single bond at 3
+ }{{\thicklines%
+ \dottedline{20}(201,103)(301,103)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=-17\relax
+ \yl@ydiff=29\relax
+ \putratom{318}{74}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(201,103){\line(1,0){100}}% % single bond at 3
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-7\relax
+ \yl@ydiff=28\relax
+ \putratom{268}{-80}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(201,48){\line(3,-5){60}}% % single bond at 3
+ }{{\thicklines%
+ \dottedline{20}(201,48)(261,-52)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-7\relax
+ \yl@ydiff=28\relax
+ \putratom{268}{-80}{\@memberb}% % right type
+ \put(201,48){\line(3,-5){60}}% % single bond at 3
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=-17\relax
+ \yl@ydiff=29\relax
+ \putratom{318}{74}{\@memberb}% % right type
+ \put(201,103){\line(1,0){100}}% % single bond at 3
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=52\relax
+ \putratom{311}{-27}{\@memberb}% % right type
+ \put(194,76){\line(5,-3){100}}% % double bond at 3
+ \put(200,101){\line(5,-3){100}}% % double bond at 3
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=46\relax
+ \putratom{311}{-27}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(201,79){\line(5,-3){100}}% % single bond at 3
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=46\relax
+ \putratom{311}{-27}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(201,79){\line(5,-3){100}}% % single bond at 3
+ }{{\thicklines%
+ \dottedline{20}(201,79)(301,19)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(171,103){\setatombondf}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(171,103){\setatombondc}%
+ }%
+ \else%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=46\relax
+ \putratom{311}{-27}{\@memberb}% % right type
+ \put(201,79){\line(5,-3){100}}% % single bond at 3
+ \fi\fi\fi\fi%
+ \fi\fi%
+ \else%no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=58\relax
+ \putratom{301}{-27}{\@memberb}% % right type
+ \put(171,103){\line(5,-3){120}}% % single bond at 3
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-10\relax
+ \yl@ydiff=48\relax
+ \putratom{258}{-70}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(171,103){\line(3,-5){72}}% % single bond at 3
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=-10\relax
+ \yl@ydiff=30\relax
+ \putratom{318}{74}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(171,103){\line(1,0){140}}% % single bond at 3
+ }{{\thicklines%
+ \dottedline{20}(171,103)(311,103)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=-10\relax
+ \yl@ydiff=30\relax
+ \putratom{318}{74}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(171,103){\line(1,0){140}}% % single bond at 3
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-10\relax
+ \yl@ydiff=48\relax
+ \putratom{258}{-70}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(171,103){\line(3,-5){72}}% % single bond at 3
+ }{{\thicklines%
+ \dottedline{20}(171,103)(243,-17)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-10\relax
+ \yl@ydiff=48\relax
+ \putratom{258}{-70}{\@memberb}% % right type
+ \put(171,103){\line(3,-5){72}}% % single bond at 3
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=-10\relax
+ \yl@ydiff=30\relax
+ \putratom{318}{74}{\@memberb}% % right type
+ \put(171,103){\line(1,0){140}}% % single bond at 3
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=65\relax
+ \putratom{301}{-27}{\@memberb}% % right type
+ \put(168,96){\line(5,-3){120}}% % double bond at 3
+ \put(174,121){\line(5,-3){120}}% % double bond at 3
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=58\relax
+ \putratom{301}{-27}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(171,103){\line(5,-3){120}}% % single bond at 3
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=58\relax
+ \putratom{301}{-27}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(171,103){\line(5,-3){120}}% % single bond at 3
+ }{{\thicklines%
+ \dottedline{20}(171,103)(291,31)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(171,103){\setatombondf}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(171,103){\setatombondc}%
+ }%
+ \else%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=58\relax
+ \putratom{301}{-27}{\@memberb}% % right type
+ \put(171,103){\line(5,-3){120}}% % single bond at 3
+ \fi\fi\fi\fi%
+ \fi\fi
+ \fi
+}% end of \@substc
+% \end{macrocode}
+% \end{macro}
+%
+% The |\@substd| command is used for placing a substituent (|\@memberb|) at
+% the 4-position (bottom) of a vertical six-membered ring.
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
+% \begin{macro}{\@substd}
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 4 %
+% %%%%%%%%%%%%%%%
+\def\@substd{%
+\if@clip %clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ \put(0,-30){\line(0,-1){110}}% % single bond at 4
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-36\relax
+ \yl@ydiff=100\relax
+ \putlatom{-42}{-230}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-18,-30){\line(-3,-5){60}}% % single bond at 4
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=37\relax
+ \yl@ydiff=100\relax
+ \putratom{41}{-230}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(18,-30){\line(3,-5){60}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(18,-30)(72,-120)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=37\relax
+ \yl@ydiff=100\relax
+ \putratom{41}{-230}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(18,-30){\line(3,-5){60}}% % single bond at 4
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-36\relax
+ \yl@ydiff=100\relax
+ \putlatom{-42}{-230}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-18,-30){\line(-3,-5){60}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(-18,-30)(-78,-130)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-36\relax
+ \yl@ydiff=100\relax
+ \putlatom{-42}{-230}{\@memberb}% % left type
+ \put(-18,-30){\line(-3,-5){60}}% % single bond at 4
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=37\relax
+ \yl@ydiff=100\relax
+ \putratom{41}{-230}{\@memberb}% % right type
+ \put(18,-30){\line(3,-5){60}}% % single bond at 4
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ \put(-12,-30){\line(0,-1){110}}% % double bond at 4
+ \put(12,-30){\line(0,-1){110}}% % double bond at 4
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ {%
+ \thicklines%
+ \put(0,-30){\line(0,-1){110}}% % single bond at 4
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ \@ifundefined{dottedline}{%
+ \put(0,-30){\line(0,-1){110}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(0,-30)(0,-140)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(0,0){\setatombonde}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(0,0){\setatombondg}%
+ }%
+ \else%
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ \put(0,-30){\line(0,-1){110}}% % single bond at 4
+ \fi\fi\fi\fi%
+ \fi\fi%
+ \else%no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ \put(0,0){\line(0,-1){140}}% % single bond at 4
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-30\relax
+ \yl@ydiff=110\relax
+ \putlatom{-42}{-230}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(0,0){\line(-3,-5){72}}% % single bond at 4
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=31\relax
+ \yl@ydiff=110\relax
+ \putratom{41}{-230}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(3,-5){72}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(0,0)(72,-120)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=31\relax
+ \yl@ydiff=110\relax
+ \putratom{41}{-230}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(0,0){\line(3,-5){72}}% % single bond at 4
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-30\relax
+ \yl@ydiff=110\relax
+ \putlatom{-42}{-230}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(-3,-5){72}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(0,0)(-72,-120)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-30\relax
+ \yl@ydiff=110\relax
+ \putlatom{-42}{-230}{\@memberb}% % left type
+ \put(0,0){\line(-3,-5){72}}% % single bond at 4
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=31\relax
+ \yl@ydiff=110\relax
+ \putratom{41}{-230}{\@memberb}% % right type
+ \put(0,0){\line(3,-5){72}}% % single bond at 4
+ \fi\fi\fi\fi\fi%
+ \fi\fi%
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ \put(-12,0){\line(0,-1){140}}% % double bond at 4
+ \put(12,0){\line(0,-1){140}}% % double bond at 4
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ {%
+ \thicklines%
+ \put(0,0){\line(0,-1){140}}% % single bond at 4
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(0,-1){140}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(0,0)(0,-140)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(0,0){\setatombonde}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(0,0){\setatombondg}%
+ }%
+ \else%
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ \put(0,0){\line(0,-1){140}}% % single bond at 4
+ \fi\fi\fi\fi%
+ \fi\fi%
+ \fi}%end of \@substd
+% \end{macrocode}
+% \end{macro}
+%
+% The |\@subste| command is used for placing a substituent (|\@memberb|) at
+% the 5-position (lower-left) of a vertical six-membered ring.
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
+% \begin{macro}{\@subste}
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 5 %
+% %%%%%%%%%%%%%%%
+\def\@subste{%
+ \if@eclip%clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=10\relax
+ \yl@ydiff=46\relax
+ \putlatom{-311}{-27}{\@memberb}% % left type
+ \put(-201,79){\line(-5,-3){110}}% % single bond at 5
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=7\relax
+ \yl@ydiff=38\relax
+ \putlatom{-268}{-80}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-201,48){\line(-3,-5){60}}% % single bond at 5
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=17\relax
+ \yl@ydiff=29\relax
+ \putlatom{-318}{74}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-201,103){\line(-1,0){100}}% % single bond at 5
+ }{{\thicklines%
+ \dottedline{20}(-201,103)(-301,103)}}%
+ \else\if\@tmpc u% (u) up --- (B) beta
+ \yl@xdiff=17\relax
+ \yl@ydiff=29\relax
+ \putlatom{-318}{74}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-201,103){\line(-1,0){100}}% % single bond at 5
+ }%
+ \else\if\@tmpc d% (d) down --- (A) alpha
+ \yl@xdiff=7\relax
+ \yl@ydiff=38\relax
+ \putlatom{-268}{-80}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-201,48){\line(-3,-5){60}}% % single bond at 5
+ }{{\thicklines%
+ \dottedline{20}(-201,48)(-261,-52)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=7\relax
+ \yl@ydiff=38\relax
+ \putlatom{-268}{-80}{\@memberb}% % left type
+ \put(-201,48){\line(-3,-5){60}}% % single bond at 5
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=17\relax
+ \yl@ydiff=29\relax
+ \putlatom{-318}{74}{\@memberb}% % left type
+ \put(-201,103){\line(-1,0){100}}% % single bond at 5
+ \fi\fi\fi\fi\fi%
+ \fi\fi%
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=62\relax
+ \putlatom{-311}{-27}{\@memberb}% % left type
+ \put(-194,76){\line(-5,-3){100}}% % double bond at 5
+ \put(-200,101){\line(-5,-3){100}}% % double bond at 5
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=46\relax
+ \putlatom{-311}{-27}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-201,79){\line(-5,-3){100}}% % single bond at 5
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=46\relax
+ \putlatom{-311}{-27}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-201,79){\line(-5,-3){100}}% % single bond at 5
+ }{{\thicklines%
+ \dottedline{20}(-201,79)(-301,21)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(-171,103){\setatombondc}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(-171,103){\setatombondd}%
+ }%
+ \else%
+ \yl@xdiff=10\relax
+ \yl@ydiff=46\relax
+ \putlatom{-311}{-27}{\@memberb}% % left type
+ \put(-201,79){\line(-5,-3){100}}% % single bond at 5
+ \fi\fi\fi\fi%
+ \fi\fi%
+\else%no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=10\relax
+ \yl@ydiff=56\relax
+ \putlatom{-301}{-27}{\@memberb}% % left type
+ \put(-171,103){\line(-5,-3){120}}% % single bond at 5
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=15\relax
+ \yl@ydiff=63\relax
+ \putlatom{-258}{-70}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-171,103){\line(-3,-5){72}}% % single bond at 5
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=15\relax
+ \yl@ydiff=29\relax
+ \putlatom{-326}{74}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-171,103){\line(-1,0){140}}% % single bond at 5
+ }{{\thicklines%
+ \dottedline{20}(-171,103)(-311,103)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=15\relax
+ \yl@ydiff=29\relax
+ \putlatom{-326}{74}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-171,103){\line(-1,0){140}}% % single bond at 5
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=15\relax
+ \yl@ydiff=63\relax
+ \putlatom{-258}{-70}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-171,103){\line(-3,-5){72}}% % single bond at 5
+ }{{\thicklines%
+ \dottedline{20}(-171,103)(-243,-17)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=15\relax
+ \yl@ydiff=63\relax
+ \putlatom{-258}{-70}{\@memberb}% % left type
+ \put(-171,103){\line(-3,-5){72}}% % single bond at 5
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=15\relax
+ \yl@ydiff=29\relax
+ \putlatom{-326}{74}{\@memberb}% % left type
+ \put(-171,103){\line(-1,0){140}}% % single bond at 5
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=62\relax
+ \putlatom{-301}{-27}{\@memberb}% % left type
+ \put(-168,96){\line(-5,-3){120}}% % double bond at 5
+ \put(-174,121){\line(-5,-3){120}}% % double bond at 5
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=56\relax
+ \putlatom{-301}{-27}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-171,103){\line(-5,-3){120}}% % single bond at 5
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=56\relax
+ \putlatom{-301}{-27}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-171,103){\line(-5,-3){120}}% % single bond at 5
+ }{{\thicklines%
+ \dottedline{20}(-171,103)(-311,31)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(-171,103){\setatombondc}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(-171,103){\setatombondd}%
+ }%
+ \else%
+ \yl@xdiff=10\relax
+ \yl@ydiff=56\relax
+ \putlatom{-301}{-27}{\@memberb}% % left type
+ \put(-171,103){\line(-5,-3){120}}%% single bond at 5
+ \fi\fi\fi\fi%
+ \fi\fi%
+ \fi}% end of \@subste
+% \end{macrocode}
+% \end{macro}
+%
+% The |\@substf| command is used for placing a substituent (|\@memberb|) at
+% the 6-position (upper-left) of a vertical six-membered ring.
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd}
+% \begin{macro}{\@substf}
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 6 %
+% %%%%%%%%%%%%%%%
+\def\@substf{%
+ \if@fclip %clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=10\relax
+ \yl@ydiff=24\relax
+ \putlatom{-311}{363}{\@memberb}% % left type
+ \put(-201,327){\line(-5,3){100}}% % single bond at 6
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=8\relax
+ \yl@ydiff=38\relax
+ \putlatom{-268}{420}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-201,358){\line(-3,5){60}}% % single bond at 6
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=17\relax
+ \yl@ydiff=23\relax
+ \putlatom{-318}{280}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-201,303){\line(-1,0){100}}% % single bond at 6
+ }{{\thicklines%
+ \dottedline{20}(-201,303)(-301,303)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=17\relax
+ \yl@ydiff=23\relax
+ \putlatom{-318}{280}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-201,303){\line(-1,0){100}}% % single bond at 6
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=8\relax
+ \yl@ydiff=38\relax
+ \putlatom{-268}{420}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-201,358){\line(-3,5){60}}% % single bond at 6
+ }{{\thicklines%
+ \dottedline{20}(-201,358)(-261,458)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=8\relax
+ \yl@ydiff=38\relax
+ \putlatom{-268}{420}{\@memberb}% % left type
+ \put(-201,358){\line(-3,5){60}}% % single bond at 6
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=17\relax
+ \yl@ydiff=23\relax
+ \putlatom{-318}{280}{\@memberb}% % left type
+ \put(-201,303){\line(-1,0){100}}% % single bond at 6
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=6\relax
+ \putlatom{-311}{363}{\@memberb}% % left type
+ \put(-194,331){\line(-5,3){100}}% % double bond at 6
+ \put(-200,305){\line(-5,3){100}}% % double bond at 6
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=24\relax
+ \putlatom{-311}{363}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-201,327){\line(-5,3){100}}% % single bond at 6
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=24\relax
+ \putlatom{-311}{363}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-201,327){\line(-5,3){100}}% % single bond at 6
+ }{{\thicklines%
+% \dottedline{20}(-201,327)(-301,375)}}%
+ \dottedline{20}(-201,327)(-301,387)}}%1998/10/11 by SF
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(-171,303){\setatombondg}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(-171,303){\setatombonda}%
+ }%
+ \else%
+ \yl@xdiff=10\relax
+ \yl@ydiff=24\relax
+ \putlatom{-311}{363}{\@memberb}% % left type
+ \put(-201,327){\line(-5,3){100}}% % single bond at 6
+ \fi\fi\fi\fi%
+ \fi\fi
+\else%no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=10\relax
+ \yl@ydiff=12\relax
+ \putlatom{-301}{363}{\@memberb}% % left type
+ \put(-171,303){\line(-5,3){120}}% % single bond at 6
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=15\relax
+ \yl@ydiff=13\relax
+ \putlatom{-258}{410}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-171,303){\line(-3,5){72}}% % single bond at 6
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=15\relax
+ \yl@ydiff=23\relax
+ \putlatom{-326}{280}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-171,303){\line(-1,0){140}}% % single bond at 6
+ }{{\thicklines%
+ \dottedline{20}(-171,303)(-311,303)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=15\relax
+ \yl@ydiff=23\relax
+ \putlatom{-326}{280}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-171,303){\line(-1,0){140}}% % single bond at 6
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=15\relax
+ \yl@ydiff=13\relax
+ \putlatom{-258}{410}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-171,303){\line(-3,5){72}}% % single bond at 6
+ }{{\thicklines%
+ \dottedline{20}(-171,303)(-243,423)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=15\relax
+ \yl@ydiff=13\relax
+ \putlatom{-258}{410}{\@memberb}% % left type
+ \put(-171,303){\line(-3,5){72}}% % single bond at 6
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=15\relax
+ \yl@ydiff=23\relax
+ \putlatom{-326}{280}{\@memberb}% % left type
+ \put(-171,303){\line(-1,0){140}}% % single bond at 6
+ \fi\fi\fi\fi\fi%
+ \fi\fi%
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=6\relax
+ \putlatom{-301}{363}{\@memberb}% % left type
+ \put(-168,310){\line(-5,3){120}}% % double bond at 6
+ \put(-174,284){\line(-5,3){120}}% % double bond at 6
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=12\relax
+ \putlatom{-301}{363}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-171,303){\line(-5,3){120}}% % single bond at 6
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=12\relax
+ \putlatom{-301}{363}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-171,303){\line(-5,3){120}}% % single bond at 6
+ }{{\thicklines%
+ \dottedline{20}(-171,303)(-311,375)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(-171,303){\setatombondg}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(-171,303){\setatombonda}%
+ }%
+ \else%
+ \yl@xdiff=10\relax
+ \yl@ydiff=12\relax
+ \putlatom{-301}{363}{\@memberb}% % left type
+ \put(-171,303){\line(-5,3){120}}% % single bond at 6
+ \fi\fi\fi\fi%
+ \fi\fi
+\fi}% end of \@substf
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Setting-up substituents and bonds on a six-membered ring}
+%
+% The |\setsixringv| takes 5 arguments.
+%
+% \begin{verbatim}
+% **************************************************************
+% * setting of atoms and bonds on a vertical six-membered ring *
+% **************************************************************
+%
+% \setsixringv{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}
+% \end{verbatim}
+%
+% The first argument |SUBSLIST| is a list of substituents, which is
+% represented in the standard format of \XyMTeX{}.
+%
+% \begin{verbatim}
+% SUBSLIST: list of substituents (max 6 substitution positions)
+%
+% for n = 1 to 6
+%
+% nD : exocyclic double bond at n-atom
+% n or nS : exocyclic single bond at n-atom
+% nA : alpha single bond at n-atom
+% nB : beta single bond at n-atom
+% nSA : alpha single bond at n-atom (boldface)
+% nSB : beta single bond at n-atom (dotted line)
+% nSa : alpha (not specified) single bond at n-atom
+% nSb : beta (not specified) single bond at n-atom
+%
+% nSd : alpha single bond at n-atom (dotted line)
+% with an alternative direction to nSA
+% nSu : beta single bond at n-atom (boldface)
+% with an alternative direction to nSB
+% nFA : alpha single bond at n-atom (dotted line)
+% for ring fusion
+% nFB : beta single bond at n-atom (boldface)
+% for ring fusion
+% nGA : alpha single bond at n-atom (dotted line)
+% for the other ring fusion
+% nGB : beta single bond at n-atom (boldface)
+% for the other ring fusion
+% \end{verbatim}
+%
+% The second argument |AD| is an adjustment value, which adjusts the original
+% set of locant numbers into the standard one between 1 to 6 for drawing
+% a six-membered ring.
+% The effective range of the standared set of locant numbers is
+% restricted by the auguments |LOWER| and |UPPER|. A minus value of
+% the last argument shows the anti-clockwise numbering, while zero or
+% a plus value represents the clockwise numbering.
+%
+% \begin{verbatim}
+%
+% AD : adjustment e.g. 0 for six-membered rings
+% LOWER : lower limit LOWER < effective range < UPPER
+% UPPER : upper limit
+% ORDER : >= 0 clockwise, <0 anti-clockwise
+% \end{verbatim}
+%
+% \changes{v1.02}{1998/10/31}{Adding switches \cs{@yla} etc.}
+%
+% \begin{macro}{\setsixringv}
+% \begin{macrocode}
+\def\setsixringv#1#2#3#4#5{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\threech@r\@membera{}{}%
+\ifx\@memberb\@yl\else
+\ifnum#5 < 0\relax%
+\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
+\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
+\ifnum\@tmpaa >#3\relax%
+\ifnum\@tmpaa <#4\relax%
+\ifcase\@tmpaa%0 omit
+% \end{macrocode}
+%
+% The following commands are not used in a revised version
+% because of the direct use of |\ifx\@memberb\@yl\else...\fi|.
+%
+% \begin{macrocode}
+% %\or \if@yla\else\@substa\fi% subst. on 1
+% %\or \if@ylb\else\@substb\fi% subst. on 2
+% %\or \if@ylc\else\@substc\fi% subst. on 3
+% %\or \if@yld\else\@substd\fi% subst. on 4
+% %\or \if@yle\else\@subste\fi% subst. on 5
+% %\or \if@ylf\else\@substf\fi% subst. on 6
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \or\@substa% subst. on 1
+ \or\@substb% subst. on 2
+ \or\@substc% subst. on 3
+ \or\@substd% subst. on 4
+ \or\@subste% subst. on 5
+ \or\@substf% subst. on 6
+\fi%end of ifcase
+\fi%
+\fi\fi\fi}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Setting-up substituents and bonds on a decaline ring}
+%
+% The command |\setdecaringv|
+% has been stopped to use and replaced by % |\setsixringv|
+% (version 1.02).
+%
+% The |\setdecaringv| takes 5 arguments.
+%
+% \begin{verbatim}
+% ***********************************************************
+% * setting of atoms and bonds on a decaline (six-six) ring *
+% ***********************************************************
+%
+% \setdecaringv{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}
+% \end{verbatim}
+%
+% The first argument |SUBSLIST| is a list of substituents, which is
+% represented in the standard format of \XyMTeX{}.
+%
+% \begin{verbatim}
+%
+% SUBSLIST: list of substituents (max 8 substitution positions)
+%
+% for n = 1 to 8
+%
+% nD : exocyclic double bond at n-atom
+% n or nS : exocyclic single bond at n-atom
+% nA : alpha single bond at n-atom
+% nB : beta single bond at n-atom
+% nSA : alpha single bond at n-atom (boldface)
+% nSB : beta single bond at n-atom (dotted line)
+% nSa : alpha (not specified) single bond at n-atom
+% nSb : beta (not specified) single bond at n-atom
+%
+% nSd : alpha single bond at n-atom (dotted line)
+% with an alternative direction to nSA
+% nSu : beta single bond at n-atom (boldface)
+% with an alternative direction to nSB
+% nFA : alpha single bond at n-atom (dotted line)
+% for ring fusion
+% nFB : beta single bond at n-atom (boldface)
+% for ring fusion
+% nGA : alpha single bond at n-atom (dotted line)
+% for the other ring fusion
+% nGB : beta single bond at n-atom (boldface)
+% for the other ring fusion
+% \end{verbatim}
+%
+% Substituents at the fused positions are designated by
+% the number 0 and the following bond modifiers.
+%
+% \begin{verbatim}
+% for 0 (fused positions)
+%
+% 0FA : alpha single bond at 8a
+% 0FB : beta single bond at 8a
+% 0FU : unspecified single bond at 8a
+% 0GA : alpha single bond at 4a
+% 0GB : beta single bond at 4a
+% 0GU : unspecified single bond at 4a
+%
+% \end{verbatim}
+%
+% The second argument |AD| is an adjustment value, which adjusts the original
+% set of locant numbers into the standard one between 0 to 8 for drawing
+% a decaline (six-six fused) ring.
+% The effective range of the standared set of locant numbers is
+% restricted by the auguments |LOWER| and |UPPER|. A minus value of
+% the last argument shows the anti-clockwise numbering, while zero or
+% a plus value represents the clockwise numbering.
+%
+% \begin{verbatim}
+% AD : adjustment e.g. 0 for six-membered rings
+% LOWER : lower limit LOWER < effective range < UPPER
+% UPPER : upper limit
+% ORDER : >= 0 clockwise, <0 anti-clockwise
+%
+% \end{verbatim}
+%
+% \begin{verbatim}
+% (Deleted)
+% % \begin{macro}{\setdecaringv}
+% % \begin{macrocode}
+% \def\setdecaringv#1#2#3#4#5{%
+% \@forsemicol\member:=#1\do{\expandafter\@m@mb@r\member;\relax%
+% \expandafter\threech@r\@membera{}{}%
+% \ifnum#5 <0\relax%
+% \@tmpaa=-\@tmpa\relax\advance\@tmpaa by #2\relax%
+% \else\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax\fi%
+% \ifnum\@tmpaa >#3\relax%
+% \ifnum\@tmpaa <#4\relax%
+% % \end{macrocode}
+% %
+% % \begin{macrocode}
+% \ifcase\@tmpaa%
+% % %%%%%%%%%%%%%%%%%%
+% % 0 fused positions
+% % %%%%%%%%%%%%%%%%%%
+% \if\@tmpb F%single bond at 8a (fused position)
+% \if\@tmpc B%beta single bond at 8a (fused position)
+% \putlratom{140}{460}{\@memberb}% % left or right type
+% {%
+% \thicklines%
+% \put(171,303){\line(0,1){140}}% % single bond at 8a
+% }%
+% \else\if\@tmpc A%alpha single bond at 8a (fused position)
+% \putlratom{140}{460}{\@memberb}% % left or right type
+% \@ifundefined{dottedline}{%
+% \put(171,303){\line(0,1){140}}% % single bond at 8a
+% }{{\thicklines%
+% \dottedline{20}(171,303)(171,443)}}%
+% \else\if\@tmpc U%beta single bond at 8a (fused position)
+% \putlratom{140}{460}{\@memberb}% % left or right type
+% \put(168,303){$\wr$}% unspecified single bond at 4a
+% \put(168,353){$\wr$}%
+% \put(168,403){$\wr$}%
+% \else\if\@tmpc S%beta single bond at 8a (fused position)
+% \putlratom{140}{460}{\@memberb}% % left or right type
+% \put(171,303){\line(0,1){140}}% % single bond at 8a
+% \else\ifx\@tmpc\empty%beta single bond at 8a (fused position)
+% \putlratom{140}{460}{\@memberb}% % left or right type
+% \put(171,303){\line(0,1){140}}% % single bond at 8a
+% \fi\fi\fi\fi\fi%
+% \else\if\@tmpb G%single bond at 4a (fused position)
+% \if\@tmpc B%beta single bond at 4a (fused position)
+% \putlratom{140}{-127}{\@memberb}% % left or right type
+% {%
+% \thicklines%
+% \put(171,103){\line(0,-1){140}}% % single bond at 4a
+% }%
+% \else\if\@tmpc A%alpha single bond at 4a (fused position)
+% \putlratom{140}{-127}{\@memberb}% % left or right type
+% \@ifundefined{dottedline}{%
+% \put(171,103){\line(0,-1){140}}% % single bond at 4a
+% }{{\thicklines%
+% \dottedline{20}(171,103)(171,-37)}}%
+% \else\if\@tmpc U%beta single bond at 4a (fused position)
+% \putlratom{140}{-127}{\@memberb}% % left or right type
+% \put(168,43){$\wr$}% unspecified single bond at 4a
+% \put(168,-8){$\wr$}%
+% \put(168,-57){$\wr$}%
+% \else\if\@tmpc S%alpha single bond at 4a (fused position)
+% \putlratom{140}{-127}{\@memberb}% % left or right type
+% \put(171,103){\line(0,-1){140}}% % single bond at 4a
+% \else\ifx\@tmpc\empty%alpha single bond at 4a (fused position)
+% \putlratom{140}{-127}{\@memberb}% % left or right type
+% \put(171,103){\line(0,-1){140}}% % single bond at 4a
+% \fi\fi\fi\fi\fi%
+% \fi\fi%
+% % \end{macrocode}
+% %
+% % \begin{macrocode}
+% % %%%%%%%%%%%%%%%%
+% \or% subst. on 1
+% % %%%%%%%%%%%%%%%%
+% \if\@tmpb S%single bond
+% \ifx\@tmpc\empty%
+% \put(342,406){\line(0,1){140}}% % single bond at 1
+% \putlratom{311}{563}{\@memberb}% % left or right type
+% \else\if\@tmpc B%(B) beta
+% \putlatom{300}{563}{\@memberb}% % left type
+% {%
+% \thicklines%
+% \put(342,406){\line(-3,5){72}}% % single bond at 1
+% }%
+% \else\if\@tmpc A%(A) alpha
+% \putratom{383}{563}{\@memberb}% % right type
+% \@ifundefined{dottedline}{%
+% \put(342,406){\line(3,5){72}}% % single bond at 1
+% }{{\thicklines%
+% \dottedline{20}(342,406)(414,526)}}%
+% \else\if\@tmpc b%(b) beta
+% \putlatom{300}{563}{\@memberb}% % left type
+% \put(342,406){\line(-3,5){72}}% % single bond at 1
+% \else\if\@tmpc a%(a) alpha
+% \putratom{383}{563}{\@memberb}% % right type
+% \put(342,406){\line(3,5){72}}% % single bond at 1
+% \fi\fi\fi\fi\fi
+% \else\if\@tmpb D%double bond
+% \putlratom{311}{563}{\@memberb}% % left or right type
+% \put(330,406){\line(0,1){140}}% % double bond at 1
+% \put(354,406){\line(0,1){140}}% % double bond at 1
+% \else\if\@tmpb B%beta single bond
+% \putlratom{311}{563}{\@memberb}% % left or right type
+% {%
+% \thicklines%
+% \put(342,406){\line(0,1){140}}% % single bond at 1
+% }%
+% \else\if\@tmpb A%alpha single bond
+% \putlratom{311}{563}{\@memberb}% % left or right type
+% \@ifundefined{dottedline}{%
+% \put(342,406){\line(0,1){140}}% %single bond at 1
+% }{{\thicklines%
+% \dottedline{20}(342,406)(342,546)}}%
+% \else%
+% \putlratom{311}{563}{\@memberb}% % left or right type
+% \put(342,406){\line(0,1){140}}% % single bond at 1
+% \fi\fi\fi\fi%
+% % \end{macrocode}
+% %
+% % \begin{macrocode}
+% % %%%%%%%%%%%%%%%
+% \or% subst. on 2
+% % %%%%%%%%%%%%%%%
+% \if\@tmpb S%single bond
+% \ifx\@tmpc\empty%
+% \putratom{643}{363}{\@memberb}% % right type
+% \put(513,303){\line(5,3){120}}% % single bond at 2
+% \else\if\@tmpc B%(B) beta
+% \putratom{600}{410}{\@memberb}% % right type
+% {%
+% \thicklines%
+% \put(513,303){\line(3,5){72}}% % single bond at 2
+% }%
+% \else\if\@tmpc A%(A) alpha
+% \putratom{660}{280}{\@memberb}% % right type
+% \@ifundefined{dottedline}{%
+% \put(513,303){\line(1,0){140}}% % single bond at 2
+% }{{\thicklines%
+% \dottedline{20}(513,303)(653,303)}}%
+% \else\if\@tmpc b%(b) beta
+% \putratom{600}{410}{\@memberb}% % right type
+% \put(513,303){\line(3,5){72}}% % single bond at 2
+% \else\if\@tmpc a%(a) alpha
+% \putratom{660}{280}{\@memberb}% % right type
+% \put(513,303){\line(1,0){140}}% % single bond at 2
+% \fi\fi\fi\fi\fi%
+% \else\if\@tmpb D%double bond
+% \putratom{643}{363}{\@memberb}% % right type
+% \put(510,310){\line(5,3){120}}% % double bond at 2
+% \put(516,284){\line(5,3){120}}% % double bond at 2
+% \else\if\@tmpb B%beta single bond
+% \putratom{643}{363}{\@memberb}% % right type
+% {%
+% \thicklines%
+% \put(513,303){\line(5,3){120}}% % single bond at 2
+% }%
+% \else\if\@tmpb A%alpha single bond
+% \putratom{643}{363}{\@memberb}% % right type
+% \@ifundefined{dottedline}{%
+% \put(513,303){\line(5,3){120}}% % single bond at 2
+% }{{\thicklines%
+% \dottedline{20}(513,303)(633,375)}}%
+% \else%
+% \putratom{643}{363}{\@memberb}% % right type
+% \put(513,303){\line(5,3){120}}% % single bond at 2
+% \fi\fi\fi\fi%
+% % \end{macrocode}
+% %
+% % \begin{macrocode}
+% % %%%%%%%%%%%%%%%
+% \or% subst. on 3
+% % %%%%%%%%%%%%%%%
+% \if\@tmpb S%single bond
+% \ifx\@tmpc\empty%
+% \putratom{643}{-27}{\@memberb}% % right type
+% \put(513,103){\line(5,-3){120}}% % single bond at 3
+% \else\if\@tmpc B%(B) beta
+% \putratom{600}{-70}{\@memberb}% % right type
+% {%
+% \thicklines%
+% \put(513,103){\line(3,-5){72}}% % single bond at 3
+% }%
+% \else\if\@tmpc A%(A) alpha
+% \putratom{660}{74}{\@memberb}% % right type
+% \@ifundefined{dottedline}{%
+% \put(513,103){\line(1,0){140}}% % single bond at 3
+% }{{\thicklines%
+% \dottedline{20}(513,103)(653,103)}}%
+% \else\if\@tmpc b%(b) beta
+% \putratom{600}{-70}{\@memberb}% % right type
+% \put(513,103){\line(3,-5){72}}% % single bond at 3
+% \else\if\@tmpc a%(a) alpha
+% \putratom{660}{74}{\@memberb}% % right type
+% \put(513,103){\line(1,0){140}}% % single bond at 3
+% \fi\fi\fi\fi\fi%
+% \else\if\@tmpb D%double bond
+% \putratom{643}{-27}{\@memberb}% % right type
+% \put(510,96){\line(5,-3){120}}% % double bond at 3
+% \put(516,121){\line(5,-3){120}}% % double bond at 3
+% \else\if\@tmpb B%beta single bond
+% \putratom{643}{-27}{\@memberb}% % right type
+% {%
+% \thicklines%
+% \put(513,103){\line(5,-3){120}}% % single bond at 3
+% }%
+% \else\if\@tmpb A%alpha single bond
+% \putratom{643}{-27}{\@memberb}% % right type
+% \@ifundefined{dottedline}{%
+% \put(513,103){\line(5,-3){120}}% % single bond at 3
+% }{{\thicklines%
+% \dottedline{20}(513,103)(633,31)}}%
+% \else%
+% \putratom{643}{-27}{\@memberb}% % right type
+% \put(513,103){\line(5,-3){120}}% % single bond at 3
+% \fi\fi\fi\fi%
+% % \end{macrocode}
+% %
+% % \begin{macrocode}
+% % %%%%%%%%%%%%%%%
+% \or% subst. on 4
+% % %%%%%%%%%%%%%%%
+% \if\@tmpb S%single bond
+% \ifx\@tmpc\empty%
+% \putlratom{311}{-230}{\@memberb}% % left or right type
+% \put(342,0){\line(0,-1){140}}% % single bond at 4
+% \else\if\@tmpc B%(B) beta
+% \putlatom{300}{-230}{\@memberb}% % left type
+% {%
+% \thicklines%
+% \put(342,0){\line(-3,-5){72}}% % single bond at 4
+% }%
+% \else\if\@tmpc A%(A) alpha
+% \putratom{383}{-230}{\@memberb}% % right type
+% \@ifundefined{dottedline}{%
+% \put(342,0){\line(3,-5){72}}% % single bond at 4
+% }{{\thicklines%
+% \dottedline{20}(342,0)(414,-120)}}%
+% \else\if\@tmpc b%(b) beta
+% \putlatom{300}{-230}{\@memberb}% % left type
+% \put(342,0){\line(-3,-5){72}}% % single bond at 4
+% \else\if\@tmpc a%(a) alpha
+% \putratom{383}{-230}{\@memberb}% % right type
+% \put(342,0){\line(3,-5){72}}% % single bond at 4
+% \fi\fi\fi\fi\fi%
+% \else\if\@tmpb D%double bond
+% \putlratom{311}{-230}{\@memberb}% % left or right type
+% \put(330,0){\line(0,-1){140}}% % double bond at 4
+% \put(354,0){\line(0,-1){140}}% % double bond at 4
+% \else\if\@tmpb B%beta single bond
+% \putlratom{311}{-230}{\@memberb}% % left or right type
+% {%
+% \thicklines%
+% \put(342,0){\line(0,-1){140}}% % single bond at 4
+% }%
+% \else\if\@tmpb A%alpha single bond
+% \putlratom{311}{-230}{\@memberb}% % left or right type
+% \@ifundefined{dottedline}{%
+% \put(342,0){\line(0,-1){140}}% % single bond at 4
+% }{{\thicklines%
+% \dottedline{20}(342,0)(342,-140)}}%
+% \else%
+% \putlratom{311}{-230}{\@memberb}% % left or right type
+% \put(342,0){\line(0,-1){140}}% % single bond at 4
+% \fi\fi\fi\fi%
+% % \end{macrocode}
+% %
+% % \begin{macrocode}
+% % %%%%%%%%%%%%%%%
+% \or% subst. on 5
+% % %%%%%%%%%%%%%%%
+% \if\@tmpb S%single bond
+% \ifx\@tmpc\empty%
+% \putlratom{-31}{-230}{\@memberb}% % left or right type
+% \put(0,0){\line(0,-1){140}}% % single bond at 5
+% \else\if\@tmpc B%(B) beta
+% \putlatom{-42}{-230}{\@memberb}% % left type
+% {%
+% \thicklines%
+% \put(0,0){\line(-3,-5){72}}% % single bond at 5
+% }%
+% \else\if\@tmpc A%(A) alpha
+% \putratom{41}{-230}{\@memberb}% % right type
+% \@ifundefined{dottedline}{%
+% \put(0,0){\line(3,-5){72}}% % single bond at 5
+% }{{\thicklines%
+% \dottedline{20}(0,0)(72,-120)}}%
+% \else\if\@tmpc b%(b) beta
+% \putlatom{-42}{-230}{\@memberb}% % left type
+% \put(0,0){\line(-3,-5){72}}% % single bond at 5
+% \else\if\@tmpc a%(a) alpha
+% \putratom{41}{-230}{\@memberb}% % right type
+% \put(0,0){\line(3,-5){72}}% % single bond at 5
+% \fi\fi\fi\fi\fi
+% \else\if\@tmpb D%double bond
+% \putlratom{-31}{-230}{\@memberb}% % left or right type
+% \put(-12,0){\line(0,-1){140}}% % double bond at 5
+% \put(12,0){\line(0,-1){140}}% % double bond at 5
+% \else\if\@tmpb B%beta single bond
+% \putlratom{-31}{-230}{\@memberb}% % left or right type
+% {%
+% \thicklines%
+% \put(0,0){\line(0,-1){140}}% % single bond at 5
+% }%
+% \else\if\@tmpb A%alpha single bond
+% \putlratom{-31}{-230}{\@memberb}% % left or right type
+% \@ifundefined{dottedline}{%
+% \put(0,0){\line(0,-1){140}}% % single bond at 5
+% }{{\thicklines%
+% \dottedline{20}(0,0)(0,-140)}}%
+% \else%
+% \putlratom{-31}{-230}{\@memberb}% % left or right type
+% \put(0,0){\line(0,-1){140}}% % single bond at 5
+% \fi\fi\fi\fi%
+% % \end{macrocode}
+% %
+% % \begin{macrocode}
+% % %%%%%%%%%%%%%%%
+% \or% subst. on 6
+% % %%%%%%%%%%%%%%%
+% \if\@tmpb S%single bond
+% \ifx\@tmpc\empty%
+% \putlatom{-301}{-27}{\@memberb}% % left type
+% \put(-171,103){\line(-5,-3){120}}% % single bond at 6
+% \else\if\@tmpc B%(B) beta
+% \putlatom{-258}{-70}{\@memberb}% % left type
+% {%
+% \thicklines%
+% \put(-171,103){\line(-3,-5){72}}% % single bond at 6
+% }%
+% \else\if\@tmpc A%(A) alpha
+% \putlatom{-326}{74}{\@memberb}% % left type
+% \@ifundefined{dottedline}{%
+% \put(-171,103){\line(-1,0){140}}% % single bond at 6
+% }{{\thicklines%
+% \dottedline{20}(-171,103)(-311,103)}}%
+% \else\if\@tmpc b%(b) beta
+% \putlatom{-258}{-70}{\@memberb}% % left type
+% \put(-171,103){\line(-3,-5){72}}% % single bond at 6
+% \else\if\@tmpc a%(a) alpha
+% \putlatom{-326}{74}{\@memberb}% % left type
+% \put(-171,103){\line(-1,0){140}}% % single bond at 6
+% \fi\fi\fi\fi\fi
+% \else\if\@tmpb D%double bond
+% \putlatom{-301}{-27}{\@memberb}% % left type
+% \put(-168,96){\line(-5,-3){120}}% % double bond at 6
+% \put(-174,121){\line(-5,-3){120}}% % double bond at 6
+% \else\if\@tmpb B%beta single bond
+% \putlatom{-301}{-27}{\@memberb}% % left type
+% {%
+% \thicklines%
+% \put(-171,103){\line(-5,-3){120}}% % single bond at 6
+% }%
+% \else\if\@tmpb A%alpha single bond
+% \putlatom{-301}{-27}{\@memberb}% % left type
+% \@ifundefined{dottedline}{%
+% \put(-171,103){\line(-5,-3){120}}% % single bond at 6
+% }{{\thicklines%
+% \dottedline{20}(-171,103)(-311,31)}}%
+% \else%
+% \putlatom{-301}{-27}{\@memberb}% % left type
+% \put(-171,103){\line(-5,-3){120}}% single bond at 6
+% \fi\fi\fi\fi%
+% % \end{macrocode}
+% %
+% % \begin{macrocode}
+% % %%%%%%%%%%%%%%%
+% \or% subst. on 7
+% % %%%%%%%%%%%%%%%
+% \if\@tmpb S%single bond
+% \ifx\@tmpc\empty%
+% \putlatom{-301}{363}{\@memberb}% % left type
+% \put(-171,303){\line(-5,3){120}}% % single bond at 7
+% \else\if\@tmpc B%(B) beta
+% \putlatom{-258}{410}{\@memberb}% % left type
+% {%
+% \thicklines%
+% \put(-171,303){\line(-3,5){72}}% % single bond at 7
+% }%
+% \else\if\@tmpc A%(A) alpha
+% \putlatom{-326}{280}{\@memberb}% % left type
+% \@ifundefined{dottedline}{%
+% \put(-171,303){\line(-1,0){140}}% % single bond at 7
+% }{{\thicklines%
+% \dottedline{20}(-171,303)(-311,303)}}%
+% \else\if\@tmpc b%(b) beta
+% \putlatom{-258}{410}{\@memberb}% % left type
+% \put(-171,303){\line(-3,5){72}}% % single bond at 7
+% \else\if\@tmpc a%(a) alpha
+% \putlatom{-326}{280}{\@memberb}% % left type
+% \put(-171,303){\line(-1,0){140}}% % single bond at 7
+% \fi\fi\fi\fi\fi
+% \else\if\@tmpb D%double bond
+% \putlatom{-301}{363}{\@memberb}% % left type
+% \put(-168,310){\line(-5,3){120}}% % double bond at 7
+% \put(-174,284){\line(-5,3){120}}% % double bond at 7
+% \else\if\@tmpb B%beta single bond
+% \putlatom{-301}{363}{\@memberb}% % left type
+% {%
+% \thicklines%
+% \put(-171,303){\line(-5,3){120}}% % single bond at 7
+% }%
+% \else\if\@tmpb A%alpha single bond
+% \putlatom{-301}{363}{\@memberb}% % left type
+% \@ifundefined{dottedline}{%
+% \put(-171,303){\line(-5,3){120}}% % single bond at 7
+% }{{\thicklines%
+% \dottedline{20}(-171,303)(-311,375)}}%
+% \else%
+% \putlatom{-301}{363}{\@memberb}% % left type
+% \put(-171,303){\line(-5,3){120}}% % single bond at 7
+% \fi\fi\fi\fi%
+% % \end{macrocode}
+% %
+% % \begin{macrocode}
+% % %%%%%%%%%%%%%%%
+% \or% subst. on 8
+% % %%%%%%%%%%%%%%%
+% \if\@tmpb S%single bond
+% \ifx\@tmpc\empty%
+% \put(0,406){\line(0,1){140}}% % single bond at 8
+% \putlratom{-31}{563}{\@memberb}% % left or right type
+% \else\if\@tmpc B%(B) beta
+% \putlatom{-42}{563}{\@memberb}% % left type
+% {%
+% \thicklines%
+% \put(0,406){\line(-3,5){72}}% % single bond at 8
+% }%
+% \else\if\@tmpc A%(A) alpha
+% \putratom{41}{563}{\@memberb}% % right type
+% \@ifundefined{dottedline}{%
+% \put(0,406){\line(3,5){72}}% % single bond at 8
+% }{{\thicklines%
+% \dottedline{20}(0,406)(72,526)}}%
+% \else\if\@tmpc b%(b) beta
+% \putlatom{-42}{563}{\@memberb}% % left type
+% \put(0,406){\line(-3,5){72}}% % single bond at 8
+% \else\if\@tmpc a%(a) alpha
+% \putratom{41}{563}{\@memberb}% % right type
+% \put(0,406){\line(3,5){72}}% % single bond at 8
+% \fi\fi\fi\fi\fi%
+% \else\if\@tmpb D%double bond
+% \putlratom{-31}{563}{\@memberb}% % left or right type
+% \put(-12,406){\line(0,1){140}}% % double bond at 8
+% \put(12,406){\line(0,1){140}}% % double bond at 8
+% \else\if\@tmpb B%beta single bond
+% \putlratom{-31}{563}{\@memberb}% % left or right type
+% {%
+% \thicklines%
+% \put(0,406){\line(0,1){140}}% % single bond at 8
+% }%
+% \else\if\@tmpb A%alpha single bond
+% \putlratom{-31}{563}{\@memberb}% % left or right type
+% \@ifundefined{dottedline}{%
+% \put(0,406){\line(0,1){140}}% % single bond at 8
+% }{{\thicklines%
+% \dottedline{20}(0,406)(0,546)}}%
+% \else%
+% \putlratom{-31}{563}{\@memberb}% % left or right type
+% \put(0,406){\line(0,1){140}}% % single bond at 8
+% \fi\fi\fi\fi%
+% \fi %end of ifcase
+% \fi\fi}}%
+% % \end{macrocode}
+% % \end{macro}
+% \end{verbatim}
+%
+% \subsection{Setting-up substituents and bonds at fused positions}
+%
+% The command |\ylfusedposition| is to obtain the shift values
+% |\@ylii| and |\@yli| which are used for shifting the standard
+% point of a substituent.
+% The locant flags such as |\@ylatrue| have been stopped to use.
+% \changes{v1.02}{1998/10/11}{Delete \cs{@ylatrue} etc.}
+% \changes{v1.02}{1998/10/13}{Adding \cs{@fused@link} condition}
+% \changes{v1.02}{1998/10/31}{Commands for setting substituents}
+%
+% \begin{macro}{\ylfusedposition}
+% \begin{macrocode}
+\def\ylfusedposition#1#2#3#4#5{%
+\@@ylswfalse%\@reset@ylsw
+\@forsemicol\member:=#1\do{%
+\if@@ylsw\else%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\threech@r\@membera{}{}%
+\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
+\if@@ylsw
+\ifnum#5<0\relax%
+\@tmpaa=-\@tmpa\relax\advance\@tmpaa by #2\relax%
+\@fused@linktrue
+\else\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
+\@fused@linkfalse\fi%
+\ifnum\@tmpaa >#3\relax%
+\ifnum\@tmpaa <#4\relax%
+\ifcase\@tmpaa%
+% %%%%%%%%%%%%%%%%%%
+% 0 fused positions % F == (171,303) G == (171,103)
+% %%%%%%%%%%%%%%%%%%
+ \if\@tmpb F%single bond at F (fused position)
+ \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 0
+ \else\if\@tmpb G%single bond at G (fused position)
+ \def\@ylii{-171}\def\@yli{-103}\@ylswtrue%\@ylatrue% subst. on 0
+ \fi\fi%
+% %%%%%%%%%%%%%%%%
+\or% subst. on 1 F == (0,406), G == (171,303) for \@fused@linkfalse
+ % subst. on 1 G == (0,406), F == (171,303) for \@fused@linktrue
+% %%%%%%%%%%%%%%%%
+\if@fused@link
+ \if\@tmpb G%single bond at F (5,-3) fusion
+ \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 1
+ \else\if\@tmpb F%single bond at G
+ \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 1
+ \fi\fi%
+\else
+ \if\@tmpb F%single bond at F (5,-3) fusion
+ \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 1
+ \else\if\@tmpb G%single bond at G
+ \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 1
+ \fi\fi%
+\fi
+% %%%%%%%%%%%%%%%%
+\or% subst. on 2 F == (0,406), G == (-171,303) for \@fused@linkfalse
+ % subst. on 2 G == (0,406), F == (-171,303) for \@fused@linktrue
+% %%%%%%%%%%%%%%%%
+\if@fused@link
+ \if\@tmpb G%single bond at (-5,-3) fusion
+ \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 2
+ \else\if\@tmpb F%single bond at G
+ \def\@ylii{171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 2
+ \fi\fi%
+\else
+ \if\@tmpb F%single bond at (-5,-3) fusion
+ \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 2
+ \else\if\@tmpb G%single bond at G
+ \def\@ylii{171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 2
+ \fi\fi%
+\fi
+% %%%%%%%%%%%%%%%%%%
+\or %3 fused positions % G == (303,171) F == (103,171)
+% %%%%%%%%%%%%%%%%%%
+ \if\@tmpb G%single bond at G (fused position)
+ \def\@ylii{-303}\def\@yli{-171}\@ylswtrue%\@ylatrue% subst. on 3
+ \else\if\@tmpb F%single bond at F (fused position)
+ \def\@ylii{-103}\def\@yli{-171}\@ylswtrue%\@ylatrue% subst. on 3
+ \fi\fi%
+\fi%end of ifcase
+\fi\fi\fi\fi\fi}}% end of \ylfusedposition
+% \end{macrocode}
+% \end{macro}
+%
+% The bond-setting commands |\GFbonda|, |\GFbondb|, |\GFbondc| and
+% |\GFbondd|, which are separated from the old |\setfusedbond| command,
+% are used to place a bond and a substituent at a fulsed position of
+% such a compound as a decaline.
+%
+% \changes{v1.02}{1998/10/12}{Separate \cs{GFbonda} etc.}
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+%
+% \begin{macro}{\GFbonda}
+% \begin{macro}{\GFbonda@a}
+% \begin{macro}{\GFbonda@b}
+% \begin{macrocode}
+\def\GFbonda{%
+% %%%%%%%%%%%%%%%%%%
+% 0 fused positions % F == (171,303) G == (171,103)
+% %%%%%%%%%%%%%%%%%%
+ \if\@tmpb F%single bond at F (fused position)
+ \GFbonda@a
+ \else\if\@tmpb G%single bond at G (fused position)
+ \GFbonda@b
+ \fi\fi%
+}%end of GFbonda
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\GFbonda@a{%
+ \if\@tmpc B%beta single bond
+ \yl@xdiff=31\relax%171-140
+ \yl@ydiff=-17\relax%460-(303+140)
+ \putlratom{140}{460}{\@memberb}% % left or right type
+ {%
+ \thicklines%
+ \put(171,303){\line(0,1){140}}% % single bond at F
+ }%
+ \else\if\@tmpc A%alpha single bond
+ \yl@xdiff=31\relax%171-140
+ \yl@ydiff=-17\relax%460-(303+140)
+ \putlratom{140}{460}{\@memberb}% % left or right type
+ \@ifundefined{dottedline}{%
+ \put(171,303){\line(0,1){140}}% % single bond at F
+ }{{\thicklines%
+ \dottedline{20}(171,303)(171,443)}}%
+ \else\if\@tmpc U% unspecified single bond
+ \yl@xdiff=31\relax%171-140
+ \yl@ydiff=-17\relax%460-(303+140)
+ \putlratom{140}{460}{\@memberb}% % left or right type
+ \put(168,303){$\wr$}% unspecified single bond at F
+ \put(168,353){$\wr$}%
+ \put(168,403){$\wr$}%
+ \else\if\@tmpc S%beta single bond
+ \yl@xdiff=31\relax%171-140
+ \yl@ydiff=-17\relax%460-(303+140)
+ \putlratom{140}{460}{\@memberb}% % left or right type
+ \put(171,303){\line(0,1){140}}% % single bond at F
+ \else\ifx\@tmpc\empty%beta single bond
+ \yl@xdiff=31\relax%171-140
+ \yl@ydiff=-17\relax%460-(303+140)
+ \putlratom{140}{460}{\@memberb}% % left or right type
+ \put(171,303){\line(0,1){140}}% % single bond at F
+ \fi\fi\fi\fi\fi%
+}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\GFbonda@b{%
+ \if\@tmpc B%beta single bond
+ \yl@xdiff=31\relax%171-140
+ \yl@ydiff=90\relax%127-(140-103)
+ \putlratom{140}{-127}{\@memberb}% % left or right type
+ {%
+ \thicklines%
+ \put(171,103){\line(0,-1){140}}% % single bond at G
+ }%
+ \else\if\@tmpc A%alpha single bond
+ \yl@xdiff=31\relax%171-140
+ \yl@ydiff=90\relax%127-(140-103)
+ \putlratom{140}{-127}{\@memberb}% % left or right type
+ \@ifundefined{dottedline}{%
+ \put(171,103){\line(0,-1){140}}% % single bond at G
+ }{{\thicklines%
+ \dottedline{20}(171,103)(171,-37)}}%
+ \else\if\@tmpc U%beta single bond
+ \yl@xdiff=31\relax%171-140
+ \yl@ydiff=90\relax%127-(140-103)
+ \putlratom{140}{-127}{\@memberb}% % left or right type
+ \put(168,43){$\wr$}% unspecified single bond at G
+ \put(168,-8){$\wr$}%
+ \put(168,-57){$\wr$}%
+ \else\if\@tmpc S%alpha single bond
+ \yl@xdiff=31\relax%171-140
+ \yl@ydiff=90\relax%127-(140-103)
+ \putlratom{140}{-127}{\@memberb}% % left or right type
+ \put(171,103){\line(0,-1){140}}% % single bond at G
+ \else\ifx\@tmpc\empty%alpha single bond
+ \yl@xdiff=31\relax%171-140
+ \yl@ydiff=90\relax%127-(140-103)
+ \putlratom{140}{-127}{\@memberb}% % left or right type
+ \put(171,103){\line(0,-1){140}}% % single bond at G
+ \fi\fi\fi\fi\fi%
+}%
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\GFbondb}
+% \begin{macro}{\GFbondb@a}
+% \begin{macro}{\GFbondb@b}
+% \begin{macrocode}
+\def\GFbondb{%
+% %%%%%%%%%%%%%%%%
+% subst. on 1 F == (0,406), G == (171,303) for \@fused@linkfalse
+% subst. on 1 G == (0,406), F == (171,303) for \@fused@linktrue
+% %%%%%%%%%%%%%%%%
+ \if@fused@link
+ \if\@tmpb G%single bond at G (5,-3) fusion
+ \GFbondb@a
+ \else\if\@tmpb F%single bond at F
+ \GFbondb@b
+ \fi\fi%
+ \else
+ \if\@tmpb F%single bond at F (5,-3) fusion
+ \GFbondb@a
+ \else\if\@tmpb G%single bond at G
+ \GFbondb@b
+ \fi\fi%
+ \fi
+}% end of \GFbondb
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\GFbondb@a{%
+ \if\@tmpc B%beta single bond
+ \yl@xdiff=10\relax%
+ \yl@ydiff=22\relax%
+ \putlatom{-130}{466}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(0,406){\line(-5,3){120}}% % single bond at F
+ }%
+ \else\if\@tmpc A%alpha single bond
+ \yl@xdiff=10\relax%
+ \yl@ydiff=22\relax%
+ \putlatom{-130}{466}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(0,406){\line(-5,3){120}}% % single bond at F
+ }{{\thicklines%
+% \dottedline{20}(0,406)(-140,478)}}%
+ \dottedline{20}(0,406)(-120,478)}}%
+ \else\if\@tmpc U%unspecified single bond
+ \yl@xdiff=10\relax%
+ \yl@ydiff=22\relax%
+ \putlatom{-130}{466}{\@memberb}% % left type
+ \put(0,406){\line(-5,3){120}}% % single bond at F
+ \else\if\@tmpc S%beta single bond
+ \yl@xdiff=10\relax%
+ \yl@ydiff=22\relax%
+ \putlatom{-130}{466}{\@memberb}% % left type
+ \put(0,406){\line(-5,3){120}}% % single bond at F
+ \else\ifx\@tmpc\empty%beta single bond
+ \yl@xdiff=10\relax%
+ \yl@ydiff=22\relax%
+ \putlatom{-130}{466}{\@memberb}% % left type
+ \put(0,406){\line(-5,3){120}}% % single bond at F
+ \else\if\@tmpc D%beta single bond (downward)
+ \yl@xdiff=31\relax%
+ \yl@ydiff=90\relax%
+ \putlratom{-31}{176}{\@memberb}% % left or right type
+ {%
+ \thicklines%
+ \put(0,406){\line(0,-1){140}}% % single bond at F
+ }%
+ \else\if\@tmpc C%alpha single bond (downward)
+ \yl@xdiff=31\relax%
+ \yl@ydiff=90\relax%
+ \putlratom{-31}{176}{\@memberb}% % left or right type
+ \@ifundefined{dottedline}{%
+ \put(0,406){\line(0,-1){140}}% % single bond at F
+ }{{\thicklines%
+ \dottedline{20}(0,406)(0,266)}}%
+ \fi\fi\fi\fi\fi\fi\fi%
+}% end of \GFbondb@a
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\GFbondb@b{%
+ \if\@tmpc B%beta single bond
+ \yl@xdiff=-10\relax%
+ \yl@ydiff=58\relax%
+ \putratom{301}{173}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(171,303){\line(5,-3){120}}% % single bond at G
+ }%
+ \else\if\@tmpc A%alpha single bond
+ \yl@xdiff=-10\relax%
+ \yl@ydiff=58\relax%
+ \putratom{301}{173}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(171,303){\line(5,-3){120}}% % single bond at G
+ }{{\thicklines%
+ \dottedline{20}(171,303)(291,231)}}%
+ \else\if\@tmpc U%unspecified single bond
+ \yl@xdiff=-10\relax%
+ \yl@ydiff=58\relax%
+ \putratom{301}{173}{\@memberb}% % right type
+ \put(171,303){\line(5,-3){120}}% % single bond at G
+ \else\if\@tmpc S%alpha single bond
+ \yl@xdiff=-10\relax%
+ \yl@ydiff=58\relax%
+ \putratom{301}{173}{\@memberb}% % right type
+ \put(171,303){\line(5,-3){120}}% % single bond at G
+ \else\ifx\@tmpc\empty%alpha single bond
+ \yl@xdiff=-10\relax%
+ \yl@ydiff=58\relax%
+ \putratom{301}{173}{\@memberb}% % right type
+ \put(171,303){\line(5,-3){120}}% % single bond at G
+ \else\if\@tmpc D%beta single bond (upward)
+ \yl@xdiff=31\relax%
+ \yl@ydiff=-17\relax%
+ \putlratom{140}{460}{\@memberb}% % left or right type
+ {%
+ \thicklines%
+ \put(171,303){\line(0,1){140}}% % single bond at G
+ }%
+ \else\if\@tmpc C%alpha single bond (upward)
+ \yl@xdiff=31\relax%
+ \yl@ydiff=-17\relax%
+ \putlratom{140}{460}{\@memberb}% % left or right type
+ \@ifundefined{dottedline}{%
+ \put(171,303){\line(0,1){140}}% % single bond at G
+ }{{\thicklines%
+ \dottedline{20}(171,303)(171,443)}}%
+ \fi\fi\fi\fi\fi\fi\fi%
+}% end of \GFbondb@b
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\GFbondc}
+% \begin{macro}{\GFbondc@a}
+% \begin{macro}{\GFbondc@b}
+% \begin{macrocode}
+\def\GFbondc{%
+% %%%%%%%%%%%%%%%%
+% subst. on 2 F == (0,406), G == (-171,303) for \@fused@linkfalse
+% subst. on 2 G == (0,406), F == (-171,303) for \@fused@linktrue
+% %%%%%%%%%%%%%%%%
+\if@fused@link
+ \if\@tmpb G%single bond at (-5,-3) fusion
+ \GFbondc@a
+ \else\if\@tmpb F%single bond at F
+ \GFbondc@b
+ \fi\fi%
+\else
+ \if\@tmpb F%single bond at (-5,-3) fusion
+ \GFbondc@a
+ \else\if\@tmpb G%single bond at G
+ \GFbondc@b
+ \fi\fi%
+\fi
+}% end of \GFbondc
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \def\GFbondc@a{%
+ \if\@tmpc B%beta single bond
+ \yl@xdiff=-10\relax%
+ \yl@ydiff=12\relax%
+ \putratom{130}{466}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(0,406){\line(5,3){120}}% % single bond at F
+ }%
+ \else\if\@tmpc A%alpha single bond
+ \yl@xdiff=-10\relax%
+ \yl@ydiff=12\relax%
+ \putratom{130}{466}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(0,406){\line(5,3){120}}% % single bond at F
+ }{{\thicklines%
+ \dottedline{20}(0,406)(120,478)}}%
+ \else\if\@tmpc U%unspecified single bond
+ \yl@xdiff=-10\relax%
+ \yl@ydiff=12\relax%
+ \putratom{130}{466}{\@memberb}% % right type
+ \put(0,406){\line(5,3){120}}% % single bond at F
+ \else\if\@tmpc S%beta single bond
+ \yl@xdiff=-10\relax%
+ \yl@ydiff=12\relax%
+ \putratom{130}{466}{\@memberb}% % right type
+ \put(0,406){\line(5,3){120}}% % single bond at F
+ \else\ifx\@tmpc\empty%beta single bond
+ \yl@xdiff=-10\relax%
+ \yl@ydiff=12\relax%
+ \putratom{130}{466}{\@memberb}% % right type
+ \put(0,406){\line(5,3){120}}% % single bond at F
+ \else\if\@tmpc D%beta single bond (downward)
+ \yl@xdiff=31\relax%
+ \yl@ydiff=90\relax%
+ \putlratom{-31}{176}{\@memberb}% % left or right type
+ {%
+ \thicklines%
+ \put(0,406){\line(0,-1){140}}% % single bond at F
+ }%
+ \else\if\@tmpc C%alpha single bond (downward)
+ \yl@xdiff=31\relax%
+ \yl@ydiff=90\relax%
+ \putlratom{-31}{176}{\@memberb}% % left or right type
+ \@ifundefined{dottedline}{%
+ \put(0,406){\line(0,-1){140}}% % single bond at F
+ }{{\thicklines%
+ \dottedline{20}(0,406)(0,266)}}%
+ \fi\fi\fi\fi\fi\fi\fi%
+}% end of \GFbondc@a
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\GFbondc@b{%
+ \if\@tmpc B%beta single bond
+ \yl@xdiff=10\relax%
+ \yl@ydiff=59\relax%
+ \putlatom{-301}{173}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-171,303){\line(-5,-3){120}}% % single bond at G
+ }%
+ \else\if\@tmpc A%alpha single bond
+ \yl@xdiff=10\relax%
+ \yl@ydiff=59\relax%
+ \putlatom{-301}{173}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-171,303){\line(-5,-3){120}}% % single bond at G
+ }{{\thicklines%
+% \dottedline{20}(-171,303)(-311,231)}}%
+ \dottedline{20}(-171,303)(-291,231)}}%
+ \else\if\@tmpc U%unspecified single bond
+ \yl@xdiff=10\relax%
+ \yl@ydiff=59\relax%
+ \putlatom{-301}{173}{\@memberb}% % left type
+ \put(-171,303){\line(-5,-3){120}}% single bond at G
+ \else\if\@tmpc S%alpha single bond
+ \yl@xdiff=10\relax%
+ \yl@ydiff=59\relax%
+ \putlatom{-301}{173}{\@memberb}% % left type
+ \put(-171,303){\line(-5,-3){120}}% single bond at G
+ \else\ifx\@tmpc\empty%alpha single bond
+ \yl@xdiff=10\relax%
+ \yl@ydiff=59\relax%
+ \putlatom{-301}{173}{\@memberb}% % left type
+ \put(-171,303){\line(-5,-3){120}}% single bond at G
+ \else\if\@tmpc D%beta single bond (upward)
+ \yl@xdiff=-30\relax%
+ \yl@ydiff=-17\relax%
+ \putlratom{201}{460}{\@memberb}% % left or right type
+ {%
+ \thicklines%
+ \put(-171,303){\line(0,1){140}}% % single bond at G
+ }%
+ \else\if\@tmpc C%alpha single bond (upward)
+ \yl@xdiff=-30\relax%
+ \yl@ydiff=-17\relax%
+ \putlratom{201}{460}{\@memberb}% % left or right type
+ \@ifundefined{dottedline}{%
+ \put(-171,303){\line(0,1){140}}% % single bond at G
+ }{{\thicklines%
+ \dottedline{20}(-171,303)(-171,443)}}%
+ \fi\fi\fi\fi\fi\fi\fi%
+}% end of \GFbondc@b
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\GFbondd}
+% \begin{macrocode}
+\def\GFbondd{%
+% %%%%%%%%%%%%%%%%%%
+% 3 fused positions % G == (303,171) F == (103,171)
+% %%%%%%%%%%%%%%%%%%
+ \if\@tmpb G%single bond at G (fused position)
+ \if\@tmpc B%beta single bond
+ \yl@xdiff=-17\relax%
+ \yl@ydiff=31\relax%
+ \putlratom{460}{140}{\@memberb}% % left or right type
+ {%
+ \thicklines%
+ \put(303,171){\line(1,0){140}}% % single bond at G
+ }%
+ \else\if\@tmpc A%alpha single bond
+ \yl@xdiff=-17\relax%
+ \yl@ydiff=31\relax%
+ \putlratom{460}{140}{\@memberb}% % left or right type
+ \@ifundefined{dottedline}{%
+ \put(303,171){\line(1,0){140}}% % single bond at G
+ }{{\thicklines%
+ \dottedline{20}(303,171)(443,171)}}%
+ \else\if\@tmpc U% unspecified single bond
+ \yl@xdiff=-17\relax%
+ \yl@ydiff=31\relax%
+ \putlratom{460}{140}{\@memberb}% % left or right type
+ \put(303,148){$\sim$}% unspecified single bond at G
+ \put(353,148){$\sim$}%
+ \put(403,148){$\sim$}%
+ \else\if\@tmpc S%beta single bond
+ \yl@xdiff=-17\relax%
+ \yl@ydiff=31\relax%
+ \putlratom{460}{140}{\@memberb}% % left or right type
+ \put(303,171){\line(1,0){140}}% % single bond at G
+ \else\ifx\@tmpc\empty%beta single bond
+ \yl@xdiff=-17\relax%
+ \yl@ydiff=31\relax%
+ \putlratom{460}{140}{\@memberb}% % left or right type
+ \put(303,171){\line(1,0){140}}% % single bond at G
+ \fi\fi\fi\fi\fi%
+ \else\if\@tmpb F%single bond at F (fused position)
+ \if\@tmpc B%beta single bond
+ \yl@xdiff=20\relax%
+ \yl@ydiff=31\relax%
+% \putlratom{-127}{140}{\@memberb}% % left or right type
+ \putlatom{-57}{140}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(103,171){\line(-1,0){140}}% % single bond at F
+ }%
+ \else\if\@tmpc A%alpha single bond
+ \yl@xdiff=20\relax%
+ \yl@ydiff=31\relax%
+% \putlratom{-127}{140}{\@memberb}% % left or right type
+ \putlatom{-57}{140}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(103,171){\line(-1,0){140}}% % single bond at F
+ }{{\thicklines%
+ \dottedline{20}(103,171)(-37,171)}}%
+ \else\if\@tmpc U%beta single bond
+ \yl@xdiff=20\relax%
+ \yl@ydiff=31\relax%
+ \putlatom{-57}{140}{\@memberb}% % left type
+% \putlratom{-127}{140}{\@memberb}% % left or right type
+ \put(40,148){$\sim$}% unspecified single bond at F
+ \put(-13,148){$\sim$}%
+ \put(-62,148){$\sim$}%
+ \else\if\@tmpc S%alpha single bond
+ \yl@xdiff=20\relax%
+ \yl@ydiff=31\relax%
+ \putlatom{-57}{140}{\@memberb}% % left type
+% \putlratom{-127}{140}{\@memberb}% % left or right type
+ \put(103,171){\line(-1,0){140}}% % single bond at F
+ \else\ifx\@tmpc\empty%alpha single bond
+ \yl@xdiff=20\relax%
+ \yl@ydiff=31\relax%
+ \putlatom{-57}{140}{\@memberb}% % left type
+% \putlratom{-127}{140}{\@memberb}% % left or right type
+ \put(103,171){\line(-1,0){140}}% % single bond at F
+ \fi\fi\fi\fi\fi%
+ \fi\fi%
+}% end of \GFbondd
+% \end{macrocode}
+% \end{macro}
+%
+% The |\setfusedbond| takes 5 arguments.
+%
+% \begin{verbatim}
+% ******************************************************
+% * setting of atoms and bonds at fused bond positions *
+% ******************************************************
+%
+% \setfusedbond{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}
+% \end{verbatim}
+%
+% The first argument |SUBSLIST| is a list of substituents, which is
+% represented in the standard format of \XyMTeX{}.
+% Substituents at the fused positions (vertical bonds) are designated by
+% the number 0 and the following bond modifiers.
+% They are placed by means of the |\GFbonda| command.
+%
+% \begin{verbatim}
+% SUBSLIST: list of substituents (max 3 substitution positions)
+%
+% for 0 (vertical (0,1) fused positions)
+% F == (171,303) G == (171,103)
+%
+% 0FA : alpha single bond at F
+% 0FB : beta single bond at F
+% 0FU : unspecified single bond at F
+% 0GA : alpha single bond at G
+% 0GB : beta single bond at G
+% 0GU : unspecified single bond at G
+%
+% \end{verbatim}
+%
+% Substituents at the fused positions (diagonal bonds) are designated by
+% the number 1 and the following bond modifiers.
+% They are placed by means of the |\GFbondb| command.
+% \begin{verbatim}
+% for 1 (diagonal (5,-3) fused positions)
+% F == (0,406), G == (171,303)
+%
+% 1FA : alpha single bond at F
+% 1FB : beta single bond at F
+% 1FC : alpha single bond (downward) at F
+% 1FD : beta single bond (downward) at F
+% 1FU : unspecified single bond at F
+% 1GA : alpha single bond at G
+% 1GB : beta single bond at G
+% 1GC : alpha single bond (upward) at G
+% 1GD : beta single bond (upward) at G
+% 1GU : unspecified single bond at G
+%
+% \end{verbatim}
+%
+% Substituents at the fused positions (other diagonal bonds) are designated by
+% the number 2 and the following bond modifiers.
+% They are placed by means of the |\GFbondc| command.
+% \begin{verbatim}
+% for 2 (diagonal (-5,-3) fused positions)
+% F == (0,406), G == (-171,303)
+%
+% 2FA : alpha single bond at F
+% 2FB : beta single bond at F
+% 2FC : alpha single bond (upward) at F
+% 2FD : beta single bond (upward) at F
+% 2FU : unspecified single bond at F
+% 2GA : alpha single bond at G
+% 2GB : beta single bond at G
+% 2GC : alpha single bond (downward) at G
+% 2GD : beta single bond (downward) at G
+% 2GU : unspecified single bond at G
+%
+% \end{verbatim}
+%
+% Substituents at the fused positions (horizontal bonds) are designated by
+% the number 3 and the following bond modifiers.
+% They are placed by means of the |\GFbondd| command.
+% \begin{verbatim}
+% for 3 (horizontal (1,0) fused positions)
+% G == (303,171) F == (103,171)
+% %%%% F == (303,171) G == (103,171)
+%
+% 3FA : alpha single bond at F
+% 3FB : beta single bond at F
+% 3FU : unspecified single bond at F
+% 3GA : alpha single bond at G
+% 3GB : beta single bond at G
+% 3GU : unspecified single bond at G
+% \end{verbatim}
+%
+% The second argument |AD| is an adjustment value, which adjusts the original
+% set of locant numbers into the standard one between 0 to 3 for drawing
+% substituents on fused positions.
+% The effective range of the standared set of locant numbers is
+% restricted by the auguments |LOWER| and |UPPER|. A minus value of
+% the last argument shows the anti-clockwise numbering, while zero or
+% a plus value represents the clockwise numbering.
+%
+% \begin{verbatim}
+%
+% AD : adjustment e.g. 0 for six-membered rings
+% LOWER : lower limit LOWER < effective range < UPPER
+% UPPER : upper limit
+% ORDER : >= 0 clockwise, <0 anti-clockwise
+%
+% \end{verbatim}
+%
+% \changes{v1.02}{1998/10/31}{Adding the \cs{\@memberb=\@y} condition}
+% \changes{v1.02}{1998/10/31}{Separate \cs{GFbonda} etc.}
+%
+% \begin{macro}{\setfusedbond}
+% \begin{macrocode}
+\newif\if@fused@link \@fused@linkfalse
+\def\setfusedbond#1#2#3#4#5{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\threech@r\@membera{}{}%
+\ifx\@memberb\@yl\else
+\ifnum#5<0\relax%
+\@tmpaa=-\@tmpa\relax\advance\@tmpaa by #2\relax\@fused@linktrue
+\else\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
+\@fused@linkfalse\fi%
+\ifnum\@tmpaa >#3\relax%
+\ifnum\@tmpaa <#4\relax%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ifcase\@tmpaa%
+% %%%%%%%%%%%%%%%%%%
+% 0 fused positions % F == (171,303) G == (171,103)
+% %%%%%%%%%%%%%%%%%%
+\GFbonda
+% %%%%%%%%%%%%%%%%
+\or% subst. on 1 F == (0,406), G == (171,303)
+% %%%%%%%%%%%%%%%%
+\GFbondb
+% %%%%%%%%%%%%%%%%
+\or% subst. on 2 F == (0,406), G == (-171,303) for \@fused@linkfalse
+ % subst. on 2 G == (0,406), F == (-171,303) for \@fused@linktrue
+% %%%%%%%%%%%%%%%%
+\GFbondc
+% %%%%%%%%%%%%%%%%%%
+\or %3 fused positions % G == (303,171) F == (103,171)
+% %%%%%%%%%%%%%%%%%%
+\GFbondd
+\fi%end of ifcase
+\fi\fi\fi\fi}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Setting-up substituents and bonds at a given postion}
+%
+% The |\setatombond| takes 3 arguments.
+%
+% \begin{verbatim}
+% ********************************************************
+% * setting of atoms and bonds at an appropiate position *
+% ********************************************************
+%
+% \setatombond{SUBSLIST}{AD}{SLOPE}
+% \end{verbatim}
+%
+% The first argument |SUBSLIST| is a list of substituents, which is
+% represented in the standard format of \XyMTeX{}.
+% Substituents at the fused positions (vertical bonds) are designated by
+% the number 0 and the following bond modifiers.
+%
+% \begin{verbatim}
+% SUBSLIST: list of substituents (max 3 substitution positions)
+% \end{verbatim}
+%
+% The second argument |AD| is an adjustment value, which adjusts the original
+% locant number into 1.
+%
+% \begin{verbatim}
+% AD : adjustment,
+% Set AD as being 1 = position number - AD
+% \end{verbatim}
+%
+% The argument |SLOPE| has the following meanings.
+% \begin{verbatim}
+% SLOPE
+%
+% 1 : (0,1) 7 : (0,-1)
+% 2 : (3,5) 8 : (-3,-5)
+% 3 : (5,3) 9 : (-5,-3)
+% 4 : (1,0) 10 : (-1,0)
+% 5 : (5,-3) 11 : (-5,3)
+% 6 : (3,-5) 12 : (-3,5)
+% \end{verbatim}
+%
+% \changes{v1.02}{1998/10/14}{The bond-setting commands such as
+% \cs{setatombonda} ... \cs{setatombondh} are separated from
+% the original \cs{setatombond}.}
+%
+% \begin{macro}{\setatombond}
+% \begin{macrocode}
+\newif\if@clipfuse \@clipfusefalse
+\def\setatombond#1#2#3{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\threech@r\@membera{}{}%
+\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
+\ifx\@memberb\@yl\else
+\ifnum\@tmpaa >0\relax%
+\ifnum\@tmpaa <2\relax%
+\ifcase\@tmpaa%
+% %%%%%%%%%%%%%%%%
+\or% subst. on 1
+% %%%%%%%%%%%%%%%%
+%
+% (0,1)
+%
+ \ifnum#3=1\relax%(upward)
+ \setatombonda
+%
+% (1,0)
+%
+ \else\ifnum#3=4\relax%(right)
+ \setatombondb
+%
+% (0,-1)
+%
+ \else\ifnum#3=7\relax%(downward)
+ \setatombondc
+%
+% (-5,3)
+%
+ \else\ifnum#3=11\relax%
+ \setatombondd
+%
+% (5,-3)
+%
+ \else\ifnum#3=5\relax%
+ \setatombonde
+%
+% (5,3)
+%
+ \else\ifnum#3=3\relax%
+ \setatombondf
+%
+% (-5,-3)
+%
+ \else\ifnum#3=9\relax%
+ \setatombondg
+%
+% (-1,0)
+%
+ \else\ifnum#3=10\relax%(left)
+ \setatombondh
+\fi\fi\fi\fi\fi\fi\fi\fi%
+\fi%end of ifcase
+\fi\fi\fi\fi}}%
+% \end{macrocode}
+% \end{macro}
+%
+% The command |\setatombond| uses the following bond-setting
+% commands.
+%
+% \begin{macro}{\setatombonda}
+% \begin{macro}{\setatombondb}
+% \begin{macro}{\setatombondc}
+% \begin{macro}{\setatombondd}
+% \begin{macro}{\setatombonde}
+% \begin{macro}{\setatombondf}
+% \begin{macro}{\setatombondg}
+% \begin{macro}{\setatombondh}
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \begin{macrocode}
+\def\setatombonda{%upward (0,1)
+ \if@clipfuse%
+ \if\@tmpb B%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ {%
+ \thicklines%
+% \put(0,30){\line(0,1){110}}% % single bond at 1
+ \put(0,40){\line(0,1){100}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \@ifundefined{dottedline}{%
+% \put(0,30){\line(0,1){110}}% % single bond at 1
+ \put(0,40){\line(0,1){100}}% % single bond at 1
+ }{{\thicklines%
+% \dottedline{20}(0,30)(0,140)}}%
+ \dottedline{20}(0,40)(0,140)}}%
+ \else\if\@tmpb U% unspecified single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \put(-3,30){$\wr$}% unspecified single bond at 1
+ \put(-3,80){$\wr$}%
+ \else\if\@tmpb S%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+% \put(0,30){\line(0,1){110}}% % single bond at 1
+ \put(0,40){\line(0,1){100}}% % single bond at 1
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \put(-10,40){\line(0,1){100}}% % single bond at 1
+ \put(10,40){\line(0,1){100}}% % single bond at 1
+ \else\if\@tmpb T%double bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \put(-15,40){\line(0,1){100}}% % single bond at 1
+ \put(0,40){\line(0,1){100}}% % single bond at 1
+ \put(15,40){\line(0,1){100}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+% \put(0,30){\line(0,1){110}}% % single bond at 1
+ \put(0,40){\line(0,1){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlratom{-31}{157}{\@memberb}% % left or right type
+ \else%no clip
+ \if\@tmpb B%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ {%
+ \thicklines%
+ \put(0,0){\line(0,1){140}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(0,1){140}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(0,140)}}%
+ \else\if\@tmpb U% unspecified single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \put(-3,0){$\wr$}% unspecified single bond at 1
+ \put(-3,50){$\wr$}%
+ \put(-3,100){$\wr$}%
+ \else\if\@tmpb S%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \put(0,0){\line(0,1){140}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \put(-10,0){\line(0,1){140}}% % single bond at 1
+ \put(10,0){\line(0,1){140}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \put(-15,0){\line(0,1){140}}% % single bond at 1
+ \put(0,0){\line(0,1){140}}% % single bond at 1
+ \put(15,0){\line(0,1){140}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=-17\relax
+ \put(0,0){\line(0,1){140}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlratom{-31}{157}{\@memberb}% % left or right type
+ \fi%
+}% end of \setatombonda
+% \end{macrocode}
+%
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \begin{macrocode}
+\def\setatombondb{%(right) (1,0)
+ \if@clipfuse%
+ \if\@tmpb B%beta single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ {%
+ \thicklines%
+ \put(30,0){\line(1,0){110}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \@ifundefined{dottedline}{%
+ \put(30,0){\line(1,0){110}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(30,0)(140,0)}}%
+ \else\if\@tmpb U%beta single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \put(30,0){\line(1,0){110}}% % single bond at 1
+ \else\if\@tmpb S%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \put(40,0){\line(1,0){100}}% % single bond at 1
+ \else\if\@tmpb D%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \put(40,10){\line(1,0){100}}% % single bond at 1
+ \put(40,-10){\line(1,0){100}}% % single bond at 1
+ \else\if\@tmpb T%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \put(40,15){\line(1,0){100}}% % single bond at 1
+ \put(40,0){\line(1,0){100}}% % single bond at 1
+ \put(40,-15){\line(1,0){100}}% % single bond at 1
+ \else\ifx\@tmpb\empty%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \put(40,0){\line(1,0){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{157}{-31}{\@memberb}% % right type only
+ \else%
+ \if\@tmpb B%beta single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ {%
+ \thicklines%
+ \put(0,0){\line(1,0){140}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(1,0){140}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(140,0)}}%
+ \else\if\@tmpb U%beta single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \put(0,0){\line(1,0){140}}% % single bond at 1
+ \else\if\@tmpb S%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \put(0,0){\line(1,0){140}}% % single bond at 1
+ \else\if\@tmpb D%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \put(0,10){\line(1,0){140}}% % single bond at 1
+ \put(0,-10){\line(1,0){140}}% % single bond at 1
+ \else\if\@tmpb T%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \put(0,-15){\line(1,0){140}}% % single bond at 1
+ \put(0,0){\line(1,0){140}}% % single bond at 1
+ \put(0,15){\line(1,0){140}}% % single bond at 1
+ \else\ifx\@tmpb\empty%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \put(0,0){\line(1,0){140}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{157}{-31}{\@memberb}% % right type only
+ \fi%
+}% end of \setatombondb
+% \end{macrocode}
+%
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \begin{macrocode}
+\def\setatombondc{%(downward) (0,-1)
+ \if@clipfuse%
+ \if\@tmpb B%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ {%
+ \thicklines%
+% \put(0,-30){\line(0,-1){110}}% % single bond at 1
+ \put(0,-40){\line(0,-1){100}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \@ifundefined{dottedline}{%
+% \put(0,-30){\line(0,-1){110}}% % single bond at 1
+ \put(0,-40){\line(0,-1){100}}% % single bond at 1
+ }{{\thicklines%
+% \dottedline{20}(0,-30)(0,-140)}}%
+ \dottedline{20}(0,-40)(0,-140)}}%
+ \else\if\@tmpb U%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \put(-3,-90){$\wr$}% unspecified single bond at 1
+ \put(-3,-140){$\wr$}%
+ \else\if\@tmpb S%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+% \put(0,-30){\line(0,-1){110}}% % single bond at 1
+ \put(0,-40){\line(0,-1){100}}% % single bond at 1
+ \else\if\@tmpb D%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \put(10,-40){\line(0,-1){100}}% % single bond at 1
+ \put(-10,-40){\line(0,-1){100}}% % single bond at 1
+ \else\if\@tmpb T%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \put(15,-40){\line(0,-1){100}}% % single bond at 1
+ \put(0,-40){\line(0,-1){100}}% % single bond at 1
+ \put(-15,-40){\line(0,-1){100}}% % single bond at 1
+ \else\ifx\@tmpb\empty%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+% \put(0,-30){\line(0,-1){110}}% % single bond at 1
+ \put(0,-40){\line(0,-1){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ \else%no clipping
+ \if\@tmpb B%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ {%
+ \thicklines%
+ \put(0,0){\line(0,-1){140}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(0,-1){140}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(0,-140)}}%
+ \else\if\@tmpb U%beta single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \put(-3,-60){$\wr$}% unspecified single bond at 1
+ \put(-3,-110){$\wr$}%
+ \put(-3,-160){$\wr$}%
+ \else\if\@tmpb S%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \put(0,0){\line(0,-1){140}}% % single bond at 1
+ \else\if\@tmpb D%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \put(10,0){\line(0,-1){140}}% % single bond at 1
+ \put(-10,0){\line(0,-1){140}}% % single bond at 1
+ \else\if\@tmpb T%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \put(15,0){\line(0,-1){140}}% % single bond at 1
+ \put(0,0){\line(0,-1){140}}% % single bond at 1
+ \put(-15,0){\line(0,-1){140}}% % single bond at 1
+ \else\ifx\@tmpb\empty%alpha single bond
+ \yl@xdiff=31\relax
+ \yl@ydiff=90\relax
+ \put(0,0){\line(0,-1){140}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlratom{-31}{-230}{\@memberb}% % left or right type
+ \fi%
+}% end of \setatombondc
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\setatombondd{% (-5,3)
+ \if@clipfuse%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=18\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(-30,18){\line(-5,3){100}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(-30,18){\line(-5,3){100}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(-30,18)(-130,78)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(-30,18){\line(-5,3){100}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(-30,18){\line(-5,3){100}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \put(-36,8){\line(-5,3){100}}% % single bond at 1
+ \put(-24,24){\line(-5,3){100}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \put(-39,3){\line(-5,3){100}}% % single bond at 1
+ \put(-30,18){\line(-5,3){100}}% % single bond at 1
+ \put(-21,33){\line(-5,3){100}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(-30,18){\line(-5,3){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-130}{60}{\@memberb}% % left type
+ \else%no clipping
+ \yl@xdiff=-10\relax
+ \yl@ydiff=18\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(0,0){\line(-5,3){130}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(-5,3){130}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(-130,78)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(0,0){\line(-5,3){130}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(0,0){\line(-5,3){130}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \put(6,10){\line(-5,3){130}}% % single bond at 1
+ \put(-6,-10){\line(-5,3){130}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \put(9,15){\line(-5,3){130}}% % single bond at 1
+ \put(0,0){\line(-5,3){130}}% % single bond at 1
+ \put(-9,-15){\line(-5,3){130}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(0,0){\line(-5,3){130}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-130}{60}{\@memberb}% % left type
+ \fi%
+}% end of \setatombondd
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\setatombonde{%(5,-3)
+ \if@clipfuse%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=52\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+% \put(20,-12){\line(5,-3){100}}% % single bond at 1
+ \put(30,-18){\line(5,-3){100}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+% \putratom{301}{173}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+% \put(20,-12){\line(5,-3){100}}% % single bond at 1
+ \put(30,-18){\line(5,-3){100}}% % single bond at 1
+ }{{\thicklines%
+% \dottedline{20}(20,-12)(120,-72)}}%
+ \dottedline{20}(30,-18)(130,-78)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(30,-18){\line(5,-3){100}}% % single bond at 1
+% \put(20,-12){\line(5,-3){100}}% % single bond at 1
+ \else\if\@tmpb S%alpha single bond
+ \put(30,-18){\line(5,-3){100}}% % single bond at 1
+% \put(20,-12){\line(5,-3){100}}% % single bond at 1
+ \else\if\@tmpb D%alpha single bond
+ \put(36,-12){\line(5,-3){100}}% % single bond at 1
+ \put(24,-28){\line(5,-3){100}}% % single bond at 1
+ \else\if\@tmpb T%alpha single bond
+ \put(39,-3){\line(5,-3){100}}% % single bond at 1
+ \put(30,-18){\line(5,-3){100}}% % single bond at 1
+ \put(21,-33){\line(5,-3){100}}% % single bond at 1
+ \else\ifx\@tmpb\empty%alpha single bond
+ \put(30,-18){\line(5,-3){100}}% % single bond at 1
+% \put(20,-12){\line(5,-3){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{140}{-130}{\@memberb}% % right type
+% \putratom{130}{-130}{\@memberb}% % right type
+ \else%no clipping
+ \yl@xdiff=-10\relax
+ \yl@ydiff=52\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+% \put(0,0){\line(5,-3){120}}% % single bond at 1
+ \put(0,0){\line(5,-3){130}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+% \putratom{301}{173}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+% \put(0,0){\line(5,-3){120}}% % single bond at 1
+ \put(0,0){\line(5,-3){130}}% % single bond at 1
+ }{{\thicklines%
+% \dottedline{20}(0,0)(120,-72)}}%
+ \dottedline{20}(0,0)(130,-78)}}%
+ \else\if\@tmpb U%unspecified single bond
+% \put(0,0){\line(5,-3){120}}% % single bond at 1
+ \put(0,0){\line(5,-3){130}}% % single bond at 1
+ \else\if\@tmpb S%alpha single bond
+% \put(0,0){\line(5,-3){120}}% % single bond at 1
+ \put(0,0){\line(5,-3){130}}% % single bond at 1
+ \else\if\@tmpb D%alpha single bond
+ \put(6,10){\line(5,-3){130}}% % single bond at 1
+ \put(-6,-10){\line(5,-3){130}}% % single bond at 1
+ \else\if\@tmpb T%alpha single bond
+ \put(9,15){\line(5,-3){130}}% % single bond at 1
+ \put(0,0){\line(5,-3){130}}% % single bond at 1
+ \put(-9,-15){\line(5,-3){130}}% % single bond at 1
+ \else\ifx\@tmpb\empty%alpha single bond
+% \put(0,0){\line(5,-3){120}}% % single bond at 1
+ \put(0,0){\line(5,-3){130}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{140}{-130}{\@memberb}% % right type
+ \fi%
+}% end of \setatombonde
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\setatombondf{%% (5,3)
+ \if@clipfuse%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=18\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+% \put(20,12){\line(5,3){100}}% % single bond at 1
+ \put(30,18){\line(5,3){100}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(30,18){\line(5,3){100}}% % single bond at 1
+% \put(20,12){\line(5,3){100}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(30,18)(130,78)}}%
+% \dottedline{20}(0,406)(120,72)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(30,18){\line(5,3){100}}% % single bond at 1
+% \put(20,12){\line(5,3){100}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+% \put(20,12){\line(5,3){100}}% % single bond at 1
+ \put(30,18){\line(5,3){100}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \put(36,8){\line(5,3){100}}% % single bond at 1
+ \put(24,24){\line(5,3){100}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \put(39,3){\line(5,3){100}}% % single bond at 1
+ \put(30,18){\line(5,3){100}}% % single bond at 1
+ \put(21,33){\line(5,3){100}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(30,18){\line(5,3){100}}% % single bond at 1
+% \put(20,12){\line(5,3){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{140}{60}{\@memberb}% % right type
+% \putratom{130}{60}{\@memberb}% % right type
+ \else%no clipping
+ \yl@xdiff=-10\relax
+ \yl@ydiff=18\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(0,0){\line(5,3){130}}% % single bond at 1
+% \put(0,0){\line(5,3){120}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+% \putratom{130}{466}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+% \put(0,0){\line(5,3){120}}% % single bond at 1
+ \put(0,0){\line(5,3){130}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(130,78)}}%
+% \dottedline{20}(0,406)(120,72)}}%
+ \else\if\@tmpb U%unspecified single bond
+% \put(0,0){\line(5,3){120}}% % single bond at 1
+ \put(0,0){\line(5,3){130}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(0,0){\line(5,3){130}}% % single bond at 1
+% \put(0,0){\line(5,3){120}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \put(6,-10){\line(5,3){130}}% % single bond at 1
+ \put(-6,10){\line(5,3){130}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \put(9,-15){\line(5,3){130}}% % single bond at 1
+ \put(0,0){\line(5,3){130}}% % single bond at 1
+ \put(-9,15){\line(5,3){130}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+% \put(0,0){\line(5,3){120}}% % single bond at 1
+ \put(0,0){\line(5,3){130}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{140}{60}{\@memberb}% % right type
+% \putratom{130}{60}{\@memberb}% % right type
+ \fi%
+}% end of \setatombondf
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\setatombondg{%% (-5,-3)
+ \if@clipfuse%
+ \yl@xdiff=0\relax
+% \yl@ydiff=62\relax
+ \yl@ydiff=52\relax%1999/1/6 by Shinsaku Fujita
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(-20,-12)(-120,-72)}}%
+ \else\if\@tmpc U%unspecified single bond
+ \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
+ \else\if\@tmpc S%alpha single bond
+ \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
+ \else\if\@tmpb D%double bond
+ \put(-36,-12){\line(-5,-3){100}}% % single bond at 1
+ \put(-24,-28){\line(-5,-3){100}}% % single bond at 1
+ \else\if\@tmpb T%triple bond
+ \put(-39,-3){\line(-5,-3){100}}% % single bond at 1
+ \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
+ \put(-21,-33){\line(-5,-3){100}}% % single bond at 1
+ \else\ifx\@tmpc\empty%alpha single bond
+ \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-130}{-130}{\@memberb}% % left type
+ \else%
+ \yl@xdiff=0\relax
+% \yl@ydiff=62\relax
+ \yl@ydiff=52\relax%1999/1/6 by Shinsaku Fujita
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(0,0){\line(-5,-3){130}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(-5,-3){130}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(-130,-78)}}%
+ \else\if\@tmpc U%unspecified single bond
+ \put(0,0){\line(-5,-3){130}}% % single bond at 1
+ \else\if\@tmpc S%alpha single bond
+ \put(0,0){\line(-5,-3){130}}% % single bond at 1
+ \else\if\@tmpb D%alpha single bond
+ \put(-6,10){\line(-5,-3){130}}% % single bond at 1
+ \put(6,-10){\line(-5,-3){130}}% % single bond at 1
+ \else\if\@tmpb T%alpha single bond
+ \put(-9,15){\line(-5,-3){130}}% % single bond at 1
+ \put(0,0){\line(-5,-3){130}}% % single bond at 1
+ \put(9,-15){\line(-5,-3){130}}% % single bond at 1
+ \else\ifx\@tmpc\empty%alpha single bond
+ \put(0,0){\line(-5,-3){130}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-130}{-130}{\@memberb}% % left type
+ \fi%
+}% end of \setatombondg
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\setatombondh{% (-1,0)
+ \yl@xdiff=17\relax
+ \yl@ydiff=31\relax
+ \if@clipfuse%
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(-30,0){\line(-1,0){110}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(-30,0){\line(-1,0){110}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(-30,0)(-140,0)}}%
+ \else\if\@tmpb U%beta single bond
+ \put(-30,0){\line(-1,0){110}}% % single bond at 1
+ \else\if\@tmpb S%alpha single bond
+ \put(-40,0){\line(-1,0){100}}% % single bond at 1
+ \else\if\@tmpb D%alpha single bond
+ \put(-40,10){\line(-1,0){100}}% % single bond at 1
+ \put(-40,-10){\line(-1,0){100}}% % single bond at 1
+ \else\if\@tmpb T%alpha single bond
+ \put(-40,15){\line(-1,0){100}}% % single bond at 1
+ \put(-40,0){\line(-1,0){100}}% % single bond at 1
+ \put(-40,-15){\line(-1,0){100}}% % single bond at 1
+ \else\ifx\@tmpb\empty%alpha single bond
+ \put(-40,0){\line(-1,0){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ \else%
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(0,0){\line(-1,0){140}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(-1,0){140}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(-140,0)}}%
+ \else\if\@tmpb U%beta single bond
+ \put(0,0){\line(-1,0){140}}% % single bond at 1
+ \else\if\@tmpb S%alpha single bond
+ \put(0,0){\line(-1,0){140}}% % single bond at 1
+ \else\if\@tmpb D%alpha single bond
+ \put(0,10){\line(-1,0){140}}% % single bond at 1
+ \put(0,-10){\line(-1,0){140}}% % single bond at 1
+ \else\if\@tmpb T%alpha single bond
+ \put(0,-15){\line(-1,0){140}}% % single bond at 1
+ \put(0,0){\line(-1,0){140}}% % single bond at 1
+ \put(0,15){\line(-1,0){140}}% % single bond at 1
+ \else\ifx\@tmpb\empty%alpha single bond
+ \put(0,0){\line(-1,0){140}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ \fi%
+}% end of \setatombondh
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% The macro |\ylatombondposition| is used to calculate the shift values
+% (|\@ylii| and |\@yli|) for applying the |\setatombond| command.
+% \changes{v1.02}{1998/10/15}{New command: \cs{ylatombondposition}
+% for setting substituents}
+%
+% \begin{macro}{\ylatombondposition}
+% \begin{macrocode}
+\def\ylatombondposition#1#2#3{%
+\@@ylswfalse%%%\@reset@ylsw
+\@forsemicol\member:=#1\do{%
+\if@@ylsw\else%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\threech@r\@membera{}{}%
+\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
+\if@@ylsw
+\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
+\ifnum\@tmpaa >0\relax%
+\ifnum\@tmpaa <2\relax%
+\ifcase\@tmpaa%
+% %%%%%%%%%%%%%%%%
+\or% subst. on 1
+% %%%%%%%%%%%%%%%%
+%
+% (0,1)
+%
+ \ifnum#3=1\relax%upward
+ \if@clipfuse%
+ \gdef\@ylii{0}\gdef\@yli{-48}\global\@ylswtrue%
+ \else
+ \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
+ \fi
+% \setatombonda
+%
+% (1,0)
+%
+ \else\ifnum#3=4\relax%(right)
+ \if@clipfuse%
+ \gdef\@ylii{-40}\gdef\@yli{0}\global\@ylswtrue%
+ \else
+ \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
+ \fi
+% \setatombondb
+%
+% (0,-1)
+%
+ \else\ifnum#3=7\relax%(downward)
+ \if@clipfuse%
+ \gdef\@ylii{0}\gdef\@yli{48}\global\@ylswtrue%
+ \else
+ \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
+ \fi
+% \setatombondc
+%
+% (-5,3)
+%
+ \else\ifnum#3=11\relax%
+ \if@clipfuse%
+ \gdef\@ylii{50}\gdef\@yli{-30}\global\@ylswtrue%
+ \else
+ \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
+ \fi
+% \setatombondd
+%
+% (5,-3)
+%
+ \else\ifnum#3=5\relax%
+ \if@clipfuse%
+ \gdef\@ylii{-50}\gdef\@yli{30}\global\@ylswtrue%
+ \else
+ \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
+ \fi
+% \setatombonde
+%
+% (5,3)
+%
+ \else\ifnum#3=3\relax%
+ \if@clipfuse%
+ \gdef\@ylii{-50}\gdef\@yli{-30}\global\@ylswtrue%
+ \else
+ \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
+ \fi
+% \setatombondf
+%
+% (-5,-3)
+%
+ \else\ifnum#3=9\relax%
+ \if@clipfuse%
+ \gdef\@ylii{50}\gdef\@yli{30}\global\@ylswtrue%
+ \else
+ \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
+ \fi
+% \setatombondg
+%
+% (-1,0)
+%
+ \else\ifnum#3=10\relax%(left)
+ \if@clipfuse%
+ \gdef\@ylii{40}\gdef\@yli{0}\global\@ylswtrue%
+ \else
+ \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%
+ \fi
+% \setatombondh
+\fi\fi\fi\fi\fi\fi\fi\fi%
+\fi%end of ifcase
+\fi\fi\fi\fi%
+\fi}}% end of \ylatombondposition
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Macros for horizontal formulas}
+% \subsection{Placing substituents for horizontal formulas}
+%
+% Such a drawing command as |\setsixringh| uses several inner macros
+% for placing substituents with bonds. The first set of inner macros
+% are shown as follows.
+%
+% The command |\ylpositionh| is to obtain the shift values
+% |\@ylii| and |\@yli| which are used for shifting the standard point
+% of a substituent.
+% The locant flags such as |\@ylatrue| have been stopped to use.
+% \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}.
+% Commands for setting substituents}
+%
+% \begin{macro}{\ylpositionh}
+% \begin{macrocode}
+\def\ylpositionh#1#2#3#4#5{%
+\@@ylswfalse%%%\@reset@ylsw
+\@forsemicol\member:=#1\do{%
+\if@@ylsw\else%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\threech@r\@membera{}{}\relax%
+\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
+\if@@ylsw
+\ifnum#5<0\relax%
+\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
+\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax\fi
+\ifnum\@tmpaa>#3\relax%
+\ifnum\@tmpaa<#4\relax%
+\ifcase\@tmpaa%0 omit
+ \or\ifx\aaa\empty
+ \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@ylatrue% subst. on 1
+ \else
+ \gdef\@ylii{30}\gdef\@yli{0}\global\@ylswtrue%\@ylatrue% subst. on 1
+ \fi
+ \or\ifx\bbb\empty
+ \gdef\@ylii{-103}\gdef\@yli{-171}\global\@ylswtrue%\@ylbtrue% subst. on 2
+ \else
+ \gdef\@ylii{-73}\gdef\@yli{-223}\global\@ylswtrue%\@ylbtrue% subst. on 2
+ \fi
+ \or \ifx\ccc\empty
+ \gdef\@ylii{-303}\gdef\@yli{-171}\global\@ylswtrue%\@ylctrue% subst. on 3
+ \else
+ \gdef\@ylii{-333}\gdef\@yli{-223}\global\@ylswtrue%\@ylctrue% subst. on 3
+ \fi
+ \or\ifx\ddd\empty
+ \gdef\@ylii{-406}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
+ \else
+ \gdef\@ylii{-436}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
+ \fi
+ \or\ifx\eee\empty
+ \gdef\@ylii{-303}\gdef\@yli{171}\global\@ylswtrue%\@yletrue% subst. on 5
+ \else
+ \gdef\@ylii{-333}\gdef\@yli{223}\global\@ylswtrue%\@yletrue% subst. on 5
+ \fi
+ \or \ifx\fff\empty
+ \gdef\@ylii{-103}\gdef\@yli{171}\global\@ylswtrue%\@ylftrue% subst. on 6
+ \else
+ \gdef\@ylii{-73}\gdef\@yli{223}\global\@ylswtrue%\@ylftrue% subst. on 6
+ \fi
+\fi%end of ifcase
+\fi\fi\fi\fi\fi}}%
+% \end{macrocode}
+% \end{macro}
+% The |\@hsubsta| command is used for placing a substituent (|\@memberb|) at
+% the 1-position (top) of a vertical six-membered ring. The bond linking
+% between the substituent and the 1-position is drawn in the light of
+% the corresponding bond modifier (|\@tmpc| = Sa, Sb, SA, SB etc.).
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
+% \begin{macro}{\@hsubsta}
+% *************************************************************
+% * treatment of substitution positions for a horizontal type *
+% *************************************************************
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 1 %
+% %%%%%%%%%%%%%%%
+\def\@hsubsta{%
+\if@aclip %clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=17\relax
+ \yl@ydiff=31\relax
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ \put(-30,0){\line(-1,0){110}}% % single bond at 1
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=27\relax
+ \yl@ydiff=36\relax
+ \putlatom{-157}{42}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-30,18){\line(-5,3){100}}% % single bond at 1
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=37\relax
+ \yl@ydiff=28\relax
+ \putlatom{-157}{-100}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(-30,-18)(-120,-72)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=37\relax
+ \yl@ydiff=28\relax
+ \putlatom{-157}{-100}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=27\relax
+ \yl@ydiff=36\relax
+ \putlatom{-157}{42}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(-30,18){\line(-5,3){100}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(-30,18)(-130,78)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=27\relax
+ \yl@ydiff=36\relax
+ \putlatom{-157}{42}{\@memberb}% % left type
+ \put(-30,18){\line(-5,3){100}}% % single bond at 1
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=27\relax
+ \yl@ydiff=28\relax
+ \putlatom{-157}{-100}{\@memberb}% % left type
+ \put(-30,-18){\line(-5,-3){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=17\relax
+ \yl@ydiff=31\relax
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ \put(-30,-12){\line(-1,0){110}}% % double bond at 1
+ \put(-30,12){\line(-1,0){110}}% % double bond at 1
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=17\relax
+ \yl@ydiff=31\relax
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ {%
+ \thicklines%
+ \put(-30,0){\line(-1,0){110}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=17\relax
+ \yl@ydiff=31\relax
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ \@ifundefined{dottedline}{%
+ \put(-30,0){\line(-1,0){110}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(-30,0)(-140,0)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(0,0){\setatombondG}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(0,0){\setatombondD}%
+ }%
+ \else%
+ \yl@xdiff=17\relax
+ \yl@ydiff=31\relax
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ \put(-40,0){\line(-1,0){100}}% % single bond at 1
+ \fi\fi\fi\fi
+ \fi\fi%
+\else%% no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=17\relax
+ \yl@ydiff=31\relax
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ \put(0,0){\line(-1,0){140}}% % single bond at 1
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=37\relax
+ \yl@ydiff=30\relax
+ \putlatom{-157}{42}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(0,0){\line(-5,3){120}}% % single bond at 1
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=37\relax
+ \yl@ydiff=28\relax
+ \putlatom{-157}{-100}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(-5,-3){120}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(-120,-72)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=37\relax
+ \yl@ydiff=28\relax
+ \putlatom{-157}{-100}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(0,0){\line(-5,-3){120}}% % single bond at 1
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=37\relax
+ \yl@ydiff=30\relax
+ \putlatom{-157}{42}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(-5,3){120}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(-120,72)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=37\relax
+ \yl@ydiff=30\relax
+ \putlatom{-157}{42}{\@memberb}% % left type
+ \put(0,0){\line(-5,3){120}}% % single bond at 1
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=37\relax
+ \yl@ydiff=28\relax
+ \putlatom{-157}{-100}{\@memberb}% % left type
+ \put(0,0){\line(-5,-3){120}}% % single bond at 1
+ \fi\fi\fi\fi\fi
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=17\relax
+ \yl@ydiff=31\relax
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ \put(0,-12){\line(-1,0){140}}% % double bond at 1
+ \put(0,12){\line(-1,0){140}}% % double bond at 1
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=17\relax
+ \yl@ydiff=31\relax
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ {%
+ \thicklines%
+ \put(0,0){\line(-1,0){140}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=17\relax
+ \yl@ydiff=31\relax
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(-1,0){140}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(-140,0)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(0,0){\setatombondG}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(0,0){\setatombondD}%
+ }%
+ \else%
+ \yl@xdiff=17\relax
+ \yl@ydiff=31\relax
+ \putlatom{-157}{-31}{\@memberb}% % left type only
+ \put(0,0){\line(-1,0){140}}% % single bond at 1
+ \fi\fi\fi\fi%
+ \fi\fi
+ \fi}%end of \@hsubsta
+% \end{macrocode}
+% \end{macro}
+%
+% The |\@hsubstb| command is used for placing a substituent (|\@memberb|) at
+% the 2-position (upper-left) of a vertical six-membered ring.
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
+% \begin{macro}{\@hsubstb}
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 2 %
+% %%%%%%%%%%%%%%%
+\def\@hsubstb{%
+ \if@bclip %clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=43\relax
+ \yl@ydiff=5\relax
+ \putlratom{-27}{331}{\@memberb}%
+ \put(79,221){\line(-3,5){63}}% % single bond at 2 (62=>63)
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=0\relax
+ \yl@ydiff=21\relax
+ \putlatom{-41}{240}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(59,201){\line(-5,3){100}}% % single bond at 2
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=-10\relax
+ \putratom{83}{331}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(103,221){\line(0,1){100}}% % single bond at 2
+ }{{\thicklines%
+ \dottedline{20}(103,221)(103,321)}}%1998/10/11 by SF
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=20\relax
+ \yl@ydiff=-10\relax
+ \putratom{83}{331}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(103,221){\line(0,1){100}}% % single bond at 2
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=0\relax
+ \yl@ydiff=21\relax
+ \putlatom{-41}{240}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(59,201){\line(-5,3){100}}% % single bond at 2
+ }{{\thicklines%
+ \dottedline{20}(59,201)(-41,261)}}%1998/10/11 by SF
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=0\relax
+ \yl@ydiff=21\relax
+ \putlatom{-41}{240}{\@memberb}% % left type
+ \put(59,201){\line(-5,3){100}}% % single bond at 2
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=-10\relax
+ \putratom{83}{331}{\@memberb}% % right type
+ \put(103,221){\line(0,1){100}}% % single bond at 2
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=49\relax
+ \yl@ydiff=-13\relax
+ \putlratom{-27}{331}{\@memberb}%
+ \put(78,208){\line(-3,5){63}}% % double bond at 2(62->63)
+ \put(100,219){\line(-3,5){63}}% % double bond at 2(62->63)
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=43\relax
+ \yl@ydiff=5\relax
+ \putlratom{-27}{331}{\@memberb}%
+ {%
+ \thicklines%
+ \put(79,221){\line(-3,5){63}}% % single bond at 2 (62->63)
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=43\relax
+ \yl@ydiff=5\relax
+ \putlratom{-27}{331}{\@memberb}%
+ \@ifundefined{dottedline}{%
+ \put(79,221){\line(-3,5){63}}% % single bond at 2(62->63)
+ }{{\thicklines%
+ \dottedline{20}(79,221)(16,326)}}%1998/10/11 by SF
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(103,171){\setatombondh}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(103,171){\setatombondF}%
+ }%
+ \else%
+ \yl@xdiff=43\relax
+ \yl@ydiff=5\relax
+ \putlratom{-27}{331}{\@memberb}%
+ \put(79,221){\line(-3,5){63}}% % single bond at 2 (62->63)
+ \fi\fi\fi\fi%
+ \fi\fi
+ \else%%no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=58\relax
+ \yl@ydiff=-41\relax
+ \putlratom{-27}{331}{\@memberb}%
+ \put(103,171){\line(-3,5){72}}% % single bond at 2
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=14\relax
+ \yl@ydiff=-3\relax
+ \putlatom{-31}{240}{\@memberb}% % left type
+ {%
+ \thicklines%
+ \put(103,171){\line(-5,3){120}}% % single bond at 2
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=-20\relax
+ \putratom{83}{331}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(103,171){\line(0,1){140}}% % single bond at 2
+ }{{\thicklines%
+ \dottedline{20}(103,171)(103,311)}}%1998/10/11 by SF
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=20\relax
+ \yl@ydiff=-20\relax
+ \putratom{83}{331}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(103,171){\line(0,1){140}}% % single bond at 2
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=14\relax
+ \yl@ydiff=-3\relax
+ \putlatom{-31}{240}{\@memberb}% % left type
+ \@ifundefined{dottedline}{%
+ \put(103,171){\line(-5,3){120}}% % single bond at 2
+ }{{\thicklines%
+ \dottedline{20}(103,171)(-7,243)}}%1998/10/11 by SF
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=14\relax
+ \yl@ydiff=-3\relax
+ \putlatom{-31}{240}{\@memberb}% % left type
+ \put(103,171){\line(-5,3){120}}% % single bond at 2
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=-20\relax
+ \putratom{83}{331}{\@memberb}% % right type
+ \put(103,171){\line(0,1){140}}% % single bond at 2
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=64\relax
+ \yl@ydiff=-41\relax
+ \putlratom{-27}{331}{\@memberb}%
+ \put(96,168){\line(-3,5){72}}% % double bond at 2
+ \put(121,174){\line(-3,5){72}}% % double bond at 2
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=58\relax
+ \yl@ydiff=-41\relax
+ \putlratom{-27}{331}{\@memberb}%
+ {%
+ \thicklines%
+ \put(103,171){\line(-3,5){72}}% % single bond at 2
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=58\relax
+ \yl@ydiff=-41\relax
+ \putlratom{-27}{331}{\@memberb}%
+ \@ifundefined{dottedline}{%
+ \put(103,171){\line(-3,5){72}}% % single bond at 2
+ }{{\thicklines%
+ \dottedline{20}(103,171)(31,291)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(103,171){\setatombondh}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(103,171){\setatombondF}%
+ }%
+ \else%
+ \yl@xdiff=58\relax
+ \yl@ydiff=-41\relax
+ \putlratom{-27}{331}{\@memberb}%
+ \put(103,171){\line(-3,5){72}}% % single bond at 2
+ \fi\fi\fi\fi%
+ \fi\fi
+ \fi}% end of \@hsubstb
+% \end{macrocode}
+% \end{macro}
+%
+% The |\@hsubstc| command is used for placing a substituent (|\@memberb|) at
+% the 3-position (upper-right) of a vertical six-membered ring.
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
+% \begin{macro}{\@hsubstc}
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 3 %
+% %%%%%%%%%%%%%%%
+\def\@hsubstc{%
+ \if@cclip %clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=43\relax
+ \yl@ydiff=5\relax
+ \putratom{363}{331}{\@memberb}%
+ \put(343,221){\line(3,5){63}}% % single bond at 3 (62->63)
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=0\relax
+ \yl@ydiff=21\relax
+ \putratom{443}{240}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(343,201){\line(5,3){100}}% % single bond at 3
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=0\relax
+ \putratom{283}{331}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(303,221){\line(0,1){110}}% % single bond at 3
+ }{{\thicklines%
+ \dottedline{20}(303,221)(303,331)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=20\relax
+ \yl@ydiff=0\relax
+ \putratom{283}{331}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(303,221){\line(0,1){110}}% % single bond at 3
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=0\relax
+ \yl@ydiff=21\relax
+ \putratom{443}{240}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(343,201){\line(5,3){100}}% % single bond at 3
+ }{{\thicklines%
+ \dottedline{20}(343,201)(443,261)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=0\relax
+ \yl@ydiff=21\relax
+ \putratom{443}{240}{\@memberb}% % right type
+ \put(343,201){\line(5,3){100}}% % single bond at 3
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=0\relax
+ \putratom{283}{331}{\@memberb}% % right type
+ \put(303,221){\line(0,1){110}}% % single bond at 3
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=22\relax
+ \yl@ydiff=-18\relax
+ \putratom{363}{331}{\@memberb}%
+ \put(328,208){\line(3,5){63}}% % double bond at 3
+ \put(303,214){\line(3,5){63}}% % double bond at 3
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=43\relax
+ \yl@ydiff=5\relax
+ \putratom{363}{331}{\@memberb}%
+ {%
+ \thicklines%
+ \put(343,221){\line(3,5){63}}% % single bond at 3
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=43\relax
+ \yl@ydiff=5\relax
+ \putratom{363}{331}{\@memberb}%
+ \@ifundefined{dottedline}{%
+ \put(343,221){\line(3,5){63}}% % single bond at 3 (62->63)
+ }{{\thicklines%
+ \dottedline{20}(343,221)(406,326)}}% 1998/10/11 by SF
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(303,171){\setatombondD}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(303,171){\setatombondb}%
+ }%
+ \else%
+ \yl@xdiff=43\relax
+ \yl@ydiff=5\relax
+ \putratom{363}{331}{\@memberb}%
+ \put(343,221){\line(3,5){63}}% % single bond at 3 (62->63)
+ \fi\fi\fi\fi%
+ \fi\fi
+ \else%no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=12\relax
+ \yl@ydiff=-40\relax
+ \putratom{363}{331}{\@memberb}%
+ \put(303,171){\line(3,5){72}}% % single bond at 3
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-20\relax
+ \yl@ydiff=3\relax
+ \putratom{443}{240}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(303,171){\line(5,3){120}}% % single bond at 3
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=-20\relax
+ \putratom{283}{331}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(303,171){\line(0,1){140}}% % single bond at 3
+ }{{\thicklines%
+ \dottedline{20}(303,171)(303,311)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=20\relax
+ \yl@ydiff=-20\relax
+ \putratom{283}{331}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(303,171){\line(0,1){140}}% % single bond at 3
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-20\relax
+ \yl@ydiff=3\relax
+ \putratom{443}{240}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(303,171){\line(5,3){120}}% % single bond at 3
+ }{{\thicklines%
+ \dottedline{20}(303,171)(423,243)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-20\relax
+ \yl@ydiff=3\relax
+ \putratom{443}{240}{\@memberb}% % right type
+ \put(303,171){\line(5,3){120}}% % single bond at 3
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=-20\relax
+ \putratom{283}{331}{\@memberb}% % right type
+ \put(303,171){\line(0,1){140}}% % single bond at 3
+ \fi\fi\fi\fi\fi%
+ \fi\fi%
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=6\relax
+ \yl@ydiff=-40\relax
+ \putratom{363}{331}{\@memberb}%
+ \put(310,168){\line(3,5){72}}% % double bond at 3
+ \put(284,174){\line(3,5){72}}% % double bond at 3
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=12\relax
+ \yl@ydiff=-40\relax
+ \putratom{363}{331}{\@memberb}%
+ {%
+ \thicklines%
+ \put(303,171){\line(3,5){72}}% % single bond at 3
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=12\relax
+ \yl@ydiff=-40\relax
+ \putratom{363}{331}{\@memberb}%
+ \@ifundefined{dottedline}{%
+ \put(303,171){\line(3,5){72}}% % single bond at 3
+ }{{\thicklines%
+ \dottedline{20}(303,171)(375,291)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(303,171){\setatombondD}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(303,171){\setatombondb}%
+ }%
+ \else%
+ \yl@xdiff=12\relax
+ \yl@ydiff=-40\relax
+ \putratom{363}{331}{\@memberb}%
+ \put(303,171){\line(3,5){72}}% % single bond at 3
+ \fi\fi\fi\fi%
+ \fi\fi
+ \fi}% end of \@hsubstc
+% \end{macrocode}
+% \end{macro}
+%
+% The |\@hsubstd| command is used for placing a substituent (|\@memberb|) at
+% the 4-position (right-hand) of a vertical six-membered ring.
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
+% \begin{macro}{\@substd}
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 4 %
+% %%%%%%%%%%%%%%%
+\def\@hsubstd{%
+\if@clip %clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \putratom{563}{-31}{\@memberb}% % right type only
+ \put(436,0){\line(1,0){110}}% % single bond at 4
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-27\relax
+ \yl@ydiff=36\relax
+ \putratom{563}{42}{\@memberb}% % right type only
+ {%
+ \thicklines%
+ \put(436,18){\line(5,3){100}}% % single bond at 4
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=-27\relax
+ \yl@ydiff=22\relax
+ \putratom{563}{-100}{\@memberb}% % right type only
+ \@ifundefined{dottedline}{%
+ \put(436,-18){\line(5,-3){100}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(436,-18)(526,-72)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=-27\relax
+ \yl@ydiff=22\relax
+ \putratom{563}{-100}{\@memberb}% % right type only
+ {%
+ \thicklines%
+ \put(436,-18){\line(5,-3){100}}% % single bond at 4
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-27\relax
+ \yl@ydiff=36\relax
+ \putratom{563}{42}{\@memberb}% % right type only
+ \@ifundefined{dottedline}{%
+ \put(436,18){\line(5,3){100}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(436,18)(536,78)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-27\relax
+ \yl@ydiff=36\relax
+ \putratom{563}{42}{\@memberb}% % right type only
+ \put(436,18){\line(5,3){100}}% % single bond at 4
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=-27\relax
+ \yl@ydiff=22\relax
+ \putratom{563}{-100}{\@memberb}% % right type only
+ \put(436,-18){\line(5,-3){100}}% % single bond at 4
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \putratom{563}{-31}{\@memberb}% % right type only
+ \put(436,-12){\line(1,0){110}}% % double bond at 4
+ \put(436,12){\line(1,0){110}}% % double bond at 4
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \putratom{563}{-31}{\@memberb}% % right type only
+ {%
+ \thicklines%
+ \put(436,0){\line(1,0){110}}% % single bond at 4
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \putratom{563}{-31}{\@memberb}% % right type only
+ \@ifundefined{dottedline}{%
+ \put(436,0){\line(1,0){110}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(436,0)(546,0)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(406,0){\setatombondF}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(406,0){\setatombondE}%
+ }%
+ \else%
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \putratom{563}{-31}{\@memberb}% % right type only
+ \put(436,0){\line(1,0){110}}% % single bond at 4
+ \fi\fi\fi\fi%
+ \fi\fi
+\else%% no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \putratom{563}{-31}{\@memberb}% % right type only
+ \put(406,0){\line(1,0){140}}% % single bond at 4
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-37\relax
+ \yl@ydiff=30\relax
+ \putratom{563}{42}{\@memberb}% % right type only
+ {%
+ \thicklines%
+ \put(406,0){\line(5,3){120}}% % single bond at 4
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=-37\relax
+ \yl@ydiff=28\relax
+ \putratom{563}{-100}{\@memberb}% % right type only
+ \@ifundefined{dottedline}{%
+ \put(406,0){\line(5,-3){120}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(406,0)(526,-72)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=-37\relax
+ \yl@ydiff=28\relax
+ \putratom{563}{-100}{\@memberb}% % right type only
+ {%
+ \thicklines%
+ \put(406,0){\line(5,-3){120}}% % single bond at 4
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-37\relax
+ \yl@ydiff=30\relax
+ \putratom{563}{42}{\@memberb}% % right type only
+ \@ifundefined{dottedline}{%
+ \put(406,0){\line(5,3){120}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(406,0)(526,72)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-37\relax
+ \yl@ydiff=30\relax
+ \putratom{563}{42}{\@memberb}% % right type only
+ \put(406,0){\line(5,3){120}}% % single bond at 4
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=-37\relax
+ \yl@ydiff=28\relax
+ \putratom{563}{-100}{\@memberb}% % right type only
+ \put(406,0){\line(5,-3){120}}% % single bond at 4
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \putratom{563}{-31}{\@memberb}% % right type only
+ \put(406,-12){\line(1,0){140}}% % double bond at 4
+ \put(406,12){\line(1,0){140}}% % double bond at 4
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \putratom{563}{-31}{\@memberb}% % right type only
+ {%
+ \thicklines%
+ \put(406,0){\line(1,0){140}}% % single bond at 4
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \putratom{563}{-31}{\@memberb}% % right type only
+ \@ifundefined{dottedline}{%
+ \put(406,0){\line(1,0){140}}% % single bond at 4
+ }{{\thicklines%
+ \dottedline{20}(406,0)(546,0)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(406,0){\setatombondF}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(406,0){\setatombondE}%
+ }%
+ \else%
+ \yl@xdiff=-17\relax
+ \yl@ydiff=31\relax
+ \putratom{563}{-31}{\@memberb}% % right type only
+ \put(406,0){\line(1,0){140}}% % single bond at 4
+ \fi\fi\fi\fi%
+ \fi\fi
+ \fi}% end of \@hsubstd
+% \end{macrocode}
+% \end{macro}
+%
+% The |\@hsubste| command is used for placing a substituent (|\@memberb|) at
+% the 5-position (lower-right) of a vertical six-membered ring.
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
+% \begin{macro}{\@hsubste}
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 5 %
+% %%%%%%%%%%%%%%%
+\def\@hsubste{%
+ \if@eclip %clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=43\relax
+ \yl@ydiff=76\relax
+ \putratom{363}{-402}{\@memberb}%
+ \put(343,-221){\line(3,-5){63}}%% single bond at 5 (62=>63)
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=0\relax
+ \yl@ydiff=41\relax
+ \putratom{443}{-301}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(343,-201){\line(5,-3){100}}% % single bond at 5
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=71\relax
+ \putratom{283}{-402}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(303,-221){\line(0,-1){110}}% % single bond at 5
+ }{{\thicklines%
+ \dottedline{20}(303,-221)(303,-321)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=20\relax
+ \yl@ydiff=71\relax
+ \putratom{283}{-402}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(303,-221){\line(0,-1){110}}% % single bond at 5
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=0\relax
+ \yl@ydiff=41\relax
+ \putratom{443}{-301}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(343,-201){\line(5,-3){100}}% % single bond at 5
+ }{{\thicklines%
+ \dottedline{20}(343,-201)(443,-260)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=0\relax
+ \yl@ydiff=41\relax
+ \putratom{443}{-301}{\@memberb}% % right type
+ \put(343,-201){\line(5,-3){100}}% % single bond at 5
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=71\relax
+ \putratom{283}{-402}{\@memberb}% % right type
+ \put(303,-221){\line(0,-1){110}}% % single bond at 5
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=22\relax
+ \yl@ydiff=82\relax
+ \putratom{363}{-402}{\@memberb}
+ \put(328,-208){\line(3,-5){63}}% % double bond at 5 (62->63)
+ \put(306,-224){\line(3,-5){63}}% % double bond at 5 (62->63)
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=43\relax
+ \yl@ydiff=76\relax
+ \putratom{363}{-402}{\@memberb}%
+ {%
+ \thicklines%
+ \put(343,-221){\line(3,-5){63}}%% single bond at 5(62->63)
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=43\relax
+ \yl@ydiff=76\relax
+ \putratom{363}{-402}{\@memberb}%
+ \@ifundefined{dottedline}{%
+ \put(343,-221){\line(3,-5){63}}% % single bond at 5 (62->63)
+ }{{\thicklines%
+ \dottedline{20}(343,-221)(406,-326)}}%1998/10/11 by SF
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(303,-171){\setatombondb}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(303,-171){\setatombondG}%
+ }%
+ \else%
+ \yl@xdiff=43\relax
+ \yl@ydiff=76\relax
+ \putratom{363}{-402}{\@memberb}%
+ \put(343,-221){\line(3,-5){63}}% % single bond at 5(62->63)
+ \fi\fi\fi\fi%
+ \fi\fi
+ \else%no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=9\relax
+ \yl@ydiff=111\relax
+ \putratom{363}{-402}{\@memberb}%
+ \put(303,-171){\line(3,-5){72}}% % single bond at 5
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-20\relax
+ \yl@ydiff=58\relax
+ \putratom{443}{-301}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(303,-171){\line(5,-3){120}}% % single bond at 5
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=81\relax
+ \putratom{283}{-402}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(303,-171){\line(0,-1){140}}% % single bond at 5
+ }{{\thicklines%
+ \dottedline{20}(303,-171)(303,-321)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=20\relax
+ \yl@ydiff=81\relax
+ \putratom{283}{-402}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(303,-171){\line(0,-1){140}}% % single bond at 5
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-20\relax
+ \yl@ydiff=58\relax
+ \putratom{443}{-301}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(303,-171){\line(5,-3){120}}% % single bond at 5
+ }{{\thicklines%
+ \dottedline{20}(303,-171)(423,-243)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-20\relax
+ \yl@ydiff=58\relax
+ \putratom{443}{-301}{\@memberb}% % right type
+ \put(303,-171){\line(5,-3){120}}% % single bond at 5
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=81\relax
+ \putratom{283}{-402}{\@memberb}% % right type
+ \put(303,-171){\line(0,-1){140}}% % single bond at 5
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=3\relax
+ \yl@ydiff=111\relax
+ \putratom{363}{-402}{\@memberb}%
+ \put(310,-168){\line(3,-5){72}}% % double bond at 5
+ \put(284,-174){\line(3,-5){72}}% % double bond at 5
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=9\relax
+ \yl@ydiff=111\relax
+ \putratom{363}{-402}{\@memberb}%
+ {%
+ \thicklines%
+ \put(303,-171){\line(3,-5){72}}% % single bond at 5
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=9\relax
+ \yl@ydiff=111\relax
+ \putratom{363}{-402}{\@memberb}%
+ \@ifundefined{dottedline}{%
+ \put(303,-171){\line(3,-5){72}}% % single bond at 5
+ }{{\thicklines%
+ \dottedline{20}(303,-171)(375,-291)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(303,-171){\setatombondb}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(303,-171){\setatombondG}%
+ }%
+ \else%
+ \yl@xdiff=9\relax
+ \yl@ydiff=111\relax
+ \putratom{363}{-402}{\@memberb}%
+ \put(303,-171){\line(3,-5){72}}% % single bond at 5
+ \fi\fi\fi\fi%
+ \fi\fi
+ \fi}% end of \@hsubste
+% \end{macrocode}
+% \end{macro}
+%
+% The |\@hsubstf| command is used for placing a substituent (|\@memberb|) at
+% the 6-position (lower-left) of a vertical six-membered ring.
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd}
+% \begin{macro}{\@hsubstf}
+% \begin{macrocode}
+% %%%%%%%%%%%%%%%
+% % subst. on 6 %
+% %%%%%%%%%%%%%%%
+\def\@hsubstf{%
+ \if@fclip %clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=43\relax
+ \yl@ydiff=76\relax
+ \putlratom{-27}{-402}{\@memberb}%
+ \put(79,-221){\line(-3,-5){63}}% % single bond at 6 (62=>63)
+ \else\if\@tmpc B%(B) beta
+ \yl@xdiff=-10\relax
+ \yl@ydiff=40\relax
+ \putlatom{-31}{-301}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(59,-201){\line(-5,-3){100}}% % single bond at 6
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=81\relax
+ \putratom{83}{-402}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(103,-221){\line(0,-1){100}}% % single bond at 6
+ }{{\thicklines%
+ \dottedline{20}(103,-221)(103,-321)}}%
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=20\relax
+ \yl@ydiff=81\relax
+ \putratom{83}{-402}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(103,-221){\line(0,-1){100}}% % single bond at 6
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=-10\relax
+ \yl@ydiff=40\relax
+ \putlatom{-31}{-301}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(59,-201){\line(-5,-3){100}}% % single bond at 6
+ }{{\thicklines%
+ \dottedline{20}(59,-201)(-41,-261)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=-10\relax
+ \yl@ydiff=40\relax
+ \putlatom{-31}{-301}{\@memberb}% % right type
+ \put(59,-201){\line(-5,-3){100}}% % single bond at 6
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=81\relax
+ \putratom{83}{-402}{\@memberb}% % right type
+ \put(103,-221){\line(0,-1){100}}% % single bond at 6
+ \fi\fi\fi\fi\fi
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=49\relax
+ \yl@ydiff=82\relax
+ \putlratom{-27}{-402}{\@memberb}%
+ \put(78,-208){\line(-3,-5){63}}% % double bond at 6 (62->63)
+ \put(106,-219){\line(-3,-5){63}}% % double bond at 6 (62->63)
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=43\relax
+ \yl@ydiff=76\relax
+ \putlratom{-27}{-402}{\@memberb}%
+ {%
+ \thicklines%
+ \put(79,-221){\line(-3,-5){63}}% % single bond at 6 (62=>63)
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=43\relax
+ \yl@ydiff=76\relax
+ \putlratom{-27}{-402}{\@memberb}%
+ \@ifundefined{dottedline}{%
+ \put(79,-221){\line(-3,-5){63}}% single bond at 6 (62=>63)
+ }{{\thicklines%
+ \dottedline{20}(79,-221)(16,-326)}}%1998/10/11 by SF
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(103,-171){\setatombondE}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusetrue
+ \put(103,-171){\setatombondh}%
+ }%
+ \else%
+ \yl@xdiff=43\relax
+ \yl@ydiff=76\relax
+ \putlratom{-27}{-402}{\@memberb}%
+ \put(79,-221){\line(-3,-5){63}}% % single bond at 6(62->63)
+ \fi\fi\fi\fi%
+ \fi\fi
+ \else%%no clipping
+ \if\@tmpb S%single bond
+ \ifx\@tmpc\empty%
+ \yl@xdiff=59\relax
+ \yl@ydiff=111\relax
+ \putlratom{-27}{-402}{\@memberb}%
+ \put(108,-171){\line(-3,-5){72}}% % single bond at 6
+% \else\if\@tmpb B%beta single bond
+ \else\if\@tmpc B%beta single bond%1998/10/11 by S. Fujita
+ \yl@xdiff=8\relax
+ \yl@ydiff=58\relax
+ \putlatom{-31}{-301}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(103,-171){\line(-5,-3){120}}% % single bond at 6
+ }%
+ \else\if\@tmpc A%(A) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=91\relax
+ \putratom{83}{-402}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(103,-171){\line(0,-1){140}}% % single bond at 6
+ }{{\thicklines%
+ \dottedline{20}(103,-171)(103,-311)}}%1998/10/17 by SF
+ \else\if\@tmpc u%(u) up --- (B) beta
+ \yl@xdiff=20\relax
+ \yl@ydiff=91\relax
+ \putratom{83}{-402}{\@memberb}% % right type
+ {%
+ \thicklines%
+ \put(103,-171){\line(0,-1){140}}% % single bond at 6
+ }%
+ \else\if\@tmpc d%(d) down --- (A) alpha
+ \yl@xdiff=8\relax
+ \yl@ydiff=58\relax
+ \putlatom{-31}{-301}{\@memberb}% % right type
+ \@ifundefined{dottedline}{%
+ \put(103,-171){\line(-5,-3){120}}% % single bond at 6
+ }{{\thicklines%
+ \dottedline{20}(103,-171)(-17,-243)}}%
+ \else\if\@tmpc b%(b) beta
+ \yl@xdiff=8\relax
+ \yl@ydiff=58\relax
+ \putlatom{-31}{-301}{\@memberb}% % right type
+ \put(103,-171){\line(-5,-3){120}}% % single bond at 6
+ \else\if\@tmpc a%(a) alpha
+ \yl@xdiff=20\relax
+ \yl@ydiff=91\relax
+ \putratom{83}{-402}{\@memberb}% % right type
+ \put(103,-171){\line(0,-1){140}}% % single bond at 6
+ \fi\fi\fi\fi\fi%
+ \fi\fi
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=65\relax
+ \yl@ydiff=111\relax
+ \putlratom{-27}{-402}{\@memberb}%
+ \put(96,-168){\line(-3,-5){72}}% % double bond at 6
+ \put(121,-174){\line(-3,-5){72}}% % double bond at 6
+ \else\if\@tmpb B%beta single bond
+ \yl@xdiff=59\relax
+ \yl@ydiff=111\relax
+ \putlratom{-27}{-402}{\@memberb}%
+ \put(108,-171){\line(-3,-5){72}}% % single bond at 6
+ {%
+ \thicklines%
+ \put(108,-171){\line(-3,-5){72}}% % single bond at 6
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=59\relax
+ \yl@ydiff=111\relax
+ \putlratom{-27}{-402}{\@memberb}%
+ \@ifundefined{dottedline}{%
+ \put(108,-171){\line(-3,-5){72}}% % single bond at 6
+ }{{\thicklines%
+ \dottedline{20}(103,-171)(31,-291)}}%
+ \else\if\@tmpb F%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(103,-171){\setatombondE}%
+ }%
+ \else\if\@tmpb G%fused bond
+ {\let\@tmpb=\@tmpc\@clipfusefalse
+ \put(103,-171){\setatombondh}%
+ }%
+ \else%
+ \yl@xdiff=59\relax
+ \yl@ydiff=111\relax
+ \putlratom{-27}{-402}{\@memberb}%
+ \put(108,-171){\line(-3,-5){72}}% % single bond at 6
+ \fi\fi\fi\fi%
+ \fi\fi
+ \fi}% end of \@hsubstf
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Setting-up substituents and bonds on a six-membered ring}
+%
+% The |\setsixringh| macro takes 5 arguments, which have the same meanings
+% as described in the definition of the |\setsixringv| macro.
+%
+% \begin{verbatim}
+% ****************************************************************
+% * setting of atoms and bonds on a horizontal six-membered ring *
+% ****************************************************************
+%
+% \setsixringh{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}
+%
+% \end{verbatim}
+%
+% The first argument |SUBSLIST| is a list of substituents, which is
+% represented in the standard format of \XyMTeX{}.
+%
+% \begin{verbatim}
+% SUBSLIST: list of substituents (max 6 substitution positions)
+%
+% for n = 1 to 6
+%
+% nD : exocyclic double bond at n-atom
+% n or nS : exocyclic single bond at n-atom
+% nA : alpha single bond at n-atom
+% nB : beta single bond at n-atom
+% nSA : alpha single bond at n-atom (boldface)
+% nSB : beta single bond at n-atom (dotted line)
+% nSa : alpha (not specified) single bond at n-atom
+% nSb : beta (not specified) single bond at n-atom
+%
+% nSd : alpha single bond at n-atom (dotted line)
+% with an alternative direction to nSA
+% nSu : beta single bond at n-atom (boldface)
+% with an alternative direction to nSB
+% nFA : alpha single bond at n-atom (dotted line)
+% for ring fusion
+% nFB : beta single bond at n-atom (boldface)
+% for ring fusion
+% nGA : alpha single bond at n-atom (dotted line)
+% for the other ring fusion
+% nGB : beta single bond at n-atom (boldface)
+% for the other ring fusion
+%
+% \end{verbatim}
+%
+% The second argument |AD| is an adjustment value, which adjusts the original
+% set of locant numbers into the standard one between 1 to 6 for drawing
+% a six-membered ring.
+% The effective range of the standared set of locant numbers is
+% restricted by the auguments |LOWER| and |UPPER|. A minus value of
+% the last argument shows the anti-clockwise numbering, while zero or
+% a plus value represents the clockwise numbering.
+%
+% \begin{verbatim}
+% AD : adjustment e.g. 0 for six-membered rings
+% LOWER : lower limit LOWER < effective range < UPPER
+% UPPER : upper limit
+% ORDER : >= 0 clockwise, <0 anti-clockwise
+%
+% \end{verbatim}
+%
+% \changes{v1.02}{1998/10/11}{Adding switches \cs{@yla} etc.}
+% \changes{v1.02}{1998/10/31}{Deleting switches \cs{@yla} etc.}
+%
+% \begin{macro}{\setsixringh}
+% \begin{macrocode}
+\def\setsixringh#1#2#3#4#5{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\threech@r\@membera{}{}%
+\ifx\@memberb\@yl\else
+\ifnum#5 < 0\relax%
+\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
+\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
+\ifnum\@tmpaa >#3\relax%
+\ifnum\@tmpaa <#4\relax%
+\ifcase\@tmpaa%0 omit
+% \end{macrocode}
+%
+% The following commands are not used in a revised version
+% because of the direct use of |\ifx\@memberb\@yl\else...\fi|.
+%
+% \begin{macrocode}
+% %\or \if@yla\else\@hsubsta\fi% subst. on 1
+% %\or \if@ylb\else\@hsubstb\fi% subst. on 2
+% %\or \if@ylc\else\@hsubstc\fi% subst. on 3
+% %\or \if@yld\else\@hsubstd\fi% subst. on 4
+% %\or \if@yle\else\@hsubste\fi% subst. on 5
+% %\or \if@ylf\else\@hsubstf\fi% subst. on 6
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \or\@hsubsta% subst. on 1
+ \or\@hsubstb% subst. on 2
+ \or\@hsubstc% subst. on 3
+ \or\@hsubstd% subst. on 4
+ \or\@hsubste% subst. on 5
+ \or\@hsubstf% subst. on 6
+\fi%end of ifcase
+\fi\fi\fi\fi}}% %end of setsixringh
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Mocros linking Substituents}
+% \subsection{Right-handed linking unit}
+%
+% A structure-drawing command can be used to typeset a substituent
+% by using a (yl)-argument. Moreover, the macro |\ryl| permits us
+% to draw an intermediate linking unit.
+% \changes{v1.02}{1998/10/25}{New command: \cs{ryl} etc.}
+%
+% \begin{macro}{\ryl}
+% \begin{macro}{\@ryl}
+% \begin{macrocode}
+\newcount\x@ryl
+\newcount\y@ryl
+\def\ryl{\@ifnextchar({\@ryl}{\@ryl()}}
+\def\@ryl(#1)#2{%
+\iniatom\iniflag%initialize
+\@reset@ylsw%
+\def\centeraaa{}%
+\x@ryl=0\y@ryl=0
+\@forsemicol\member:=#1\do{%
+\if@ylsw%
+\XyMTeXWarning{Duplicated items in the first augument of \string\ryl}%
+\else%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoch@r\@membera{}%
+\settowidth{\dimen0}{\@memberb}%
+\x@ryl=\dimen0%%%dimension => counter
+\divide\x@ryl\unitlength
+\advance\x@ryl by-70
+\y@ryl=0
+\ifcase\@tmpa%
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\y@ryl by50
+\or%1
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by30
+\advance\y@ryl by50
+\or%2
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by40
+\advance\y@ryl by40
+\or%3
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by50
+\advance\y@ryl by30
+\or%4
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by50
+\advance\y@ryl by0
+\or%5
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by50
+\advance\y@ryl by-30
+\or%6
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by50
+\advance\y@ryl by-50
+\or%7
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by30
+\advance\y@ryl by-50
+\or%8
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\y@ryl by-50
+\fi
+\fi\fi}%
+ \yl@shiftii=\x@ryl
+ \yl@shifti=-\y@ryl
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+ \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+% %%%%%%%%%%%%%%%%%%%%%%%%
+% % setting hetero atoms %
+% %%%%%%%%%%%%%%%%%%%%%%%%
+\ifx\centeraaa\empty\else%
+ \@clipfusetrue
+ \putlatom{40}{-30}{\centeraaa}% % left type
+\fi%
+% %%%%%%%%%%%%%%%%%%%%%%%%
+% % setting substituents %
+% %%%%%%%%%%%%%%%%%%%%%%%%
+\@forsemicol\member:=#2\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\threech@r\@membera{}{}%
+\ifcase\@tmpa%
+\setatombonda% 0 (upward) (0,1)
+\or\setatombondF%1 (3,5)
+\or\setatombondA%2 (1,1)
+\or\setatombondf%3 (5,3)
+\or\setatombondb%4 (1,0)
+\or\setatombonde%5 (5,-3)
+\or\setatombondB%6 (1,-1)
+\or\setatombondE%7 (3,-5)
+\or\setatombondc%8 (0,-1)
+\fi%end of ifcase
+\fi
+}\end{picture}}% %end of \ryl macro
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% The substituent-setting commands |\setatombondF| etc. are used
+% in the macro |\ryl|.
+%
+% \begin{macro}{\setatombondF}
+% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondF}}
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \begin{macrocode}
+\def\setatombondF{%% (3,5)
+ \if@clipfuse%
+ \if\@tmpb B%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ {%
+ \thicklines%
+ \put(30,50){\line(3,5){60}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \@ifundefined{dottedline}{%
+ \put(30,50){\line(3,5){60}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(30,50)(90,150)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \put(30,50){\line(3,5){60}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \put(30,50){\line(3,5){60}}% % single bond at 1
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \put(40,44){\line(3,5){60}}% % single bond at 1
+ \put(20,56){\line(3,5){60}}% % single bond at 1
+ \else\if\@tmpb T%triple bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \put(45,41){\line(3,5){60}}% % single bond at 1
+ \put(30,50){\line(3,5){60}}% % single bond at 1
+ \put(15,59){\line(3,5){60}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \put(30,50){\line(3,5){60}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{80}{160}{\@memberb}% % right type
+ \else%no clipping
+ \if\@tmpb B%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ {%
+ \thicklines%
+ \put(0,0){\line(3,5){90}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(3,5){90}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(90,150)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \put(0,0){\line(3,5){90}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \put(0,0){\line(3,5){90}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \put(10,-6){\line(3,5){90}}% % single bond at 1
+ \put(-10,6){\line(3,5){90}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \put(15,-9){\line(3,5){90}}% % single bond at 1
+ \put(0,0){\line(3,5){90}}% % single bond at 1
+ \put(-15,9){\line(3,5){90}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \yl@xdiff=10\relax
+ \yl@ydiff=-10\relax
+ \put(0,0){\line(3,5){90}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{80}{160}{\@memberb}% % right type
+ \fi%
+}% end of \setatombondF
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setatombondE}
+% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondE}}
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \begin{macrocode}
+\def\setatombondE{%% (3,-5)
+ \if@clipfuse%
+ \yl@xdiff=10\relax
+ \yl@ydiff=70\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(30,-50){\line(3,-5){60}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(30,-50){\line(3,-5){60}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(30,-50)(90,-150)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(30,-50){\line(3,-5){60}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(30,-50){\line(3,-5){60}}% % single bond at 1
+ \else\if\@tmpb D%double bond
+ \put(40,-44){\line(3,-5){60}}% % single bond at 1
+ \put(20,-56){\line(3,-5){60}}% % single bond at 1
+ \else\if\@tmpb T%triple bond
+ \put(45,-41){\line(3,-5){60}}% % single bond at 1
+ \put(30,-50){\line(3,-5){60}}% % single bond at 1
+ \put(15,-59){\line(3,-5){60}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(30,-50){\line(3,-5){60}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{80}{-220}{\@memberb}% % right type
+ \else%no clipping
+ \yl@xdiff=10\relax
+ \yl@ydiff=70\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(0,0){\line(3,-5){90}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(3,-5){90}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(90,-150)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(0,0){\line(3,-5){90}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(0,0){\line(3,-5){90}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \put(10,6){\line(3,-5){90}}% % single bond at 1
+ \put(-10,-6){\line(3,-5){90}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \put(15,9){\line(3,-5){90}}% % single bond at 1
+ \put(0,0){\line(3,-5){90}}% % single bond at 1
+ \put(-15,-9){\line(3,-5){90}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(0,0){\line(3,-5){90}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{80}{-220}{\@memberb}% % right type
+ \fi%
+}% end of \setatombondE
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setatombondA}
+% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondA}}
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \begin{macrocode}
+\def\setatombondA{%% (1,1)
+ \yl@xdiff=0\relax
+ \yl@ydiff=0\relax
+ \if@clipfuse%
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(40,40){\line(1,1){100}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(40,40){\line(1,1){100}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(40,40)(140,140)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(40,40){\line(1,1){100}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(40,40){\line(1,1){100}}% % single bond at 1
+ \else\if\@tmpb D%double bond
+ \put(46,36){\line(1,1){100}}% % single bond at 1
+ \put(36,46){\line(1,1){100}}% % single bond at 1
+ \else\if\@tmpb T%triple bond
+ \put(50,30){\line(1,1){100}}% % single bond at 1
+ \put(40,40){\line(1,1){100}}% % single bond at 1
+ \put(30,50){\line(1,1){100}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(40,40){\line(1,1){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{140}{140}{\@memberb}% % right type
+ \else%no clipping
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(0,0){\line(1,1){120}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(1,1){120}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(120,120)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(0,0){\line(1,1){120}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(0,0){\line(1,1){120}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \put(6,-6){\line(1,1){120}}% % single bond at 1
+ \put(-6,6){\line(1,1){120}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \put(10,-10){\line(1,1){120}}% % single bond at 1
+ \put(0,0){\line(1,1){120}}% % single bond at 1
+ \put(-10,10){\line(1,1){120}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(0,0){\line(1,1){120}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{120}{120}{\@memberb}% % right type
+ \fi%
+}% end of \setatombondA
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setatombondB}
+% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondB}}
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \begin{macrocode}
+\def\setatombondB{%% (1,-1)
+ \if@clipfuse%
+ \yl@xdiff=0\relax
+ \yl@ydiff=60\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(40,-40){\line(1,-1){100}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(40,-40){\line(1,-1){100}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(40,-40)(140,-140)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(40,-40){\line(1,-1){100}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(40,-40){\line(1,-1){100}}% % single bond at 1
+ \else\if\@tmpb D%double bond
+ \put(46,-36){\line(1,-1){100}}% % single bond at 1
+ \put(36,-46){\line(1,-1){100}}% % single bond at 1
+ \else\if\@tmpb T%triple bond
+ \put(50,-30){\line(1,-1){100}}% % single bond at 1
+ \put(40,-40){\line(1,-1){100}}% % single bond at 1
+ \put(30,-50){\line(1,-1){100}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(40,-40){\line(1,-1){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{140}{-200}{\@memberb}% % right type
+ \else%no clipping
+ \yl@xdiff=0\relax
+ \yl@ydiff=60\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(0,0){\line(1,-1){120}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(1,-1){120}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(120,-120)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(0,0){\line(1,-1){120}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(0,0){\line(1,-1){120}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \put(6,6){\line(1,-1){120}}% % single bond at 1
+ \put(-6,-6){\line(1,-1){120}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \put(10,10){\line(1,-1){120}}% % single bond at 1
+ \put(0,0){\line(1,-1){120}}% % single bond at 1
+ \put(-10,-10){\line(1,-1){120}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(0,0){\line(1,-1){120}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putratom{120}{-180}{\@memberb}% % right type
+ \fi%
+}% end of \setatombondB
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Left-handed linking unit}
+%
+% A structure-drawing command can be used to typeset a substituent
+% by using a (yl)-argument. Moreover, the macro |\lyl| permits us
+% to draw an intermediate linking unit.
+% \changes{v1.02}{1998/10/25}{New command: \cs{lyl} etc.}
+% \begin{macro}{\lyl}
+% \begin{macrocode}
+\def\lyl{\@ifnextchar({\@lyl}{\@lyl()}}
+\def\@lyl(#1)#2{%
+\iniatom\iniflag%initialize
+\@reset@ylsw%
+\def\centeraaa{}%
+\x@ryl=0\y@ryl=0
+\@forsemicol\member:=#1\do{%
+\if@ylsw%
+\XyMTeXWarning{Duplicated items in the first augument of \string\ryl}%
+\else%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoch@r\@membera{}%
+\settowidth{\dimen0}{\@memberb}%
+\x@ryl=\dimen0%%%dimension => counter
+\divide\x@ryl\unitlength
+\advance\x@ryl by-80
+\y@ryl=0
+\ifcase\@tmpa%
+\def\centeraaa{\@memberb}\@ylswtrue
+%\advance\x@ryl by0
+\advance\y@ryl by50
+\or%1
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by30
+\advance\y@ryl by50
+\or%2
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by40
+\advance\y@ryl by40
+\or%3
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by50
+\advance\y@ryl by30
+\or%4
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by50
+\advance\y@ryl by0
+\or%5
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by50
+\advance\y@ryl by-30
+\or%6
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by50
+\advance\y@ryl by-50
+\or%7
+\def\centeraaa{\@memberb}\@ylswtrue
+\advance\x@ryl by30
+\advance\y@ryl by-50
+\or%8
+\def\centeraaa{\@memberb}\@ylswtrue
+%\advance\x@ryl by0
+\advance\y@ryl by-50
+\fi
+\fi\fi}%
+ \yl@shiftii=-\x@ryl
+ \yl@shifti=-\y@ryl
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+ \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+% %%%%%%%%%%%%%%%%%%%%%%%%
+% % setting hetero atoms %
+% %%%%%%%%%%%%%%%%%%%%%%%%
+\ifx\centeraaa\empty\else%
+ \@clipfusetrue
+ \putratom{-40}{-30}{\centeraaa}% % right type
+\fi%
+% %%%%%%%%%%%%%%%%%%%%%%%%
+% % setting substituents %
+% %%%%%%%%%%%%%%%%%%%%%%%%
+\@forsemicol\member:=#2\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\threech@r\@membera{}{}%
+\ifcase\@tmpa%
+\setatombonda% 0 (upward) (0,1)
+\or\setatombondD%1 (-3,5)
+\or\setatombondH%2 (-1,1)
+\or\setatombondd%3 (-5,3)
+\or\setatombondh%4 (-1,0)
+\or\setatombondg%5 (-5,-3)
+\or\setatombondC%6 (-1,-1)
+\or\setatombondG%7 (-3,-5)
+\or\setatombondc%8 (0,-1)
+\fi%end of ifcase
+\fi
+}\end{picture}}% %end of \lyl macro
+% \end{macrocode}
+% \end{macro}
+%
+% The substituent-setting commands |\setatombondD| etc. are used
+% in the macro |\ryl|.
+%
+% \begin{macro}{\setatombondD}
+% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondD}}
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \begin{macrocode}
+\def\setatombondD{%% (-3,5)
+ \if@clipfuse%
+ \if\@tmpb B%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ {%
+ \thicklines%
+ \put(-30,50){\line(-3,5){60}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \@ifundefined{dottedline}{%
+ \put(-30,50){\line(-3,5){60}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(-30,50)(-90,150)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \put(-30,50){\line(-3,5){60}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \put(-30,50){\line(-3,5){60}}% % single bond at 1
+ \else\if\@tmpb D%double bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \put(-40,44){\line(-3,5){60}}% % single bond at 1
+ \put(-20,56){\line(-3,5){60}}% % single bond at 1
+ \else\if\@tmpb T%triple bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \put(-45,41){\line(-3,5){60}}% % single bond at 1
+ \put(-30,50){\line(-3,5){60}}% % single bond at 1
+ \put(-15,59){\line(-3,5){60}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \put(-30,50){\line(-3,5){60}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-80}{160}{\@memberb}% % left type
+ \else%no clipping
+ \if\@tmpb B%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ {%
+ \thicklines%
+ \put(0,0){\line(-3,5){90}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(-3,5){90}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(-90,150)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \put(0,0){\line(-3,5){90}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \put(0,0){\line(-3,5){90}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \put(-10,-6){\line(-3,5){90}}% % single bond at 1
+ \put(10,6){\line(-3,5){90}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \put(-15,-9){\line(-3,5){90}}% % single bond at 1
+ \put(0,0){\line(-3,5){90}}% % single bond at 1
+ \put(15,9){\line(-3,5){90}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \yl@xdiff=-10\relax
+ \yl@ydiff=-10\relax
+ \put(0,0){\line(-3,5){90}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-80}{160}{\@memberb}% % left type
+ \fi%
+}% end of \setatombondD
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setatombondG}
+% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondG}}
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \begin{macrocode}
+\def\setatombondG{%% (-3,-5)
+ \if@clipfuse%
+ \yl@xdiff=-10\relax
+ \yl@ydiff=70\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(-30,-50)(-90,-150)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
+ \else\if\@tmpb D%double bond
+ \put(-40,-44){\line(-3,-5){60}}% % single bond at 1
+ \put(-20,-56){\line(-3,-5){60}}% % single bond at 1
+ \else\if\@tmpb T%triple bond
+ \put(-45,-41){\line(-3,-5){60}}% % single bond at 1
+ \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
+ \put(-15,-59){\line(-3,-5){60}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(-30,-50){\line(-3,-5){60}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-80}{-220}{\@memberb}% % left type
+ \else%no clipping
+ \yl@xdiff=-10\relax
+ \yl@ydiff=70\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(0,0){\line(-3,-5){90}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(-3,-5){90}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(-90,-150)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(0,0){\line(-3,-5){90}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(0,0){\line(-3,-5){90}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \put(-10,6){\line(-3,-5){90}}% % single bond at 1
+ \put(10,-6){\line(-3,-5){90}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \put(-15,9){\line(-3,-5){90}}% % single bond at 1
+ \put(0,0){\line(-3,-5){90}}% % single bond at 1
+ \put(15,-9){\line(-3,-5){90}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(0,0){\line(-3,-5){90}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-80}{-220}{\@memberb}% % left type
+ \fi%
+}% end of \setatombondG
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setatombondH}
+% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondH}}
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \begin{macrocode}
+\def\setatombondH{%% (-1,1)
+ \yl@xdiff=0\relax
+ \yl@ydiff=0\relax
+ \if@clipfuse%
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(-40,40){\line(-1,1){100}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(-40,40){\line(-1,1){100}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(-40,40)(-140,140)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(-40,40){\line(-1,1){100}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(-40,40){\line(-1,1){100}}% % single bond at 1
+ \else\if\@tmpb D%double bond
+ \put(-46,36){\line(-1,1){100}}% % single bond at 1
+ \put(-36,46){\line(-1,1){100}}% % single bond at 1
+ \else\if\@tmpb T%triple bond
+ \put(-50,30){\line(-1,1){100}}% % single bond at 1
+ \put(-40,40){\line(-1,1){100}}% % single bond at 1
+ \put(-30,50){\line(-1,1){100}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(-40,40){\line(-1,1){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-140}{140}{\@memberb}% % left type
+ \else%no clipping
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(0,0){\line(-1,1){120}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(-1,1){120}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(-120,120)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(0,0){\line(-1,1){120}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(0,0){\line(-1,1){120}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \put(-6,-6){\line(-1,1){120}}% % single bond at 1
+ \put(6,6){\line(-1,1){120}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \put(-10,-10){\line(-1,1){120}}% % single bond at 1
+ \put(0,0){\line(-1,1){120}}% % single bond at 1
+ \put(10,10){\line(-1,1){120}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(0,0){\line(-1,1){120}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-120}{120}{\@memberb}% % left type
+ \fi%
+}% end of \setatombondH
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\setatombondC}
+% \changes{v1.02}{1998/10/25}{New command: \cs{setatombondC}}
+% \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}}
+% \begin{macrocode}
+\def\setatombondC{%% (-1,-1)
+ \if@clipfuse%
+ \yl@xdiff=0\relax
+ \yl@ydiff=60\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(-40,-40)(-140,-140)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
+ \else\if\@tmpb D%double bond
+ \put(-46,-36){\line(-1,-1){100}}% % single bond at 1
+ \put(-36,-46){\line(-1,-1){100}}% % single bond at 1
+ \else\if\@tmpb T%triple bond
+ \put(-50,-30){\line(-1,-1){100}}% % single bond at 1
+ \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
+ \put(-30,-50){\line(-1,-1){100}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(-40,-40){\line(-1,-1){100}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-140}{-200}{\@memberb}% % left type
+ \else%no clipping
+ \yl@xdiff=0\relax
+ \yl@ydiff=60\relax
+ \if\@tmpb B%beta single bond
+ {%
+ \thicklines%
+ \put(0,0){\line(-1,-1){120}}% % single bond at 1
+ }%
+ \else\if\@tmpb A%alpha single bond
+ \@ifundefined{dottedline}{%
+ \put(0,0){\line(-1,-1){120}}% % single bond at 1
+ }{{\thicklines%
+ \dottedline{20}(0,0)(-120,-120)}}%
+ \else\if\@tmpb U%unspecified single bond
+ \put(0,0){\line(-1,-1){120}}% % single bond at 1
+ \else\if\@tmpb S%beta single bond
+ \put(0,0){\line(-1,-1){120}}% % single bond at 1
+ \else\if\@tmpb D%beta single bond
+ \put(-6,6){\line(-1,-1){120}}% % single bond at 1
+ \put(6,-6){\line(-1,-1){120}}% % single bond at 1
+ \else\if\@tmpb T%beta single bond
+ \put(-10,10){\line(-1,-1){120}}% % single bond at 1
+ \put(0,0){\line(-1,-1){120}}% % single bond at 1
+ \put(10,-10){\line(-1,-1){120}}% % single bond at 1
+ \else\ifx\@tmpb\empty%beta single bond
+ \put(0,0){\line(-1,-1){120}}% % single bond at 1
+ \fi\fi\fi\fi\fi\fi\fi%
+ \putlatom{-120}{-180}{\@memberb}% % left type
+ \fi%
+}% end of \setatombondC
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Minor Linking Units}
+%
+% \begin{macro}{\ayl}
+% \begin{macrocode}
+\def\ayl{\@ifnextchar({\@ayl@}{\@ayl@(10,40)}}
+\def\@ayl@(#1,#2)#3{\begingroup\yl@xdiff=0 \yl@ydiff=0%
+\kern#1\unitlength\raise#2\unitlength\hbox to0pt{#3\hss}%
+\endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\upnobond}
+% \begin{macro}{\downnobond}
+% \begin{macrocode}
+\def\upnobond#1#2{%
+\hbox{\hbox to0.72em{\hss#1\hss}\kern-0.72em\raise2.2ex\hbox{#2}}}
+\def\downnobond#1#2{%
+\hbox{\hbox to0.72em{\hss#1\hss}\kern-0.72em\lower2.2ex\hbox{#2}}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \section{Spriro-Ring Commands}
+% \subsection{Basic Commands for Six-Membered Rings}
+%
+% For treating spiro-ring fusion, the following basic commands
+% (|\test@vertix| and |\test@vertix@sixv|) are added at the
+% time of releasing Version 2.00. These commands are generally
+% used for detecting hetero atoms at respective vertices of a
+% heterocyclic ring.
+%
+% The command |\test@vertix| is used in |\test@vertix@sixv|.
+% which is designed to test the existence of a hetero atom
+% (or an equivalent) at each vertix of a six-membered ring.
+%
+% \begin{macro}{\test@vertix}
+% \begin{macro}{\test@vertix@sixv}
+% \changes{v2.00}{1998/11/15}{New command: \cs{test@vertix} and
+% \cs{test@vertix@sixv}}
+% \begin{macrocode}
+\def\test@vertix#1{%
+ \expandafter\def\csname #1#1#1\endcsname{@}%
+ \if\@tmpb h\relax
+ \expandafter\def\csname #1#1#1\endcsname{@}%
+ \else\if\@tmpb s\relax
+ \expandafter\def\csname #1#1#1\endcsname{}%
+ \fi\fi}
+% \end{macrocode}
+%
+% The command |\test@vertix@sixv| is designed to test
+% the existence of a hetero atom (or an equivalent)
+% at each vertix of a six-membered ring.
+%
+% \begin{macrocode}
+\def\test@vertix@sixv#1#2#3#4#5#6#7{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoCH@R\@membera//%
+\ifcase\@tmpa%
+% \changes{v2.00}{1996/11/14}{@ in place of a net value}
+ \or \test@vertix{#2}%
+ \or \test@vertix{#3}%
+ \or \test@vertix{#4}%
+ \or
+ \if\@tmpb a%
+ \def\iii{@}%
+ \else
+ \test@vertix{#5}%
+ \fi
+ \or \test@vertix{#6}%
+ \or \test@vertix{#7}%
+\fi\fi}}% end of \test@vertix@sixv
+%\def\test@vertix@sixv#1#2#3#4#5#6#7{%
+%\@forsemicol\member:=#1\do{%
+%\expandafter\@m@mb@r\member;\relax%
+%\expandafter\twoch@r\@membera{}%
+%\ifcase\@tmpa%
+%% \changes{v2.00}{1996/11/14}{@ in place of a net value}
+% \or \test@vertix{#2}%
+% \or \test@vertix{#3}%
+% \or \test@vertix{#4}%
+% \or \test@vertix{#5}%
+% \or \test@vertix{#6}%
+% \or \test@vertix{#7}%
+%\fi}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% The command |\set@hetatom@sixv| is to set a spiro group
+% (stored as |\@memberb|)
+% at a vertix designated by |\@tmpaa| (or originally by |\@tmpa|).
+% The atom modifier `s' designates that the spiro group contains
+% a carbon atom (a vertix) at a spiro position, while `h'
+% represents the presence of a hetero atom at a spiro position.
+% The absence of such atom modifiers shows the substitution
+% of a usual hetero atom. The command |\set@hetatom@sixv| is
+% used in such commands as |\sixheterov| and |\sixheterovi|
+% for treating thier ATOMLISTs,
+% e.g. |1==N;1s==\sixheterov{}{1==(yl)}|.
+%
+% \begin{macro}{\set@hetatom@sixv}
+% \changes{v2.00}{1998/11/15}{New command: \cs{set@hetatom@sixv}}
+% \begin{macrocode}
+\def\set@hetatom@sixv#1#2#3#4#5{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoch@r\@membera{}%
+\ifnum#5 < 0\relax%
+\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
+\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
+\ifnum\@tmpaa >#3\relax%
+\ifnum\@tmpaa <#4\relax%
+\ifcase\@tmpaa%
+\or%position 1
+ \if\@tmpb h\relax
+ \@acliptrue%
+ \putratom{0}{356}{\@memberb}% % right type
+ \else\if\@tmpb s\relax
+ \@aclipfalse%
+ \putratom{0}{406}{\@memberb}% % right type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@acliptrue%
+ \putratom{-31}{356}{\@memberb}% % right type
+ \fi\fi\fi
+\or%position 2
+ \if\@tmpb h\relax
+ \@bcliptrue%
+ \putratom{135}{280}{\@memberb}% % right type
+ \else\if\@tmpb s\relax
+ \@bclipfalse%
+ \putratom{175}{303}{\@memberb}% % right type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@bcliptrue%
+ \putratom{135}{280}{\@memberb}% % right type
+ \fi\fi\fi
+\or%position 3
+ \if\@tmpb h\relax
+ \@ccliptrue%
+ \putratom{135}{95}{\@memberb}% % right type
+ \else\if\@tmpb s\relax
+ \@cclipfalse%
+ \putratom{175}{103}{\@memberb}% % right type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@ccliptrue%
+ \putratom{135}{65}{\@memberb}% % right type
+ \fi\fi\fi
+\or%position 4
+ \if\@tmpb h\relax
+ \@cliptrue%
+ \putratom{0}{50}{\@memberb}% % right type
+ \else\if\@tmpb s\relax
+ \@clipfalse%
+ \putratom{0}{0}{\@memberb}% % right type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@cliptrue%
+ \putratom{-31}{-10}{\@memberb}% % right type
+ \fi\fi\fi
+\or%position 5
+ \if\@tmpb h\relax
+ \@ecliptrue%
+ \putlatom{-135}{95}{\@memberb}% % right type
+ \else\if\@tmpb s\relax
+ \@eclipfalse%
+ \putlatom{-175}{103}{\@memberb}% % right type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@ecliptrue%
+ \putlatom{-135}{65}{\@memberb}% % left type
+ \fi\fi\fi
+\or%position 6
+ \if\@tmpb h\relax
+ \@fcliptrue%
+ \putlatom{-135}{280}{\@memberb}% % right type
+ \else\if\@tmpb s\relax
+ \@fclipfalse%
+ \putlatom{-175}{303}{\@memberb}% % right type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@fcliptrue%
+ \putlatom{-135}{280}{\@memberb}% % left type
+ \fi\fi\fi
+\fi% end of ifcase
+\fi\fi\fi}}% end of the macro \set@hetatom@sixv
+% \end{macrocode}
+% \end{macro}
+%
+% The command |\set@hetatom@sixh| is to set a spiro group
+% (stored as |\@memberb|)
+% at a vertix designated by |\@tmpaa| (or originally by |\@tmpa|).
+% The atom modifier `s' designates that the spiro group contains
+% a carbon atom (a vertix) at a spiro position, while `h'
+% represents the presence of a hetero atom at a spiro position.
+% The absence of such atom modifiers shows the substitution
+% of a usual hetero atom. The command |\set@hetatom@sixh| is
+% used in such commands as |\sixheteroh| and |\sixheterohi|
+% for treating thier ATOMLISTs,
+% e.g. |1==N;1s==\sixheteroh{}{1==(yl)}|.
+%
+% \begin{macro}{\set@hetatom@sixh}
+% \changes{v2.00}{1998/11/23}{New command: \cs{set@hetatom@sixh}}
+% \begin{macrocode}
+\def\set@hetatom@sixh#1#2#3#4#5{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+%\expandafter\twoch@r\@membera{}%
+\expandafter\twoCH@R\@membera//%
+\ifnum#5 < 0\relax%
+\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
+\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
+\ifnum\@tmpaa >#3\relax%
+\ifnum\@tmpaa <#4\relax%
+\ifcase\@tmpaa%
+\or%position 1
+ \if\@tmpb h\relax
+ \@acliptrue%
+ \putlatom{60}{0}{\@memberb}% % left type
+ \else\if\@tmpb s\relax
+ \@aclipfalse%
+ \putlatom{0}{0}{\@memberb}% % left type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@acliptrue%
+ \putlatom{60}{-36}{\@memberb}% % left type
+ \fi\fi\fi
+\or%position 2
+ \if\@tmpb h\relax
+ \@bcliptrue%
+ \putlatom{135}{141}{\@memberb}% % left type
+ \else\if\@tmpb s\relax
+ \@bclipfalse%
+ \putlatom{103}{171}{\@memberb}% % left type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@bcliptrue%
+ \putlatom{135}{141}{\@memberb}% % left type
+ \fi\fi\fi
+\or%position 3
+ \if\@tmpb h\relax
+ \@ccliptrue%
+ \putratom{273}{141}{\@memberb}% % right type
+ \else\if\@tmpb s\relax
+ \@cclipfalse%
+ \putratom{303}{171}{\@memberb}% % right type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@ccliptrue%
+ \putratom{273}{141}{\@memberb}% % right type
+ \fi\fi\fi
+\or%position 4
+ \if\@tmpb h\relax
+ \@cliptrue%
+ \putratom{346}{0}{\@memberb}% % right type
+ \else\if\@tmpb s\relax
+ \@clipfalse%
+ \putratom{406}{0}{\@memberb}% % right type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@cliptrue%
+ \putratom{346}{-36}{\@memberb}% % right type
+ \fi\fi\fi
+\or%position 5
+ \if\@tmpb h\relax
+ \@ecliptrue%
+ \putratom{283}{-131}{\@memberb}% % right type
+ \else\if\@tmpb s\relax
+ \@eclipfalse%
+ \putratom{303}{-171}{\@memberb}% % right type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@ecliptrue%
+ \putratom{273}{-211}{\@memberb}% % right type
+ \fi\fi\fi
+\or%position 6
+ \if\@tmpb h\relax
+ \@fcliptrue%
+ \putlatom{125}{-131}{\@memberb}% % left type
+ \else\if\@tmpb s\relax
+ \@fclipfalse%
+ \putlatom{103}{-171}{\@memberb}% % left type
+ \else\if\@tmpb a\relax%omit fused position
+ \else
+ \@fcliptrue%
+ \putlatom{135}{-211}{\@memberb}% % left type
+ \fi\fi\fi
+\fi% end of ifcase
+\fi\fi\fi}}% end of the macro \set@hetatom@sixh
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Basic Commands for Six-Six Rings}
+%
+% The command |\test@vertix@decav| is designed to test
+% the existence of a hetero atom (or an equivalent)
+% at each vertix of a six-six fused ring.
+%
+% \begin{macro}{\test@vertix@decav}
+% \begin{macrocode}
+\def\test@vertix@decav#1#2#3#4#5#6#7{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoch@r\@membera{}%
+\ifcase\@tmpa%
+ \or\or\or\or\or\or
+ \or \test@vertix{#2}%
+ \or
+ \if\@tmpb a%
+ \def\jjj{@}%
+ \else
+ \test@vertix{#3}%
+ \fi
+ \or \test@vertix{#4}%
+ \or \test@vertix{#5}%
+% \or \test@vertix{#6}%
+% \or \test@vertix{#7}%
+\fi\fi}}
+% \end{macrocode}
+% \end{macro}
+%
+% The command |\set@vrtx@fuse| is to set an atom (stored as
+% |\@memberb|) at one (stored as |\@tmpa|) of the fused vertices
+% of a six-six ring.
+% These vertices are incapable of accomodating a spiro group.
+% On the other hand, the other positions can take spiro groups
+% (stored as |\@memberb|), which are treated by means of
+% the command |\set@hetatom@sixv|.
+% The command |\set@vrtx@fuse| is used in such commands
+% as |\decaheterov| for treating thier ATOMLISTs,
+%
+% \begin{macro}{\set@vrtx@fuse}
+% \changes{v2.00}{1998/11/15}{New command: \cs{set@vrtx@fuse}}
+% \begin{macrocode}
+\def\set@vrtx@fuse#1{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoch@r\@membera{}%
+\ifcase\@tmpa%
+ \or
+ \or
+ \or
+ \or%%%%4
+ \if\@tmpb a%
+ \global\@icliptrue%
+ \putlatom{207}{65}{\@memberb}% % left type
+ \else\relax
+ \fi
+ \or%5
+ \or%6
+ \or%7
+ \or%
+ \if\@tmpb a%
+ \global\@jcliptrue%
+ \putlatom{207}{280}{\@memberb}% % left type
+ \else\relax
+ \fi
+\or%9 (= 4a)
+ \global\@icliptrue%
+ \putlatom{207}{65}{\@memberb}% % left type
+\or%10 (= 8a)
+ \global\@jcliptrue%
+ \putlatom{207}{280}{\@memberb}% % left type
+\fi\fi}%
+}% end of the macro \set@vrtx@fuse
+% \end{macrocode}
+% \end{macro}
+%
+% The command |\set@vrtx@fuseh| is to set an atom (stored as
+% |\@memberb|) at one (stored as |\@tmpa|) of the fused vertices
+% of a six-six ring.
+% These vertices are incapable of accomodating a spiro group.
+% On the other hand, the other positions can take spiro groups
+% (stored as |\@memberb|), which are treated by means of
+% the command |\set@hetatom@sixh|.
+% The command |\set@vrtx@fuseh| is used in such commands
+% as |\decaheteroh| for treating thier ATOMLISTs,
+%
+% \begin{macro}{\set@vrtx@fuseh}
+% \changes{v2.00}{1998/11/15}{New command: \cs{set@vrtx@fuseh}}
+% \begin{macrocode}
+\def\set@vrtx@fuseh#1{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else%
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoCH@R\@membera//%
+\ifcase\@tmpa%
+ \or
+ \or
+ \or
+ \or%%%%4
+ \if\@tmpb a%
+ \global\@icliptrue%
+ \putratom{273}{-211}{\@memberb}% % right type
+ \else\relax
+ \fi
+ \or%5
+ \or%6
+ \or%7
+ \or%
+ \if\@tmpb a%
+ \global\@jcliptrue%
+ \putlatom{135}{-211}{\@memberb}% % left type
+ \else\relax
+ \fi
+\or%9 (= 4a)
+ \ifx\@tmpb\empty
+ \global\@icliptrue%
+ \putratom{273}{-211}{\@memberb}% % right type
+ \else
+ \XyMTeXWarning{Forbidden spiro ring for the 4a position}%
+ \fi
+\or%10 (= 8a)
+ \ifx\@tmpb\empty
+ \global\@jcliptrue%
+ \putlatom{135}{-211}{\@memberb}% % left type
+ \else
+ \XyMTeXWarning{Forbidden spiro ring for the 8a position}%
+ \fi
+\fi\fi}%
+}% end of the macro \set@vrtx@fuseh
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Ring-fusion Commands for Six-Membered Rings}
+% \subsection{Normal Vertical Type}
+%
+% The macro |\set@fusionadd@sixv| is an inner command contained
+% in the definition of |\sixheterov| etc., where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusion@sixv|.
+%
+% \begin{macro}{\set@fusionadd@sixv}
+% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusionadd@sixv}}
+% \begin{macrocode}
+\def\set@fusionadd@sixv{%
+ \if\@@tmpa 1\relax%
+ \putratom{-38}{282}{\@@tmpb}% % right type
+ \else\if\@@tmpa 2\relax%
+ \putratom{60}{253}{\@@tmpb}% % right type
+ \else\if\@@tmpa 3\relax%
+ \putratom{60}{120}{\@@tmpb}% % right type
+ \else\if\@@tmpa 4\relax%
+ \putratom{-38}{88}{\@@tmpb}% % right type
+ \else\if\@@tmpa 6\relax%
+ \putratom{-90}{253}{\@@tmpb}% % right type
+ \else\if\@@tmpa 5\relax%
+ \putratom{-90}{120}{\@@tmpb}% % right type
+ \else
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+ \set@fusion@sixv
+ \fi\fi\fi\fi\fi\fi%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% The inner command |\set@fusion@sixv| is used for typesetting
+% a fused ring at each bond represented by |\@@tmpa|. Warnings
+% concerning mismatched ring-fusions are based on the command
+% |\FuseWarning|.
+%
+% \begin{macro}{\set@fusion@sixv}
+% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@sixv}}
+% \begin{macrocode}
+\def\set@fusion@sixv{%
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+\if\@@tmpa d\relax%
+ \putlratom{0}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}%
+ \else\if\@@tmpa D\relax%
+ \putlratom{-171}{103}{\@@tmpb}% % bond fused
+ \FuseWarning{-171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}%
+ \else\if\@@tmpa e\relax%
+ \putlratom{-171}{103}{\@@tmpb}% % bond fused
+ \FuseWarning{0}{-200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}%
+ \else\if\@@tmpa E\relax%
+ \putlratom{-171}{303}{\@@tmpb}% % bond fused
+ \FuseWarning{0}{200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}%
+ \else\if\@@tmpa f\relax%
+ \putlratom{-171}{303}{\@@tmpb}% % bond fused
+ \FuseWarning{-171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}%
+ \else\if\@@tmpa F\relax%
+ \putlratom{0}{406}{\@@tmpb}% % bond fused
+ \FuseWarning{171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}%
+ \else\if\@@tmpa a\relax%
+ \putlratom{0}{406}{\@@tmpb}% % bond fused
+ \FuseWarning{-171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
+ \else\if\@@tmpa A\relax%
+ \putlratom{171}{303}{\@@tmpb}% % bond fused
+ \FuseWarning{171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
+ \else\if\@@tmpa b\relax%
+ \putlratom{171}{303}{\@@tmpb}% % bond fused
+ \FuseWarning{0}{200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
+ \else\if\@@tmpa B\relax%
+ \putlratom{171}{103}{\@@tmpb}% % bond fused
+ \FuseWarning{0}{-200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
+ \else\if\@@tmpa c\relax%
+ \putlratom{171}{103}{\@@tmpb}% % bond fused
+ \FuseWarning{171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}%
+ \else\if\@@tmpa C\relax%
+ \putlratom{0}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{-171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@sixv
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Inverse Vertical Type}
+%
+% The macro |\set@fusionadd@sixvi| is an inner command contained
+% in the definition of |\sixheterovi| etc., where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusion@sixvi|.
+%
+% \begin{macro}{\set@fusionadd@sixvi}
+% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusionadd@sixvi}}
+% \begin{macrocode}
+\def\set@fusionadd@sixvi{%
+ \if\@@tmpa 4\relax%
+ \putratom{-38}{282}{\@@tmpb}% % right type
+ \else\if\@@tmpa 3\relax%
+ \putratom{60}{253}{\@@tmpb}% % right type
+ \else\if\@@tmpa 2\relax%
+ \putratom{60}{120}{\@@tmpb}% % right type
+ \else\if\@@tmpa 1\relax%
+ \putratom{-38}{88}{\@@tmpb}% % right type
+ \else\if\@@tmpa 5\relax%
+ \putratom{-90}{253}{\@@tmpb}% % right type
+ \else\if\@@tmpa 6\relax%
+ \putratom{-90}{120}{\@@tmpb}% % right type
+ \else
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+ \set@fusion@sixvi
+ \fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusionadd@sixvi
+% \end{macrocode}
+% \end{macro}
+%
+% The inner command |\set@fusion@sixvi| is used for typesetting
+% a fused ring at each bond represented by |\@@tmpa|. Warnings
+% concerning mismatched ring-fusions are based on the command
+% |\FuseWarning|.
+%
+% \begin{macro}{\set@fusion@sixvi}
+% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@sixvi}}
+% \begin{macrocode}
+\def\set@fusion@sixvi{%
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+ \if\@@tmpa a\relax%
+ \putlratom{0}{0}{\@@tmpb}% % right type
+ \FuseWarning{-171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a or other}%
+ \else\if\@@tmpa A\relax%
+ \putlratom{171}{103}{\@@tmpb}% % right type
+ \FuseWarning{171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A or other}%
+ \else\if\@@tmpa b\relax%
+ \putlratom{171}{103}{\@@tmpb}% % right type
+ \FuseWarning{0}{-200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b or other}%
+ \else\if\@@tmpa B\relax%
+ \putlratom{171}{303}{\@@tmpb}% % right type
+ \FuseWarning{0}{200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B or other}%
+ \else\if\@@tmpa c\relax%
+ \putlratom{171}{303}{\@@tmpb}% % right type
+ \FuseWarning{171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c or other}%
+ \else\if\@@tmpa C\relax%
+ \putlratom{0}{406}{\@@tmpb}% % right type
+ \FuseWarning{-171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C or other}%
+ \else\if\@@tmpa d\relax%
+ \putlratom{0}{406}{\@@tmpb}% % right type
+ \FuseWarning{171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d or other}%
+ \else\if\@@tmpa D\relax%
+ \putlratom{-171}{303}{\@@tmpb}% % right type
+ \FuseWarning{-171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D or other}%
+ \else\if\@@tmpa e\relax%
+ \putlratom{-171}{303}{\@@tmpb}% % right type
+ \FuseWarning{0}{200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e or other}%
+ \else\if\@@tmpa E\relax%
+ \putlratom{-171}{103}{\@@tmpb}% % right type
+ \FuseWarning{0}{-200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E or other}%
+ \else\if\@@tmpa f\relax%
+ \putlratom{-171}{103}{\@@tmpb}% % right type
+ \FuseWarning{171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f or other}%
+ \else\if\@@tmpa F\relax%
+ \putlratom{0}{0}{\@@tmpb}% % right type
+ \FuseWarning{-171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F or other}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the marcro \set@fusion@sixvi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Normal Horizontal Type}
+%
+% The macro |\set@fusionadd@sixh| is an inner command contained
+% in the definition of |\sixheteroh| etc., where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusion@sixh|.
+%
+% \begin{macro}{\set@fusionadd@sixh}
+% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusionadd@sixh}}
+% \begin{macrocode}
+\def\set@fusionadd@sixh{%
+ \if\@@tmpa 4\relax%
+ \putratom{272}{-18}{\@@tmpb}% % right type
+ \else\if\@@tmpa 1\relax%
+ \putratom{68}{-18}{\@@tmpb}% % right type
+ \else\if\@@tmpa 3\relax%
+ \putratom{233}{60}{\@@tmpb}% % right type
+ \else\if\@@tmpa 2\relax%
+ \putratom{120}{60}{\@@tmpb}% % right type
+ \else\if\@@tmpa 5\relax%
+ \putratom{233}{-110}{\@@tmpb}% % right type
+ \else\if\@@tmpa 6\relax%
+ \putratom{120}{-110}{\@@tmpb}% % right type
+ \else
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+ \set@fusion@sixh
+ \fi\fi\fi\fi\fi\fi%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% The inner command |\set@fusion@sixh| is used for typesetting
+% a fused ring at each bond represented by |\@@tmpa|. Warnings
+% concerning mismatched ring-fusions are based on the command
+% |\FuseWarning|.
+%
+% \begin{macro}{\set@fusion@sixh}
+% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@sixh}}
+% \begin{macrocode}
+\def\set@fusion@sixh{%
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+\if\@@tmpa d\relax%
+ \putlratom{406}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}%
+ \else\if\@@tmpa D\relax%
+ \putlratom{303}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}%
+ \else\if\@@tmpa e\relax%
+ \putlratom{303}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}%
+ \else\if\@@tmpa E\relax%
+ \putlratom{103}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{-200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}%
+ \else\if\@@tmpa f\relax%
+ \putlratom{103}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}%
+ \else\if\@@tmpa F\relax%
+ \putlratom{0}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}%
+ \else\if\@@tmpa a\relax%
+ \putlratom{0}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
+ \else\if\@@tmpa A\relax%
+ \putlratom{103}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
+ \else\if\@@tmpa b\relax%
+ \putlratom{103}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{-200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
+ \else\if\@@tmpa B\relax%
+ \putlratom{303}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
+ \else\if\@@tmpa c\relax%
+ \putlratom{303}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}%
+ \else\if\@@tmpa C\relax%
+ \putlratom{406}{0}{\@@tmpb}% % bond fused
+% \FuseWarning{103}{171}%
+ \FuseWarning{103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@sixh
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Inverse Horizontal Type}
+%
+% The macro |\set@fusionadd@sixhi| is an inner command contained
+% in the definition of |\sixheterohi| etc., where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusion@sixhi|.
+%
+% \begin{macro}{\set@fusionadd@sixhi}
+% \changes{v2.00}{1998/11/29}{New command: \cs{set@fusionadd@sixhi}}
+% \begin{macrocode}
+\def\set@fusionadd@sixhi{%
+ \if\@@tmpa 1\relax%
+ \putratom{272}{-18}{\@@tmpb}% % right type
+ \else\if\@@tmpa 4\relax%
+ \putratom{68}{-18}{\@@tmpb}% % right type
+ \else\if\@@tmpa 2\relax%
+ \putratom{233}{60}{\@@tmpb}% % right type
+ \else\if\@@tmpa 3\relax%
+ \putratom{120}{60}{\@@tmpb}% % right type
+ \else\if\@@tmpa 6\relax%
+ \putratom{233}{-110}{\@@tmpb}% % right type
+ \else\if\@@tmpa 5\relax%
+ \putratom{120}{-110}{\@@tmpb}% % right type
+ \else
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+ \set@fusion@sixhi
+ \fi\fi\fi\fi\fi\fi%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% The inner command |\set@fusion@sixhi| is used for typesetting
+% a fused ring at each bond represented by |\@@tmpa|. Warnings
+% concerning mismatched ring-fusions are based on the command
+% |\FuseWarning|.
+%
+% \begin{macro}{\set@fusion@sixhi}
+% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@sixhi}}
+% \begin{macrocode}
+\def\set@fusion@sixhi{%
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+\if\@@tmpa F\relax%
+ \putlratom{406}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}%
+ \else\if\@@tmpa f\relax%
+ \putlratom{303}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}%
+ \else\if\@@tmpa E\relax%
+ \putlratom{303}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}%
+ \else\if\@@tmpa e\relax%
+ \putlratom{103}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{-200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}%
+ \else\if\@@tmpa D\relax%
+ \putlratom{103}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}%
+ \else\if\@@tmpa d\relax%
+ \putlratom{0}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}%
+ \else\if\@@tmpa C\relax%
+ \putlratom{0}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}%
+ \else\if\@@tmpa c\relax%
+ \putlratom{103}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}%
+ \else\if\@@tmpa B\relax%
+ \putlratom{103}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{-200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
+ \else\if\@@tmpa b\relax%
+ \putlratom{303}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
+ \else\if\@@tmpa A\relax%
+ \putlratom{303}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
+ \else\if\@@tmpa a\relax%
+ \putlratom{406}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@sixhi
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Ring-fusion Commands for Six-Six Fused Rings}
+% \subsection{Conventions for Warning}
+%
+% \begin{macro}{\UnfavorableFusion}
+% \changes{v2.00}{1998/12/23}{New command: \cs{UnfavorableFusion}}
+% \begin{macrocode}
+\def\UnfavorableFusion#1{\if@smallringsw\else
+\XyMTeXWarning{Unfavorable Fusion for bond `#1'}\fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ForbiddenFusion}
+% \changes{v2.00}{1998/12/23}{New command: \cs{ForbiddenFusion}}
+% \begin{macrocode}
+\def\ForbiddenFusion#1{\if@smallringsw\else
+\XyMTeXWarning{Forbidden Fusion for bond `#1'}\fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Normal Vertical Type}
+%
+% The macro |\set@fusion@decav| is an inner command contained
+% in the definition of |\decalinev| and |\decaheterov|, where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
+%
+% \begin{macro}{\set@fusion@decav}
+% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@decav}}
+% \begin{macrocode}
+\def\set@fusion@decav{%
+ \let\@@tmpa=\@tmpa
+ \let\@@tmpb=\@tmpb
+ \if\@tmpa a%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa A%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa b%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa B%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa c%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa C%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa d%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{d}%
+ \else\if\@tmpa D%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{D}%
+ \else\if\@tmpa e%
+ \edef\@@tmpa{c}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{e}%
+ \else\if\@tmpa E%
+ \edef\@@tmpa{C}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{E}%
+ \else\if\@tmpa f%
+ \edef\@@tmpa{d}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa F%
+ \edef\@@tmpa{D}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa g%
+ \edef\@@tmpa{e}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa G%
+ \edef\@@tmpa{E}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa h%
+ \edef\@@tmpa{f}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa H%
+ \edef\@@tmpa{F}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa i%
+ \edef\@@tmpa{a}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{i}%
+ \else\if\@tmpa I%
+ \edef\@@tmpa{A}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{I}%
+ \else\if\@tmpa j%
+ \edef\@@tmpa{f}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{j}%
+ \else\if\@tmpa J%
+ \edef\@@tmpa{F}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{J}%
+ \else\if\@tmpa k%
+ \edef\@@tmpa{e}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \ForbiddenFusion{k}%
+ \else\if\@tmpa K%
+ \edef\@@tmpa{E}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \ForbiddenFusion{K}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@decav
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Vertical-Bottom Type}
+%
+% The macro |\set@fusion@decavb| is an inner command contained
+% in the definition of |\decalinevb| and |\decaheterovb| etc.,
+% where the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
+%
+% \begin{macro}{\set@fusion@decavb}
+% \changes{v2.00}{1998/12/25}{New command: \cs{set@fusion@decavb}}
+% \begin{macrocode}
+\def\set@fusion@decavb{%
+ \let\@@tmpa=\@tmpa
+ \let\@@tmpb=\@tmpb
+ \if\@tmpa a%
+ \edef\@@tmpa{b}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa A%
+ \edef\@@tmpa{B}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa b%
+ \edef\@@tmpa{c}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa B%
+ \edef\@@tmpa{C}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa c%
+ \edef\@@tmpa{d}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa C%
+ \edef\@@tmpa{D}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa d%
+ \edef\@@tmpa{e}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{d}%
+ \else\if\@tmpa D%
+ \edef\@@tmpa{E}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{D}%
+ \else\if\@tmpa e%
+ \edef\@@tmpa{d}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{e}%
+ \else\if\@tmpa E%
+ \edef\@@tmpa{D}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{E}%
+ \else\if\@tmpa f%
+ \edef\@@tmpa{e}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa F%
+ \edef\@@tmpa{E}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa g%
+ \edef\@@tmpa{f}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa G%
+ \edef\@@tmpa{F}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa h%
+ \edef\@@tmpa{a}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa H%
+ \edef\@@tmpa{A}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa i%
+ \edef\@@tmpa{b}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{i}%
+ \else\if\@tmpa I%
+ \edef\@@tmpa{B}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{I}%
+ \else\if\@tmpa j%
+ \edef\@@tmpa{a}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{j}%
+ \else\if\@tmpa J%
+ \edef\@@tmpa{A}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{J}%
+ \else\if\@tmpa k%
+ \edef\@@tmpa{c}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \ForbiddenFusion{k}%
+ \else\if\@tmpa K%
+ \edef\@@tmpa{C}%
+ \put(-171,303){\set@fusionadd@sixv}%
+ \ForbiddenFusion{K}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@decavb
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Vertical-Top Type}
+%
+% The macro |\set@fusion@decavt| is an inner command contained
+% in the definition of |\decalinevt| and |\decaheterovt| etc.,
+% where the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
+%
+% \begin{macro}{\set@fusion@decavt}
+% \changes{v2.00}{1998/12/25}{New command: \cs{set@fusion@decavt}}
+% \begin{macrocode}
+\def\set@fusion@decavt{%
+ \let\@@tmpa=\@tmpa
+ \let\@@tmpb=\@tmpb
+ \if\@tmpa a%
+ \edef\@@tmpa{f}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa A%
+ \edef\@@tmpa{F}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa b%
+ \edef\@@tmpa{a}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa B%
+ \edef\@@tmpa{A}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa c%
+ \edef\@@tmpa{b}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa C%
+ \edef\@@tmpa{B}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa d%
+ \edef\@@tmpa{c}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{d}%
+ \else\if\@tmpa D%
+ \edef\@@tmpa{C}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{D}%
+ \else\if\@tmpa e%
+ \edef\@@tmpa{b}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{e}%
+ \else\if\@tmpa E%
+ \edef\@@tmpa{B}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{E}%
+ \else\if\@tmpa f%
+ \edef\@@tmpa{c}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa F%
+ \edef\@@tmpa{C}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa g%
+ \edef\@@tmpa{d}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa G%
+ \edef\@@tmpa{D}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa h%
+ \edef\@@tmpa{e}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa H%
+ \edef\@@tmpa{E}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa i%
+ \edef\@@tmpa{f}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{i}%
+ \else\if\@tmpa I%
+ \edef\@@tmpa{F}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{I}%
+ \else\if\@tmpa j%
+ \edef\@@tmpa{e}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{j}%
+ \else\if\@tmpa J%
+ \edef\@@tmpa{E}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{J}%
+ \else\if\@tmpa k%
+ \edef\@@tmpa{d}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \ForbiddenFusion{k}%
+ \else\if\@tmpa K%
+ \edef\@@tmpa{D}%
+ \put(171,303){\set@fusionadd@sixv}%
+ \ForbiddenFusion{K}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of \set@fusion@decavt
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Normal Horizontal Type}
+%
+% The macro |\set@fusion@decah| is an inner command contained
+% in the definition of |\decalineh| and |\decaheteroh|, where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusionadd@sixh|.
+%
+% \begin{macro}{\set@fusion@decah}
+% \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@decah}}
+% \begin{macrocode}
+\def\set@fusion@decah{%
+ \let\@@tmpa=\@tmpa
+ \let\@@tmpb=\@tmpb
+ \if\@tmpa a%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \else\if\@tmpa A%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \else\if\@tmpa b%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \else\if\@tmpa B%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \else\if\@tmpa c%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \else\if\@tmpa C%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \else\if\@tmpa d%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \UnfavorableFusion{d}%
+ \else\if\@tmpa D%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \UnfavorableFusion{D}%
+ \else\if\@tmpa e%
+ \edef\@@tmpa{c}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \UnfavorableFusion{e}%
+ \else\if\@tmpa E%
+ \edef\@@tmpa{C}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \UnfavorableFusion{E}%
+ \else\if\@tmpa f%
+ \edef\@@tmpa{d}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa F%
+ \edef\@@tmpa{D}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa g%
+ \edef\@@tmpa{e}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa G%
+ \edef\@@tmpa{E}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa h%
+ \edef\@@tmpa{f}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa H%
+ \edef\@@tmpa{F}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa i%
+ \edef\@@tmpa{a}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \UnfavorableFusion{i}%
+ \else\if\@tmpa I%
+ \edef\@@tmpa{A}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \UnfavorableFusion{I}%
+ \else\if\@tmpa j%
+ \edef\@@tmpa{f}%
+ \put(0,0){\set@fusionadd@sixh}%
+ \UnfavorableFusion{j}%
+ \else\if\@tmpa J%
+ \edef\@@tmpa{F}%
+ \put(0,0){\set@fusionadd@sixh}%
+ \UnfavorableFusion{J}%
+ \else\if\@tmpa k%
+ \edef\@@tmpa{e}%
+ \put(0,0){\set@fusionadd@sixh}%
+ \ForbiddenFusion{k}%
+ \else\if\@tmpa K%
+ \edef\@@tmpa{E}%
+ \put(0,0){\set@fusionadd@sixh}%
+ \ForbiddenFusion{K}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@decah
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Ring-fusion Commands for Six-Six-Six Fused Rings}
+% \subsection{Normal Vertical Type of Anthracenes}
+%
+% The macro |\set@fusion@hanthrav| is an inner command contained
+% in the definition of |\hanthracenev|, where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
+%
+% \begin{macro}{\set@fusion@hanthrav}
+% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@hanthrav}}
+% \begin{macrocode}
+\def\set@fusion@hanthrav{%
+ \let\@@tmpa=\@tmpa
+ \let\@@tmpb=\@tmpb
+ \if\@tmpa a%
+ \let\@@tmpa=\@tmpa
+ \put(684,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa A%
+ \let\@@tmpa=\@tmpa
+ \put(684,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa b%
+ \let\@@tmpa=\@tmpa
+ \put(684,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa B%
+ \let\@@tmpa=\@tmpa
+ \put(684,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa c%
+ \let\@@tmpa=\@tmpa
+ \put(684,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa C%
+ \let\@@tmpa=\@tmpa
+ \put(684,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa d%
+ \let\@@tmpa=\@tmpa
+ \put(684,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{d}%
+ \else\if\@tmpa D%
+ \let\@@tmpa=\@tmpa
+ \put(684,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{D}%
+ \else\if\@tmpa e%
+ \edef\@@tmpa{c}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{e}%
+ \else\if\@tmpa E%
+ \edef\@@tmpa{C}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{E}%
+ \else\if\@tmpa f%
+ \edef\@@tmpa{d}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{f}%
+ \else\if\@tmpa F%
+ \edef\@@tmpa{D}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{F}%
+ \else\if\@tmpa g%
+ \edef\@@tmpa{c}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{g}%
+ \else\if\@tmpa G%
+ \edef\@@tmpa{C}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{G}%
+ \else\if\@tmpa h%
+ \edef\@@tmpa{d}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa H%
+ \edef\@@tmpa{D}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa i%
+ \edef\@@tmpa{e}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa I%
+ \edef\@@tmpa{E}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa j%
+ \edef\@@tmpa{f}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa J%
+ \edef\@@tmpa{F}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa k%
+ \edef\@@tmpa{a}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{k}%
+ \else\if\@tmpa K%
+ \edef\@@tmpa{A}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{K}%
+ \else\if\@tmpa l%
+ \edef\@@tmpa{f}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{l}%
+ \else\if\@tmpa L%
+ \edef\@@tmpa{F}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{L}%
+ \else\if\@tmpa m%
+ \edef\@@tmpa{a}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{m}%
+ \else\if\@tmpa M%
+ \edef\@@tmpa{A}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{M}%
+ \else\if\@tmpa n%
+ \edef\@@tmpa{f}%
+ \put(684,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{n}%
+ \else\if\@tmpa N%
+ \edef\@@tmpa{F}%
+ \put(684,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{N}%
+ \else\if\@tmpa o%
+ \edef\@@tmpa{e}%
+ \put(684,0){\set@fusionadd@sixv}%
+ \ForbiddenFusion{o}%
+ \else\if\@tmpa O%
+ \edef\@@tmpa{E}%
+ \put(684,0){\set@fusionadd@sixv}%
+ \ForbiddenFusion{O}%
+ \else\if\@tmpa p%
+ \edef\@@tmpa{e}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \ForbiddenFusion{p}%
+ \else\if\@tmpa P%
+ \edef\@@tmpa{E}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \ForbiddenFusion{P}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@hanthrav
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Normal Vertical Type of Phenanthrenes}
+%
+% The macro |\set@fusion@hphenanv| is an inner command contained
+% in the definition of |\hphenanthrenev|, where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
+%
+% \begin{macro}{\set@fusion@hphenanv}
+% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@phenanv}}
+% \begin{macrocode}
+\def\set@fusion@hphenanv{%
+ \let\@@tmpa=\@tmpa
+ \let\@@tmpb=\@tmpb
+ \if\@tmpa a%
+ \edef\@@tmpa{b}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa A%
+ \edef\@@tmpa{B}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa b%
+ \edef\@@tmpa{a}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa B%
+ \edef\@@tmpa{A}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa c%
+ \edef\@@tmpa{f}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa C%
+ \edef\@@tmpa{F}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \else\if\@tmpa d%
+ \edef\@@tmpa{e}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{d}%
+ \else\if\@tmpa D%
+ \edef\@@tmpa{E}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{D}%
+ \else\if\@tmpa e%
+ \edef\@@tmpa{f}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{e}%
+ \else\if\@tmpa E%
+ \edef\@@tmpa{F}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{E}%
+ \else\if\@tmpa f%
+ \edef\@@tmpa{a}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{f}%
+ \else\if\@tmpa F%
+ \edef\@@tmpa{A}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{F}%
+ \else\if\@tmpa g%
+ \edef\@@tmpa{f}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa G%
+ \edef\@@tmpa{F}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa h%
+ \edef\@@tmpa{e}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa H%
+ \edef\@@tmpa{E}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa i%
+ \edef\@@tmpa{d}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa I%
+ \edef\@@tmpa{D}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa j%
+ \edef\@@tmpa{c}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{j}%
+ \else\if\@tmpa J%
+ \edef\@@tmpa{C}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{J}%
+ \else\if\@tmpa k%
+ \edef\@@tmpa{d}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{k}%
+ \else\if\@tmpa K%
+ \edef\@@tmpa{D}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{K}%
+ \else\if\@tmpa l%
+ \edef\@@tmpa{c}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa L%
+ \edef\@@tmpa{C}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa m%
+ \edef\@@tmpa{b}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{m}%
+ \else\if\@tmpa M%
+ \edef\@@tmpa{B}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{M}%
+ \else\if\@tmpa n%
+ \edef\@@tmpa{c}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{n}%
+ \else\if\@tmpa N%
+ \edef\@@tmpa{C}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \UnfavorableFusion{N}%
+ \else\if\@tmpa o%
+ \edef\@@tmpa{d}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \ForbiddenFusion{o}%
+ \else\if\@tmpa O%
+ \edef\@@tmpa{D}%
+ \put(513,303){\set@fusionadd@sixv}%
+ \ForbiddenFusion{O}%
+ \else\if\@tmpa p%
+ \edef\@@tmpa{e}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \ForbiddenFusion{p}%
+ \else\if\@tmpa P%
+ \edef\@@tmpa{E}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \ForbiddenFusion{P}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@hphananv
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Ring-fusion Commands for Five-Membered Rings}
+% \subsection{Normal vertical type}
+%
+% The macro |\set@fusionadd@fivev| is an inner command contained
+% in the definition of |\fiveheterov| etc., where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusion@fivev|.
+%
+% \begin{macro}{\set@fusionadd@fivev}
+% \changes{v2.00}{1998/12/4}{New command: \cs{set@fusionadd@fivev}}
+% \begin{macrocode}
+\def\set@fusionadd@fivev{%
+ \if\@@tmpa 1\relax%
+ \putratom{-38}{88}{\@@tmpb}% % right type
+ \else\if\@@tmpa 2\relax%
+ \putratom{60}{120}{\@@tmpb}% % right type
+ \else\if\@@tmpa 3\relax%
+ \putratom{60}{233}{\@@tmpb}% % right type
+ \else\if\@@tmpa 4\relax%
+ \putratom{-60}{233}{\@@tmpb}% % right type
+ \else\if\@@tmpa 5\relax%
+ \putratom{-60}{120}{\@@tmpb}% % right type
+ \else\if\@@tmpa 0\relax%
+ \putratom{-38}{150}{\@@tmpb}% % right type
+ \else
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+ \set@fusion@fivev
+ \fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusionadd@fivev
+% \end{macrocode}
+% \end{macro}
+%
+% The inner command |\set@fusion@fivev| is used for typesetting
+% a fused ring at each bond represented by |\@@tmpa|. Warnings
+% concerning mismatched ring-fusions are based on the command
+% |\FuseWarning|.
+%
+% \begin{macro}{\set@fusion@fivev}
+% \changes{v2.00}{1998/12/4}{New command: \cs{set@fusion@fivev}}
+% \begin{macrocode}
+\def\set@fusion@fivev{%
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+ \if\@@tmpa a\relax%
+ \putlratom{0}{0}{\@@tmpb}% % right type
+ \FuseWarning{-171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
+ \else\if\@@tmpa A\relax%
+ \putlratom{171}{103}{\@@tmpb}% % right type
+ \FuseWarning{171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
+ \else\if\@@tmpa b\relax%
+ \putlratom{171}{103}{\@@tmpb}% % right type
+ \FuseWarning{0}{-200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
+ \else\if\@@tmpa B\relax%
+ \putlratom{171}{303}{\@@tmpb}% % right type
+ \FuseWarning{0}{200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
+ \else\if\@@tmpa c\relax
+ \XyMTeXWarning{Not-used fusion at bond `c'}%
+ \else\if\@@tmpa C\relax%
+ \XyMTeXWarning{Not-used fusion at bond `C'}%
+ \else\if\@@tmpa d\relax%
+ \putlratom{-171}{303}{\@@tmpb}% % right type
+ \FuseWarning{0}{200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d}%
+ \else\if\@@tmpa D\relax%
+ \putlratom{-171}{103}{\@@tmpb}% % right type
+ \FuseWarning{0}{-200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D}%
+ \else\if\@@tmpa e\relax%
+ \putlratom{-171}{103}{\@@tmpb}% % right type
+ \FuseWarning{171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e}%
+ \else\if\@@tmpa E\relax%
+ \putlratom{0}{0}{\@@tmpb}% % right type
+ \FuseWarning{-171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the marcro \set@fusion@fivev
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Inverse vertical type}
+%
+% The macro |\set@fusionadd@fivevi| is an inner command contained
+% in the definition of |\fiveheterov| etc., where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusion@fivevi|.
+%
+% \begin{macro}{\set@fusionadd@fivevi}
+% \changes{v2.00}{1998/12/4}{New command: \cs{set@fusionadd@fivevi}}
+% \begin{macrocode}
+\def\set@fusionadd@fivevi{%
+ \if\@@tmpa 1\relax%
+ \putratom{-38}{282}{\@@tmpb}% % right type
+ \else\if\@@tmpa 2\relax%
+ \putratom{60}{233}{\@@tmpb}% % right type
+ \else\if\@@tmpa 3\relax%
+ \putratom{60}{120}{\@@tmpb}% % right type
+ \else\if\@@tmpa 4\relax%
+ \putratom{-60}{120}{\@@tmpb}% % right type
+ \else\if\@@tmpa 5\relax%
+ \putratom{-60}{233}{\@@tmpb}% % right type
+ \else\if\@@tmpa 0\relax%
+ \putratom{-38}{213}{\@@tmpb}% % right type
+ \else
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+ \set@fusion@fivevi
+ \fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusionadd@fivevi
+% \end{macrocode}
+% \end{macro}
+%
+% The inner command |\set@fusion@fivevi| is used for typesetting
+% a fused ring at each bond represented by |\@@tmpa|. Warnings
+% concerning mismatched ring-fusions are based on the command
+% |\FuseWarning|.
+%
+% \begin{macro}{\set@fusion@fivevi}
+% \changes{v2.00}{1998/12/4}{New command: \cs{set@fusion@fivevi}}
+% \begin{macrocode}
+\def\set@fusion@fivevi{%
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+\if\@@tmpa d\relax%
+ \putlratom{-171}{103}{\@@tmpb}% % bond fused
+ \FuseWarning{0}{-200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}%
+ \else\if\@@tmpa D\relax%
+ \putlratom{-171}{303}{\@@tmpb}% % bond fused
+ \FuseWarning{0}{200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}%
+ \else\if\@@tmpa e\relax%
+ \putlratom{-171}{303}{\@@tmpb}% % bond fused
+ \FuseWarning{-171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}%
+ \else\if\@@tmpa E\relax%
+ \putlratom{0}{406}{\@@tmpb}% % bond fused
+ \FuseWarning{171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}%
+ \else\if\@@tmpa a\relax%
+ \putlratom{0}{406}{\@@tmpb}% % bond fused
+ \FuseWarning{-171}{103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
+ \else\if\@@tmpa A\relax%
+ \putlratom{171}{303}{\@@tmpb}% % bond fused
+ \FuseWarning{171}{-103}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
+ \else\if\@@tmpa b\relax%
+ \putlratom{171}{303}{\@@tmpb}% % bond fused
+ \FuseWarning{0}{200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
+ \else\if\@@tmpa B\relax%
+ \putlratom{171}{103}{\@@tmpb}% % bond fused
+ \FuseWarning{0}{-200}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
+ \else\if\@@tmpa c\relax
+ \XyMTeXWarning{Not-used fusion at bond `c'}%
+ \else\if\@@tmpa C\relax%
+ \XyMTeXWarning{Not-used fusion at bond `C'}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@fivevi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Normal horizontal type}
+%
+% The macro |\set@fusionadd@fiveh| is an inner command contained
+% in the definition of |\fiveheteroh| etc., where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusion@fiveh|.
+%
+% \begin{macro}{\set@fusionadd@fiveh}
+% \changes{v2.00}{1998/11/29}{New command: \cs{set@fusionadd@fiveh}}
+% \begin{macrocode}
+\def\set@fusionadd@fiveh{%
+ \if\@@tmpa 1\relax%
+ \putratom{272}{-18}{\@@tmpb}% % right type
+ \else\if\@@tmpa 2\relax%
+ \putratom{233}{60}{\@@tmpb}% % right type
+ \else\if\@@tmpa 3\relax%
+ \putratom{120}{60}{\@@tmpb}% % right type
+ \else\if\@@tmpa 5\relax%
+ \putratom{233}{-110}{\@@tmpb}% % right type
+ \else\if\@@tmpa 4\relax%
+ \putratom{120}{-110}{\@@tmpb}% % right type
+ \else\if\@@tmpa 0\relax%
+ \putratom{196}{-30}{\@@tmpb}% % right type
+ \else
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+ \set@fusion@fiveh
+ \fi\fi\fi\fi\fi\fi%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% The inner command |\set@fusion@fiveh| is used for typesetting
+% a fused ring at each bond represented by |\@@tmpa|. Warnings
+% concerning mismatched ring-fusions are based on the command
+% |\FuseWarning|.
+%
+% \begin{macro}{\set@fusion@fiveh}
+% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@fiveh}}
+% \begin{macrocode}
+\def\set@fusion@fiveh{%
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+\if\@@tmpa E\relax%
+ \putlratom{406}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}%
+ \else\if\@@tmpa e\relax%
+ \putlratom{303}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}%
+ \else\if\@@tmpa D\relax%
+ \putlratom{303}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}%
+ \else\if\@@tmpa d\relax%
+ \putlratom{103}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{-200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}%
+ \else\if\@@tmpa c\relax
+ \XyMTeXWarning{Not-used fusion at bond `c'}%
+ \else\if\@@tmpa C\relax%
+ \XyMTeXWarning{Not-used fusion at bond `C'}%
+ \else\if\@@tmpa B\relax%
+ \putlratom{103}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{-200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
+ \else\if\@@tmpa b\relax%
+ \putlratom{303}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
+ \else\if\@@tmpa A\relax%
+ \putlratom{303}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
+ \else\if\@@tmpa a\relax%
+ \putlratom{406}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@fiveh
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Inverse horizontal type}
+%
+% The macro |\set@fusionadd@fivehi| is an inner command contained
+% in the definition of |\fiveheterohi| etc., where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusion@fivehi|.
+%
+% \begin{macro}{\set@fusionadd@fivehi}
+% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusionadd@fivehi}}
+% \begin{macrocode}
+\def\set@fusionadd@fivehi{%
+ \if\@@tmpa 1\relax%
+ \putratom{-38}{282}{\@@tmpb}% % right type
+ \else\if\@@tmpa 2\relax%
+ \putratom{60}{233}{\@@tmpb}% % right type
+ \else\if\@@tmpa 3\relax%
+ \putratom{60}{120}{\@@tmpb}% % right type
+ \else\if\@@tmpa 4\relax%
+ \putratom{-60}{120}{\@@tmpb}% % right type
+ \else\if\@@tmpa 5\relax%
+ \putratom{-60}{233}{\@@tmpb}% % right type
+ \else\if\@@tmpa 0\relax%
+ \putratom{140}{-30}{\@@tmpb}% % right type
+ \else
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+ \set@fusion@fivehi
+ \fi\fi\fi\fi\fi\fi%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% The inner command |\set@fusion@fivehi| is used for typesetting
+% a fused ring at each bond represented by |\@@tmpa|. Warnings
+% concerning mismatched ring-fusions are based on the command
+% |\FuseWarning|.
+%
+% \begin{macro}{\set@fusion@fivehi}
+% \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@fivehi}}
+% \begin{macrocode}
+\def\set@fusion@fivehi{%
+% %%%%%%%%%%%%%%%%%%%%%
+% % inner bond fusion %
+% %%%%%%%%%%%%%%%%%%%%%
+\if\@@tmpa d\relax%
+ \putlratom{303}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}%
+ \else\if\@@tmpa D\relax%
+ \putlratom{103}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{-200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}%
+ \else\if\@@tmpa e\relax%
+ \putlratom{103}{-171}{\@@tmpb}% % bond fused
+ \FuseWarning{103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}%
+ \else\if\@@tmpa E\relax%
+ \putlratom{0}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}%
+ \else\if\@@tmpa a\relax%
+ \putlratom{0}{0}{\@@tmpb}% % bond fused
+ \FuseWarning{-103}{-171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
+ \else\if\@@tmpa A\relax%
+ \putlratom{103}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{103}{171}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
+ \else\if\@@tmpa b\relax%
+ \putlratom{103}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{-200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
+ \else\if\@@tmpa B\relax%
+ \putlratom{303}{171}{\@@tmpb}% % bond fused
+ \FuseWarning{200}{0}%
+ {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
+ \else\if\@@tmpa c\relax
+ \XyMTeXWarning{Not-used fusion at bond `c'}%
+ \else\if\@@tmpa C\relax%
+ \XyMTeXWarning{Not-used fusion at bond `C'}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@sixh
+% \end{macrocode}
+% \end{macro}
+%
+% \section{Ring-fusion Commands for Six-Five-fused Rings}
+% \subsection{Normal vertical type}
+%
+% The macro |\set@fusion@nonav| is an inner command contained
+% in the definition of |\indanev| and |\nonaheterov|, where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusionadd@sixvi|.
+%
+% \begin{macro}{\set@fusion@nonav}
+% \begin{macrocode}
+\def\set@fusion@nonav{%
+ \let\@@tmpa=\@tmpa
+ \let\@@tmpb=\@tmpb
+ \if\@tmpa a%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixvi}%
+ \else\if\@tmpa A%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixvi}%
+ \else\if\@tmpa b%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixvi}%
+ \else\if\@tmpa B%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixvi}%
+ \else\if\@tmpa c\relax
+ \XyMTeXWarning{Not-used fusion at bond `c'}%
+ \else\if\@tmpa C\relax%
+ \XyMTeXWarning{Not-used fusion at bond `C'}%
+ \else\if\@tmpa d%
+ \edef\@@tmpa{c}%
+ \put(0,0){\set@fusionadd@sixvi}%
+ \UnfavorableFusion{d}%
+ \else\if\@tmpa D%
+ \edef\@@tmpa{C}%
+ \put(0,0){\set@fusionadd@sixvi}%
+ \UnfavorableFusion{D}%
+ \else\if\@tmpa e%
+ \edef\@@tmpa{d}%
+ \put(0,0){\set@fusionadd@sixvi}%
+ \else\if\@tmpa E%
+ \edef\@@tmpa{D}%
+ \put(0,0){\set@fusionadd@sixvi}%
+ \else\if\@tmpa f%
+ \edef\@@tmpa{e}%
+ \put(0,0){\set@fusionadd@sixvi}%
+ \else\if\@tmpa F%
+ \edef\@@tmpa{E}%
+ \put(0,0){\set@fusionadd@sixvi}%
+ \else\if\@tmpa g%
+ \edef\@@tmpa{f}%
+ \put(0,0){\set@fusionadd@sixvi}%
+ \else\if\@tmpa G%
+ \edef\@@tmpa{F}%
+ \put(0,0){\set@fusionadd@sixvi}%
+ \else\if\@tmpa h%
+ \edef\@@tmpa{a}%
+ \put(0,0){\set@fusionadd@sixvi}%
+ \UnfavorableFusion{h}%
+ \else\if\@tmpa H%
+ \edef\@@tmpa{A}%
+ \put(0,0){\set@fusionadd@sixvi}%
+ \UnfavorableFusion{H}%
+ \else\if\@tmpa i%
+ \edef\@@tmpa{f}%
+ \put(342,0){\set@fusionadd@sixvi}%
+ \UnfavorableFusion{i}%
+ \else\if\@tmpa I%
+ \edef\@@tmpa{F}%
+ \put(342,0){\set@fusionadd@sixvi}%
+ \UnfavorableFusion{I}%
+ \else\if\@tmpa j%
+ \edef\@@tmpa{e}%
+ \put(342,0){\set@fusionadd@sixvi}%
+ \ForbiddenFusion{j}%
+ \else\if\@tmpa J%
+ \edef\@@tmpa{E}%
+ \put(342,0){\set@fusionadd@sixvi}%
+ \ForbiddenFusion{J}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@nonav
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Inverse vertical type}
+%
+% The macro |\set@fusion@nonavi| is an inner command contained
+% in the definition of |\indanevi| and |\nonaheterovi|, where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusionadd@sixv|.
+%
+% \begin{macro}{\set@fusion@nonavi}
+% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusion@nonavi}}
+% \begin{macrocode}
+\def\set@fusion@nonavi{%
+ \let\@@tmpa=\@tmpa
+ \let\@@tmpb=\@tmpb
+ \if\@tmpa a%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa A%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa b%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa B%
+ \let\@@tmpa=\@tmpa
+ \put(342,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa c\relax
+ \XyMTeXWarning{Not-used fusion at bond `c'}%
+ \else\if\@tmpa C\relax%
+ \XyMTeXWarning{Not-used fusion at bond `C'}%
+ \else\if\@tmpa d%
+ \edef\@@tmpa{c}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{d}%
+ \else\if\@tmpa D%
+ \edef\@@tmpa{C}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{D}%
+ \else\if\@tmpa e%
+ \edef\@@tmpa{d}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa E%
+ \edef\@@tmpa{D}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa f%
+ \edef\@@tmpa{e}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa F%
+ \edef\@@tmpa{E}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa g%
+ \edef\@@tmpa{f}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa G%
+ \edef\@@tmpa{F}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \else\if\@tmpa h%
+ \edef\@@tmpa{a}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{h}%
+ \else\if\@tmpa H%
+ \edef\@@tmpa{A}%
+ \put(0,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{H}%
+ \else\if\@tmpa i%
+ \edef\@@tmpa{f}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{i}%
+ \else\if\@tmpa I%
+ \edef\@@tmpa{F}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \UnfavorableFusion{I}%
+ \else\if\@tmpa j%
+ \edef\@@tmpa{e}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \ForbiddenFusion{j}%
+ \else\if\@tmpa J%
+ \edef\@@tmpa{E}%
+ \put(342,0){\set@fusionadd@sixv}%
+ \ForbiddenFusion{J}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@nonavi
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Normal horizontal type}
+%
+% The macro |\set@fusion@nonah| is an inner command contained
+% in the definition of |\nonaheteroh|, where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusionadd@sixhi|.
+%
+% \begin{macro}{\set@fusion@nonah}
+% \changes{v2.00}{1998/12/6}{New command: \cs{set@fusion@nonah}}
+% \begin{macrocode}
+\def\set@fusion@nonah{%
+ \let\@@tmpa=\@tmpa
+ \let\@@tmpb=\@tmpb
+ \if\@tmpa a%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixhi}%
+ \else\if\@tmpa A%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixhi}%
+ \else\if\@tmpa b%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixhi}%
+ \else\if\@tmpa B%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixhi}%
+ \else\if\@tmpa c\relax
+ \XyMTeXWarning{Not-used fusion at bond `c'}%
+ \else\if\@tmpa C\relax%
+ \XyMTeXWarning{Not-used fusion at bond `C'}%
+ \else\if\@tmpa d%
+ \edef\@@tmpa{c}%
+ \put(0,-342){\set@fusionadd@sixhi}%
+ \UnfavorableFusion{d}%
+ \else\if\@tmpa D%
+ \edef\@@tmpa{C}%
+ \put(0,-342){\set@fusionadd@sixhi}%
+ \UnfavorableFusion{D}%
+ \else\if\@tmpa e%
+ \edef\@@tmpa{d}%
+ \put(0,-342){\set@fusionadd@sixhi}%
+ \else\if\@tmpa E%
+ \edef\@@tmpa{D}%
+ \put(0,-342){\set@fusionadd@sixhi}%
+ \else\if\@tmpa f%
+ \edef\@@tmpa{e}%
+ \put(0,-342){\set@fusionadd@sixhi}%
+ \else\if\@tmpa F%
+ \edef\@@tmpa{E}%
+ \put(0,-342){\set@fusionadd@sixhi}%
+ \else\if\@tmpa g%
+ \edef\@@tmpa{f}%
+ \put(0,-342){\set@fusionadd@sixhi}%
+ \else\if\@tmpa G%
+ \edef\@@tmpa{F}%
+ \put(0,-342){\set@fusionadd@sixhi}%
+ \else\if\@tmpa h%
+ \edef\@@tmpa{a}%
+ \put(0,-342){\set@fusionadd@sixhi}%
+ \UnfavorableFusion{h}%
+ \else\if\@tmpa H%
+ \edef\@@tmpa{A}%
+ \put(0,-342){\set@fusionadd@sixhi}%
+ \UnfavorableFusion{H}%
+ \else\if\@tmpa i%
+ \edef\@@tmpa{f}%
+ \put(0,0){\set@fusionadd@sixhi}%
+ \UnfavorableFusion{i}%
+ \else\if\@tmpa I%
+ \edef\@@tmpa{F}%
+ \put(0,0){\set@fusionadd@sixhi}%
+ \UnfavorableFusion{I}%
+ \else\if\@tmpa j%
+ \edef\@@tmpa{e}%
+ \put(0,0){\set@fusionadd@sixhi}%
+ \ForbiddenFusion{j}%
+ \else\if\@tmpa J%
+ \edef\@@tmpa{E}%
+ \put(0,0){\set@fusionadd@sixhi}%
+ \ForbiddenFusion{J}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@nonah
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Inverse horizontal type}
+%
+% The macro |\set@fusion@nonahi| is an inner command contained
+% in the definition of |\indanehi| and |\nonaheterohi|, where
+% the macro is used for setting an additive
+% or a fused ring at each bond (designated by |\@@tmpa|). The
+% fused ring is typeset by the inner command |\set@fusionadd@sixh|.
+%
+% \begin{macro}{\set@fusion@nonahi}
+% \changes{v2.00}{1998/12/5}{New command: \cs{set@fusion@nonahi}}
+% \begin{macrocode}
+\def\set@fusion@nonahi{%
+ \let\@@tmpa=\@tmpa
+ \let\@@tmpb=\@tmpb
+ \if\@tmpa a%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \else\if\@tmpa A%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \else\if\@tmpa b%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \else\if\@tmpa B%
+ \let\@@tmpa=\@tmpa
+ \put(0,0){\set@fusionadd@sixh}%
+ \else\if\@tmpa c\relax
+ \XyMTeXWarning{Not-used fusion at bond `c'}%
+ \else\if\@tmpa C\relax%
+ \XyMTeXWarning{Not-used fusion at bond `C'}%
+ \else\if\@tmpa d%
+ \edef\@@tmpa{c}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \UnfavorableFusion{d}%
+ \else\if\@tmpa D%
+ \edef\@@tmpa{C}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \UnfavorableFusion{D}%
+ \else\if\@tmpa e%
+ \edef\@@tmpa{d}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa E%
+ \edef\@@tmpa{D}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa f%
+ \edef\@@tmpa{e}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa F%
+ \edef\@@tmpa{E}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa g%
+ \edef\@@tmpa{f}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa G%
+ \edef\@@tmpa{F}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \else\if\@tmpa h%
+ \edef\@@tmpa{a}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \UnfavorableFusion{h}%
+ \else\if\@tmpa H%
+ \edef\@@tmpa{A}%
+ \put(0,-342){\set@fusionadd@sixh}%
+ \UnfavorableFusion{H}%
+ \else\if\@tmpa i%
+ \edef\@@tmpa{f}%
+ \put(0,0){\set@fusionadd@sixh}%
+ \UnfavorableFusion{i}%
+ \else\if\@tmpa I%
+ \edef\@@tmpa{F}%
+ \put(0,0){\set@fusionadd@sixh}%
+ \UnfavorableFusion{I}%
+ \else\if\@tmpa j%
+ \edef\@@tmpa{e}%
+ \put(0,0){\set@fusionadd@sixh}%
+ \ForbiddenFusion{j}%
+ \else\if\@tmpa J%
+ \edef\@@tmpa{E}%
+ \put(0,0){\set@fusionadd@sixh}%
+ \ForbiddenFusion{J}%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@nonahi
+%</chemstr>
+% \end{macrocode}
+% \end{macro}
+%
+% \Finale
+%
+\endinput
+ \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/hetarom.ins b/Master/texmf-dist/source/latex/xymtex/hetarom.ins
new file mode 100644
index 00000000000..75c408ae768
--- /dev/null
+++ b/Master/texmf-dist/source/latex/xymtex/hetarom.ins
@@ -0,0 +1,51 @@
+\def\batchfile{hetarom.ins}
+\input docstrip.tex
+\preamble
+
+This is a generated file.
+
+Copyright 1996, 1998, 2000 by Shinsaku Fujita
+
+This file is part of the XyMTeX system.
+=======================================
+
+Version 1.01 Released on August 16, 1996
+Version 1.02 Released on October 31, 1998 (private version)
+Version 2.00 Released on December 25, 1998
+Version 2.00a Released on November 11, 2000
+
+Copyright (C) 1996,1998,2000 by Shinsaku Fujita, all rights reserved.
+This style file is created for drawing chemical structural formulas
+This style file is to be contained in the ``xymtex'' directory which
+is an input directory for TeX.
+
+Copying of this file is authorized only if either
+
+ (1) you make absolutely no changes to your copy, including name and
+ directory name
+ (2) if you do make changes,
+ (a) you name it something other than the names included in the
+ ``xymtex'' directory and
+ (b) you acknowledge the original name.
+ This restriction ensures that all standard styles are identical.
+
+=======================================
+
+This file contains several codes modified from latex.tex (LaTeX2.09)
+and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
+Copyright 1994 the LaTeX3 project and the individual authors (For further
+copyright information see the file legal.txt of the LaTeX2e standard
+distribution, and any other copyright indicated in this file.)
+
+\endpreamble
+
+\keepsilent
+
+\generateFile{hetarom.drv}{t}{%
+ \from{hetarom.dtx}{driver}}
+
+\generateFile{hetarom.sty}{t}{%
+ \from{hetarom.dtx}{hetarom}}
+
+\endinput
+ \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/xymtex/polymers.drv b/Master/texmf-dist/source/latex/xymtex/polymers.drv
new file mode 100644
index 00000000000..90b85d949e9
--- /dev/null
+++ b/Master/texmf-dist/source/latex/xymtex/polymers.drv
@@ -0,0 +1,81 @@
+%%
+%% This is file `polymers.drv',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% polymers.dtx (with options: `driver')
+%%
+%% This is a generated file.
+%%
+%% Copyright 1996,1998 by Shinsaku Fujita
+%%
+%% This file is part of the XyMTeX system.
+%% =======================================
+%%
+%% Version 1.01 Released on August 16, 1996
+%% Version 1.02 Released on October 31, 1996 (private version)
+%% Version 2.00 Released on December 25, 1998
+%%
+%% Copyright (C) 1998 by Shinsaku Fujita, all rights reserved.
+%% This style file is created for drawing chemical structural formulas
+%% This style file is to be contained in the ``xymtex'' directory which
+%% is an input directory for TeX.
+%%
+%% Copying of this file is authorized only if either
+%%
+%% (1) you make absolutely no changes to your copy, including name and
+%% directory name
+%% (2) if you do make changes,
+%% (a) you name it something other than the names included in the
+%% ``xymtex'' directory and
+%% (b) you acknowledge the original name.
+%% This restriction ensures that all standard styles are identical.
+%%
+%% =======================================
+%%
+%% This file contains several codes modified from latex.tex (LaTeX2.09)
+%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
+%% Copyright 1994 the LaTeX3 project and the individual authors (For further
+%% copyright information see the file legal.txt of the LaTeX2e standard
+%% distribution, and any other copyright indicated in this file.)
+%%
+%% File: polymers.dtx
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\NeedsTeXFormat{pLaTeX2e}
+\ProvidesFile{polymers.dtx}[1998/12/25 v2.00 XyMTeX{} package file]
+\documentclass{ltxdoc}
+\GetFileInfo{polymers.dtx}
+\def\UPSILON{\char'7}
+\def\XyM{X\kern-.30em\smash{%
+\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}
+\def\XyMTeX{\XyM\kern-.1em\TeX}
+\title{Polymers by {\sffamily polymers.sty}
+(\fileversion) of \XyMTeX{}}
+\author{Shinsaku Fujita \\
+Department of Chemistry and Materials Technology, \\
+Kyoto Institute of Technology, \\
+Matsugasaki, Sakyoku, Kyoto, 606 Japan
+}
+\date{\filedate}
+\begin{document}
+ \maketitle
+ \DocInput{polymers.dtx}
+\end{document}
+\endinput
+%%
+%% End of file `polymers.drv'.