Basic Commands for Drawing Chemical Structures by chemstr.sty (v2.00) of XΥMTEX

Shinsaku Fujita Department of Chemistry and Materials Technology, Kyoto Institute of Technology, Matsugasaki, Sakyoku, Kyoto, 606 Japan

1998/12/25

1 Introduction

1.1 Options for docstrip

option function
chemstr chemstr.sty
driver  driver for this dtx file

1.2 Version Information

1 ⟨∗chemstr⟩

2 \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
3 \typeout{       -- Released December 25, 1998 by Shinsaku Fujita}
4 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5 \def\j@urnalname{chemstr}
6 \def\versi@ndate{December 25, 1998}
7 \def\versi@nno{ver2.00}
8 \def\copyrighth@lder{SF} % Shinsaku Fujita
9 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10 \typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
11 \space[\copyrighth@lder]}

2 List of commands for chemstr.sty

*********************************
* 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

<Convention>
\rmoiety
\lmoiety
\putlatom
\putratom
\putlratom
\Putlratom

<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

<VERTICAL SETTING>
Substitution

\@substa
\@substb
\@substc
\@substd
\@subste
\@substf

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

<HORIZONTAL SETTING>
Substitution
\@hsubsta
\@hsubstb
\@hsubstc
\@hsubstd
\@hsubste
\@hsubstf

Setting of atoms and bonds
\setsixringh       (on a horizontal six-membered ring)
Placing structures as substituents
\ylpositionh

<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

3 Initialization and conventions

3.1 Logos

The logo of XΥMTEX is defined in two ways. The first definition uses the \fam command, which sometimes shows unusual behavior. The second definition is adopted in the present version of XΥMTEX, since this aims at the compatibility to L^{A}TEX 2ε.

\XyMTeX
12 % ***************
13 % * XyMTeX Logo *
14 % ***************
15 % %%XyMTeX Logo: Definition 1%%%
16 %\newcount\TestCount
17 %\def\XyM{\ifnum\fam=-1\relax\fam=0\relax\fi\TestCount=\fam%
18 %X\kern-.30em\smash{\raise.50ex\hbox{$\fam\TestCount\Upsilon$}}%
19 %\kern-.30em{M}}
20 %\def\XyMTeX{\XyM\kern-.1em\TeX}
21 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22 % %%XyMTeX Logo: Definition 2%%%
23 \def\UPSILON{\char'7}
24 \def\XyM{X\kern-.30em\smash{\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}}

25 \def\XyMTeX{\XyM\kern-.1em\TeX}
26 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

3.2 Macros for treating argumets

For separating each argument (BONDLIST, SUBSLIST or ATOMLIST) into components (descriptors), we define several useful macros.

\@forsemicol \@forl@@p \@iforl@@p The macro \@forsemicol resembles the \@for macro that is the L^{A}TEX original

macro; however a semicolon is used as a separating key in place of a comma.

27 % ****************************************************
28 % * For separating an augument list to each argument *
29 % ****************************************************

30 %

31 \def\@forsemicol#1:=#2\do#3{%
32 %  \edef\@fortmp{#2}%1996/07/06 by S. Fujita
33 \expandafter\def\expandafter\@fortmp\expandafter{#2}%
34  \ifx\@fortmp\@empty \else%
35  \expandafter\@forl@@p#2;\@nil;\@nil\@@#1{#3}\fi}
36 \long\def\@forl@@p#1;#2;#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else%
37  #5\def#4{#2}\ifx #4\@nnil \else#5\@iforl@@p #3\@@#4{#5}\fi\fi}
38 \long\def\@iforl@@p#1;#2\@@#3#4{\def#3{#1}\ifx #3\@nnil%
39  \expandafter\@fornoop \else
40  #4\relax\expandafter\@iforl@@p\fi#2\@@#3{#4}}
41 %\def\@iforl@@p#1;#2\@@#3#4{\def#3{#1}\ifx #3\@nnil%
42 %       \let\@nextwhile=\@fornoop \else%
43 %      #4\relax\let\@nextwhile=\@iforl@@p\fi\@nextwhile#2\@@#3{#4}}

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.

\@m@mb@r \twoch@r \twoch@@r \threech@r
44 \def\@m@mb@r#1==#2;{\gdef\@membera{#1}\gdef\@memberb{#2}}
45 \def\twoch@r#1#2{\gdef\@tmpa{#1}\gdef\@tmpb{#2}}
46 \def\twoch@@r#1#2{\gdef\@@tmpa{#1}\gdef\@@tmpb{#2}}
47 \def\threech@r#1#2#3{\gdef\@tmpa{#1}\gdef\@tmpb{#2}\gdef\@tmpc{#3}}

The following two commands are added to treat spiro fusion.

\twoCH@R \twoCH@@R
48 \def\twoCH@@R#1#2//{\gdef\@@tmpa{#1}\gdef\@@tmpb{#2}}
49 \def\twoCH@R#1#2//{\gdef\@tmpa{#1}\gdef\@tmpb{#2}}

3.3 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.

\if@leftput
\if@rightput
\if@leftrightput
\resetlrput

50 \newif\if@rightput \@rightputfalse
51 \newif\if@leftput \@leftputfalse
52 \newif\if@leftrightput \@leftrightputfalse
53 \def\resetlrput{\@rightputfalse\@leftputfalse
54 \@leftrightputfalse}

We can use the macro \rmoiety for drawing a right-hand substituent and the macro \lmoiety for drawing a left-hand substituent.

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.

\rmoiety \lmoiety
55 % **************
56 % * Convention *
57 % **************
58 % %\def\rmoiety#1{#1 \hss}
59 % %\def\lmoiety#1{\hss #1}
60 \def\rmoiety#1{\if@leftput
61 \XyMTeXWarning{Wrong \string\rmoiety\space used in a left box}%
62 \hbox to0pt{%
63 \hbox to0pt{\hss\vrule width\overfullrule height\overfullrule}#1\hss}%
64 \else\if@rightput\XyMTeXWarning{Unnecessary \string\rmoiety\space
65 used in a right box}\hbox to0pt{#1\hss}%
66 \else\if@leftrightput\hbox to0pt{#1\hss}%
67 \fi\fi\fi\resetlrput}
68 \def\lmoiety#1{\if@rightput
69 \XyMTeXWarning{Wrong \string\lmoiety\space used in a right box}%
70 \hbox to0pt{\hss#1\kern-.72em%
71 \hbox to0pt{\vrule width\overfullrule height\overfullrule\hss}}\else
72 \if@leftput\XyMTeXWarning{Unnecessary \string\lmoiety\space
73 used in a left box}\hbox to0pt{\hss#1}%
74 \else\if@leftrightput\hbox to0pt{\hss#1\kern-.72em}%
75 \else\hbox to0pt{\hss#1\kern-.72em}\fi\fi\fi\resetlrput}

Warnings from XΥMTEX are concerned with commands \rmoiety and \lmoiety.

\XyMTeXWarning
76 \def\XyMTeXWarning#1{%
77 \begingroup

78 \let\protect\string
79 \immediate\write\@unused{^^IXyMTeX Warning: #1\space
80 on input line \the\inputlineno^^I}%
81 \endgroup}

Warnings concerned with ring fusion are based on the command \FuseWarning of XΥMTEX.

\@cnttempa
\@cnttempb
\FuseWarning

82 \newcount\@cnttempa
83 \newcount\@cnttempb
84 \def\FuseWarning#1#2#3#4#5#6#7{%
85 \@tempcnta=#1 \@tempcntb=#2
86 \@cnttempa=#3 \advance\@cnttempa-#5
87 \@cnttempb=#4 \advance\@cnttempb-#6
88 \ifnum\@tempcnta=\@cnttempa
89 \ifnum\@tempcntb=\@cnttempb\else
90 \XyMTeXWarning{Mismatched fusion at bond `#7'}%
91 \fi
92 \else
93 \XyMTeXWarning{Mismatched fusion at bond `#7'}%
94 \fi}

The original L^{A}TEX command \put is changed into macros suitable to more specific uses as follows.

\putlatom
95 % %\def\putlatom#1#2#3{\put(#1,#2){\hbox to0pt{\hss #3}}}
96 \def\putlatom#1#2#3{\begingroup\resetlrput
97 \put(#1,#2){\@leftputtrue\hbox to0pt{\hss #3}\@leftputfalse}\endgroup}
\putratom
98 %\def\putratom#1#2#3{\put(#1,#2){\hbox to0pt{#3 \hss}}}
99 \def\putratom#1#2#3{\begingroup\resetlrput
100 \put(#1,#2){\@rightputtrue\hbox to0pt{#3 \hss}\@rightputfalse}\endgroup}
\putlratom
101 \def\putlratom#1#2#3{\begingroup\resetlrput
102 \put(#1,#2){\@leftrightputtrue\hbox to.72em{#3\hss}}%
103 \@leftrightputfalse\endgroup}
 % 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}

\Putlratom
104 \def\Putlratom#1#2#3{\put(#1,#2){\hbox to.8em{#3}}}

3.4 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.

\noshift \shifti \shiftii \shiftiii
105 % *******************************
106 % * Parameters for Coordinates  *
107 % *******************************
108 \newcount\noshift \noshift=0\relax%
109 \newcount\shifti \shifti=240\relax%
110 \newcount\shiftii \shiftii=400\relax%
111 \newcount\shiftiii \shiftiii=800\relax%

The unit length for XΥMTEX 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.

112 \unitlength.1pt%

Parameters for ring fusion are used in fusering.sty.

\fuseAx \fuseBx \fuseAy \fuseBy
113 \def\fuseAx{0}
114 \def\fuseBx{0}
115 \def\fuseAy{0}
116 \def\fuseBy{0}

3.5 Various switchs

These macros are used for clipping spaces at substitution positions. Note that

 \if@clip is used in place of \if@dclip.
\if@clip
\if@aclip
\if@bclip
\if@cclip
\if@eclip
\if@fclip
\iforigpt
\@tmpaa

117 % ***************************************
118 % * various flags (switches)            *
119 % * treatment of substitution positions *
120 % ***************************************

121 %

122 % for 6- or lower-membered cycles

123 %

124 \newif\if@clip \@clipfalse%   % switch for clipping at 4
125 \newif\if@aclip \@aclipfalse% % switch for clipping at 1
126 \newif\if@bclip \@bclipfalse% % switch for clipping at 2
127 \newif\if@cclip \@cclipfalse% % switch for clipping at 3
128 \newif\if@eclip \@eclipfalse% % switch for clipping at 5
129 \newif\if@fclip \@fclipfalse% % switch for clipping at 6
130 \newif\iforigpt \origptfalse% % switch for showing the original point
131 \newcount\@tmpaa%
\if@gclip \if@hclip \if@iclip \if@jclip

132 %

133 % for further-membered cycles

134 %

135 \newif\if@gclip \@gclipfalse%
136 \newif\if@hclip \@hclipfalse%
137 \newif\if@iclip \@iclipfalse%
138 \newif\if@jclip \@jclipfalse%

3.6 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.

\@yl
\yl@xdiff
\yl@ydiff
\yl@shiftii
\yl@shifti
\@ylii
\@yli
\@@ylii
\@@yli

139 \def\@yl{(yl)}
140 \newcount\yl@xdiff
141 \newcount\yl@ydiff
142 \newcount\yl@shiftii
143 \newcount\yl@shifti
144 \def\@ylii{0}\def\@yli{0}
145 \def\@@ylii{}\def\@@yli{}
146 \def\reset@@yl{\gdef\@@ylii{}\gdef\@@yli{}}
147 \def\reset@yl@xydiff{\yl@xdiff=0 \yl@ydiff=0\relax}

The following switches are used for shifting the substituent. The locant flags such as \@ylatrue have been stoped to use.

Old definition:

148 % %%%%% \newif\if@yla \@ylafalse
149 % %%%%% \newif\if@ylb \@ylbfalse
150 % %%%%% \newif\if@ylc \@ylcfalse
151 % %%%%% \newif\if@yld \@yldfalse
152 % %%%%% \newif\if@yle \@ylefalse
153 % %%%%% \newif\if@ylf \@ylffalse
\if@ylsw \if@@ylsw
154 \newif\if@ylsw \@ylswfalse
155 \newif\if@@ylsw \@@ylswfalse

  Old definition:
  %    \begin{macrocode}
  %%%%% \def\@reset@ylsw{\@ylafalse\@ylbfalse\@ylcfalse
  %%%%% \@yldfalse\@ylefalse\@ylffalse\@ylswfalse}
  %    \end{macrocode}

\@reset@ylsw
156 \def\@reset@ylsw{\@ylswfalse\@@ylswfalse}

The further fusion of a three- or four-membered ring at a center bond of a sixsix 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).

\if@smallringsw
157 \newif\if@smallringsw \@smallringswfalse

3.7 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.

\iniflag \iniatom \resetbdsw
158 % %\def\iniflag{%
159 % %\global\@aclipfalse\global\@bclipfalse%
160 % %\global\@cclipfalse\global\@clipfalse\global\@eclipfalse%
161 % %\global\@fclipfalse\global\@gclipfalse\global\@hclipfalse%
162 % %\global\@iclipfalse\global\@jclipfalse%
163 % %\global\@clipfusefalse}%
164 % %\def\iniatom{%
165 % %\gdef\aaa{}\gdef\bbb{}\gdef\ccc{}\gdef\ddd{}%
166 % %\gdef\eee{}\gdef\fff{}%
167 % %\gdef\ggg{}\gdef\hhh{}\gdef\iii{}\gdef\jjj{}%
168 % %\gdef\@aaa{}\gdef\@bbb{}\gdef\@ccc{}\gdef\@ddd{}%
169 % %\gdef\@eee{}\gdef\@fff{}%
170 % %}%
171 % %\def\resetbdsw{\gdef\@aaa{a}\gdef\@bbb{b}\gdef\@ccc{c}%
172 % %\gdef\@ddd{d}\gdef\@eee{e}\gdef\@fff{f}}%
173 \def\iniflag{%
174 \@aclipfalse\@bclipfalse\@cclipfalse\@clipfalse\@eclipfalse%
175 \@fclipfalse\@gclipfalse\@hclipfalse%
176 \@iclipfalse\@jclipfalse\@clipfusefalse%
177 \global\@smallringswfalse%

178 }%

179 \def\iniatom{%

180 \def\aaa{}\def\bbb{}\def\ccc{}\gdef\ddd{}%
181 \def\eee{}\def\fff{}%
182 \def\ggg{}\def\hhh{}\def\iii{}\gdef\jjj{}%
183 \def\@aaa{}\def\@bbb{}\def\@ccc{}\def\@ddd{}%
184 \def\@eee{}\def\@fff{}%
185 \def\@ggg{}\def\@hhh{}\def\@iii{}%
186 \def\@jjj{}\def\@kkk{}%

187 }%

188 \def\resetbdsw{\def\@aaa{a}\def\@bbb{b}\def\@ccc{c}%
189 \def\@ddd{d}\def\@eee{e}\def\@fff{f}%
190 \def\@ggg{g}\def\@hhh{h}\def\@iii{i}%
191 \def\@jjj{j}\def\@kkk{k}%

192 }%

At the beginning of XΥMTEX processing, we initialize atom information by the

 command \iniatom.
193 \iniatom

4 Macros for Vertical formulas

4.1 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.

\ylposition
194 \def\ylposition#1#2#3#4#5{%
195 \@@ylswfalse%%%\@reset@ylsw
196 \@forsemicol\member:=#1\do{%
197 \if@@ylsw\else%
198 \ifx\member\empty\else%
199 \expandafter\@m@mb@r\member;\relax%
200 \expandafter\threech@r\@membera{}{}\relax%
201 \ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
202 \if@@ylsw
203 \ifnum#5<0\relax%
204 \@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
205 \else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax\fi
206 \ifnum\@tmpaa>#3\relax%
207 \ifnum\@tmpaa<#4\relax%
208 \ifcase\@tmpaa%0 omit

The flags \@lyatrue etc are not used in a revised edition.

209 \or\ifx\aaa\empty
210  \gdef\@ylii{0}\gdef\@yli{-406}\global\@ylswtrue%\@ylatrue% subst. on 1

211  \else
212  \gdef\@ylii{0}\gdef\@yli{-442}\global\@ylswtrue%\@ylatrue% subst. on 1
213  \fi
214 \or\ifx\bbb\empty
215  \gdef\@ylii{-171}\gdef\@yli{-303}\global\@ylswtrue%\@ylbtrue% subst. on 2
216  \else
217  \gdef\@ylii{-213}\gdef\@yli{-327}\global\@ylswtrue%\@ylbtrue% subst. on 2
218  \fi
219 \or\ifx\ccc\empty
220  \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue%\@ylctrue% subst. on 3
221  \else
222  \gdef\@ylii{-213}\gdef\@yli{-79}\global\@ylswtrue%\@ylctrue% subst. on 3
223  \fi
224 \or\ifx\ddd\empty
225  \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
226  \else
227  \gdef\@ylii{0}\gdef\@yli{36}\global\@ylswtrue%\@yldtrue% subst. on 4
228  \fi
229 \or\ifx\eee\empty
230  \gdef\@ylii{171}\gdef\@yli{-103}\global\@ylswtrue%\@yletrue% subst. on 5
231  \else
232  \gdef\@ylii{213}\gdef\@yli{-79}\global\@ylswtrue%\@yletrue% subst. on 5
233  \fi
234 \or\ifx\fff\empty
235  \gdef\@ylii{171}\gdef\@yli{-303}\global\@ylswtrue%\@ylftrue% subst. on 6
236  \else
237  \gdef\@ylii{213}\gdef\@yli{-327}\global\@ylswtrue%\@ylftrue% subst. on 6
238  \fi%
239 \fi%end of ifcase
240 \fi\fi\fi\fi\fi}}%

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.).

\@substa
241 % %%%%%%%%%%%%%%%
242 % % subst. on 1 %
243 % %%%%%%%%%%%%%%%
244 \def\@substa{%
245 \if@aclip% %clipping
246 \if\@tmpb S%single bond
247  \ifx\@tmpc\empty%
248  \yl@xdiff=31\relax
249  \yl@ydiff=-17\relax
250  \put(0,436){\line(0,1){110}}%      % single bond at 1
251  \putlratom{-31}{563}{\@memberb}%   % left or right type
252  \else\if\@tmpc B%(B) beta
253  \yl@xdiff=-36\relax

254  \yl@ydiff=-27\relax
255  \putlatom{-42}{563}{\@memberb}%    % left type

256 {%

257  \thicklines%
258  \put(-18,436){\line(-3,5){60}}%    % single bond at 1

259 }%

260  \else\if\@tmpc A%(A) alpha
261  \yl@xdiff=37\relax
262  \yl@ydiff=-27\relax
263  \putratom{41}{563}{\@memberb}%     % right type
264  \@ifundefined{dottedline}{%
265  \put(18,436){\line(3,5){60}}%      % single bond at 1
266  }{{\thicklines%
267  \dottedline{20}(18,436)(72,526)}}%
268  \else\if\@tmpc u%(u) up --- (B) beta
269  \yl@xdiff=36\relax
270  \yl@ydiff=-27\relax
271  \putratom{41}{563}{\@memberb}%     % right type

272 {%

273  \thicklines%
274  \put(18,436){\line(3,5){60}}%    % single bond at 1

275 }%

276  \else\if\@tmpc d%(d) down --- (A) alpha
277  \yl@xdiff=-37\relax
278  \yl@ydiff=-27\relax
279  \putlatom{-42}{563}{\@memberb}%    % left type
280  \@ifundefined{dottedline}{%
281  \put(-18,436){\line(-3,5){60}}%      % single bond at 1
282  }{{\thicklines%
283  \dottedline{20}(-18,436)(-72,526)}}%
284  \else\if\@tmpc b%(b) beta
285  \yl@xdiff=-36\relax
286  \yl@ydiff=-27\relax
287  \putlatom{-42}{563}{\@memberb}%    % left type
288  \put(-18,436){\line(-3,5){60}}%    % single bond at 1
289  \else\if\@tmpc a%(a) alpha
290  \yl@xdiff=37\relax
291  \yl@ydiff=-27\relax
292  \putratom{41}{563}{\@memberb}%     % right type
293  \put(18,436){\line(3,5){60}}%      % single bond at 1
294  \fi\fi\fi\fi\fi%
295  \fi\fi
296 \else\if\@tmpb D%double bond
297  \yl@xdiff=31\relax
298  \yl@ydiff=-17\relax
299  \putlratom{-31}{563}{\@memberb}%   % left or right type
300  \put(-12,436){\line(0,1){110}}%    % double bond at 1
301  \put(12,436){\line(0,1){110}}%     % double bond at 1
302 \else\if\@tmpb B%beta single bond
303  \yl@xdiff=31\relax

304  \yl@ydiff=-17\relax
305  \putlratom{-31}{563}{\@memberb}%   % left or right type

306 {%

307  \thicklines%
308  \put(0,436){\line(0,1){110}}%      % single bond at 1

309 }%

310 \else\if\@tmpb A%alpha single bond
311  \yl@xdiff=31\relax
312  \yl@ydiff=-17\relax
313  \putlratom{-31}{563}{\@memberb}%   % left or right type
314  \@ifundefined{dottedline}{%
315  \put(0,436){\line(0,1){110}}%    % single bond at 1
316  }{{\thicklines%
317  \dottedline{20}(0,436)(0,546)}}%
318 \else\if\@tmpb F%fused bond
319  {\let\@tmpb=\@tmpc\@clipfusetrue
320  \put(0,406){\setatombondd}%

321 }%

322 \else\if\@tmpb G%fused bond
323  {\let\@tmpb=\@tmpc\@clipfusetrue
324  \put(0,406){\setatombondf}%

325 }%

326 \else%
327  \yl@xdiff=31\relax
328  \yl@ydiff=-17\relax
329  \putlratom{-31}{563}{\@memberb}%   % left or right type
330  \put(0,436){\line(0,1){110}}%      % single bond at 1
331 \fi\fi\fi\fi%
332 \fi\fi%
333 \else% % no clipping
334 \if\@tmpb S%single bond
335  \ifx\@tmpc\empty%
336  \yl@xdiff=31\relax
337  \yl@ydiff=-17\relax
338  \put(0,406){\line(0,1){140}}%      % single bond at 1
339  \putlratom{-31}{563}{\@memberb}%   % left or right type
340  \else\if\@tmpc B%(B) beta
341  \yl@xdiff=-30\relax
342  \yl@ydiff=-37\relax
343  \putlatom{-42}{563}{\@memberb}%    % left type

344 {%

345  \thicklines%
346  \put(0,406){\line(-3,5){72}}%      % single bond at 1

347 }%

348  \else\if\@tmpc A%(A) alpha
349  \yl@xdiff=31\relax
350  \yl@ydiff=-37\relax
351  \putratom{41}{563}{\@memberb}%     % right type
352  \@ifundefined{dottedline}{%
353  \put(0,406){\line(3,5){72}}%       % single bond at 1

354  }{{\thicklines%
355  \dottedline{20}(0,406)(72,526)}}%
356  \else\if\@tmpc u%(u) upper --- (B) beta
357  \yl@xdiff=30\relax
358  \yl@ydiff=-37\relax
359  \putratom{41}{563}{\@memberb}%     % right type

360 {%

361  \thicklines%
362  \put(0,406){\line(3,5){72}}%      % single bond at 1

363 }%

364  \else\if\@tmpc d%(d) down --- (A) alpha
365  \yl@xdiff=-31\relax
366  \yl@ydiff=-37\relax
367  \putlatom{-42}{563}{\@memberb}%    % left type
368  \@ifundefined{dottedline}{%
369  \put(0,406){\line(-3,5){72}}%       % single bond at 1
370  }{{\thicklines%
371  \dottedline{20}(0,406)(-72,526)}}%
372  \else\if\@tmpc b%(b) beta
373  \yl@xdiff=-30\relax
374  \yl@ydiff=-37\relax
375  \putlatom{-42}{563}{\@memberb}%    % left type
376  \put(0,406){\line(-3,5){72}}%      % single bond at 1
377  \else\if\@tmpc a%(a) alpha
378  \yl@xdiff=31\relax
379  \yl@ydiff=-37\relax
380  \putratom{41}{563}{\@memberb}%     % right type
381  \put(0,406){\line(3,5){72}}%       % single bond at 1
382  \fi\fi\fi\fi\fi%
383  \fi\fi%
384 \else\if\@tmpb D%double bond
385  \yl@xdiff=31\relax
386  \yl@ydiff=-17\relax
387  \putlratom{-31}{563}{\@memberb}%   % left or right type
388  \put(-12,406){\line(0,1){140}}%    % double bond at 1
389  \put(12,406){\line(0,1){140}}%     % double bond at 1
390 \else\if\@tmpb B%beta single bond
391  \yl@xdiff=31\relax
392  \yl@ydiff=-17\relax
393  \putlratom{-31}{563}{\@memberb}%   % left or right type

394 {%

395  \thicklines%
396  \put(0,406){\line(0,1){140}}%      % single bond at 1

397 }%

398 \else\if\@tmpb A%alpha single bond
399  \yl@xdiff=31\relax
400  \yl@ydiff=-17\relax
401  \putlratom{-31}{563}{\@memberb}%   % left or right type
402  \@ifundefined{dottedline}{%
403  \put(0,406){\line(0,1){140}}%    % single bond at 1

404  }{{\thicklines%
405  \dottedline{20}(0,406)(0,546)}}%
406 \else\if\@tmpb F%fused bond
407  {\let\@tmpb=\@tmpc\@clipfusefalse
408  \put(0,406){\setatombondd}%

409 }%

410 \else\if\@tmpb G%fused bond
411  {\let\@tmpb=\@tmpc\@clipfusefalse
412  \put(0,406){\setatombondf}%

413 }%

414 \else%
415  \yl@xdiff=31\relax
416  \yl@ydiff=-17\relax
417  \putlratom{-31}{563}{\@memberb}%   % left or right type
418  \put(0,406){\line(0,1){140}}%      % single bond at 1
419 \fi\fi\fi\fi%
420 \fi\fi
421 \fi}% end of \@substa

The \@substb command is used for placing a substituent (\@memberb) at the 2-position (upper-right) of a vertical six-membered ring.

\@substb
422 % %%%%%%%%%%%%%%%
423 % % subst. on 2 %
424 % %%%%%%%%%%%%%%%
425 \def\@substb{%
426 \if@bclip %clipping
427 \if\@tmpb S%single bond
428  \ifx\@tmpc\empty%
429  \yl@xdiff=-10\relax
430  \yl@ydiff=24\relax
431  \putratom{311}{363}{\@memberb}%    % right type
432  \put(201,327){\line(5,3){100}}%    % single bond at 2
433  \else\if\@tmpc B%(B) beta
434  \yl@xdiff=-7\relax
435  \yl@ydiff=38\relax
436  \putratom{268}{420}{\@memberb}%    % right type

437 {%

438  \thicklines%
439  \put(201,358){\line(3,5){60}}%     % single bond at 2

440 }%

441  \else\if\@tmpc A%(A) alpha
442  \yl@xdiff=-17\relax
443  \yl@ydiff=23\relax
444  \putratom{318}{280}{\@memberb}%    % right type
445  \@ifundefined{dottedline}{%
446  \put(201,303){\line(1,0){100}}%    % single bond at 2
447  }{{\thicklines%
448  \dottedline{20}(201,303)(301,303)}}%

449  \else\if\@tmpc u%(u) up --- (B) beta
450  \yl@xdiff=-17\relax
451  \yl@ydiff=23\relax
452  \putratom{318}{280}{\@memberb}%    % right type

453 {%

454  \thicklines%
455  \put(201,303){\line(1,0){100}}%    % single bond at 2

456 }%

457  \else\if\@tmpc d%(d) down --- (A) alpha
458  \yl@xdiff=-7\relax
459  \yl@ydiff=38\relax
460  \putratom{268}{420}{\@memberb}%    % right type
461  \@ifundefined{dottedline}{%
462  \put(201,358){\line(3,5){60}}%     % single bond at 2
463  }{{\thicklines%
464  \dottedline{20}(201,358)(261,458)}}%
465  \else\if\@tmpc b%(b) beta
466  \yl@xdiff=-7\relax
467  \yl@ydiff=38\relax
468  \putratom{268}{420}{\@memberb}%    % right type
469  \put(201,358){\line(3,5){60}}%     % single bond at 2
470  \else\if\@tmpc a%(a) alpha%
471  \yl@xdiff=-17\relax
472  \yl@ydiff=23\relax
473  \putratom{318}{280}{\@memberb}%    % right type
474  \put(201,303){\line(1,0){100}}%    % single bond at 2
475  \fi\fi\fi\fi\fi%
476  \fi\fi%
477 \else\if\@tmpb D%double bond
478  \yl@xdiff=-10\relax
479  \yl@ydiff=18\relax
480  \putratom{311}{363}{\@memberb}%    % right type
481  \put(194,331){\line(5,3){100}}%    % double bond at 2
482  \put(200,305){\line(5,3){100}}%    % double bond at 2
483 \else\if\@tmpb B%beta single bond
484  \yl@xdiff=-10\relax
485  \yl@ydiff=24\relax
486  \putratom{311}{363}{\@memberb}%    % right type

487 {%

488  \thicklines%
489  \put(201,327){\line(5,3){100}}%    % single bond at 2

490 }%

491 \else\if\@tmpb A%alpha single bond
492  \yl@xdiff=-10\relax
493  \yl@ydiff=24\relax
494  \putratom{311}{363}{\@memberb}%    % right type
495  \@ifundefined{dottedline}{%
496  \put(201,327){\line(5,3){100}}%    % single bond at 2
497  }{{\thicklines%
498  \dottedline{20}(201,327)(301,387)}}%

499 \else\if\@tmpb F%fused bond
500  {\let\@tmpb=\@tmpc\@clipfusetrue
501  \put(171,303){\setatombonda}%

502 }%

503 \else\if\@tmpb G%fused bond
504  {\let\@tmpb=\@tmpc\@clipfusetrue
505  \put(171,303){\setatombonde}%

506 }%

507 \else%
508  \yl@xdiff=-10\relax
509  \yl@ydiff=24\relax
510  \putratom{311}{363}{\@memberb}%    % right type
511  \put(201,327){\line(5,3){100}}%    % single bond at 2
512 \fi\fi\fi\fi%
513 \fi\fi%
514 \else% %no clipping
515 \if\@tmpb S%single bond
516  \ifx\@tmpc\empty%
517  \yl@xdiff=-10\relax
518  \yl@ydiff=12\relax
519  \putratom{301}{363}{\@memberb}%    % right type
520  \put(171,303){\line(5,3){120}}%    % single bond at 2
521  \else\if\@tmpc B%(B) beta
522  \yl@xdiff=-15\relax
523  \yl@ydiff=13\relax
524  \putratom{258}{410}{\@memberb}%    % right type

525 {%

526  \thicklines%
527  \put(171,303){\line(3,5){72}}%     % single bond at 2

528 }%

529  \else\if\@tmpc A%(A) alpha
530  \yl@xdiff=-7\relax
531  \yl@ydiff=23\relax
532  \putratom{318}{280}{\@memberb}%    % right type
533  \@ifundefined{dottedline}{%
534  \put(171,303){\line(1,0){140}}%    % single bond at 2
535  }{{\thicklines%
536  \dottedline{20}(171,303)(311,303)}}%
537  \else\if\@tmpc u%(u) up --- (B) beta
538  \yl@xdiff=-7\relax
539  \yl@ydiff=23\relax
540  \putratom{318}{280}{\@memberb}%    % right type

541 {%

542  \thicklines%
543  \put(171,303){\line(1,0){140}}%     % single bond at 2

544 }%

545  \else\if\@tmpc d%(d) down --- (A) alpha
546  \yl@xdiff=-15\relax
547  \yl@ydiff=13\relax
548  \putratom{258}{410}{\@memberb}%    % right type

549  \@ifundefined{dottedline}{%
550  \put(171,303){\line(3,5){72}}%     % single bond at 2
551  }{{\thicklines%
552  \dottedline{20}(171,303)(243,423)}}%
553  \else\if\@tmpc b%(b) beta
554  \yl@xdiff=-15\relax
555  \yl@ydiff=13\relax
556  \putratom{258}{410}{\@memberb}%    % right type
557  \put(171,303){\line(3,5){72}}%     % single bond at 2
558  \else\if\@tmpc a%(a) alpha
559  \yl@xdiff=-7\relax
560  \yl@ydiff=23\relax
561  \putratom{318}{280}{\@memberb}%    % right type
562  \put(171,303){\line(1,0){140}}%    % single bond at 2
563  \fi\fi\fi\fi\fi%
564  \fi\fi%
565 \else\if\@tmpb D%double bond
566  \yl@xdiff=-10\relax
567  \yl@ydiff=6\relax
568  \putratom{301}{363}{\@memberb}%    % right type
569  \put(168,310){\line(5,3){120}}%    % double bond at 2
570  \put(174,284){\line(5,3){120}}%    % double bond at 2
571 \else\if\@tmpb B%beta single bond
572  \yl@xdiff=-10\relax
573  \yl@ydiff=12\relax
574  \putratom{301}{363}{\@memberb}%    % right type

575 {%

576  \thicklines%
577  \put(171,303){\line(5,3){120}}%    % single bond at 2

578 }%

579 \else\if\@tmpb A%alpha single bond
580  \yl@xdiff=-10\relax
581  \yl@ydiff=12\relax
582  \putratom{301}{363}{\@memberb}%    % right type
583  \@ifundefined{dottedline}{%
584  \put(171,303){\line(5,3){120}}%    % single bond at 2
585  }{{\thicklines%
586  \dottedline{20}(171,303)(291,375)}}%
587 \else\if\@tmpb F%fused bond
588  {\let\@tmpb=\@tmpc\@clipfusefalse
589  \put(171,303){\setatombonda}%

590 }%

591 \else\if\@tmpb G%fused bond
592  {\let\@tmpb=\@tmpc\@clipfusefalse
593  \put(171,303){\setatombonde}%

594 }%

595 \else%
596  \yl@xdiff=-10\relax
597  \yl@ydiff=12\relax
598  \putratom{301}{363}{\@memberb}%    % right type

599  \put(171,303){\line(5,3){120}}%    % single bond at 2
600 \fi\fi\fi\fi%
601 \fi\fi
602 \fi}% end of \@substb

The \@substc command is used for placing a substituent (\@memberb) at the 3-position (lower-right) of a vertical six-membered ring.

\@substc
603 % %%%%%%%%%%%%%%%
604 % % subst. on 3 %
605 % %%%%%%%%%%%%%%%
606 \def\@substc{%
607 \if@cclip %clipping
608 \if\@tmpb S%single bond
609  \ifx\@tmpc\empty%
610  \yl@xdiff=-10\relax
611  \yl@ydiff=46\relax
612  \putratom{311}{-27}{\@memberb}%    % right type
613  \put(201,79){\line(5,-3){110}}%    % single bond at 3
614  \else\if\@tmpc B%(B) beta
615  \yl@xdiff=-7\relax
616  \yl@ydiff=28\relax
617  \putratom{268}{-80}{\@memberb}%    % right type

618 {%

619  \thicklines%
620  \put(201,48){\line(3,-5){60}}%     % single bond at 3

621 }%

622  \else\if\@tmpc A%(A) alpha
623  \yl@xdiff=-17\relax
624  \yl@ydiff=29\relax
625  \putratom{318}{74}{\@memberb}%     % right type
626  \@ifundefined{dottedline}{%
627  \put(201,103){\line(1,0){100}}%    % single bond at 3
628  }{{\thicklines%
629  \dottedline{20}(201,103)(301,103)}}%
630  \else\if\@tmpc u%(u) up --- (B) beta
631  \yl@xdiff=-17\relax
632  \yl@ydiff=29\relax
633  \putratom{318}{74}{\@memberb}%     % right type

634 {%

635  \thicklines%
636  \put(201,103){\line(1,0){100}}%    % single bond at 3

637 }%

638  \else\if\@tmpc d%(d) down --- (A) alpha
639  \yl@xdiff=-7\relax
640  \yl@ydiff=28\relax
641  \putratom{268}{-80}{\@memberb}%    % right type
642  \@ifundefined{dottedline}{%
643  \put(201,48){\line(3,-5){60}}%     % single bond at 3

644  }{{\thicklines%
645  \dottedline{20}(201,48)(261,-52)}}%
646  \else\if\@tmpc b%(b) beta
647  \yl@xdiff=-7\relax
648  \yl@ydiff=28\relax
649  \putratom{268}{-80}{\@memberb}%    % right type
650  \put(201,48){\line(3,-5){60}}%     % single bond at 3
651  \else\if\@tmpc a%(a) alpha
652  \yl@xdiff=-17\relax
653  \yl@ydiff=29\relax
654  \putratom{318}{74}{\@memberb}%     % right type
655  \put(201,103){\line(1,0){100}}%    % single bond at 3
656  \fi\fi\fi\fi\fi%
657  \fi\fi
658 \else\if\@tmpb D%double bond
659  \yl@xdiff=-10\relax
660  \yl@ydiff=52\relax
661  \putratom{311}{-27}{\@memberb}%    % right type
662  \put(194,76){\line(5,-3){100}}%    % double bond at 3
663  \put(200,101){\line(5,-3){100}}%   % double bond at 3
664 \else\if\@tmpb B%beta single bond
665  \yl@xdiff=-10\relax
666  \yl@ydiff=46\relax
667  \putratom{311}{-27}{\@memberb}%    % right type

668 {%

669  \thicklines%
670  \put(201,79){\line(5,-3){100}}%    % single bond at 3

671 }%

672 \else\if\@tmpb A%alpha single bond
673  \yl@xdiff=-10\relax
674  \yl@ydiff=46\relax
675  \putratom{311}{-27}{\@memberb}%    % right type
676  \@ifundefined{dottedline}{%
677  \put(201,79){\line(5,-3){100}}%    % single bond at 3
678  }{{\thicklines%
679  \dottedline{20}(201,79)(301,19)}}%
680 \else\if\@tmpb F%fused bond
681  {\let\@tmpb=\@tmpc\@clipfusetrue
682  \put(171,103){\setatombondf}%

683 }%

684 \else\if\@tmpb G%fused bond
685  {\let\@tmpb=\@tmpc\@clipfusetrue
686  \put(171,103){\setatombondc}%

687 }%

688 \else%
689  \yl@xdiff=-10\relax
690  \yl@ydiff=46\relax
691  \putratom{311}{-27}{\@memberb}%    % right type
692  \put(201,79){\line(5,-3){100}}%    % single bond at 3
693 \fi\fi\fi\fi%

694 \fi\fi%
695 \else%no clipping
696 \if\@tmpb S%single bond
697  \ifx\@tmpc\empty%
698  \yl@xdiff=-10\relax
699  \yl@ydiff=58\relax
700  \putratom{301}{-27}{\@memberb}%    % right type
701  \put(171,103){\line(5,-3){120}}%   % single bond at 3
702  \else\if\@tmpc B%(B) beta
703  \yl@xdiff=-10\relax
704  \yl@ydiff=48\relax
705  \putratom{258}{-70}{\@memberb}%    % right type

706 {%

707  \thicklines%
708  \put(171,103){\line(3,-5){72}}%    % single bond at 3

709 }%

710  \else\if\@tmpc A%(A) alpha
711  \yl@xdiff=-10\relax
712  \yl@ydiff=30\relax
713  \putratom{318}{74}{\@memberb}%     % right type
714  \@ifundefined{dottedline}{%
715  \put(171,103){\line(1,0){140}}%    % single bond at 3
716  }{{\thicklines%
717  \dottedline{20}(171,103)(311,103)}}%
718  \else\if\@tmpc u%(u) up --- (B) beta
719  \yl@xdiff=-10\relax
720  \yl@ydiff=30\relax
721  \putratom{318}{74}{\@memberb}%     % right type

722 {%

723  \thicklines%
724  \put(171,103){\line(1,0){140}}%    % single bond at 3

725 }%

726  \else\if\@tmpc d%(d) down --- (A) alpha
727  \yl@xdiff=-10\relax
728  \yl@ydiff=48\relax
729  \putratom{258}{-70}{\@memberb}%    % right type
730  \@ifundefined{dottedline}{%
731  \put(171,103){\line(3,-5){72}}%    % single bond at 3
732  }{{\thicklines%
733  \dottedline{20}(171,103)(243,-17)}}%
734  \else\if\@tmpc b%(b) beta
735  \yl@xdiff=-10\relax
736  \yl@ydiff=48\relax
737  \putratom{258}{-70}{\@memberb}%    % right type
738  \put(171,103){\line(3,-5){72}}%    % single bond at 3
739  \else\if\@tmpc a%(a) alpha
740  \yl@xdiff=-10\relax
741  \yl@ydiff=30\relax
742  \putratom{318}{74}{\@memberb}%     % right type
743  \put(171,103){\line(1,0){140}}%    % single bond at 3

744  \fi\fi\fi\fi\fi%
745  \fi\fi
746 \else\if\@tmpb D%double bond
747  \yl@xdiff=-10\relax
748  \yl@ydiff=65\relax
749  \putratom{301}{-27}{\@memberb}%    % right type
750  \put(168,96){\line(5,-3){120}}%    % double bond at 3
751  \put(174,121){\line(5,-3){120}}%   % double bond at 3
752 \else\if\@tmpb B%beta single bond
753  \yl@xdiff=-10\relax
754  \yl@ydiff=58\relax
755  \putratom{301}{-27}{\@memberb}%    % right type

756 {%

757  \thicklines%
758  \put(171,103){\line(5,-3){120}}%   % single bond at 3

759 }%

760 \else\if\@tmpb A%alpha single bond
761  \yl@xdiff=-10\relax
762  \yl@ydiff=58\relax
763  \putratom{301}{-27}{\@memberb}%    % right type
764  \@ifundefined{dottedline}{%
765  \put(171,103){\line(5,-3){120}}%   % single bond at 3
766  }{{\thicklines%
767  \dottedline{20}(171,103)(291,31)}}%
768 \else\if\@tmpb F%fused bond
769  {\let\@tmpb=\@tmpc\@clipfusefalse
770  \put(171,103){\setatombondf}%

771 }%

772 \else\if\@tmpb G%fused bond
773  {\let\@tmpb=\@tmpc\@clipfusefalse
774  \put(171,103){\setatombondc}%

775 }%

776 \else%
777  \yl@xdiff=-10\relax
778  \yl@ydiff=58\relax
779  \putratom{301}{-27}{\@memberb}%    % right type
780  \put(171,103){\line(5,-3){120}}%   % single bond at 3
781 \fi\fi\fi\fi%
782 \fi\fi
783 \fi
784 }% end of \@substc

The \@substd command is used for placing a substituent (\@memberb) at the 4-position (bottom) of a vertical six-membered ring.

\@substd
785 % %%%%%%%%%%%%%%%
786 % % subst. on 4 %
787 % %%%%%%%%%%%%%%%
788 \def\@substd{%

789 \if@clip %clipping
790  \if\@tmpb S%single bond
791  \ifx\@tmpc\empty%
792  \yl@xdiff=31\relax
793  \yl@ydiff=90\relax
794  \putlratom{-31}{-230}{\@memberb}%  % left or right type
795  \put(0,-30){\line(0,-1){110}}%    % single bond at 4
796  \else\if\@tmpc B%(B) beta
797  \yl@xdiff=-36\relax
798  \yl@ydiff=100\relax
799  \putlatom{-42}{-230}{\@memberb}%   % left type

800 {%

801  \thicklines%
802  \put(-18,-30){\line(-3,-5){60}}%   % single bond at 4

803 }%

804  \else\if\@tmpc A%(A) alpha
805  \yl@xdiff=37\relax
806  \yl@ydiff=100\relax
807  \putratom{41}{-230}{\@memberb}%    % right type
808  \@ifundefined{dottedline}{%
809  \put(18,-30){\line(3,-5){60}}%     % single bond at 4
810  }{{\thicklines%
811  \dottedline{20}(18,-30)(72,-120)}}%
812  \else\if\@tmpc u%(u) up --- (B) beta
813  \yl@xdiff=37\relax
814  \yl@ydiff=100\relax
815  \putratom{41}{-230}{\@memberb}%    % right type

816 {%

817  \thicklines%
818  \put(18,-30){\line(3,-5){60}}%     % single bond at 4

819 }%

820  \else\if\@tmpc d%(d) down --- (A) alpha
821  \yl@xdiff=-36\relax
822  \yl@ydiff=100\relax
823  \putlatom{-42}{-230}{\@memberb}%   % left type
824  \@ifundefined{dottedline}{%
825  \put(-18,-30){\line(-3,-5){60}}%   % single bond at 4
826  }{{\thicklines%
827  \dottedline{20}(-18,-30)(-78,-130)}}%
828  \else\if\@tmpc b%(b) beta
829  \yl@xdiff=-36\relax
830  \yl@ydiff=100\relax
831  \putlatom{-42}{-230}{\@memberb}%   % left type
832  \put(-18,-30){\line(-3,-5){60}}%   % single bond at 4
833  \else\if\@tmpc a%(a) alpha
834  \yl@xdiff=37\relax
835  \yl@ydiff=100\relax
836  \putratom{41}{-230}{\@memberb}%    % right type
837  \put(18,-30){\line(3,-5){60}}%     % single bond at 4
838  \fi\fi\fi\fi\fi%

839  \fi\fi
840 \else\if\@tmpb D%double bond
841  \yl@xdiff=31\relax
842  \yl@ydiff=90\relax
843  \putlratom{-31}{-230}{\@memberb}%  % left or right type
844  \put(-12,-30){\line(0,-1){110}}%   % double bond at 4
845  \put(12,-30){\line(0,-1){110}}%    % double bond at 4
846 \else\if\@tmpb B%beta single bond
847  \yl@xdiff=31\relax
848  \yl@ydiff=90\relax
849  \putlratom{-31}{-230}{\@memberb}%  % left or right type

850 {%

851  \thicklines%
852  \put(0,-30){\line(0,-1){110}}%    % single bond at 4

853 }%

854 \else\if\@tmpb A%alpha single bond
855  \yl@xdiff=31\relax
856  \yl@ydiff=90\relax
857  \putlratom{-31}{-230}{\@memberb}%  % left or right type
858  \@ifundefined{dottedline}{%
859  \put(0,-30){\line(0,-1){110}}%     % single bond at 4
860  }{{\thicklines%
861  \dottedline{20}(0,-30)(0,-140)}}%
862 \else\if\@tmpb F%fused bond
863  {\let\@tmpb=\@tmpc\@clipfusetrue
864  \put(0,0){\setatombonde}%

865 }%

866 \else\if\@tmpb G%fused bond
867  {\let\@tmpb=\@tmpc\@clipfusetrue
868  \put(0,0){\setatombondg}%

869 }%

870 \else%
871  \yl@xdiff=31\relax
872  \yl@ydiff=90\relax
873  \putlratom{-31}{-230}{\@memberb}%  % left or right type
874  \put(0,-30){\line(0,-1){110}}%     % single bond at 4
875 \fi\fi\fi\fi%
876 \fi\fi%
877 \else%no clipping
878 \if\@tmpb S%single bond
879  \ifx\@tmpc\empty%
880  \yl@xdiff=31\relax
881  \yl@ydiff=90\relax
882  \putlratom{-31}{-230}{\@memberb}%  % left or right type
883  \put(0,0){\line(0,-1){140}}%      % single bond at 4
884  \else\if\@tmpc B%(B) beta
885  \yl@xdiff=-30\relax
886  \yl@ydiff=110\relax
887  \putlatom{-42}{-230}{\@memberb}%   % left type

888 {%

889  \thicklines%
890  \put(0,0){\line(-3,-5){72}}%       % single bond at 4

891 }%

892  \else\if\@tmpc A%(A) alpha
893  \yl@xdiff=31\relax
894  \yl@ydiff=110\relax
895  \putratom{41}{-230}{\@memberb}%    % right type
896  \@ifundefined{dottedline}{%
897  \put(0,0){\line(3,-5){72}}%        % single bond at 4
898  }{{\thicklines%
899  \dottedline{20}(0,0)(72,-120)}}%
900  \else\if\@tmpc u%(u) up --- (B) beta
901  \yl@xdiff=31\relax
902  \yl@ydiff=110\relax
903  \putratom{41}{-230}{\@memberb}%    % right type

904 {%

905  \thicklines%
906  \put(0,0){\line(3,-5){72}}%        % single bond at 4

907 }%

908  \else\if\@tmpc d%(d) down --- (A) alpha
909  \yl@xdiff=-30\relax
910  \yl@ydiff=110\relax
911  \putlatom{-42}{-230}{\@memberb}%   % left type
912  \@ifundefined{dottedline}{%
913  \put(0,0){\line(-3,-5){72}}%       % single bond at 4
914  }{{\thicklines%
915  \dottedline{20}(0,0)(-72,-120)}}%
916  \else\if\@tmpc b%(b) beta
917  \yl@xdiff=-30\relax
918  \yl@ydiff=110\relax
919  \putlatom{-42}{-230}{\@memberb}%   % left type
920  \put(0,0){\line(-3,-5){72}}%       % single bond at 4
921  \else\if\@tmpc a%(a) alpha
922  \yl@xdiff=31\relax
923  \yl@ydiff=110\relax
924  \putratom{41}{-230}{\@memberb}%    % right type
925  \put(0,0){\line(3,-5){72}}%        % single bond at 4
926  \fi\fi\fi\fi\fi%
927  \fi\fi%
928 \else\if\@tmpb D%double bond
929  \yl@xdiff=31\relax
930  \yl@ydiff=90\relax
931  \putlratom{-31}{-230}{\@memberb}%  % left or right type
932  \put(-12,0){\line(0,-1){140}}%     % double bond at 4
933  \put(12,0){\line(0,-1){140}}%      % double bond at 4
934 \else\if\@tmpb B%beta single bond
935  \yl@xdiff=31\relax
936  \yl@ydiff=90\relax
937  \putlratom{-31}{-230}{\@memberb}%  % left or right type

938 {%

939  \thicklines%
940  \put(0,0){\line(0,-1){140}}%       % single bond at 4

941 }%

942 \else\if\@tmpb A%alpha single bond
943  \yl@xdiff=31\relax
944  \yl@ydiff=90\relax
945  \putlratom{-31}{-230}{\@memberb}%  % left or right type
946  \@ifundefined{dottedline}{%
947  \put(0,0){\line(0,-1){140}}%      % single bond at 4
948  }{{\thicklines%
949  \dottedline{20}(0,0)(0,-140)}}%
950 \else\if\@tmpb F%fused bond
951  {\let\@tmpb=\@tmpc\@clipfusefalse
952  \put(0,0){\setatombonde}%

953 }%

954 \else\if\@tmpb G%fused bond
955  {\let\@tmpb=\@tmpc\@clipfusefalse
956  \put(0,0){\setatombondg}%

957 }%

958 \else%
959  \yl@xdiff=31\relax
960  \yl@ydiff=90\relax
961  \putlratom{-31}{-230}{\@memberb}%  % left or right type
962  \put(0,0){\line(0,-1){140}}%       % single bond at 4
963 \fi\fi\fi\fi%
964 \fi\fi%
965 \fi}%end of \@substd

The \@subste command is used for placing a substituent (\@memberb) at the 5-position (lower-left) of a vertical six-membered ring.

\@subste
966 % %%%%%%%%%%%%%%%
967 % % subst. on 5 %
968 % %%%%%%%%%%%%%%%
969 \def\@subste{%
970 \if@eclip%clipping
971 \if\@tmpb S%single bond
972  \ifx\@tmpc\empty%
973  \yl@xdiff=10\relax
974  \yl@ydiff=46\relax
975  \putlatom{-311}{-27}{\@memberb}%   % left type
976  \put(-201,79){\line(-5,-3){110}}%  % single bond at 5
977  \else\if\@tmpc B%(B) beta
978  \yl@xdiff=7\relax
979  \yl@ydiff=38\relax
980  \putlatom{-268}{-80}{\@memberb}%   % left type

981 {%

982  \thicklines%
983  \put(-201,48){\line(-3,-5){60}}%   % single bond at 5

984 }%

 985  \else\if\@tmpc A%(A) alpha
 986  \yl@xdiff=17\relax
 987  \yl@ydiff=29\relax
 988  \putlatom{-318}{74}{\@memberb}%    % left type
 989  \@ifundefined{dottedline}{%
 990  \put(-201,103){\line(-1,0){100}}%  % single bond at 5
 991  }{{\thicklines%
 992  \dottedline{20}(-201,103)(-301,103)}}%
 993  \else\if\@tmpc u% (u) up --- (B) beta
 994  \yl@xdiff=17\relax
 995  \yl@ydiff=29\relax
 996  \putlatom{-318}{74}{\@memberb}%    % left type

997 {%

 998  \thicklines%
 999  \put(-201,103){\line(-1,0){100}}%  % single bond at 5

1000 }%

1001  \else\if\@tmpc d% (d) down --- (A) alpha
1002  \yl@xdiff=7\relax
1003  \yl@ydiff=38\relax
1004  \putlatom{-268}{-80}{\@memberb}%   % left type
1005  \@ifundefined{dottedline}{%
1006  \put(-201,48){\line(-3,-5){60}}%   % single bond at 5
1007  }{{\thicklines%
1008  \dottedline{20}(-201,48)(-261,-52)}}%
1009  \else\if\@tmpc b%(b) beta
1010  \yl@xdiff=7\relax
1011  \yl@ydiff=38\relax
1012  \putlatom{-268}{-80}{\@memberb}%   % left type
1013  \put(-201,48){\line(-3,-5){60}}%   % single bond at 5
1014  \else\if\@tmpc a%(a) alpha
1015  \yl@xdiff=17\relax
1016  \yl@ydiff=29\relax
1017  \putlatom{-318}{74}{\@memberb}%    % left type
1018  \put(-201,103){\line(-1,0){100}}%  % single bond at 5
1019  \fi\fi\fi\fi\fi%
1020  \fi\fi%
1021 \else\if\@tmpb D%double bond
1022  \yl@xdiff=10\relax
1023  \yl@ydiff=62\relax
1024  \putlatom{-311}{-27}{\@memberb}%   % left type
1025  \put(-194,76){\line(-5,-3){100}}%  % double bond at 5
1026  \put(-200,101){\line(-5,-3){100}}% % double bond at 5
1027 \else\if\@tmpb B%beta single bond
1028  \yl@xdiff=10\relax
1029  \yl@ydiff=46\relax
1030  \putlatom{-311}{-27}{\@memberb}%   % left type

1031 {%

1032  \thicklines%
1033  \put(-201,79){\line(-5,-3){100}}%  % single bond at 5

1034 }%

1035 \else\if\@tmpb A%alpha single bond
1036  \yl@xdiff=10\relax
1037  \yl@ydiff=46\relax
1038  \putlatom{-311}{-27}{\@memberb}%   % left type
1039  \@ifundefined{dottedline}{%
1040  \put(-201,79){\line(-5,-3){100}}%  % single bond at 5
1041  }{{\thicklines%
1042  \dottedline{20}(-201,79)(-301,21)}}%
1043 \else\if\@tmpb F%fused bond
1044  {\let\@tmpb=\@tmpc\@clipfusetrue
1045  \put(-171,103){\setatombondc}%

1046 }%

1047 \else\if\@tmpb G%fused bond
1048  {\let\@tmpb=\@tmpc\@clipfusetrue
1049  \put(-171,103){\setatombondd}%

1050 }%

1051 \else%
1052  \yl@xdiff=10\relax
1053  \yl@ydiff=46\relax
1054  \putlatom{-311}{-27}{\@memberb}%   % left type
1055  \put(-201,79){\line(-5,-3){100}}%  % single bond at 5
1056 \fi\fi\fi\fi%
1057 \fi\fi%
1058 \else%no clipping
1059 \if\@tmpb S%single bond
1060  \ifx\@tmpc\empty%
1061  \yl@xdiff=10\relax
1062  \yl@ydiff=56\relax
1063  \putlatom{-301}{-27}{\@memberb}%   % left type
1064  \put(-171,103){\line(-5,-3){120}}% % single bond at 5
1065  \else\if\@tmpc B%(B) beta
1066  \yl@xdiff=15\relax
1067  \yl@ydiff=63\relax
1068  \putlatom{-258}{-70}{\@memberb}%   % left type

1069 {%

1070  \thicklines%
1071  \put(-171,103){\line(-3,-5){72}}%  % single bond at 5

1072 }%

1073  \else\if\@tmpc A%(A) alpha
1074  \yl@xdiff=15\relax
1075  \yl@ydiff=29\relax
1076  \putlatom{-326}{74}{\@memberb}%    % left type
1077  \@ifundefined{dottedline}{%
1078  \put(-171,103){\line(-1,0){140}}%  % single bond at 5
1079  }{{\thicklines%
1080  \dottedline{20}(-171,103)(-311,103)}}%
1081  \else\if\@tmpc u%(u) up --- (B) beta
1082  \yl@xdiff=15\relax
1083  \yl@ydiff=29\relax

1084  \putlatom{-326}{74}{\@memberb}%    % left type

1085 {%

1086  \thicklines%
1087  \put(-171,103){\line(-1,0){140}}%  % single bond at 5

1088 }%

1089  \else\if\@tmpc d%(d) down --- (A) alpha
1090  \yl@xdiff=15\relax
1091  \yl@ydiff=63\relax
1092  \putlatom{-258}{-70}{\@memberb}%   % left type
1093  \@ifundefined{dottedline}{%
1094  \put(-171,103){\line(-3,-5){72}}%  % single bond at 5
1095  }{{\thicklines%
1096  \dottedline{20}(-171,103)(-243,-17)}}%
1097  \else\if\@tmpc b%(b) beta
1098  \yl@xdiff=15\relax
1099  \yl@ydiff=63\relax
1100  \putlatom{-258}{-70}{\@memberb}%   % left type
1101  \put(-171,103){\line(-3,-5){72}}%  % single bond at 5
1102  \else\if\@tmpc a%(a) alpha
1103  \yl@xdiff=15\relax
1104  \yl@ydiff=29\relax
1105  \putlatom{-326}{74}{\@memberb}%    % left type
1106  \put(-171,103){\line(-1,0){140}}%  % single bond at 5
1107  \fi\fi\fi\fi\fi%
1108  \fi\fi
1109 \else\if\@tmpb D%double bond
1110  \yl@xdiff=10\relax
1111  \yl@ydiff=62\relax
1112  \putlatom{-301}{-27}{\@memberb}%   % left type
1113  \put(-168,96){\line(-5,-3){120}}%  % double bond at 5
1114  \put(-174,121){\line(-5,-3){120}}% % double bond at 5
1115 \else\if\@tmpb B%beta single bond
1116  \yl@xdiff=10\relax
1117  \yl@ydiff=56\relax
1118  \putlatom{-301}{-27}{\@memberb}%  % left type

1119 {%

1120  \thicklines%
1121  \put(-171,103){\line(-5,-3){120}}% % single bond at 5

1122 }%

1123 \else\if\@tmpb A%alpha single bond
1124  \yl@xdiff=-10\relax
1125  \yl@ydiff=56\relax
1126  \putlatom{-301}{-27}{\@memberb}%  % left type
1127  \@ifundefined{dottedline}{%
1128  \put(-171,103){\line(-5,-3){120}}% % single bond at 5
1129  }{{\thicklines%
1130  \dottedline{20}(-171,103)(-311,31)}}%
1131 \else\if\@tmpb F%fused bond
1132  {\let\@tmpb=\@tmpc\@clipfusefalse
1133  \put(-171,103){\setatombondc}%

1134 }%

1135 \else\if\@tmpb G%fused bond
1136  {\let\@tmpb=\@tmpc\@clipfusefalse
1137  \put(-171,103){\setatombondd}%

1138 }%

1139 \else%
1140  \yl@xdiff=10\relax
1141  \yl@ydiff=56\relax
1142  \putlatom{-301}{-27}{\@memberb}%  % left type
1143  \put(-171,103){\line(-5,-3){120}}%% single bond at 5
1144 \fi\fi\fi\fi%
1145 \fi\fi%
1146 \fi}% end of \@subste

The \@substf command is used for placing a substituent (\@memberb) at the 6-position (upper-left) of a vertical six-membered ring.

\@substf
1147 % %%%%%%%%%%%%%%%
1148 % % subst. on 6 %
1149 % %%%%%%%%%%%%%%%
1150 \def\@substf{%
1151 \if@fclip %clipping
1152 \if\@tmpb S%single bond
1153  \ifx\@tmpc\empty%
1154  \yl@xdiff=10\relax
1155  \yl@ydiff=24\relax
1156  \putlatom{-311}{363}{\@memberb}%   % left type
1157  \put(-201,327){\line(-5,3){100}}%  % single bond at 6
1158  \else\if\@tmpc B%(B) beta
1159  \yl@xdiff=8\relax
1160  \yl@ydiff=38\relax
1161  \putlatom{-268}{420}{\@memberb}%   % left type

1162 {%

1163  \thicklines%
1164  \put(-201,358){\line(-3,5){60}}%   % single bond at 6

1165 }%

1166  \else\if\@tmpc A%(A) alpha
1167  \yl@xdiff=17\relax
1168  \yl@ydiff=23\relax
1169  \putlatom{-318}{280}{\@memberb}%   % left type
1170  \@ifundefined{dottedline}{%
1171  \put(-201,303){\line(-1,0){100}}%  % single bond at 6
1172  }{{\thicklines%
1173  \dottedline{20}(-201,303)(-301,303)}}%
1174  \else\if\@tmpc u%(u) up --- (B) beta
1175  \yl@xdiff=17\relax
1176  \yl@ydiff=23\relax
1177  \putlatom{-318}{280}{\@memberb}%   % left type

1178 {%

1179  \thicklines%
1180  \put(-201,303){\line(-1,0){100}}%  % single bond at 6

1181 }%

1182  \else\if\@tmpc d%(d) down --- (A) alpha
1183  \yl@xdiff=8\relax
1184  \yl@ydiff=38\relax
1185  \putlatom{-268}{420}{\@memberb}%   % left type
1186  \@ifundefined{dottedline}{%
1187  \put(-201,358){\line(-3,5){60}}%   % single bond at 6
1188  }{{\thicklines%
1189  \dottedline{20}(-201,358)(-261,458)}}%
1190  \else\if\@tmpc b%(b) beta
1191  \yl@xdiff=8\relax
1192  \yl@ydiff=38\relax
1193  \putlatom{-268}{420}{\@memberb}%   % left type
1194  \put(-201,358){\line(-3,5){60}}%   % single bond at 6
1195  \else\if\@tmpc a%(a) alpha
1196  \yl@xdiff=17\relax
1197  \yl@ydiff=23\relax
1198  \putlatom{-318}{280}{\@memberb}%   % left type
1199  \put(-201,303){\line(-1,0){100}}%  % single bond at 6
1200  \fi\fi\fi\fi\fi%
1201  \fi\fi
1202 \else\if\@tmpb D%double bond
1203  \yl@xdiff=10\relax
1204  \yl@ydiff=6\relax
1205  \putlatom{-311}{363}{\@memberb}%   % left type
1206  \put(-194,331){\line(-5,3){100}}%  % double bond at 6
1207  \put(-200,305){\line(-5,3){100}}%  % double bond at 6
1208 \else\if\@tmpb B%beta single bond
1209  \yl@xdiff=10\relax
1210  \yl@ydiff=24\relax
1211  \putlatom{-311}{363}{\@memberb}%   % left type

1212 {%

1213  \thicklines%
1214  \put(-201,327){\line(-5,3){100}}%  % single bond at 6

1215 }%

1216 \else\if\@tmpb A%alpha single bond
1217  \yl@xdiff=10\relax
1218  \yl@ydiff=24\relax
1219  \putlatom{-311}{363}{\@memberb}%   % left type
1220  \@ifundefined{dottedline}{%
1221  \put(-201,327){\line(-5,3){100}}%  % single bond at 6
1222  }{{\thicklines%
1223 %              \dottedline{20}(-201,327)(-301,375)}}%
1224  \dottedline{20}(-201,327)(-301,387)}}%1998/10/11 by SF
1225 \else\if\@tmpb F%fused bond
1226  {\let\@tmpb=\@tmpc\@clipfusetrue
1227  \put(-171,303){\setatombondg}%

1228 }%

1229 \else\if\@tmpb G%fused bond
1230  {\let\@tmpb=\@tmpc\@clipfusetrue
1231  \put(-171,303){\setatombonda}%

1232 }%

1233 \else%
1234  \yl@xdiff=10\relax
1235  \yl@ydiff=24\relax
1236  \putlatom{-311}{363}{\@memberb}%   % left type
1237  \put(-201,327){\line(-5,3){100}}%  % single bond at 6
1238 \fi\fi\fi\fi%
1239 \fi\fi
1240 \else%no clipping
1241 \if\@tmpb S%single bond
1242  \ifx\@tmpc\empty%
1243  \yl@xdiff=10\relax
1244  \yl@ydiff=12\relax
1245  \putlatom{-301}{363}{\@memberb}%   % left type
1246  \put(-171,303){\line(-5,3){120}}%  % single bond at 6
1247  \else\if\@tmpc B%(B) beta
1248  \yl@xdiff=15\relax
1249  \yl@ydiff=13\relax
1250  \putlatom{-258}{410}{\@memberb}%   % left type

1251 {%

1252  \thicklines%
1253  \put(-171,303){\line(-3,5){72}}%   % single bond at 6

1254 }%

1255  \else\if\@tmpc A%(A) alpha
1256  \yl@xdiff=15\relax
1257  \yl@ydiff=23\relax
1258  \putlatom{-326}{280}{\@memberb}%   % left type
1259  \@ifundefined{dottedline}{%
1260  \put(-171,303){\line(-1,0){140}}%  % single bond at 6
1261  }{{\thicklines%
1262  \dottedline{20}(-171,303)(-311,303)}}%
1263  \else\if\@tmpc u%(u) up --- (B) beta
1264  \yl@xdiff=15\relax
1265  \yl@ydiff=23\relax
1266  \putlatom{-326}{280}{\@memberb}%   % left type

1267 {%

1268  \thicklines%
1269  \put(-171,303){\line(-1,0){140}}%  % single bond at 6

1270 }%

1271  \else\if\@tmpc d%(d) down --- (A) alpha
1272  \yl@xdiff=15\relax
1273  \yl@ydiff=13\relax
1274  \putlatom{-258}{410}{\@memberb}%   % left type
1275  \@ifundefined{dottedline}{%
1276  \put(-171,303){\line(-3,5){72}}%   % single bond at 6
1277  }{{\thicklines%
1278  \dottedline{20}(-171,303)(-243,423)}}%

1279  \else\if\@tmpc b%(b) beta
1280  \yl@xdiff=15\relax
1281  \yl@ydiff=13\relax
1282  \putlatom{-258}{410}{\@memberb}%   % left type
1283  \put(-171,303){\line(-3,5){72}}%   % single bond at 6
1284  \else\if\@tmpc a%(a) alpha
1285  \yl@xdiff=15\relax
1286  \yl@ydiff=23\relax
1287  \putlatom{-326}{280}{\@memberb}%   % left type
1288  \put(-171,303){\line(-1,0){140}}%  % single bond at 6
1289  \fi\fi\fi\fi\fi%
1290  \fi\fi%
1291 \else\if\@tmpb D%double bond
1292  \yl@xdiff=10\relax
1293  \yl@ydiff=6\relax
1294  \putlatom{-301}{363}{\@memberb}%   % left type
1295  \put(-168,310){\line(-5,3){120}}%  % double bond at 6
1296  \put(-174,284){\line(-5,3){120}}%  % double bond at 6
1297 \else\if\@tmpb B%beta single bond
1298  \yl@xdiff=10\relax
1299  \yl@ydiff=12\relax
1300  \putlatom{-301}{363}{\@memberb}%   % left type

1301 {%

1302  \thicklines%
1303  \put(-171,303){\line(-5,3){120}}%  % single bond at 6

1304 }%

1305 \else\if\@tmpb A%alpha single bond
1306  \yl@xdiff=-10\relax
1307  \yl@ydiff=12\relax
1308  \putlatom{-301}{363}{\@memberb}%   % left type
1309  \@ifundefined{dottedline}{%
1310  \put(-171,303){\line(-5,3){120}}%  % single bond at 6
1311  }{{\thicklines%
1312  \dottedline{20}(-171,303)(-311,375)}}%
1313 \else\if\@tmpb F%fused bond
1314  {\let\@tmpb=\@tmpc\@clipfusefalse
1315  \put(-171,303){\setatombondg}%

1316 }%

1317 \else\if\@tmpb G%fused bond
1318  {\let\@tmpb=\@tmpc\@clipfusefalse
1319  \put(-171,303){\setatombonda}%

1320 }%

1321 \else%
1322  \yl@xdiff=10\relax
1323  \yl@ydiff=12\relax
1324  \putlatom{-301}{363}{\@memberb}%   % left type
1325  \put(-171,303){\line(-5,3){120}}%  % single bond at 6
1326 \fi\fi\fi\fi%
1327 \fi\fi
1328 \fi}% end of \@substf

4.2 Setting-up substituents and bonds on a six-membered ring

The \setsixringv takes 5 arguments.

**************************************************************
* setting of atoms and bonds on a vertical six-membered ring *
**************************************************************
\setsixringv{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}

The first argument SUBSLIST is a list of substituents, which is represented in the standard format of XΥMTEX.

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

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.

      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

\setsixringv
1329 \def\setsixringv#1#2#3#4#5{%
1330 \@forsemicol\member:=#1\do{%
1331 \ifx\member\empty\else%
1332 \expandafter\@m@mb@r\member;\relax%
1333 \expandafter\threech@r\@membera{}{}%
1334 \ifx\@memberb\@yl\else
1335 \ifnum#5 < 0\relax%
1336 \@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
1337 \else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
1338 \ifnum\@tmpaa >#3\relax%
1339 \ifnum\@tmpaa <#4\relax%
1340 \ifcase\@tmpaa%0 omit

The following commands are not used in a revised version because of the direct

  use of \ifx\@memberb\@yl\else...\fi.
1341 % %\or \if@yla\else\@substa\fi% subst. on 1
1342 % %\or \if@ylb\else\@substb\fi% subst. on 2
1343 % %\or \if@ylc\else\@substc\fi% subst. on 3
1344 % %\or \if@yld\else\@substd\fi% subst. on 4
1345 % %\or \if@yle\else\@subste\fi% subst. on 5
1346 % %\or \if@ylf\else\@substf\fi% subst. on 6
1347 \or\@substa% subst. on 1
1348 \or\@substb% subst. on 2
1349 \or\@substc% subst. on 3
1350 \or\@substd% subst. on 4
1351 \or\@subste% subst. on 5
1352 \or\@substf% subst. on 6
1353 \fi%end of ifcase
1354 \fi%
1355 \fi\fi\fi}}%

4.3 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.

   ***********************************************************
   * setting of atoms and bonds on a decaline (six-six) ring *
   ***********************************************************
     \setdecaringv{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}

The first argument SUBSLIST is a list of substituents, which is represented in the standard format of XΥMTEX.

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

Substituents at the fused positions are designated by the number 0 and the following bond modifiers.

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

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.

   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

(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}

4.4 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.

\ylfusedposition
1356 \def\ylfusedposition#1#2#3#4#5{%
1357 \@@ylswfalse%\@reset@ylsw
1358 \@forsemicol\member:=#1\do{%
1359 \if@@ylsw\else%
1360 \ifx\member\empty\else%
1361 \expandafter\@m@mb@r\member;\relax%
1362 \expandafter\threech@r\@membera{}{}%
1363 \ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
1364 \if@@ylsw
1365 \ifnum#5<0\relax%
1366 \@tmpaa=-\@tmpa\relax\advance\@tmpaa by #2\relax%
1367 \@fused@linktrue
1368 \else\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
1369 \@fused@linkfalse\fi%
1370 \ifnum\@tmpaa >#3\relax%

1371 \ifnum\@tmpaa <#4\relax%
1372 \ifcase\@tmpaa%
1373 % %%%%%%%%%%%%%%%%%%
1374 % 0 fused positions   % F == (171,303)  G == (171,103)
1375 % %%%%%%%%%%%%%%%%%%
1376 \if\@tmpb F%single bond at F (fused position)
1377  \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 0
1378 \else\if\@tmpb G%single bond at G (fused position)
1379  \def\@ylii{-171}\def\@yli{-103}\@ylswtrue%\@ylatrue% subst. on 0
1380 \fi\fi%
1381 % %%%%%%%%%%%%%%%%
1382 \or% subst. on 1  F == (0,406), G == (171,303) for \@fused@linkfalse
1383 % subst. on 1  G == (0,406), F == (171,303) for \@fused@linktrue
1384 % %%%%%%%%%%%%%%%%
1385 \if@fused@link
1386 \if\@tmpb G%single bond at F (5,-3) fusion
1387  \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 1
1388 \else\if\@tmpb F%single bond at G
1389  \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 1
1390 \fi\fi%
1391 \else
1392 \if\@tmpb F%single bond at F (5,-3) fusion
1393  \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 1
1394 \else\if\@tmpb G%single bond at G
1395  \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 1
1396 \fi\fi%

1397 \fi

1398 % %%%%%%%%%%%%%%%%
1399 \or% subst. on 2  F == (0,406), G == (-171,303) for \@fused@linkfalse
1400 % subst. on 2  G == (0,406), F == (-171,303) for \@fused@linktrue
1401 % %%%%%%%%%%%%%%%%
1402 \if@fused@link
1403 \if\@tmpb G%single bond at (-5,-3) fusion
1404  \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 2
1405 \else\if\@tmpb F%single bond at G
1406  \def\@ylii{171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 2
1407 \fi\fi%
1408 \else
1409 \if\@tmpb F%single bond at (-5,-3) fusion
1410  \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 2
1411 \else\if\@tmpb G%single bond at G
1412  \def\@ylii{171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 2
1413 \fi\fi%

1414 \fi

1415 % %%%%%%%%%%%%%%%%%%
1416 \or %3 fused positions   % G == (303,171)  F == (103,171)
1417 % %%%%%%%%%%%%%%%%%%
1418 \if\@tmpb G%single bond at G (fused position)
1419  \def\@ylii{-303}\def\@yli{-171}\@ylswtrue%\@ylatrue% subst. on 3
1420 \else\if\@tmpb F%single bond at F (fused position)

1421  \def\@ylii{-103}\def\@yli{-171}\@ylswtrue%\@ylatrue% subst. on 3
1422 \fi\fi%
1423 \fi%end of ifcase
1424 \fi\fi\fi\fi\fi}}% end of \ylfusedposition
    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.

\GFbonda \GFbonda@a \GFbonda@b
1425 \def\GFbonda{%
1426 % %%%%%%%%%%%%%%%%%%
1427 % 0 fused positions   % F == (171,303)  G == (171,103)
1428 % %%%%%%%%%%%%%%%%%%
1429 \if\@tmpb F%single bond at F (fused position)
1430 \GFbonda@a
1431 \else\if\@tmpb G%single bond at G (fused position)
1432 \GFbonda@b
1433 \fi\fi%
1434 }%end of GFbonda
1435 \def\GFbonda@a{%
1436 \if\@tmpc B%beta single bond
1437  \yl@xdiff=31\relax%171-140
1438  \yl@ydiff=-17\relax%460-(303+140)
1439  \putlratom{140}{460}{\@memberb}%   % left or right type

1440 {%

1441  \thicklines%
1442  \put(171,303){\line(0,1){140}}%    % single bond at F

1443 }%

1444 \else\if\@tmpc A%alpha single bond
1445  \yl@xdiff=31\relax%171-140
1446  \yl@ydiff=-17\relax%460-(303+140)
1447  \putlratom{140}{460}{\@memberb}%   % left or right type
1448  \@ifundefined{dottedline}{%
1449  \put(171,303){\line(0,1){140}}%  % single bond at F
1450  }{{\thicklines%
1451  \dottedline{20}(171,303)(171,443)}}%
1452 \else\if\@tmpc U% unspecified single bond
1453  \yl@xdiff=31\relax%171-140
1454  \yl@ydiff=-17\relax%460-(303+140)
1455  \putlratom{140}{460}{\@memberb}%   % left or right type
1456  \put(168,303){$\wr$}% unspecified single bond at F
1457  \put(168,353){$\wr$}%
1458  \put(168,403){$\wr$}%
1459 \else\if\@tmpc S%beta single bond
1460  \yl@xdiff=31\relax%171-140
1461  \yl@ydiff=-17\relax%460-(303+140)
1462  \putlratom{140}{460}{\@memberb}%   % left or right type
1463  \put(171,303){\line(0,1){140}}%  % single bond at F

1464 \else\ifx\@tmpc\empty%beta single bond
1465  \yl@xdiff=31\relax%171-140
1466  \yl@ydiff=-17\relax%460-(303+140)
1467  \putlratom{140}{460}{\@memberb}%   % left or right type
1468  \put(171,303){\line(0,1){140}}%  % single bond at F
1469 \fi\fi\fi\fi\fi%

1470 }%

1471 \def\GFbonda@b{%
1472 \if\@tmpc B%beta single bond
1473  \yl@xdiff=31\relax%171-140
1474  \yl@ydiff=90\relax%127-(140-103)
1475  \putlratom{140}{-127}{\@memberb}%  % left or right type

1476 {%

1477  \thicklines%
1478  \put(171,103){\line(0,-1){140}}%   % single bond at G

1479 }%

1480 \else\if\@tmpc A%alpha single bond
1481  \yl@xdiff=31\relax%171-140
1482  \yl@ydiff=90\relax%127-(140-103)
1483  \putlratom{140}{-127}{\@memberb}%  % left or right type
1484  \@ifundefined{dottedline}{%
1485  \put(171,103){\line(0,-1){140}}%   % single bond at G
1486  }{{\thicklines%
1487  \dottedline{20}(171,103)(171,-37)}}%
1488 \else\if\@tmpc U%beta single bond
1489  \yl@xdiff=31\relax%171-140
1490  \yl@ydiff=90\relax%127-(140-103)
1491  \putlratom{140}{-127}{\@memberb}%  % left or right type
1492  \put(168,43){$\wr$}% unspecified single bond at G
1493  \put(168,-8){$\wr$}%
1494  \put(168,-57){$\wr$}%
1495 \else\if\@tmpc S%alpha single bond
1496  \yl@xdiff=31\relax%171-140
1497  \yl@ydiff=90\relax%127-(140-103)
1498  \putlratom{140}{-127}{\@memberb}%  % left or right type
1499  \put(171,103){\line(0,-1){140}}%   % single bond at G
1500 \else\ifx\@tmpc\empty%alpha single bond
1501  \yl@xdiff=31\relax%171-140
1502  \yl@ydiff=90\relax%127-(140-103)
1503  \putlratom{140}{-127}{\@memberb}%  % left or right type
1504  \put(171,103){\line(0,-1){140}}%   % single bond at G
1505 \fi\fi\fi\fi\fi%

1506 }%

\GFbondb \GFbondb@a \GFbondb@b
1507 \def\GFbondb{%
1508 % %%%%%%%%%%%%%%%%
1509 % subst. on 1  F == (0,406), G == (171,303) for \@fused@linkfalse
1510 % subst. on 1  G == (0,406), F == (171,303) for \@fused@linktrue

1511 % %%%%%%%%%%%%%%%%
1512 \if@fused@link
1513 \if\@tmpb G%single bond at G (5,-3) fusion
1514  \GFbondb@a
1515 \else\if\@tmpb F%single bond at F
1516  \GFbondb@b
1517 \fi\fi%
1518 \else
1519 \if\@tmpb F%single bond at F (5,-3) fusion
1520  \GFbondb@a
1521 \else\if\@tmpb G%single bond at G
1522  \GFbondb@b
1523 \fi\fi%

1524 \fi

1525 }% end of \GFbondb
1526 \def\GFbondb@a{%
1527 \if\@tmpc B%beta single bond
1528  \yl@xdiff=10\relax%
1529  \yl@ydiff=22\relax%
1530  \putlatom{-130}{466}{\@memberb}%   % left type

1531 {%

1532  \thicklines%
1533  \put(0,406){\line(-5,3){120}}%     % single bond at F

1534 }%

1535 \else\if\@tmpc A%alpha single bond
1536  \yl@xdiff=10\relax%
1537  \yl@ydiff=22\relax%
1538  \putlatom{-130}{466}{\@memberb}%   % left type
1539  \@ifundefined{dottedline}{%
1540  \put(0,406){\line(-5,3){120}}%     % single bond at F
1541  }{{\thicklines%
1542 %              \dottedline{20}(0,406)(-140,478)}}%
1543  \dottedline{20}(0,406)(-120,478)}}%
1544 \else\if\@tmpc U%unspecified single bond
1545  \yl@xdiff=10\relax%
1546  \yl@ydiff=22\relax%
1547  \putlatom{-130}{466}{\@memberb}%   % left type
1548  \put(0,406){\line(-5,3){120}}%     % single bond at F
1549 \else\if\@tmpc S%beta single bond
1550  \yl@xdiff=10\relax%
1551  \yl@ydiff=22\relax%
1552  \putlatom{-130}{466}{\@memberb}%   % left type
1553  \put(0,406){\line(-5,3){120}}%     % single bond at F
1554 \else\ifx\@tmpc\empty%beta single bond
1555  \yl@xdiff=10\relax%
1556  \yl@ydiff=22\relax%
1557  \putlatom{-130}{466}{\@memberb}%   % left type
1558  \put(0,406){\line(-5,3){120}}%     % single bond at F
1559 \else\if\@tmpc D%beta single bond (downward)

1560  \yl@xdiff=31\relax%
1561  \yl@ydiff=90\relax%
1562  \putlratom{-31}{176}{\@memberb}%   % left or right type

1563 {%

1564  \thicklines%
1565  \put(0,406){\line(0,-1){140}}%     % single bond at F

1566 }%

1567 \else\if\@tmpc C%alpha single bond (downward)
1568  \yl@xdiff=31\relax%
1569  \yl@ydiff=90\relax%
1570  \putlratom{-31}{176}{\@memberb}%   % left or right type
1571  \@ifundefined{dottedline}{%
1572  \put(0,406){\line(0,-1){140}}%     % single bond at F
1573  }{{\thicklines%
1574  \dottedline{20}(0,406)(0,266)}}%
1575 \fi\fi\fi\fi\fi\fi\fi%
1576 }% end of \GFbondb@a
1577 \def\GFbondb@b{%
1578 \if\@tmpc B%beta single bond
1579  \yl@xdiff=-10\relax%
1580  \yl@ydiff=58\relax%
1581  \putratom{301}{173}{\@memberb}%    % right type

1582 {%

1583  \thicklines%
1584  \put(171,303){\line(5,-3){120}}%   % single bond at G

1585 }%

1586 \else\if\@tmpc A%alpha single bond
1587  \yl@xdiff=-10\relax%
1588  \yl@ydiff=58\relax%
1589  \putratom{301}{173}{\@memberb}%    % right type
1590  \@ifundefined{dottedline}{%
1591  \put(171,303){\line(5,-3){120}}%   % single bond at G
1592  }{{\thicklines%
1593  \dottedline{20}(171,303)(291,231)}}%
1594 \else\if\@tmpc U%unspecified single bond
1595  \yl@xdiff=-10\relax%
1596  \yl@ydiff=58\relax%
1597  \putratom{301}{173}{\@memberb}%    % right type
1598  \put(171,303){\line(5,-3){120}}%   % single bond at G
1599 \else\if\@tmpc S%alpha single bond
1600  \yl@xdiff=-10\relax%
1601  \yl@ydiff=58\relax%
1602  \putratom{301}{173}{\@memberb}%    % right type
1603  \put(171,303){\line(5,-3){120}}%   % single bond at G
1604 \else\ifx\@tmpc\empty%alpha single bond
1605  \yl@xdiff=-10\relax%
1606  \yl@ydiff=58\relax%
1607  \putratom{301}{173}{\@memberb}%    % right type
1608  \put(171,303){\line(5,-3){120}}%   % single bond at G

1609 \else\if\@tmpc D%beta single bond (upward)
1610  \yl@xdiff=31\relax%
1611  \yl@ydiff=-17\relax%
1612  \putlratom{140}{460}{\@memberb}%   % left or right type

1613 {%

1614  \thicklines%
1615  \put(171,303){\line(0,1){140}}%    % single bond at G

1616 }%

1617 \else\if\@tmpc C%alpha single bond (upward)
1618  \yl@xdiff=31\relax%
1619  \yl@ydiff=-17\relax%
1620  \putlratom{140}{460}{\@memberb}%   % left or right type
1621  \@ifundefined{dottedline}{%
1622  \put(171,303){\line(0,1){140}}%  % single bond at G
1623  }{{\thicklines%
1624  \dottedline{20}(171,303)(171,443)}}%
1625 \fi\fi\fi\fi\fi\fi\fi%
1626 }% end of \GFbondb@b
\GFbondc \GFbondc@a \GFbondc@b
1627 \def\GFbondc{%
1628 % %%%%%%%%%%%%%%%%
1629 % subst. on 2  F == (0,406), G == (-171,303) for \@fused@linkfalse
1630 % subst. on 2  G == (0,406), F == (-171,303) for \@fused@linktrue
1631 % %%%%%%%%%%%%%%%%
1632 \if@fused@link
1633 \if\@tmpb G%single bond at (-5,-3) fusion
1634  \GFbondc@a
1635 \else\if\@tmpb F%single bond at F
1636  \GFbondc@b
1637 \fi\fi%
1638 \else
1639 \if\@tmpb F%single bond at (-5,-3) fusion
1640  \GFbondc@a
1641 \else\if\@tmpb G%single bond at G
1642  \GFbondc@b
1643 \fi\fi%

1644 \fi

1645 }% end of \GFbondc
1646 \def\GFbondc@a{%
1647 \if\@tmpc B%beta single bond
1648  \yl@xdiff=-10\relax%
1649  \yl@ydiff=12\relax%
1650  \putratom{130}{466}{\@memberb}%    % right type

1651 {%

1652  \thicklines%
1653  \put(0,406){\line(5,3){120}}%      % single bond at F

1654 }%

1655 \else\if\@tmpc A%alpha single bond

1656  \yl@xdiff=-10\relax%
1657  \yl@ydiff=12\relax%
1658  \putratom{130}{466}{\@memberb}%    % right type
1659  \@ifundefined{dottedline}{%
1660  \put(0,406){\line(5,3){120}}%      % single bond at F
1661  }{{\thicklines%
1662  \dottedline{20}(0,406)(120,478)}}%
1663 \else\if\@tmpc U%unspecified single bond
1664  \yl@xdiff=-10\relax%
1665  \yl@ydiff=12\relax%
1666  \putratom{130}{466}{\@memberb}%    % right type
1667  \put(0,406){\line(5,3){120}}%      % single bond at F
1668 \else\if\@tmpc S%beta single bond
1669  \yl@xdiff=-10\relax%
1670  \yl@ydiff=12\relax%
1671  \putratom{130}{466}{\@memberb}%    % right type
1672  \put(0,406){\line(5,3){120}}%      % single bond at F
1673 \else\ifx\@tmpc\empty%beta single bond
1674  \yl@xdiff=-10\relax%
1675  \yl@ydiff=12\relax%
1676  \putratom{130}{466}{\@memberb}%    % right type
1677  \put(0,406){\line(5,3){120}}%      % single bond at F
1678 \else\if\@tmpc D%beta single bond (downward)
1679  \yl@xdiff=31\relax%
1680  \yl@ydiff=90\relax%
1681  \putlratom{-31}{176}{\@memberb}%   % left or right type

1682 {%

1683  \thicklines%
1684  \put(0,406){\line(0,-1){140}}%     % single bond at F

1685 }%

1686 \else\if\@tmpc C%alpha single bond (downward)
1687  \yl@xdiff=31\relax%
1688  \yl@ydiff=90\relax%
1689  \putlratom{-31}{176}{\@memberb}%   % left or right type
1690  \@ifundefined{dottedline}{%
1691  \put(0,406){\line(0,-1){140}}%     % single bond at F
1692  }{{\thicklines%
1693  \dottedline{20}(0,406)(0,266)}}%
1694 \fi\fi\fi\fi\fi\fi\fi%
1695 }% end of \GFbondc@a
1696 \def\GFbondc@b{%
1697 \if\@tmpc B%beta single bond
1698  \yl@xdiff=10\relax%
1699  \yl@ydiff=59\relax%
1700  \putlatom{-301}{173}{\@memberb}%  % left type

1701 {%

1702  \thicklines%
1703  \put(-171,303){\line(-5,-3){120}}% % single bond at G

1704 }%

1705 \else\if\@tmpc A%alpha single bond
1706  \yl@xdiff=10\relax%
1707  \yl@ydiff=59\relax%
1708  \putlatom{-301}{173}{\@memberb}%  % left type
1709  \@ifundefined{dottedline}{%
1710  \put(-171,303){\line(-5,-3){120}}% % single bond at G
1711  }{{\thicklines%
1712 %              \dottedline{20}(-171,303)(-311,231)}}%
1713  \dottedline{20}(-171,303)(-291,231)}}%
1714 \else\if\@tmpc U%unspecified single bond
1715  \yl@xdiff=10\relax%
1716  \yl@ydiff=59\relax%
1717  \putlatom{-301}{173}{\@memberb}%  % left type
1718  \put(-171,303){\line(-5,-3){120}}%  single bond at G
1719 \else\if\@tmpc S%alpha single bond
1720  \yl@xdiff=10\relax%
1721  \yl@ydiff=59\relax%
1722  \putlatom{-301}{173}{\@memberb}%  % left type
1723  \put(-171,303){\line(-5,-3){120}}%  single bond at G
1724 \else\ifx\@tmpc\empty%alpha single bond
1725  \yl@xdiff=10\relax%
1726  \yl@ydiff=59\relax%
1727  \putlatom{-301}{173}{\@memberb}%  % left type
1728  \put(-171,303){\line(-5,-3){120}}%  single bond at G
1729 \else\if\@tmpc D%beta single bond (upward)
1730  \yl@xdiff=-30\relax%
1731  \yl@ydiff=-17\relax%
1732  \putlratom{201}{460}{\@memberb}%   % left or right type

1733 {%

1734  \thicklines%
1735  \put(-171,303){\line(0,1){140}}%   % single bond at G

1736 }%

1737 \else\if\@tmpc C%alpha single bond (upward)
1738  \yl@xdiff=-30\relax%
1739  \yl@ydiff=-17\relax%
1740  \putlratom{201}{460}{\@memberb}%   % left or right type
1741  \@ifundefined{dottedline}{%
1742  \put(-171,303){\line(0,1){140}}% % single bond at G
1743  }{{\thicklines%
1744  \dottedline{20}(-171,303)(-171,443)}}%
1745 \fi\fi\fi\fi\fi\fi\fi%
1746 }% end of \GFbondc@b
\GFbondd
1747 \def\GFbondd{%
1748 % %%%%%%%%%%%%%%%%%%
1749 % 3 fused positions   % G == (303,171)  F == (103,171)
1750 % %%%%%%%%%%%%%%%%%%
1751 \if\@tmpb G%single bond at G (fused position)
1752 \if\@tmpc B%beta single bond

1753  \yl@xdiff=-17\relax%
1754  \yl@ydiff=31\relax%
1755  \putlratom{460}{140}{\@memberb}%   % left or right type

1756 {%

1757  \thicklines%
1758  \put(303,171){\line(1,0){140}}%    % single bond at G

1759 }%

1760 \else\if\@tmpc A%alpha single bond
1761  \yl@xdiff=-17\relax%
1762  \yl@ydiff=31\relax%
1763  \putlratom{460}{140}{\@memberb}%   % left or right type
1764  \@ifundefined{dottedline}{%
1765  \put(303,171){\line(1,0){140}}% % single bond at G
1766  }{{\thicklines%
1767  \dottedline{20}(303,171)(443,171)}}%
1768 \else\if\@tmpc U% unspecified single bond
1769  \yl@xdiff=-17\relax%
1770  \yl@ydiff=31\relax%
1771  \putlratom{460}{140}{\@memberb}%   % left or right type
1772  \put(303,148){$\sim$}% unspecified single bond at G
1773  \put(353,148){$\sim$}%
1774  \put(403,148){$\sim$}%
1775 \else\if\@tmpc S%beta single bond
1776  \yl@xdiff=-17\relax%
1777  \yl@ydiff=31\relax%
1778  \putlratom{460}{140}{\@memberb}%   % left or right type
1779  \put(303,171){\line(1,0){140}}%    % single bond at G
1780 \else\ifx\@tmpc\empty%beta single bond
1781  \yl@xdiff=-17\relax%
1782  \yl@ydiff=31\relax%
1783  \putlratom{460}{140}{\@memberb}%   % left or right type
1784  \put(303,171){\line(1,0){140}}%    % single bond at G
1785 \fi\fi\fi\fi\fi%
1786 \else\if\@tmpb F%single bond at F (fused position)
1787 \if\@tmpc B%beta single bond
1788  \yl@xdiff=20\relax%
1789  \yl@ydiff=31\relax%
1790 %           \putlratom{-127}{140}{\@memberb}%  % left or right type
1791  \putlatom{-57}{140}{\@memberb}%  % left type

1792 {%

1793  \thicklines%
1794  \put(103,171){\line(-1,0){140}}%   % single bond at F

1795 }%

1796 \else\if\@tmpc A%alpha single bond
1797  \yl@xdiff=20\relax%
1798  \yl@ydiff=31\relax%
1799 %           \putlratom{-127}{140}{\@memberb}%  % left or right type
1800  \putlatom{-57}{140}{\@memberb}%  % left type
1801  \@ifundefined{dottedline}{%
1802  \put(103,171){\line(-1,0){140}}%   % single bond at F

1803  }{{\thicklines%
1804  \dottedline{20}(103,171)(-37,171)}}%
1805 \else\if\@tmpc U%beta single bond
1806  \yl@xdiff=20\relax%
1807  \yl@ydiff=31\relax%
1808  \putlatom{-57}{140}{\@memberb}%  % left type
1809 %           \putlratom{-127}{140}{\@memberb}%  % left or right type
1810  \put(40,148){$\sim$}% unspecified single bond at F
1811  \put(-13,148){$\sim$}%
1812  \put(-62,148){$\sim$}%
1813 \else\if\@tmpc S%alpha single bond
1814  \yl@xdiff=20\relax%
1815  \yl@ydiff=31\relax%
1816  \putlatom{-57}{140}{\@memberb}%  % left type
1817 %           \putlratom{-127}{140}{\@memberb}%  % left or right type
1818  \put(103,171){\line(-1,0){140}}%   % single bond at F
1819 \else\ifx\@tmpc\empty%alpha single bond
1820  \yl@xdiff=20\relax%
1821  \yl@ydiff=31\relax%
1822  \putlatom{-57}{140}{\@memberb}%  % left type
1823 %           \putlratom{-127}{140}{\@memberb}%  % left or right type
1824  \put(103,171){\line(-1,0){140}}%   % single bond at F
1825 \fi\fi\fi\fi\fi%
1826 \fi\fi%
1827 }% end of \GFbondd

The \setfusedbond takes 5 arguments.

   ******************************************************
   * setting of atoms and bonds at fused bond positions *
   ******************************************************
     \setfusedbond{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}

The first argument SUBSLIST is a list of substituents, which is represented in the standard format of XΥMTEX. 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.

       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

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.
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

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.
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

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.
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

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.

      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

\setfusedbond
1828 \newif\if@fused@link \@fused@linkfalse
1829 \def\setfusedbond#1#2#3#4#5{%
1830 \@forsemicol\member:=#1\do{%
1831 \ifx\member\empty\else%
1832 \expandafter\@m@mb@r\member;\relax%
1833 \expandafter\threech@r\@membera{}{}%
1834 \ifx\@memberb\@yl\else
1835 \ifnum#5<0\relax%
1836 \@tmpaa=-\@tmpa\relax\advance\@tmpaa by #2\relax\@fused@linktrue
1837 \else\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
1838 \@fused@linkfalse\fi%
1839 \ifnum\@tmpaa >#3\relax%
1840 \ifnum\@tmpaa <#4\relax%
1841 \ifcase\@tmpaa%
1842 % %%%%%%%%%%%%%%%%%%
1843 % 0 fused positions   % F == (171,303)  G == (171,103)
1844 % %%%%%%%%%%%%%%%%%%
1845 \GFbonda
1846 % %%%%%%%%%%%%%%%%
1847 \or% subst. on 1  F == (0,406), G == (171,303)
1848 % %%%%%%%%%%%%%%%%
1849 \GFbondb
1850 % %%%%%%%%%%%%%%%%
1851 \or% subst. on 2  F == (0,406), G == (-171,303) for \@fused@linkfalse

1852 % subst. on 2  G == (0,406), F == (-171,303) for \@fused@linktrue
1853 % %%%%%%%%%%%%%%%%
1854 \GFbondc
1855 % %%%%%%%%%%%%%%%%%%
1856 \or %3 fused positions   % G == (303,171)  F == (103,171)
1857 % %%%%%%%%%%%%%%%%%%
1858 \GFbondd
1859 \fi%end of ifcase
1860 \fi\fi\fi\fi}}%

4.5 Setting-up substituents and bonds at a given postion

The \setatombond takes 3 arguments.

   ********************************************************
   * setting of atoms and bonds at an appropiate position *
   ********************************************************
     \setatombond{SUBSLIST}{AD}{SLOPE}

The first argument SUBSLIST is a list of substituents, which is represented in the standard format of XΥMTEX. Substituents at the fused positions (vertical bonds) are designated by the number 0 and the following bond modifiers.

       SUBSLIST: list of substituents (max 3 substitution positions)

The second argument AD is an adjustment value, which adjusts the original locant number into 1.

       AD       : adjustment,
           Set AD as being 1  = position number - AD

The argument SLOPE has the following meanings.

       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)

\setatombond
1861 \newif\if@clipfuse \@clipfusefalse
1862 \def\setatombond#1#2#3{%

1863 \@forsemicol\member:=#1\do{%
1864 \ifx\member\empty\else%
1865 \expandafter\@m@mb@r\member;\relax%
1866 \expandafter\threech@r\@membera{}{}%
1867 \@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
1868 \ifx\@memberb\@yl\else
1869 \ifnum\@tmpaa >0\relax%
1870 \ifnum\@tmpaa <2\relax%
1871 \ifcase\@tmpaa%
1872 % %%%%%%%%%%%%%%%%
1873 \or% subst. on 1
1874 % %%%%%%%%%%%%%%%%

1875 %

1876 % (0,1)

1877 %

1878 \ifnum#3=1\relax%(upward)
1879 \setatombonda

1880 %

1881 % (1,0)

1882 %

1883 \else\ifnum#3=4\relax%(right)
1884 \setatombondb

1885 %

1886 % (0,-1)

1887 %

1888 \else\ifnum#3=7\relax%(downward)
1889 \setatombondc

1890 %

1891 % (-5,3)

1892 %

1893 \else\ifnum#3=11\relax%
1894 \setatombondd

1895 %

1896 % (5,-3)

1897 %

1898 \else\ifnum#3=5\relax%
1899 \setatombonde

1900 %

1901 % (5,3)

1902 %

1903 \else\ifnum#3=3\relax%
1904 \setatombondf

1905 %

1906 % (-5,-3)

1907 %

1908 \else\ifnum#3=9\relax%
1909 \setatombondg

1910 %

1911 % (-1,0)

1912 %

1913 \else\ifnum#3=10\relax%(left)
1914 \setatombondh
1915 \fi\fi\fi\fi\fi\fi\fi\fi%
1916 \fi%end of ifcase
1917 \fi\fi\fi\fi}}%

The command \setatombond uses the following bond-setting commands.

\setatombonda
\setatombondb
\setatombondc
\setatombondd
\setatombonde
\setatombondf
\setatombondg
\setatombondh

1918 \def\setatombonda{%upward (0,1)
1919 \if@clipfuse%
1920 \if\@tmpb B%beta single bond
1921  \yl@xdiff=31\relax
1922  \yl@ydiff=-17\relax

1923 {%

1924  \thicklines%
1925 %           \put(0,30){\line(0,1){110}}%  % single bond at 1
1926  \put(0,40){\line(0,1){100}}%  % single bond at 1

1927 }%

1928 \else\if\@tmpb A%alpha single bond
1929  \yl@xdiff=31\relax
1930  \yl@ydiff=-17\relax
1931  \@ifundefined{dottedline}{%
1932 %           \put(0,30){\line(0,1){110}}%  % single bond at 1
1933  \put(0,40){\line(0,1){100}}%  % single bond at 1
1934  }{{\thicklines%
1935 %              \dottedline{20}(0,30)(0,140)}}%
1936  \dottedline{20}(0,40)(0,140)}}%
1937 \else\if\@tmpb U% unspecified single bond
1938  \yl@xdiff=31\relax
1939  \yl@ydiff=-17\relax
1940  \put(-3,30){$\wr$}% unspecified single bond at 1
1941  \put(-3,80){$\wr$}%
1942 \else\if\@tmpb S%beta single bond
1943  \yl@xdiff=31\relax
1944  \yl@ydiff=-17\relax
1945 %           \put(0,30){\line(0,1){110}}%  % single bond at 1
1946  \put(0,40){\line(0,1){100}}%  % single bond at 1
1947 \else\if\@tmpb D%double bond
1948  \yl@xdiff=31\relax
1949  \yl@ydiff=-17\relax
1950  \put(-10,40){\line(0,1){100}}%  % single bond at 1
1951  \put(10,40){\line(0,1){100}}%  % single bond at 1
1952 \else\if\@tmpb T%double bond
1953  \yl@xdiff=31\relax
1954  \yl@ydiff=-17\relax
1955  \put(-15,40){\line(0,1){100}}%  % single bond at 1
1956  \put(0,40){\line(0,1){100}}%  % single bond at 1
1957  \put(15,40){\line(0,1){100}}%  % single bond at 1
1958 \else\ifx\@tmpb\empty%beta single bond

1959  \yl@xdiff=31\relax
1960  \yl@ydiff=-17\relax
1961 %           \put(0,30){\line(0,1){110}}%  % single bond at 1
1962  \put(0,40){\line(0,1){100}}%  % single bond at 1
1963 \fi\fi\fi\fi\fi\fi\fi%
1964  \putlratom{-31}{157}{\@memberb}%   % left or right type
1965 \else%no clip
1966 \if\@tmpb B%beta single bond
1967  \yl@xdiff=31\relax
1968  \yl@ydiff=-17\relax

1969 {%

1970  \thicklines%
1971  \put(0,0){\line(0,1){140}}%  % single bond at 1

1972 }%

1973 \else\if\@tmpb A%alpha single bond
1974  \yl@xdiff=31\relax
1975  \yl@ydiff=-17\relax
1976  \@ifundefined{dottedline}{%
1977  \put(0,0){\line(0,1){140}}%  % single bond at 1
1978  }{{\thicklines%
1979  \dottedline{20}(0,0)(0,140)}}%
1980 \else\if\@tmpb U% unspecified single bond
1981  \yl@xdiff=31\relax
1982  \yl@ydiff=-17\relax
1983  \put(-3,0){$\wr$}% unspecified single bond at 1
1984  \put(-3,50){$\wr$}%
1985  \put(-3,100){$\wr$}%
1986 \else\if\@tmpb S%beta single bond
1987  \yl@xdiff=31\relax
1988  \yl@ydiff=-17\relax
1989  \put(0,0){\line(0,1){140}}%  % single bond at 1
1990 \else\if\@tmpb D%beta single bond
1991  \yl@xdiff=31\relax
1992  \yl@ydiff=-17\relax
1993  \put(-10,0){\line(0,1){140}}%  % single bond at 1
1994  \put(10,0){\line(0,1){140}}%  % single bond at 1
1995 \else\if\@tmpb T%beta single bond
1996  \yl@xdiff=31\relax
1997  \yl@ydiff=-17\relax
1998  \put(-15,0){\line(0,1){140}}%  % single bond at 1
1999  \put(0,0){\line(0,1){140}}%  % single bond at 1
2000  \put(15,0){\line(0,1){140}}%  % single bond at 1
2001 \else\ifx\@tmpb\empty%beta single bond
2002  \yl@xdiff=31\relax
2003  \yl@ydiff=-17\relax
2004  \put(0,0){\line(0,1){140}}%  % single bond at 1
2005 \fi\fi\fi\fi\fi\fi\fi%
2006  \putlratom{-31}{157}{\@memberb}%   % left or right type
2007 \fi%
2008 }% end of \setatombonda

2009 \def\setatombondb{%(right) (1,0)
2010 \if@clipfuse%
2011 \if\@tmpb B%beta single bond
2012  \yl@xdiff=-17\relax
2013  \yl@ydiff=31\relax

2014 {%

2015  \thicklines%
2016  \put(30,0){\line(1,0){110}}%       % single bond at 1

2017 }%

2018 \else\if\@tmpb A%alpha single bond
2019  \yl@xdiff=-17\relax
2020  \yl@ydiff=31\relax
2021  \@ifundefined{dottedline}{%
2022  \put(30,0){\line(1,0){110}}%       % single bond at 1
2023  }{{\thicklines%
2024  \dottedline{20}(30,0)(140,0)}}%
2025 \else\if\@tmpb U%beta single bond
2026  \yl@xdiff=-17\relax
2027  \yl@ydiff=31\relax
2028  \put(30,0){\line(1,0){110}}%       % single bond at 1
2029 \else\if\@tmpb S%alpha single bond
2030  \yl@xdiff=-17\relax
2031  \yl@ydiff=31\relax
2032  \put(40,0){\line(1,0){100}}%       % single bond at 1
2033 \else\if\@tmpb D%alpha single bond
2034  \yl@xdiff=-17\relax
2035  \yl@ydiff=31\relax
2036  \put(40,10){\line(1,0){100}}%       % single bond at 1
2037  \put(40,-10){\line(1,0){100}}%       % single bond at 1
2038 \else\if\@tmpb T%alpha single bond
2039  \yl@xdiff=-17\relax
2040  \yl@ydiff=31\relax
2041  \put(40,15){\line(1,0){100}}%       % single bond at 1
2042  \put(40,0){\line(1,0){100}}%       % single bond at 1
2043  \put(40,-15){\line(1,0){100}}%       % single bond at 1
2044 \else\ifx\@tmpb\empty%alpha single bond
2045  \yl@xdiff=-17\relax
2046  \yl@ydiff=31\relax
2047  \put(40,0){\line(1,0){100}}%       % single bond at 1
2048 \fi\fi\fi\fi\fi\fi\fi%
2049  \putratom{157}{-31}{\@memberb}%   % right type only
2050 \else%
2051 \if\@tmpb B%beta single bond
2052  \yl@xdiff=-17\relax
2053  \yl@ydiff=31\relax

2054 {%

2055  \thicklines%
2056  \put(0,0){\line(1,0){140}}%       % single bond at 1

2057 }%

2058 \else\if\@tmpb A%alpha single bond

2059  \yl@xdiff=-17\relax
2060  \yl@ydiff=31\relax
2061  \@ifundefined{dottedline}{%
2062  \put(0,0){\line(1,0){140}}%       % single bond at 1
2063  }{{\thicklines%
2064  \dottedline{20}(0,0)(140,0)}}%
2065 \else\if\@tmpb U%beta single bond
2066  \yl@xdiff=-17\relax
2067  \yl@ydiff=31\relax
2068  \put(0,0){\line(1,0){140}}%       % single bond at 1
2069 \else\if\@tmpb S%alpha single bond
2070  \yl@xdiff=-17\relax
2071  \yl@ydiff=31\relax
2072  \put(0,0){\line(1,0){140}}%       % single bond at 1
2073 \else\if\@tmpb D%alpha single bond
2074  \yl@xdiff=-17\relax
2075  \yl@ydiff=31\relax
2076  \put(0,10){\line(1,0){140}}%       % single bond at 1
2077  \put(0,-10){\line(1,0){140}}%       % single bond at 1
2078 \else\if\@tmpb T%alpha single bond
2079  \yl@xdiff=-17\relax
2080  \yl@ydiff=31\relax
2081  \put(0,-15){\line(1,0){140}}%       % single bond at 1
2082  \put(0,0){\line(1,0){140}}%       % single bond at 1
2083  \put(0,15){\line(1,0){140}}%       % single bond at 1
2084 \else\ifx\@tmpb\empty%alpha single bond
2085  \yl@xdiff=-17\relax
2086  \yl@ydiff=31\relax
2087  \put(0,0){\line(1,0){140}}%       % single bond at 1
2088 \fi\fi\fi\fi\fi\fi\fi%
2089  \putratom{157}{-31}{\@memberb}%   % right type only
2090 \fi%
2091 }% end of \setatombondb
2092 \def\setatombondc{%(downward) (0,-1)
2093 \if@clipfuse%
2094 \if\@tmpb B%beta single bond
2095  \yl@xdiff=31\relax
2096  \yl@ydiff=90\relax

2097 {%

2098  \thicklines%
2099 %           \put(0,-30){\line(0,-1){110}}%    % single bond at 1
2100  \put(0,-40){\line(0,-1){100}}%    % single bond at 1

2101 }%

2102 \else\if\@tmpb A%alpha single bond
2103  \yl@xdiff=31\relax
2104  \yl@ydiff=90\relax
2105  \@ifundefined{dottedline}{%
2106 %           \put(0,-30){\line(0,-1){110}}%    % single bond at 1
2107  \put(0,-40){\line(0,-1){100}}%    % single bond at 1

2108  }{{\thicklines%
2109 %              \dottedline{20}(0,-30)(0,-140)}}%
2110  \dottedline{20}(0,-40)(0,-140)}}%
2111 \else\if\@tmpb U%beta single bond
2112  \yl@xdiff=31\relax
2113  \yl@ydiff=90\relax
2114  \put(-3,-90){$\wr$}% unspecified single bond at 1
2115  \put(-3,-140){$\wr$}%
2116 \else\if\@tmpb S%alpha single bond
2117  \yl@xdiff=31\relax
2118  \yl@ydiff=90\relax
2119 %           \put(0,-30){\line(0,-1){110}}%    % single bond at 1
2120  \put(0,-40){\line(0,-1){100}}%    % single bond at 1
2121 \else\if\@tmpb D%alpha single bond
2122  \yl@xdiff=31\relax
2123  \yl@ydiff=90\relax
2124  \put(10,-40){\line(0,-1){100}}%    % single bond at 1
2125  \put(-10,-40){\line(0,-1){100}}%    % single bond at 1
2126 \else\if\@tmpb T%alpha single bond
2127  \yl@xdiff=31\relax
2128  \yl@ydiff=90\relax
2129  \put(15,-40){\line(0,-1){100}}%    % single bond at 1
2130  \put(0,-40){\line(0,-1){100}}%    % single bond at 1
2131  \put(-15,-40){\line(0,-1){100}}%    % single bond at 1
2132 \else\ifx\@tmpb\empty%alpha single bond
2133  \yl@xdiff=31\relax
2134  \yl@ydiff=90\relax
2135 %           \put(0,-30){\line(0,-1){110}}%    % single bond at 1
2136  \put(0,-40){\line(0,-1){100}}%    % single bond at 1
2137 \fi\fi\fi\fi\fi\fi\fi%
2138  \putlratom{-31}{-230}{\@memberb}% % left or right type
2139 \else%no clipping
2140 \if\@tmpb B%beta single bond
2141  \yl@xdiff=31\relax
2142  \yl@ydiff=90\relax

2143 {%

2144  \thicklines%
2145  \put(0,0){\line(0,-1){140}}%      % single bond at 1

2146 }%

2147 \else\if\@tmpb A%alpha single bond
2148  \yl@xdiff=31\relax
2149  \yl@ydiff=90\relax
2150  \@ifundefined{dottedline}{%
2151  \put(0,0){\line(0,-1){140}}%      % single bond at 1
2152  }{{\thicklines%
2153  \dottedline{20}(0,0)(0,-140)}}%
2154 \else\if\@tmpb U%beta single bond
2155  \yl@xdiff=31\relax
2156  \yl@ydiff=90\relax
2157  \put(-3,-60){$\wr$}% unspecified single bond at 1

2158  \put(-3,-110){$\wr$}%
2159  \put(-3,-160){$\wr$}%
2160 \else\if\@tmpb S%alpha single bond
2161  \yl@xdiff=31\relax
2162  \yl@ydiff=90\relax
2163  \put(0,0){\line(0,-1){140}}%      % single bond at 1
2164 \else\if\@tmpb D%alpha single bond
2165  \yl@xdiff=31\relax
2166  \yl@ydiff=90\relax
2167  \put(10,0){\line(0,-1){140}}%      % single bond at 1
2168  \put(-10,0){\line(0,-1){140}}%      % single bond at 1
2169 \else\if\@tmpb T%alpha single bond
2170  \yl@xdiff=31\relax
2171  \yl@ydiff=90\relax
2172  \put(15,0){\line(0,-1){140}}%      % single bond at 1
2173  \put(0,0){\line(0,-1){140}}%      % single bond at 1
2174  \put(-15,0){\line(0,-1){140}}%      % single bond at 1
2175 \else\ifx\@tmpb\empty%alpha single bond
2176  \yl@xdiff=31\relax
2177  \yl@ydiff=90\relax
2178  \put(0,0){\line(0,-1){140}}%      % single bond at 1
2179 \fi\fi\fi\fi\fi\fi\fi%
2180  \putlratom{-31}{-230}{\@memberb}% % left or right type
2181 \fi%
2182 }% end of \setatombondc
2183 \def\setatombondd{% (-5,3)
2184 \if@clipfuse%
2185  \yl@xdiff=-10\relax
2186  \yl@ydiff=18\relax
2187 \if\@tmpb B%beta single bond

2188 {%

2189  \thicklines%
2190  \put(-30,18){\line(-5,3){100}}%       % single bond at 1

2191 }%

2192 \else\if\@tmpb A%alpha single bond
2193  \@ifundefined{dottedline}{%
2194  \put(-30,18){\line(-5,3){100}}%       % single bond at 1
2195  }{{\thicklines%
2196  \dottedline{20}(-30,18)(-130,78)}}%
2197 \else\if\@tmpb U%unspecified single bond
2198  \put(-30,18){\line(-5,3){100}}%       % single bond at 1
2199 \else\if\@tmpb S%beta single bond
2200  \put(-30,18){\line(-5,3){100}}%       % single bond at 1
2201 \else\if\@tmpb D%beta single bond
2202  \put(-36,8){\line(-5,3){100}}%       % single bond at 1
2203  \put(-24,24){\line(-5,3){100}}%       % single bond at 1
2204 \else\if\@tmpb T%beta single bond
2205  \put(-39,3){\line(-5,3){100}}%       % single bond at 1
2206  \put(-30,18){\line(-5,3){100}}%       % single bond at 1

2207  \put(-21,33){\line(-5,3){100}}%       % single bond at 1
2208 \else\ifx\@tmpb\empty%beta single bond
2209  \put(-30,18){\line(-5,3){100}}%       % single bond at 1
2210 \fi\fi\fi\fi\fi\fi\fi%
2211  \putlatom{-130}{60}{\@memberb}%   % left type
2212 \else%no clipping
2213  \yl@xdiff=-10\relax
2214  \yl@ydiff=18\relax
2215 \if\@tmpb B%beta single bond

2216 {%

2217  \thicklines%
2218  \put(0,0){\line(-5,3){130}}%       % single bond at 1

2219 }%

2220 \else\if\@tmpb A%alpha single bond
2221  \@ifundefined{dottedline}{%
2222  \put(0,0){\line(-5,3){130}}%       % single bond at 1
2223  }{{\thicklines%
2224  \dottedline{20}(0,0)(-130,78)}}%
2225 \else\if\@tmpb U%unspecified single bond
2226  \put(0,0){\line(-5,3){130}}%       % single bond at 1
2227 \else\if\@tmpb S%beta single bond
2228  \put(0,0){\line(-5,3){130}}%       % single bond at 1
2229 \else\if\@tmpb D%beta single bond
2230  \put(6,10){\line(-5,3){130}}%       % single bond at 1
2231  \put(-6,-10){\line(-5,3){130}}%       % single bond at 1
2232 \else\if\@tmpb T%beta single bond
2233  \put(9,15){\line(-5,3){130}}%       % single bond at 1
2234  \put(0,0){\line(-5,3){130}}%       % single bond at 1
2235  \put(-9,-15){\line(-5,3){130}}%       % single bond at 1
2236 \else\ifx\@tmpb\empty%beta single bond
2237  \put(0,0){\line(-5,3){130}}%       % single bond at 1
2238 \fi\fi\fi\fi\fi\fi\fi%
2239  \putlatom{-130}{60}{\@memberb}%   % left type
2240 \fi%
2241 }% end of \setatombondd
2242 \def\setatombonde{%(5,-3)
2243 \if@clipfuse%
2244  \yl@xdiff=-10\relax
2245  \yl@ydiff=52\relax
2246 \if\@tmpb B%beta single bond

2247 {%

2248  \thicklines%
2249 %           \put(20,-12){\line(5,-3){100}}%      % single bond at 1
2250  \put(30,-18){\line(5,-3){100}}%      % single bond at 1

2251 }%

2252 \else\if\@tmpb A%alpha single bond
2253 %           \putratom{301}{173}{\@memberb}%   % right type
2254  \@ifundefined{dottedline}{%
2255 %           \put(20,-12){\line(5,-3){100}}%      % single bond at 1

2256  \put(30,-18){\line(5,-3){100}}%      % single bond at 1
2257  }{{\thicklines%
2258 %              \dottedline{20}(20,-12)(120,-72)}}%
2259  \dottedline{20}(30,-18)(130,-78)}}%
2260 \else\if\@tmpb U%unspecified single bond
2261  \put(30,-18){\line(5,-3){100}}%      % single bond at 1
2262 %           \put(20,-12){\line(5,-3){100}}%      % single bond at 1
2263 \else\if\@tmpb S%alpha single bond
2264  \put(30,-18){\line(5,-3){100}}%      % single bond at 1
2265 %           \put(20,-12){\line(5,-3){100}}%      % single bond at 1
2266 \else\if\@tmpb D%alpha single bond
2267  \put(36,-12){\line(5,-3){100}}%      % single bond at 1
2268  \put(24,-28){\line(5,-3){100}}%      % single bond at 1
2269 \else\if\@tmpb T%alpha single bond
2270  \put(39,-3){\line(5,-3){100}}%      % single bond at 1
2271  \put(30,-18){\line(5,-3){100}}%      % single bond at 1
2272  \put(21,-33){\line(5,-3){100}}%      % single bond at 1
2273 \else\ifx\@tmpb\empty%alpha single bond
2274  \put(30,-18){\line(5,-3){100}}%      % single bond at 1
2275 %           \put(20,-12){\line(5,-3){100}}%      % single bond at 1
2276 \fi\fi\fi\fi\fi\fi\fi%
2277  \putratom{140}{-130}{\@memberb}%  % right type
2278 %           \putratom{130}{-130}{\@memberb}%  % right type
2279 \else%no clipping
2280  \yl@xdiff=-10\relax
2281  \yl@ydiff=52\relax
2282 \if\@tmpb B%beta single bond

2283 {%

2284  \thicklines%
2285 %           \put(0,0){\line(5,-3){120}}%      % single bond at 1
2286  \put(0,0){\line(5,-3){130}}%      % single bond at 1

2287 }%

2288 \else\if\@tmpb A%alpha single bond
2289 %           \putratom{301}{173}{\@memberb}%   % right type
2290  \@ifundefined{dottedline}{%
2291 %           \put(0,0){\line(5,-3){120}}%      % single bond at 1
2292  \put(0,0){\line(5,-3){130}}%      % single bond at 1
2293  }{{\thicklines%
2294 %              \dottedline{20}(0,0)(120,-72)}}%
2295  \dottedline{20}(0,0)(130,-78)}}%
2296 \else\if\@tmpb U%unspecified single bond
2297 %           \put(0,0){\line(5,-3){120}}%      % single bond at 1
2298  \put(0,0){\line(5,-3){130}}%      % single bond at 1
2299 \else\if\@tmpb S%alpha single bond
2300 %           \put(0,0){\line(5,-3){120}}%      % single bond at 1
2301  \put(0,0){\line(5,-3){130}}%      % single bond at 1
2302 \else\if\@tmpb D%alpha single bond
2303  \put(6,10){\line(5,-3){130}}%      % single bond at 1
2304  \put(-6,-10){\line(5,-3){130}}%      % single bond at 1
2305 \else\if\@tmpb T%alpha single bond

2306  \put(9,15){\line(5,-3){130}}%      % single bond at 1
2307  \put(0,0){\line(5,-3){130}}%      % single bond at 1
2308  \put(-9,-15){\line(5,-3){130}}%      % single bond at 1
2309 \else\ifx\@tmpb\empty%alpha single bond
2310 %           \put(0,0){\line(5,-3){120}}%      % single bond at 1
2311  \put(0,0){\line(5,-3){130}}%      % single bond at 1
2312 \fi\fi\fi\fi\fi\fi\fi%
2313  \putratom{140}{-130}{\@memberb}%  % right type
2314 \fi%
2315 }% end of \setatombonde
2316 \def\setatombondf{%% (5,3)
2317 \if@clipfuse%
2318  \yl@xdiff=-10\relax
2319  \yl@ydiff=18\relax
2320 \if\@tmpb B%beta single bond

2321 {%

2322  \thicklines%
2323 %           \put(20,12){\line(5,3){100}}%       % single bond at 1
2324  \put(30,18){\line(5,3){100}}%       % single bond at 1

2325 }%

2326 \else\if\@tmpb A%alpha single bond
2327  \@ifundefined{dottedline}{%
2328  \put(30,18){\line(5,3){100}}%       % single bond at 1
2329 %           \put(20,12){\line(5,3){100}}%       % single bond at 1
2330  }{{\thicklines%
2331  \dottedline{20}(30,18)(130,78)}}%
2332 %              \dottedline{20}(0,406)(120,72)}}%
2333 \else\if\@tmpb U%unspecified single bond
2334  \put(30,18){\line(5,3){100}}%       % single bond at 1
2335 %           \put(20,12){\line(5,3){100}}%       % single bond at 1
2336 \else\if\@tmpb S%beta single bond
2337 %           \put(20,12){\line(5,3){100}}%       % single bond at 1
2338  \put(30,18){\line(5,3){100}}%       % single bond at 1
2339 \else\if\@tmpb D%beta single bond
2340  \put(36,8){\line(5,3){100}}%       % single bond at 1
2341  \put(24,24){\line(5,3){100}}%       % single bond at 1
2342 \else\if\@tmpb T%beta single bond
2343  \put(39,3){\line(5,3){100}}%       % single bond at 1
2344  \put(30,18){\line(5,3){100}}%       % single bond at 1
2345  \put(21,33){\line(5,3){100}}%       % single bond at 1
2346 \else\ifx\@tmpb\empty%beta single bond
2347  \put(30,18){\line(5,3){100}}%       % single bond at 1
2348 %           \put(20,12){\line(5,3){100}}%       % single bond at 1
2349 \fi\fi\fi\fi\fi\fi\fi%
2350  \putratom{140}{60}{\@memberb}%    % right type
2351 %           \putratom{130}{60}{\@memberb}%    % right type
2352 \else%no clipping
2353  \yl@xdiff=-10\relax
2354  \yl@ydiff=18\relax

2355 \if\@tmpb B%beta single bond

2356 {%

2357  \thicklines%
2358  \put(0,0){\line(5,3){130}}%       % single bond at 1
2359 %           \put(0,0){\line(5,3){120}}%       % single bond at 1

2360 }%

2361 \else\if\@tmpb A%alpha single bond
2362 %           \putratom{130}{466}{\@memberb}%   % right type
2363  \@ifundefined{dottedline}{%
2364 %           \put(0,0){\line(5,3){120}}%       % single bond at 1
2365  \put(0,0){\line(5,3){130}}%       % single bond at 1
2366  }{{\thicklines%
2367  \dottedline{20}(0,0)(130,78)}}%
2368 %              \dottedline{20}(0,406)(120,72)}}%
2369 \else\if\@tmpb U%unspecified single bond
2370 %           \put(0,0){\line(5,3){120}}%       % single bond at 1
2371  \put(0,0){\line(5,3){130}}%       % single bond at 1
2372 \else\if\@tmpb S%beta single bond
2373  \put(0,0){\line(5,3){130}}%       % single bond at 1
2374 %           \put(0,0){\line(5,3){120}}%       % single bond at 1
2375 \else\if\@tmpb D%beta single bond
2376  \put(6,-10){\line(5,3){130}}%       % single bond at 1
2377  \put(-6,10){\line(5,3){130}}%       % single bond at 1
2378 \else\if\@tmpb T%beta single bond
2379  \put(9,-15){\line(5,3){130}}%       % single bond at 1
2380  \put(0,0){\line(5,3){130}}%       % single bond at 1
2381  \put(-9,15){\line(5,3){130}}%       % single bond at 1
2382 \else\ifx\@tmpb\empty%beta single bond
2383 %           \put(0,0){\line(5,3){120}}%       % single bond at 1
2384  \put(0,0){\line(5,3){130}}%       % single bond at 1
2385 \fi\fi\fi\fi\fi\fi\fi%
2386  \putratom{140}{60}{\@memberb}%    % right type
2387 %           \putratom{130}{60}{\@memberb}%    % right type
2388 \fi%
2389 }% end of \setatombondf
2390 \def\setatombondg{%% (-5,-3)
2391 \if@clipfuse%
2392  \yl@xdiff=0\relax
2393 %      \yl@ydiff=62\relax
2394  \yl@ydiff=52\relax%1999/1/6 by Shinsaku Fujita
2395 \if\@tmpb B%beta single bond

2396 {%

2397  \thicklines%
2398  \put(-30,-18){\line(-5,-3){100}}%      % single bond at 1

2399 }%

2400 \else\if\@tmpb A%alpha single bond
2401  \@ifundefined{dottedline}{%
2402  \put(-30,-18){\line(-5,-3){100}}%      % single bond at 1
2403  }{{\thicklines%

2404  \dottedline{20}(-20,-12)(-120,-72)}}%
2405 \else\if\@tmpc U%unspecified single bond
2406  \put(-30,-18){\line(-5,-3){100}}%      % single bond at 1
2407 \else\if\@tmpc S%alpha single bond
2408  \put(-30,-18){\line(-5,-3){100}}%      % single bond at 1
2409 \else\if\@tmpb D%double bond
2410  \put(-36,-12){\line(-5,-3){100}}%      % single bond at 1
2411  \put(-24,-28){\line(-5,-3){100}}%      % single bond at 1
2412 \else\if\@tmpb T%triple bond
2413  \put(-39,-3){\line(-5,-3){100}}%      % single bond at 1
2414  \put(-30,-18){\line(-5,-3){100}}%      % single bond at 1
2415  \put(-21,-33){\line(-5,-3){100}}%      % single bond at 1
2416 \else\ifx\@tmpc\empty%alpha single bond
2417  \put(-30,-18){\line(-5,-3){100}}%      % single bond at 1
2418 \fi\fi\fi\fi\fi\fi\fi%
2419  \putlatom{-130}{-130}{\@memberb}% % left type
2420 \else%
2421  \yl@xdiff=0\relax
2422 %      \yl@ydiff=62\relax
2423  \yl@ydiff=52\relax%1999/1/6 by Shinsaku Fujita
2424 \if\@tmpb B%beta single bond

2425 {%

2426  \thicklines%
2427  \put(0,0){\line(-5,-3){130}}%      % single bond at 1

2428 }%

2429 \else\if\@tmpb A%alpha single bond
2430  \@ifundefined{dottedline}{%
2431  \put(0,0){\line(-5,-3){130}}%      % single bond at 1
2432  }{{\thicklines%
2433  \dottedline{20}(0,0)(-130,-78)}}%
2434 \else\if\@tmpc U%unspecified single bond
2435  \put(0,0){\line(-5,-3){130}}%      % single bond at 1
2436 \else\if\@tmpc S%alpha single bond
2437  \put(0,0){\line(-5,-3){130}}%      % single bond at 1
2438 \else\if\@tmpb D%alpha single bond
2439  \put(-6,10){\line(-5,-3){130}}%      % single bond at 1
2440  \put(6,-10){\line(-5,-3){130}}%      % single bond at 1
2441 \else\if\@tmpb T%alpha single bond
2442  \put(-9,15){\line(-5,-3){130}}%      % single bond at 1
2443  \put(0,0){\line(-5,-3){130}}%      % single bond at 1
2444  \put(9,-15){\line(-5,-3){130}}%      % single bond at 1
2445 \else\ifx\@tmpc\empty%alpha single bond
2446  \put(0,0){\line(-5,-3){130}}%      % single bond at 1
2447 \fi\fi\fi\fi\fi\fi\fi%
2448  \putlatom{-130}{-130}{\@memberb}% % left type
2449 \fi%
2450 }% end of \setatombondg
2451 \def\setatombondh{% (-1,0)
2452  \yl@xdiff=17\relax

2453  \yl@ydiff=31\relax
2454 \if@clipfuse%
2455 \if\@tmpb B%beta single bond

2456 {%

2457  \thicklines%
2458  \put(-30,0){\line(-1,0){110}}%       % single bond at 1

2459 }%

2460 \else\if\@tmpb A%alpha single bond
2461  \@ifundefined{dottedline}{%
2462  \put(-30,0){\line(-1,0){110}}%       % single bond at 1
2463  }{{\thicklines%
2464  \dottedline{20}(-30,0)(-140,0)}}%
2465 \else\if\@tmpb U%beta single bond
2466  \put(-30,0){\line(-1,0){110}}%       % single bond at 1
2467 \else\if\@tmpb S%alpha single bond
2468  \put(-40,0){\line(-1,0){100}}%       % single bond at 1
2469 \else\if\@tmpb D%alpha single bond
2470  \put(-40,10){\line(-1,0){100}}%       % single bond at 1
2471  \put(-40,-10){\line(-1,0){100}}%       % single bond at 1
2472 \else\if\@tmpb T%alpha single bond
2473  \put(-40,15){\line(-1,0){100}}%       % single bond at 1
2474  \put(-40,0){\line(-1,0){100}}%       % single bond at 1
2475  \put(-40,-15){\line(-1,0){100}}%       % single bond at 1
2476 \else\ifx\@tmpb\empty%alpha single bond
2477  \put(-40,0){\line(-1,0){100}}%       % single bond at 1
2478 \fi\fi\fi\fi\fi\fi\fi%
2479  \putlatom{-157}{-31}{\@memberb}%   % left type only
2480 \else%
2481 \if\@tmpb B%beta single bond

2482 {%

2483  \thicklines%
2484  \put(0,0){\line(-1,0){140}}%       % single bond at 1

2485 }%

2486 \else\if\@tmpb A%alpha single bond
2487  \@ifundefined{dottedline}{%
2488  \put(0,0){\line(-1,0){140}}%       % single bond at 1
2489  }{{\thicklines%
2490  \dottedline{20}(0,0)(-140,0)}}%
2491 \else\if\@tmpb U%beta single bond
2492  \put(0,0){\line(-1,0){140}}%       % single bond at 1
2493 \else\if\@tmpb S%alpha single bond
2494  \put(0,0){\line(-1,0){140}}%       % single bond at 1
2495 \else\if\@tmpb D%alpha single bond
2496  \put(0,10){\line(-1,0){140}}%       % single bond at 1
2497  \put(0,-10){\line(-1,0){140}}%       % single bond at 1
2498 \else\if\@tmpb T%alpha single bond
2499  \put(0,-15){\line(-1,0){140}}%       % single bond at 1
2500  \put(0,0){\line(-1,0){140}}%       % single bond at 1
2501  \put(0,15){\line(-1,0){140}}%       % single bond at 1
2502 \else\ifx\@tmpb\empty%alpha single bond

2503  \put(0,0){\line(-1,0){140}}%       % single bond at 1
2504 \fi\fi\fi\fi\fi\fi\fi%
2505  \putlatom{-157}{-31}{\@memberb}%   % left type only
2506 \fi%
2507 }% end of \setatombondh

The macro \ylatombondposition is used to calculate the shift values (\@ylii and \@yli) for applying the \setatombond command.

\ylatombondposition
2508 \def\ylatombondposition#1#2#3{%
2509 \@@ylswfalse%%%\@reset@ylsw
2510 \@forsemicol\member:=#1\do{%
2511 \if@@ylsw\else%
2512 \ifx\member\empty\else%
2513 \expandafter\@m@mb@r\member;\relax%
2514 \expandafter\threech@r\@membera{}{}%
2515 \ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
2516 \if@@ylsw
2517 \@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax
2518 \ifnum\@tmpaa >0\relax%
2519 \ifnum\@tmpaa <2\relax%
2520 \ifcase\@tmpaa%
2521 % %%%%%%%%%%%%%%%%
2522 \or% subst. on 1
2523 % %%%%%%%%%%%%%%%%

2524 %

2525 % (0,1)

2526 %

2527 \ifnum#3=1\relax%upward
2528 \if@clipfuse%
2529 \gdef\@ylii{0}\gdef\@yli{-48}\global\@ylswtrue%
2530 \else
2531 \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%

2532 \fi

2533 %   \setatombonda

2534 %

2535 % (1,0)

2536 %

2537 \else\ifnum#3=4\relax%(right)
2538 \if@clipfuse%
2539 \gdef\@ylii{-40}\gdef\@yli{0}\global\@ylswtrue%
2540 \else
2541 \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%

2542 \fi

2543 %   \setatombondb

2544 %

2545 % (0,-1)

2546 %

2547 \else\ifnum#3=7\relax%(downward)

2548 \if@clipfuse%
2549 \gdef\@ylii{0}\gdef\@yli{48}\global\@ylswtrue%
2550 \else
2551 \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%

2552 \fi

2553 %   \setatombondc

2554 %

2555 % (-5,3)

2556 %

2557 \else\ifnum#3=11\relax%
2558 \if@clipfuse%
2559 \gdef\@ylii{50}\gdef\@yli{-30}\global\@ylswtrue%
2560 \else
2561 \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%

2562 \fi

2563 %   \setatombondd

2564 %

2565 % (5,-3)

2566 %

2567 \else\ifnum#3=5\relax%
2568 \if@clipfuse%
2569 \gdef\@ylii{-50}\gdef\@yli{30}\global\@ylswtrue%
2570 \else
2571 \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%

2572 \fi

2573 %   \setatombonde

2574 %

2575 % (5,3)

2576 %

2577 \else\ifnum#3=3\relax%
2578 \if@clipfuse%
2579 \gdef\@ylii{-50}\gdef\@yli{-30}\global\@ylswtrue%
2580 \else
2581 \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%

2582 \fi

2583 %   \setatombondf

2584 %

2585 % (-5,-3)

2586 %

2587 \else\ifnum#3=9\relax%
2588 \if@clipfuse%
2589 \gdef\@ylii{50}\gdef\@yli{30}\global\@ylswtrue%
2590 \else
2591 \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%

2592 \fi

2593 %   \setatombondg

2594 %

2595 % (-1,0)

2596 %

2597 \else\ifnum#3=10\relax%(left)

2598 \if@clipfuse%
2599 \gdef\@ylii{40}\gdef\@yli{0}\global\@ylswtrue%
2600 \else
2601 \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%

2602 \fi

2603 %   \setatombondh
2604 \fi\fi\fi\fi\fi\fi\fi\fi%
2605 \fi%end of ifcase
2606 \fi\fi\fi\fi%
2607 \fi}}% end of \ylatombondposition

5 Macros for horizontal formulas

5.1 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.

\ylpositionh
2608 \def\ylpositionh#1#2#3#4#5{%
2609 \@@ylswfalse%%%\@reset@ylsw
2610 \@forsemicol\member:=#1\do{%
2611 \if@@ylsw\else%
2612 \ifx\member\empty\else%
2613 \expandafter\@m@mb@r\member;\relax%
2614 \expandafter\threech@r\@membera{}{}\relax%
2615 \ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
2616 \if@@ylsw
2617 \ifnum#5<0\relax%
2618 \@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
2619 \else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax\fi
2620 \ifnum\@tmpaa>#3\relax%
2621 \ifnum\@tmpaa<#4\relax%
2622 \ifcase\@tmpaa%0 omit
2623 \or\ifx\aaa\empty
2624  \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@ylatrue% subst. on 1
2625  \else
2626  \gdef\@ylii{30}\gdef\@yli{0}\global\@ylswtrue%\@ylatrue% subst. on 1

2627 \fi

2628 \or\ifx\bbb\empty
2629  \gdef\@ylii{-103}\gdef\@yli{-171}\global\@ylswtrue%\@ylbtrue% subst. on 2
2630  \else
2631  \gdef\@ylii{-73}\gdef\@yli{-223}\global\@ylswtrue%\@ylbtrue% subst. on 2

2632 \fi

2633 \or \ifx\ccc\empty

2634  \gdef\@ylii{-303}\gdef\@yli{-171}\global\@ylswtrue%\@ylctrue% subst. on 3
2635  \else
2636  \gdef\@ylii{-333}\gdef\@yli{-223}\global\@ylswtrue%\@ylctrue% subst. on 3

2637 \fi

2638 \or\ifx\ddd\empty
2639  \gdef\@ylii{-406}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
2640  \else
2641  \gdef\@ylii{-436}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4

2642 \fi

2643 \or\ifx\eee\empty
2644  \gdef\@ylii{-303}\gdef\@yli{171}\global\@ylswtrue%\@yletrue% subst. on 5
2645  \else
2646  \gdef\@ylii{-333}\gdef\@yli{223}\global\@ylswtrue%\@yletrue% subst. on 5

2647 \fi

2648 \or \ifx\fff\empty
2649  \gdef\@ylii{-103}\gdef\@yli{171}\global\@ylswtrue%\@ylftrue% subst. on 6
2650  \else
2651  \gdef\@ylii{-73}\gdef\@yli{223}\global\@ylswtrue%\@ylftrue% subst. on 6

2652 \fi

2653 \fi%end of ifcase
2654 \fi\fi\fi\fi\fi}}%

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.).

\@hsubsta ************************************************************* * treatment of substitution positions for a horizontal type * *************************************************************

2655 % %%%%%%%%%%%%%%%
2656 % % subst. on 1 %
2657 % %%%%%%%%%%%%%%%
2658 \def\@hsubsta{%
2659 \if@aclip %clipping
2660 \if\@tmpb S%single bond
2661  \ifx\@tmpc\empty%
2662  \yl@xdiff=17\relax
2663  \yl@ydiff=31\relax
2664  \putlatom{-157}{-31}{\@memberb}%    % left type only
2665  \put(-30,0){\line(-1,0){110}}%      % single bond at 1
2666  \else\if\@tmpc B%(B) beta
2667  \yl@xdiff=27\relax
2668  \yl@ydiff=36\relax
2669  \putlatom{-157}{42}{\@memberb}%     % left type

2670 {%

2671  \thicklines%
2672  \put(-30,18){\line(-5,3){100}}%     % single bond at 1

2673 }%

2674  \else\if\@tmpc A%(A) alpha
2675  \yl@xdiff=37\relax

2676  \yl@ydiff=28\relax
2677  \putlatom{-157}{-100}{\@memberb}%   % left type
2678  \@ifundefined{dottedline}{%
2679  \put(-30,-18){\line(-5,-3){100}}%    % single bond at 1
2680  }{{\thicklines%
2681  \dottedline{20}(-30,-18)(-120,-72)}}%
2682  \else\if\@tmpc u%(u) up --- (B) beta
2683  \yl@xdiff=37\relax
2684  \yl@ydiff=28\relax
2685  \putlatom{-157}{-100}{\@memberb}%   % left type

2686 {%

2687  \thicklines%
2688  \put(-30,-18){\line(-5,-3){100}}%    % single bond at 1

2689 }%

2690  \else\if\@tmpc d%(d) down --- (A) alpha
2691  \yl@xdiff=27\relax
2692  \yl@ydiff=36\relax
2693  \putlatom{-157}{42}{\@memberb}%     % left type
2694  \@ifundefined{dottedline}{%
2695  \put(-30,18){\line(-5,3){100}}%     % single bond at 1
2696  }{{\thicklines%
2697  \dottedline{20}(-30,18)(-130,78)}}%
2698  \else\if\@tmpc b%(b) beta
2699  \yl@xdiff=27\relax
2700  \yl@ydiff=36\relax
2701  \putlatom{-157}{42}{\@memberb}%    % left type
2702  \put(-30,18){\line(-5,3){100}}%     % single bond at 1
2703  \else\if\@tmpc a%(a) alpha
2704  \yl@xdiff=27\relax
2705  \yl@ydiff=28\relax
2706  \putlatom{-157}{-100}{\@memberb}%   % left type
2707  \put(-30,-18){\line(-5,-3){100}}%   % single bond at 1
2708  \fi\fi\fi\fi\fi
2709  \fi\fi
2710 \else\if\@tmpb D%double bond
2711  \yl@xdiff=17\relax
2712  \yl@ydiff=31\relax
2713  \putlatom{-157}{-31}{\@memberb}%    % left type only
2714  \put(-30,-12){\line(-1,0){110}}%    % double bond at 1
2715  \put(-30,12){\line(-1,0){110}}%     % double bond at 1
2716 \else\if\@tmpb B%beta single bond
2717  \yl@xdiff=17\relax
2718  \yl@ydiff=31\relax
2719  \putlatom{-157}{-31}{\@memberb}%    % left type only

2720 {%

2721  \thicklines%
2722  \put(-30,0){\line(-1,0){110}}%      % single bond at 1

2723 }%

2724 \else\if\@tmpb A%alpha single bond
2725  \yl@xdiff=17\relax

2726  \yl@ydiff=31\relax
2727  \putlatom{-157}{-31}{\@memberb}%    % left type only
2728  \@ifundefined{dottedline}{%
2729  \put(-30,0){\line(-1,0){110}}%      % single bond at 1
2730  }{{\thicklines%
2731  \dottedline{20}(-30,0)(-140,0)}}%
2732 \else\if\@tmpb F%fused bond
2733  {\let\@tmpb=\@tmpc\@clipfusetrue
2734  \put(0,0){\setatombondG}%

2735 }%

2736 \else\if\@tmpb G%fused bond
2737  {\let\@tmpb=\@tmpc\@clipfusetrue
2738  \put(0,0){\setatombondD}%

2739 }%

2740 \else%
2741  \yl@xdiff=17\relax
2742  \yl@ydiff=31\relax
2743  \putlatom{-157}{-31}{\@memberb}%    % left type only
2744  \put(-40,0){\line(-1,0){100}}%      % single bond at 1
2745 \fi\fi\fi\fi
2746 \fi\fi%
2747 \else%% no clipping
2748 \if\@tmpb S%single bond
2749  \ifx\@tmpc\empty%
2750  \yl@xdiff=17\relax
2751  \yl@ydiff=31\relax
2752  \putlatom{-157}{-31}{\@memberb}%    % left type only
2753  \put(0,0){\line(-1,0){140}}%        % single bond at 1
2754  \else\if\@tmpc B%(B) beta
2755  \yl@xdiff=37\relax
2756  \yl@ydiff=30\relax
2757  \putlatom{-157}{42}{\@memberb}%     % left type

2758 {%

2759  \thicklines%
2760  \put(0,0){\line(-5,3){120}}%        % single bond at 1

2761 }%

2762  \else\if\@tmpc A%(A) alpha
2763  \yl@xdiff=37\relax
2764  \yl@ydiff=28\relax
2765  \putlatom{-157}{-100}{\@memberb}%   % left type
2766  \@ifundefined{dottedline}{%
2767  \put(0,0){\line(-5,-3){120}}%       % single bond at 1
2768  }{{\thicklines%
2769  \dottedline{20}(0,0)(-120,-72)}}%
2770  \else\if\@tmpc u%(u) up --- (B) beta
2771  \yl@xdiff=37\relax
2772  \yl@ydiff=28\relax
2773  \putlatom{-157}{-100}{\@memberb}%   % left type

2774 {%

2775  \thicklines%

2776  \put(0,0){\line(-5,-3){120}}%       % single bond at 1

2777 }%

2778  \else\if\@tmpc d%(d) down --- (A) alpha
2779  \yl@xdiff=37\relax
2780  \yl@ydiff=30\relax
2781  \putlatom{-157}{42}{\@memberb}%     % left type
2782  \@ifundefined{dottedline}{%
2783  \put(0,0){\line(-5,3){120}}%        % single bond at 1
2784  }{{\thicklines%
2785  \dottedline{20}(0,0)(-120,72)}}%
2786  \else\if\@tmpc b%(b) beta
2787  \yl@xdiff=37\relax
2788  \yl@ydiff=30\relax
2789  \putlatom{-157}{42}{\@memberb}%    % left type
2790  \put(0,0){\line(-5,3){120}}%        % single bond at 1
2791  \else\if\@tmpc a%(a) alpha
2792  \yl@xdiff=37\relax
2793  \yl@ydiff=28\relax
2794  \putlatom{-157}{-100}{\@memberb}%   % left type
2795  \put(0,0){\line(-5,-3){120}}%       % single bond at 1
2796  \fi\fi\fi\fi\fi
2797  \fi\fi
2798 \else\if\@tmpb D%double bond
2799  \yl@xdiff=17\relax
2800  \yl@ydiff=31\relax
2801  \putlatom{-157}{-31}{\@memberb}%   % left type only
2802  \put(0,-12){\line(-1,0){140}}%     % double bond at 1
2803  \put(0,12){\line(-1,0){140}}%      % double bond at 1
2804 \else\if\@tmpb B%beta single bond
2805  \yl@xdiff=17\relax
2806  \yl@ydiff=31\relax
2807  \putlatom{-157}{-31}{\@memberb}%   % left type only

2808 {%

2809  \thicklines%
2810  \put(0,0){\line(-1,0){140}}%       % single bond at 1

2811 }%

2812 \else\if\@tmpb A%alpha single bond
2813  \yl@xdiff=17\relax
2814  \yl@ydiff=31\relax
2815  \putlatom{-157}{-31}{\@memberb}%   % left type only
2816  \@ifundefined{dottedline}{%
2817  \put(0,0){\line(-1,0){140}}%       % single bond at 1
2818  }{{\thicklines%
2819  \dottedline{20}(0,0)(-140,0)}}%
2820 \else\if\@tmpb F%fused bond
2821  {\let\@tmpb=\@tmpc\@clipfusefalse
2822  \put(0,0){\setatombondG}%

2823 }%

2824 \else\if\@tmpb G%fused bond
2825  {\let\@tmpb=\@tmpc\@clipfusefalse

2826  \put(0,0){\setatombondD}%

2827 }%

2828 \else%
2829  \yl@xdiff=17\relax
2830  \yl@ydiff=31\relax
2831  \putlatom{-157}{-31}{\@memberb}%   % left type only
2832  \put(0,0){\line(-1,0){140}}%       % single bond at 1
2833 \fi\fi\fi\fi%
2834 \fi\fi
2835 \fi}%end of \@hsubsta

The \@hsubstb command is used for placing a substituent (\@memberb) at the 2-position (upper-left) of a vertical six-membered ring.

\@hsubstb
2836 % %%%%%%%%%%%%%%%
2837 % % subst. on 2 %
2838 % %%%%%%%%%%%%%%%
2839 \def\@hsubstb{%
2840 \if@bclip %clipping
2841 \if\@tmpb S%single bond
2842  \ifx\@tmpc\empty%
2843  \yl@xdiff=43\relax
2844  \yl@ydiff=5\relax
2845  \putlratom{-27}{331}{\@memberb}%
2846  \put(79,221){\line(-3,5){63}}% % single bond at 2 (62=>63)
2847  \else\if\@tmpc B%(B) beta
2848  \yl@xdiff=0\relax
2849  \yl@ydiff=21\relax
2850  \putlatom{-41}{240}{\@memberb}%     % left type

2851 {%

2852  \thicklines%
2853  \put(59,201){\line(-5,3){100}}%     % single bond at 2

2854 }%

2855  \else\if\@tmpc A%(A) alpha
2856  \yl@xdiff=20\relax
2857  \yl@ydiff=-10\relax
2858  \putratom{83}{331}{\@memberb}%      % right type
2859  \@ifundefined{dottedline}{%
2860  \put(103,221){\line(0,1){100}}%     % single bond at 2
2861  }{{\thicklines%
2862  \dottedline{20}(103,221)(103,321)}}%1998/10/11 by SF
2863  \else\if\@tmpc u%(u) up --- (B) beta
2864  \yl@xdiff=20\relax
2865  \yl@ydiff=-10\relax
2866  \putratom{83}{331}{\@memberb}%      % right type

2867 {%

2868  \thicklines%
2869  \put(103,221){\line(0,1){100}}%     % single bond at 2

2870 }%

2871  \else\if\@tmpc d%(d) down --- (A) alpha
2872  \yl@xdiff=0\relax
2873  \yl@ydiff=21\relax
2874  \putlatom{-41}{240}{\@memberb}%     % left type
2875  \@ifundefined{dottedline}{%
2876  \put(59,201){\line(-5,3){100}}%     % single bond at 2
2877  }{{\thicklines%
2878  \dottedline{20}(59,201)(-41,261)}}%1998/10/11 by SF
2879  \else\if\@tmpc b%(b) beta
2880  \yl@xdiff=0\relax
2881  \yl@ydiff=21\relax
2882  \putlatom{-41}{240}{\@memberb}%     % left type
2883  \put(59,201){\line(-5,3){100}}%     % single bond at 2
2884  \else\if\@tmpc a%(a) alpha
2885  \yl@xdiff=20\relax
2886  \yl@ydiff=-10\relax
2887  \putratom{83}{331}{\@memberb}%      % right type
2888  \put(103,221){\line(0,1){100}}%     % single bond at 2
2889  \fi\fi\fi\fi\fi%
2890  \fi\fi
2891 \else\if\@tmpb D%double bond
2892  \yl@xdiff=49\relax
2893  \yl@ydiff=-13\relax
2894  \putlratom{-27}{331}{\@memberb}%
2895  \put(78,208){\line(-3,5){63}}% % double bond at 2(62->63)
2896  \put(100,219){\line(-3,5){63}}% % double bond at 2(62->63)
2897 \else\if\@tmpb B%beta single bond
2898  \yl@xdiff=43\relax
2899  \yl@ydiff=5\relax
2900  \putlratom{-27}{331}{\@memberb}%

2901 {%

2902  \thicklines%
2903  \put(79,221){\line(-3,5){63}}% % single bond at 2 (62->63)

2904 }%

2905 \else\if\@tmpb A%alpha single bond
2906  \yl@xdiff=43\relax
2907  \yl@ydiff=5\relax
2908  \putlratom{-27}{331}{\@memberb}%
2909  \@ifundefined{dottedline}{%
2910  \put(79,221){\line(-3,5){63}}% % single bond at 2(62->63)
2911  }{{\thicklines%
2912  \dottedline{20}(79,221)(16,326)}}%1998/10/11 by SF
2913 \else\if\@tmpb F%fused bond
2914  {\let\@tmpb=\@tmpc\@clipfusetrue
2915  \put(103,171){\setatombondh}%

2916 }%

2917 \else\if\@tmpb G%fused bond
2918  {\let\@tmpb=\@tmpc\@clipfusetrue
2919  \put(103,171){\setatombondF}%

2920 }%

2921 \else%
2922  \yl@xdiff=43\relax
2923  \yl@ydiff=5\relax
2924  \putlratom{-27}{331}{\@memberb}%
2925  \put(79,221){\line(-3,5){63}}% % single bond at 2 (62->63)
2926 \fi\fi\fi\fi%
2927 \fi\fi
2928 \else%%no clipping
2929 \if\@tmpb S%single bond
2930  \ifx\@tmpc\empty%
2931  \yl@xdiff=58\relax
2932  \yl@ydiff=-41\relax
2933  \putlratom{-27}{331}{\@memberb}%
2934  \put(103,171){\line(-3,5){72}}%     % single bond at 2
2935  \else\if\@tmpc B%(B) beta
2936  \yl@xdiff=14\relax
2937  \yl@ydiff=-3\relax
2938  \putlatom{-31}{240}{\@memberb}%     % left type

2939 {%

2940  \thicklines%
2941  \put(103,171){\line(-5,3){120}}%    % single bond at 2

2942 }%

2943  \else\if\@tmpc A%(A) alpha
2944  \yl@xdiff=20\relax
2945  \yl@ydiff=-20\relax
2946  \putratom{83}{331}{\@memberb}%      % right type
2947  \@ifundefined{dottedline}{%
2948  \put(103,171){\line(0,1){140}}%     % single bond at 2
2949  }{{\thicklines%
2950  \dottedline{20}(103,171)(103,311)}}%1998/10/11 by SF
2951  \else\if\@tmpc u%(u) up --- (B) beta
2952  \yl@xdiff=20\relax
2953  \yl@ydiff=-20\relax
2954  \putratom{83}{331}{\@memberb}%      % right type

2955 {%

2956  \thicklines%
2957  \put(103,171){\line(0,1){140}}%     % single bond at 2

2958 }%

2959  \else\if\@tmpc d%(d) down --- (A) alpha
2960  \yl@xdiff=14\relax
2961  \yl@ydiff=-3\relax
2962  \putlatom{-31}{240}{\@memberb}%     % left type
2963  \@ifundefined{dottedline}{%
2964  \put(103,171){\line(-5,3){120}}%    % single bond at 2
2965  }{{\thicklines%
2966  \dottedline{20}(103,171)(-7,243)}}%1998/10/11 by SF
2967  \else\if\@tmpc b%(b) beta
2968  \yl@xdiff=14\relax
2969  \yl@ydiff=-3\relax
2970  \putlatom{-31}{240}{\@memberb}%     % left type

2971  \put(103,171){\line(-5,3){120}}%    % single bond at 2
2972  \else\if\@tmpc a%(a) alpha
2973  \yl@xdiff=20\relax
2974  \yl@ydiff=-20\relax
2975  \putratom{83}{331}{\@memberb}%      % right type
2976  \put(103,171){\line(0,1){140}}%     % single bond at 2
2977  \fi\fi\fi\fi\fi%
2978  \fi\fi
2979 \else\if\@tmpb D%double bond
2980  \yl@xdiff=64\relax
2981  \yl@ydiff=-41\relax
2982  \putlratom{-27}{331}{\@memberb}%
2983  \put(96,168){\line(-3,5){72}}%      % double bond at 2
2984  \put(121,174){\line(-3,5){72}}%     % double bond at 2
2985 \else\if\@tmpb B%beta single bond
2986  \yl@xdiff=58\relax
2987  \yl@ydiff=-41\relax
2988  \putlratom{-27}{331}{\@memberb}%

2989 {%

2990  \thicklines%
2991  \put(103,171){\line(-3,5){72}}%     % single bond at 2

2992 }%

2993 \else\if\@tmpb A%alpha single bond
2994  \yl@xdiff=58\relax
2995  \yl@ydiff=-41\relax
2996  \putlratom{-27}{331}{\@memberb}%
2997  \@ifundefined{dottedline}{%
2998  \put(103,171){\line(-3,5){72}}%     % single bond at 2
2999  }{{\thicklines%
3000  \dottedline{20}(103,171)(31,291)}}%
3001 \else\if\@tmpb F%fused bond
3002  {\let\@tmpb=\@tmpc\@clipfusefalse
3003  \put(103,171){\setatombondh}%

3004 }%

3005 \else\if\@tmpb G%fused bond
3006  {\let\@tmpb=\@tmpc\@clipfusefalse
3007  \put(103,171){\setatombondF}%

3008 }%

3009 \else%
3010  \yl@xdiff=58\relax
3011  \yl@ydiff=-41\relax
3012  \putlratom{-27}{331}{\@memberb}%
3013  \put(103,171){\line(-3,5){72}}%     % single bond at 2
3014 \fi\fi\fi\fi%
3015 \fi\fi
3016 \fi}% end of \@hsubstb

The \@hsubstc command is used for placing a substituent (\@memberb) at the 3-position (upper-right) of a vertical six-membered ring.

\@hsubstc
3017 % %%%%%%%%%%%%%%%
3018 % % subst. on 3 %
3019 % %%%%%%%%%%%%%%%
3020 \def\@hsubstc{%
3021 \if@cclip %clipping
3022 \if\@tmpb S%single bond
3023  \ifx\@tmpc\empty%
3024  \yl@xdiff=43\relax
3025  \yl@ydiff=5\relax
3026  \putratom{363}{331}{\@memberb}%
3027  \put(343,221){\line(3,5){63}}% % single bond at 3 (62->63)
3028  \else\if\@tmpc B%(B) beta
3029  \yl@xdiff=0\relax
3030  \yl@ydiff=21\relax
3031  \putratom{443}{240}{\@memberb}%     % right type

3032 {%

3033  \thicklines%
3034  \put(343,201){\line(5,3){100}}%     % single bond at 3

3035 }%

3036  \else\if\@tmpc A%(A) alpha
3037  \yl@xdiff=20\relax
3038  \yl@ydiff=0\relax
3039  \putratom{283}{331}{\@memberb}%     % right type
3040  \@ifundefined{dottedline}{%
3041  \put(303,221){\line(0,1){110}}%     % single bond at 3
3042  }{{\thicklines%
3043  \dottedline{20}(303,221)(303,331)}}%
3044  \else\if\@tmpc u%(u) up --- (B) beta
3045  \yl@xdiff=20\relax
3046  \yl@ydiff=0\relax
3047  \putratom{283}{331}{\@memberb}%     % right type

3048 {%

3049  \thicklines%
3050  \put(303,221){\line(0,1){110}}%     % single bond at 3

3051 }%

3052  \else\if\@tmpc d%(d) down --- (A) alpha
3053  \yl@xdiff=0\relax
3054  \yl@ydiff=21\relax
3055  \putratom{443}{240}{\@memberb}%     % right type
3056  \@ifundefined{dottedline}{%
3057  \put(343,201){\line(5,3){100}}%     % single bond at 3
3058  }{{\thicklines%
3059  \dottedline{20}(343,201)(443,261)}}%
3060  \else\if\@tmpc b%(b) beta
3061  \yl@xdiff=0\relax
3062  \yl@ydiff=21\relax
3063  \putratom{443}{240}{\@memberb}%     % right type
3064  \put(343,201){\line(5,3){100}}%     % single bond at 3

3065  \else\if\@tmpc a%(a) alpha
3066  \yl@xdiff=20\relax
3067  \yl@ydiff=0\relax
3068  \putratom{283}{331}{\@memberb}%     % right type
3069  \put(303,221){\line(0,1){110}}%     % single bond at 3
3070  \fi\fi\fi\fi\fi%
3071  \fi\fi
3072 \else\if\@tmpb D%double bond
3073  \yl@xdiff=22\relax
3074  \yl@ydiff=-18\relax
3075  \putratom{363}{331}{\@memberb}%
3076  \put(328,208){\line(3,5){63}}%  % double bond at 3
3077  \put(303,214){\line(3,5){63}}%  % double bond at 3
3078 \else\if\@tmpb B%beta single bond
3079  \yl@xdiff=43\relax
3080  \yl@ydiff=5\relax
3081  \putratom{363}{331}{\@memberb}%

3082 {%

3083  \thicklines%
3084  \put(343,221){\line(3,5){63}}%  % single bond at 3

3085 }%

3086 \else\if\@tmpb A%alpha single bond
3087  \yl@xdiff=43\relax
3088  \yl@ydiff=5\relax
3089  \putratom{363}{331}{\@memberb}%
3090  \@ifundefined{dottedline}{%
3091  \put(343,221){\line(3,5){63}}% % single bond at 3 (62->63)
3092  }{{\thicklines%
3093  \dottedline{20}(343,221)(406,326)}}% 1998/10/11 by SF
3094 \else\if\@tmpb F%fused bond
3095  {\let\@tmpb=\@tmpc\@clipfusetrue
3096  \put(303,171){\setatombondD}%

3097 }%

3098 \else\if\@tmpb G%fused bond
3099  {\let\@tmpb=\@tmpc\@clipfusetrue
3100  \put(303,171){\setatombondb}%

3101 }%

3102 \else%
3103  \yl@xdiff=43\relax
3104  \yl@ydiff=5\relax
3105  \putratom{363}{331}{\@memberb}%
3106  \put(343,221){\line(3,5){63}}%  % single bond at 3 (62->63)
3107 \fi\fi\fi\fi%
3108 \fi\fi
3109 \else%no clipping
3110 \if\@tmpb S%single bond
3111  \ifx\@tmpc\empty%
3112  \yl@xdiff=12\relax
3113  \yl@ydiff=-40\relax
3114  \putratom{363}{331}{\@memberb}%

3115  \put(303,171){\line(3,5){72}}%      % single bond at 3
3116  \else\if\@tmpc B%(B) beta
3117  \yl@xdiff=-20\relax
3118  \yl@ydiff=3\relax
3119  \putratom{443}{240}{\@memberb}%     % right type

3120 {%

3121  \thicklines%
3122  \put(303,171){\line(5,3){120}}%     % single bond at 3

3123 }%

3124  \else\if\@tmpc A%(A) alpha
3125  \yl@xdiff=20\relax
3126  \yl@ydiff=-20\relax
3127  \putratom{283}{331}{\@memberb}%     % right type
3128  \@ifundefined{dottedline}{%
3129  \put(303,171){\line(0,1){140}}%     % single bond at 3
3130  }{{\thicklines%
3131  \dottedline{20}(303,171)(303,311)}}%
3132  \else\if\@tmpc u%(u) up  --- (B) beta
3133  \yl@xdiff=20\relax
3134  \yl@ydiff=-20\relax
3135  \putratom{283}{331}{\@memberb}%     % right type

3136 {%

3137  \thicklines%
3138  \put(303,171){\line(0,1){140}}%     % single bond at 3

3139 }%

3140  \else\if\@tmpc d%(d) down --- (A) alpha
3141  \yl@xdiff=-20\relax
3142  \yl@ydiff=3\relax
3143  \putratom{443}{240}{\@memberb}%     % right type
3144  \@ifundefined{dottedline}{%
3145  \put(303,171){\line(5,3){120}}%     % single bond at 3
3146  }{{\thicklines%
3147  \dottedline{20}(303,171)(423,243)}}%
3148  \else\if\@tmpc b%(b) beta
3149  \yl@xdiff=-20\relax
3150  \yl@ydiff=3\relax
3151  \putratom{443}{240}{\@memberb}%     % right type
3152  \put(303,171){\line(5,3){120}}%     % single bond at 3
3153  \else\if\@tmpc a%(a) alpha
3154  \yl@xdiff=20\relax
3155  \yl@ydiff=-20\relax
3156  \putratom{283}{331}{\@memberb}%     % right type
3157  \put(303,171){\line(0,1){140}}%     % single bond at 3
3158  \fi\fi\fi\fi\fi%
3159  \fi\fi%
3160 \else\if\@tmpb D%double bond
3161  \yl@xdiff=6\relax
3162  \yl@ydiff=-40\relax
3163  \putratom{363}{331}{\@memberb}%
3164  \put(310,168){\line(3,5){72}}%      % double bond at 3

3165  \put(284,174){\line(3,5){72}}%      % double bond at 3
3166 \else\if\@tmpb B%beta single bond
3167  \yl@xdiff=12\relax
3168  \yl@ydiff=-40\relax
3169  \putratom{363}{331}{\@memberb}%

3170 {%

3171  \thicklines%
3172  \put(303,171){\line(3,5){72}}%      % single bond at 3

3173 }%

3174 \else\if\@tmpb A%alpha single bond
3175  \yl@xdiff=12\relax
3176  \yl@ydiff=-40\relax
3177  \putratom{363}{331}{\@memberb}%
3178  \@ifundefined{dottedline}{%
3179  \put(303,171){\line(3,5){72}}%      % single bond at 3
3180  }{{\thicklines%
3181  \dottedline{20}(303,171)(375,291)}}%
3182 \else\if\@tmpb F%fused bond
3183  {\let\@tmpb=\@tmpc\@clipfusefalse
3184  \put(303,171){\setatombondD}%

3185 }%

3186 \else\if\@tmpb G%fused bond
3187  {\let\@tmpb=\@tmpc\@clipfusefalse
3188  \put(303,171){\setatombondb}%

3189 }%

3190 \else%
3191  \yl@xdiff=12\relax
3192  \yl@ydiff=-40\relax
3193  \putratom{363}{331}{\@memberb}%
3194  \put(303,171){\line(3,5){72}}%      % single bond at 3
3195 \fi\fi\fi\fi%
3196 \fi\fi
3197 \fi}% end of \@hsubstc

The \@hsubstd command is used for placing a substituent (\@memberb) at the 4-position (right-hand) of a vertical six-membered ring.

\@substd
3198 % %%%%%%%%%%%%%%%
3199 % % subst. on 4 %
3200 % %%%%%%%%%%%%%%%
3201 \def\@hsubstd{%
3202 \if@clip %clipping
3203 \if\@tmpb S%single bond
3204  \ifx\@tmpc\empty%
3205  \yl@xdiff=-17\relax
3206  \yl@ydiff=31\relax
3207  \putratom{563}{-31}{\@memberb}%    % right type only
3208  \put(436,0){\line(1,0){110}}%     % single bond at 4
3209  \else\if\@tmpc B%(B) beta

3210  \yl@xdiff=-27\relax
3211  \yl@ydiff=36\relax
3212  \putratom{563}{42}{\@memberb}%     % right type only

3213 {%

3214  \thicklines%
3215  \put(436,18){\line(5,3){100}}%     % single bond at 4

3216 }%

3217  \else\if\@tmpc A%(A) alpha
3218  \yl@xdiff=-27\relax
3219  \yl@ydiff=22\relax
3220  \putratom{563}{-100}{\@memberb}%   % right type only
3221  \@ifundefined{dottedline}{%
3222  \put(436,-18){\line(5,-3){100}}%   % single bond at 4
3223  }{{\thicklines%
3224  \dottedline{20}(436,-18)(526,-72)}}%
3225  \else\if\@tmpc u%(u) up --- (B) beta
3226  \yl@xdiff=-27\relax
3227  \yl@ydiff=22\relax
3228  \putratom{563}{-100}{\@memberb}%   % right type only

3229 {%

3230  \thicklines%
3231  \put(436,-18){\line(5,-3){100}}%   % single bond at 4

3232 }%

3233  \else\if\@tmpc d%(d) down --- (A) alpha
3234  \yl@xdiff=-27\relax
3235  \yl@ydiff=36\relax
3236  \putratom{563}{42}{\@memberb}%     % right type only
3237  \@ifundefined{dottedline}{%
3238  \put(436,18){\line(5,3){100}}%     % single bond at 4
3239  }{{\thicklines%
3240  \dottedline{20}(436,18)(536,78)}}%
3241  \else\if\@tmpc b%(b) beta
3242  \yl@xdiff=-27\relax
3243  \yl@ydiff=36\relax
3244  \putratom{563}{42}{\@memberb}%     % right type only
3245  \put(436,18){\line(5,3){100}}%     % single bond at 4
3246  \else\if\@tmpc a%(a) alpha
3247  \yl@xdiff=-27\relax
3248  \yl@ydiff=22\relax
3249  \putratom{563}{-100}{\@memberb}%   % right type only
3250  \put(436,-18){\line(5,-3){100}}%   % single bond at 4
3251  \fi\fi\fi\fi\fi%
3252  \fi\fi
3253 \else\if\@tmpb D%double bond
3254  \yl@xdiff=-17\relax
3255  \yl@ydiff=31\relax
3256  \putratom{563}{-31}{\@memberb}%    % right type only
3257  \put(436,-12){\line(1,0){110}}%    % double bond at 4
3258  \put(436,12){\line(1,0){110}}%     % double bond at 4
3259 \else\if\@tmpb B%beta single bond

3260  \yl@xdiff=-17\relax
3261  \yl@ydiff=31\relax
3262  \putratom{563}{-31}{\@memberb}%    % right type only

3263 {%

3264  \thicklines%
3265  \put(436,0){\line(1,0){110}}%     % single bond at 4

3266 }%

3267 \else\if\@tmpb A%alpha single bond
3268  \yl@xdiff=-17\relax
3269  \yl@ydiff=31\relax
3270  \putratom{563}{-31}{\@memberb}%    % right type only
3271  \@ifundefined{dottedline}{%
3272  \put(436,0){\line(1,0){110}}%     % single bond at 4
3273  }{{\thicklines%
3274  \dottedline{20}(436,0)(546,0)}}%
3275 \else\if\@tmpb F%fused bond
3276  {\let\@tmpb=\@tmpc\@clipfusetrue
3277  \put(406,0){\setatombondF}%

3278 }%

3279 \else\if\@tmpb G%fused bond
3280  {\let\@tmpb=\@tmpc\@clipfusetrue
3281  \put(406,0){\setatombondE}%

3282 }%

3283 \else%
3284  \yl@xdiff=-17\relax
3285  \yl@ydiff=31\relax
3286  \putratom{563}{-31}{\@memberb}%    % right type only
3287  \put(436,0){\line(1,0){110}}%     % single bond at 4
3288 \fi\fi\fi\fi%
3289 \fi\fi
3290 \else%% no clipping
3291 \if\@tmpb S%single bond
3292  \ifx\@tmpc\empty%
3293  \yl@xdiff=-17\relax
3294  \yl@ydiff=31\relax
3295  \putratom{563}{-31}{\@memberb}%    % right type only
3296  \put(406,0){\line(1,0){140}}%     % single bond at 4
3297  \else\if\@tmpc B%(B) beta
3298  \yl@xdiff=-37\relax
3299  \yl@ydiff=30\relax
3300  \putratom{563}{42}{\@memberb}%     % right type only

3301 {%

3302  \thicklines%
3303  \put(406,0){\line(5,3){120}}%      % single bond at 4

3304 }%

3305  \else\if\@tmpc A%(A) alpha
3306  \yl@xdiff=-37\relax
3307  \yl@ydiff=28\relax
3308  \putratom{563}{-100}{\@memberb}%   % right type only
3309  \@ifundefined{dottedline}{%

3310  \put(406,0){\line(5,-3){120}}%     % single bond at 4
3311  }{{\thicklines%
3312  \dottedline{20}(406,0)(526,-72)}}%
3313 \else\if\@tmpc u%(u) up --- (B) beta
3314  \yl@xdiff=-37\relax
3315  \yl@ydiff=28\relax
3316  \putratom{563}{-100}{\@memberb}%   % right type only

3317 {%

3318  \thicklines%
3319  \put(406,0){\line(5,-3){120}}%     % single bond at 4

3320 }%

3321  \else\if\@tmpc d%(d) down --- (A) alpha
3322  \yl@xdiff=-37\relax
3323  \yl@ydiff=30\relax
3324  \putratom{563}{42}{\@memberb}%     % right type only
3325  \@ifundefined{dottedline}{%
3326  \put(406,0){\line(5,3){120}}%      % single bond at 4
3327  }{{\thicklines%
3328  \dottedline{20}(406,0)(526,72)}}%
3329  \else\if\@tmpc b%(b) beta
3330  \yl@xdiff=-37\relax
3331  \yl@ydiff=30\relax
3332  \putratom{563}{42}{\@memberb}%     % right type only
3333  \put(406,0){\line(5,3){120}}%      % single bond at 4
3334  \else\if\@tmpc a%(a) alpha
3335  \yl@xdiff=-37\relax
3336  \yl@ydiff=28\relax
3337  \putratom{563}{-100}{\@memberb}%   % right type only
3338  \put(406,0){\line(5,-3){120}}%     % single bond at 4
3339  \fi\fi\fi\fi\fi%
3340  \fi\fi
3341 \else\if\@tmpb D%double bond
3342  \yl@xdiff=-17\relax
3343  \yl@ydiff=31\relax
3344  \putratom{563}{-31}{\@memberb}%    % right type only
3345  \put(406,-12){\line(1,0){140}}%    % double bond at 4
3346  \put(406,12){\line(1,0){140}}%     % double bond at 4
3347 \else\if\@tmpb B%beta single bond
3348  \yl@xdiff=-17\relax
3349  \yl@ydiff=31\relax
3350  \putratom{563}{-31}{\@memberb}%    % right type only

3351 {%

3352  \thicklines%
3353  \put(406,0){\line(1,0){140}}%     % single bond at 4

3354 }%

3355 \else\if\@tmpb A%alpha single bond
3356  \yl@xdiff=-17\relax
3357  \yl@ydiff=31\relax
3358  \putratom{563}{-31}{\@memberb}%    % right type only
3359  \@ifundefined{dottedline}{%

3360  \put(406,0){\line(1,0){140}}%     % single bond at 4
3361  }{{\thicklines%
3362  \dottedline{20}(406,0)(546,0)}}%
3363 \else\if\@tmpb F%fused bond
3364  {\let\@tmpb=\@tmpc\@clipfusefalse
3365  \put(406,0){\setatombondF}%

3366 }%

3367 \else\if\@tmpb G%fused bond
3368  {\let\@tmpb=\@tmpc\@clipfusefalse
3369  \put(406,0){\setatombondE}%

3370 }%

3371 \else%
3372  \yl@xdiff=-17\relax
3373  \yl@ydiff=31\relax
3374  \putratom{563}{-31}{\@memberb}%    % right type only
3375  \put(406,0){\line(1,0){140}}%     % single bond at 4
3376 \fi\fi\fi\fi%
3377 \fi\fi
3378 \fi}% end of \@hsubstd

The \@hsubste command is used for placing a substituent (\@memberb) at the 5-position (lower-right) of a vertical six-membered ring.

\@hsubste
3379 % %%%%%%%%%%%%%%%
3380 % % subst. on 5 %
3381 % %%%%%%%%%%%%%%%
3382 \def\@hsubste{%
3383 \if@eclip %clipping
3384 \if\@tmpb S%single bond
3385  \ifx\@tmpc\empty%
3386  \yl@xdiff=43\relax
3387  \yl@ydiff=76\relax
3388  \putratom{363}{-402}{\@memberb}%
3389  \put(343,-221){\line(3,-5){63}}%% single bond at 5 (62=>63)
3390  \else\if\@tmpc B%(B) beta
3391  \yl@xdiff=0\relax
3392  \yl@ydiff=41\relax
3393  \putratom{443}{-301}{\@memberb}%    % right type

3394 {%

3395  \thicklines%
3396  \put(343,-201){\line(5,-3){100}}%   % single bond at 5

3397 }%

3398  \else\if\@tmpc A%(A) alpha
3399  \yl@xdiff=20\relax
3400  \yl@ydiff=71\relax
3401  \putratom{283}{-402}{\@memberb}%    % right type
3402  \@ifundefined{dottedline}{%
3403  \put(303,-221){\line(0,-1){110}}%   % single bond at 5
3404  }{{\thicklines%

3405  \dottedline{20}(303,-221)(303,-321)}}%
3406  \else\if\@tmpc u%(u) up --- (B) beta
3407  \yl@xdiff=20\relax
3408  \yl@ydiff=71\relax
3409  \putratom{283}{-402}{\@memberb}%    % right type

3410 {%

3411  \thicklines%
3412  \put(303,-221){\line(0,-1){110}}%   % single bond at 5

3413 }%

3414  \else\if\@tmpc d%(d) down --- (A) alpha
3415  \yl@xdiff=0\relax
3416  \yl@ydiff=41\relax
3417  \putratom{443}{-301}{\@memberb}%    % right type
3418  \@ifundefined{dottedline}{%
3419  \put(343,-201){\line(5,-3){100}}%   % single bond at 5
3420  }{{\thicklines%
3421  \dottedline{20}(343,-201)(443,-260)}}%
3422  \else\if\@tmpc b%(b) beta
3423  \yl@xdiff=0\relax
3424  \yl@ydiff=41\relax
3425  \putratom{443}{-301}{\@memberb}%    % right type
3426  \put(343,-201){\line(5,-3){100}}%   % single bond at 5
3427  \else\if\@tmpc a%(a) alpha
3428  \yl@xdiff=20\relax
3429  \yl@ydiff=71\relax
3430  \putratom{283}{-402}{\@memberb}%    % right type
3431  \put(303,-221){\line(0,-1){110}}%   % single bond at 5
3432  \fi\fi\fi\fi\fi%
3433  \fi\fi
3434 \else\if\@tmpb D%double bond
3435  \yl@xdiff=22\relax
3436  \yl@ydiff=82\relax
3437  \putratom{363}{-402}{\@memberb}
3438  \put(328,-208){\line(3,-5){63}}% % double bond at 5 (62->63)
3439  \put(306,-224){\line(3,-5){63}}% % double bond at 5 (62->63)
3440 \else\if\@tmpb B%beta single bond
3441  \yl@xdiff=43\relax
3442  \yl@ydiff=76\relax
3443  \putratom{363}{-402}{\@memberb}%

3444 {%

3445  \thicklines%
3446  \put(343,-221){\line(3,-5){63}}%% single bond at 5(62->63)

3447 }%

3448 \else\if\@tmpb A%alpha single bond
3449  \yl@xdiff=43\relax
3450  \yl@ydiff=76\relax
3451  \putratom{363}{-402}{\@memberb}%
3452  \@ifundefined{dottedline}{%
3453  \put(343,-221){\line(3,-5){63}}% % single bond at 5 (62->63)
3454  }{{\thicklines%

3455  \dottedline{20}(343,-221)(406,-326)}}%1998/10/11 by SF
3456 \else\if\@tmpb F%fused bond
3457  {\let\@tmpb=\@tmpc\@clipfusetrue
3458  \put(303,-171){\setatombondb}%

3459 }%

3460 \else\if\@tmpb G%fused bond
3461  {\let\@tmpb=\@tmpc\@clipfusetrue
3462  \put(303,-171){\setatombondG}%

3463 }%

3464 \else%
3465  \yl@xdiff=43\relax
3466  \yl@ydiff=76\relax
3467  \putratom{363}{-402}{\@memberb}%
3468  \put(343,-221){\line(3,-5){63}}% % single bond at 5(62->63)
3469 \fi\fi\fi\fi%
3470 \fi\fi
3471 \else%no clipping
3472 \if\@tmpb S%single bond
3473  \ifx\@tmpc\empty%
3474  \yl@xdiff=9\relax
3475  \yl@ydiff=111\relax
3476  \putratom{363}{-402}{\@memberb}%
3477  \put(303,-171){\line(3,-5){72}}%    % single bond at 5
3478  \else\if\@tmpc B%(B) beta
3479  \yl@xdiff=-20\relax
3480  \yl@ydiff=58\relax
3481  \putratom{443}{-301}{\@memberb}%    % right type

3482 {%

3483  \thicklines%
3484  \put(303,-171){\line(5,-3){120}}%   % single bond at 5

3485 }%

3486  \else\if\@tmpc A%(A) alpha
3487  \yl@xdiff=20\relax
3488  \yl@ydiff=81\relax
3489  \putratom{283}{-402}{\@memberb}%    % right type
3490  \@ifundefined{dottedline}{%
3491  \put(303,-171){\line(0,-1){140}}%   % single bond at 5
3492  }{{\thicklines%
3493  \dottedline{20}(303,-171)(303,-321)}}%
3494  \else\if\@tmpc u%(u) up --- (B) beta
3495  \yl@xdiff=20\relax
3496  \yl@ydiff=81\relax
3497  \putratom{283}{-402}{\@memberb}%    % right type

3498 {%

3499  \thicklines%
3500  \put(303,-171){\line(0,-1){140}}%   % single bond at 5

3501 }%

3502  \else\if\@tmpc d%(d) down --- (A) alpha
3503  \yl@xdiff=-20\relax
3504  \yl@ydiff=58\relax

3505  \putratom{443}{-301}{\@memberb}%    % right type
3506  \@ifundefined{dottedline}{%
3507  \put(303,-171){\line(5,-3){120}}%   % single bond at 5
3508  }{{\thicklines%
3509  \dottedline{20}(303,-171)(423,-243)}}%
3510  \else\if\@tmpc b%(b) beta
3511  \yl@xdiff=-20\relax
3512  \yl@ydiff=58\relax
3513  \putratom{443}{-301}{\@memberb}%    % right type
3514  \put(303,-171){\line(5,-3){120}}%   % single bond at 5
3515  \else\if\@tmpc a%(a) alpha
3516  \yl@xdiff=20\relax
3517  \yl@ydiff=81\relax
3518  \putratom{283}{-402}{\@memberb}%    % right type
3519  \put(303,-171){\line(0,-1){140}}%   % single bond at 5
3520  \fi\fi\fi\fi\fi%
3521  \fi\fi
3522 \else\if\@tmpb D%double bond
3523  \yl@xdiff=3\relax
3524  \yl@ydiff=111\relax
3525  \putratom{363}{-402}{\@memberb}%
3526  \put(310,-168){\line(3,-5){72}}%   % double bond at 5
3527  \put(284,-174){\line(3,-5){72}}%   % double bond at 5
3528 \else\if\@tmpb B%beta single bond
3529  \yl@xdiff=9\relax
3530  \yl@ydiff=111\relax
3531  \putratom{363}{-402}{\@memberb}%

3532 {%

3533  \thicklines%
3534  \put(303,-171){\line(3,-5){72}}%    % single bond at 5

3535 }%

3536 \else\if\@tmpb A%alpha single bond
3537  \yl@xdiff=9\relax
3538  \yl@ydiff=111\relax
3539  \putratom{363}{-402}{\@memberb}%
3540  \@ifundefined{dottedline}{%
3541  \put(303,-171){\line(3,-5){72}}%    % single bond at 5
3542  }{{\thicklines%
3543  \dottedline{20}(303,-171)(375,-291)}}%
3544 \else\if\@tmpb F%fused bond
3545  {\let\@tmpb=\@tmpc\@clipfusefalse
3546  \put(303,-171){\setatombondb}%

3547 }%

3548 \else\if\@tmpb G%fused bond
3549  {\let\@tmpb=\@tmpc\@clipfusefalse
3550  \put(303,-171){\setatombondG}%

3551 }%

3552 \else%
3553  \yl@xdiff=9\relax
3554  \yl@ydiff=111\relax

3555  \putratom{363}{-402}{\@memberb}%
3556  \put(303,-171){\line(3,-5){72}}%    % single bond at 5
3557 \fi\fi\fi\fi%
3558 \fi\fi
3559 \fi}% end of \@hsubste

The \@hsubstf command is used for placing a substituent (\@memberb) at the 6-position (lower-left) of a vertical six-membered ring.

\@hsubstf
3560 % %%%%%%%%%%%%%%%
3561 % % subst. on 6 %
3562 % %%%%%%%%%%%%%%%
3563 \def\@hsubstf{%
3564 \if@fclip %clipping
3565 \if\@tmpb S%single bond
3566  \ifx\@tmpc\empty%
3567  \yl@xdiff=43\relax
3568  \yl@ydiff=76\relax
3569  \putlratom{-27}{-402}{\@memberb}%
3570  \put(79,-221){\line(-3,-5){63}}% % single bond at 6 (62=>63)
3571  \else\if\@tmpc B%(B) beta
3572  \yl@xdiff=-10\relax
3573  \yl@ydiff=40\relax
3574  \putlatom{-31}{-301}{\@memberb}%    % right type

3575 {%

3576  \thicklines%
3577  \put(59,-201){\line(-5,-3){100}}%   % single bond at 6

3578 }%

3579  \else\if\@tmpc A%(A) alpha
3580  \yl@xdiff=20\relax
3581  \yl@ydiff=81\relax
3582  \putratom{83}{-402}{\@memberb}%     % right type
3583  \@ifundefined{dottedline}{%
3584  \put(103,-221){\line(0,-1){100}}%   % single bond at 6
3585  }{{\thicklines%
3586  \dottedline{20}(103,-221)(103,-321)}}%
3587  \else\if\@tmpc u%(u) up --- (B) beta
3588  \yl@xdiff=20\relax
3589  \yl@ydiff=81\relax
3590  \putratom{83}{-402}{\@memberb}%     % right type

3591 {%

3592  \thicklines%
3593  \put(103,-221){\line(0,-1){100}}%   % single bond at 6

3594 }%

3595  \else\if\@tmpc d%(d) down --- (A) alpha
3596  \yl@xdiff=-10\relax
3597  \yl@ydiff=40\relax
3598  \putlatom{-31}{-301}{\@memberb}%    % right type
3599  \@ifundefined{dottedline}{%

3600  \put(59,-201){\line(-5,-3){100}}%   % single bond at 6
3601  }{{\thicklines%
3602  \dottedline{20}(59,-201)(-41,-261)}}%
3603  \else\if\@tmpc b%(b) beta
3604  \yl@xdiff=-10\relax
3605  \yl@ydiff=40\relax
3606  \putlatom{-31}{-301}{\@memberb}%    % right type
3607  \put(59,-201){\line(-5,-3){100}}%   % single bond at 6
3608  \else\if\@tmpc a%(a) alpha
3609  \yl@xdiff=20\relax
3610  \yl@ydiff=81\relax
3611  \putratom{83}{-402}{\@memberb}%     % right type
3612  \put(103,-221){\line(0,-1){100}}%   % single bond at 6
3613  \fi\fi\fi\fi\fi
3614  \fi\fi
3615 \else\if\@tmpb D%double bond
3616  \yl@xdiff=49\relax
3617  \yl@ydiff=82\relax
3618  \putlratom{-27}{-402}{\@memberb}%
3619  \put(78,-208){\line(-3,-5){63}}% % double bond at 6 (62->63)
3620  \put(106,-219){\line(-3,-5){63}}% % double bond at 6 (62->63)
3621 \else\if\@tmpb B%beta single bond
3622  \yl@xdiff=43\relax
3623  \yl@ydiff=76\relax
3624  \putlratom{-27}{-402}{\@memberb}%

3625 {%

3626  \thicklines%
3627  \put(79,-221){\line(-3,-5){63}}% % single bond at 6 (62=>63)

3628 }%

3629 \else\if\@tmpb A%alpha single bond
3630  \yl@xdiff=43\relax
3631  \yl@ydiff=76\relax
3632  \putlratom{-27}{-402}{\@memberb}%
3633  \@ifundefined{dottedline}{%
3634  \put(79,-221){\line(-3,-5){63}}% single bond at 6 (62=>63)
3635  }{{\thicklines%
3636  \dottedline{20}(79,-221)(16,-326)}}%1998/10/11 by SF
3637 \else\if\@tmpb F%fused bond
3638  {\let\@tmpb=\@tmpc\@clipfusetrue
3639  \put(103,-171){\setatombondE}%

3640 }%

3641 \else\if\@tmpb G%fused bond
3642  {\let\@tmpb=\@tmpc\@clipfusetrue
3643  \put(103,-171){\setatombondh}%

3644 }%

3645 \else%
3646  \yl@xdiff=43\relax
3647  \yl@ydiff=76\relax
3648  \putlratom{-27}{-402}{\@memberb}%
3649  \put(79,-221){\line(-3,-5){63}}% % single bond at 6(62->63)

3650 \fi\fi\fi\fi%
3651 \fi\fi
3652 \else%%no clipping
3653 \if\@tmpb S%single bond
3654  \ifx\@tmpc\empty%
3655  \yl@xdiff=59\relax
3656  \yl@ydiff=111\relax
3657  \putlratom{-27}{-402}{\@memberb}%
3658  \put(108,-171){\line(-3,-5){72}}%  % single bond at 6
3659 %   \else\if\@tmpb B%beta single bond
3660 \else\if\@tmpc B%beta single bond%1998/10/11 by S. Fujita
3661  \yl@xdiff=8\relax
3662  \yl@ydiff=58\relax
3663  \putlatom{-31}{-301}{\@memberb}%    % right type

3664 {%

3665  \thicklines%
3666  \put(103,-171){\line(-5,-3){120}}%  % single bond at 6

3667 }%

3668  \else\if\@tmpc A%(A) alpha
3669  \yl@xdiff=20\relax
3670  \yl@ydiff=91\relax
3671  \putratom{83}{-402}{\@memberb}%     % right type
3672  \@ifundefined{dottedline}{%
3673  \put(103,-171){\line(0,-1){140}}%   % single bond at 6
3674  }{{\thicklines%
3675  \dottedline{20}(103,-171)(103,-311)}}%1998/10/17 by SF
3676 \else\if\@tmpc u%(u) up --- (B) beta
3677  \yl@xdiff=20\relax
3678  \yl@ydiff=91\relax
3679  \putratom{83}{-402}{\@memberb}%     % right type

3680 {%

3681  \thicklines%
3682  \put(103,-171){\line(0,-1){140}}%   % single bond at 6

3683 }%

3684  \else\if\@tmpc d%(d) down --- (A) alpha
3685  \yl@xdiff=8\relax
3686  \yl@ydiff=58\relax
3687  \putlatom{-31}{-301}{\@memberb}%    % right type
3688  \@ifundefined{dottedline}{%
3689  \put(103,-171){\line(-5,-3){120}}%  % single bond at 6
3690  }{{\thicklines%
3691  \dottedline{20}(103,-171)(-17,-243)}}%
3692  \else\if\@tmpc b%(b) beta
3693  \yl@xdiff=8\relax
3694  \yl@ydiff=58\relax
3695  \putlatom{-31}{-301}{\@memberb}%    % right type
3696  \put(103,-171){\line(-5,-3){120}}%  % single bond at 6
3697  \else\if\@tmpc a%(a) alpha
3698  \yl@xdiff=20\relax
3699  \yl@ydiff=91\relax

3700  \putratom{83}{-402}{\@memberb}%     % right type
3701  \put(103,-171){\line(0,-1){140}}%   % single bond at 6
3702  \fi\fi\fi\fi\fi%
3703  \fi\fi
3704 \else\if\@tmpb D%double bond
3705  \yl@xdiff=65\relax
3706  \yl@ydiff=111\relax
3707  \putlratom{-27}{-402}{\@memberb}%
3708  \put(96,-168){\line(-3,-5){72}}%   % double bond at 6
3709  \put(121,-174){\line(-3,-5){72}}%  % double bond at 6
3710 \else\if\@tmpb B%beta single bond
3711  \yl@xdiff=59\relax
3712  \yl@ydiff=111\relax
3713  \putlratom{-27}{-402}{\@memberb}%
3714  \put(108,-171){\line(-3,-5){72}}%  % single bond at 6

3715 {%

3716  \thicklines%
3717  \put(108,-171){\line(-3,-5){72}}%  % single bond at 6

3718 }%

3719 \else\if\@tmpb A%alpha single bond
3720  \yl@xdiff=59\relax
3721  \yl@ydiff=111\relax
3722  \putlratom{-27}{-402}{\@memberb}%
3723  \@ifundefined{dottedline}{%
3724  \put(108,-171){\line(-3,-5){72}}%  % single bond at 6
3725  }{{\thicklines%
3726  \dottedline{20}(103,-171)(31,-291)}}%
3727 \else\if\@tmpb F%fused bond
3728  {\let\@tmpb=\@tmpc\@clipfusefalse
3729  \put(103,-171){\setatombondE}%

3730 }%

3731 \else\if\@tmpb G%fused bond
3732  {\let\@tmpb=\@tmpc\@clipfusefalse
3733  \put(103,-171){\setatombondh}%

3734 }%

3735 \else%
3736  \yl@xdiff=59\relax
3737  \yl@ydiff=111\relax
3738  \putlratom{-27}{-402}{\@memberb}%
3739  \put(108,-171){\line(-3,-5){72}}%  % single bond at 6
3740 \fi\fi\fi\fi%
3741 \fi\fi
3742 \fi}% end of \@hsubstf

5.2 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.

****************************************************************
* setting of atoms and bonds on a horizontal six-membered ring *
****************************************************************
\setsixringh{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER}

The first argument SUBSLIST is a list of substituents, which is represented in the standard format of XΥMTEX.

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

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.

      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

\setsixringh
3743 \def\setsixringh#1#2#3#4#5{%
3744 \@forsemicol\member:=#1\do{%
3745 \ifx\member\empty\else%
3746 \expandafter\@m@mb@r\member;\relax%
3747 \expandafter\threech@r\@membera{}{}%
3748 \ifx\@memberb\@yl\else
3749 \ifnum#5 < 0\relax%
3750 \@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
3751 \else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
3752 \ifnum\@tmpaa >#3\relax%
3753 \ifnum\@tmpaa <#4\relax%
3754 \ifcase\@tmpaa%0 omit

The following commands are not used in a revised version because of the direct

  use of \ifx\@memberb\@yl\else...\fi.
3755 % %\or \if@yla\else\@hsubsta\fi% subst. on 1
3756 % %\or \if@ylb\else\@hsubstb\fi% subst. on 2
3757 % %\or \if@ylc\else\@hsubstc\fi% subst. on 3
3758 % %\or \if@yld\else\@hsubstd\fi% subst. on 4
3759 % %\or \if@yle\else\@hsubste\fi% subst. on 5
3760 % %\or \if@ylf\else\@hsubstf\fi% subst. on 6
3761 \or\@hsubsta% subst. on 1
3762 \or\@hsubstb% subst. on 2
3763 \or\@hsubstc% subst. on 3
3764 \or\@hsubstd% subst. on 4
3765 \or\@hsubste% subst. on 5
3766 \or\@hsubstf% subst. on 6
3767 \fi%end of ifcase
3768 \fi\fi\fi\fi}}% %end of setsixringh

6 Mocros linking Substituents

6.1 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.

{\ryl \atop \@ryl}

3769 \newcount\x@ryl
3770 \newcount\y@ryl
3771 \def\ryl{\@ifnextchar({\@ryl}{\@ryl()}}
3772 \def\@ryl(#1)#2{%
3773 \iniatom\iniflag%initialize
3774 \@reset@ylsw%
3775 \def\centeraaa{}%
3776 \x@ryl=0\y@ryl=0
3777 \@forsemicol\member:=#1\do{%
3778 \if@ylsw%
3779 \XyMTeXWarning{Duplicated items in the first augument of \string\ryl}%
3780 \else%
3781 \ifx\member\empty\else%
3782 \expandafter\@m@mb@r\member;\relax%
3783 \expandafter\twoch@r\@membera{}%
3784 \settowidth{\dimen0}{\@memberb}%
3785 \x@ryl=\dimen0%%%dimension => counter
3786 \divide\x@ryl\unitlength
3787 \advance\x@ryl by-70
3788 \y@ryl=0
3789 \ifcase\@tmpa%
3790 \def\centeraaa{\@memberb}\@ylswtrue
3791 \advance\y@ryl by50
3792 \or%1
3793 \def\centeraaa{\@memberb}\@ylswtrue
3794 \advance\x@ryl by30
3795 \advance\y@ryl by50
3796 \or%2
3797 \def\centeraaa{\@memberb}\@ylswtrue
3798 \advance\x@ryl by40
3799 \advance\y@ryl by40
3800 \or%3
3801 \def\centeraaa{\@memberb}\@ylswtrue
3802 \advance\x@ryl by50
3803 \advance\y@ryl by30
3804 \or%4
3805 \def\centeraaa{\@memberb}\@ylswtrue
3806 \advance\x@ryl by50
3807 \advance\y@ryl by0
3808 \or%5
3809 \def\centeraaa{\@memberb}\@ylswtrue
3810 \advance\x@ryl by50
3811 \advance\y@ryl by-30
3812 \or%6
3813 \def\centeraaa{\@memberb}\@ylswtrue
3814 \advance\x@ryl by50
3815 \advance\y@ryl by-50
3816 \or%7

3817 \def\centeraaa{\@memberb}\@ylswtrue
3818 \advance\x@ryl by30
3819 \advance\y@ryl by-50
3820 \or%8
3821 \def\centeraaa{\@memberb}\@ylswtrue
3822 \advance\y@ryl by-50

3823 \fi

3824 \fi\fi}%
3825 \yl@shiftii=\x@ryl
3826 \yl@shifti=-\y@ryl
3827 \advance\yl@shiftii\yl@xdiff
3828 \advance\yl@shifti\yl@ydiff
3829 \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
3830 % %%%%%%%%%%%%%%%%%%%%%%%%
3831 % % setting hetero atoms %
3832 % %%%%%%%%%%%%%%%%%%%%%%%%
3833 \ifx\centeraaa\empty\else%
3834 \@clipfusetrue
3835 \putlatom{40}{-30}{\centeraaa}%  % left type
3836 \fi%
3837 % %%%%%%%%%%%%%%%%%%%%%%%%
3838 % % setting substituents %
3839 % %%%%%%%%%%%%%%%%%%%%%%%%
3840 \@forsemicol\member:=#2\do{%
3841 \ifx\member\empty\else%
3842 \expandafter\@m@mb@r\member;\relax%
3843 \expandafter\threech@r\@membera{}{}%
3844 \ifcase\@tmpa%
3845 \setatombonda% 0 (upward) (0,1)
3846 \or\setatombondF%1 (3,5)
3847 \or\setatombondA%2 (1,1)
3848 \or\setatombondf%3 (5,3)
3849 \or\setatombondb%4 (1,0)
3850 \or\setatombonde%5 (5,-3)
3851 \or\setatombondB%6 (1,-1)
3852 \or\setatombondE%7 (3,-5)
3853 \or\setatombondc%8 (0,-1)
3854 \fi%end of ifcase

3855 \fi

3856 }\end{picture}}%               %end of \ryl macro

The substituent-setting commands \setatombondF etc. are used in the macro

  \ryl.
\setatombondF
3857 \def\setatombondF{%% (3,5)
3858 \if@clipfuse%
3859 \if\@tmpb B%beta single bond
3860  \yl@xdiff=10\relax
3861  \yl@ydiff=-10\relax

3862 {%

3863  \thicklines%
3864  \put(30,50){\line(3,5){60}}%       % single bond at 1

3865 }%

3866 \else\if\@tmpb A%alpha single bond
3867  \yl@xdiff=10\relax
3868  \yl@ydiff=-10\relax
3869  \@ifundefined{dottedline}{%
3870  \put(30,50){\line(3,5){60}}%       % single bond at 1
3871  }{{\thicklines%
3872  \dottedline{20}(30,50)(90,150)}}%
3873 \else\if\@tmpb U%unspecified single bond
3874  \yl@xdiff=10\relax
3875  \yl@ydiff=-10\relax
3876  \put(30,50){\line(3,5){60}}%       % single bond at 1
3877 \else\if\@tmpb S%beta single bond
3878  \yl@xdiff=10\relax
3879  \yl@ydiff=-10\relax
3880  \put(30,50){\line(3,5){60}}%       % single bond at 1
3881 \else\if\@tmpb D%double bond
3882  \yl@xdiff=10\relax
3883  \yl@ydiff=-10\relax
3884  \put(40,44){\line(3,5){60}}%       % single bond at 1
3885  \put(20,56){\line(3,5){60}}%       % single bond at 1
3886 \else\if\@tmpb T%triple bond
3887  \yl@xdiff=10\relax
3888  \yl@ydiff=-10\relax
3889  \put(45,41){\line(3,5){60}}%       % single bond at 1
3890  \put(30,50){\line(3,5){60}}%       % single bond at 1
3891  \put(15,59){\line(3,5){60}}%       % single bond at 1
3892 \else\ifx\@tmpb\empty%beta single bond
3893  \yl@xdiff=10\relax
3894  \yl@ydiff=-10\relax
3895  \put(30,50){\line(3,5){60}}%       % single bond at 1
3896 \fi\fi\fi\fi\fi\fi\fi%
3897  \putratom{80}{160}{\@memberb}%    % right type
3898 \else%no clipping
3899 \if\@tmpb B%beta single bond
3900  \yl@xdiff=10\relax
3901  \yl@ydiff=-10\relax

3902 {%

3903  \thicklines%
3904  \put(0,0){\line(3,5){90}}%       % single bond at 1

3905 }%

3906 \else\if\@tmpb A%alpha single bond
3907  \yl@xdiff=10\relax
3908  \yl@ydiff=-10\relax
3909  \@ifundefined{dottedline}{%
3910  \put(0,0){\line(3,5){90}}%       % single bond at 1
3911  }{{\thicklines%

3912  \dottedline{20}(0,0)(90,150)}}%
3913 \else\if\@tmpb U%unspecified single bond
3914  \yl@xdiff=10\relax
3915  \yl@ydiff=-10\relax
3916  \put(0,0){\line(3,5){90}}%       % single bond at 1
3917 \else\if\@tmpb S%beta single bond
3918  \yl@xdiff=10\relax
3919  \yl@ydiff=-10\relax
3920  \put(0,0){\line(3,5){90}}%       % single bond at 1
3921 \else\if\@tmpb D%beta single bond
3922  \yl@xdiff=10\relax
3923  \yl@ydiff=-10\relax
3924  \put(10,-6){\line(3,5){90}}%       % single bond at 1
3925  \put(-10,6){\line(3,5){90}}%       % single bond at 1
3926 \else\if\@tmpb T%beta single bond
3927  \yl@xdiff=10\relax
3928  \yl@ydiff=-10\relax
3929  \put(15,-9){\line(3,5){90}}%       % single bond at 1
3930  \put(0,0){\line(3,5){90}}%       % single bond at 1
3931  \put(-15,9){\line(3,5){90}}%       % single bond at 1
3932 \else\ifx\@tmpb\empty%beta single bond
3933  \yl@xdiff=10\relax
3934  \yl@ydiff=-10\relax
3935  \put(0,0){\line(3,5){90}}%       % single bond at 1
3936 \fi\fi\fi\fi\fi\fi\fi%
3937  \putratom{80}{160}{\@memberb}%    % right type
3938 \fi%
3939 }% end of \setatombondF
\setatombondE
3940 \def\setatombondE{%% (3,-5)
3941 \if@clipfuse%
3942  \yl@xdiff=10\relax
3943  \yl@ydiff=70\relax
3944 \if\@tmpb B%beta single bond

3945 {%

3946  \thicklines%
3947  \put(30,-50){\line(3,-5){60}}%       % single bond at 1

3948 }%

3949 \else\if\@tmpb A%alpha single bond
3950  \@ifundefined{dottedline}{%
3951  \put(30,-50){\line(3,-5){60}}%       % single bond at 1
3952  }{{\thicklines%
3953  \dottedline{20}(30,-50)(90,-150)}}%
3954 \else\if\@tmpb U%unspecified single bond
3955  \put(30,-50){\line(3,-5){60}}%       % single bond at 1
3956 \else\if\@tmpb S%beta single bond
3957  \put(30,-50){\line(3,-5){60}}%       % single bond at 1
3958 \else\if\@tmpb D%double bond
3959  \put(40,-44){\line(3,-5){60}}%       % single bond at 1

3960  \put(20,-56){\line(3,-5){60}}%       % single bond at 1
3961 \else\if\@tmpb T%triple bond
3962  \put(45,-41){\line(3,-5){60}}%       % single bond at 1
3963  \put(30,-50){\line(3,-5){60}}%       % single bond at 1
3964  \put(15,-59){\line(3,-5){60}}%       % single bond at 1
3965 \else\ifx\@tmpb\empty%beta single bond
3966  \put(30,-50){\line(3,-5){60}}%       % single bond at 1
3967 \fi\fi\fi\fi\fi\fi\fi%
3968  \putratom{80}{-220}{\@memberb}%    % right type
3969 \else%no clipping
3970  \yl@xdiff=10\relax
3971  \yl@ydiff=70\relax
3972 \if\@tmpb B%beta single bond

3973 {%

3974  \thicklines%
3975  \put(0,0){\line(3,-5){90}}%       % single bond at 1

3976 }%

3977 \else\if\@tmpb A%alpha single bond
3978  \@ifundefined{dottedline}{%
3979  \put(0,0){\line(3,-5){90}}%       % single bond at 1
3980  }{{\thicklines%
3981  \dottedline{20}(0,0)(90,-150)}}%
3982 \else\if\@tmpb U%unspecified single bond
3983  \put(0,0){\line(3,-5){90}}%       % single bond at 1
3984 \else\if\@tmpb S%beta single bond
3985  \put(0,0){\line(3,-5){90}}%       % single bond at 1
3986 \else\if\@tmpb D%beta single bond
3987  \put(10,6){\line(3,-5){90}}%       % single bond at 1
3988  \put(-10,-6){\line(3,-5){90}}%       % single bond at 1
3989 \else\if\@tmpb T%beta single bond
3990  \put(15,9){\line(3,-5){90}}%       % single bond at 1
3991  \put(0,0){\line(3,-5){90}}%       % single bond at 1
3992  \put(-15,-9){\line(3,-5){90}}%       % single bond at 1
3993 \else\ifx\@tmpb\empty%beta single bond
3994  \put(0,0){\line(3,-5){90}}%       % single bond at 1
3995 \fi\fi\fi\fi\fi\fi\fi%
3996  \putratom{80}{-220}{\@memberb}%    % right type
3997 \fi%
3998 }% end of \setatombondE
\setatombondA
3999 \def\setatombondA{%% (1,1)
4000  \yl@xdiff=0\relax
4001  \yl@ydiff=0\relax
4002 \if@clipfuse%
4003 \if\@tmpb B%beta single bond

4004 {%

4005  \thicklines%
4006  \put(40,40){\line(1,1){100}}%       % single bond at 1

4007 }%

4008 \else\if\@tmpb A%alpha single bond
4009  \@ifundefined{dottedline}{%
4010  \put(40,40){\line(1,1){100}}%       % single bond at 1
4011  }{{\thicklines%
4012  \dottedline{20}(40,40)(140,140)}}%
4013 \else\if\@tmpb U%unspecified single bond
4014  \put(40,40){\line(1,1){100}}%       % single bond at 1
4015 \else\if\@tmpb S%beta single bond
4016  \put(40,40){\line(1,1){100}}%       % single bond at 1
4017 \else\if\@tmpb D%double bond
4018  \put(46,36){\line(1,1){100}}%       % single bond at 1
4019  \put(36,46){\line(1,1){100}}%       % single bond at 1
4020 \else\if\@tmpb T%triple bond
4021  \put(50,30){\line(1,1){100}}%       % single bond at 1
4022  \put(40,40){\line(1,1){100}}%       % single bond at 1
4023  \put(30,50){\line(1,1){100}}%       % single bond at 1
4024 \else\ifx\@tmpb\empty%beta single bond
4025  \put(40,40){\line(1,1){100}}%       % single bond at 1
4026 \fi\fi\fi\fi\fi\fi\fi%
4027  \putratom{140}{140}{\@memberb}%    % right type
4028 \else%no clipping
4029 \if\@tmpb B%beta single bond

4030 {%

4031  \thicklines%
4032  \put(0,0){\line(1,1){120}}%       % single bond at 1

4033 }%

4034 \else\if\@tmpb A%alpha single bond
4035  \@ifundefined{dottedline}{%
4036  \put(0,0){\line(1,1){120}}%       % single bond at 1
4037  }{{\thicklines%
4038  \dottedline{20}(0,0)(120,120)}}%
4039 \else\if\@tmpb U%unspecified single bond
4040  \put(0,0){\line(1,1){120}}%       % single bond at 1
4041 \else\if\@tmpb S%beta single bond
4042  \put(0,0){\line(1,1){120}}%       % single bond at 1
4043 \else\if\@tmpb D%beta single bond
4044  \put(6,-6){\line(1,1){120}}%       % single bond at 1
4045  \put(-6,6){\line(1,1){120}}%       % single bond at 1
4046 \else\if\@tmpb T%beta single bond
4047  \put(10,-10){\line(1,1){120}}%       % single bond at 1
4048  \put(0,0){\line(1,1){120}}%       % single bond at 1
4049  \put(-10,10){\line(1,1){120}}%       % single bond at 1
4050 \else\ifx\@tmpb\empty%beta single bond
4051  \put(0,0){\line(1,1){120}}%       % single bond at 1
4052 \fi\fi\fi\fi\fi\fi\fi%
4053  \putratom{120}{120}{\@memberb}%    % right type
4054 \fi%
4055 }% end of \setatombondA

\setatombondB
4056 \def\setatombondB{%% (1,-1)
4057 \if@clipfuse%
4058  \yl@xdiff=0\relax
4059  \yl@ydiff=60\relax
4060 \if\@tmpb B%beta single bond

4061 {%

4062  \thicklines%
4063  \put(40,-40){\line(1,-1){100}}%       % single bond at 1

4064 }%

4065 \else\if\@tmpb A%alpha single bond
4066  \@ifundefined{dottedline}{%
4067  \put(40,-40){\line(1,-1){100}}%       % single bond at 1
4068  }{{\thicklines%
4069  \dottedline{20}(40,-40)(140,-140)}}%
4070 \else\if\@tmpb U%unspecified single bond
4071  \put(40,-40){\line(1,-1){100}}%       % single bond at 1
4072 \else\if\@tmpb S%beta single bond
4073  \put(40,-40){\line(1,-1){100}}%       % single bond at 1
4074 \else\if\@tmpb D%double bond
4075  \put(46,-36){\line(1,-1){100}}%       % single bond at 1
4076  \put(36,-46){\line(1,-1){100}}%       % single bond at 1
4077 \else\if\@tmpb T%triple bond
4078  \put(50,-30){\line(1,-1){100}}%       % single bond at 1
4079  \put(40,-40){\line(1,-1){100}}%       % single bond at 1
4080  \put(30,-50){\line(1,-1){100}}%       % single bond at 1
4081 \else\ifx\@tmpb\empty%beta single bond
4082  \put(40,-40){\line(1,-1){100}}%       % single bond at 1
4083 \fi\fi\fi\fi\fi\fi\fi%
4084  \putratom{140}{-200}{\@memberb}%    % right type
4085 \else%no clipping
4086  \yl@xdiff=0\relax
4087  \yl@ydiff=60\relax
4088 \if\@tmpb B%beta single bond

4089 {%

4090  \thicklines%
4091  \put(0,0){\line(1,-1){120}}%       % single bond at 1

4092 }%

4093 \else\if\@tmpb A%alpha single bond
4094  \@ifundefined{dottedline}{%
4095  \put(0,0){\line(1,-1){120}}%       % single bond at 1
4096  }{{\thicklines%
4097  \dottedline{20}(0,0)(120,-120)}}%
4098 \else\if\@tmpb U%unspecified single bond
4099  \put(0,0){\line(1,-1){120}}%       % single bond at 1
4100 \else\if\@tmpb S%beta single bond
4101  \put(0,0){\line(1,-1){120}}%       % single bond at 1
4102 \else\if\@tmpb D%beta single bond
4103  \put(6,6){\line(1,-1){120}}%       % single bond at 1

4104  \put(-6,-6){\line(1,-1){120}}%       % single bond at 1
4105 \else\if\@tmpb T%beta single bond
4106  \put(10,10){\line(1,-1){120}}%       % single bond at 1
4107  \put(0,0){\line(1,-1){120}}%       % single bond at 1
4108  \put(-10,-10){\line(1,-1){120}}%       % single bond at 1
4109 \else\ifx\@tmpb\empty%beta single bond
4110  \put(0,0){\line(1,-1){120}}%       % single bond at 1
4111 \fi\fi\fi\fi\fi\fi\fi%
4112  \putratom{120}{-180}{\@memberb}%    % right type
4113 \fi%
4114 }% end of \setatombondB

6.2 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.

\lyl
4115 \def\lyl{\@ifnextchar({\@lyl}{\@lyl()}}
4116 \def\@lyl(#1)#2{%
4117 \iniatom\iniflag%initialize
4118 \@reset@ylsw%
4119 \def\centeraaa{}%
4120 \x@ryl=0\y@ryl=0
4121 \@forsemicol\member:=#1\do{%
4122 \if@ylsw%
4123 \XyMTeXWarning{Duplicated items in the first augument of \string\ryl}%
4124 \else%
4125 \ifx\member\empty\else%
4126 \expandafter\@m@mb@r\member;\relax%
4127 \expandafter\twoch@r\@membera{}%
4128 \settowidth{\dimen0}{\@memberb}%
4129 \x@ryl=\dimen0%%%dimension => counter
4130 \divide\x@ryl\unitlength
4131 \advance\x@ryl by-80
4132 \y@ryl=0
4133 \ifcase\@tmpa%
4134 \def\centeraaa{\@memberb}\@ylswtrue
4135 %\advance\x@ryl by0
4136 \advance\y@ryl by50
4137 \or%1
4138 \def\centeraaa{\@memberb}\@ylswtrue
4139 \advance\x@ryl by30
4140 \advance\y@ryl by50
4141 \or%2
4142 \def\centeraaa{\@memberb}\@ylswtrue
4143 \advance\x@ryl by40
4144 \advance\y@ryl by40

4145 \or%3
4146 \def\centeraaa{\@memberb}\@ylswtrue
4147 \advance\x@ryl by50
4148 \advance\y@ryl by30
4149 \or%4
4150 \def\centeraaa{\@memberb}\@ylswtrue
4151 \advance\x@ryl by50
4152 \advance\y@ryl by0
4153 \or%5
4154 \def\centeraaa{\@memberb}\@ylswtrue
4155 \advance\x@ryl by50
4156 \advance\y@ryl by-30
4157 \or%6
4158 \def\centeraaa{\@memberb}\@ylswtrue
4159 \advance\x@ryl by50
4160 \advance\y@ryl by-50
4161 \or%7
4162 \def\centeraaa{\@memberb}\@ylswtrue
4163 \advance\x@ryl by30
4164 \advance\y@ryl by-50
4165 \or%8
4166 \def\centeraaa{\@memberb}\@ylswtrue
4167 %\advance\x@ryl by0
4168 \advance\y@ryl by-50

4169 \fi

4170 \fi\fi}%
4171 \yl@shiftii=-\x@ryl
4172 \yl@shifti=-\y@ryl
4173 \advance\yl@shiftii\yl@xdiff
4174 \advance\yl@shifti\yl@ydiff
4175 \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
4176 % %%%%%%%%%%%%%%%%%%%%%%%%
4177 % % setting hetero atoms %
4178 % %%%%%%%%%%%%%%%%%%%%%%%%
4179 \ifx\centeraaa\empty\else%
4180 \@clipfusetrue
4181 \putratom{-40}{-30}{\centeraaa}%  % right type
4182 \fi%
4183 % %%%%%%%%%%%%%%%%%%%%%%%%
4184 % % setting substituents %
4185 % %%%%%%%%%%%%%%%%%%%%%%%%
4186 \@forsemicol\member:=#2\do{%
4187 \ifx\member\empty\else%
4188 \expandafter\@m@mb@r\member;\relax%
4189 \expandafter\threech@r\@membera{}{}%
4190 \ifcase\@tmpa%
4191 \setatombonda% 0 (upward) (0,1)
4192 \or\setatombondD%1 (-3,5)
4193 \or\setatombondH%2 (-1,1)
4194 \or\setatombondd%3 (-5,3)

4195 \or\setatombondh%4 (-1,0)
4196 \or\setatombondg%5 (-5,-3)
4197 \or\setatombondC%6 (-1,-1)
4198 \or\setatombondG%7 (-3,-5)
4199 \or\setatombondc%8 (0,-1)
4200 \fi%end of ifcase

4201 \fi

4202 }\end{picture}}%               %end of \lyl macro

The substituent-setting commands \setatombondD etc. are used in the macro

  \ryl.
\setatombondD
4203 \def\setatombondD{%% (-3,5)
4204 \if@clipfuse%
4205 \if\@tmpb B%beta single bond
4206  \yl@xdiff=-10\relax
4207  \yl@ydiff=-10\relax

4208 {%

4209  \thicklines%
4210  \put(-30,50){\line(-3,5){60}}%       % single bond at 1

4211 }%

4212 \else\if\@tmpb A%alpha single bond
4213  \yl@xdiff=-10\relax
4214  \yl@ydiff=-10\relax
4215  \@ifundefined{dottedline}{%
4216  \put(-30,50){\line(-3,5){60}}%       % single bond at 1
4217  }{{\thicklines%
4218  \dottedline{20}(-30,50)(-90,150)}}%
4219 \else\if\@tmpb U%unspecified single bond
4220  \yl@xdiff=-10\relax
4221  \yl@ydiff=-10\relax
4222  \put(-30,50){\line(-3,5){60}}%       % single bond at 1
4223 \else\if\@tmpb S%beta single bond
4224  \yl@xdiff=-10\relax
4225  \yl@ydiff=-10\relax
4226  \put(-30,50){\line(-3,5){60}}%       % single bond at 1
4227 \else\if\@tmpb D%double bond
4228  \yl@xdiff=-10\relax
4229  \yl@ydiff=-10\relax
4230  \put(-40,44){\line(-3,5){60}}%       % single bond at 1
4231  \put(-20,56){\line(-3,5){60}}%       % single bond at 1
4232 \else\if\@tmpb T%triple bond
4233  \yl@xdiff=-10\relax
4234  \yl@ydiff=-10\relax
4235  \put(-45,41){\line(-3,5){60}}%       % single bond at 1
4236  \put(-30,50){\line(-3,5){60}}%       % single bond at 1
4237  \put(-15,59){\line(-3,5){60}}%       % single bond at 1
4238 \else\ifx\@tmpb\empty%beta single bond
4239  \yl@xdiff=-10\relax

4240  \yl@ydiff=-10\relax
4241  \put(-30,50){\line(-3,5){60}}%       % single bond at 1
4242 \fi\fi\fi\fi\fi\fi\fi%
4243  \putlatom{-80}{160}{\@memberb}%    % left type
4244 \else%no clipping
4245 \if\@tmpb B%beta single bond
4246  \yl@xdiff=-10\relax
4247  \yl@ydiff=-10\relax

4248 {%

4249  \thicklines%
4250  \put(0,0){\line(-3,5){90}}%       % single bond at 1

4251 }%

4252 \else\if\@tmpb A%alpha single bond
4253  \yl@xdiff=-10\relax
4254  \yl@ydiff=-10\relax
4255  \@ifundefined{dottedline}{%
4256  \put(0,0){\line(-3,5){90}}%       % single bond at 1
4257  }{{\thicklines%
4258  \dottedline{20}(0,0)(-90,150)}}%
4259 \else\if\@tmpb U%unspecified single bond
4260  \yl@xdiff=-10\relax
4261  \yl@ydiff=-10\relax
4262  \put(0,0){\line(-3,5){90}}%       % single bond at 1
4263 \else\if\@tmpb S%beta single bond
4264  \yl@xdiff=-10\relax
4265  \yl@ydiff=-10\relax
4266  \put(0,0){\line(-3,5){90}}%       % single bond at 1
4267 \else\if\@tmpb D%beta single bond
4268  \yl@xdiff=-10\relax
4269  \yl@ydiff=-10\relax
4270  \put(-10,-6){\line(-3,5){90}}%       % single bond at 1
4271  \put(10,6){\line(-3,5){90}}%       % single bond at 1
4272 \else\if\@tmpb T%beta single bond
4273  \yl@xdiff=-10\relax
4274  \yl@ydiff=-10\relax
4275  \put(-15,-9){\line(-3,5){90}}%       % single bond at 1
4276  \put(0,0){\line(-3,5){90}}%       % single bond at 1
4277  \put(15,9){\line(-3,5){90}}%       % single bond at 1
4278 \else\ifx\@tmpb\empty%beta single bond
4279  \yl@xdiff=-10\relax
4280  \yl@ydiff=-10\relax
4281  \put(0,0){\line(-3,5){90}}%       % single bond at 1
4282 \fi\fi\fi\fi\fi\fi\fi%
4283  \putlatom{-80}{160}{\@memberb}%    % left type
4284 \fi%
4285 }% end of \setatombondD
\setatombondG
4286 \def\setatombondG{%% (-3,-5)
4287 \if@clipfuse%

4288  \yl@xdiff=-10\relax
4289  \yl@ydiff=70\relax
4290 \if\@tmpb B%beta single bond

4291 {%

4292  \thicklines%
4293  \put(-30,-50){\line(-3,-5){60}}%       % single bond at 1

4294 }%

4295 \else\if\@tmpb A%alpha single bond
4296  \@ifundefined{dottedline}{%
4297  \put(-30,-50){\line(-3,-5){60}}%       % single bond at 1
4298  }{{\thicklines%
4299  \dottedline{20}(-30,-50)(-90,-150)}}%
4300 \else\if\@tmpb U%unspecified single bond
4301  \put(-30,-50){\line(-3,-5){60}}%       % single bond at 1
4302 \else\if\@tmpb S%beta single bond
4303  \put(-30,-50){\line(-3,-5){60}}%       % single bond at 1
4304 \else\if\@tmpb D%double bond
4305  \put(-40,-44){\line(-3,-5){60}}%       % single bond at 1
4306  \put(-20,-56){\line(-3,-5){60}}%       % single bond at 1
4307 \else\if\@tmpb T%triple bond
4308  \put(-45,-41){\line(-3,-5){60}}%       % single bond at 1
4309  \put(-30,-50){\line(-3,-5){60}}%       % single bond at 1
4310  \put(-15,-59){\line(-3,-5){60}}%       % single bond at 1
4311 \else\ifx\@tmpb\empty%beta single bond
4312  \put(-30,-50){\line(-3,-5){60}}%       % single bond at 1
4313 \fi\fi\fi\fi\fi\fi\fi%
4314  \putlatom{-80}{-220}{\@memberb}%    % left type
4315 \else%no clipping
4316  \yl@xdiff=-10\relax
4317  \yl@ydiff=70\relax
4318 \if\@tmpb B%beta single bond

4319 {%

4320  \thicklines%
4321  \put(0,0){\line(-3,-5){90}}%       % single bond at 1

4322 }%

4323 \else\if\@tmpb A%alpha single bond
4324  \@ifundefined{dottedline}{%
4325  \put(0,0){\line(-3,-5){90}}%       % single bond at 1
4326  }{{\thicklines%
4327  \dottedline{20}(0,0)(-90,-150)}}%
4328 \else\if\@tmpb U%unspecified single bond
4329  \put(0,0){\line(-3,-5){90}}%       % single bond at 1
4330 \else\if\@tmpb S%beta single bond
4331  \put(0,0){\line(-3,-5){90}}%       % single bond at 1
4332 \else\if\@tmpb D%beta single bond
4333  \put(-10,6){\line(-3,-5){90}}%       % single bond at 1
4334  \put(10,-6){\line(-3,-5){90}}%       % single bond at 1
4335 \else\if\@tmpb T%beta single bond
4336  \put(-15,9){\line(-3,-5){90}}%       % single bond at 1
4337  \put(0,0){\line(-3,-5){90}}%       % single bond at 1

4338  \put(15,-9){\line(-3,-5){90}}%       % single bond at 1
4339 \else\ifx\@tmpb\empty%beta single bond
4340  \put(0,0){\line(-3,-5){90}}%       % single bond at 1
4341 \fi\fi\fi\fi\fi\fi\fi%
4342  \putlatom{-80}{-220}{\@memberb}%    % left type
4343 \fi%
4344 }% end of \setatombondG
\setatombondH
4345 \def\setatombondH{%% (-1,1)
4346  \yl@xdiff=0\relax
4347  \yl@ydiff=0\relax
4348 \if@clipfuse%
4349 \if\@tmpb B%beta single bond

4350 {%

4351  \thicklines%
4352  \put(-40,40){\line(-1,1){100}}%       % single bond at 1

4353 }%

4354 \else\if\@tmpb A%alpha single bond
4355  \@ifundefined{dottedline}{%
4356  \put(-40,40){\line(-1,1){100}}%       % single bond at 1
4357  }{{\thicklines%
4358  \dottedline{20}(-40,40)(-140,140)}}%
4359 \else\if\@tmpb U%unspecified single bond
4360  \put(-40,40){\line(-1,1){100}}%       % single bond at 1
4361 \else\if\@tmpb S%beta single bond
4362  \put(-40,40){\line(-1,1){100}}%       % single bond at 1
4363 \else\if\@tmpb D%double bond
4364  \put(-46,36){\line(-1,1){100}}%       % single bond at 1
4365  \put(-36,46){\line(-1,1){100}}%       % single bond at 1
4366 \else\if\@tmpb T%triple bond
4367  \put(-50,30){\line(-1,1){100}}%       % single bond at 1
4368  \put(-40,40){\line(-1,1){100}}%       % single bond at 1
4369  \put(-30,50){\line(-1,1){100}}%       % single bond at 1
4370 \else\ifx\@tmpb\empty%beta single bond
4371  \put(-40,40){\line(-1,1){100}}%       % single bond at 1
4372 \fi\fi\fi\fi\fi\fi\fi%
4373  \putlatom{-140}{140}{\@memberb}%    % left type
4374 \else%no clipping
4375 \if\@tmpb B%beta single bond

4376 {%

4377  \thicklines%
4378  \put(0,0){\line(-1,1){120}}%       % single bond at 1

4379 }%

4380 \else\if\@tmpb A%alpha single bond
4381  \@ifundefined{dottedline}{%
4382  \put(0,0){\line(-1,1){120}}%       % single bond at 1
4383  }{{\thicklines%
4384  \dottedline{20}(0,0)(-120,120)}}%
4385 \else\if\@tmpb U%unspecified single bond

4386  \put(0,0){\line(-1,1){120}}%       % single bond at 1
4387 \else\if\@tmpb S%beta single bond
4388  \put(0,0){\line(-1,1){120}}%       % single bond at 1
4389 \else\if\@tmpb D%beta single bond
4390  \put(-6,-6){\line(-1,1){120}}%       % single bond at 1
4391  \put(6,6){\line(-1,1){120}}%       % single bond at 1
4392 \else\if\@tmpb T%beta single bond
4393  \put(-10,-10){\line(-1,1){120}}%       % single bond at 1
4394  \put(0,0){\line(-1,1){120}}%       % single bond at 1
4395  \put(10,10){\line(-1,1){120}}%       % single bond at 1
4396 \else\ifx\@tmpb\empty%beta single bond
4397  \put(0,0){\line(-1,1){120}}%       % single bond at 1
4398 \fi\fi\fi\fi\fi\fi\fi%
4399  \putlatom{-120}{120}{\@memberb}%    % left type
4400 \fi%
4401 }% end of \setatombondH
\setatombondC
4402 \def\setatombondC{%% (-1,-1)
4403 \if@clipfuse%
4404  \yl@xdiff=0\relax
4405  \yl@ydiff=60\relax
4406 \if\@tmpb B%beta single bond

4407 {%

4408  \thicklines%
4409  \put(-40,-40){\line(-1,-1){100}}%       % single bond at 1

4410 }%

4411 \else\if\@tmpb A%alpha single bond
4412  \@ifundefined{dottedline}{%
4413  \put(-40,-40){\line(-1,-1){100}}%       % single bond at 1
4414  }{{\thicklines%
4415  \dottedline{20}(-40,-40)(-140,-140)}}%
4416 \else\if\@tmpb U%unspecified single bond
4417  \put(-40,-40){\line(-1,-1){100}}%       % single bond at 1
4418 \else\if\@tmpb S%beta single bond
4419  \put(-40,-40){\line(-1,-1){100}}%       % single bond at 1
4420 \else\if\@tmpb D%double bond
4421  \put(-46,-36){\line(-1,-1){100}}%       % single bond at 1
4422  \put(-36,-46){\line(-1,-1){100}}%       % single bond at 1
4423 \else\if\@tmpb T%triple bond
4424  \put(-50,-30){\line(-1,-1){100}}%       % single bond at 1
4425  \put(-40,-40){\line(-1,-1){100}}%       % single bond at 1
4426  \put(-30,-50){\line(-1,-1){100}}%       % single bond at 1
4427 \else\ifx\@tmpb\empty%beta single bond
4428  \put(-40,-40){\line(-1,-1){100}}%       % single bond at 1
4429 \fi\fi\fi\fi\fi\fi\fi%
4430  \putlatom{-140}{-200}{\@memberb}%    % left type
4431 \else%no clipping
4432  \yl@xdiff=0\relax
4433  \yl@ydiff=60\relax

4434 \if\@tmpb B%beta single bond

4435 {%

4436  \thicklines%
4437  \put(0,0){\line(-1,-1){120}}%       % single bond at 1

4438 }%

4439 \else\if\@tmpb A%alpha single bond
4440  \@ifundefined{dottedline}{%
4441  \put(0,0){\line(-1,-1){120}}%       % single bond at 1
4442  }{{\thicklines%
4443  \dottedline{20}(0,0)(-120,-120)}}%
4444 \else\if\@tmpb U%unspecified single bond
4445  \put(0,0){\line(-1,-1){120}}%       % single bond at 1
4446 \else\if\@tmpb S%beta single bond
4447  \put(0,0){\line(-1,-1){120}}%       % single bond at 1
4448 \else\if\@tmpb D%beta single bond
4449  \put(-6,6){\line(-1,-1){120}}%       % single bond at 1
4450  \put(6,-6){\line(-1,-1){120}}%       % single bond at 1
4451 \else\if\@tmpb T%beta single bond
4452  \put(-10,10){\line(-1,-1){120}}%       % single bond at 1
4453  \put(0,0){\line(-1,-1){120}}%       % single bond at 1
4454  \put(10,-10){\line(-1,-1){120}}%       % single bond at 1
4455 \else\ifx\@tmpb\empty%beta single bond
4456  \put(0,0){\line(-1,-1){120}}%       % single bond at 1
4457 \fi\fi\fi\fi\fi\fi\fi%
4458  \putlatom{-120}{-180}{\@memberb}%    % left type
4459 \fi%
4460 }% end of \setatombondC

7 Minor Linking Units

\ayl
4461 \def\ayl{\@ifnextchar({\@ayl@}{\@ayl@(10,40)}}
4462 \def\@ayl@(#1,#2)#3{\begingroup\yl@xdiff=0 \yl@ydiff=0%
4463 \kern#1\unitlength\raise#2\unitlength\hbox to0pt{#3\hss}%
4464 \endgroup}
\upnobond \downnobond
4465 \def\upnobond#1#2{%
4466 \hbox{\hbox to0.72em{\hss#1\hss}\kern-0.72em\raise2.2ex\hbox{#2}}}
4467 \def\downnobond#1#2{%
4468 \hbox{\hbox to0.72em{\hss#1\hss}\kern-0.72em\lower2.2ex\hbox{#2}}}

8 Spriro-Ring Commands

8.1 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 de-

signed to test the existence of a hetero atom (or an equivalent) at each vertix of a six-membered ring.

\test@vertix
\test@vertix@sixv
4469 \def\test@vertix#1{%
4470 \expandafter\def\csname #1#1#1\endcsname{@}%
4471 \if\@tmpb h\relax
4472  \expandafter\def\csname #1#1#1\endcsname{@}%
4473 \else\if\@tmpb s\relax
4474 \expandafter\def\csname #1#1#1\endcsname{}%
4475 \fi\fi}

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.

4476 \def\test@vertix@sixv#1#2#3#4#5#6#7{%
4477 \@forsemicol\member:=#1\do{%
4478 \ifx\member\empty\else%
4479 \expandafter\@m@mb@r\member;\relax%
4480 \expandafter\twoCH@R\@membera//%
4481 \ifcase\@tmpa%
4482 % \changes{v2.00}{1996/11/14}{@ in place of a net value}
4483 \or \test@vertix{#2}%
4484 \or \test@vertix{#3}%
4485 \or \test@vertix{#4}%

4486 \or

4487 \if\@tmpb a%
4488  \def\iii{@}%
4489 \else
4490  \test@vertix{#5}%

4491 \fi

4492 \or \test@vertix{#6}%
4493 \or \test@vertix{#7}%
4494 \fi\fi}}% end of \test@vertix@sixv
4495 %\def\test@vertix@sixv#1#2#3#4#5#6#7{%
4496 %\@forsemicol\member:=#1\do{%
4497 %\expandafter\@m@mb@r\member;\relax%
4498 %\expandafter\twoch@r\@membera{}%
4499 %\ifcase\@tmpa%
4500 %% \changes{v2.00}{1996/11/14}{@ in place of a net value}
4501 % \or \test@vertix{#2}%
4502 % \or \test@vertix{#3}%
4503 % \or \test@vertix{#4}%
4504 % \or \test@vertix{#5}%
4505 % \or \test@vertix{#6}%
4506 % \or \test@vertix{#7}%
4507 %\fi}}

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)}.
\set@hetatom@sixv
4508 \def\set@hetatom@sixv#1#2#3#4#5{%
4509 \@forsemicol\member:=#1\do{%
4510 \ifx\member\empty\else%
4511 \expandafter\@m@mb@r\member;\relax%
4512 \expandafter\twoch@r\@membera{}%
4513 \ifnum#5 < 0\relax%
4514 \@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
4515 \else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
4516 \ifnum\@tmpaa >#3\relax%
4517 \ifnum\@tmpaa <#4\relax%
4518 \ifcase\@tmpaa%
4519 \or%position 1
4520 \if\@tmpb h\relax
4521  \@acliptrue%
4522  \putratom{0}{356}{\@memberb}%  % right type
4523 \else\if\@tmpb s\relax
4524  \@aclipfalse%
4525  \putratom{0}{406}{\@memberb}%  % right type
4526 \else\if\@tmpb a\relax%omit fused position
4527 \else
4528  \@acliptrue%
4529  \putratom{-31}{356}{\@memberb}%  % right type
4530 \fi\fi\fi
4531 \or%position 2
4532 \if\@tmpb h\relax
4533  \@bcliptrue%
4534  \putratom{135}{280}{\@memberb}%  % right type
4535 \else\if\@tmpb s\relax
4536  \@bclipfalse%
4537  \putratom{175}{303}{\@memberb}%  % right type
4538 \else\if\@tmpb a\relax%omit fused position
4539 \else
4540  \@bcliptrue%
4541  \putratom{135}{280}{\@memberb}%  % right type
4542 \fi\fi\fi
4543 \or%position 3
4544 \if\@tmpb h\relax
4545  \@ccliptrue%
4546  \putratom{135}{95}{\@memberb}%  % right type

4547 \else\if\@tmpb s\relax
4548  \@cclipfalse%
4549  \putratom{175}{103}{\@memberb}%  % right type
4550 \else\if\@tmpb a\relax%omit fused position
4551 \else
4552  \@ccliptrue%
4553  \putratom{135}{65}{\@memberb}%   % right type
4554 \fi\fi\fi
4555 \or%position 4
4556 \if\@tmpb h\relax
4557  \@cliptrue%
4558  \putratom{0}{50}{\@memberb}%  % right type
4559 \else\if\@tmpb s\relax
4560  \@clipfalse%
4561  \putratom{0}{0}{\@memberb}%  % right type
4562 \else\if\@tmpb a\relax%omit fused position
4563 \else
4564  \@cliptrue%
4565  \putratom{-31}{-10}{\@memberb}%  % right type
4566 \fi\fi\fi
4567 \or%position 5
4568 \if\@tmpb h\relax
4569  \@ecliptrue%
4570  \putlatom{-135}{95}{\@memberb}%  % right type
4571 \else\if\@tmpb s\relax
4572  \@eclipfalse%
4573  \putlatom{-175}{103}{\@memberb}%  % right type
4574 \else\if\@tmpb a\relax%omit fused position
4575 \else
4576  \@ecliptrue%
4577  \putlatom{-135}{65}{\@memberb}%  % left type
4578 \fi\fi\fi
4579 \or%position 6
4580 \if\@tmpb h\relax
4581  \@fcliptrue%
4582  \putlatom{-135}{280}{\@memberb}%  % right type
4583 \else\if\@tmpb s\relax
4584  \@fclipfalse%
4585  \putlatom{-175}{303}{\@memberb}%  % right type
4586 \else\if\@tmpb a\relax%omit fused position
4587 \else
4588  \@fcliptrue%
4589  \putlatom{-135}{280}{\@memberb}% % left type
4590 \fi\fi\fi
4591 \fi% end of ifcase
4592 \fi\fi\fi}}% end of the macro \set@hetatom@sixv

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)}.
\set@hetatom@sixh
4593 \def\set@hetatom@sixh#1#2#3#4#5{%
4594 \@forsemicol\member:=#1\do{%
4595 \ifx\member\empty\else%
4596 \expandafter\@m@mb@r\member;\relax%
4597 %\expandafter\twoch@r\@membera{}%
4598 \expandafter\twoCH@R\@membera//%
4599 \ifnum#5 < 0\relax%
4600 \@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
4601 \else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax \fi
4602 \ifnum\@tmpaa >#3\relax%
4603 \ifnum\@tmpaa <#4\relax%
4604 \ifcase\@tmpaa%
4605 \or%position 1
4606 \if\@tmpb h\relax
4607  \@acliptrue%
4608  \putlatom{60}{0}{\@memberb}%  % left type
4609 \else\if\@tmpb s\relax
4610  \@aclipfalse%
4611  \putlatom{0}{0}{\@memberb}%              % left type
4612 \else\if\@tmpb a\relax%omit fused position
4613 \else
4614  \@acliptrue%
4615  \putlatom{60}{-36}{\@memberb}%              % left type
4616 \fi\fi\fi
4617 \or%position 2
4618 \if\@tmpb h\relax
4619  \@bcliptrue%
4620  \putlatom{135}{141}{\@memberb}%   % left type
4621 \else\if\@tmpb s\relax
4622  \@bclipfalse%
4623  \putlatom{103}{171}{\@memberb}%   % left type
4624 \else\if\@tmpb a\relax%omit fused position
4625 \else
4626  \@bcliptrue%
4627  \putlatom{135}{141}{\@memberb}%   % left type
4628 \fi\fi\fi
4629 \or%position 3
4630 \if\@tmpb h\relax
4631  \@ccliptrue%
4632  \putratom{273}{141}{\@memberb}%  % right type
4633 \else\if\@tmpb s\relax
4634  \@cclipfalse%

4635  \putratom{303}{171}{\@memberb}%  % right type
4636 \else\if\@tmpb a\relax%omit fused position
4637 \else
4638  \@ccliptrue%
4639  \putratom{273}{141}{\@memberb}%  % right type
4640 \fi\fi\fi
4641 \or%position 4
4642 \if\@tmpb h\relax
4643  \@cliptrue%
4644 \putratom{346}{0}{\@memberb}%  % right type
4645 \else\if\@tmpb s\relax
4646  \@clipfalse%
4647 \putratom{406}{0}{\@memberb}%  % right type
4648 \else\if\@tmpb a\relax%omit fused position
4649 \else
4650  \@cliptrue%
4651 \putratom{346}{-36}{\@memberb}%  % right type
4652 \fi\fi\fi
4653 \or%position 5
4654 \if\@tmpb h\relax
4655  \@ecliptrue%
4656  \putratom{283}{-131}{\@memberb}%  % right type
4657 \else\if\@tmpb s\relax
4658  \@eclipfalse%
4659  \putratom{303}{-171}{\@memberb}%  % right type
4660 \else\if\@tmpb a\relax%omit fused position
4661 \else
4662  \@ecliptrue%
4663  \putratom{273}{-211}{\@memberb}%  % right type
4664 \fi\fi\fi
4665 \or%position 6
4666 \if\@tmpb h\relax
4667  \@fcliptrue%
4668  \putlatom{125}{-131}{\@memberb}%  % left type
4669 \else\if\@tmpb s\relax
4670  \@fclipfalse%
4671  \putlatom{103}{-171}{\@memberb}%  % left type
4672 \else\if\@tmpb a\relax%omit fused position
4673 \else
4674  \@fcliptrue%
4675  \putlatom{135}{-211}{\@memberb}%  % left type
4676 \fi\fi\fi
4677 \fi% end of ifcase
4678 \fi\fi\fi}}% end of the macro \set@hetatom@sixh

8.2 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.

\test@vertix@decav
4679 \def\test@vertix@decav#1#2#3#4#5#6#7{%
4680 \@forsemicol\member:=#1\do{%
4681 \ifx\member\empty\else%
4682 \expandafter\@m@mb@r\member;\relax%
4683 \expandafter\twoch@r\@membera{}%
4684 \ifcase\@tmpa%
4685 \or\or\or\or\or\or
4686 \or \test@vertix{#2}%

4687 \or

4688 \if\@tmpb a%
4689  \def\jjj{@}%
4690 \else
4691  \test@vertix{#3}%

4692 \fi

4693 \or \test@vertix{#4}%
4694 \or \test@vertix{#5}%
4695 % \or \test@vertix{#6}%
4696 % \or \test@vertix{#7}%
4697 \fi\fi}}

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,

\set@vrtx@fuse
4698 \def\set@vrtx@fuse#1{%
4699 \@forsemicol\member:=#1\do{%
4700 \ifx\member\empty\else%
4701 \expandafter\@m@mb@r\member;\relax%
4702 \expandafter\twoch@r\@membera{}%
4703 \ifcase\@tmpa%

4704 \or 4705 \or 4706 \or

4707 \or%%%%4
4708 \if\@tmpb a%
4709  \global\@icliptrue%
4710  \putlatom{207}{65}{\@memberb}%  % left type
4711 \else\relax

4712 \fi

4713 \or%5
4714 \or%6
4715 \or%7
4716 \or%
4717 \if\@tmpb a%

4718  \global\@jcliptrue%
4719  \putlatom{207}{280}{\@memberb}% % left type
4720 \else\relax

4721 \fi

4722 \or%9 (= 4a)
4723  \global\@icliptrue%
4724  \putlatom{207}{65}{\@memberb}%  % left type
4725 \or%10 (= 8a)
4726  \global\@jcliptrue%
4727  \putlatom{207}{280}{\@memberb}% % left type
4728 \fi\fi}%
4729 }% end of the macro \set@vrtx@fuse

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,

\set@vrtx@fuseh
4730 \def\set@vrtx@fuseh#1{%
4731 \@forsemicol\member:=#1\do{%
4732 \ifx\member\empty\else%
4733 \expandafter\@m@mb@r\member;\relax%
4734 \expandafter\twoCH@R\@membera//%
4735 \ifcase\@tmpa%

4736 \or 4737 \or 4738 \or

4739 \or%%%%4
4740 \if\@tmpb a%
4741  \global\@icliptrue%
4742  \putratom{273}{-211}{\@memberb}%            % right type
4743 \else\relax

4744 \fi

4745 \or%5
4746 \or%6
4747 \or%7
4748 \or%
4749 \if\@tmpb a%
4750  \global\@jcliptrue%
4751  \putlatom{135}{-211}{\@memberb}%            % left type
4752 \else\relax

4753 \fi

4754 \or%9 (= 4a)
4755 \ifx\@tmpb\empty
4756  \global\@icliptrue%
4757  \putratom{273}{-211}{\@memberb}%            % right type

4758 \else
4759  \XyMTeXWarning{Forbidden spiro ring for the 4a position}%

4760 \fi

4761 \or%10 (= 8a)
4762 \ifx\@tmpb\empty
4763  \global\@jcliptrue%
4764  \putlatom{135}{-211}{\@memberb}%            % left type
4765 \else
4766  \XyMTeXWarning{Forbidden spiro ring for the 8a position}%

4767 \fi

4768 \fi\fi}%
4769 }% end of the macro \set@vrtx@fuseh

9 Ring-fusion Commands for Six-Membered Rings

9.1 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.
\set@fusionadd@sixv
4770 \def\set@fusionadd@sixv{%
4771  \if\@@tmpa 1\relax%
4772  \putratom{-38}{282}{\@@tmpb}%      % right type
4773  \else\if\@@tmpa 2\relax%
4774  \putratom{60}{253}{\@@tmpb}%       % right type
4775  \else\if\@@tmpa 3\relax%
4776  \putratom{60}{120}{\@@tmpb}%       % right type
4777  \else\if\@@tmpa 4\relax%
4778  \putratom{-38}{88}{\@@tmpb}%       % right type
4779  \else\if\@@tmpa 6\relax%
4780  \putratom{-90}{253}{\@@tmpb}%      % right type
4781  \else\if\@@tmpa 5\relax%
4782  \putratom{-90}{120}{\@@tmpb}%      % right type
4783  \else
4784 % %%%%%%%%%%%%%%%%%%%%%
4785 % % inner bond fusion %
4786 % %%%%%%%%%%%%%%%%%%%%%
4787  \set@fusion@sixv
4788  \fi\fi\fi\fi\fi\fi%

4789 }%

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.

\set@fusion@sixv
4790 \def\set@fusion@sixv{%
4791 % %%%%%%%%%%%%%%%%%%%%%
4792 % % inner bond fusion %
4793 % %%%%%%%%%%%%%%%%%%%%%
4794 \if\@@tmpa d\relax%
4795  \putlratom{0}{0}{\@@tmpb}%         % bond fused
4796  \FuseWarning{171}{-103}%
4797  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}%
4798  \else\if\@@tmpa D\relax%
4799  \putlratom{-171}{103}{\@@tmpb}%     % bond fused
4800  \FuseWarning{-171}{103}%
4801  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}%
4802  \else\if\@@tmpa e\relax%
4803  \putlratom{-171}{103}{\@@tmpb}%     % bond fused
4804  \FuseWarning{0}{-200}%
4805  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}%
4806  \else\if\@@tmpa E\relax%
4807  \putlratom{-171}{303}{\@@tmpb}%     % bond fused
4808  \FuseWarning{0}{200}%
4809  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}%
4810  \else\if\@@tmpa f\relax%
4811  \putlratom{-171}{303}{\@@tmpb}%     % bond fused
4812  \FuseWarning{-171}{-103}%
4813  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}%
4814  \else\if\@@tmpa F\relax%
4815  \putlratom{0}{406}{\@@tmpb}%       % bond fused
4816  \FuseWarning{171}{103}%
4817  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}%
4818  \else\if\@@tmpa a\relax%
4819  \putlratom{0}{406}{\@@tmpb}%       % bond fused
4820  \FuseWarning{-171}{103}%
4821  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
4822  \else\if\@@tmpa A\relax%
4823  \putlratom{171}{303}{\@@tmpb}%    % bond fused
4824  \FuseWarning{171}{-103}%
4825  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
4826  \else\if\@@tmpa b\relax%
4827  \putlratom{171}{303}{\@@tmpb}%    % bond fused
4828  \FuseWarning{0}{200}%
4829  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
4830  \else\if\@@tmpa B\relax%
4831  \putlratom{171}{103}{\@@tmpb}%    % bond fused
4832  \FuseWarning{0}{-200}%
4833  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
4834  \else\if\@@tmpa c\relax%
4835  \putlratom{171}{103}{\@@tmpb}%    % bond fused
4836  \FuseWarning{171}{103}%
4837  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}%

4838  \else\if\@@tmpa C\relax%
4839  \putlratom{0}{0}{\@@tmpb}%      % bond fused
4840  \FuseWarning{-171}{-103}%
4841  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}%
4842  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
4843 }% end of the macro \set@fusion@sixv

9.2 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.
\set@fusionadd@sixvi
4844 \def\set@fusionadd@sixvi{%
4845  \if\@@tmpa 4\relax%
4846  \putratom{-38}{282}{\@@tmpb}%      % right type
4847  \else\if\@@tmpa 3\relax%
4848  \putratom{60}{253}{\@@tmpb}%       % right type
4849  \else\if\@@tmpa 2\relax%
4850  \putratom{60}{120}{\@@tmpb}%       % right type
4851  \else\if\@@tmpa 1\relax%
4852  \putratom{-38}{88}{\@@tmpb}%       % right type
4853  \else\if\@@tmpa 5\relax%
4854  \putratom{-90}{253}{\@@tmpb}%      % right type
4855  \else\if\@@tmpa 6\relax%
4856  \putratom{-90}{120}{\@@tmpb}%      % right type
4857  \else
4858 % %%%%%%%%%%%%%%%%%%%%%
4859 % % inner bond fusion %
4860 % %%%%%%%%%%%%%%%%%%%%%
4861  \set@fusion@sixvi
4862  \fi\fi\fi\fi\fi\fi%
4863 }% end of the macro \set@fusionadd@sixvi

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.

\set@fusion@sixvi
4864 \def\set@fusion@sixvi{%
4865 % %%%%%%%%%%%%%%%%%%%%%
4866 % % inner bond fusion %
4867 % %%%%%%%%%%%%%%%%%%%%%
4868 \if\@@tmpa a\relax%
4869  \putlratom{0}{0}{\@@tmpb}%      % right type
4870  \FuseWarning{-171}{-103}%
4871  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a or other}%

4872  \else\if\@@tmpa A\relax%
4873  \putlratom{171}{103}{\@@tmpb}%      % right type
4874  \FuseWarning{171}{103}%
4875  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A or other}%
4876  \else\if\@@tmpa b\relax%
4877  \putlratom{171}{103}{\@@tmpb}%      % right type
4878  \FuseWarning{0}{-200}%
4879  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b or other}%
4880  \else\if\@@tmpa B\relax%
4881  \putlratom{171}{303}{\@@tmpb}%      % right type
4882  \FuseWarning{0}{200}%
4883  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B or other}%
4884  \else\if\@@tmpa c\relax%
4885  \putlratom{171}{303}{\@@tmpb}%      % right type
4886  \FuseWarning{171}{-103}%
4887  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c or other}%
4888  \else\if\@@tmpa C\relax%
4889  \putlratom{0}{406}{\@@tmpb}%      % right type
4890  \FuseWarning{-171}{103}%
4891  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C or other}%
4892  \else\if\@@tmpa d\relax%
4893  \putlratom{0}{406}{\@@tmpb}%      % right type
4894  \FuseWarning{171}{103}%
4895  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d or other}%
4896  \else\if\@@tmpa D\relax%
4897  \putlratom{-171}{303}{\@@tmpb}%      % right type
4898  \FuseWarning{-171}{-103}%
4899  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D or other}%
4900  \else\if\@@tmpa e\relax%
4901  \putlratom{-171}{303}{\@@tmpb}%      % right type
4902  \FuseWarning{0}{200}%
4903  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e or other}%
4904  \else\if\@@tmpa E\relax%
4905  \putlratom{-171}{103}{\@@tmpb}%      % right type
4906  \FuseWarning{0}{-200}%
4907  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E or other}%
4908  \else\if\@@tmpa f\relax%
4909  \putlratom{-171}{103}{\@@tmpb}%      % right type
4910  \FuseWarning{171}{-103}%
4911  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f or other}%
4912  \else\if\@@tmpa F\relax%
4913  \putlratom{0}{0}{\@@tmpb}%      % right type
4914  \FuseWarning{-171}{103}%
4915  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F or other}%
4916  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
4917 }% end of the marcro \set@fusion@sixvi

9.3 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.
\set@fusionadd@sixh
4918 \def\set@fusionadd@sixh{%
4919  \if\@@tmpa 4\relax%
4920  \putratom{272}{-18}{\@@tmpb}%      % right type
4921  \else\if\@@tmpa 1\relax%
4922  \putratom{68}{-18}{\@@tmpb}%       % right type
4923  \else\if\@@tmpa 3\relax%
4924  \putratom{233}{60}{\@@tmpb}%       % right type
4925  \else\if\@@tmpa 2\relax%
4926  \putratom{120}{60}{\@@tmpb}%       % right type
4927  \else\if\@@tmpa 5\relax%
4928  \putratom{233}{-110}{\@@tmpb}%     % right type
4929  \else\if\@@tmpa 6\relax%
4930  \putratom{120}{-110}{\@@tmpb}%     % right type
4931  \else
4932 % %%%%%%%%%%%%%%%%%%%%%
4933 % % inner bond fusion %
4934 % %%%%%%%%%%%%%%%%%%%%%
4935  \set@fusion@sixh
4936  \fi\fi\fi\fi\fi\fi%

4937 }%

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.

\set@fusion@sixh
4938 \def\set@fusion@sixh{%
4939 % %%%%%%%%%%%%%%%%%%%%%
4940 % % inner bond fusion %
4941 % %%%%%%%%%%%%%%%%%%%%%
4942 \if\@@tmpa d\relax%
4943  \putlratom{406}{0}{\@@tmpb}%         % bond fused
4944  \FuseWarning{103}{171}%
4945  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}%
4946  \else\if\@@tmpa D\relax%
4947  \putlratom{303}{-171}{\@@tmpb}%     % bond fused
4948  \FuseWarning{-103}{-171}%
4949  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}%
4950  \else\if\@@tmpa e\relax%
4951  \putlratom{303}{-171}{\@@tmpb}%     % bond fused
4952  \FuseWarning{200}{0}%
4953  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}%

4954  \else\if\@@tmpa E\relax%
4955  \putlratom{103}{-171}{\@@tmpb}%     % bond fused
4956  \FuseWarning{-200}{0}%
4957  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}%
4958  \else\if\@@tmpa f\relax%
4959  \putlratom{103}{-171}{\@@tmpb}%     % bond fused
4960  \FuseWarning{103}{-171}%
4961  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}%
4962  \else\if\@@tmpa F\relax%
4963  \putlratom{0}{0}{\@@tmpb}%       % bond fused
4964  \FuseWarning{-103}{171}%
4965  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}%
4966  \else\if\@@tmpa a\relax%
4967  \putlratom{0}{0}{\@@tmpb}%       % bond fused
4968  \FuseWarning{-103}{-171}%
4969  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
4970  \else\if\@@tmpa A\relax%
4971  \putlratom{103}{171}{\@@tmpb}%    % bond fused
4972  \FuseWarning{103}{171}%
4973  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
4974  \else\if\@@tmpa b\relax%
4975  \putlratom{103}{171}{\@@tmpb}%    % bond fused
4976  \FuseWarning{-200}{0}%
4977  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
4978  \else\if\@@tmpa B\relax%
4979  \putlratom{303}{171}{\@@tmpb}%    % bond fused
4980  \FuseWarning{200}{0}%
4981  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
4982  \else\if\@@tmpa c\relax%
4983  \putlratom{303}{171}{\@@tmpb}%    % bond fused
4984  \FuseWarning{-103}{171}%
4985  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}%
4986  \else\if\@@tmpa C\relax%
4987  \putlratom{406}{0}{\@@tmpb}%      % bond fused
4988 %        \FuseWarning{103}{171}%
4989  \FuseWarning{103}{-171}%
4990  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}%
4991  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
4992 }% end of the macro \set@fusion@sixh

9.4 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.
\set@fusionadd@sixhi
4993 \def\set@fusionadd@sixhi{%

4994  \if\@@tmpa 1\relax%
4995  \putratom{272}{-18}{\@@tmpb}%      % right type
4996  \else\if\@@tmpa 4\relax%
4997  \putratom{68}{-18}{\@@tmpb}%       % right type
4998  \else\if\@@tmpa 2\relax%
4999  \putratom{233}{60}{\@@tmpb}%       % right type
5000  \else\if\@@tmpa 3\relax%
5001  \putratom{120}{60}{\@@tmpb}%       % right type
5002  \else\if\@@tmpa 6\relax%
5003  \putratom{233}{-110}{\@@tmpb}%      % right type
5004  \else\if\@@tmpa 5\relax%
5005  \putratom{120}{-110}{\@@tmpb}%      % right type
5006  \else
5007 % %%%%%%%%%%%%%%%%%%%%%
5008 % % inner bond fusion %
5009 % %%%%%%%%%%%%%%%%%%%%%
5010  \set@fusion@sixhi
5011  \fi\fi\fi\fi\fi\fi%

5012 }%

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.

\set@fusion@sixhi
5013 \def\set@fusion@sixhi{%
5014 % %%%%%%%%%%%%%%%%%%%%%
5015 % % inner bond fusion %
5016 % %%%%%%%%%%%%%%%%%%%%%
5017 \if\@@tmpa F\relax%
5018  \putlratom{406}{0}{\@@tmpb}%         % bond fused
5019  \FuseWarning{103}{171}%
5020  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}%
5021  \else\if\@@tmpa f\relax%
5022  \putlratom{303}{-171}{\@@tmpb}%     % bond fused
5023  \FuseWarning{-103}{-171}%
5024  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}%
5025  \else\if\@@tmpa E\relax%
5026  \putlratom{303}{-171}{\@@tmpb}%     % bond fused
5027  \FuseWarning{200}{0}%
5028  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}%
5029  \else\if\@@tmpa e\relax%
5030  \putlratom{103}{-171}{\@@tmpb}%     % bond fused
5031  \FuseWarning{-200}{0}%
5032  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}%
5033  \else\if\@@tmpa D\relax%
5034  \putlratom{103}{-171}{\@@tmpb}%     % bond fused
5035  \FuseWarning{103}{-171}%
5036  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}%
5037  \else\if\@@tmpa d\relax%

5038  \putlratom{0}{0}{\@@tmpb}%       % bond fused
5039  \FuseWarning{-103}{171}%
5040  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}%
5041  \else\if\@@tmpa C\relax%
5042  \putlratom{0}{0}{\@@tmpb}%       % bond fused
5043  \FuseWarning{-103}{-171}%
5044  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}%
5045  \else\if\@@tmpa c\relax%
5046  \putlratom{103}{171}{\@@tmpb}%    % bond fused
5047  \FuseWarning{103}{171}%
5048  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}%
5049  \else\if\@@tmpa B\relax%
5050  \putlratom{103}{171}{\@@tmpb}%    % bond fused
5051  \FuseWarning{-200}{0}%
5052  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
5053  \else\if\@@tmpa b\relax%
5054  \putlratom{303}{171}{\@@tmpb}%    % bond fused
5055  \FuseWarning{200}{0}%
5056  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
5057  \else\if\@@tmpa A\relax%
5058  \putlratom{303}{171}{\@@tmpb}%    % bond fused
5059  \FuseWarning{-103}{171}%
5060  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
5061  \else\if\@@tmpa a\relax%
5062  \putlratom{406}{0}{\@@tmpb}%      % bond fused
5063  \FuseWarning{103}{-171}%
5064  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
5065  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5066 }% end of the macro \set@fusion@sixhi

10 Ring-fusion Commands for Six-Six Fused Rings

10.1 Conventions for Warning

\UnfavorableFusion
5067 \def\UnfavorableFusion#1{\if@smallringsw\else
5068 \XyMTeXWarning{Unfavorable Fusion for bond `#1'}\fi}
\ForbiddenFusion
5069 \def\ForbiddenFusion#1{\if@smallringsw\else
5070 \XyMTeXWarning{Forbidden Fusion for bond `#1'}\fi}

10.2 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.

\set@fusion@decav
5071 \def\set@fusion@decav{%
5072 \let\@@tmpa=\@tmpa
5073 \let\@@tmpb=\@tmpb
5074 \if\@tmpa a%
5075  \let\@@tmpa=\@tmpa
5076  \put(342,0){\set@fusionadd@sixv}%
5077 \else\if\@tmpa A%
5078  \let\@@tmpa=\@tmpa
5079  \put(342,0){\set@fusionadd@sixv}%
5080 \else\if\@tmpa b%
5081  \let\@@tmpa=\@tmpa
5082  \put(342,0){\set@fusionadd@sixv}%
5083 \else\if\@tmpa B%
5084  \let\@@tmpa=\@tmpa
5085  \put(342,0){\set@fusionadd@sixv}%
5086 \else\if\@tmpa c%
5087  \let\@@tmpa=\@tmpa
5088  \put(342,0){\set@fusionadd@sixv}%
5089 \else\if\@tmpa C%
5090  \let\@@tmpa=\@tmpa
5091  \put(342,0){\set@fusionadd@sixv}%
5092 \else\if\@tmpa d%
5093  \let\@@tmpa=\@tmpa
5094  \put(342,0){\set@fusionadd@sixv}%
5095  \UnfavorableFusion{d}%
5096 \else\if\@tmpa D%
5097  \let\@@tmpa=\@tmpa
5098  \put(342,0){\set@fusionadd@sixv}%
5099  \UnfavorableFusion{D}%
5100 \else\if\@tmpa e%
5101  \edef\@@tmpa{c}%
5102  \put(0,0){\set@fusionadd@sixv}%
5103  \UnfavorableFusion{e}%
5104 \else\if\@tmpa E%
5105  \edef\@@tmpa{C}%
5106  \put(0,0){\set@fusionadd@sixv}%
5107  \UnfavorableFusion{E}%
5108 \else\if\@tmpa f%
5109  \edef\@@tmpa{d}%
5110  \put(0,0){\set@fusionadd@sixv}%
5111 \else\if\@tmpa F%
5112  \edef\@@tmpa{D}%
5113  \put(0,0){\set@fusionadd@sixv}%
5114 \else\if\@tmpa g%
5115  \edef\@@tmpa{e}%
5116  \put(0,0){\set@fusionadd@sixv}%
5117 \else\if\@tmpa G%
5118  \edef\@@tmpa{E}%

5119  \put(0,0){\set@fusionadd@sixv}%
5120 \else\if\@tmpa h%
5121  \edef\@@tmpa{f}%
5122  \put(0,0){\set@fusionadd@sixv}%
5123 \else\if\@tmpa H%
5124  \edef\@@tmpa{F}%
5125  \put(0,0){\set@fusionadd@sixv}%
5126 \else\if\@tmpa i%
5127  \edef\@@tmpa{a}%
5128  \put(0,0){\set@fusionadd@sixv}%
5129  \UnfavorableFusion{i}%
5130 \else\if\@tmpa I%
5131  \edef\@@tmpa{A}%
5132  \put(0,0){\set@fusionadd@sixv}%
5133  \UnfavorableFusion{I}%
5134 \else\if\@tmpa j%
5135  \edef\@@tmpa{f}%
5136  \put(342,0){\set@fusionadd@sixv}%
5137  \UnfavorableFusion{j}%
5138 \else\if\@tmpa J%
5139  \edef\@@tmpa{F}%
5140  \put(342,0){\set@fusionadd@sixv}%
5141  \UnfavorableFusion{J}%
5142 \else\if\@tmpa k%
5143  \edef\@@tmpa{e}%
5144  \put(342,0){\set@fusionadd@sixv}%
5145  \ForbiddenFusion{k}%
5146 \else\if\@tmpa K%
5147  \edef\@@tmpa{E}%
5148  \put(342,0){\set@fusionadd@sixv}%
5149  \ForbiddenFusion{K}%
5150 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5151 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5152 }% end of the macro \set@fusion@decav

10.3 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.

\set@fusion@decavb
5153 \def\set@fusion@decavb{%
5154 \let\@@tmpa=\@tmpa
5155 \let\@@tmpb=\@tmpb
5156 \if\@tmpa a%
5157  \edef\@@tmpa{b}%
5158  \put(0,0){\set@fusionadd@sixv}%

5159 \else\if\@tmpa A%
5160  \edef\@@tmpa{B}%
5161  \put(0,0){\set@fusionadd@sixv}%
5162 \else\if\@tmpa b%
5163  \edef\@@tmpa{c}%
5164  \put(0,0){\set@fusionadd@sixv}%
5165 \else\if\@tmpa B%
5166  \edef\@@tmpa{C}%
5167  \put(0,0){\set@fusionadd@sixv}%
5168 \else\if\@tmpa c%
5169  \edef\@@tmpa{d}%
5170  \put(0,0){\set@fusionadd@sixv}%
5171 \else\if\@tmpa C%
5172  \edef\@@tmpa{D}%
5173  \put(0,0){\set@fusionadd@sixv}%
5174 \else\if\@tmpa d%
5175  \edef\@@tmpa{e}%
5176  \put(0,0){\set@fusionadd@sixv}%
5177  \UnfavorableFusion{d}%
5178 \else\if\@tmpa D%
5179  \edef\@@tmpa{E}%
5180  \put(0,0){\set@fusionadd@sixv}%
5181  \UnfavorableFusion{D}%
5182 \else\if\@tmpa e%
5183  \edef\@@tmpa{d}%
5184  \put(-171,303){\set@fusionadd@sixv}%
5185  \UnfavorableFusion{e}%
5186 \else\if\@tmpa E%
5187  \edef\@@tmpa{D}%
5188  \put(-171,303){\set@fusionadd@sixv}%
5189  \UnfavorableFusion{E}%
5190 \else\if\@tmpa f%
5191  \edef\@@tmpa{e}%
5192  \put(-171,303){\set@fusionadd@sixv}%
5193 \else\if\@tmpa F%
5194  \edef\@@tmpa{E}%
5195  \put(-171,303){\set@fusionadd@sixv}%
5196 \else\if\@tmpa g%
5197  \edef\@@tmpa{f}%
5198  \put(-171,303){\set@fusionadd@sixv}%
5199 \else\if\@tmpa G%
5200  \edef\@@tmpa{F}%
5201  \put(-171,303){\set@fusionadd@sixv}%
5202 \else\if\@tmpa h%
5203  \edef\@@tmpa{a}%
5204  \put(-171,303){\set@fusionadd@sixv}%
5205 \else\if\@tmpa H%
5206  \edef\@@tmpa{A}%
5207  \put(-171,303){\set@fusionadd@sixv}%
5208 \else\if\@tmpa i%

5209  \edef\@@tmpa{b}%
5210  \put(-171,303){\set@fusionadd@sixv}%
5211  \UnfavorableFusion{i}%
5212 \else\if\@tmpa I%
5213  \edef\@@tmpa{B}%
5214  \put(-171,303){\set@fusionadd@sixv}%
5215  \UnfavorableFusion{I}%
5216 \else\if\@tmpa j%
5217  \edef\@@tmpa{a}%
5218  \put(0,0){\set@fusionadd@sixv}%
5219  \UnfavorableFusion{j}%
5220 \else\if\@tmpa J%
5221  \edef\@@tmpa{A}%
5222  \put(0,0){\set@fusionadd@sixv}%
5223  \UnfavorableFusion{J}%
5224 \else\if\@tmpa k%
5225  \edef\@@tmpa{c}%
5226  \put(-171,303){\set@fusionadd@sixv}%
5227  \ForbiddenFusion{k}%
5228 \else\if\@tmpa K%
5229  \edef\@@tmpa{C}%
5230  \put(-171,303){\set@fusionadd@sixv}%
5231  \ForbiddenFusion{K}%
5232 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5233 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5234 }% end of the macro \set@fusion@decavb

10.4 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.

\set@fusion@decavt
5235 \def\set@fusion@decavt{%
5236 \let\@@tmpa=\@tmpa
5237 \let\@@tmpb=\@tmpb
5238 \if\@tmpa a%
5239  \edef\@@tmpa{f}%
5240  \put(171,303){\set@fusionadd@sixv}%
5241 \else\if\@tmpa A%
5242  \edef\@@tmpa{F}%
5243  \put(171,303){\set@fusionadd@sixv}%
5244 \else\if\@tmpa b%
5245  \edef\@@tmpa{a}%
5246  \put(171,303){\set@fusionadd@sixv}%
5247 \else\if\@tmpa B%
5248  \edef\@@tmpa{A}%

5249  \put(171,303){\set@fusionadd@sixv}%
5250 \else\if\@tmpa c%
5251  \edef\@@tmpa{b}%
5252  \put(171,303){\set@fusionadd@sixv}%
5253 \else\if\@tmpa C%
5254  \edef\@@tmpa{B}%
5255  \put(171,303){\set@fusionadd@sixv}%
5256 \else\if\@tmpa d%
5257  \edef\@@tmpa{c}%
5258  \put(171,303){\set@fusionadd@sixv}%
5259  \UnfavorableFusion{d}%
5260 \else\if\@tmpa D%
5261  \edef\@@tmpa{C}%
5262  \put(171,303){\set@fusionadd@sixv}%
5263  \UnfavorableFusion{D}%
5264 \else\if\@tmpa e%
5265  \edef\@@tmpa{b}%
5266  \put(0,0){\set@fusionadd@sixv}%
5267  \UnfavorableFusion{e}%
5268 \else\if\@tmpa E%
5269  \edef\@@tmpa{B}%
5270  \put(0,0){\set@fusionadd@sixv}%
5271  \UnfavorableFusion{E}%
5272 \else\if\@tmpa f%
5273  \edef\@@tmpa{c}%
5274  \put(0,0){\set@fusionadd@sixv}%
5275 \else\if\@tmpa F%
5276  \edef\@@tmpa{C}%
5277  \put(0,0){\set@fusionadd@sixv}%
5278 \else\if\@tmpa g%
5279  \edef\@@tmpa{d}%
5280  \put(0,0){\set@fusionadd@sixv}%
5281 \else\if\@tmpa G%
5282  \edef\@@tmpa{D}%
5283  \put(0,0){\set@fusionadd@sixv}%
5284 \else\if\@tmpa h%
5285  \edef\@@tmpa{e}%
5286  \put(0,0){\set@fusionadd@sixv}%
5287 \else\if\@tmpa H%
5288  \edef\@@tmpa{E}%
5289  \put(0,0){\set@fusionadd@sixv}%
5290 \else\if\@tmpa i%
5291  \edef\@@tmpa{f}%
5292  \put(0,0){\set@fusionadd@sixv}%
5293  \UnfavorableFusion{i}%
5294 \else\if\@tmpa I%
5295  \edef\@@tmpa{F}%
5296  \put(0,0){\set@fusionadd@sixv}%
5297  \UnfavorableFusion{I}%
5298 \else\if\@tmpa j%

5299  \edef\@@tmpa{e}%
5300  \put(171,303){\set@fusionadd@sixv}%
5301  \UnfavorableFusion{j}%
5302 \else\if\@tmpa J%
5303  \edef\@@tmpa{E}%
5304  \put(171,303){\set@fusionadd@sixv}%
5305  \UnfavorableFusion{J}%
5306 \else\if\@tmpa k%
5307  \edef\@@tmpa{d}%
5308  \put(171,303){\set@fusionadd@sixv}%
5309  \ForbiddenFusion{k}%
5310 \else\if\@tmpa K%
5311  \edef\@@tmpa{D}%
5312  \put(171,303){\set@fusionadd@sixv}%
5313  \ForbiddenFusion{K}%
5314 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5315 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5316 }% end of \set@fusion@decavt

10.5 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.
\set@fusion@decah
5317 \def\set@fusion@decah{%
5318 \let\@@tmpa=\@tmpa
5319 \let\@@tmpb=\@tmpb
5320 \if\@tmpa a%
5321  \let\@@tmpa=\@tmpa
5322  \put(0,0){\set@fusionadd@sixh}%
5323 \else\if\@tmpa A%
5324  \let\@@tmpa=\@tmpa
5325  \put(0,0){\set@fusionadd@sixh}%
5326 \else\if\@tmpa b%
5327  \let\@@tmpa=\@tmpa
5328  \put(0,0){\set@fusionadd@sixh}%
5329 \else\if\@tmpa B%
5330  \let\@@tmpa=\@tmpa
5331  \put(0,0){\set@fusionadd@sixh}%
5332 \else\if\@tmpa c%
5333  \let\@@tmpa=\@tmpa
5334  \put(0,0){\set@fusionadd@sixh}%
5335 \else\if\@tmpa C%
5336  \let\@@tmpa=\@tmpa
5337  \put(0,0){\set@fusionadd@sixh}%
5338 \else\if\@tmpa d%

5339  \let\@@tmpa=\@tmpa
5340  \put(0,0){\set@fusionadd@sixh}%
5341  \UnfavorableFusion{d}%
5342 \else\if\@tmpa D%
5343  \let\@@tmpa=\@tmpa
5344  \put(0,0){\set@fusionadd@sixh}%
5345  \UnfavorableFusion{D}%
5346 \else\if\@tmpa e%
5347  \edef\@@tmpa{c}%
5348  \put(0,-342){\set@fusionadd@sixh}%
5349  \UnfavorableFusion{e}%
5350 \else\if\@tmpa E%
5351  \edef\@@tmpa{C}%
5352  \put(0,-342){\set@fusionadd@sixh}%
5353  \UnfavorableFusion{E}%
5354 \else\if\@tmpa f%
5355  \edef\@@tmpa{d}%
5356  \put(0,-342){\set@fusionadd@sixh}%
5357 \else\if\@tmpa F%
5358  \edef\@@tmpa{D}%
5359  \put(0,-342){\set@fusionadd@sixh}%
5360 \else\if\@tmpa g%
5361  \edef\@@tmpa{e}%
5362  \put(0,-342){\set@fusionadd@sixh}%
5363 \else\if\@tmpa G%
5364  \edef\@@tmpa{E}%
5365  \put(0,-342){\set@fusionadd@sixh}%
5366 \else\if\@tmpa h%
5367  \edef\@@tmpa{f}%
5368  \put(0,-342){\set@fusionadd@sixh}%
5369 \else\if\@tmpa H%
5370  \edef\@@tmpa{F}%
5371  \put(0,-342){\set@fusionadd@sixh}%
5372 \else\if\@tmpa i%
5373  \edef\@@tmpa{a}%
5374  \put(0,-342){\set@fusionadd@sixh}%
5375  \UnfavorableFusion{i}%
5376 \else\if\@tmpa I%
5377  \edef\@@tmpa{A}%
5378  \put(0,-342){\set@fusionadd@sixh}%
5379  \UnfavorableFusion{I}%
5380 \else\if\@tmpa j%
5381  \edef\@@tmpa{f}%
5382  \put(0,0){\set@fusionadd@sixh}%
5383  \UnfavorableFusion{j}%
5384 \else\if\@tmpa J%
5385  \edef\@@tmpa{F}%
5386  \put(0,0){\set@fusionadd@sixh}%
5387  \UnfavorableFusion{J}%
5388 \else\if\@tmpa k%

5389  \edef\@@tmpa{e}%
5390  \put(0,0){\set@fusionadd@sixh}%
5391  \ForbiddenFusion{k}%
5392 \else\if\@tmpa K%
5393  \edef\@@tmpa{E}%
5394  \put(0,0){\set@fusionadd@sixh}%
5395  \ForbiddenFusion{K}%
5396 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5397 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5398 }% end of the macro \set@fusion@decah

11 Ring-fusion Commands for Six-Six-Six Fused Rings

11.1 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.
\set@fusion@hanthrav
5399 \def\set@fusion@hanthrav{%
5400 \let\@@tmpa=\@tmpa
5401 \let\@@tmpb=\@tmpb
5402 \if\@tmpa a%
5403  \let\@@tmpa=\@tmpa
5404  \put(684,0){\set@fusionadd@sixv}%
5405 \else\if\@tmpa A%
5406  \let\@@tmpa=\@tmpa
5407  \put(684,0){\set@fusionadd@sixv}%
5408 \else\if\@tmpa b%
5409  \let\@@tmpa=\@tmpa
5410  \put(684,0){\set@fusionadd@sixv}%
5411 \else\if\@tmpa B%
5412  \let\@@tmpa=\@tmpa
5413  \put(684,0){\set@fusionadd@sixv}%
5414 \else\if\@tmpa c%
5415  \let\@@tmpa=\@tmpa
5416  \put(684,0){\set@fusionadd@sixv}%
5417 \else\if\@tmpa C%
5418  \let\@@tmpa=\@tmpa
5419  \put(684,0){\set@fusionadd@sixv}%
5420 \else\if\@tmpa d%
5421  \let\@@tmpa=\@tmpa
5422  \put(684,0){\set@fusionadd@sixv}%
5423  \UnfavorableFusion{d}%
5424 \else\if\@tmpa D%

5425  \let\@@tmpa=\@tmpa
5426  \put(684,0){\set@fusionadd@sixv}%
5427  \UnfavorableFusion{D}%
5428 \else\if\@tmpa e%
5429  \edef\@@tmpa{c}%
5430  \put(342,0){\set@fusionadd@sixv}%
5431  \UnfavorableFusion{e}%
5432 \else\if\@tmpa E%
5433  \edef\@@tmpa{C}%
5434  \put(342,0){\set@fusionadd@sixv}%
5435  \UnfavorableFusion{E}%
5436 \else\if\@tmpa f%
5437  \edef\@@tmpa{d}%
5438  \put(342,0){\set@fusionadd@sixv}%
5439  \UnfavorableFusion{f}%
5440 \else\if\@tmpa F%
5441  \edef\@@tmpa{D}%
5442  \put(342,0){\set@fusionadd@sixv}%
5443  \UnfavorableFusion{F}%
5444 \else\if\@tmpa g%
5445  \edef\@@tmpa{c}%
5446  \put(0,0){\set@fusionadd@sixv}%
5447  \UnfavorableFusion{g}%
5448 \else\if\@tmpa G%
5449  \edef\@@tmpa{C}%
5450  \put(0,0){\set@fusionadd@sixv}%
5451  \UnfavorableFusion{G}%
5452 \else\if\@tmpa h%
5453  \edef\@@tmpa{d}%
5454  \put(0,0){\set@fusionadd@sixv}%
5455 \else\if\@tmpa H%
5456  \edef\@@tmpa{D}%
5457  \put(0,0){\set@fusionadd@sixv}%
5458 \else\if\@tmpa i%
5459  \edef\@@tmpa{e}%
5460  \put(0,0){\set@fusionadd@sixv}%
5461 \else\if\@tmpa I%
5462  \edef\@@tmpa{E}%
5463  \put(0,0){\set@fusionadd@sixv}%
5464 \else\if\@tmpa j%
5465  \edef\@@tmpa{f}%
5466  \put(0,0){\set@fusionadd@sixv}%
5467 \else\if\@tmpa J%
5468  \edef\@@tmpa{F}%
5469  \put(0,0){\set@fusionadd@sixv}%
5470 \else\if\@tmpa k%
5471  \edef\@@tmpa{a}%
5472  \put(0,0){\set@fusionadd@sixv}%
5473  \UnfavorableFusion{k}%
5474 \else\if\@tmpa K%

5475  \edef\@@tmpa{A}%
5476  \put(0,0){\set@fusionadd@sixv}%
5477  \UnfavorableFusion{K}%
5478 \else\if\@tmpa l%
5479  \edef\@@tmpa{f}%
5480  \put(342,0){\set@fusionadd@sixv}%
5481  \UnfavorableFusion{l}%
5482 \else\if\@tmpa L%
5483  \edef\@@tmpa{F}%
5484  \put(342,0){\set@fusionadd@sixv}%
5485  \UnfavorableFusion{L}%
5486 \else\if\@tmpa m%
5487  \edef\@@tmpa{a}%
5488  \put(342,0){\set@fusionadd@sixv}%
5489  \UnfavorableFusion{m}%
5490 \else\if\@tmpa M%
5491  \edef\@@tmpa{A}%
5492  \put(342,0){\set@fusionadd@sixv}%
5493  \UnfavorableFusion{M}%
5494 \else\if\@tmpa n%
5495  \edef\@@tmpa{f}%
5496  \put(684,0){\set@fusionadd@sixv}%
5497  \UnfavorableFusion{n}%
5498 \else\if\@tmpa N%
5499  \edef\@@tmpa{F}%
5500  \put(684,0){\set@fusionadd@sixv}%
5501  \UnfavorableFusion{N}%
5502 \else\if\@tmpa o%
5503  \edef\@@tmpa{e}%
5504  \put(684,0){\set@fusionadd@sixv}%
5505  \ForbiddenFusion{o}%
5506 \else\if\@tmpa O%
5507  \edef\@@tmpa{E}%
5508  \put(684,0){\set@fusionadd@sixv}%
5509  \ForbiddenFusion{O}%
5510 \else\if\@tmpa p%
5511  \edef\@@tmpa{e}%
5512  \put(342,0){\set@fusionadd@sixv}%
5513  \ForbiddenFusion{p}%
5514 \else\if\@tmpa P%
5515  \edef\@@tmpa{E}%
5516  \put(342,0){\set@fusionadd@sixv}%
5517  \ForbiddenFusion{P}%
5518 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5519 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5520 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5521 }% end of the macro \set@fusion@hanthrav

11.2 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.
\set@fusion@hphenanv
5522 \def\set@fusion@hphenanv{%
5523 \let\@@tmpa=\@tmpa
5524 \let\@@tmpb=\@tmpb
5525 \if\@tmpa a%
5526  \edef\@@tmpa{b}%
5527  \put(513,303){\set@fusionadd@sixv}%
5528 \else\if\@tmpa A%
5529  \edef\@@tmpa{B}%
5530  \put(513,303){\set@fusionadd@sixv}%
5531 \else\if\@tmpa b%
5532  \edef\@@tmpa{a}%
5533  \put(513,303){\set@fusionadd@sixv}%
5534 \else\if\@tmpa B%
5535  \edef\@@tmpa{A}%
5536  \put(513,303){\set@fusionadd@sixv}%
5537 \else\if\@tmpa c%
5538  \edef\@@tmpa{f}%
5539  \put(513,303){\set@fusionadd@sixv}%
5540 \else\if\@tmpa C%
5541  \edef\@@tmpa{F}%
5542  \put(513,303){\set@fusionadd@sixv}%
5543 \else\if\@tmpa d%
5544  \edef\@@tmpa{e}%
5545  \put(513,303){\set@fusionadd@sixv}%
5546  \UnfavorableFusion{d}%
5547 \else\if\@tmpa D%
5548  \edef\@@tmpa{E}%
5549  \put(513,303){\set@fusionadd@sixv}%
5550  \UnfavorableFusion{D}%
5551 \else\if\@tmpa e%
5552  \edef\@@tmpa{f}%
5553  \put(342,0){\set@fusionadd@sixv}%
5554  \UnfavorableFusion{e}%
5555 \else\if\@tmpa E%
5556  \edef\@@tmpa{F}%
5557  \put(342,0){\set@fusionadd@sixv}%
5558  \UnfavorableFusion{E}%
5559 \else\if\@tmpa f%
5560  \edef\@@tmpa{a}%
5561  \put(0,0){\set@fusionadd@sixv}%
5562  \UnfavorableFusion{f}%
5563 \else\if\@tmpa F%

5564  \edef\@@tmpa{A}%
5565  \put(0,0){\set@fusionadd@sixv}%
5566  \UnfavorableFusion{F}%
5567 \else\if\@tmpa g%
5568  \edef\@@tmpa{f}%
5569  \put(0,0){\set@fusionadd@sixv}%
5570 \else\if\@tmpa G%
5571  \edef\@@tmpa{F}%
5572  \put(0,0){\set@fusionadd@sixv}%
5573 \else\if\@tmpa h%
5574  \edef\@@tmpa{e}%
5575  \put(0,0){\set@fusionadd@sixv}%
5576 \else\if\@tmpa H%
5577  \edef\@@tmpa{E}%
5578  \put(0,0){\set@fusionadd@sixv}%
5579 \else\if\@tmpa i%
5580  \edef\@@tmpa{d}%
5581  \put(0,0){\set@fusionadd@sixv}%
5582 \else\if\@tmpa I%
5583  \edef\@@tmpa{D}%
5584  \put(0,0){\set@fusionadd@sixv}%
5585 \else\if\@tmpa j%
5586  \edef\@@tmpa{c}%
5587  \put(0,0){\set@fusionadd@sixv}%
5588  \UnfavorableFusion{j}%
5589 \else\if\@tmpa J%
5590  \edef\@@tmpa{C}%
5591  \put(0,0){\set@fusionadd@sixv}%
5592  \UnfavorableFusion{J}%
5593 \else\if\@tmpa k%
5594  \edef\@@tmpa{d}%
5595  \put(342,0){\set@fusionadd@sixv}%
5596  \UnfavorableFusion{k}%
5597 \else\if\@tmpa K%
5598  \edef\@@tmpa{D}%
5599  \put(342,0){\set@fusionadd@sixv}%
5600  \UnfavorableFusion{K}%
5601 \else\if\@tmpa l%
5602  \edef\@@tmpa{c}%
5603  \put(342,0){\set@fusionadd@sixv}%
5604 \else\if\@tmpa L%
5605  \edef\@@tmpa{C}%
5606  \put(342,0){\set@fusionadd@sixv}%
5607 \else\if\@tmpa m%
5608  \edef\@@tmpa{b}%
5609  \put(342,0){\set@fusionadd@sixv}%
5610  \UnfavorableFusion{m}%
5611 \else\if\@tmpa M%
5612  \edef\@@tmpa{B}%
5613  \put(342,0){\set@fusionadd@sixv}%

5614  \UnfavorableFusion{M}%
5615 \else\if\@tmpa n%
5616  \edef\@@tmpa{c}%
5617  \put(513,303){\set@fusionadd@sixv}%
5618  \UnfavorableFusion{n}%
5619 \else\if\@tmpa N%
5620  \edef\@@tmpa{C}%
5621  \put(513,303){\set@fusionadd@sixv}%
5622  \UnfavorableFusion{N}%
5623 \else\if\@tmpa o%
5624  \edef\@@tmpa{d}%
5625  \put(513,303){\set@fusionadd@sixv}%
5626  \ForbiddenFusion{o}%
5627 \else\if\@tmpa O%
5628  \edef\@@tmpa{D}%
5629  \put(513,303){\set@fusionadd@sixv}%
5630  \ForbiddenFusion{O}%
5631 \else\if\@tmpa p%
5632  \edef\@@tmpa{e}%
5633  \put(342,0){\set@fusionadd@sixv}%
5634  \ForbiddenFusion{p}%
5635 \else\if\@tmpa P%
5636  \edef\@@tmpa{E}%
5637  \put(342,0){\set@fusionadd@sixv}%
5638  \ForbiddenFusion{P}%
5639 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5640 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5641 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5642 }% end of the macro \set@fusion@hphananv

12 Ring-fusion Commands for Five-Membered Rings

12.1 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.
\set@fusionadd@fivev
5643 \def\set@fusionadd@fivev{%
5644  \if\@@tmpa 1\relax%
5645  \putratom{-38}{88}{\@@tmpb}%        % right type
5646  \else\if\@@tmpa 2\relax%
5647  \putratom{60}{120}{\@@tmpb}%        % right type
5648  \else\if\@@tmpa 3\relax%
5649  \putratom{60}{233}{\@@tmpb}%        % right type

5650  \else\if\@@tmpa 4\relax%
5651  \putratom{-60}{233}{\@@tmpb}%       % right type
5652  \else\if\@@tmpa 5\relax%
5653  \putratom{-60}{120}{\@@tmpb}%       % right type
5654  \else\if\@@tmpa 0\relax%
5655  \putratom{-38}{150}{\@@tmpb}%       % right type
5656  \else
5657 % %%%%%%%%%%%%%%%%%%%%%
5658 % % inner bond fusion %
5659 % %%%%%%%%%%%%%%%%%%%%%
5660  \set@fusion@fivev
5661  \fi\fi\fi\fi\fi\fi%
5662 }% end of the macro \set@fusionadd@fivev

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.

\set@fusion@fivev
5663 \def\set@fusion@fivev{%
5664 % %%%%%%%%%%%%%%%%%%%%%
5665 % % inner bond fusion %
5666 % %%%%%%%%%%%%%%%%%%%%%
5667 \if\@@tmpa a\relax%
5668  \putlratom{0}{0}{\@@tmpb}%      % right type
5669  \FuseWarning{-171}{-103}%
5670  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
5671  \else\if\@@tmpa A\relax%
5672  \putlratom{171}{103}{\@@tmpb}%      % right type
5673  \FuseWarning{171}{103}%
5674  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
5675  \else\if\@@tmpa b\relax%
5676  \putlratom{171}{103}{\@@tmpb}%      % right type
5677  \FuseWarning{0}{-200}%
5678  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
5679  \else\if\@@tmpa B\relax%
5680  \putlratom{171}{303}{\@@tmpb}%      % right type
5681  \FuseWarning{0}{200}%
5682  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
5683  \else\if\@@tmpa c\relax
5684  \XyMTeXWarning{Not-used fusion at bond `c'}%
5685  \else\if\@@tmpa C\relax%
5686  \XyMTeXWarning{Not-used fusion at bond `C'}%
5687  \else\if\@@tmpa d\relax%
5688  \putlratom{-171}{303}{\@@tmpb}%      % right type
5689  \FuseWarning{0}{200}%
5690  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d}%
5691  \else\if\@@tmpa D\relax%
5692  \putlratom{-171}{103}{\@@tmpb}%      % right type
5693  \FuseWarning{0}{-200}%

5694  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D}%
5695  \else\if\@@tmpa e\relax%
5696  \putlratom{-171}{103}{\@@tmpb}%      % right type
5697  \FuseWarning{171}{-103}%
5698  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e}%
5699  \else\if\@@tmpa E\relax%
5700  \putlratom{0}{0}{\@@tmpb}%      % right type
5701  \FuseWarning{-171}{103}%
5702  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E}%
5703  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5704 }% end of the marcro \set@fusion@fivev

12.2 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.
\set@fusionadd@fivevi
5705 \def\set@fusionadd@fivevi{%
5706  \if\@@tmpa 1\relax%
5707  \putratom{-38}{282}{\@@tmpb}%      % right type
5708  \else\if\@@tmpa 2\relax%
5709  \putratom{60}{233}{\@@tmpb}%        % right type
5710  \else\if\@@tmpa 3\relax%
5711  \putratom{60}{120}{\@@tmpb}%        % right type
5712  \else\if\@@tmpa 4\relax%
5713  \putratom{-60}{120}{\@@tmpb}%       % right type
5714  \else\if\@@tmpa 5\relax%
5715  \putratom{-60}{233}{\@@tmpb}%       % right type
5716  \else\if\@@tmpa 0\relax%
5717  \putratom{-38}{213}{\@@tmpb}%       % right type
5718  \else
5719 % %%%%%%%%%%%%%%%%%%%%%
5720 % % inner bond fusion %
5721 % %%%%%%%%%%%%%%%%%%%%%
5722  \set@fusion@fivevi
5723  \fi\fi\fi\fi\fi\fi%
5724 }% end of the macro \set@fusionadd@fivevi

The inner command \set@fusion@fivevi is used for typesetting a fused ring at each bond represented by \@@tmpa. Warnings concerning mismatched ringfusions are based on the command \FuseWarning.

\set@fusion@fivevi
5725 \def\set@fusion@fivevi{%
5726 % %%%%%%%%%%%%%%%%%%%%%
5727 % % inner bond fusion %

5728 % %%%%%%%%%%%%%%%%%%%%%
5729 \if\@@tmpa d\relax%
5730  \putlratom{-171}{103}{\@@tmpb}%     % bond fused
5731  \FuseWarning{0}{-200}%
5732  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}%
5733  \else\if\@@tmpa D\relax%
5734  \putlratom{-171}{303}{\@@tmpb}%     % bond fused
5735  \FuseWarning{0}{200}%
5736  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}%
5737  \else\if\@@tmpa e\relax%
5738  \putlratom{-171}{303}{\@@tmpb}%     % bond fused
5739  \FuseWarning{-171}{-103}%
5740  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}%
5741  \else\if\@@tmpa E\relax%
5742  \putlratom{0}{406}{\@@tmpb}%       % bond fused
5743  \FuseWarning{171}{103}%
5744  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}%
5745  \else\if\@@tmpa a\relax%
5746  \putlratom{0}{406}{\@@tmpb}%       % bond fused
5747  \FuseWarning{-171}{103}%
5748  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
5749  \else\if\@@tmpa A\relax%
5750  \putlratom{171}{303}{\@@tmpb}%    % bond fused
5751  \FuseWarning{171}{-103}%
5752  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
5753  \else\if\@@tmpa b\relax%
5754  \putlratom{171}{303}{\@@tmpb}%    % bond fused
5755  \FuseWarning{0}{200}%
5756  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
5757  \else\if\@@tmpa B\relax%
5758  \putlratom{171}{103}{\@@tmpb}%    % bond fused
5759  \FuseWarning{0}{-200}%
5760  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
5761  \else\if\@@tmpa c\relax
5762  \XyMTeXWarning{Not-used fusion at bond `c'}%
5763  \else\if\@@tmpa C\relax%
5764  \XyMTeXWarning{Not-used fusion at bond `C'}%
5765  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5766 }% end of the macro \set@fusion@fivevi

12.3 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.
\set@fusionadd@fiveh
5767 \def\set@fusionadd@fiveh{%

5768  \if\@@tmpa 1\relax%
5769  \putratom{272}{-18}{\@@tmpb}%      % right type
5770  \else\if\@@tmpa 2\relax%
5771  \putratom{233}{60}{\@@tmpb}%       % right type
5772  \else\if\@@tmpa 3\relax%
5773  \putratom{120}{60}{\@@tmpb}%       % right type
5774  \else\if\@@tmpa 5\relax%
5775  \putratom{233}{-110}{\@@tmpb}%     % right type
5776  \else\if\@@tmpa 4\relax%
5777  \putratom{120}{-110}{\@@tmpb}%     % right type
5778  \else\if\@@tmpa 0\relax%
5779  \putratom{196}{-30}{\@@tmpb}%      % right type
5780  \else
5781 % %%%%%%%%%%%%%%%%%%%%%
5782 % % inner bond fusion %
5783 % %%%%%%%%%%%%%%%%%%%%%
5784  \set@fusion@fiveh
5785  \fi\fi\fi\fi\fi\fi%

5786 }%

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.

\set@fusion@fiveh
5787 \def\set@fusion@fiveh{%
5788 % %%%%%%%%%%%%%%%%%%%%%
5789 % % inner bond fusion %
5790 % %%%%%%%%%%%%%%%%%%%%%
5791 \if\@@tmpa E\relax%
5792  \putlratom{406}{0}{\@@tmpb}%         % bond fused
5793  \FuseWarning{103}{171}%
5794  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}%
5795  \else\if\@@tmpa e\relax%
5796  \putlratom{303}{-171}{\@@tmpb}%     % bond fused
5797  \FuseWarning{-103}{-171}%
5798  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}%
5799  \else\if\@@tmpa D\relax%
5800  \putlratom{303}{-171}{\@@tmpb}%     % bond fused
5801  \FuseWarning{200}{0}%
5802  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}%
5803  \else\if\@@tmpa d\relax%
5804  \putlratom{103}{-171}{\@@tmpb}%     % bond fused
5805  \FuseWarning{-200}{0}%
5806  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}%
5807  \else\if\@@tmpa c\relax
5808  \XyMTeXWarning{Not-used fusion at bond `c'}%
5809  \else\if\@@tmpa C\relax%
5810  \XyMTeXWarning{Not-used fusion at bond `C'}%
5811  \else\if\@@tmpa B\relax%

5812  \putlratom{103}{171}{\@@tmpb}%    % bond fused
5813  \FuseWarning{-200}{0}%
5814  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
5815  \else\if\@@tmpa b\relax%
5816  \putlratom{303}{171}{\@@tmpb}%    % bond fused
5817  \FuseWarning{200}{0}%
5818  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
5819  \else\if\@@tmpa A\relax%
5820  \putlratom{303}{171}{\@@tmpb}%    % bond fused
5821  \FuseWarning{-103}{171}%
5822  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
5823  \else\if\@@tmpa a\relax%
5824  \putlratom{406}{0}{\@@tmpb}%      % bond fused
5825  \FuseWarning{103}{-171}%
5826  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
5827  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5828 }% end of the macro \set@fusion@fiveh

12.4 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.
\set@fusionadd@fivehi
5829 \def\set@fusionadd@fivehi{%
5830  \if\@@tmpa 1\relax%
5831  \putratom{-38}{282}{\@@tmpb}%      % right type
5832  \else\if\@@tmpa 2\relax%
5833  \putratom{60}{233}{\@@tmpb}%       % right type
5834  \else\if\@@tmpa 3\relax%
5835  \putratom{60}{120}{\@@tmpb}%       % right type
5836  \else\if\@@tmpa 4\relax%
5837  \putratom{-60}{120}{\@@tmpb}%      % right type
5838  \else\if\@@tmpa 5\relax%
5839  \putratom{-60}{233}{\@@tmpb}%      % right type
5840  \else\if\@@tmpa 0\relax%
5841  \putratom{140}{-30}{\@@tmpb}%      % right type
5842  \else
5843 % %%%%%%%%%%%%%%%%%%%%%
5844 % % inner bond fusion %
5845 % %%%%%%%%%%%%%%%%%%%%%
5846  \set@fusion@fivehi
5847  \fi\fi\fi\fi\fi\fi%

5848 }%

The inner command \set@fusion@fivehi is used for typesetting a fused ring at each bond represented by \@@tmpa. Warnings concerning mismatched ringfusions are based on the command \FuseWarning.

\set@fusion@fivehi
5849 \def\set@fusion@fivehi{%
5850 % %%%%%%%%%%%%%%%%%%%%%
5851 % % inner bond fusion %
5852 % %%%%%%%%%%%%%%%%%%%%%
5853 \if\@@tmpa d\relax%
5854  \putlratom{303}{-171}{\@@tmpb}%     % bond fused
5855  \FuseWarning{200}{0}%
5856  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}%
5857  \else\if\@@tmpa D\relax%
5858  \putlratom{103}{-171}{\@@tmpb}%     % bond fused
5859  \FuseWarning{-200}{0}%
5860  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}%
5861  \else\if\@@tmpa e\relax%
5862  \putlratom{103}{-171}{\@@tmpb}%     % bond fused
5863  \FuseWarning{103}{-171}%
5864  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}%
5865  \else\if\@@tmpa E\relax%
5866  \putlratom{0}{0}{\@@tmpb}%       % bond fused
5867  \FuseWarning{-103}{171}%
5868  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}%
5869  \else\if\@@tmpa a\relax%
5870  \putlratom{0}{0}{\@@tmpb}%       % bond fused
5871  \FuseWarning{-103}{-171}%
5872  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}%
5873  \else\if\@@tmpa A\relax%
5874  \putlratom{103}{171}{\@@tmpb}%    % bond fused
5875  \FuseWarning{103}{171}%
5876  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}%
5877  \else\if\@@tmpa b\relax%
5878  \putlratom{103}{171}{\@@tmpb}%    % bond fused
5879  \FuseWarning{-200}{0}%
5880  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}%
5881  \else\if\@@tmpa B\relax%
5882  \putlratom{303}{171}{\@@tmpb}%    % bond fused
5883  \FuseWarning{200}{0}%
5884  {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}%
5885  \else\if\@@tmpa c\relax
5886  \XyMTeXWarning{Not-used fusion at bond `c'}%
5887  \else\if\@@tmpa C\relax%
5888  \XyMTeXWarning{Not-used fusion at bond `C'}%
5889  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5890 }% end of the macro \set@fusion@sixh

13 Ring-fusion Commands for Six-Five-fused Rings

13.1 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.
\set@fusion@nonav
5891 \def\set@fusion@nonav{%
5892 \let\@@tmpa=\@tmpa
5893 \let\@@tmpb=\@tmpb
5894 \if\@tmpa a%
5895  \let\@@tmpa=\@tmpa
5896  \put(342,0){\set@fusionadd@sixvi}%
5897 \else\if\@tmpa A%
5898  \let\@@tmpa=\@tmpa
5899  \put(342,0){\set@fusionadd@sixvi}%
5900 \else\if\@tmpa b%
5901  \let\@@tmpa=\@tmpa
5902  \put(342,0){\set@fusionadd@sixvi}%
5903 \else\if\@tmpa B%
5904  \let\@@tmpa=\@tmpa
5905  \put(342,0){\set@fusionadd@sixvi}%
5906 \else\if\@tmpa c\relax
5907  \XyMTeXWarning{Not-used fusion at bond `c'}%
5908 \else\if\@tmpa C\relax%
5909  \XyMTeXWarning{Not-used fusion at bond `C'}%
5910 \else\if\@tmpa d%
5911  \edef\@@tmpa{c}%
5912  \put(0,0){\set@fusionadd@sixvi}%
5913  \UnfavorableFusion{d}%
5914 \else\if\@tmpa D%
5915  \edef\@@tmpa{C}%
5916  \put(0,0){\set@fusionadd@sixvi}%
5917  \UnfavorableFusion{D}%
5918 \else\if\@tmpa e%
5919  \edef\@@tmpa{d}%
5920  \put(0,0){\set@fusionadd@sixvi}%
5921 \else\if\@tmpa E%
5922  \edef\@@tmpa{D}%
5923  \put(0,0){\set@fusionadd@sixvi}%
5924 \else\if\@tmpa f%
5925  \edef\@@tmpa{e}%
5926  \put(0,0){\set@fusionadd@sixvi}%
5927 \else\if\@tmpa F%
5928  \edef\@@tmpa{E}%
5929  \put(0,0){\set@fusionadd@sixvi}%
5930 \else\if\@tmpa g%

5931  \edef\@@tmpa{f}%
5932  \put(0,0){\set@fusionadd@sixvi}%
5933 \else\if\@tmpa G%
5934  \edef\@@tmpa{F}%
5935  \put(0,0){\set@fusionadd@sixvi}%
5936 \else\if\@tmpa h%
5937  \edef\@@tmpa{a}%
5938  \put(0,0){\set@fusionadd@sixvi}%
5939  \UnfavorableFusion{h}%
5940 \else\if\@tmpa H%
5941  \edef\@@tmpa{A}%
5942  \put(0,0){\set@fusionadd@sixvi}%
5943  \UnfavorableFusion{H}%
5944 \else\if\@tmpa i%
5945  \edef\@@tmpa{f}%
5946  \put(342,0){\set@fusionadd@sixvi}%
5947  \UnfavorableFusion{i}%
5948 \else\if\@tmpa I%
5949  \edef\@@tmpa{F}%
5950  \put(342,0){\set@fusionadd@sixvi}%
5951  \UnfavorableFusion{I}%
5952 \else\if\@tmpa j%
5953  \edef\@@tmpa{e}%
5954  \put(342,0){\set@fusionadd@sixvi}%
5955  \ForbiddenFusion{j}%
5956 \else\if\@tmpa J%
5957  \edef\@@tmpa{E}%
5958  \put(342,0){\set@fusionadd@sixvi}%
5959  \ForbiddenFusion{J}%
5960 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5961 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
5962 }% end of the macro \set@fusion@nonav

13.2 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.
\set@fusion@nonavi
5963 \def\set@fusion@nonavi{%
5964 \let\@@tmpa=\@tmpa
5965 \let\@@tmpb=\@tmpb
5966 \if\@tmpa a%
5967  \let\@@tmpa=\@tmpa
5968  \put(342,0){\set@fusionadd@sixv}%
5969 \else\if\@tmpa A%
5970  \let\@@tmpa=\@tmpa

5971  \put(342,0){\set@fusionadd@sixv}%
5972 \else\if\@tmpa b%
5973  \let\@@tmpa=\@tmpa
5974  \put(342,0){\set@fusionadd@sixv}%
5975 \else\if\@tmpa B%
5976  \let\@@tmpa=\@tmpa
5977  \put(342,0){\set@fusionadd@sixv}%
5978 \else\if\@tmpa c\relax
5979  \XyMTeXWarning{Not-used fusion at bond `c'}%
5980 \else\if\@tmpa C\relax%
5981  \XyMTeXWarning{Not-used fusion at bond `C'}%
5982 \else\if\@tmpa d%
5983  \edef\@@tmpa{c}%
5984  \put(0,0){\set@fusionadd@sixv}%
5985  \UnfavorableFusion{d}%
5986 \else\if\@tmpa D%
5987  \edef\@@tmpa{C}%
5988  \put(0,0){\set@fusionadd@sixv}%
5989  \UnfavorableFusion{D}%
5990 \else\if\@tmpa e%
5991  \edef\@@tmpa{d}%
5992  \put(0,0){\set@fusionadd@sixv}%
5993 \else\if\@tmpa E%
5994  \edef\@@tmpa{D}%
5995  \put(0,0){\set@fusionadd@sixv}%
5996 \else\if\@tmpa f%
5997  \edef\@@tmpa{e}%
5998  \put(0,0){\set@fusionadd@sixv}%
5999 \else\if\@tmpa F%
6000  \edef\@@tmpa{E}%
6001  \put(0,0){\set@fusionadd@sixv}%
6002 \else\if\@tmpa g%
6003  \edef\@@tmpa{f}%
6004  \put(0,0){\set@fusionadd@sixv}%
6005 \else\if\@tmpa G%
6006  \edef\@@tmpa{F}%
6007  \put(0,0){\set@fusionadd@sixv}%
6008 \else\if\@tmpa h%
6009  \edef\@@tmpa{a}%
6010  \put(0,0){\set@fusionadd@sixv}%
6011  \UnfavorableFusion{h}%
6012 \else\if\@tmpa H%
6013  \edef\@@tmpa{A}%
6014  \put(0,0){\set@fusionadd@sixv}%
6015  \UnfavorableFusion{H}%
6016 \else\if\@tmpa i%
6017  \edef\@@tmpa{f}%
6018  \put(342,0){\set@fusionadd@sixv}%
6019  \UnfavorableFusion{i}%
6020 \else\if\@tmpa I%

6021  \edef\@@tmpa{F}%
6022  \put(342,0){\set@fusionadd@sixv}%
6023  \UnfavorableFusion{I}%
6024 \else\if\@tmpa j%
6025  \edef\@@tmpa{e}%
6026  \put(342,0){\set@fusionadd@sixv}%
6027  \ForbiddenFusion{j}%
6028 \else\if\@tmpa J%
6029  \edef\@@tmpa{E}%
6030  \put(342,0){\set@fusionadd@sixv}%
6031  \ForbiddenFusion{J}%
6032 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
6033 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
6034 }% end of the macro \set@fusion@nonavi

13.3 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.
\set@fusion@nonah
6035 \def\set@fusion@nonah{%
6036 \let\@@tmpa=\@tmpa
6037 \let\@@tmpb=\@tmpb
6038 \if\@tmpa a%
6039  \let\@@tmpa=\@tmpa
6040  \put(0,0){\set@fusionadd@sixhi}%
6041 \else\if\@tmpa A%
6042  \let\@@tmpa=\@tmpa
6043  \put(0,0){\set@fusionadd@sixhi}%
6044 \else\if\@tmpa b%
6045  \let\@@tmpa=\@tmpa
6046  \put(0,0){\set@fusionadd@sixhi}%
6047 \else\if\@tmpa B%
6048  \let\@@tmpa=\@tmpa
6049  \put(0,0){\set@fusionadd@sixhi}%
6050 \else\if\@tmpa c\relax
6051  \XyMTeXWarning{Not-used fusion at bond `c'}%
6052 \else\if\@tmpa C\relax%
6053  \XyMTeXWarning{Not-used fusion at bond `C'}%
6054 \else\if\@tmpa d%
6055  \edef\@@tmpa{c}%
6056  \put(0,-342){\set@fusionadd@sixhi}%
6057  \UnfavorableFusion{d}%
6058 \else\if\@tmpa D%
6059  \edef\@@tmpa{C}%
6060  \put(0,-342){\set@fusionadd@sixhi}%

6061  \UnfavorableFusion{D}%
6062 \else\if\@tmpa e%
6063  \edef\@@tmpa{d}%
6064  \put(0,-342){\set@fusionadd@sixhi}%
6065 \else\if\@tmpa E%
6066  \edef\@@tmpa{D}%
6067  \put(0,-342){\set@fusionadd@sixhi}%
6068 \else\if\@tmpa f%
6069  \edef\@@tmpa{e}%
6070  \put(0,-342){\set@fusionadd@sixhi}%
6071 \else\if\@tmpa F%
6072  \edef\@@tmpa{E}%
6073  \put(0,-342){\set@fusionadd@sixhi}%
6074 \else\if\@tmpa g%
6075  \edef\@@tmpa{f}%
6076  \put(0,-342){\set@fusionadd@sixhi}%
6077 \else\if\@tmpa G%
6078  \edef\@@tmpa{F}%
6079  \put(0,-342){\set@fusionadd@sixhi}%
6080 \else\if\@tmpa h%
6081  \edef\@@tmpa{a}%
6082  \put(0,-342){\set@fusionadd@sixhi}%
6083  \UnfavorableFusion{h}%
6084 \else\if\@tmpa H%
6085  \edef\@@tmpa{A}%
6086  \put(0,-342){\set@fusionadd@sixhi}%
6087  \UnfavorableFusion{H}%
6088 \else\if\@tmpa i%
6089  \edef\@@tmpa{f}%
6090  \put(0,0){\set@fusionadd@sixhi}%
6091  \UnfavorableFusion{i}%
6092 \else\if\@tmpa I%
6093  \edef\@@tmpa{F}%
6094  \put(0,0){\set@fusionadd@sixhi}%
6095  \UnfavorableFusion{I}%
6096 \else\if\@tmpa j%
6097  \edef\@@tmpa{e}%
6098  \put(0,0){\set@fusionadd@sixhi}%
6099  \ForbiddenFusion{j}%
6100 \else\if\@tmpa J%
6101  \edef\@@tmpa{E}%
6102  \put(0,0){\set@fusionadd@sixhi}%
6103  \ForbiddenFusion{J}%
6104 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
6105 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
6106 }% end of the macro \set@fusion@nonah

13.4 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.
\set@fusion@nonahi
6107 \def\set@fusion@nonahi{%
6108 \let\@@tmpa=\@tmpa
6109 \let\@@tmpb=\@tmpb
6110 \if\@tmpa a%
6111  \let\@@tmpa=\@tmpa
6112  \put(0,0){\set@fusionadd@sixh}%
6113 \else\if\@tmpa A%
6114  \let\@@tmpa=\@tmpa
6115  \put(0,0){\set@fusionadd@sixh}%
6116 \else\if\@tmpa b%
6117  \let\@@tmpa=\@tmpa
6118  \put(0,0){\set@fusionadd@sixh}%
6119 \else\if\@tmpa B%
6120  \let\@@tmpa=\@tmpa
6121  \put(0,0){\set@fusionadd@sixh}%
6122 \else\if\@tmpa c\relax
6123  \XyMTeXWarning{Not-used fusion at bond `c'}%
6124 \else\if\@tmpa C\relax%
6125  \XyMTeXWarning{Not-used fusion at bond `C'}%
6126 \else\if\@tmpa d%
6127  \edef\@@tmpa{c}%
6128  \put(0,-342){\set@fusionadd@sixh}%
6129  \UnfavorableFusion{d}%
6130 \else\if\@tmpa D%
6131  \edef\@@tmpa{C}%
6132  \put(0,-342){\set@fusionadd@sixh}%
6133  \UnfavorableFusion{D}%
6134 \else\if\@tmpa e%
6135  \edef\@@tmpa{d}%
6136  \put(0,-342){\set@fusionadd@sixh}%
6137 \else\if\@tmpa E%
6138  \edef\@@tmpa{D}%
6139  \put(0,-342){\set@fusionadd@sixh}%
6140 \else\if\@tmpa f%
6141  \edef\@@tmpa{e}%
6142  \put(0,-342){\set@fusionadd@sixh}%
6143 \else\if\@tmpa F%
6144  \edef\@@tmpa{E}%
6145  \put(0,-342){\set@fusionadd@sixh}%
6146 \else\if\@tmpa g%
6147  \edef\@@tmpa{f}%
6148  \put(0,-342){\set@fusionadd@sixh}%

6149 \else\if\@tmpa G%
6150  \edef\@@tmpa{F}%
6151  \put(0,-342){\set@fusionadd@sixh}%
6152 \else\if\@tmpa h%
6153  \edef\@@tmpa{a}%
6154  \put(0,-342){\set@fusionadd@sixh}%
6155  \UnfavorableFusion{h}%
6156 \else\if\@tmpa H%
6157  \edef\@@tmpa{A}%
6158  \put(0,-342){\set@fusionadd@sixh}%
6159  \UnfavorableFusion{H}%
6160 \else\if\@tmpa i%
6161  \edef\@@tmpa{f}%
6162  \put(0,0){\set@fusionadd@sixh}%
6163  \UnfavorableFusion{i}%
6164 \else\if\@tmpa I%
6165  \edef\@@tmpa{F}%
6166  \put(0,0){\set@fusionadd@sixh}%
6167  \UnfavorableFusion{I}%
6168 \else\if\@tmpa j%
6169  \edef\@@tmpa{e}%
6170  \put(0,0){\set@fusionadd@sixh}%
6171  \ForbiddenFusion{j}%
6172 \else\if\@tmpa J%
6173  \edef\@@tmpa{E}%
6174  \put(0,0){\set@fusionadd@sixh}%
6175  \ForbiddenFusion{J}%
6176 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
6177 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
6178 }% end of the macro \set@fusion@nonahi

6179 ⟨/chemstr⟩