Further Cyclic Compounds by ccycle.sty (v4.04) of XΥMTEX

Shinsaku Fujita

Shonan Institute of Chemoinformatics and Mathematical Chemistry, Kaneko 479-7 Ooimachi, Ashigara-Kami-Gun, Kanagawa 250-0019 Japan

2005/06/15

1 Introduction

1.1 Options for docstrip

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

1.2 Version Information

1 ⟨∗ccycle⟩

2 \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 4.04}
3 \typeout{       -- Released June 15, 2009 by Shinsaku Fujita}
4 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5 \def\j@urnalname{ccycle}
6 \def\versi@ndate{June 15, 2009}
7 \def\versi@nno{ver4.04}
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 ccycle.sty

********************************
* ccycle.sty: list of commands *
********************************
 Setting of Bonds
    \@chaira (for cyclohexane chair)
    \@chairb
    \@chairc
    \@chaird
    \@chaire
    \@chairf

\@borna (for bornanes)
\@bornb
\@bornc
\@bornd
\@borne
\@bornf
\@borng
Basic Macros
\chair                     \@chair
\bicychepv                 \@bicychepv
\bicycheph                 \@bicycheph
\bornane                   \@bornane
\adamantane                \@damantane
(Added March 05, 1994 by Shinsaku Fujita)
Setting of Bonds
\@chairia (for cyclohexane chair inversed)
\@chairib  \@chairic  \@chairid
\@chairie  \@chairif
Basic Macros
\chairi                     \@chairi
(Added June 16, 1996 by Shinsaku Fujita)
Setting of Bonds
\@chairiI (for horizontal-type adamantane)
\@chairiII    \@chairiIII    \@chairiIV
\@chairiV     \@chairiVI     \@chairiVII
\@chairiVIII  \@chairiIX     \@chairiX
Basic Macros
\hadamantane                \@hadamantane
Macros for adjusting substitution sites (for Version 1.02)
\ylchairposition
\ylchairiposition
\ylbornaneposition
\yladamanposition
\ylhadamanposition

3 Input of basic macros

To assure the compatibility to L^{A}TEX2.09 (the native mode), the commands added by L^{A}TEX 2ε have not been used in the resulting sty files (ccycle.sty for the present case). Hence, the combination of \input and \@ifundefined is used to crossload sty files (chemstr.sty for the present case) in place of the \RequirePackage command of L^{A}TEX 2ε.

12 % *************************
13 % * input of basic macros *
14 % *************************
15 \@ifundefined{setsixringv}{\input chemstr.sty\relax}{}
16 \unitlength=0.1pt
\ifmolfront
17 \@ifundefined{ifmolfront}{\newif\ifmolfront \molfrontfalse}{}

4 Chair-form cyclohexanes

4.1 Macros for setting substituents

Macros \@chaira to \@chairf are used to set substituents on each position of cyclohexane. Note that comments (conerning locant numbers) on the end of each row have lost the exact meaning, since such a command moiety is used in many macros after copying.

\@chaira
18 % **********************************************
19 % * treatment of the chair form of cyclohexane *
20 % **********************************************
21 % %%%%%%%%%%%%%%%
22 % % subst. on 1 %
23 % %%%%%%%%%%%%%%%
24 \def\@chaira{%
25 \if\@tmpb S%single bond
26  \ifx\@tmpc\empty%
27  \yl@xdiff=10
28  \yl@ydiff=10
29  \Put@Line(0,0)(-1,1){120}% single bond at 1
30  \putlatom{-130}{110}{\@memberb}% left type
31  \else\if\@tmpc a%(a) axial
32  \yl@xdiff=42
33  \yl@ydiff=-12
34  \Put@Line(0,0)(0,1){168}% single bond at 1 axial
35  \putlratom{-42}{180}{\@memberb}% left & right type
36  \else\if\@tmpc e%(e) beta
37  \yl@xdiff=16
38  \yl@ydiff=44
39  \Put@Line(0,0)(-5,-3){144}% single bond at 1 equatorial
40  \putlatom{-160}{-130}{\@memberb}% left type
41  \fi\fi\fi%
42 %2009/06/15
43  \else\if\@tmpb U%(U) alpha undefined
44  \yl@xdiff=10
45  \yl@ydiff=10
46  \putlatom{-130}{110}{\@memberb}% left type
47  {%

48  \WaveBonds%
49  \Put@Line(0,0)(-1,1){120}% single bond at 1
50  }%

51 %

52 \else \if\@tmpb D%double bond
53  \yl@xdiff=10
54  \yl@ydiff=10
55  \Put@Line(-10,-10)(-1,1){120}% double bond at 1
56  \Put@Line(10,10)(-1,1){120}% double bond at 1
57  \putlatom{-130}{110}{\@memberb}% left type
58  \else%
59  \yl@xdiff=10
60  \yl@ydiff=10
61  \Put@Line(0,0)(-1,1){120}% single bond at 1
62  \putlatom{-130}{110}{\@memberb}% left type
63 \fi\fi\fi}%
\@chairb
64 % %%%%%%%%%%%%%%%
65 % % subst. on 2 %
66 % %%%%%%%%%%%%%%%
67 \def\@chairb{%
68 \if\@tmpb S%single bond
69  \ifx\@tmpc\empty%
70  \yl@xdiff=10
71  \yl@ydiff=70
72  \Put@Line(170,-226)(-1,-1){120}% single bond at 2
73  \putlatom{40}{-416}{\@memberb}% left type
74  \else\if\@tmpc a%(a) axial
75  \yl@xdiff=32
76  \yl@ydiff=92
77  \Put@Line(170,-226)(0,-1){168}% single bond at 2 axial
78  \putlratom{138}{-486}{\@memberb}% left & right type
79  \else\if\@tmpc e%(e) beta
80  \yl@xdiff=16
81  \yl@ydiff=34
82  \Put@Line(170,-226)(-5,3){144}% single bond at 2 equatorial
83  \putlatom{10}{-174}{\@memberb}% left type
84  \fi\fi\fi%
85 %2009/06/15
86  \else\if\@tmpb U%(U) alpha undefined
87  \yl@xdiff=10
88  \yl@ydiff=70
89  \putlatom{40}{-416}{\@memberb}% left type
90  {%
91  \WaveBonds%
92  \Put@Line(170,-226)(-1,-1){120}% single bond at 2
93  }%

94 %

95 \else \if\@tmpb D%double bond
96  \yl@xdiff=10
97  \yl@ydiff=70
98  \Put@Line(160,-216)(-1,-1){120}% double bond at 2
99  \Put@Line(180,-236)(-1,-1){120}% double bond at 2

100  \putlatom{40}{-416}{\@memberb}% left type
101  \else%
102  \yl@xdiff=10
103  \yl@ydiff=70
104  \Put@Line(170,-226)(-1,-1){120}% single bond at 2
105  \putlatom{40}{-416}{\@memberb}% left type
106 \fi\fi\fi}%
\@chairc
107 % %%%%%%%%%%%%%%%
108 % % subst. on 3 %
109 % %%%%%%%%%%%%%%%
110 \def\@chairc{%
111 \if\@tmpb S%single bond
112  \ifx\@tmpc\empty%
113  \yl@xdiff=-10
114  \yl@ydiff=24
115  \Put@Line(573,-91)(5,4){170}% single bond at 3
116  \putratom{753}{21}{\@memberb}% right type
117  \else\if\@tmpc a%(a) axial
118  \yl@xdiff=40
119  \yl@ydiff=-24
120  \Put@Line(573,-91)(0,1){168}% single bond at 3 axial
121  \putlratom{533}{101}{\@memberb}% left type
122  \else\if\@tmpc e%(e) beta
123  \yl@xdiff=-36
124  \yl@ydiff=83
125  \Put@Line(573,-91)(5,-3){144}% single bond at 3 equatorial
126  \putlatom{753}{-260}{\@memberb}% left type
127  \fi\fi\fi%
128 %2009/06/15
129  \else\if\@tmpb U%(U) alpha undefined
130  \yl@xdiff=-10
131  \yl@ydiff=24
132  \putratom{753}{21}{\@memberb}% right type

133 {%

134  \WaveBonds%
135  \Put@Line(573,-91)(5,4){170}% single bond at 3

136 }% 137 %

138 \else \if\@tmpb D%double bond
139  \yl@xdiff=0
140  \yl@ydiff=0
141  \Put@Line(563,-83)(5,4){170}% double bond at 3
142  \Put@Line(583,-99)(5,4){170}% double bond at 3
143  \putratom{733}{41}{\@memberb}% right type
144  \else%
145  \yl@xdiff=-10
146  \yl@ydiff=24
147  \Put@Line(573,-91)(5,4){170}% single bond at 3
148  \putratom{753}{21}{\@memberb}% right type
149 \fi\fi\fi}%
\@chaird

150 % %%%%%%%%%%%%%%%
151 % % subst. on 4 %
152 % %%%%%%%%%%%%%%%
153 \def\@chaird{%
154 \if\@tmpb S%single bond
155  \ifx\@tmpc\empty%
156  \yl@xdiff=10
157  \yl@ydiff=70
158  \Put@Line(843,-181)(1,-1){120}% single bond at 4
159  \putratom{953}{-371}{\@memberb}% right type
160  \else\if\@tmpc a%(a) axial
161  \yl@xdiff=42
162  \yl@ydiff=91
163  \Put@Line(843,-181)(0,-1){168}% single bond at 4 axial
164  \putlratom{801}{-440}{\@memberb}% left & right type
165  \else\if\@tmpc e%(e) beta
166  \yl@xdiff=-16
167  \yl@ydiff=16
168  \Put@Line(843,-181)(5,3){144}% single bond at 4 equatorial
169  \putratom{1003}{-111}{\@memberb}% right type
170  \fi\fi\fi%
171 %2009/06/15
172  \else\if\@tmpb U%(U) alpha undefined
173  \yl@xdiff=10
174  \yl@ydiff=70
175  \putratom{953}{-371}{\@memberb}% right type

176 {%

177  \WaveBonds%
178  \Put@Line(843,-181)(1,-1){120}% single bond at 4

179 }% 180 %

181 \else \if\@tmpb D%double bond
182  \yl@xdiff=10
183  \yl@ydiff=70
184  \Put@Line(833,-191)(1,-1){120}% double bond at 4
185  \Put@Line(853,-171)(1,-1){120}% double bond at 4
186  \putratom{953}{-371}{\@memberb}% right type
187  \else%
188  \yl@xdiff=10
189  \yl@ydiff=70
190  \Put@Line(843,-181)(1,-1){120}% single bond at 4
191  \putratom{953}{-371}{\@memberb}% right type
192 \fi\fi\fi}%
\@chaire
193 % %%%%%%%%%%%%%%%
194 % % subst. on 5 %
195 % %%%%%%%%%%%%%%%
196 \def\@chaire{%
197 \if\@tmpb S%single bond
198  \ifx\@tmpc\empty%
199  \yl@xdiff=-10
200  \yl@ydiff=10
201  \Put@Line(673,46)(1,1){120}% single bond at 5

202  \putratom{803}{158}{\@memberb}% right type
203  \else\if\@tmpc a%(a) axial
204  \yl@xdiff=40
205  \yl@ydiff=-24
206  \Put@Line(673,46)(0,1){168}% single bond at 5 axial
207  \putlratom{633}{238}{\@memberb}% left & right type
208  \else\if\@tmpc e%(e) beta
209  \yl@xdiff=-6
210  \yl@ydiff=63
211  \Put@Line(673,46)(5,-3){144}% single bond at 5 equatorial
212  \putratom{823}{-103}{\@memberb}% right type
213  \fi\fi\fi%
214 %2009/06/15
215  \else\if\@tmpb U%(U) alpha undefined
216  \yl@xdiff=-10
217  \yl@ydiff=10
218  \putratom{803}{158}{\@memberb}% right type

219 {%

220  \WaveBonds%
221  \Put@Line(673,46)(1,1){120}% single bond at 5

222 }% 223 %

224 \else \if\@tmpb D%double bond
225  \yl@xdiff=-10
226  \yl@ydiff=10
227  \Put@Line(663,53)(1,1){120}% double bond at 5
228  \Put@Line(683,38)(1,1){120}% double bond at 5
229  \putratom{803}{158}{\@memberb}%  right type
230  \else%
231  \yl@xdiff=-10
232  \yl@ydiff=24
233  \Put@Line(673,46)(5,4){170}% single bond at 5
234  \putratom{853}{158}{\@memberb}% right type
235 \fi\fi\fi}%
\@chairf
236 % %%%%%%%%%%%%%%%
237 % % subst. on 6 %
238 % %%%%%%%%%%%%%%%
239 \def\@chairf{%
240 \if\@tmpb S%single bond
241  \ifx\@tmpc\empty%
242  \yl@xdiff=0
243  \yl@ydiff=54
244  \Put@Line(270,-90)(-5,-4){170}% single bond at 6
245  \putlatom{100}{-280}{\@memberb}% left type
246  \else\if\@tmpc a%(a) axial
247  \yl@xdiff=32
248  \yl@ydiff=92
249  \Put@Line(270,-90)(0,-1){168}% single bond at 6 axial
250  \putlratom{238}{-350}{\@memberb}% left type
251  \else\if\@tmpc e%(e) beta
252  \yl@xdiff=26
253  \yl@ydiff=-14

254  \Put@Line(270,-90)(-5,3){144}% single bond at 6 equatorial
255  \putratom{100}{18}{\@memberb}% left type
256  \fi\fi\fi%
257 %2009/06/15
258  \else\if\@tmpb U%(U) alpha undefined
259  \yl@xdiff=0
260  \yl@ydiff=54
261  \putlatom{100}{-280}{\@memberb}% left type

262 {%

263  \WaveBonds%
264  \Put@Line(270,-90)(-5,-4){170}% single bond at 6

265 }% 266 %

267 \else \if\@tmpb D%double bond
268  \yl@xdiff=0
269  \yl@ydiff=54
270  \Put@Line(260,-80)(-5,-4){170}% double bond at 2
271  \Put@Line(280,-100)(-5,-4){170}% double bond at 2
272  \putlatom{100}{-280}{\@memberb}% left or right type
273  \else%
274  \yl@xdiff=0
275  \yl@ydiff=54
276  \Put@Line(270,-90)(-5,-4){170}% single bond at 2
277  \putlatom{100}{-280}{\@memberb}% left type
278 \fi\fi\fi}%

4.2 Drawing of Chair-form cyclohexanes

The standard skeleton of a chair form of cyclohexane is selected to have the following locant numbers.

  ***************************
  * cyclohexane derivatives *
  *  (chair type)           *
  ***************************
  The following numbering is adopted in this macro.
                  5
               /  3  *
      1  *  6  /    *  4
         *  2

The macro \chair has an argument SUBSLIST as well as an optional argument

 BONDLIST.
    \chair[BONDLIST]{SUBSLIST}

The BONDLIST argument contains one or more characters selected from a to f, each of which indicates the presence of an inner (endcyclic) double bond on the corresponding position.

      BONDLIST =
            none       :  cyclohexane
            a          :  1,2-double bond
            b          :  2,3-double bond
            c          :  4,3-double bond
            d          :  4,5-double bond
            e          :  5,6-double bond
            f          :  6,1-double bond

The SUBSLIST argument contains one or more substitution descriptors which are separated from each other by a semicolon. Each substitution descriptor has a locant number with a bond modifier and a substituent, where these are separated with a double equality symbol.

      SUBSLIST: list of substituents (max 12 substitution positions)
        for n = 1 to 6
            nD         :  exocyclic double bond at n-atom
            nSa        :  axial single bond at n-atom
            nSe        :  equatorial single bond at n-atom

Several examples are shown as follows.

         \chair{1==Cl;2==F}
         \chair[a]{1==Cl;4==F;2==CH$_{3}$}
         \chair[eb]{1D==O;4Se==MeO;4Sa==OMe;5==Cl;6==Cl}

The definition of \@chair uses a picture environment, in which bonds are put directly, while subsituents are typset by using the macros \@chaira to \@chairf described above.

\@chair \chair
279 \def\chair{\@ifnextchar[{\@chair}{\@chair[r]}}
280 \def\@chair[#1]#2{%
281 \@reset@ylsw%
282 \ylchairposition{#2}%
283 \def\@@ylii{0}\def\@@yli{0}%
284 \begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
285 (1600,800)(-400,-500){chair}%
286 (400,500)%2002/4/30 by S. Fujita
287 %skeletal bonds
288 {\thicklines%
289  \molfronttrue%
290  \Put@Line(0,0)(3,-4){170}%          % bond 1 to 2
291  \Put@Line(170,-226)(3,1){403}%      %      2 to 3
292  \Put@Line(573,-91)(3,-1){270}%      %      3 to 4

293 }%

294 \thinlines%
295  \Put@Line(843,-181)(-3,4){170}%     %      4 to 5
296  \Put@Line(673,46)(-3,-1){403}%      %      5 to 6
297  \Put@Line(0,0)(3,-1){270}%          %      1 to 6
298 % inner double bonds
299 \@tfor\member:=#1\do{%
300 \if\member r%no endcyclic bonds
301 \else \if\member a%
302  \Put@Line(76,-42)(3,-4){110}%       % double bond 1 to 2
303 \else \if\member b%
304  \Put@Line(200,-186)(3,1){343}%      %             2 to 3
305 \else \if\member c%
306  \Put@Line(603,-70)(3,-1){190}%      %             3 to 4
307 \else \if\member d%
308  \Put@Line(780,-141)(-3,4){110}%     %             4 to 5
309 \else \if\member e%
310  \Put@Line(661,6)(-3,-1){343}%       %             5 to 6
311 \else \if\member f%
312  \Put@Line(75,-50)(3,-1){170}%       %             1 to 6
313 \fi\fi\fi\fi\fi\fi\fi}%
314 % setting substituents
315 \@forsemicol\member:=#2\do{%
316 \ifx\member\empty\else
317 \expandafter\@m@mb@r\member;\relax%
318 \expandafter\threech@r\@membera{}{}%
319 \ifx\@memberb\@yl\else
320 \ifcase\@tmpa%0 omit
321 \or\@chaira% subst. on 1
322 \or\@chairb% subst. on 2
323 \or\@chairc% subst. on 3
324 \or\@chaird% subst. on 4
325 \or\@chaire% subst. on 5
326 \or\@chairf% subst. on 6
327 \fi%end of ifcase
328 \fi\fi%

329 }%

330 \end{ShiftPicEnvB}%
331 }%               %end of \chair macro

The command \ylchairposition is to obtain the shift values \@ylii and \@yli which are used for shifting the standard point of a substituent.

\ylchairposition
332 \def\ylchairposition#1{%
333 \@@ylswfalse%%%\@reset@ylsw
334 \@forsemicol\member:=#1\do{%
335 \if@@ylsw\else
336 \ifx\member\empty\else
337 \expandafter\@m@mb@r\member;\relax
338 \expandafter\threech@r\@membera{}{}\relax
339 \ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
340 \if@@ylsw
341 \ifcase\@tmpa%0 omit
342 \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1

343 \or\gdef\@ylii{-170}\gdef\@yli{226}\global\@ylswtrue% subst. on 2
344 \or\gdef\@ylii{-573}\gdef\@yli{91}\global\@ylswtrue% subst. on 3
345 \or\gdef\@ylii{-843}\gdef\@yli{181}\global\@ylswtrue% subst. on 4
346 \or\gdef\@ylii{-673}\gdef\@yli{-46}\global\@ylswtrue% subst. on 5
347 \or\gdef\@ylii{-270}\gdef\@yli{90}\global\@ylswtrue% subst. on 6
348 \fi%end of ifcase
349 \fi\fi\fi}}%

5 Inverse chair-form cyclohexanes

5.1 Macros for setting substituents

Macros \@chairia to \@chairif are used to set substituents on each position of cyclohexane. Note that they corresopond to the counterparts of chair-form cyclohexanes described above.

\@chairia
350 % ********************************************************
351 % * treatment of the chair form (inverse) of cyclohexane *
352 % *  added March 05, 1994 by Shinsaku Fujita             *
353 % ********************************************************
354 % %%%%%%%%%%%%%%%
355 % % subst. on 1 %
356 % %%%%%%%%%%%%%%%
357 \def\@chairia{%
358 \if\@tmpb S%single bond
359  \ifx\@tmpc\empty%
360  \yl@xdiff=10
361  \yl@ydiff=90
362  \Put@Line(0,0)(-1,-1){120}% single bond at 1
363  \putlatom{-130}{-210}{\@memberb}% left type
364  \else\if\@tmpc a%(a) axial
365  \yl@xdiff=42
366  \yl@ydiff=92
367  \Put@Line(0,0)(0,-1){168}% single bond at 1 axial
368  \putlratom{-42}{-260}{\@memberb}% left & right type
369  \else\if\@tmpc e%(e) beta
370  \yl@xdiff=16
371  \yl@ydiff=36
372  \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial
373  \putlatom{-160}{50}{\@memberb}% left type
374  \fi\fi\fi%
375 %2009/06/15
376  \else\if\@tmpb U%(U) alpha undefined
377  \yl@xdiff=10\relax
378  \yl@ydiff=90\relax
379  \putlatom{-130}{-210}{\@memberb}%     % left type

380 {%

381  \WaveBonds%
382  \Put@Line(0,0)(-1,-1){120}%      % single bond at 1

383 }% 384 %

385 \else \if\@tmpb D%double bond

386  \yl@xdiff=10
387  \yl@ydiff=90
388  \Put@Line(-10,10)(-1,-1){120}% double bond at 1
389  \Put@Line(10,-10)(-1,-1){120}% double bond at 1
390  \putlatom{-130}{-210}{\@memberb}% left type
391  \else%
392  \yl@xdiff=10
393  \yl@ydiff=90
394  \Put@Line(0,0)(-1,-1){120}% single bond at 1
395  \putlatom{-130}{-210}{\@memberb}% left type
396 \fi\fi\fi}%
\@chairif
397 % %%%%%%%%%%%%%%%
398 % % subst. on 6 %
399 % %%%%%%%%%%%%%%%
400 \def\@chairif{%
401 \if\@tmpb S%single bond
402  \ifx\@tmpc\empty%
403  \yl@xdiff=10
404  \yl@ydiff=30
405  \Put@Line(170,226)(-1,1){120}% single bond at 6
406  \putratom{40}{316}{\@memberb}% right type
407  \else\if\@tmpc a%(a) axial
408  \yl@xdiff=32
409  \yl@ydiff=-12
410  \Put@Line(170,226)(0,1){168}% single bond at 6 axial
411  \putlratom{138}{406}{\@memberb}% left & right type
412  \else\if\@tmpc e%(e) beta
413  \yl@xdiff=16
414  \yl@ydiff=46
415  \Put@Line(170,226)(-5,-3){144}% single bond at 6 equatorial
416  \putlatom{10}{94}{\@memberb}% left type
417  \fi\fi\fi%
418 %2009/06/15
419  \else\if\@tmpb U%(U) alpha undefined
420  \yl@xdiff=10\relax
421  \yl@ydiff=30\relax
422  \putratom{40}{316}{\@memberb}% right type

423 {%

424  \WaveBonds%
425  \Put@Line(170,226)(-1,1){120}% single bond at 6

426 }% 427 %

428 \else \if\@tmpb D%double bond
429  \yl@xdiff=10
430  \yl@ydiff=30
431  \Put@Line(160,216)(-1,1){120}% double bond at 6
432  \Put@Line(180,236)(-1,1){120}% double bond at 6
433  \putlatom{40}{316}{\@memberb}% left type
434  \else%
435  \yl@xdiff=10
436  \yl@ydiff=30
437  \Put@Line(170,226)(-1,1){120}% single bond at 6

438  \putlatom{40}{316}{\@memberb}% left type
439  \fi\fi\fi}%
\@chairie
440 % %%%%%%%%%%%%%%%
441 % % subst. on 5 %
442 % %%%%%%%%%%%%%%%
443 \def\@chairie{%
444 \if\@tmpb S%single bond
445  \ifx\@tmpc\empty%
446  \yl@xdiff=-10
447  \yl@ydiff=76
448  \Put@Line(573,91)(5,-4){170}% single bond at 5
449  \putratom{753}{-101}{\@memberb}% right type
450  \else\if\@tmpc a%(a) axial
451  \yl@xdiff=40
452  \yl@ydiff=104
453  \Put@Line(573,91)(0,-1){168}% single bond at 5 axial
454  \putlratom{533}{-181}{\@memberb}% left type
455  \else\if\@tmpc e%(e) beta
456  \yl@xdiff=-36
457  \yl@ydiff=3
458  \Put@Line(573,91)(5,3){144}% single bond at 5 equatorial
459  \putlatom{753}{180}{\@memberb}% left type
460  \fi\fi\fi%
461 %2009/06/15
462  \else\if\@tmpb U%(U) alpha undefined
463  \yl@xdiff=-10
464  \yl@ydiff=76
465  \putratom{753}{-101}{\@memberb}% right type

466 {%

467  \WaveBonds%
468  \Put@Line(573,91)(5,-4){170}% single bond at 5

469 }% 470 %

471 \else \if\@tmpb D%double bond
472  \yl@xdiff=-10
473  \yl@ydiff=96
474  \Put@Line(563,83)(5,-4){170}% double bond at 5
475  \Put@Line(583,99)(5,-4){170}% double bond at 5
476  \putratom{733}{-141}{\@memberb}% right type
477  \else%
478  \yl@xdiff=-10
479  \yl@ydiff=76
480  \Put@Line(573,91)(5,-4){170}% single bond at 5
481  \putratom{753}{-121}{\@memberb}% right type
482 \fi\fi\fi}%
\@chairid
483 % %%%%%%%%%%%%%%%
484 % % subst. on 4 %
485 % %%%%%%%%%%%%%%%
486 \def\@chairid{%
487 \if\@tmpb S%single bond

488  \ifx\@tmpc\empty%
489  \yl@xdiff=10
490  \yl@ydiff=30
491  \Put@Line(843,181)(1,1){120}% single bond at 4
492  \putratom{953}{271}{\@memberb}% right type
493  \else\if\@tmpc a%(a) axial
494  \yl@xdiff=42
495  \yl@ydiff=-11
496  \Put@Line(843,181)(0,1){168}% single bond at 4 axial
497  \putlratom{801}{360}{\@memberb}% left & right type
498  \else\if\@tmpc e%(e) beta
499  \yl@xdiff=-16
500  \yl@ydiff=64
501  \Put@Line(843,181)(5,-3){144}% single bond at 4 equatorial
502  \putratom{1003}{31}{\@memberb}% right type
503  \fi\fi\fi%
504 %2009/06/15
505  \else\if\@tmpb U%(U) alpha undefined
506  \yl@xdiff=10
507  \yl@ydiff=30
508  \putratom{953}{271}{\@memberb}% right type

509 {%

510  \WaveBonds%
511  \Put@Line(843,181)(1,1){120}% single bond at 4

512 }% 513 %

514 \else \if\@tmpb D%double bond
515  \yl@xdiff=10
516  \yl@ydiff=30
517  \Put@Line(833,191)(1,1){120}% double bond at 4
518  \Put@Line(853,171)(1,1){120}% double bond at 4
519  \putratom{953}{271}{\@memberb}% right type
520  \else%
521  \yl@xdiff=10
522  \yl@ydiff=30
523  \Put@Line(843,181)(1,1){120}% single bond at 4
524  \putratom{953}{271}{\@memberb}% right type
525 \fi\fi\fi}%
\@chairic
526 % %%%%%%%%%%%%%%%
527 % % subst. on 3 %
528 % %%%%%%%%%%%%%%%
529 \def\@chairic{%
530 \if\@tmpb S%single bond
531  \ifx\@tmpc\empty%
532  \yl@xdiff=-10
533  \yl@ydiff=92
534  \Put@Line(673,-46)(1,-1){120}% single bond at 3
535  \putratom{803}{-258}{\@memberb}% right type
536  \else\if\@tmpc a%(a) axial
537  \yl@xdiff=40
538  \yl@ydiff=110
539  \Put@Line(673,-46)(0,-1){168}% single bond at 3 axial

540  \putlratom{633}{-318}{\@memberb}% left & right type
541  \else\if\@tmpc e%(e) beta
542  \yl@xdiff=-6
543  \yl@ydiff=17
544  \Put@Line(673,-46)(5,3){144}% single bond at 3 equatorial
545  \putratom{823}{23}{\@memberb}% right type
546  \fi\fi\fi%
547 %2009/06/15
548  \else\if\@tmpb U%(U) alpha undefined
549  \yl@xdiff=-10
550  \yl@ydiff=92
551  \putratom{803}{-258}{\@memberb}% right type

552 {%

553  \WaveBonds%
554  \Put@Line(673,-46)(1,-1){120}% single bond at 3

555 }% 556 %

557 \else \if\@tmpb D%double bond
558  \yl@xdiff=-5
559  \yl@ydiff=96
560  \Put@Line(663,-53)(1,-1){120}% double bond at 3
561  \Put@Line(683,-38)(1,-1){120}% double bond at 3
562  \putratom{803}{-258}{\@memberb}%  right type
563  \else%
564  \yl@xdiff=-10
565  \yl@ydiff=76
566  \Put@Line(673,-46)(5,-4){170}% single bond at 3
567  \putratom{853}{-258}{\@memberb}% right type
568 \fi\fi\fi}%
\@chairib
569 % %%%%%%%%%%%%%%%
570 % % subst. on 2 %
571 % %%%%%%%%%%%%%%%
572 \def\@chairib{%
573 \if\@tmpb S%single bond
574  \ifx\@tmpc\empty%
575  \yl@xdiff=0
576  \yl@ydiff=46
577  \Put@Line(270,90)(-5,4){170}% single bond at 2
578  \putlatom{100}{180}{\@memberb}% left type
579  \else\if\@tmpc a%(a) axial
580  \yl@xdiff=32
581  \yl@ydiff=-12
582  \Put@Line(270,90)(0,1){168}% single bond at 2 axial
583  \putlratom{238}{270}{\@memberb}% left type
584  \else\if\@tmpc e%(e) beta
585  \yl@xdiff=26
586  \yl@ydiff=94
587  \Put@Line(270,90)(-5,-3){144}% single bond at 2 equatorial
588  \putratom{100}{-98}{\@memberb}% left type
589  \fi\fi\fi%
590 %2009/06/15
591  \else\if\@tmpb U%(U) alpha undefined

592  \yl@xdiff=0
593  \yl@ydiff=46
594  \putlatom{100}{180}{\@memberb}% left type

595 {%

596  \WaveBonds%
597  \Put@Line(270,90)(-5,4){170}% single bond at 2

598 }% 599 %

600 \else \if\@tmpb D%double bond
601  \yl@xdiff=0
602  \yl@ydiff=26
603  \Put@Line(260,80)(-5,4){170}% double bond at 2
604  \Put@Line(280,100)(-5,4){170}% double bond at 2
605  \putlatom{100}{200}{\@memberb}% left or right type
606  \else%
607  \yl@xdiff=0
608  \yl@ydiff=26
609  \Put@Line(270,90)(-5,4){170}% single bond at 2
610  \putlatom{100}{200}{\@memberb}% left type
611 \fi\fi\fi}%

5.2 Drawing of inverse chair-form cyclohexanes

The standard skeleton of an inverse chair form of cyclohexane is selected to have the following locant numbers.

  ***************************
  * cyclohexane derivatives *
  *  (inverse chair type)   *
  ***************************
  The following numbering is adopted in this macro.
           6            4
        *      `  5  *
      1  *  2        *
               `  3

The macro \chairi has an argument SUBSLIST as well as an optional argument

 BONDLIST.
    \chairi[BONDLIST]{SUBSLIST}

The BONDLIST argument contains one or more characters selected from a to f, each of which indicates the presence of an inner (endcyclic) double bond on the corresponding position.

      BONDLIST =
            none       :  cyclohexane
            a          :  1,2-double bond
            b          :  2,3-double bond

            c          :  4,3-double bond
            d          :  4,5-double bond
            e          :  5,6-double bond
            f          :  6,1-double bond

The SUBSLIST argument contains one or more substitution descriptors which are separated from each other by a semicolon. Each substitution descriptor has a locant number with a bond modifier and a substituent, where these are separated with a double equality symbol.

      SUBSLIST: list of substituents (max 8 substitution positions)
        for n = 1 to 6
            nD         :  exocyclic double bond at n-atom
            nSa        :  axial single bond at n-atom
            nSe        :  equatorial single bond at n-atom

Several examples are shown as follows.

        e.g.
         \chairi[eb]{1D==O;4Se==MeO;4Sa==OMe;5==Cl;6==Cl}

The definition of \@chairi uses a picture environment, in which bonds are put directly, while subsituents are typset by using the macros \@chairia to \@chairif described above.

\@chairi \chairi
612 \def\chairi{\@ifnextchar[{\@chairi}{\@chairi[r]}}
613 \def\@chairi[#1]#2{%
614 \@reset@ylsw%
615 \ylchairiposition{#2}%
616 \def\@@ylii{0}\def\@@yli{0}%
617 \begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
618 (1600,800)(-400,-319){chairi}%
619 (400,319)%2002/4/30 by S. Fujita
620 % skeletal bonds
621 \thinlines%
622  \Put@Line(0,0)(3,4){170}%         % bond 1 to 6
623  \Put@Line(170,226)(3,-1){403}%    %      6 to 5
624  \Put@Line(573,91)(3,1){270}%      %      5 to 4
625 {\thicklines%
626  \molfronttrue%
627  \Put@Line(843,181)(-3,-4){170}%    %      4 to 3
628  \Put@Line(673,-46)(-3,1){403}%     %      3 to 2
629  \Put@Line(0,0)(3,1){270}%          %      1 to 2

630 }%

631 \thinlines%
632 % inner double bonds

633 \@tfor\member:=#1\do{%
634 \if\member r%no endcyclic bonds
635 \else \if\member c%%%a%
636  \Put@Line(767,139)(-3,-4){110}%   % double bond 3 to 4
637 \else \if\member b%%%d%%%b%
638  \Put@Line(640,-5)(-3,1){343}%      %             4 to 5
639 \else \if\member a%%%e%%%%c%
640  \Put@Line(240,111)(-3,-1){190}%   %             5 to 6
641 \else \if\member f%%%d%
642  \Put@Line(63,40)(3,4){110}%        %             6 to 7
643 \else \if\member e%%%l%
644  \Put@Line(182,187)(3,-1){343}%     %             7 to 10
645 \else \if\member d%%%k%%%f%
646  \Put@Line(768,131)(-3,-1){170}%    %             10 to 3
647 \fi\fi\fi\fi\fi\fi\fi}%

648 % %

649 \@forsemicol\member:=#2\do{%
650 \ifx\member\empty\else
651 \expandafter\@m@mb@r\member;\relax%
652 \expandafter\threech@r\@membera{}{}%
653 \ifx\@memberb\@yl\else
654 \ifcase\@tmpa%0 omit
655 \or \@chairia% subst. on 1
656 \or \@chairib% subst. on 2
657 \or \@chairic% subst. on 3
658 \or \@chairid% subst. on 4
659 \or \@chairie% subst. on 5
660 \or \@chairif% subst. on 6
661 \fi %end of ifcase
662 \fi\fi%
663 }\end{ShiftPicEnvB}}%               %end of \chairi macro
664 % End of addition 1994/03/05 SF

The command \ylchairiposition is to obtain the shift values \@ylii and \@yli which are used for shifting the standard point of a substituent.

\ylchairiposition
665 \def\ylchairiposition#1{%
666 \@@ylswfalse%%%\@reset@ylsw
667 \@forsemicol\member:=#1\do{%
668 \if@@ylsw\else
669 \ifx\member\empty\else
670 \expandafter\@m@mb@r\member;\relax
671 \expandafter\threech@r\@membera{}{}\relax
672 \ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
673 \if@@ylsw
674 \ifcase\@tmpa%0 omit
675 \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 1
676 \or\gdef\@ylii{-270}\gdef\@yli{-90}\global\@ylswtrue% subst. on 2
677 \or\gdef\@ylii{-673}\gdef\@yli{46}\global\@ylswtrue% subst. on 3
678 \or\gdef\@ylii{-843}\gdef\@yli{-181}\global\@ylswtrue% subst. on 4
679 \or\gdef\@ylii{-573}\gdef\@yli{-91}\global\@ylswtrue% subst. on 5
680 \or\gdef\@ylii{-170}\gdef\@yli{-226}\global\@ylswtrue% subst. on 6
681 \fi%end of ifcase

682 \fi\fi\fi}}%

6 Bicycloheptanes

6.1 Drawing of a flat and vertical type

The flat-and-vertical-type skeleton of bicycloheptanes is selected to have the following locant numbers.

 *************************************
 * bicyclo[2.2.1]heptane derivatives *
 *  (flat, vertical type)            *
 *************************************
 The following numbering is adopted in this macro.
          1
          *
     6  *   *  2
       |  7  |
       |     |
     5  *   *  3
          *
          4 <===== the original point

The macro \bicyclohepv has an argument SUBSLIST as well as an optional argument BONDLIST.

   \bicychepv[BONDLIST]{SUBSLIST}

The BONDLIST argument contains one or more characters selected from a to f, each of which indicates the presence of an inner (endcyclic) double bond on the corresponding position. In order to put dimethyl subsitutents on the top position (7), the character ‘7’ is used in the BONDLIST. The delocalization of π-electron can be described with the character ‘A’ written in the BONDLIST.

     BONDLIST =
           none       :  bicyclo[2.2.1]heptane
           a          :  1,2-double bond
           b          :  2,3-double bond
           c          :  4,3-double bond
           d          :  4,5-double bond
           e          :  5,6-double bond
           f          :  6,1-double bond
           A          :  aromatic circle
           7          :  7,7-dimethyl

The SUBSLIST argument takes the standard format of XΥMTEX, in which more substitution descriptors are separated from each other by a semicolon.

      SUBSLIST: list of substituents (max 12 substitution positions)
        for n = 1 to 7
            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 specifed) single bond at n-atom

Several examples are shown as follows.

        e.g.
      \bicychepv{1==Cl;2==F}
      \bicychepv[c]{1==Cl;4==F;2==CH$_{3}$}
      \bicychepv[eb]{1D==O;4==Me;5==Cl;6==Cl}

The definition of \@bicyclohepv uses a picture environment, in which bonds are put directly, while subsituents are typset by using the macro \setsixringv defined in chemstr.sty of XΥMTEX system.

\@bicyclohepv
\bicyclohepv
683 \def\bicychepv{\@ifnextchar[{\@bicychepv}{\@bicychepv[r]}}
684 \def\@bicychepv[#1]#2{%
685 \@reset@ylsw%
686 \ylposition{#2}{0}{0}{7}{0}%
687 \begin{ShiftPicEnv}(0,0)(-\yl@shiftii,-\yl@shifti)/%
688 (800,880)(-400,-240){bicychepv}%
689 (400,240)%2002/4/30 by S. Fujita
690 \Put@Line(0,406)(-5,-3){171}%       %bond 1-6
691 \Put@Line(0,406)(5,-3){171}%        %bond 1-2
692 \Put@Line(0,0)(-5,3){171}%          %bond 4-5
693 \Put@Line(0,0)(5,3){171}%           %bond 4-3
694 \Put@Line(171,103)(0,1){200}%       %bond 3-2
695 \Put@Line(-171,103)(0,1){200}%      %bond 5-6
696 {\thicklines%
697 \molfronttrue%
698 \Put@Line(0,0)(1,4){51}%            %bond 4-7
699 \Put@Line(0,406)(1,-4){51}}%         %bond 1-7
700 \@tfor\member:=#1\do{%
701 \if\member r%no endcyclic double bonds
702 \else \if\member a%
703 \Put@Line(6,364)(5,-3){126}%        %double bond 1-2
704 \else \if\member b%
705 \Put@Line(138,129)(0,1){148}%       %double bond 3-2
706 \else \if\member c%
707 \Put@Line(6,42)(5,3){126}%          %double bond 4-3

708 \else \if\member d%
709 \Put@Line(-6,42)(-5,3){126}%        %double bond 4-5
710 \else \if\member e%
711 \Put@Line(-138,129)(0,1){148}%      %double bond 5-6
712 \else \if\member f%
713 \Put@Line(-6,364)(-5,-3){126}%      %double bond 1-6
714 \else \if\member 7%
715 {\thicklines%
716 \Put@Line(51,204)(-1,0){70}%        %7,7-dimethyl
717 \Put@Line(51,204)(1,0){70}}%
718 \else \if\member A%aromatic circle
719 \Put@oCircle(0,203){240}%            %circle
720 \fi\fi\fi\fi\fi\fi\fi\fi\fi}%

721 % %

722 \setsixringv{#2}{0}{0}{7}{0}%
723 \end{ShiftPicEnv}%
724 }%               %end of \bicychepv macro

6.2 Drawing of a flat and horizontal type

The flat-and-horizontal-type skeleton of bicycloheptanes is selected to have the following locant numbers.

  *************************************
  * bicyclo[2.2.1]heptane derivatives *
  *  (flat, horizontal type)          *
  *************************************
  The following numbering is adopted in this macro.
                                 2      3
                                  -----
                                *       *
    the original point ===> 1 *     7     * 4
           (0,0)                *       *
                                  -----
                                 6      5

The macro \bicycloheph has an argument SUBSLIST as well as an optional argument BONDLIST.

    \bicycheph[BONDLIST]{SUBSLIST}

The BONDLIST argument contains one or more characters selected from a to f, each of which indicates the presence of an inner (endcyclic) double bond on the corresponding position. In order to put dimethyl subsitutents on the top position (7), the character ‘7’ is used in the BONDLIST. The delocalization of π-electron can be described with the character ‘A’ written in the BONDLIST.

      BONDLIST =
            none       :  bicyclo[2.2.1]heptane
            a          :  1,2-double bond

b          :  2,3-double bond
c          :  4,3-double bond
d          :  4,5-double bond
e          :  5,6-double bond
f          :  6,1-double bond
A          :  aromatic circle
7          :  7,7-dimethyl

The SUBSLIST argument takes the standard format of XΥMTEX, in which more substitution descriptors are separated from each other by a semicolon.

SUBSLIST: list of substituents (max 8 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 specifed) single bond at n-atom

Several examples are shown as follows.

e.g.
\bicycheph{1==Cl;2==F}
\bicycheph[c]{1==Cl;4==F;2==CH$_{3}$}
\bicycheph[eb]{1D==O;4==Me;5==Cl;6==Cl}

The definition of \@bicycloheph uses a picture environment, in which bonds are put directly, while subsituents are typset by using the macro \setsixringh defined in chemstr.sty of XΥMTEX system.

\@bicycloheph
\bicycloheph
725 \def\bicycheph{\@ifnextchar[{\@bicycheph}{\@bicycheph[r]}}
726 \def\@bicycheph[#1]#2{%
727 \@reset@ylsw%
728 \ylpositionh{#2}{0}{0}{7}{0}%
729 \begin{ShiftPicEnv}(0,0)(-\yl@shiftii,-\yl@shifti)/%
730 (880,800)(-240,-400){bicycheph}%
731 (240,400)%2002/4/30 by S. Fujita
732 \Put@Line(0,0)(3,5){103}%          %bond 1-2
733 \Put@Line(0,0)(3,-5){103}%          %bond 1-6
734 \Put@Line(406,0)(-3,5){103}%        %bond 4-3
735 \Put@Line(406,0)(-3,-5){103}%       %bond 4-3
736 \Put@Line(103,171)(1,0){200}%       %bond 2-3
737 \Put@Line(103,-171)(1,0){200}%      %bond 6-5
738 {\thicklines%

739 \molfronttrue%
740 \Put@Line(0,0)(4,1){203}%            %bond 4-7
741 \Put@Line(406,0)(-4,1){203}}%         %bond 1-7
742 \@tfor\member:=#1\do{%
743 \if\member r%no endcyclic double bonds
744 \else \if\member a%
745 \Put@Line(42,6)(3,5){78}%           %double bond 1-2
746 \else \if\member b%
747 \Put@Line(129,138)(1,0){148}%       %double bond 2-3
748 \else \if\member c%
749 \Put@Line(364,6)(-3,5){78}%         %double bond 4-3
750 \else \if\member d%
751 \Put@Line(364,-6)(-3,-5){78}%       %double bond 4-5
752 \else \if\member e%
753 \Put@Line(129,-138)(1,0){148}%      %double bond 6-5
754 \else \if\member f%
755 \Put@Line(42,-6)(3,-5){78}%         %double bond 1-6
756 \else \if\member 7%
757 {\thicklines%
758 \Put@Line(204,51)(0,-1){70}%        %7,7-dimethyl
759 \Put@Line(204,51)(0,1){70}}%
760 \else \if\member A%aromatic circle
761 \Put@oCircle(203,0){240}%            %circle
762 \fi\fi\fi\fi\fi\fi\fi\fi\fi}

763 % %

764 \setsixringh{#2}{0}{0}{7}{0}%
765 \end{ShiftPicEnv}%
766 }%               %end of \bicycheph macro

6.3 Drawing of a stereo type

6.3.1 Macros for setting substituents

Macros \@borna to \@borng are used to set substituents on each position of bornane.

\@borna
767 % ***********************************************
768 % * setting bonds and substituents for bornanes *
769 % * (bicycloe[2.2.1]heptane derivatives)        *
770 % ***********************************************
771 % %%%%%%%%%%%%%%%
772 % % subst. on 1 %
773 % %%%%%%%%%%%%%%%
774 \def\@borna{%
775 \if\@tmpb S%single bond
776  \ifx\@tmpc\empty%
777  \yl@xdiff=8
778  \yl@ydiff=3
779  \Put@Line(318,247)(2,5){40}%      % single bond 1
780  \putratom{350}{350}{\@memberb}%    % right type
781  \else\if\@tmpc a%(a) alpha
782  \yl@xdiff=8
783  \yl@ydiff=3

784  \Put@Line(318,247)(2,5){40}%      % single bond 1
785  \putratom{350}{350}{\@memberb}%    % right type
786  \else\if\@tmpc b%(b) beta
787  \yl@xdiff=8
788  \yl@ydiff=3
789  \Put@Line(318,247)(2,5){40}%      % single bond 1
790  \putratom{350}{350}{\@memberb}%     % right type
791  \fi\fi\fi%
792 \else%
793  \yl@xdiff=8
794  \yl@ydiff=3
795  \Put@Line(318,247)(2,5){40}%      % single bond 1
796  \putratom{350}{350}{\@memberb}%     % right type
797 \fi}%
\@bornb
798 % %%%%%%%%%%%%%%%
799 % % subst. on 2 %
800 % %%%%%%%%%%%%%%%
801 \def\@bornb{%
802 \begin{sfpicture}(200,200)(0,0)
803 \if\@tmpb S%single bond
804  \ifx\@tmpc\empty%
805  \yl@xdiff=-10
806  \yl@ydiff=20
807  \Put@Line(0,0)(5,2){160}%
808  \putratom{170}{44}{\@memberb}%      % left type
809  \else\if\@tmpc A%(A) alpha
810  \yl@xdiff=0
811  \yl@ydiff=-5
812  \putratom{140}{115}{\@memberb}%     % right type

813 {%

814  \thicklines%
815  \Put@Line(0,0)(4,3){140}%         % endo (a)

816 }%

817  \else\if\@tmpc B%(B) beta
818  \yl@xdiff=10
819  \yl@ydiff=30
820  \putratom{150}{-86}{\@memberb}%     % right type
821  \dotorline(0,0)(5,-2){140}/(0,0)(140,-56)%
822  \else\if\@tmpc a%(a) alpha
823  \yl@xdiff=10
824  \yl@ydiff=30
825  \Put@Line(0,0)(5,-2){140}%        % endo (a)
826  \putratom{150}{-86}{\@memberb}%     % right type
827  \else\if\@tmpc b%(b) beta
828  \yl@xdiff=0
829  \yl@ydiff=-10
830  \Put@Line(0,0)(4,3){140}%         % exo (b)
831  \putratom{140}{115}{\@memberb}%     % right type
832  \fi\fi\fi\fi\fi%
833 \else \if\@tmpb D%double bond
834  \yl@xdiff=-10
835  \yl@ydiff=20

836  \Put@Line(-10,-15)(5,2){160}%
837  \Put@Line(-5,15)(5,2){160}%
838  \putratom{170}{44}{\@memberb}%      % right type
839 \else \if\@tmpb A%alpha single bond
840  \yl@xdiff=-10
841  \yl@ydiff=20
842  \putratom{170}{44}{\@memberb}%      % right type

843 {%

844  \thicklines%
845  \Put@Line(0,0)(5,2){160}%

846 }%

847 \else \if\@tmpb B%beta single bond
848  \yl@xdiff=-10
849  \yl@ydiff=20
850  \putratom{170}{44}{\@memberb}%      % right type
851  \dotorline(0,0)(5,2){160}/(0,0)(160,64)%
852 \else%
853  \yl@xdiff=-10
854  \yl@ydiff=20
855  \Put@Line(0,0)(5,2){160}%
856  \putratom{170}{44}{\@memberb}%      % right type
857 \fi\fi\fi\fi\end{sfpicture}}%
\@bornc
858 % %%%%%%%%%%%%%%%
859 % % subst. on 3 %
860 % %%%%%%%%%%%%%%%
861 \def\@bornc{%
862 \begin{sfpicture}(200,200)(0,0)
863 \if\@tmpb S%single bond
864  \ifx\@tmpc\empty%
865  \yl@xdiff=-10
866  \yl@ydiff=30
867  \Put@Line(0,0)(5,-2){140}%
868  \putratom{150}{-86}{\@memberb}%    % right type
869  \else\if\@tmpc A%(A) alpha
870  \yl@xdiff=-10
871  \yl@ydiff=30
872  \putratom{150}{26}{\@memberb}%     % right type

873 {%

874  \thicklines%
875  \Put@Line(0,0)(5,2){140}%        % endo (a)

876 }%

877  \else\if\@tmpc B%(B) beta
878  \yl@xdiff=0
879  \yl@ydiff=40
880  \putratom{140}{-145}{\@memberb}%   % right type
881  \dotorline(0,0)(4,-3){140}/(0,0)(140,-105)%% exo (b)
882  \else\if\@tmpc a%(a) alpha
883  \yl@xdiff=0
884  \yl@ydiff=40
885  \Put@Line(0,0)(4,-3){140}%       % endo (a)
886  \putratom{140}{-145}{\@memberb}%   % right type
887  \else\if\@tmpc b%(b) beta

888  \yl@xdiff=-10
889  \yl@ydiff=30
890  \Put@Line(0,0)(5,2){140}%        % exo (b)
891  \putratom{150}{26}{\@memberb}%     % right type
892  \fi\fi\fi\fi\fi
893 \else \if\@tmpb D%double bond
894  \yl@xdiff=10
895  \yl@ydiff=50
896  \Put@Line(10,15)(5,-2){160}%
897  \Put@Line(5,-15)(5,-2){160}%
898  \putratom{170}{-124}{\@memberb}%   % right type
899 \else \if\@tmpb A%alpha single bond
900  \yl@xdiff=-10
901  \yl@ydiff=30
902  \putratom{150}{-86}{\@memberb}%    % right type

903 {%

904  \thicklines%
905  \Put@Line(0,0)(5,-2){140}%       % endo (a)

906 }%

907 \else \if\@tmpb B%beta single bond
908  \yl@xdiff=-10
909  \yl@ydiff=30
910  \putratom{150}{-86}{\@memberb}%    % right type
911  \dotorline(0,0)(5,-2){140}/(0,0)(140,-56)% exo (b)
912 \else%
913  \yl@xdiff=-10
914  \yl@ydiff=20
915  \Put@Line(0,0)(5,2){160}%
916  \putratom{170}{44}{\@memberb}%     % right type
917 \fi\fi\fi\fi%
918 \end{sfpicture}}%
\@bornd
919 % %%%%%%%%%%%%%%%
920 % % subst. on 4 %
921 % %%%%%%%%%%%%%%%
922 \def\@bornd{%
923 \if\@tmpb S%single bond
924  \ifx\@tmpc\empty%
925  \yl@xdiff=30
926  \yl@ydiff=87
927  \Put@Line(237,47)(-2,-5){40}%      % single bond 4
928  \putlratom{167}{-140}{\@memberb}%    % left & right type
929  \else\if\@tmpc a%(a) alpha
930  \yl@xdiff=30
931  \yl@ydiff=87
932  \Put@Line(237,47)(-2,-5){40}%      % single bond 4
933  \putlratom{167}{-140}{\@memberb}%    % left & right type
934  \else\if\@tmpc b%(b) beta
935  \yl@xdiff=30
936  \yl@ydiff=87
937  \Put@Line(237,47)(-2,-5){40}%      % single bond 4
938  \putlratom{167}{-140}{\@memberb}%    % left & right type
939  \fi\fi\fi%

940 \else%
941  \yl@xdiff=30
942  \yl@ydiff=87
943  \Put@Line(237,47)(-2,-5){40}%      % single bond 4
944  \putlratom{167}{-140}{\@memberb}%    % left & right type
945 \fi}%
\@borne
946 % %%%%%%%%%%%%%%%
947 % % subst. on 5 %
948 % %%%%%%%%%%%%%%%
949 \def\@borne{%
950 \begin{sfpicture}(200,200)(0,0)
951 \if\@tmpb S%single bond
952  \ifx\@tmpc\empty%
953  \yl@xdiff=10
954  \yl@ydiff=30
955  \Put@Line(0,0)(-5,-2){140}%
956  \putlatom{-150}{-86}{\@memberb}%    % left type
957  \else\if\@tmpc A%(A) alpha
958  \yl@xdiff=10
959  \yl@ydiff=30
960  \putlatom{-150}{26}{\@memberb}%     % left type

961 {%

962  \thicklines%
963  \Put@Line(0,0)(-5,2){140}%        % endo (a)

964 }%

965  \else\if\@tmpc B%(B) beta
966  \yl@xdiff=0
967  \yl@ydiff=40
968  \putlatom{-140}{-145}{\@memberb}%   % left type
969  \dotorline(0,0)(-4,-3){140}/(0,0)(-140,-105)%% exo (b)
970  \else\if\@tmpc a%(a) alpha
971  \yl@xdiff=0
972  \yl@ydiff=30
973  \Put@Line(0,0)(-4,-3){140}%       % endo (a)
974  \putlatom{-140}{-145}{\@memberb}%   % left type
975  \else\if\@tmpc b%(b) beta
976  \yl@xdiff=10
977  \yl@ydiff=30
978  \Put@Line(0,0)(-5,2){140}%        % exo (b)
979  \putlatom{-150}{26}{\@memberb}%     % left type
980  \fi\fi\fi\fi\fi
981 \else \if\@tmpb D%double bond
982  \yl@xdiff=0
983  \yl@ydiff=64
984  \Put@Line(-10,15)(-5,-2){160}%
985  \Put@Line(-5,-15)(-5,-2){160}%
986  \putlatom{-170}{-124}{\@memberb}%   % left type
987 \else \if\@tmpb A%alpha single bond
988  \yl@xdiff=10
989  \yl@ydiff=30
990  \putlatom{-150}{-86}{\@memberb}%    % left type

991 {%

 992  \thicklines%
 993  \Put@Line(0,0)(-5,-2){140}%       % endo (a)

994 }%

 995 \else \if\@tmpb B%beta single bond
 996  \yl@xdiff=10
 997  \yl@ydiff=30
 998  \putlatom{-150}{-86}{\@memberb}%    % left type
 999  \dotorline(0,0)(-5,-2){140}/(0,0)(-140,-56)%% exo (b)
1000 \else%
1001  \yl@xdiff=10
1002  \yl@ydiff=20
1003  \Put@Line(0,0)(-5,2){160}%
1004  \putlatom{-170}{44}{\@memberb}%     % left type
1005 \fi\fi\fi\fi%
1006 \end{sfpicture}}%
\@bornf
1007 % %%%%%%%%%%%%%%%
1008 % % subst. on 6 %
1009 % %%%%%%%%%%%%%%%
1010 \def\@bornf{%
1011 \begin{sfpicture}(200,200)(0,0)
1012 \if\@tmpb S%single bond
1013  \ifx\@tmpc\empty%
1014  \yl@xdiff=10
1015  \yl@ydiff=30
1016  \Put@Line(0,0)(-5,2){160}%
1017  \putlatom{-170}{44}{\@memberb}%      % left type
1018  \else\if\@tmpc A%(A) alpha
1019  \yl@xdiff=10
1020  \yl@ydiff=-10
1021  \putlatom{-140}{115}{\@memberb}%     % left type

1022 {%

1023  \thicklines%
1024  \Put@Line(0,0)(-4,3){140}%         % endo (a)

1025 }%

1026  \else\if\@tmpc B%(B) beta
1027  \yl@xdiff=0
1028  \yl@ydiff=30
1029  \putlatom{-150}{-86}{\@memberb}%     % left type
1030  \dotorline(0,0)(-5,-2){140}/(0,0)(-140,-56)%% exo (b)
1031  \else\if\@tmpc a%(a) alpha
1032  \yl@xdiff=10
1033  \yl@ydiff=30
1034  \Put@Line(0,0)(-5,-2){140}%        % endo (a)
1035  \putlatom{-150}{-86}{\@memberb}%     % left type
1036  \else\if\@tmpc b%(b) beta
1037  \yl@xdiff=0
1038  \yl@ydiff=-10
1039  \Put@Line(0,0)(-4,3){140}%         % exo (b)
1040  \putlatom{-140}{115}{\@memberb}%     % left type
1041  \fi\fi\fi\fi\fi%
1042 \else \if\@tmpb D%double bond
1043  \yl@xdiff=0

1044  \yl@ydiff=20
1045  \Put@Line(10,-15)(-5,2){160}%
1046  \Put@Line(5,15)(-5,2){160}%
1047  \putlatom{-170}{44}{\@memberb}%      % left type
1048 \else \if\@tmpb A%alpha single bond
1049  \yl@xdiff=10
1050  \yl@ydiff=30
1051  \putlatom{-170}{44}{\@memberb}%      % left type

1052 {%

1053  \thicklines%
1054  \Put@Line(0,0)(-5,2){160}%

1055 }%

1056 \else \if\@tmpb B%beta single bond
1057  \yl@xdiff=10
1058  \yl@ydiff=30
1059  \putlatom{-170}{44}{\@memberb}%      % left type
1060  \dotorline(0,0)(-5,2){160}/(0,0)(-160,64)%
1061 \else%
1062  \yl@xdiff=10
1063  \yl@ydiff=20
1064  \Put@Line(0,0)(-5,2){160}%
1065  \putlatom{-170}{44}{\@memberb}%      % left type
1066 \fi\fi\fi\fi\end{sfpicture}}%
\@borng
1067 % %%%%%%%%%%%%%%%
1068 % % subst. on 7 %
1069 % %%%%%%%%%%%%%%%
1070 \def\@borng{%
1071 \begin{sfpicture}(200,200)(0,0)
1072 \if\@tmpb S%single bond
1073  \ifx\@tmpc\empty%
1074  \yl@xdiff=40
1075  \yl@ydiff=-20
1076  \Put@Line(0,0)(0,1){160}%
1077  \putlratom{-40}{180}{\@memberb}%      % left & right type
1078  \else\if\@tmpc a%(a) left
1079  \yl@xdiff=0
1080  \yl@ydiff=-10
1081  \Put@Line(0,0)(-4,3){140}%          % left (a)
1082  \putlatom{-140}{115}{\@memberb}%      % left type
1083  \else\if\@tmpc b%(b) right
1084  \yl@xdiff=0
1085  \yl@ydiff=-10
1086  \Put@Line(0,0)(4,3){140}%           % right (b)
1087  \putratom{140}{115}{\@memberb}%       % right type
1088  \fi\fi\fi%\fi\fi%
1089 \else \if\@tmpb D%double bond
1090  \yl@xdiff=40
1091  \yl@ydiff=-20
1092  \Put@Line(-10,0)(0,1){160}%
1093  \Put@Line(10,0)(0,1){160}%
1094  \putlratom{-40}{180}{\@memberb}%      % left & right type
1095 \else%

1096  \yl@xdiff=40
1097  \yl@ydiff=-20
1098  \Put@Line(0,0)(0,1){160}%
1099  \putlratom{-40}{180}{\@memberb}%      % left & right type
1100 \fi\fi\end{sfpicture}}%

6.3.2 Drawing of borane derivatives

The stereo-type skeleton of bicycloheptanes is selected to have the following locant numbers.

***********************************************
* bornane derivatives                         *
* (bicycloe[2.2.1]heptane derivatives)        *
***********************************************
The following numbering is adopted in this macro.
     7   g
f    / `
 _/ - 1_a
e    6  / h     - 2
*    /        *
5  -  4       * b
d     c` 3

The macro \bornane has an argument SUBSLIST as well as an optional argu-

ment BONDLIST.
\bornane[BONDLIST]{SUBSLIST}

The BONDLIST argument contains one or more characters selected from a to h, each of which indicates the presence of an inner (endcyclic) double bond on the corresponding position.

BONDLIST =
none       :  bicyclo[2.2.1]heptane
a          :  1,2-double bond
b          :  2,3-double bond
c          :  4,3-double bond
d          :  4,5-double bond
e          :  5,6-double bond
f          :  6,1-double bond
g          :  1,7-double bond
h          :  4,7-double bond

The SUBSLIST argument takes the standard format of XΥMTEX, in which more substitution descriptors are separated from each other by a semicolon.

       SUBSLIST: list of substituents (max 7 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 single bond at n-atom
             nSb        :  beta single bond at n-atom

The 7-position of a bornane skeleton cannot be specified by capital characters ‘A’ and ‘B’.

         for n = 7 (bridge position)
             nD         :  exocyclic double bond at 7-atom
             n or nS    :  exocyclic single bond at 7-atom
             nSa        :  left single bond at 7-atom
             nSb        :  right single bond at 7-atom

Several examples are shown as follows.

         e.g.
          \bornane{1==N}{1==Cl;2==F}
          \bornane[c]{1==N}{1==Cl;4==F;2==CH$_{3}$}
          \bornane[eb]{1==N}{1D==O;4==MeO;5==Cl;6==Cl}

The definition of \@bicycloheph uses a picture environment, in which bonds are put directly, while subsituents are typset by using the macro \@borna to \@borng defined in chemstr.sty of XΥMTEX system.

\@bornane \bornane
1101 \def\bornane{\@ifnextchar[{\@bornane}{\@bornane[r]}}
1102 \def\@bornane[#1]#2{%
1103 \@reset@ylsw%
1104 \ylbornaneposition{#2}%
1105 \def\@@ylii{0}\def\@@yli{0}%
1106 \begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
1107 (1000,1000)(-200,-240){bornane}%
1108 (200,240)%2002/4/30 by S. Fujita
1109 % skeletal bonds
1110 {\thicklines%
1111 \molfronttrue
1112 \Put@Line(0,0)(5,1){237}%            % bond 5 to 4 (d)
1113 \Put@Line(237,47)(5,-2){225}%        % bond 4 to 3 (c)
1114 \Put@Line(237,47)(0,1){400}%         % front part of bridge (h)

1115 }%

1116 \thinlines%
1117 \Put@Line(462,-43)(2,5){80}%         % bond 3 to 2 (b)
1118 \Put@Line(543,157)(-5,2){225}%       % bond 2 to 1 (a)
1119 \Put@Line(318,247)(-5,-1){237}%      % bond 1 to 6 (f)
1120 \Put@Line(80,200)(-2,-5){80}%        % bond 6 to 5 (e)
1121 \Put@Line(318,247)(-2,5){80}%        % back part of bridge (g)
1122 % inner double bond
1123 \@tfor\member:=#1\do{%
1124 \if\member r%no endcyclic bonds
1125 \else \if\member a%%%%
1126 \Put@Line(513,127)(-5,2){180}%       % bond 2 to 1
1127 \else \if\member b%%%%
1128 \Put@Line(446,-3)(2,5){60}%          % bond 3 to 2
1129 \else \if\member c%%%%
1130 \Put@Line(267,77)(5,-2){180}%        % bond 4 to 3
1131 \else \if\member d%%%%
1132 \Put@Line(40,42)(5,1){180}%          % double bond 5 to 4
1133 \else \if\member e%%%
1134 \Put@Line(100,180)(-2,-5){60}%       % bond 6 to 5
1135 \else \if\member f%
1136 \Put@Line(288,207)(-5,-1){180}%      % bond 1 to 6
1137 \else \if\member g%
1138 \Put@Line(288,260)(-2,5){40}%         % back part of bridge (g)
1139 \else \if\member h%
1140 \Put@Line(257,77)(0,1){290}%          % front part of bridge (h)
1141 \fi\fi\fi\fi\fi\fi\fi\fi\fi}%

1142 %

1143 \@forsemicol\member:=#2\do{%
1144 \ifx\member\empty\else
1145 \expandafter\@m@mb@r\member;\relax%
1146 \expandafter\threech@r\@membera{}{}%
1147 \ifx\@memberb\@yl\else
1148 \ifcase\@tmpa%0 omit
1149 \or \@borna% subst. on 1
1150 \or \Put@Direct(543,157){\@bornb}% subst. on 2
1151 \or \Put@Direct(462,-43){\@bornc}% subst. on 3
1152 \or \@bornd% subst. on 4
1153 \or \Put@Direct(0,0){\@borne}% subst. on 5
1154 \or \Put@Direct(80,200){\@bornf}% subst. on 6
1155 \or \Put@Direct(237,440){\@borng}% subst. on 7
1156 \fi%end of ifcase
1157 \fi\fi%

1158 }%

1159 \end{ShiftPicEnvB}%
1160 \iniatom\iniflag}%     %end of \bornane macro

The command \ylbornaneposition is to obtain the shift values \@ylii and \@yli which are used for shifting the standard point of a substituent.

\ylbornaneposition
1161 \def\ylbornaneposition#1{%
1162 \@@ylswfalse%%%\@reset@ylsw
1163 \@forsemicol\member:=#1\do{%
1164 \if@@ylsw\else

1165 \ifx\member\empty\else
1166 \expandafter\@m@mb@r\member;\relax
1167 \expandafter\threech@r\@membera{}{}\relax
1168 \ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
1169 \if@@ylsw
1170 \ifcase\@tmpa%0 omit
1171 \or\gdef\@ylii{-318}\gdef\@yli{-247}\global\@ylswtrue% subst. on 1
1172 \or\gdef\@ylii{-543}\gdef\@yli{-157}\global\@ylswtrue% subst. on 2
1173 \or\gdef\@ylii{-462}\gdef\@yli{43}\global\@ylswtrue% subst. on 3
1174 \or\gdef\@ylii{-237}\gdef\@yli{-47}\global\@ylswtrue% subst. on 4
1175 \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 5
1176 \or\gdef\@ylii{-80}\gdef\@yli{-200}\global\@ylswtrue% subst. on 6
1177 \or\gdef\@ylii{-237}\gdef\@yli{-440}\global\@ylswtrue% subst. on 7
1178 \fi%end of ifcase
1179 \fi\fi\fi}}%

7 Adamantanes

7.1 Vertical drawing

The macros \@adamanea to \@adamanej are used to set substituents on each edge of an adamantane skeleton drawn by the \adamantane commands.

\@adamanea
\@adamaneb
\@adamanec
\@adamaned
\@adamanee
\@adamanef
\@adamaneg
\@adamaneh
\@adamanei
\@adamanej

1180 % %%%%%%%%%%%%%%%
1181 % % subst. on 1 %
1182 % %%%%%%%%%%%%%%%
1183 \def\@adamanea{%
1184  \yl@xdiff=12
1185  \yl@ydiff=21
1186 \Put@Direct(-360,720){\hbox to0pt{\hss \@memberb}}%     %atom 1
1187 \if\@tmpb a%
1188 \Put@Line(-240,660)(-4,3){108}%                %bond 1
1189 \else \ifx\@tmpb\empty%
1190 \Put@Line(-240,660)(-4,3){108}%                %bond 1
1191 \fi\fi}%
1192 % %%%%%%%%%%%%%%%
1193 % % subst. on 2 %
1194 % %%%%%%%%%%%%%%%
1195 \def\@adamaneb{%
1196 \if\@tmpb a%
1197  \yl@xdiff=6
1198  \yl@ydiff=-16
1199 \Put@Line(0,780)(1,4){26}%                     %bond 2-ax
1200 \Put@Direct(20,900){\hbox to0pt{\@memberb \hss}}%       %atom 2-ax
1201 \else \if\@tmpb b%
1202  \yl@xdiff=-6
1203  \yl@ydiff=-16
1204 \Put@Line(0,780)(-1,4){26}%                    %bond 2-eq
1205 \Put@Direct(-20,900){\hbox to0pt{\hss \@memberb}}%      %atom 2-eq
1206 \else \ifx\@tmpb\empty%
1207  \yl@xdiff=42
1208  \yl@ydiff=-22

1209 \Put@Direct(-42,910){\hbox to0pt{\hss \@memberb}}%      %atom 2
1210 \Put@Line(0,780)(0,1){108}%                    %bond 2
1211 \else \if\@tmpb D%
1212  \yl@xdiff=42
1213  \yl@ydiff=-22
1214 \putlratom{-42}{910}{\@memberb}%                 %atom 2
1215 \Put@Line(-12,780)(0,1){108}%                  %double bond 2
1216 \Put@Line(12,780)(0,1){108}%                   %double bond 2
1217 \fi\fi\fi\fi}
1218 % %%%%%%%%%%%%%%%
1219 % % subst. on 3 %
1220 % %%%%%%%%%%%%%%%
1221 \def\@adamanec{%
1222  \yl@xdiff=-12
1223  \yl@ydiff=21
1224 \Put@Direct(360,720){\hbox to0pt{\@memberb \hss}}%      %atom 3
1225 %  \if\@tmpb S%
1226 \if\@tmpb a%1998/10/24 by SF
1227 \Put@Line(240,660)(4,3){108}%                  %bond 3
1228 \else \ifx\@tmpb\empty%
1229 \Put@Line(240,660)(4,3){108}%                  %bond 3
1230 \fi\fi}
1231 % %%%%%%%%%%%%%%%
1232 % % subst. on 4 %
1233 % %%%%%%%%%%%%%%%
1234 \def\@adamaned{%
1235 \if\@tmpb a%
1236  \yl@xdiff=-17
1237  \yl@ydiff=33
1238 \Put@Line(300,420)(4,-3){103}%                 %bond 4-ax
1239 \Put@Direct(420,310){\hbox to0pt{\@memberb \hss}}%      %atom 4-ax
1240 \else \if\@tmpb b%
1241  \yl@xdiff=26
1242  \yl@ydiff=-26
1243 \Put@Line(300,420)(1,4){26}%                   %bond 4-eq
1244 \Put@Direct(300,540){\hbox to0pt{\@memberb \hss}}%      %atom 4-eq
1245 \else \ifx\@tmpb\empty%
1246  \yl@xdiff=-17
1247  \yl@ydiff=33
1248 \Put@Line(300,420)(4,-3){103}%                 %bond 4
1249 \Put@Direct(420,310){\hbox to0pt{\@memberb \hss}}%      %atom 4
1250 \else \if\@tmpb D%
1251  \yl@xdiff=-17
1252  \yl@ydiff=33
1253 \Put@Line(296,432)(5,-3){103}%                 %double bond 4
1254 \Put@Line(292,408)(5,-3){103}%                 %double bond 4
1255 \Put@Direct(420,310){\hbox to0pt{\@memberb \hss}}%      %atom 4
1256 \fi\fi\fi\fi}
1257 % %%%%%%%%%%%%%%%
1258 % % subst. on 5 %
1259 % %%%%%%%%%%%%%%%
1260 \def\@adamanee{%
1261  \yl@xdiff=20

1262  \yl@ydiff=110
1263 %  \if\@tmpb S%
1264 \if\@tmpb a%1998/10/24 by SF
1265 \Put@Line(60,240)(1,-5){30}%                   %bond 5
1266 \Put@Direct(70,-20){\hbox to0pt{\@memberb  \hss}}%      %atom 5
1267 \else \ifx\@tmpb\empty%
1268 \Put@Line(60,240)(1,-5){30}%                   %bond 5
1269 \Put@Direct(70,-20){\hbox to0pt{\@memberb  \hss}}%      %atom 5
1270 \fi\fi}
1271 % %%%%%%%%%%%%%%%
1272 % % subst. on 6 %
1273 % %%%%%%%%%%%%%%%
1274 \def\@adamanef{%
1275 \if\@tmpb a%
1276  \yl@xdiff=33
1277  \yl@ydiff=103
1278 \Put@Line(0,0)(4,-3){103}%                     %bond 6-ax
1279 \Put@Direct(70,-180){\hbox to0pt{\@memberb \hss}}%      %atom 6-ax
1280 \else \if\@tmpb b%
1281  \yl@xdiff=-33
1282  \yl@ydiff=103
1283 \Put@Line(0,0)(-4,-3){103}%                    %bond 6-eq
1284 \Put@Direct(-70,-180){\hbox to0pt{\hss \@memberb}}%     %atom 6-eq
1285 \else \ifx\@tmpb\empty%
1286  \yl@xdiff=22
1287  \yl@ydiff=94
1288 \Put@Line(0,0)(0,-1){108}%                     %bond 6
1289 \Put@Direct(-22,-202){\hbox to0pt{\hss \@memberb}}%     %atom 6
1290 \else \if\@tmpb D%
1291  \yl@xdiff=42
1292  \yl@ydiff=94
1293 \Put@Line(-12,0)(0,-1){108}%                   %double bond 6
1294 \Put@Line(12,0)(0,-1){108}%                    %double bond 6
1295 \putlratom{-42}{-202}{\@memberb}%                %atom 6
1296 \fi\fi\fi\fi}
1297 % %%%%%%%%%%%%%%%
1298 % % subst. on 7 %
1299 % %%%%%%%%%%%%%%%
1300 \def\@adamaneg{%
1301  \yl@xdiff=-20
1302  \yl@ydiff=110
1303 %  \if\@tmpb S%
1304 \if\@tmpb a%1998/10/24 by SF
1305 \Put@Line(-60,240)(-1,-5){30}%                 %bond 7
1306 \Put@Direct(-70,-20){\hbox to0pt{\hss \@memberb}}%      %atom 7
1307 \else \ifx\@tmpb\empty%
1308 \Put@Line(-60,240)(-1,-5){30}%                 %bond 7
1309 \Put@Direct(-70,-20){\hbox to0pt{\hss \@memberb}}%      %atom 7-eq
1310 \fi\fi}
1311 % %%%%%%%%%%%%%%%
1312 % % subst. on 8 %
1313 % %%%%%%%%%%%%%%%
1314 \def\@adamaneh{%

1315 \if\@tmpb a%
1316  \yl@xdiff=17
1317  \yl@ydiff=33
1318 \Put@Line(-300,420)(-4,-3){103}%               %bond 8-ax
1319 \Put@Direct(-420,310){\hbox to0pt{\hss \@memberb}}%     %atom 8-ax
1320 \else \if\@tmpb b%
1321  \yl@xdiff=-26
1322  \yl@ydiff=-16
1323 \Put@Line(-300,420)(-1,4){26}%                 %bond 8-eq
1324 \Put@Direct(-300,540){\hbox to0pt{\hss \@memberb}}%     %atom 8-eq
1325 \else \ifx\@tmpb\empty%
1326  \yl@xdiff=17
1327  \yl@ydiff=33
1328 \Put@Line(-300,420)(-4,-3){103}%               %bond 8
1329 \Put@Direct(-420,310){\hbox to0pt{\hss \@memberb}}%     %atom 8
1330 \else \if\@tmpb D%
1331  \yl@xdiff=17
1332  \yl@ydiff=50
1333 \Put@Line(-300,432)(-5,-3){103}%               %double bond 8
1334 \Put@Line(-303,408)(-5,-3){103}%               %double bond 8
1335 \Put@Direct(-420,310){\hbox to0pt{\hss \@memberb}}%     %atom 8
1336 \fi\fi\fi\fi}
1337 % %%%%%%%%%%%%%%%
1338 % % subst. on 9 %
1339 % %%%%%%%%%%%%%%%
1340 \def\@adamanei{%
1341 \if\@tmpb a%
1342  \yl@xdiff=-43
1343  \yl@ydiff=93
1344 \Put@Line(-180,420)(-4,-3){103}%               %bond 9-ax
1345 \Put@Direct(-240,250){\hbox to0pt{\hss \@memberb}}%     %atom 9-ax
1346 \else \if\@tmpb b%
1347  \yl@xdiff=26
1348  \yl@ydiff=-16
1349 \Put@Line(-180,420)(1,4){26}%                  %bond 9-eq
1350 \Put@Direct(-180,540){\hbox to0pt{\@memberb \hss}}%     %atom 9-eq
1351 \else \ifx\@tmpb\empty%
1352  \yl@xdiff=17
1353  \yl@ydiff=93
1354 \Put@Line(-180,420)(-4,-3){103}%               %bond 9
1355 \Put@Direct(-300,250){\hbox to0pt{\hss \@memberb}}%     %atom 9
1356 \else \if\@tmpb D%
1357  \yl@xdiff=17
1358  \yl@ydiff=113
1359 \Put@Line(-183,432)(-5,-3){103}%               %double bond 9
1360 \Put@Line(-180,408)(-5,-3){103}%               %double bond 9
1361 \Put@Direct(-300,250){\hbox to0pt{\hss \@memberb}}%     %atom 9
1362 \fi\fi\fi\fi}
1363 % %%%%%%%%%%%%%%%%
1364 % % subst. on 10 %
1365 % %%%%%%%%%%%%%%%%
1366 \def\@adamanej{%
1367 \if\@tmpb a%

1368  \yl@xdiff=43
1369  \yl@ydiff=92
1370 \Put@Line(180,420)(4,-3){103}%                 %bond 10-ax
1371 \Put@Direct(240,250){\hbox to0pt{\@memberb  \hss}}%     %atom 10-ax
1372 \else \if\@tmpb b%
1373  \yl@xdiff=-26
1374  \yl@ydiff=-16
1375 \Put@Line(180,420)(-1,4){26}%                  %bond 10-eq
1376 \Put@Direct(180,540){\hbox to0pt{\hss \@memberb}}%      %atom 10-eq
1377 \else \ifx\@tmpb\empty%
1378  \yl@xdiff=43
1379  \yl@ydiff=92
1380 \Put@Line(180,420)(4,-3){103}%                %bond 10
1381 \Put@Direct(240,250){\hbox to0pt{\@memberb \hss}}%     %atom 10
1382 \else \if\@tmpb D%
1383  \yl@xdiff=3
1384  \yl@ydiff=112
1385 \Put@Line(176,432)(5,-3){103}%                %double bond 10
1386 \Put@Line(172,408)(5,-3){103}%                %double bond 10
1387 \Put@Direct(280,250){\hbox to0pt{\@memberb \hss}}%     %atom 10
1388 \fi\fi\fi\fi}

The stereo-type skeleton of adamantane is selected to have the following specification. The \adamantane command prints a vertical-type formula in which two bridge carbons are placed at the top and the bottom.

   *************************************************
   * For preparing adamantane derivatives          *
   *   with 4 substituents on bridgehead positions *
   *         (1, 3, 5 and 7)                       *
   *   with 12 substituents on bridge positions    *
   *         (2, 4, 6, 8, 9, 10)                   *
   *************************************************

The macro \adamantane has an argument SUBSLIST as well as an optional argument BONDLIST.

     \adamantane[BONDLIST]{SUBSLIST}

The adamantane skeleton scarcely takes an inner (endcyclic) double bond. Hence we have

       BONDLIST: not effective

The SUBSLIST argument takes the standard format of XΥMTEX, in which more substitution descriptors are separated from each other by a semicolon.

       SUBSLIST: list of substituents (max 10 substitution positions)
         for n = 1, 3, 5, and 7 (bridgeheads)

             n or na    :  exocyclic single bond at n-atom
         for n = 2, 4, 6, 8, 9, and 10 (bridges)
             na         :  exocyclic single bond at n-atom (axial)
             nb         :  exocyclic single bond at n-atom (equatorial)
             nD         :  exocyclic double bond at n-atom (2 and 6)

For numbers larger than 9 (two digits), you should designate the SUBSLIST as, e.g.,

               {{10}a}==Cl; ...

The definition of \@adamantane uses a picture environment, in which both bonds are substituents are put directly.

\@adamantane
\adamantane
1389 % \changes{v1.02}{1998/10/24}{The macros \cs{@adamanea} to \cs{@adamanej}
1390 % are separated from the original definition of \cs{adamantane}.}
1391 \def\adamantane{\@ifnextchar[{\@mantane}{\@damantane[Z]}}
1392 \def\@damantane[#1]#2{%
1393 \@reset@ylsw%
1394 \yladamanposition{#2}%
1395 \def\@@ylii{0}\def\@@yli{0}%
1396 \begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
1397 (1100,1300)(-550,-300){adamantane}%
1398 (550,300)%2002/4/30 by S. Fujita
1399 %bonds for an adamantane skeleton
1400 \Put@Line(0,0)(-1,4){60}%                      %bond 6-7
1401 \Put@Line(0,780)(2,-1){240}%                   %bond 2-3
1402 \Put@Line(0,780)(-2,-1){240}%                  %bond 2-1
1403 \Put@Line(-60,240)(-4,3){240}%                 %bond 7-8
1404 \Put@Line(-300,420)(1,4){60}%                  %bond 8-1
1405 \Put@Line(240,660)(-1,-4){60}%                 %bond 3-10
1406 \Put@Line(-60,240)(4,3){240}%                  %bond 10-7
1407 {\thicklines%
1408 \molfronttrue%added for v4.02 (2004/12/20)
1409 \Put@Line(300,420)(-1,4){60}%                  %bond 4-3
1410 \Put@Line(-240,660)(1,-4){60}%                 %bond 1-9
1411 \Put@Line(0,0)(1,4){60}%                       %bond 6-5
1412 \Put@Line(60,240)(4,3){240}%                   %bond 5-4
1413 \Put@Line(60,240)(-4,3){240}%                  %bond 5-9

1414 }%

1415 %substituents
1416 \@forsemicol\member:=#2\do{%
1417 \ifx\member\empty\else
1418 \expandafter\@m@mb@r\member;\relax%
1419 \expandafter\threech@r\@membera{}{}\relax%
1420 \ifx\@memberb\@yl\else
1421 \ifcase\@tmpa%0 omit
1422 \or\@adamanea% subst. on 1
1423 \or\@adamaneb% subst. on 2

1424 \or\@adamanec% subst. on 3
1425 \or\@adamaned% subst. on 4
1426 \or\@adamanee% subst. on 5
1427 \or\@adamanef% subst. on 6
1428 \or\@adamaneg% subst. on 7
1429 \or\@adamaneh% subst. on 8
1430 \or\@adamanei% subst. on 9
1431 \or\@adamanej% subst. on 10
1432 \fi%the end of ifcase
1433 \fi\fi}%
1434 \end{ShiftPicEnvB}%
1435 }%                          %end of \adamantane macro%

The command \yladamanposition is to obtain the shift values \@ylii and \@yli which are used for shifting the standard point of a substituent.

\yladamanposition
1436 \def\yladamanposition#1{%
1437 \@@ylswfalse%%%\@reset@ylsw
1438 \@forsemicol\member:=#1\do{%
1439 \if@@ylsw\else
1440 \ifx\member\empty\else
1441 \expandafter\@m@mb@r\member;\relax
1442 \expandafter\threech@r\@membera{}{}\relax
1443 \ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
1444 \if@@ylsw
1445 \ifcase\@tmpa%0 omit
1446 \or\gdef\@ylii{240}\gdef\@yli{-660}\global\@ylswtrue% subst. on 1
1447 \or\gdef\@ylii{0}\gdef\@yli{-780}\global\@ylswtrue% subst. on 2
1448 \or\gdef\@ylii{-240}\gdef\@yli{-660}\global\@ylswtrue% subst. on 3
1449 \or\gdef\@ylii{-300}\gdef\@yli{-420}\global\@ylswtrue% subst. on 4
1450 \or\gdef\@ylii{-60}\gdef\@yli{-240}\global\@ylswtrue% subst. on 5
1451 \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 6
1452 \or\gdef\@ylii{60}\gdef\@yli{-240}\global\@ylswtrue% subst. on 7
1453 \or\gdef\@ylii{300}\gdef\@yli{-420}\global\@ylswtrue% subst. on 8
1454 \or\gdef\@ylii{180}\gdef\@yli{-420}\global\@ylswtrue% subst. on 9
1455 \or\gdef\@ylii{-180}\gdef\@yli{-420}\global\@ylswtrue% subst. on 10
1456 \fi%end of ifcase
1457 \fi\fi\fi}}%

7.2 Horizontal drawing

The stereo-type skeleton of adamantane is selected to have the following specification. The \hadamantane command prints a horizontal-type formula in which one bridge-head carbon is put at the top position and a chair-form cyclohexane moiety is placed at the bottom position.

   ********************************************
   * adamantane derivatives (horizontal type) *
   ********************************************
   The following numbering is adopted in this macro.
                  1
             h //   `

//i      ` a
89          `
g||            2
||j           | b
f  7|   l     k  3
*   |   ` 10  *
6  *  5        * c
e    d`  4

*************************************************
* For preparing adamantane derivatives          *
*   with 4 substituents on bridgehead positions *
*         (1, 3, 5 and 7)                       *
*   with 12 substituents on bridge positions    *
*         (2, 4, 6, 8, 9, 10)                   *
*************************************************

The macro \hadamantane has an argument SUBSLIST as well as an optional argument BONDLIST.

\hadamantane[BONDLIST]{SUBSLIST}

The adamantane skeleton scarcely takes an inner (endcyclic) double bond. However, we can designate BONDLIST. (This point is different from the specification of the \adamantane command.

BONDLIST =
none       :  adamantane skeleton
a          :  1,2-double bond
b          :  2,3-double bond
c          :  3,4-double bond
d          :  4,5-double bond
e          :  5,6-double bond
f          :  6,7-double bond
g          :  7,8-double bond
h          :  8,1-double bond
i          :  9,1-double bond
j          :  5,9-double bond
k          :  3,10-double bond
l          :  7,10-double bond

The SUBSLIST argument takes the standard format of XΥMTEX, in which more substitution descriptors are separated from each other by a semicolon.

SUBSLIST: list of substituents (max 10 substitution positions)
for n = 1, 3, 5, and 7 (bridgeheads)

         for n = 2, 4, 6, 8, 9, and 10 (bridges)
             na         :  exocyclic single bond at n-atom (axial)
             nb         :  exocyclic single bond at n-atom (equatorial)
             nD         :  exocyclic double bond at n-atom (2 and 6)

Moreover, bond modifieer used for chair-form cyclohexanes such as nSa and nSe (see above) can be also used in the SUBSLIST of the \hdadamantane command.

For numbers larger than 9 (two digits), you should designate the SUBSLIST as, e.g.,

               {{10}a}==Cl; ...

The definition of \@hadamantane uses a picture environment, in which bonds are put directly, while subsituents are typset by using the macro \@chairiI to \@chairX defined below.

\@hadamantane
\hadamantane
1458 % *************************
1459 % * input of basic macros *
1460 % *************************
1461 \def\hadamantane{\@ifnextchar[{\@hadamantane}{\@hadamantane[H]}}
1462 \def\@hadamantane[#1]#2{%
1463 \@reset@ylsw%
1464 \ylhadamanposition{#2}%
1465 \def\@@ylii{0}\def\@@yli{0}%
1466 \begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
1467 (1600,1400)(-400,-319){hadamantane}%
1468 (400,319)%2002/4/30 by S. Fujita
1469 \thinlines%
1470  \Put@Line(0,0)(3,4){170}%          % bond 6 to 7
1471  \Put@Line(170,226)(3,-1){403}%     %      7 to 10
1472  \Put@Line(573,91)(3,1){270}%       %      10 to 3
1473 % %%%
1474  \Put@Line(170,226)(0,1){360}%      %      7 to 8
1475  \Put@Line(170,586)(3,1){270}%      %      8 to 1
1476  \Put@Line(843,181)(0,1){360}%      %      3 to 2
1477  \Put@Line(843,541)(-3,1){403}%     %      2 to 1
1478 {\thicklines%
1479  \molfronttrue
1480  \Put@Line(843,181)(-3,-4){170}%    %      3 to 4
1481  \Put@Line(673,-46)(-3,1){403}%     %      4 to 5
1482  \Put@Line(0,0)(3,1){270}%          %      6 to 5
1483 % %%%
1484  \Put@Line(270,90)(0,1){360}%       %      5 to 9
1485  \Put@Line(270,450)(3,4){170}%      %      9 to 1

1486 }%

1487 \thinlines%

1488 % inner double bonds
1489 \@tfor\member:=#1\do{%
1490 \if\member r%no endocyclic bonds
1491 \else \if\member a%
1492  \Put@Line(450,636)(3,-1){373}%     % double bond 1 to 2
1493 \else \if\member b%
1494  \Put@Line(803,206)(0,1){320}%      %             3 to 2
1495 \else \if\member c%%%a%
1496  \Put@Line(767,139)(-3,-4){110}%   %             3 to 4
1497 \else \if\member d%%%b%
1498  \Put@Line(640,-5)(-3,1){343}%      %             4 to 5
1499 \else \if\member e%%%%c%
1500  \Put@Line(240,111)(-3,-1){190}%   %             5 to 6
1501 \else \if\member f%%%d%
1502  \Put@Line(63,40)(3,4){110}%        %             6 to 7
1503 \else \if\member g%
1504  \Put@Line(200,246)(0,1){320}%      %             7 to 8
1505 \else \if\member h%
1506  \Put@Line(400,626)(-3,-1){190}%   %             8 to 1
1507 \else \if\member i%
1508  \Put@Line(450,636)(-3,-4){150}%    %             9 to 1
1509 \else \if\member j%
1510  \Put@Line(300,110)(0,1){320}%      %             5 to 9
1511 \else \if\member k%%%f%
1512  \Put@Line(768,131)(-3,-1){170}%    %             3 to 10
1513 \else \if\member l%
1514  \Put@Line(182,187)(3,-1){343}%     %             7 to 10
1515 \fi\fi\fi\fi\fi\fi%
1516 \fi\fi\fi\fi\fi\fi\fi}%

1517 % %

1518 \@forsemicol\member:=#2\do{%
1519 \ifx\member\empty\else
1520 \expandafter\@m@mb@r\member;\relax%
1521 \expandafter\threech@r\@membera{}{}%
1522 \ifx\@memberb\@yl\else
1523 \ifcase\@tmpa%                  %0 omit
1524 \or \Put@Direct(440,676){\@chairiI}%  %subst. on 1%%%9
1525 \or \Put@Direct(843,541){\@chairiII}% %subst. on 2%%10
1526 \or \@chairiIII%               %subst. on 3%%%4
1527 \or \@chairiIV%                %subst. on 4%%%3
1528 \or \@chairiV%                 %subst. on 5%%%2
1529 \or \@chairiVI%                %subst. on 6%%%1
1530 \or \@chairiVII%               %subst. on 7%%%6
1531 \or \Put@Direct(170,586){\@chairiVIII}%subst. on 8%%%8
1532 \or \Put@Direct(270,450){\@chairiIX}% %subst. on 9%%%7
1533 \or \@chairiX%                 %subst. on 10%%5
1534 \fi %end of ifcase
1535 \fi\fi%

1536 }%

1537 \end{ShiftPicEnvB}%
1538 }%               %end of \hadamantane macro
1539 % End of addition 1994/03/05 SF

The command \ylhadamanposition is to obtain the shift values \@ylii and \@yli which are used for shifting the standard point of a substituent.

\ylhadamanposition
1540 \def\ylhadamanposition#1{%
1541 \@@ylswfalse%%%\@reset@ylsw
1542 \@forsemicol\member:=#1\do{%
1543 \if@@ylsw\else
1544 \ifx\member\empty\else
1545 \expandafter\@m@mb@r\member;\relax
1546 \expandafter\threech@r\@membera{}{}\relax
1547 \ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
1548 \if@@ylsw
1549 \ifcase\@tmpa%0 omit
1550 \or\gdef\@ylii{-440}\gdef\@yli{-676}\global\@ylswtrue% subst. on 1
1551 \or\gdef\@ylii{-843}\gdef\@yli{-541}\global\@ylswtrue% subst. on 2
1552 \or\gdef\@ylii{-843}\gdef\@yli{-181}\global\@ylswtrue% subst. on 3
1553 \or\gdef\@ylii{-673}\gdef\@yli{46}\global\@ylswtrue% subst. on 4
1554 \or\gdef\@ylii{-270}\gdef\@yli{-90}\global\@ylswtrue% subst. on 5
1555 \or\gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% subst. on 6
1556 \or\gdef\@ylii{-170}\gdef\@yli{-226}\global\@ylswtrue% subst. on 7
1557 \or\gdef\@ylii{-170}\gdef\@yli{-586}\global\@ylswtrue% subst. on 8
1558 \or\gdef\@ylii{-270}\gdef\@yli{-450}\global\@ylswtrue% subst. on 9
1559 \or\gdef\@ylii{-573}\gdef\@yli{-91}\global\@ylswtrue% subst. on 10
1560 \fi%end of ifcase
1561 \fi\fi\fi}}%

Hereafter, the definitions of the commands \@chairiI to \@chairiX are described. Each of the commands can treat na-type bond modifiers as well as nSatype bond modifiers.

\@chairiVI
1562 % ********************************************************
1563 % * treatment of the chair form (inverse) of cyclohexane *
1564 % *  added March 05, 1994 by Shinsaku Fujita             *
1565 % ********************************************************
1566 % %%%%%%%%%%%%%%%
1567 % % subst. on 6 %
1568 % %%%%%%%%%%%%%%%
1569 \def\@chairiVI{%
1570 \if\@tmpb a%single bond
1571  \yl@xdiff=42
1572  \yl@ydiff=92
1573  \Put@Line(0,0)(0,-1){168}% single bond at 6 axial
1574  \putlratom{-42}{-260}{\@memberb}% left & right type
1575 \else\if\@tmpb b%single bond
1576  \yl@xdiff=16
1577  \yl@ydiff=36
1578  \Put@Line(0,0)(-5,3){144}% single bond at 6 equatorial
1579  \putlatom{-160}{50}{\@memberb}% left type
1580 \else\if\@tmpb S%single bond
1581  \ifx\@tmpc\empty%
1582  \yl@xdiff=10
1583  \yl@ydiff=90

1584  \Put@Line(0,0)(-1,-1){120}% single bond at 6
1585  \putlatom{-130}{-210}{\@memberb}% left type
1586  \else\if\@tmpc a%(a) axial
1587  \yl@xdiff=42
1588  \yl@ydiff=92
1589  \Put@Line(0,0)(0,-1){168}% single bond at 6 axial
1590  \putlratom{-42}{-260}{\@memberb}% left & right type
1591  \else\if\@tmpc e%(e) beta
1592  \yl@xdiff=16
1593  \yl@ydiff=36
1594  \Put@Line(0,0)(-5,3){144}% single bond at 6 equatorial
1595  \putlatom{-160}{50}{\@memberb}% left type
1596  \fi\fi\fi%
1597 \else \if\@tmpb D%double bond
1598  \yl@xdiff=10
1599  \yl@ydiff=90
1600  \putlatom{-130}{-210}{\@memberb}% left type
1601  \Put@Line(-10,10)(-1,-1){120}% double bond at 6
1602  \Put@Line(10,-10)(-1,-1){120}% double bond at 6
1603  \else%
1604  \yl@xdiff=10
1605  \yl@ydiff=90
1606  \putlatom{-130}{-210}{\@memberb}% left type
1607  \Put@Line(0,0)(-1,-1){120}% single bond at 6
1608 \fi\fi\fi\fi}%
\@chairiVII
1609 % %%%%%%%%%%%%%%%
1610 % % subst. on 7 %
1611 % %%%%%%%%%%%%%%%
1612 \def\@chairiVII{%
1613 \if\@tmpb a%single bond
1614  \yl@xdiff=26
1615  \yl@ydiff=46
1616  \Put@Line(170,226)(-5,-3){144}% single bond at 7 equatorial
1617  \putlatom{10}{94}{\@memberb}% left type
1618 \else\ifx\@tmpb\empty%single bond
1619  \yl@xdiff=26
1620  \yl@ydiff=46
1621  \Put@Line(170,226)(-5,-3){144}% single bond at 7 equatorial
1622  \putlatom{10}{94}{\@memberb}% left type
1623 \else\if\@tmpb S%single bond
1624  \ifx\@tmpc\empty%
1625  \yl@xdiff=10
1626  \yl@ydiff=30
1627  \Put@Line(170,226)(-1,1){120}% single bond at 7
1628  \putratom{40}{316}{\@memberb}% left type
1629  \else\if\@tmpc a%(a) axial
1630  \yl@xdiff=32
1631  \yl@ydiff=12
1632  \Put@Line(170,226)(0,1){168}% single bond at 7 axial
1633  \putlratom{138}{406}{\@memberb}% left & right type
1634  \else\if\@tmpc e%(e) beta
1635  \yl@xdiff=26

1636  \yl@ydiff=46
1637  \Put@Line(170,226)(-5,-3){144}% single bond at 7 equatorial
1638  \putlatom{10}{94}{\@memberb}% left type
1639  \fi\fi\fi%
1640 \else \if\@tmpb D%double bond
1641  \yl@xdiff=10
1642  \yl@ydiff=30
1643  \putlatom{40}{316}{\@memberb}% left type
1644  \Put@Line(160,216)(-1,1){120}% double bond at 7
1645  \Put@Line(180,236)(-1,1){120}% double bond at 7
1646  \else%
1647  \yl@xdiff=10
1648  \yl@ydiff=30
1649  \putlatom{40}{316}{\@memberb}% left type
1650  \Put@Line(170,226)(-1,1){120}% single bond at 7
1651 \fi\fi\fi\fi}%
\@chairiX
1652 % %%%%%%%%%%%%%%%%
1653 % % subst. on 10 %
1654 % %%%%%%%%%%%%%%%%
1655 \def\@chairiX{%
1656 \if\@tmpb a%single bond
1657  \yl@xdiff=40
1658  \yl@ydiff=104
1659  \Put@Line(573,91)(0,-1){168}% single bond at 5 axial
1660  \putlratom{533}{-181}{\@memberb}% left type
1661 \else\if\@tmpb b%single bond
1662  \yl@xdiff=-36
1663  \yl@ydiff=3
1664  \Put@Line(573,91)(5,3){144}% single bond at 5 equatorial
1665  \putlatom{753}{180}{\@memberb}% left type
1666 \else\if\@tmpb S%single bond
1667  \ifx\@tmpc\empty%
1668  \yl@xdiff=-10
1669  \yl@ydiff=56
1670  \Put@Line(573,91)(5,-4){170}% single bond at 5
1671  \putratom{753}{-101}{\@memberb}% right type
1672  \else\if\@tmpc a%(a) axial
1673  \yl@xdiff=40
1674  \yl@ydiff=104
1675  \Put@Line(573,91)(0,-1){168}% single bond at 5 axial
1676  \putlratom{533}{-181}{\@memberb}% left type
1677  \else\if\@tmpc e%(e) beta
1678  \yl@xdiff=-36
1679  \yl@ydiff=3
1680  \Put@Line(573,91)(5,3){144}% single bond at 5 equatorial
1681  \putlatom{753}{180}{\@memberb}% left type
1682  \fi\fi\fi%
1683 \else \if\@tmpb D%double bond
1684  \yl@xdiff=10
1685  \yl@ydiff=86
1686  \putratom{733}{-141}{\@memberb}% right type
1687  \Put@Line(563,83)(5,-4){170}% double bond at 5

1688  \Put@Line(583,99)(5,-4){170}% double bond at 5
1689  \else%
1690  \yl@xdiff=-10
1691  \yl@ydiff=76
1692  \Put@Line(573,91)(5,-4){170}% single bond at 5
1693  \putratom{753}{-121}{\@memberb}% right type
1694 \fi\fi\fi\fi}%
\@chairiIII
1695 % %%%%%%%%%%%%%%%
1696 % % subst. on 3 %
1697 % %%%%%%%%%%%%%%%
1698 \def\@chairiIII{%
1699 \if\@tmpb a%single bond
1700  \yl@xdiff=-16
1701  \yl@ydiff=64
1702  \Put@Line(843,181)(5,-3){144}% single bond at 3 equatorial
1703  \putratom{1003}{31}{\@memberb}% right type
1704 \else\ifx\@tmpb\empty%single bond
1705  \yl@xdiff=-16
1706  \yl@ydiff=64
1707  \Put@Line(843,181)(5,-3){144}% single bond at 3 equatorial
1708  \putratom{1003}{31}{\@memberb}% right type
1709 \else\if\@tmpb S%single bond
1710  \ifx\@tmpc\empty%
1711  \yl@xdiff=10
1712  \yl@ydiff=30
1713  \Put@Line(843,181)(1,1){120}% single bond at 3
1714  \putratom{953}{271}{\@memberb}% right type
1715  \else\if\@tmpc a%(a) axial
1716  \yl@xdiff=42
1717  \yl@ydiff=11
1718  \Put@Line(843,181)(0,1){168}% single bond at 3 axial
1719  \putlratom{801}{360}{\@memberb}% left & right type
1720  \else\if\@tmpc e%(e) beta
1721  \yl@xdiff=-16
1722  \yl@ydiff=64
1723  \Put@Line(843,181)(5,-3){144}% single bond at 3 equatorial
1724  \putratom{1003}{31}{\@memberb}% right type
1725  \fi\fi\fi%
1726 \else \if\@tmpb D%double bond
1727  \yl@xdiff=0
1728  \yl@ydiff=30
1729  \putratom{953}{271}{\@memberb}% right type
1730  \Put@Line(833,191)(1,1){120}% double bond at 3
1731  \Put@Line(853,171)(1,1){120}% double bond at 3
1732  \else%
1733  \yl@xdiff=10
1734  \yl@ydiff=30
1735  \Put@Line(843,181)(1,1){120}% single bond at 3
1736  \putratom{953}{271}{\@memberb}% right type
1737 \fi\fi\fi\fi}%
\@chairiIV

1738 % %%%%%%%%%%%%%%%
1739 % % subst. on 4 %
1740 % %%%%%%%%%%%%%%%
1741 \def\@chairiIV{%
1742 \if\@tmpb a%single bond
1743  \yl@xdiff=40
1744  \yl@ydiff=104
1745  \Put@Line(673,-46)(0,-1){168}% single bond at 4 axial
1746  \putlratom{633}{-318}{\@memberb}% left & right type
1747 \else\if\@tmpb b%single bond
1748  \yl@xdiff=-6
1749  \yl@ydiff=17
1750  \Put@Line(673,-46)(5,3){144}% single bond at 4 equatorial
1751  \putratom{823}{23}{\@memberb}% right type
1752 \else\if\@tmpb S%single bond
1753  \ifx\@tmpc\empty%
1754  \yl@xdiff=-10
1755  \yl@ydiff=92
1756  \Put@Line(673,-46)(1,-1){120}% single bond at 4
1757  \putratom{803}{-258}{\@memberb}% right type
1758  \else\if\@tmpc a%(a) axial
1759  \yl@xdiff=40
1760  \yl@ydiff=104
1761  \Put@Line(673,-46)(0,-1){168}% single bond at 4 axial
1762  \putlratom{633}{-318}{\@memberb}% left & right type
1763  \else\if\@tmpc e%(e) beta
1764  \yl@xdiff=-6
1765  \yl@ydiff=17
1766  \Put@Line(673,-46)(5,3){144}% single bond at 4 equatorial
1767  \putratom{823}{23}{\@memberb}% right type
1768  \fi\fi\fi%
1769 \else \if\@tmpb D%double bond
1770  \yl@xdiff=-10
1771  \yl@ydiff=92
1772  \putratom{803}{-258}{\@memberb}%  right type
1773  \Put@Line(663,-53)(1,-1){120}% double bond at 4
1774  \Put@Line(683,-38)(1,-1){120}% double bond at 4
1775  \else%
1776  \yl@xdiff=-10
1777  \yl@ydiff=76
1778  \Put@Line(673,-46)(5,-4){170}% single bond at 4
1779  \putratom{853}{-258}{\@memberb}% right type
1780 \fi\fi\fi\fi}%
\@chairiV
1781 % %%%%%%%%%%%%%%%
1782 % % subst. on 5 %
1783 % %%%%%%%%%%%%%%%
1784 \def\@chairiV{%
1785 \if\@tmpb a%single bond
1786  \yl@xdiff=26
1787  \yl@ydiff=102
1788  \Put@Line(270,90)(-5,-3){144}% single bond at 5 equatorial
1789  \putratom{100}{-98}{\@memberb}% left type

1790 \else\ifx\@tmpb\empty%single bond
1791  \yl@xdiff=26
1792  \yl@ydiff=102
1793  \Put@Line(270,90)(-5,-3){144}% single bond at 5 equatorial
1794  \putratom{100}{-98}{\@memberb}% left type
1795 \else\if\@tmpb S%single bond
1796  \ifx\@tmpc\empty%
1797  \yl@xdiff=0
1798  \yl@ydiff=46
1799  \Put@Line(270,90)(-5,4){170}% single bond at 5
1800  \putlatom{100}{180}{\@memberb}% left type
1801  \else\if\@tmpc a%(a) axial
1802  \yl@xdiff=32
1803  \yl@ydiff=12
1804  \Put@Line(270,90)(0,1){168}% single bond at 5 axial
1805  \putlratom{238}{270}{\@memberb}% left type
1806  \else\if\@tmpc e%(e) beta
1807  \yl@xdiff=36
1808  \yl@ydiff=102
1809  \Put@Line(270,90)(-5,-3){144}% single bond at 5 equatorial
1810  \putratom{100}{-98}{\@memberb}% left type
1811  \fi\fi\fi%
1812 \else \if\@tmpb D%double bond
1813  \yl@xdiff=0
1814  \yl@ydiff=36
1815  \putlatom{100}{200}{\@memberb}% left or right type
1816  \Put@Line(260,80)(-5,4){170}% double bond at 5
1817  \Put@Line(280,100)(-5,4){170}% double bond at 5
1818  \else%
1819  \yl@xdiff=0
1820  \yl@ydiff=26
1821  \putlatom{100}{200}{\@memberb}% left type
1822  \Put@Line(270,90)(-5,4){170}% single bond at 5
1823 \fi\fi\fi\fi}%
\@chairiI
1824 % %%%%%%%%%%%%%%%
1825 % % subst. on 1 %
1826 % %%%%%%%%%%%%%%%
1827 \def\@chairiI{%
1828 \if\@tmpb a%single bond
1829  \yl@xdiff=42
1830  \yl@ydiff=-10
1831  \Put@Line(0,0)(0,1){168}% single bond at 1 axial
1832  \putlratom{-42}{178}{\@memberb}% left & right type
1833 \else\ifx\@tmpb\empty%
1834  \yl@xdiff=42
1835  \yl@ydiff=-10
1836  \Put@Line(0,0)(0,1){168}% single bond at 1 axial
1837  \putlratom{-42}{178}{\@memberb}% left & right type
1838 \else\if\@tmpb S%single bond
1839  \ifx\@tmpc\empty%
1840  \yl@xdiff=42
1841  \yl@ydiff=-10

1842  \Put@Line(0,0)(0,1){168}% single bond at 1 axial
1843  \putlratom{-42}{178}{\@memberb}% left & right type
1844  \else\if\@tmpc a%(a) axial
1845  \yl@xdiff=42
1846  \yl@ydiff=-10
1847  \Put@Line(0,0)(0,1){168}% single bond at 1 axial
1848  \putlratom{-42}{178}{\@memberb}% left & right type
1849  \else\if\@tmpc e%(e) beta
1850  \yl@xdiff=42
1851  \yl@ydiff=-10
1852  \Put@Line(0,0)(0,1){168}% single bond at 1 axial
1853  \putlratom{-42}{178}{\@memberb}% left & right type
1854  \fi\fi\fi%
1855 \else \if\@tmpb D%double bond
1856  \yl@xdiff=42
1857  \yl@ydiff=-10
1858  \Put@Line(0,0)(0,1){168}% single bond at 1 axial
1859  \putlratom{-42}{178}{\@memberb}% left & right type
1860  \else%
1861  \yl@xdiff=42
1862  \yl@ydiff=-10
1863  \Put@Line(0,0)(0,1){168}% single bond at 1 axial
1864  \putlratom{-42}{178}{\@memberb}% left & right type
1865 \fi\fi\fi\fi}%
\@chairiII
1866 % %%%%%%%%%%%%%%%%
1867 % % subst. on 2 %
1868 % %%%%%%%%%%%%%%%%
1869 \def\@chairiII{%
1870 \if\@tmpb a%single bond
1871  \yl@xdiff=-10
1872  \yl@ydiff=13
1873  \Put@Line(0,0)(3,1){190}% single bond at 6 equatorial
1874  \putratom{200}{50}{\@memberb}% right type
1875 \else\if\@tmpb b%single bond
1876  \yl@xdiff=-10
1877  \yl@ydiff=0
1878  \Put@Line(0,0)(3,4){120}%          % bond 1 to 6
1879  \putratom{130}{160}{\@memberb}% left type
1880 \else\if\@tmpb S%single bond
1881  \ifx\@tmpc\empty%
1882  \yl@xdiff=-10
1883  \yl@ydiff=-10
1884  \Put@Line(0,0)(1,1){120}% single bond at 1
1885  \putratom{130}{130}{\@memberb}% left type
1886  \else\if\@tmpc a%(a) axial
1887  \yl@xdiff=-10
1888  \yl@ydiff=0
1889  \Put@Line(0,0)(3,4){120}%          % bond 1 to 6
1890  \putratom{130}{160}{\@memberb}% left type
1891  \else\if\@tmpc e%(e) beta
1892  \yl@xdiff=-10
1893  \yl@ydiff=13

1894  \Put@Line(0,0)(3,1){190}% single bond at 6 equatorial
1895  \putratom{200}{50}{\@memberb}% right type
1896  \fi\fi\fi%
1897 \else \if\@tmpb D%double bond
1898  \yl@xdiff=-10
1899  \yl@ydiff=-10
1900  \putratom{130}{130}{\@memberb}% left type
1901  \Put@Line(-10,10)(1,1){120}% double bond at 1
1902  \Put@Line(10,-10)(1,1){120}% double bond at 1
1903  \else%
1904  \yl@xdiff=-10
1905  \yl@ydiff=-10
1906  \putratom{130}{130}{\@memberb}% left type
1907  \Put@Line(0,0)(1,1){120}% single bond at 1
1908 \fi\fi\fi\fi}%
\@chairigVIII
1909 % %%%%%%%%%%%%%%%
1910 % % subst. on 8 %
1911 % %%%%%%%%%%%%%%%
1912 \def\@chairiVIII{%
1913 \if\@tmpb a%single bond
1914  \yl@xdiff=16
1915  \yl@ydiff=36
1916  \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial
1917  \putlatom{-160}{50}{\@memberb}% left type
1918 \else\if\@tmpb b%single bond
1919  \yl@xdiff=-10
1920  \yl@ydiff=0
1921  \Put@Line(0,0)(3,4){120}%          % bond 1 to 6
1922  \putratom{130}{160}{\@memberb}% left type
1923 \else\if\@tmpb S%single bond
1924  \ifx\@tmpc\empty%
1925  \yl@xdiff=4
1926  \yl@ydiff=36
1927  \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial
1928  \putlatom{-140}{50}{\@memberb}% left type
1929  \else\if\@tmpc e% right-hand
1930  \yl@xdiff=-10
1931  \yl@ydiff=0
1932  \Put@Line(0,0)(3,4){120}%          % bond 1 to 6
1933  \putratom{130}{160}{\@memberb}% left type
1934  \else\if\@tmpc a% left-hand
1935  \yl@xdiff=16
1936  \yl@ydiff=36
1937  \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial
1938  \putlatom{-160}{50}{\@memberb}% left type
1939  \fi\fi\fi%
1940 \else \if\@tmpb D%double bond
1941  \yl@xdiff=4
1942  \yl@ydiff=26
1943  \putlatom{-140}{60}{\@memberb}% left type
1944  \Put@Line(10,10)(-5,3){144}% single bond at 1 equatorial
1945  \Put@Line(0,-10)(-5,3){144}% single bond at 1 equatorial

1946  \else%
1947  \yl@xdiff=4
1948  \yl@ydiff=36
1949  \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial
1950  \putlatom{-140}{50}{\@memberb}% left type
1951 \fi\fi\fi\fi}%
\@chairiIX
1952 % %%%%%%%%%%%%%%%
1953 % % subst. on 9 %
1954 % %%%%%%%%%%%%%%%
1955 \def\@chairiIX{%
1956 \if\@tmpb a%single bond
1957  \yl@xdiff=16
1958  \yl@ydiff=36
1959  \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial
1960  \putlatom{-160}{50}{\@memberb}% left type
1961 \else\if\@tmpb b%single bond
1962  \yl@xdiff=-16
1963  \yl@ydiff=36
1964  \Put@Line(0,0)(5,3){144}% single bond at 6 equatorial
1965  \putratom{160}{50}{\@memberb}% left type
1966 \else\if\@tmpb S%single bond
1967  \ifx\@tmpc\empty%
1968  \yl@xdiff=4
1969  \yl@ydiff=36
1970  \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial
1971  \putlatom{-140}{50}{\@memberb}% left type
1972  \else\if\@tmpc e% right-hand
1973  \yl@xdiff=-16
1974  \yl@ydiff=36
1975  \Put@Line(0,0)(5,3){144}% single bond at 6 equatorial
1976  \putratom{160}{50}{\@memberb}% left type
1977  \else\if\@tmpc a% left-hand
1978  \yl@xdiff=16
1979  \yl@ydiff=36
1980  \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial
1981  \putlatom{-160}{50}{\@memberb}% left type
1982  \fi\fi\fi%
1983 \else \if\@tmpb D%double bond
1984  \yl@xdiff=4
1985  \yl@ydiff=36
1986  \putlatom{-140}{50}{\@memberb}% left type
1987  \Put@Line(10,10)(-5,3){144}% single bond at 1 equatorial
1988  \Put@Line(0,-10)(-5,3){144}% single bond at 1 equatorial
1989  \else%
1990  \yl@xdiff=4
1991  \yl@ydiff=36
1992  \Put@Line(0,0)(-5,3){144}% single bond at 1 equatorial
1993  \putlatom{-140}{50}{\@memberb}% left type
1994 \fi\fi\fi\fi}%

1995 ⟨/ccycle⟩