summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/xymtex/chemstr.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/xymtex/chemstr.dtx')
-rw-r--r--Master/texmf-dist/source/latex/xymtex/chemstr.dtx8567
1 files changed, 8567 insertions, 0 deletions
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