From b3a6b65dab6c25c094491076fe3192309128a91b Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Fri, 13 Jan 2006 00:11:48 +0000
Subject: xymtex

git-svn-id: svn://tug.org/texlive/trunk@1463 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/xymtex/hetaromh.sty | 2435 +++++++++++++++++++++++
 1 file changed, 2435 insertions(+)
 create mode 100644 Master/texmf-dist/tex/latex/xymtex/hetaromh.sty

(limited to 'Master/texmf-dist/tex/latex/xymtex/hetaromh.sty')

diff --git a/Master/texmf-dist/tex/latex/xymtex/hetaromh.sty b/Master/texmf-dist/tex/latex/xymtex/hetaromh.sty
new file mode 100644
index 00000000000..23f00dbb23b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/xymtex/hetaromh.sty
@@ -0,0 +1,2435 @@
+%%
+%% This is file `hetaromh.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hetaromh.dtx  (with options: `hetaromh')
+%% 
+%% This is a generated file.
+%% 
+%% Copyright 1996,1998,2000 by Shinsaku Fujita
+%% 
+%% This file is part of the XyMTeX system.
+%% =======================================
+%% 
+%% Version 1.01 Released on August 16, 1996
+%% Version 1.02 Released on October 31, 1996 (private version)
+%% Version 2.00 Released on December 25, 1998
+%% Version 2.00a Released on November 11, 2000
+%% 
+%% Copyright (C) 1996, 1998, 2000 by Shinsaku Fujita, all rights reserved.
+%% This style file is created for drawing chemical structural formulas
+%% This style file is to be contained in the ``xymtex'' directory which
+%% is an input directory for TeX.
+%% 
+%% Copying of this file is authorized only if either
+%% 
+%%  (1) you make absolutely no changes to your copy, including name and
+%%      directory name
+%%  (2) if you do make changes,
+%%      (a) you name it something other than the names included in the
+%%          ``xymtex'' directory and
+%%      (b) you acknowledge the original name.
+%%  This restriction ensures that all standard styles are identical.
+%% 
+%% =======================================
+%% 
+%% This file contains several codes modified from latex.tex (LaTeX2.09)
+%% and from latex.ltx (a LaTeX2e), the reused parts of which are subject to
+%% Copyright 1994 the LaTeX3 project and the individual authors (For further
+%% copyright information see the file legal.txt of the LaTeX2e standard
+%% distribution, and any other copyright indicated in this file.)
+%% 
+%% File: hetaromh.dtx
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% \CharacterTable
+%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00}
+\typeout{       -- Released December 25, 1998 by Shinsaku Fujita}
+\def\j@urnalname{hetaromh}
+\def\versi@ndate{November 11, 2000}
+\def\versi@nno{ver2.00a}
+\def\copyrighth@lder{SF} % Shinsaku Fujita
+\typeout{XyMTeX Macro File `\j@urnalname' (\versi@nno) <\versi@ndate>%
+\space[\copyrighth@lder]}
+\@ifundefined{setsixringv}{\input chemstr.sty\relax}{}%
+\@ifundefined{test@vertix@decavi}{\input hetarom.sty\relax}{}%
+\unitlength=0.1pt%
+\iniatom%
+\def\hbonda{%
+  \ifx\aaa\empty%
+   \ifx\bbb\empty%
+     \put(42,6){\line(3,5){78}}%           %double bond 1-2
+   \else%
+     \put(42,6){\line(3,5){62}}%           %double bond 1-2
+   \fi%
+  \else%
+   \ifx\bbb\empty%
+     \put(57,36){\line(3,5){62}}%          %double bond 1-2
+   \else%
+     \put(57,36){\line(3,5){62}}%          %double bond 1-2
+   \fi\fi}%
+\def\hbondf{%
+  \ifx\aaa\empty%
+   \ifx\fff\empty%
+    \put(42,-6){\line(3,-5){78}}%          %double bond 1-6
+   \else%
+     \put(42,-6){\line(3,-5){62}}%         %double bond 1-6
+   \fi%
+  \else%
+   \ifx\fff\empty%
+     \put(57,-36){\line(3,-5){62}}%        %double bond 1-6
+   \else%
+     \put(57,-36){\line(3,-5){62}}%        %double bond 1-6
+   \fi\fi}%
+ \def\hbondb{%
+  \ifx\bbb\empty%
+   \ifx\ccc\empty%
+    \put(129,138){\line(1,0){148}}%        %double bond 2-3
+   \else%
+    \put(129,138){\line(1,0){134}}%        %double bond 3-2
+   \fi%
+  \else%
+   \ifx\ccc\empty%
+    \put(143,138){\line(1,0){134}}%        %double bond 3-2
+   \else%
+    \put(143,138){\line(1,0){110}}%        %double bond 3-2
+   \fi\fi}%
+ \def\hbondc{%
+  \ifx\ddd\empty%
+   \ifx\ccc\empty%
+    \put(364,6){\line(-3,5){78}}%          %double bond 4-3
+   \else%
+    \put(364,6){\line(-3,5){62}}%          %double bond 4-3
+   \fi%
+  \else%
+   \ifx\ccc\empty%
+    \put(349,36){\line(-3,5){62}}%         %double bond 4-3
+   \else%
+    \put(349,36){\line(-3,5){62}}%         %double bond 4-3
+   \fi\fi}%
+ \def\hbondd{%
+  \ifx\ddd\empty%
+   \ifx\eee\empty%
+    \put(364,-6){\line(-3,-5){78}}%        %double bond 4-5
+   \else%
+    \put(364,-6){\line(-3,-5){62}}%        %double bond 4-5
+   \fi%
+  \else%
+   \ifx\eee\empty%
+    \put(349,-36){\line(-3,-5){62}}%       %double bond 4-5
+   \else%
+    \put(349,-36){\line(-3,-5){62}}%       %double bond 4-5
+   \fi\fi}%
+\def\hbonde{%
+  \ifx\fff\empty%
+   \ifx\eee\empty%
+    \put(129,-138){\line(1,0){148}}%       %double bond 6-5
+   \else%
+    \put(129,-138){\line(1,0){134}}%       %double bond 5-6
+   \fi%
+  \else%
+   \ifx\eee\empty%
+    \put(143,-138){\line(1,0){134}}%       %double bond 5-6
+   \else%
+    \put(143,-138){\line(1,0){110}}%       %double bond 5-6
+   \fi\fi}%
+\def\hbondvert{%
+  \ifx\fff\empty%
+    \ifx\bbb\empty%
+     \put(136,-138){\line(0,1){277}}%      %double bond 4-3
+    \else%
+     \put(136,-138){\line(0,1){258}}%      %double bond 4-3
+    \fi%
+  \else%
+    \ifx\bbb\empty%
+     \put(136,-120){\line(0,1){258}}%      %double bond 4-3
+    \else
+     \put(136,-120){\line(0,1){239}}%      %double bond 4-3
+    \fi\fi}%
+\def\hbondverti{%
+  \ifx\eee\empty%
+    \ifx\ccc\empty%
+     \put(270,-138){\line(0,0){277}}%      %double bond 4-3
+    \else%
+     \put(270,-138){\line(0,1){258}}%      %double bond 4-3
+    \fi%
+  \else%
+    \ifx\ccc\empty%
+     \put(270,-120){\line(0,1){258}}%      %double bond 4-3
+    \else%
+     \put(270,-120){\line(0,1){239}}%      %double bond 4-3
+    \fi\fi}%
+\def\hskbonda{%
+  \ifx\aaa\empty%
+    \ifx\bbb\empty%
+     \put(0,0){\line(3,5){103}}%           %bond 1-2
+    \else%
+     \put(0,0){\line(3,5){79}}%            %bond 1-2
+    \fi%
+   \else%
+    \ifx\bbb\empty%
+     \put(24,40){\line(3,5){79}}%          %bond 1-2
+    \else%
+     \put(24,40){\line(3,5){62}}%          %bond 1-2
+    \fi\fi}%
+\def\hskbondf{%
+  \ifx\aaa\empty%
+    \ifx\fff\empty
+     \put(0,0){\line(3,-5){103}}%          %bond 1-6
+    \else%
+     \put(0,0){\line(3,-5){79}}%           %bond 1-6
+    \fi%
+   \else%
+    \ifx\fff\empty%
+     \put(24,-40){\line(3,-5){79}}%        %bond 1-6
+    \else%
+     \put(24,-40){\line(3,-5){62}}%        %bond 1-6
+    \fi\fi}%
+\def\hskbondc{%
+  \ifx\ddd\empty%
+    \ifx\ccc\empty%
+    \put(406,0){\line(-3,5){103}}%         %bond 4-3
+    \else%
+     \put(406,0){\line(-3,5){79}}%         %bond 4-3
+    \fi%
+  \else%
+    \ifx\ccc\empty%
+     \put(382,40){\line(-3,5){79}}%        %bond 4-3
+    \else%
+     \put(382,40){\line(-3,5){62}}%        %bond 4-3
+    \fi\fi}%
+\def\hskbondd{%
+  \ifx\ddd\empty%
+    \ifx\eee\empty%
+     \put(406,0){\line(-3,-5){103}}%       %bond 4-5
+    \else%
+     \put(406,0){\line(-3,-5){79}}%        %bond 4-5
+    \fi%
+  \else%
+    \ifx\eee\empty%
+     \put(382,-40){\line(-3,-5){79}}%      %bond 4-5
+    \else%
+     \put(382,-40){\line(-3,-5){62}}%      %bond 4-5
+    \fi\fi}%
+\def\hskbondb{%
+  \ifx\bbb\empty%
+    \ifx\ccc\empty%
+     \put(103,171){\line(1,0){200}}%       %bond 2-3
+    \else%
+     \put(103,171){\line(1,0){160}}%       %bond 3-2
+    \fi%
+  \else%
+    \ifx\ccc\empty%
+     \put(143,171){\line(1,0){160}}%       %bond 3-2
+    \else%
+     \put(143,171){\line(1,0){120}}%       %bond 3-2
+    \fi\fi}%
+\def\hskbonde{%
+  \ifx\eee\empty%
+    \ifx\fff\empty%
+     \put(103,-171){\line(1,0){200}}%      %bond 6-5
+    \else%
+     \put(143,-171){\line(1,0){160}}%      %bond 5-6
+    \fi%
+  \else%
+    \ifx\fff\empty%
+     \put(103,-171){\line(1,0){160}}%      %bond 5-6
+    \else%
+     \put(143,-171){\line(1,0){120}}%      %bond 5-6
+    \fi\fi}%
+\def\hskbondvert{%
+  \ifx\fff\empty%
+    \ifx\bbb\empty%
+     \put(103,-171){\line(0,1){342}}%      %bond 4-3
+    \else%
+     \put(103,-171){\line(0,1){300}}%      %bond 4-3
+    \fi%
+  \else%
+    \ifx\bbb\empty%
+     \put(103,171){\line(0,-1){300}}%      %bond 4-3
+    \else%
+     \put(103,-129){\line(0,1){258}}%      %bond 4-3
+    \fi\fi}%
+\def\hskbondverti{%
+  \ifx\eee\empty%
+    \ifx\ccc\empty%
+     \put(303,-171){\line(0,1){342}}%      %bond 4-3
+    \else%
+     \put(303,-171){\line(0,1){300}}%      %bond 4-3
+    \fi%
+  \else%
+    \ifx\ccc\empty%
+     \put(303,171){\line(0,-1){300}}%      %bond 4-3
+    \else%
+     \put(303,-129){\line(0,1){258}}%      %bond 4-3
+    \fi\fi}%
+\def\dothskbonda{%
+  \ifx\aaa\empty%
+    \ifx\bbb\empty%
+       \@ifundefined{dottedline}{%
+         \put(0,0){\line(3,5){103}}%           %bond 1-2
+           }{{\thicklines%
+              \dottedline{20}(0,0)(103,171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+         \put(0,0){\line(3,5){79}}%            %bond 1-2
+           }{{\thicklines%
+              \dottedline{20}(0,0)(79,132)}}%
+    \fi%
+   \else%
+    \ifx\bbb\empty%
+       \@ifundefined{dottedline}{%
+         \put(24,40){\line(3,5){79}}%          %bond 1-2
+           }{{\thicklines%
+              \dottedline{20}(24,40)(103,171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+         \put(24,40){\line(3,5){62}}%          %bond 1-2
+           }{{\thicklines%
+              \dottedline{20}(24,40)(86,143)}}%
+    \fi\fi}%
+\def\dothskbondb{%
+  \ifx\bbb\empty%
+    \ifx\ccc\empty%
+       \@ifundefined{dottedline}{%
+        \put(103,171){\line(1,0){200}}%       %bond 2-3
+           }{{\thicklines%
+              \dottedline{20}(103,171)(303,171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(103,171){\line(1,0){160}}%       %bond 3-2
+           }{{\thicklines%
+              \dottedline{20}(103,171)(263,171)}}%
+    \fi%
+  \else%
+    \ifx\ccc\empty%
+       \@ifundefined{dottedline}{%
+        \put(143,171){\line(1,0){160}}%       %bond 3-2
+           }{{\thicklines%
+              \dottedline{20}(143,171)(303,171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(143,171){\line(1,0){120}}%       %bond 3-2
+           }{{\thicklines%
+              \dottedline{20}(143,171)(263,171)}}%
+    \fi\fi}%
+\def\dothskbondc{%
+  \ifx\ddd\empty%
+    \ifx\ccc\empty%
+       \@ifundefined{dottedline}{%
+        \put(406,0){\line(-3,5){103}}%         %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(406,0)(303,171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(406,0){\line(-3,5){79}}%         %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(406,0)(327,132)}}%
+    \fi%
+  \else%
+    \ifx\ccc\empty%
+       \@ifundefined{dottedline}{%
+        \put(382,40){\line(-3,5){79}}%        %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(382,40)(303,171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(382,40){\line(-3,5){62}}%        %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(382,40)(320,143)}}%
+    \fi\fi}%
+\def\dothskbondd{%
+  \ifx\ddd\empty%
+    \ifx\eee\empty%
+       \@ifundefined{dottedline}{%
+        \put(406,0){\line(-3,-5){103}}%       %bond 4-5
+           }{{\thicklines%
+              \dottedline{20}(406,0)(303,-171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(406,0){\line(-3,-5){79}}%        %bond 4-5
+           }{{\thicklines%
+              \dottedline{20}(406,0)(327,-132)}}%
+    \fi%
+  \else%
+    \ifx\eee\empty%
+       \@ifundefined{dottedline}{%
+        \put(382,-40){\line(-3,-5){79}}%      %bond 4-5
+           }{{\thicklines%
+              \dottedline{20}(382,-40)(303,-171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(382,-40){\line(-3,-5){62}}%      %bond 4-5
+           }{{\thicklines%
+              \dottedline{20}(382,-40)(320,-143)}}%
+    \fi\fi}%
+\def\dothskbonde{%
+  \ifx\eee\empty%
+    \ifx\fff\empty%
+       \@ifundefined{dottedline}{%
+        \put(103,-171){\line(1,0){200}}%      %bond 6-5
+           }{{\thicklines%
+              \dottedline{20}(103,-171)(303,-171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(143,-171){\line(1,0){160}}%      %bond 5-6
+           }{{\thicklines%
+              \dottedline{20}(143,-171)(303,-171)}}%
+    \fi%
+  \else%
+    \ifx\fff\empty%
+       \@ifundefined{dottedline}{%
+        \put(103,-171){\line(1,0){160}}%      %bond 5-6
+           }{{\thicklines%
+              \dottedline{20}(103,-171)(263,-171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(143,-171){\line(1,0){120}}%      %bond 5-6
+           }{{\thicklines%
+              \dottedline{20}(143,-171)(263,-171)}}%
+    \fi\fi}%
+\def\dothskbondf{%
+  \ifx\aaa\empty%
+    \ifx\fff\empty
+       \@ifundefined{dottedline}{%
+        \put(0,0){\line(3,-5){103}}%          %bond 1-6
+           }{{\thicklines%
+              \dottedline{20}(0,0)(103,-171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(0,0){\line(3,-5){79}}%           %bond 1-6
+           }{{\thicklines%
+              \dottedline{20}(0,0)(79,-131)}}%
+    \fi%
+   \else%
+    \ifx\fff\empty%
+       \@ifundefined{dottedline}{%
+        \put(24,-40){\line(3,-5){79}}%        %bond 1-6
+           }{{\thicklines%
+              \dottedline{20}(24,-40)(103,-171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(24,-40){\line(3,-5){62}}%        %bond 1-6
+           }{{\thicklines%
+              \dottedline{20}(24,-40)(86,-143)}}%
+    \fi\fi}%
+\def\dothskbondvert{%
+  \ifx\fff\empty%
+    \ifx\bbb\empty%
+       \@ifundefined{dottedline}{%
+        \put(103,-171){\line(0,1){342}}%      %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(103,-171)(103,171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(103,-171){\line(0,1){300}}%      %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(103,-171)(103,129)}}%
+    \fi%
+  \else%
+    \ifx\bbb\empty%
+       \@ifundefined{dottedline}{%
+        \put(103,171){\line(0,-1){300}}%      %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(103,171)(103,-129)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(103,-129){\line(0,1){258}}%      %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(103,-129)(103,129)}}%
+    \fi\fi}%
+\def\dothskbondverti{%
+  \ifx\eee\empty%
+    \ifx\ccc\empty%
+       \@ifundefined{dottedline}{%
+        \put(303,-171){\line(0,1){342}}%      %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(303,-171)(303,171)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(303,-171){\line(0,1){300}}%      %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(303,-171)(303,129)}}%
+    \fi%
+  \else%
+    \ifx\ccc\empty%
+       \@ifundefined{dottedline}{%
+        \put(303,171){\line(0,-1){300}}%      %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(303,171)(303,-129)}}%
+    \else%
+       \@ifundefined{dottedline}{%
+        \put(303,-129){\line(0,1){258}}%      %bond 4-3
+           }{{\thicklines%
+              \dottedline{20}(303,-129)(303,129)}}%
+    \fi\fi}%
+\def\set@skel@bondh#1#2#3{%
+ \expandafter\if\csname @#2#2#2\endcsname #2\relax%OK
+                               % \if\@aaa #2\relax%OK
+  \@skbondlistfalse
+  \@tfor\member:=#1\do{%
+   \expandafter\twoCH@@R\member//
+    \if\@@tmpa #2\relax%
+      \if\@@tmpb A\relax%
+        \expandafter\csname dothskbond#3\endcsname% \dothskbonda etc.
+        \@skbondlisttrue
+      \else\if\@@tmpb B\relax%
+        {\thicklines
+        \expandafter\csname hskbond#3\endcsname% \hskbonda etc.
+        }%
+        \@skbondlisttrue
+      \fi\fi
+     \fi%
+    }%
+   \if@skbondlist\else
+     {\thinlines
+        \expandafter\csname hskbond#3\endcsname% \hskbonda etc.
+     }%
+   \fi%
+  \else
+    \expandafter\ifx\csname @#2#2#2\endcsname \empty\relax%
+                                %    \ifx\@aaa\empty\relax
+    \@tfor\member:=#1\do{%
+     \expandafter\twoCH@@R\member//
+      \if\@@tmpa #2\relax%
+       \XyMTeXWarning{Unavailable bond `#2' in SKBONDLIST}\fi
+    }%
+  \fi\fi
+}% end of \set@skel@bondh
+\def\sixheteroh{\@ifnextchar({\@six@heteroh(@}{\@six@heteroh(@)}}
+\def\@six@heteroh(#1){\@ifnextchar[{\@six@@heteroh(#1)[@}%
+{\@six@@heteroh(#1)[@]}}
+\def\@six@@heteroh(#1)[#2]#3#4{\@ifnextchar[%
+{\@sixheteroh(#1)[#2]{#3}{#4}[@}%
+{\@sixheteroh(#1)[#2]{#3}{#4}[@]}}
+\def\@sixheteroh(#1)[#2]#3#4[#5]{%
+\iniatom\iniflag%initialize
+\test@vrtx@sixh{#3}%
+\@reset@ylsw%
+\ylpositionh{#4}{0}{0}{7}{0}%
+\if@ylsw
+ \yl@shiftii=\@ylii
+ \yl@shifti=\@yli
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+\begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+ \reset@yl@xydiff%1999/1/6 by S. Fujita
+\else
+\begin{picture}(880,800)(-240,-400)%
+  \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
+           \put(-\noshift,-\noshift){\circle{50}}%
+   \typeout{command `sixheteroh' origin: %
+    (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
+\fi
+{%
+\resetbdsw%
+\@bond@@omit{#5}%
+\set@skel@bondh{#1}{a}{a}% bond between 1 and 2 \@aaa -> \hskbonda etc
+\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
+\set@skel@bondh{#1}{c}{c}% bond between 3 and 4 \@ccc -> \hskbondc etc
+\set@skel@bondh{#1}{d}{d}% bond between 4 and 5 \@ddd -> \hskbondd etc
+\set@skel@bondh{#1}{e}{e}% bond between 5 and 6 \@eee -> \hskbonde etc
+\set@skel@bondh{#1}{f}{f}% bond between 6 and 1 \@fff -> \hskbondf etc
+}%
+\@tfor\member:=#2\do{%
+\if\member r\relax \hbondd \hbondf \hbondb%
+\else \if\member l\relax \hbonda \hbondc \hbonde%
+\else \if\member a\relax \hbonda%
+\else \if\member b\relax \hbondb%
+\else \if\member c\relax \hbondc%
+\else \if\member d\relax \hbondd%
+\else \if\member e\relax \hbonde%
+\else \if\member f\relax \hbondf%
+\else \if\member A%left aromatic circle
+  \put(203,0){\circle{240}}%                %circle
+\else \expandafter\twoCH@@R\member//%
+     \set@fusionadd@sixh
+\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
+\set@hetatom@sixh{#3}{0}{0}{7}{0}%    %atom 1--6%
+\setsixringh{#4}{0}{0}{7}{0}%              %subst 1--6
+\end{picture}\iniatom\iniflag}%     %end of \sixheteroh macro
+\def\test@vrtx@sixh#1{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoch@r\@membera{}%
+\ifcase\@tmpa%
+ \or% \xdef\aaa{\@memberb}%
+   \if\@tmpb s\relax\def\aaa{}\else\def\aaa{@}\fi
+ \or% \xdef\bbb{\@memberb}%
+   \if\@tmpb s\relax\def\bbb{}\else\def\bbb{@}\fi
+ \or% \xdef\ccc{\@memberb}%
+   \if\@tmpb s\relax\def\ccc{}\else\def\ccc{@}\fi
+ \or% \xdef\ddd{\@memberb}%
+   \if\@tmpb s\relax\def\ddd{}\else\def\ddd{@}\fi
+ \or% \xdef\eee{\@memberb}%
+   \if\@tmpb s\relax\def\eee{}\else\def\eee{@}\fi
+ \or% \xdef\fff{\@memberb}%
+   \if\@tmpb s\relax\def\fff{}\else\def\fff{@}\fi
+\fi\fi}%
+}% end of \test@vrtx@sixh
+\def\sixheterohi{\@ifnextchar({\@six@heterohi(@}{\@six@heterohi(@)}}
+\def\@six@heterohi(#1){\@ifnextchar[{\@six@@heterohi(#1)[@}%
+{\@six@@heterohi(#1)[@]}}
+\def\@six@@heterohi(#1)[#2]#3#4{\@ifnextchar[%
+{\@sixheterohi(#1)[#2]{#3}{#4}[@}%
+{\@sixheterohi(#1)[#2]{#3}{#4}[@]}}
+\def\@sixheterohi(#1)[#2]#3#4[#5]{%
+\iniatom\iniflag%initialize
+\test@vrtx@sixhi{#3}%
+\@reset@ylsw%
+\ylpositionh{#4}{5}{0}{5}{-1}%               %subst 1--4
+\ylpositionh{#4}{11}{4}{7}{-1}%              %subst 5 and 6
+\if@ylsw
+ \yl@shiftii=\@ylii
+ \yl@shifti=\@yli
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+ \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+ \reset@yl@xydiff%1999/1/6 by S. Fujita
+\else
+ \begin{picture}(880,800)(-240,-400)%
+  \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
+           \put(-\noshift,-\noshift){\circle{50}}%
+   \typeout{command `sixheterohi' origin: %
+    (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
+\fi
+{\resetbdsw%
+\@bond@@omit{#5}%
+\set@skel@bondh{#1}{a}{c}% bond between 1 and 2 \@aaa -> \hskbondc etc
+\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
+\set@skel@bondh{#1}{c}{a}% bond between 3 and 4 \@ccc -> \hskbonda etc
+\set@skel@bondh{#1}{d}{f}% bond between 4 and 5 \@ddd -> \hskbondf etc
+\set@skel@bondh{#1}{e}{e}% bond between 5 and 6 \@eee -> \hskbonde etc
+\set@skel@bondh{#1}{f}{d}% bond between 6 and 1 \@fff -> \hskbondd etc
+}%
+\@tfor\member:=#2\do{%
+\if\member r\relax \hbondd \hbondf \hbondb%
+\else \if\member l\relax \hbonda \hbondc \hbonde%
+\else \if\member a\relax \hbondc%
+\else \if\member b\relax \hbondb%
+\else \if\member c\relax \hbonda%
+\else \if\member d\relax \hbondf%
+\else \if\member e\relax \hbonde%
+\else \if\member f\relax \hbondd%
+\else \if\member A%left aromatic circle
+  \put(203,0){\circle{240}}%               %circle
+\else \expandafter\twoCH@@R\member//%
+     \set@fusionadd@sixhi
+\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
+\set@hetatom@sixh{#3}{5}{0}{5}{-1}%               %subst 1--4
+\set@hetatom@sixh{#3}{11}{4}{7}{-1}%              %subst 5 and 6
+\setsixringh{#4}{5}{0}{5}{-1}%               %subst 1--4
+\setsixringh{#4}{11}{4}{7}{-1}%              %subst 5 and 6
+\end{picture}\iniatom\iniflag}%     %end of \sixheterohi macro
+\def\test@vrtx@sixhi#1{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoch@r\@membera{}%
+\ifcase\@tmpa%
+ \or \if\@tmpb s\relax\def\ddd{}\else\def\ddd{@}\fi
+ \or \if\@tmpb s\relax\def\ccc{}\else\def\ccc{@}\fi
+ \or \if\@tmpb s\relax\def\bbb{}\else\def\bbb{@}\fi
+ \or \if\@tmpb s\relax\def\aaa{}\else\def\aaa{@}\fi
+ \or \if\@tmpb s\relax\def\fff{}\else\def\fff{@}\fi
+ \or \if\@tmpb s\relax\def\eee{}\else\def\eee{@}\fi
+\fi\fi}%
+}% end of \test@vrtx@sixhi
+\def\pyridineh{\@ifnextchar[{\@pyridineh[@}{\@pyridineh[r]}}%
+\def\@pyridineh[#1]#2{%
+\iforigpt \typeout{command `pyridineh' %
+ is based on `sixheteroh'.}\fi%
+\sixheteroh[#1]{1==N}{#2}}%end of \pyridineh macro
+\def\pyridinehi{\@ifnextchar[{\@pyridinehi}{\@pyridinehi[r]}}%
+\def\@pyridinehi[#1]#2{%
+\iforigpt \typeout{command `pyridinehi' %
+ is based on `sixheterohi'.}\fi%
+\sixheterohi[#1]{1==N}{#2}}% %end of \pyridinehi macro
+\def\pyrazineh{\@ifnextchar[{\@pyrazineh[@}{\@pyrazineh[r]}}%
+\def\@pyrazineh[#1]#2{%
+\iforigpt \typeout{command `pyrazineh' %
+ is based on `sixheteroh'.}\fi%
+\sixheteroh[#1]{1==N;4==N}{#2}}%end of \pyrazineh macro
+\def\pyrimidineh{%
+ \@ifnextchar[{\@pyrimidineh[@}{\@pyrimidineh[r]}}%
+\def\@pyrimidineh[#1]#2{%
+\iforigpt \typeout{command `pyrimidineh' %
+ is based on `sixheteroh'.}\fi%
+\sixheteroh[#1]{1==N;3==N}{#2}}%
+   %end of \pyrimidineh macro
+\def\pyrimidinehi{%
+ \@ifnextchar[{\@pyrimidinehi[@}{\@pyrimidinehi[r]}}%
+\def\@pyrimidinehi[#1]#2{%
+\iforigpt \typeout{command `pyrimidinehi' %
+ is based on `sixheterohi'.}\fi%
+\sixheterohi[#1]{1==N;3==N}{#2}}%end of \pyrimidinehi macro
+\def\pyridazineh{\@ifnextchar[{\@pyridazineh[@}{\@pyridazineh[r]}}%
+\def\@pyridazineh[#1]#2{%
+\iforigpt \typeout{command `pyridazineh' %
+ is based on `sixheteroh'.}\fi%
+\sixheteroh[#1]{1==N;2==N}{#2}}%
+   %end of \pyridazineh macro
+\def\pyridazinehi{%
+ \@ifnextchar[{\@pyridazinehi}{\@pyridazinehi[r]}}%
+\def\@pyridazinehi[#1]#2{%
+\iforigpt \typeout{command `pyridazinehi' %
+ is based on `sixheterohi'.}\fi%
+\sixheterohi[#1]{1==N;2==N}{#2}}%end of \pyridazinehi macro
+\def\triazineh{\@ifnextchar[{\@triazineh[@}{\@triazineh[r]}}%
+\def\@triazineh[#1]#2{%
+\iforigpt \typeout{command `triazineh' %
+ is based on `sixheteroh'.}\fi%
+\sixheteroh[#1]{1==N;3==N;5==N}{#2}}%end of \triazineh macro
+\def\triazinehi{\@ifnextchar[{\@triazinehi[@}{\@triazinehi[r]}}%
+\def\@triazinehi[#1]#2{%
+\iforigpt \typeout{command `triazinehi' %
+ is based on `sixheterohi'.}\fi%
+\sixheterohi[#1]{1==N;3==N;5==N}{#2}}%end of \triazinehi macro
+\def\fiveheteroh{\@ifnextchar({\@five@heteroh(@}{\@five@heteroh(@)}}
+\def\@five@heteroh(#1){\@ifnextchar[{\@five@@heteroh(#1)[@}%
+{\@five@@heteroh(#1)[@]}}
+\def\@five@@heteroh(#1)[#2]#3#4{\@ifnextchar[%
+{\@fiveheteroh(#1)[#2]{#3}{#4}[@}%
+{\@fiveheteroh(#1)[#2]{#3}{#4}[@]}}
+\def\@fiveheteroh(#1)[#2]#3#4[#5]{%
+\iniatom\iniflag%initialize
+\test@vrtx@fivehi{#3}%
+\@reset@ylsw%
+\ylpositionh{#4}{5}{1}{5}{-1}%   % for 1 to 3
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{0}\fi
+\else
+\ylpositionh{#4}{10}{4}{7}{-1}%  % for 4 to 5
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{0}\fi
+\fi
+\if@ylsw
+ \yl@shiftii=\@ylii
+ \yl@shifti=\@yli
+ \advance\yl@shiftii\@@ylii
+ \advance\yl@shifti\@@yli
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+ \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+ \reset@yl@xydiff%1999/1/6 by S. Fujita
+\else
+\begin{picture}(800,880)(-240,-400)%
+  \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
+           \put(-\noshift,-\noshift){\circle{50}}%
+   \typeout{command `fiveheteroh' origin: %
+    (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
+\fi
+{\resetbdsw%
+\@bond@@omit{#5}%
+\set@skel@bondh{#1}{a}{c}% bond between 1 and 2 \@aaa -> \skbondc etc
+\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc
+\set@skel@longbond{#1}{c}{hskbondvert}%
+      % bond between 3 and 4 \@ccc -> \skbondhoriz etc
+\set@skel@bondh{#1}{d}{e}% bond between 4 and 5 \@ddd -> \skbonde etc
+\set@skel@bondh{#1}{e}{d}% bond between 5 and 1 \@eee -> \skbondd etc
+}%
+\@tfor\member:=#2\do{%
+\if\member r%
+\else \if\member a\relax \hbondc%
+\else \if\member b\relax \hbondb%
+\else \if\member c\relax \hbondvert%
+\else \if\member d\relax \hbonde%
+\else \if\member e\relax \hbondd%
+\else \if\member A%left aromatic circle
+  \put(233,0){\circle{180}}%               %circle
+\else
+    \expandafter\twoCH@@R\member//%
+    \set@fusionadd@fiveh
+\fi\fi\fi\fi\fi\fi\fi}%
+\put(0,0){\set@hetatom@sixh{#3}{5}{1}{5}{-1}}%   % for 1 to 3
+\put(0,0){\set@hetatom@sixh{#3}{10}{4}{7}{-1}}%  % for 4 to 5
+\put(0,0){\setsixringh{#4}{5}{1}{5}{-1}}%   % for 1 to 3
+\put(0,0){\setsixringh{#4}{10}{4}{7}{-1}}%  % for 4 to 5
+\end{picture}\iniatom\iniflag}%      %end of \fiveheteroh macro
+\def\test@vrtx@fivehi#1{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoch@r\@membera{}%
+\ifcase\@tmpa%
+ \or \if\@tmpb s\relax\def\ddd{}\else\def\ddd{@}\fi
+ \or \if\@tmpb s\relax\def\ccc{}\else\def\ccc{@}\fi
+ \or \if\@tmpb s\relax\def\bbb{}\else\def\bbb{@}\fi
+ \or \if\@tmpb s\relax\def\fff{}\else\def\fff{@}\fi
+ \or \if\@tmpb s\relax\def\eee{}\else\def\eee{@}\fi
+ \or \if\@tmpb s\relax\def\aaa{}\else\def\aaa{@}\fi% dummy
+\fi\fi}%
+}% end of \test@vrtx@sixhi
+\def\fiveheterohi{\@ifnextchar({\@five@heterohi(@}{\@five@heterohi(@)}}
+\def\@five@heterohi(#1){\@ifnextchar[{\@five@@heterohi(#1)[@}%
+{\@five@@heterohi(#1)[@]}}
+\def\@five@@heterohi(#1)[#2]#3#4{\@ifnextchar[%
+{\@fiveheterohi(#1)[#2]{#3}{#4}[@}%
+{\@fiveheterohi(#1)[#2]{#3}{#4}[@]}}
+\def\@fiveheterohi(#1)[#2]#3#4[#5]{%
+\iniatom\iniflag%initialize
+\test@vertix@sixv{#3}{a}{b}{c}{e}{f}{d}%d--dummy
+\@reset@ylsw%
+\ylpositionh{#4}{0}{0}{4}{0}%              % for 1 to 3
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{0}\fi
+\else
+\ylpositionh{#4}{1}{4}{7}{0}%              % for 4 to 5
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{0}\fi
+\fi
+\if@ylsw
+ \yl@shiftii=\@ylii
+ \yl@shifti=\@yli
+ \advance\yl@shiftii\@@ylii
+ \advance\yl@shifti\@@yli
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+ \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+ \reset@yl@xydiff%1999/1/6 by S. Fujita
+\else
+\begin{picture}(800,880)(-240,-400)%
+  \iforigpt \put(-\shifti,-\shiftii){\circle*{50}}%
+           \put(-\noshift,-\noshift){\circle{50}}%
+   \typeout{command `fiveheterohi' origin: %
+    (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi%
+\fi
+{\resetbdsw%
+\@bond@@omit{#5}%
+\set@skel@bondh{#1}{a}{a}% bond between 1 and 2 \@aaa -> \hskbonda etc
+\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
+\set@skel@longbond{#1}{c}{hskbondverti}%
+      % bond between 3 and 4 \@ccc -> \hskbondverti etc
+\set@skel@bondh{#1}{d}{e}% bond between 4 and 5 \@ddd -> \hskbonde etc
+\set@skel@bondh{#1}{e}{f}% bond between 5 and 6 \@eee -> \hskbondf etc
+}%
+\@tfor\member:=#2\do{%
+\if\member r%
+\else \if\member a\relax \hbonda%
+\else \if\member b\relax \hbondb%
+\else \if\member c\relax \hbondverti%
+\else \if\member d\relax \hbonde%
+\else \if\member e\relax \hbondf%
+\else \if\member A%left aromatic circle
+  \put(173,0){\circle{180}}%               %circle
+\else
+    \expandafter\twoCH@@R\member//%
+    \set@fusionadd@fivehi
+\fi\fi\fi\fi\fi\fi\fi}%
+\set@hetatom@sixh{#3}{0}{0}{4}{0}%              % for 1 to 3
+\set@hetatom@sixh{#3}{1}{4}{7}{0}%              % for 4 to 5
+\setsixringh{#4}{0}{0}{4}{0}%              % for 1 to 3
+\setsixringh{#4}{1}{4}{7}{0}%              % for 4 to 5
+\end{picture}\iniatom\iniflag}%         %end of \fiveheterohi macro
+\def\pyrroleh{\@ifnextchar[{\@pyrroleh[@}{\@pyrroleh[bd]}}%
+\def\@pyrroleh[#1]#2{%
+\iforigpt \typeout{command `pyrroleh' %
+ is based on `fiveheteroh'.}\fi%
+\fiveheteroh[#1]{1==N}{#2}}%
+\def\pyrazoleh{\@ifnextchar[{\@pyrazoleh[@}{\@pyrazoleh[bd]}}%
+\def\@pyrazoleh[#1]#2{%
+\iforigpt \typeout{command `pyrazoleh' %
+ is based on `fiveheteroh'.}\fi%
+\fiveheteroh[#1]{1==N;2==N}{#2}}%
+\def\imidazoleh{\@ifnextchar[{\@imidazoleh[@}{\@imidazoleh[bd]}}%
+\def\@imidazoleh[#1]#2{%
+\iforigpt \typeout{command `imidazoleh' %
+ is based on `fiveheteroh'.}\fi%
+\fiveheteroh[#1]{1==N;3==N}{#2}}%
+\def\isoxazoleh{\@ifnextchar[{\@isoxazoleh[@}{\@isoxazoleh[bd]}}%
+\def\@isoxazoleh[#1]#2{%
+\iforigpt \typeout{command `isoxazoleh' %
+ is based on `fiveheteroh'.}\fi%
+\fiveheteroh[#1]{1==O;2==N}{#2}}%
+\def\oxazoleh{\@ifnextchar[{\@oxazoleh[@}{\@oxazoleh[bd]}}%
+\def\@oxazoleh[#1]#2{%
+\iforigpt \typeout{command `oxazoleh' %
+ is based on `fiveheteroh'.}\fi%
+\fiveheteroh[#1]{1==O;3==N}{#2}}%
+\def\furanh{\@ifnextchar[{\@furanh[@}{\@furanh[bd]}}
+\def\@furanh[#1]#2{%
+\iforigpt \typeout{command `furanh' %
+  is based on `fiveheteroh'.}\fi%
+\fiveheteroh[#1]{1==O}{#2}}
+\def\thiopheneh{\@ifnextchar[{\@thiopheneh[@}{\@thiopheneh[bd]}}
+\def\@thiopheneh[#1]#2{%
+\iforigpt \typeout{command `thiopheneh' %
+  is based on `fiveheteroh'.}\fi%
+\fiveheteroh[#1]{1==S}{#2}}
+\def\pyrrolehi{\@ifnextchar[{\@pyrrolehi[@}{\@pyrrolehi[bd]}}%
+\def\@pyrrolehi[#1]#2{%
+\iforigpt \typeout{command `pyrrolehi' %
+ is based on `fiveheterohi'.}\fi%
+\fiveheterohi[#1]{1==N}{#2}}%
+\def\pyrazolehi{\@ifnextchar[{\@pyrazolehi[@}{\@pyrazolehi[bd]}}%
+\def\@pyrazolehi[#1]#2{%
+\iforigpt \typeout{command `pyrazolehi' %
+ is based on `fiveheterohi'.}\fi%
+\fiveheterohi[#1]{1==N;2==N}{#2}}%
+\def\imidazolehi{\@ifnextchar[{\@imidazolehi[@}{\@imidazolehi[bd]}}%
+\def\@imidazolehi[#1]#2{%
+\iforigpt \typeout{command `imidazolehi' %
+ is based on `fiveheterohi'.}\fi%
+\fiveheterohi[#1]{1==N;3==N}{#2}}%
+\def\isoxazolehi{\@ifnextchar[{\@isoxazolehi[@}{\@isoxazolehi[bd]}}%
+\def\@isoxazolehi[#1]#2{%
+\iforigpt \typeout{command `isoxazolehi' %
+ is based on `fiveheterohi'.}\fi%
+\fiveheterohi[#1]{1==O;2==N}{#2}}%
+\def\oxazolehi{\@ifnextchar[{\@oxazolehi[@}{\@oxazolehi[bd]}}%
+\def\@oxazolehi[#1]#2{%
+\iforigpt \typeout{command `oxazolehi' %
+ is based on `fiveheterohi'.}\fi%
+\fiveheterohi[#1]{1==O;3==N}{#2}}%
+\def\furanhi{\@ifnextchar[{\@furanhi[@}{\@furanhi[bd]}}
+\def\@furanhi[#1]#2{%
+\iforigpt \typeout{command `furanhi' %
+  is based on `fiveheterohi'.}\fi%
+\fiveheterohi[#1]{1==O}{#2}}
+\def\thiophenehi{\@ifnextchar[{\@thiophenehi[@}{\@thiophenehi[bd]}}
+\def\@thiophenehi[#1]#2{%
+\iforigpt \typeout{command `thiophenehi' %
+  is based on `fiveheterohi'.}\fi%
+\fiveheterohi[#1]{1==S}{#2}}
+\def\decaheteroh{\@ifnextchar({\@deca@heteroh(@}{\@deca@heteroh(@)}}
+\def\@deca@heteroh(#1){\@ifnextchar[{\@deca@@heteroh(#1)[@}%
+{\@deca@@heteroh(#1)[@]}}
+\def\@deca@@heteroh(#1)[#2]#3#4{\@ifnextchar[%
+{\@decaheteroh(#1)[#2]{#3}{#4}[@}%
+{\@decaheteroh(#1)[#2]{#3}{#4}[@]}}
+\def\@decaheteroh(#1)[#2]#3#4[#5]{%
+\iniflag\iniatom%
+\test@vertix@sixv{#3}{a}{b}{c}{d}{e}{f}%
+\test@vertix@decav{#3}{g}{h}{i}{j}{@}{@}%
+\@reset@ylsw%
+\ylhetpositionh{#4}{0}{0}{5}{0}% %substituents on 1 to 4
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{0}\fi
+\else
+{\let\ddd=\eee\let\eee=\fff\let\fff=\ggg
+\ylhetpositionh{#4}{-1}{3}{7}{0}% %substituents on 5 to 7
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{342}\fi
+\else
+{\let\aaa=\hhh
+\ylhetpositionh{#4}{-7}{0}{2}{0}% %substituent on 8
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{342}\fi
+\else
+{%
+\clipdetection%
+\@clipfusefalse \if@iclip \@clipfusetrue \fi%
+\ylatombondposition{#4}{-8}{4}%   %9 for 4a position
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{-303}\def\@@yli{171}\fi
+\else
+{%
+\clipdetection%
+\@clipfusefalse \if@jclip \@clipfusetrue \fi%
+\ylatombondposition{#4}{-9}{10}% %10 for 8a position
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{-103}\def\@@yli{171}\fi
+\fi
+\if@ylsw
+ \yl@shiftii=\@ylii
+ \yl@shifti=\@yli
+ \advance\yl@shiftii\@@ylii
+ \advance\yl@shifti\@@yli
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+ \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+ \reset@yl@xydiff%1999/1/6 by S. Fujita
+\else
+\begin{picture}(1200,1200)(-400,-800)
+  \iforigpt \put(-\shiftii,-\shiftiii){\circle*{50}}%
+           \put(-\noshift,-\noshift){\circle{50}}%
+   \typeout{command `decaheteroh' origin: %
+    (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shiftiii)}\fi%
+\fi
+\begingroup
+\resetbdsw%
+\@bond@@omit{#5}%
+{\let\fff=\jjj \let\eee=\iii%
+\set@skel@bondh{#1}{a}{a}% bond between 1 and 2 \@aaa -> \hskbonda etc
+\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
+\set@skel@bondh{#1}{c}{c}% bond between 3 and 4 \@ccc -> \hskbondc etc
+\set@skel@bondh{#1}{d}{d}% bond between 4 and 5 \@ddd -> \skbondd etc
+\set@skel@bondh{#1}{k}{e}% bond between 7 and 8 \@kkk -> \skbonde etc
+\set@skel@bondh{#1}{j}{f}% bond between 7 and 8 \@jjj -> \skbondf etc
+}%
+{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
+ \let\ccc=\iii\let\bbb=\jjj%
+\put(0,-342){\set@skel@bondh{#1}{i}{a}}%
+  % bond between 8a and 8 \@iii -> \hskbonda etc
+\put(0,-342){\set@skel@bondh{#1}{e}{c}}%
+  % bond between 4a and 5 \@eee -> \hskbondc etc
+\put(0,-342){\set@skel@bondh{#1}{f}{d}}%
+  % bond between 5 and 6 \@fff -> \hskbondd etc
+\put(0,-342){\set@skel@bondh{#1}{g}{e}}%
+  % bond between 6 and 7 \@ggg -> \hskbonde etc
+\put(0,-342){\set@skel@bondh{#1}{h}{f}}%
+  % bond between 7 and 8 \@hhh -> \hskbondf etc
+}%
+\endgroup
+\@tfor\member:=#2\do{%
+\if\member r\relax%
+{\let\fff=\jjj \let\eee=\iii%
+ \put(0,0){\hbonda}% bond between 1 and 2%
+ \put(0,0){\hbondc}% bond between 3 and 4%
+}%
+{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
+ \let\ccc=\iii\let\bbb=\jjj%
+ \put(0,-342){\hbondb}% bond between 8a and 4a
+ \put(0,-342){\hbondf}% bond between 8 and 7
+ \put(0,-342){\hbondd}% bond between 5 and 6
+}%
+\else \if\member l\relax%
+\else \if\member a\relax%
+ \put(0,0){\hbonda}% bond between 1 and 2
+\else \if\member b\relax%
+ \put(0,0){\hbondb}% bond between 2 and 3
+\else \if\member c\relax%
+ \put(0,0){\hbondc}% bond between 3 and 4
+\else \if\member d\relax%
+{\let\eee=\iii%
+ \put(0,0){\hbondd}% bond between 4 and 4a
+}%
+\else \if\member e\relax%
+{\let\ccc=\iii \let\ddd=\eee%
+ \put(0,-342){\hbondc}% bond between 5 and 4a
+}%
+\else \if\member f\relax%
+{\let\ddd=\eee \let\eee=\fff%
+ \put(0,-342){\hbondd}% bond between 5 and 6
+}%
+\else \if\member g\relax%
+{\let\eee=\fff \let\fff=\ggg%
+ \put(0,-342){\hbonde}% bond between 6 and 7
+}%
+\else \if\member h\relax%
+{\let\aaa=\hhh \let\fff=\ggg%
+ \put(0,-342){\hbondf}% bond between 8 and 7
+}%
+\else \if\member i\relax%
+{\let\aaa=\hhh \let\bbb=\jjj%
+ \put(0,-342){\hbonda}% bond between 8 and 8a
+}%
+\else \if\member j\relax%
+{\let\fff=\jjj%
+ \put(0,0){\hbondf}% bond between 1 and 8a
+}%
+\else \if\member k\relax%
+{\let\ccc=\iii\let\bbb=\jjj%
+ \put(0,-342){\hbondb}% bond between 8a and 4a
+}%
+\else \if\member K\relax%
+{\let\eee=\iii\let\fff=\jjj%
+ \put(0,0){\hbonde}% bond between 8a and 4a in the other ring
+}%
+\else \if\member A%left aromatic circle
+  \put(203,0){\circle{240}}%                %circle
+\else \if\member B%left aromatic circle
+  \put(203,-342){\circle{240}}%             %circle
+\else
+  \expandafter\twoCH@@R\member//%
+  \def\aax{8a} \def\aay{4a} \def\aaz{10}%
+      \if\@@tmpa 4\relax%
+        \putratom{272}{-18}{\@@tmpb}%       % right type
+      \else\if\@@tmpa 1\relax%
+        \putratom{68}{-18}{\@@tmpb}%        % right type
+      \else\if\@@tmpa 3\relax%
+        \putratom{233}{60}{\@@tmpb}%        % right type
+      \else\if\@@tmpa 2\relax%
+        \putratom{120}{60}{\@@tmpb}%        % right type
+      \else\ifx\@@tmpa\aaz\relax%
+        \putratom{120}{-110}{\@@tmpb}%      % right type
+      \else\ifx\@@tmpa\aax\relax%
+        \putratom{120}{-110}{\@@tmpb}%      % right type
+      \else\ifx\@@tmpa\aay\relax
+        \putratom{233}{-110}{\@@tmpb}%      % right type
+      \else\if\@@tmpa 9\relax%
+        \putratom{233}{-110}{\@@tmpb}%      % right type
+      \else\if\@@tmpa 5\relax%
+        \putratom{272}{-360}{\@@tmpb}%      % right type
+      \else\if\@@tmpa 8\relax%
+        \putratom{68}{-360}{\@@tmpb}%       % right type
+      \else\if\@@tmpa 6\relax%
+        \putratom{233}{-452}{\@@tmpb}%      % right type
+      \else\if\@@tmpa 7\relax%
+        \putratom{120}{-452}{\@@tmpb}%      % right type
+     \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+   \expandafter\twoCH@R\member//%
+   \set@fusion@decah
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+\fi\fi\fi\fi\fi\fi}%
+\iniflag
+\put(0,0){\set@hetatom@sixh{#3}{0}{0}{5}{0}%
+   \if@aclip \global\@acliptrue\fi
+   \if@bclip \global\@bcliptrue\fi
+   \if@cclip \global\@ccliptrue\fi
+   \if@clip \global\@cliptrue\fi}% %substituents on 1 to 4
+\put(0,-342){\iniflag%2000/11/11 by Shinsaku Fujita
+   \set@hetatom@sixh{#3}{-1}{3}{7}{0}%
+   \@gclipfalse \if@fclip \global\@gcliptrue \fi%
+   \@fclipfalse \if@eclip \global\@fcliptrue \fi%
+   \@eclipfalse \if@clip \global\@ecliptrue \fi}%substituents on 5 to 7
+\put(0,-342){\iniflag%2000/11/11 by Shinsaku Fujita
+  \set@hetatom@sixh{#3}{-7}{0}{2}{0}%
+  \@hclipfalse \if@aclip \global\@hcliptrue \fi}%%substituent on 8
+\put(0,0){\set@vrtx@fuseh{#3}%
+  \if@iclip \global\@icliptrue \fi
+  \if@jclip \global\@jcliptrue \fi}% fused positions
+\put(0,0){\setsixringh{#4}{0}{0}{5}{0}}% %substituents on 1 to 4
+{\@clipfalse \if@eclip \@cliptrue \fi%   %substituents on 5 to 7
+ \@eclipfalse \if@fclip \@ecliptrue \fi%
+ \@fclipfalse \if@gclip \@fcliptrue \fi%
+\put(0,-342){\setsixringh{#4}{-1}{3}{7}{0}}%
+}%
+{\@aclipfalse \if@hclip \@acliptrue \fi%   %substituent on 8
+\put(0,-342){\setsixringh{#4}{-7}{0}{2}{0}}%
+}%
+{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
+ \put(303,-171){\setatombond{#4}{-8}{4}}   %9 for 4a position
+}%
+{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
+  \put(103,-171){\setatombond{#4}{-9}{10}} %10 for 8a position
+}%
+\end{picture}\iniatom\iniflag}%      %end of \decaheteroh macro
+\def\ylhetpositionh#1#2#3#4#5{%
+\@@ylswfalse%%%\@reset@ylsw
+\@forsemicol\member:=#1\do{%
+\if@@ylsw\else
+\ifx\member\empty\else
+\expandafter\@m@mb@r\member;\relax
+\expandafter\threech@r\@membera{}{}\relax
+\ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi
+\if@@ylsw
+\ifnum#5<0\relax%
+\@tmpaa=-\@tmpa\relax \advance\@tmpaa by#2\relax%
+\else\@tmpaa=\@tmpa\relax \advance\@tmpaa by#2\relax\fi
+\ifnum\@tmpaa>#3\relax%
+\ifnum\@tmpaa<#4\relax%
+\ifcase\@tmpaa%0 omit
+ \or
+  \ifx\aaa\empty
+      \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@ylatrue% subst. on 1
+  \else
+      \gdef\@ylii{30}\gdef\@yli{0}\global\@ylswtrue%\@ylatrue% subst. on 1
+  \fi
+ \or
+  \ifx\bbb\empty
+      \gdef\@ylii{-103}\gdef\@yli{-171}\global\@ylswtrue%\@ylbtrue% subst. on 2
+  \else
+      \gdef\@ylii{-73}\gdef\@yli{-223}\global\@ylswtrue%\@ylbtrue% subst. on 2
+  \fi
+ \or
+  \ifx\ccc\empty
+      \gdef\@ylii{-303}\gdef\@yli{-171}\global\@ylswtrue%\@ylctrue% subst. on 3
+  \else
+      \gdef\@ylii{-333}\gdef\@yli{-223}\global\@ylswtrue%\@ylctrue% subst. on 3
+  \fi
+ \or
+  \ifx\ddd\empty
+      \gdef\@ylii{-406}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
+   \else
+      \gdef\@ylii{-436}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4
+   \fi
+ \or
+    \ifx\eee\empty
+     \gdef\@ylii{-303}\gdef\@yli{171}\global\@ylswtrue%\@yletrue% subst. on 5
+    \else
+     \gdef\@ylii{-333}\gdef\@yli{223}\global\@ylswtrue%\@yletrue% subst. on 5
+    \fi
+ \or
+   \ifx\fff\empty
+      \gdef\@ylii{-103}\gdef\@yli{171}\global\@ylswtrue%\@ylftrue% subst. on 6
+     \else
+      \gdef\@ylii{-73}\gdef\@yli{223}\global\@ylswtrue%\@ylftrue% subst. on 6
+     \fi
+\fi%end of ifcase
+\fi\fi\fi\fi\fi}}%
+\def\decaheterohi{\@ifnextchar({\@deca@heterohi(@}{\@deca@heterohi(@)}}
+\def\@deca@heterohi(#1){\@ifnextchar[{\@deca@@heterohi(#1)[@}%
+{\@deca@@heterohi(#1)[@]}}
+\def\@deca@@heterohi(#1)[#2]#3#4{\@ifnextchar[%
+{\@decaheterohi(#1)[#2]{#3}{#4}[@}%
+{\@decaheterohi(#1)[#2]{#3}{#4}[@]}}
+\def\@decaheterohi(#1)[#2]#3#4[#5]{%
+\iniflag\iniatom%
+\test@vertix@decavi{#3}%
+\@reset@ylsw%
+\ylhetpositionh{#4}{5}{0}{5}{-1}% %substituents on 1 to 4
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{0}\fi
+\else
+{\let\ddd=\eee\let\eee=\fff\let\fff=\ggg
+\ylhetpositionh{#4}{12}{3}{7}{-1}% %substituents on 6 to 8
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{342}\fi
+\else
+{\let\aaa=\hhh
+\ylhetpositionh{#4}{-4}{0}{2}{0}% %substituent on 5
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{342}\fi
+\else
+{%
+\clipdetection%
+\@clipfusefalse \if@iclip \@clipfusetrue \fi%
+\ylatombondposition{#4}{-9}{4}%   %10 for 8a position
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{-303}\def\@@yli{171}\fi
+\else
+{%
+\clipdetection%
+\@clipfusefalse \if@jclip \@clipfusetrue \fi%
+\ylatombondposition{#4}{-8}{10}% %9 for 4a position
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{-103}\def\@@yli{171}\fi
+\fi
+\if@ylsw
+ \yl@shiftii=\@ylii
+ \yl@shifti=\@yli
+ \advance\yl@shiftii\@@ylii
+ \advance\yl@shifti\@@yli
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+ \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+ \reset@yl@xydiff%1999/1/6 by S. Fujita
+\else
+\begin{picture}(1200,1200)(-400,-800)%
+  \iforigpt \put(-\shiftii,-\shiftiii){\circle*{50}}%
+           \put(-\noshift,-\noshift){\circle{50}}%
+   \typeout{command `decaheterohi' origin: %
+    (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shiftiii)}\fi%
+\fi
+\begingroup
+\resetbdsw%
+\@bond@@omit{#5}%
+{\let\fff=\jjj \let\eee=\iii%
+\set@skel@bondh{#1}{a}{c}% bond between 1 and 2 \@aaa -> \hskbondc etc
+\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
+\set@skel@bondh{#1}{c}{a}% bond between 3 and 4 \@ccc -> \hskbonda etc
+\set@skel@bondh{#1}{d}{f}% bond between 4 and 4a \@ddd -> \hskbondf etc
+\set@skel@bondh{#1}{k}{e}% bond between 4a and 8a \@kkk -> \hskbonde etc
+\set@skel@bondh{#1}{j}{d}% bond between 8a and 1 \@jjj -> \hskbondd etc
+}%
+{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
+ \let\ccc=\iii\let\bbb=\jjj%
+\put(0,-342){\set@skel@bondh{#1}{e}{a}}%
+  % bond between 4a and 5 \@eee -> \hskbonda etc
+\put(0,-342){\set@skel@bondh{#1}{i}{c}}%
+  % bond between 8a and 8 \@iii -> \hskbondc etc
+\put(0,-342){\set@skel@bondh{#1}{h}{d}}%
+  % bond between 7 and 8 \@hhh -> \hskbondd etc
+\put(0,-342){\set@skel@bondh{#1}{g}{e}}%
+  % bond between 6 and 7 \@ggg -> \hskbonde etc
+\put(0,-342){\set@skel@bondh{#1}{f}{f}}%
+  % bond between 5 and 6 \@fff -> \hskbondf etc
+}%
+\endgroup
+\@tfor\member:=#2\do{%
+\if\member r\relax%
+{\let\fff=\jjj \let\eee=\iii%
+ \put(0,0){\hbonda}% bond between 1 and 2
+ \put(0,0){\hbondc}% bond between 3 and 4
+}%
+{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
+ \let\ccc=\iii\let\bbb=\jjj%
+ \put(0,-342){\hbondb}% bond between 8a and 4a
+ \put(0,-342){\hbondf}% bond between 8 and 7
+ \put(0,-342){\hbondd}% bond between 5 and 6
+}%
+\else \if\member l\relax%
+\else \if\member a\relax%
+ \put(0,0){\hbondc}% bond between 3 and 4
+\else \if\member b\relax
+ \put(0,0){\hbondb}% bond between 2 and 3
+\else \if\member c\relax
+ \put(0,0){\hbonda}% bond between 1 and 2
+\else \if\member d\relax%
+{\let\fff=\jjj%
+ \put(0,0){\hbondf}% bond between 1 and 8a
+}%
+\else \if\member e\relax%
+{\let\aaa=\hhh \let\bbb=\jjj%
+ \put(0,-342){\hbonda}% bond between 8 and 8a
+}%
+\else \if\member f\relax%
+{\let\aaa=\hhh \let\fff=\ggg%
+ \put(0,-342){\hbondf}% bond between 8 and 7
+}%
+\else \if\member g\relax%
+{\let\eee=\fff \let\fff=\ggg%
+ \put(0,-342){\hbonde}% bond between 6 and 7
+}%
+\else \if\member h\relax%
+{\let\ddd=\eee \let\eee=\fff%
+ \put(0,-342){\hbondd}% bond between 5 and 6
+}%
+\else \if\member i\relax%
+{\let\ccc=\iii \let\ddd=\eee%
+ \put(0,-342){\hbondc}% bond between 5 and 4a
+}%
+\else \if\member j\relax%
+{\let\eee=\iii%
+ \put(0,0){\hbondd}% bond between 4 and 4a
+}%
+\else \if\member k\relax%
+{\let\ccc=\iii\let\bbb=\jjj%
+ \put(0,-342){\hbondb}% bond between 8a and 4a
+}%
+\else \if\member K\relax%
+{\let\eee=\iii\let\fff=\jjj%
+ \put(0,0){\hbonde}% bond between 8a and 4a
+}%
+\else \if\member A%left aromatic circle
+  \put(203,0){\circle{240}}%                %circle
+\else \if\member B%left aromatic circle
+  \put(203,-342){\circle{240}}%             %circle
+\else \expandafter\twoCH@@R\member//%
+  \def\aax{8a}\def\aay{4a}\def\aaz{10}%
+      \if\@@tmpa 4\relax%
+        \putratom{68}{-18}{\@@tmpb}%        % right type
+      \else\if\@@tmpa 1\relax%
+        \putratom{272}{-18}{\@@tmpb}%       % right type
+      \else\if\@@tmpa 3\relax%
+        \putratom{120}{60}{\@@tmpb}%        % right type
+      \else\if\@@tmpa 2\relax%
+        \putratom{233}{60}{\@@tmpb}%        % right type
+      \else\ifx\@@tmpa\aaz\relax%
+        \putratom{233}{-110}{\@@tmpb}%      % right type
+      \else\ifx\@@tmpa\aax\relax%
+        \putratom{233}{-110}{\@@tmpb}%      % right type
+      \else\ifx\@@tmpa\aay\relax%
+        \putratom{120}{-110}{\@@tmpb}%      % right type
+      \else\if\@@tmpa 9\relax%
+        \putratom{120}{-110}{\@@tmpb}%      % right type
+      \else\if\@@tmpa 5\relax%
+        \putratom{68}{-360}{\@@tmpb}%       % right type
+      \else\if\@@tmpa 8\relax%
+        \putratom{272}{-360}{\@@tmpb}%      % right type
+      \else\if\@@tmpa 6\relax%
+        \putratom{120}{-452}{\@@tmpb}%      % right type
+      \else\if\@@tmpa 7\relax%
+        \putratom{233}{-452}{\@@tmpb}%      % right type
+     \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+   \expandafter\twoCH@R\member//%
+   \set@fusion@decahi
+\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+\fi\fi\fi\fi\fi\fi}%
+\iniflag
+\@tmpclipfalse
+\put(0,0){\set@hetatom@sixh{#3}{5}{0}{5}{-1}%
+   \if@aclip \global\@acliptrue\fi
+   \if@bclip \global\@bcliptrue\fi
+   \if@cclip \global\@ccliptrue\fi
+   \if@clip \global\@cliptrue\fi
+}% %substituents on 1 to 4
+\put(0,-342){\iniflag%2000/11/11 by Shinsaku Fujita
+ \set@hetatom@sixh{#3}{12}{3}{7}{-1}%
+ \@gclipfalse \if@fclip \global\@gcliptrue \fi%
+ \@fclipfalse \if@eclip \global\@fcliptrue \fi%
+ \@eclipfalse \if@clip \global\@ecliptrue \fi%
+}%substituents on 6 to 8
+\put(0,-342){\set@hetatom@sixh{#3}{-4}{0}{2}{0}%
+ \@aclipfalse \if@aclip \global\@hcliptrue \fi%
+}%%substituent on 5
+\put(0,0){\set@vrtx@decafusehi{#3}%
+  \@tmpclipfalse
+  \if@iclip \global\@tmpcliptrue \fi
+  \if@jclip \global\@icliptrue \fi
+  \if@tmpclip \global\@jcliptrue \fi
+}% fused positions
+\put(0,0){\setsixringh{#4}{5}{0}{5}{-1}}% %substituents on 1 to 4
+{\@clipfalse \if@eclip \@cliptrue \fi%    %substituents on 6 to 8
+ \@eclipfalse \if@fclip \@ecliptrue \fi%
+ \@fclipfalse \if@gclip \@fcliptrue \fi%
+\put(0,-342){\setsixringh{#4}{12}{3}{7}{-1}}%
+}%
+{\@aclipfalse \if@hclip \@acliptrue \fi%    %substituent on 5
+\put(0,-342){\setsixringh{#4}{-4}{0}{2}{0}}%
+}%
+{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
+ \put(303,-171){\setatombond{#4}{-9}{4}}%   %10 for 8a position
+}%
+{\@clipfusefalse \if@jclip \@clipfusetrue \fi
+  \put(103,-171){\setatombond{#4}{-8}{10}}% %9 for 4a position
+}%
+\end{picture}\iniatom\iniflag}%      %end of \decaheterohi macro
+\def\set@vrtx@decafusehi#1{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoch@r\@membera{}%
+\ifcase\@tmpa\or\or\or
+ \or%%%%4
+   \if\@tmpb a%
+     \global\@icliptrue%
+     \putlatom{135}{-211}{\@memberb}%             % left type
+   \else\if\@tmpb h%
+      \XyMTeXWarning{Forbidden fused position `4a' or `9'}%
+   \else\if\@tmpb s%
+      \XyMTeXWarning{Forbidden fused position `4a' or `9'}%
+   \else\ifx\@tmpb\empty\relax
+   \else
+      \XyMTeXWarning{Forbidden fused position `4a' or `9'}%
+   \fi\fi\fi\fi
+ \or\or\or
+ \or%8
+   \if\@tmpb a%
+     \global\@jcliptrue%
+     \putratom{273}{-211}{\@memberb}%             % right type
+   \else\if\@tmpb h%
+      \XyMTeXWarning{Forbidden fused position `8a' or `10'}%
+   \else\if\@tmpb s%
+      \XyMTeXWarning{Forbidden fused position `8a' or `10'}%
+   \else\ifx\@tmpb\empty\relax
+   \else
+      \XyMTeXWarning{Forbidden fused position `8a' or `10'}%
+   \fi\fi\fi\fi
+\or%9 (= 4a)
+   \ifx\@tmpb\empty%
+     \global\@icliptrue%
+     \putlatom{135}{-211}{\@memberb}%             % left type
+   \else
+      \XyMTeXWarning{Forbidden fused position `4a' or `9'}%
+   \fi
+\or%10 (= 8a)
+   \ifx\@tmpb\empty%
+     \global\@jcliptrue%
+     \putratom{273}{-211}{\@memberb}%             % right type
+   \else
+      \XyMTeXWarning{Forbidden fused position `8a' or `10'}%
+   \fi
+\fi\fi}%
+}% end of the macro \set@vrtx@decafusehi
+\def\set@fusion@decahi{%
+  \let\@@tmpa=\@tmpa
+  \let\@@tmpb=\@tmpb
+  \if\@tmpa a%
+      \let\@@tmpa=\@tmpa
+      \put(0,0){\set@fusionadd@sixhi}%
+  \else\if\@tmpa A%
+      \let\@@tmpa=\@tmpa
+      \put(0,0){\set@fusionadd@sixhi}%
+  \else\if\@tmpa b%
+      \let\@@tmpa=\@tmpa
+      \put(0,0){\set@fusionadd@sixhi}%
+  \else\if\@tmpa B%
+      \let\@@tmpa=\@tmpa
+      \put(0,0){\set@fusionadd@sixhi}%
+  \else\if\@tmpa c%
+      \let\@@tmpa=\@tmpa
+      \put(0,0){\set@fusionadd@sixhi}%
+  \else\if\@tmpa C%
+      \let\@@tmpa=\@tmpa
+      \put(0,0){\set@fusionadd@sixhi}%
+  \else\if\@tmpa d%
+      \let\@@tmpa=\@tmpa
+      \put(0,0){\set@fusionadd@sixhi}%
+      \if@smallringsw\else
+       \XyMTeXWarning{Unfavorable Fusion for bond `d'}%
+      \fi
+  \else\if\@tmpa D%
+      \let\@@tmpa=\@tmpa
+      \put(0,0){\set@fusionadd@sixhi}%
+      \if@smallringsw\else
+       \XyMTeXWarning{Unfavorable Fusion for bond `D'}%
+      \fi
+  \else\if\@tmpa e%
+      \edef\@@tmpa{c}%
+      \put(0,-342){\set@fusionadd@sixhi}%
+      \if@smallringsw\else
+       \XyMTeXWarning{Unfavorable Fusion for bond `e'}%
+      \fi
+  \else\if\@tmpa E%
+      \edef\@@tmpa{C}%
+      \put(0,-342){\set@fusionadd@sixhi}%
+      \if@smallringsw\else
+       \XyMTeXWarning{Unfavorable Fusion for bond `E'}%
+      \fi
+  \else\if\@tmpa f%
+      \edef\@@tmpa{d}%
+      \put(0,-342){\set@fusionadd@sixhi}%
+  \else\if\@tmpa F%
+      \edef\@@tmpa{D}%
+      \put(0,-342){\set@fusionadd@sixhi}%
+  \else\if\@tmpa g%
+      \edef\@@tmpa{e}%
+      \put(0,-342){\set@fusionadd@sixhi}%
+  \else\if\@tmpa G%
+      \edef\@@tmpa{E}%
+      \put(0,-342){\set@fusionadd@sixhi}%
+  \else\if\@tmpa h%
+      \edef\@@tmpa{f}%
+      \put(0,-342){\set@fusionadd@sixhi}%
+  \else\if\@tmpa H%
+      \edef\@@tmpa{F}%
+      \put(0,-342){\set@fusionadd@sixhi}%
+  \else\if\@tmpa i%
+      \edef\@@tmpa{a}%
+      \put(0,-342){\set@fusionadd@sixhi}%
+      \if@smallringsw\else
+       \XyMTeXWarning{Unfavorable Fusion for bond `i'}%
+      \fi
+  \else\if\@tmpa I%
+      \edef\@@tmpa{A}%
+      \put(0,-342){\set@fusionadd@sixhi}%
+      \if@smallringsw\else
+       \XyMTeXWarning{Unfavorable Fusion for bond `I'}%
+      \fi
+  \else\if\@tmpa j%
+      \edef\@@tmpa{f}%
+      \put(0,0){\set@fusionadd@sixhi}%
+      \if@smallringsw\else
+       \XyMTeXWarning{Unfavorable Fusion for bond `j'}%
+      \fi
+  \else\if\@tmpa J%
+      \edef\@@tmpa{F}%
+      \put(0,0){\set@fusionadd@sixhi}%
+      \if@smallringsw\else
+       \XyMTeXWarning{Unfavorable Fusion for bond `J'}%
+      \fi
+  \else\if\@tmpa k%
+      \edef\@@tmpa{e}%
+      \put(0,0){\set@fusionadd@sixhi}%
+      \if@smallringsw\else
+       \XyMTeXWarning{Forbidden Fusion for bond `k'}%
+      \fi
+  \else\if\@tmpa K%
+      \edef\@@tmpa{E}%
+      \put(0,0){\set@fusionadd@sixhi}%
+      \if@smallringsw\else
+       \XyMTeXWarning{Forbidden Fusion for bond `K'}%
+      \fi
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@decahi
+\def\quinolineh{%
+ \@ifnextchar[{\@quinolineh[@}{\@quinolineh[acfhk]}}%
+\def\@quinolineh[#1]#2{%
+\iforigpt \typeout{command `quinolineh' %
+ is based on `decaheteroh'.}\fi%
+\decaheteroh[#1]{1==N}{#2}}%
+\def\quinolinehi{%
+ \@ifnextchar[{\@quinolinehi[@}{\@quinolinehi[acfhk]}}%
+\def\@quinolinehi[#1]#2{%
+\iforigpt \typeout{command `quinolinehi' %
+ is based on `decaheterohi'.}\fi%
+\decaheterohi[#1]{1==N}{#2}}%
+\def\isoquinolineh{%
+ \@ifnextchar[{\@isoquinolineh[@}{\@isoquinolineh[acfhk]}}%
+\def\@isoquinolineh[#1]#2{%
+\iforigpt \typeout{command `isoquinolineh' %
+ is based on `decaheteroh'.}\fi%
+\decaheteroh[#1]{2==N}{#2}}%
+\def\isoquinolinehi{%
+ \@ifnextchar[{\@isoquinolinehi[@}{\@isoquinolinehi[acfhk]}}%
+\def\@isoquinolinehi[#1]#2{%
+\iforigpt \typeout{command `isoquinolinehi' %
+ is based on `decaheterohi'.}\fi%
+\decaheterohi[#1]{2==N}{#2}}%
+\def\quinoxalineh{%
+ \@ifnextchar[{\@quinoxalineh[@}{\@quinoxalineh[acfhk]}}%
+\def\@quinoxalineh[#1]#2{%
+\iforigpt \typeout{command `quinoxalineh' %
+ is based on `decaheteroh'.}\fi%
+\decaheteroh[#1]{1==N;4==N}{#2}}%
+\def\quinazolineh{%
+ \@ifnextchar[{\@quinazolineh[@}{\@quinazolineh[acfhk]}}%
+\def\@quinazolineh[#1]#2{%
+\iforigpt \typeout{command `quinazolineh' %
+ is based on `decaheteroh'.}\fi%
+\decaheteroh[#1]{1==N;3==N}{#2}}%
+\def\quinazolinehi{%
+ \@ifnextchar[{\@quinazolinehi[@}{\@quinazolinehi[acfhk]}}%
+\def\@quinazolinehi[#1]#2{%
+\iforigpt \typeout{command `quinazolinehi' %
+ is based on `decaheterohi'.}\fi%
+\decaheterohi[#1]{1==N;3==N}{#2}}%
+\def\cinnolineh{%
+ \@ifnextchar[{\@cinnolineh[@}{\@cinnolineh[acfhk]}}%
+\def\@cinnolineh[#1]#2{%
+\iforigpt \typeout{command `cinnolineh' %
+ is based on `decaheteroh'.}\fi%
+\decaheteroh[#1]{1==N;2==N}{#2}}%
+\def\cinnolinehi{%
+ \@ifnextchar[{\@cinnolinehi[@}{\@cinnolinehi[acfhk]}}%
+\def\@cinnolinehi[#1]#2{%
+\iforigpt \typeout{command `cinnolinehi' %
+ is based on `decaheterohi'.}\fi%
+\decaheterohi[#1]{1==N;2==N}{#2}}%
+\def\pteridineh{%
+ \@ifnextchar[{\@pteridineh[@}{\@pteridineh[acfhk]}}%
+\def\@pteridineh[#1]#2{%
+\iforigpt \typeout{command `pteridineh' %
+ is based on `decaheteroh'.}\fi%
+\decaheteroh[#1]{1==N;3==N;5==N;8==N}{#2}}%
+\def\pteridinehi{%
+ \@ifnextchar[{\@pteridinehi[@}{\@pteridinehi[acfhk]}}%
+\def\@pteridinehi[#1]#2{%
+\iforigpt \typeout{command `pteridinehi' %
+  is based on `decaheterohi'.}\fi%
+\decaheterohi[#1]{1==N;3==N;5==N;8==N}{#2}}%
+\def\nonaheteroh{\@ifnextchar({\@nona@heteroh(@}{\@nona@heteroh(@)}}
+\def\@nona@heteroh(#1){\@ifnextchar[{\@nona@@heteroh(#1)[@}%
+{\@nona@@heteroh(#1)[@]}}
+\def\@nona@@heteroh(#1)[#2]#3#4{\@ifnextchar[%
+{\@nonaheteroh(#1)[#2]{#3}{#4}[@}%
+{\@nonaheteroh(#1)[#2]{#3}{#4}[@]}}
+\def\@nonaheteroh(#1)[#2]#3#4[#5]{%
+\iniflag\iniatom%
+\test@vertix@nonav{#3}%
+\@reset@ylsw%
+\ylpositionh{#4}{5}{1}{5}{-1}%  %substituents on 1 to 3
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{0}\fi
+\else
+{\let\ddd=\eee\let\eee=\fff\let\fff=\ggg
+\ylpositionh{#4}{11}{3}{7}{-1}% %substituents on 5 to 7
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{342}\fi
+\else
+{\let\aaa=\hhh
+\ylpositionh{#4}{-3}{0}{2}{0}%%substituent on 4
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{342}\fi
+\else
+{%
+\clipdetection%
+\@clipfusefalse \if@iclip \@clipfusetrue \fi%
+\ylatombondposition{#4}{-8}{4}%   %9 for 7a position
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{-303}\def\@@yli{171}\fi
+\else
+{%
+\clipdetection%
+\@clipfusefalse \if@jclip \@clipfusetrue \fi%
+\ylatombondposition{#4}{-7}{10}% %8 for 3a position
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{-103}\def\@@yli{171}\fi
+\fi
+\if@ylsw
+ \yl@shiftii=\@ylii
+ \yl@shifti=\@yli
+ \advance\yl@shiftii\@@ylii
+ \advance\yl@shifti\@@yli
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+ \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+ \reset@yl@xydiff%1999/1/6 by S. Fujita
+\else
+ \begin{picture}(1200,1200)(-400,-800)%
+  \iforigpt \put(-\shiftii,-\shiftiii){\circle*{50}}%
+           \put(-\noshift,-\noshift){\circle{50}}%
+   \typeout{command `nonahetero' origin: %
+    (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shiftiii)}\fi%
+\fi
+\begingroup
+\resetbdsw%
+\@bond@@omit{#5}%
+{\let\fff=\jjj \let\eee=\iii%
+\set@skel@bondh{#1}{a}{c}% bond between 1 and 2 \@aaa -> \hskbondc etc
+\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
+\set@skel@longbond{#1}{c}{hskbondvert}%
+      % bond between 3 and 3a \@ccc -> \hskbondhoriz etc
+\set@skel@bondh{#1}{j}{e}% bond between 3a and 7a \@jjj -> \hskbonde etc
+\set@skel@bondh{#1}{i}{d}% bond between 7a and 1 \@iii -> \hskbondd etc
+}%
+{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg
+ \let\ccc=\iii\let\bbb=\jjj%
+\put(0,-342){\set@skel@bondh{#1}{d}{a}}%
+  % bond between 3a and 4 \@ddd -> \hskbonda etc
+\put(0,-342){\set@skel@bondh{#1}{h}{c}}%
+  % bond between 7a and 7 \@hhh -> \hskbondc etc
+\put(0,-342){\set@skel@bondh{#1}{g}{d}}%
+  % bond between 6 and 7 \@ggg -> \hskbondd etc
+\put(0,-342){\set@skel@bondh{#1}{f}{e}}%
+  % bond between 5 and 6 \@fff -> \hskbonde etc
+\put(0,-342){\set@skel@bondh{#1}{e}{f}}%
+  % bond between 4 and 5 \@eee -> \hskbondf etc
+}%
+\endgroup
+\@tfor\member:=#2\do{%
+\if\member r\relax%
+{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
+ \let\ccc=\iii\let\bbb=\jjj%
+ \put(0,-342){\hbondb}% bond between 3a and 7a
+ \put(0,-342){\hbondf}% bond between 4 and 5
+ \put(0,-342){\hbondd}% bond between 6 and 7
+}%
+\else \if\member l\relax%
+\else \if\member a\relax%
+ \put(0,0){\hbondc}% bond between 3 and 4
+\else \if\member b\relax%
+ \put(0,0){\hbondb}% bond between 2 and 3
+\else \if\member c\relax%
+ \put(0,0){\hbondvert}% bond between 3 and 3a
+\else \if\member d\relax%
+{\let\aaa=\hhh \let\bbb=\jjj%
+ \put(0,-342){\hbonda}% bond between 4 and 3a
+}%
+\else \if\member e\relax%
+{\let\aaa=\hhh \let\fff=\ggg%
+ \put(0,-342){\hbondf}% bond between 4 and 5
+}%
+\else \if\member f\relax%
+{\let\eee=\fff \let\fff=\ggg%
+ \put(0,-342){\hbonde}% bond between 5 and 6
+}%
+\else \if\member g\relax%
+{\let\ddd=\eee \let\eee=\fff%
+ \put(0,-342){\hbondd}% bond between 6 and 7
+}%
+\else \if\member h\relax%
+{\let\ccc=\iii \let\ddd=\eee%
+ \put(0,-342){\hbondc}% bond between 7 and 7a
+}%
+\else \if\member i\relax%
+{\let\eee=\iii%
+ \put(0,0){\hbondd}% bond between 1 and 7a
+}%
+\else \if\member j\relax%
+{\let\ccc=\iii\let\bbb=\jjj%
+ \put(0,-342){\hbondb}% bond between 7a and 3a
+}%
+\else \if\member J\relax%
+{\let\eee=\iii\let\fff=\jjj%
+ \put(0,0){\hbonde}% bond between 7a and 3a
+}%
+\else \if\member B%left aromatic circle
+  \put(233,0){\circle{180}}%               %circle (five-membered)
+\else \if\member A%left aromatic circle
+  \put(203,-342){\circle{240}}%            %circle (six-membered)
+\else
+  \expandafter\twoCH@@R\member//%
+  \def\aax{3a} \def\aay{7a}%
+      \if\@@tmpa 1\relax%
+        \putratom{272}{-18}{\@@tmpb}%      % right type
+      \else\if\@@tmpa 2\relax%
+        \putratom{233}{60}{\@@tmpb}%       % right type
+      \else\if\@@tmpa 3\relax%
+        \putratom{120}{60}{\@@tmpb}%       % right type
+      \else\if\@@tmpa 4\relax%
+        \putratom{68}{-360}{\@@tmpb}%      % right type
+      \else\if\@@tmpa 5\relax%
+        \putratom{120}{-452}{\@@tmpb}%     % right type
+      \else\if\@@tmpa 6\relax%
+        \putratom{233}{-452}{\@@tmpb}%     % right type
+      \else\if\@@tmpa 7\relax%
+        \putratom{272}{-360}{\@@tmpb}%     % right type
+      \else\if\@@tmpa 8\relax%
+        \putratom{120}{-110}{\@@tmpb}%     % right type
+      \else\ifx\@@tmpa\aax\relax%
+        \putratom{120}{-110}{\@@tmpb}%     % right type
+      \else\ifx\@@tmpa\aay\relax%
+        \putratom{233}{-110}{\@@tmpb}%     % right type
+      \else\if\@@tmpa 9\relax%
+        \putratom{233}{-110}{\@@tmpb}%     % right type
+      \else\if\@@tmpa 0\relax%
+        \putratom{196}{-30}{\@@tmpb}%      % right type
+      \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+   \expandafter\twoCH@R\member//%
+   \set@fusion@nonah
+\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+\fi\fi\fi\fi\fi\fi}%
+\iniflag
+\@tmpclipfalse
+\put(0,0){\set@hetatom@sixh{#3}{5}{1}{5}{-1}%
+   \if@aclip \global\@acliptrue\fi
+   \if@bclip \global\@bcliptrue\fi
+   \if@cclip \global\@ccliptrue\fi
+}% %substituents on 1 to 3
+\put(0,-342){\set@hetatom@sixh{#3}{11}{3}{7}{-1}%
+ \@gclipfalse \if@fclip \global\@gcliptrue \fi%
+ \@fclipfalse \if@eclip \global\@fcliptrue \fi%
+ \@eclipfalse \if@clip \global\@ecliptrue \fi%
+}%substituents on 5 to 7
+\put(0,-342){\set@hetatom@sixh{#3}{-3}{0}{2}{0}%
+ \@aclipfalse \if@aclip \global\@hcliptrue \fi%
+}%%substituent on 4
+\put(0,0){\set@vrtx@nonafuseh{#3}%
+  \@tmpclipfalse
+  \if@iclip \global\@tmpcliptrue \fi
+  \if@jclip \global\@icliptrue \fi
+  \if@tmpclip \global\@jcliptrue \fi
+}% fused positions
+\put(0,0){\setsixringh{#4}{5}{1}{5}{-1}}%  %substituents on 1 to 3
+{\@clipfalse \if@eclip \@cliptrue \fi%     %substituents on 5 to 7
+ \@eclipfalse \if@fclip \@ecliptrue \fi%
+ \@fclipfalse \if@gclip \@fcliptrue \fi%
+\put(0,-342){\setsixringh{#4}{11}{3}{7}{-1}}%
+}%
+{\@aclipfalse \if@hclip \@acliptrue \fi%   %substituent on 4
+\put(0,-342){\setsixringh{#4}{-3}{0}{2}{0}}%
+}%
+{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
+ \put(303,-171){\setatombond{#4}{-8}{4}}%   %9 for 7a position
+}%
+{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
+  \put(103,-171){\setatombond{#4}{-7}{10}}% %8 for 3a position
+}%
+\end{picture}\iniatom\iniflag}%        %end of \nonaheteroh macro
+\def\set@vrtx@nonafuseh#1{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoch@r\@membera{}%
+\ifcase\@tmpa\or\or
+ \or%%%%3
+   \if\@tmpb a%
+     \global\@icliptrue%
+     \putlatom{135}{-211}{\@memberb}%             % left type
+   \else\if\@tmpb h%
+      \XyMTeXWarning{Forbidden fused position `3a' or `8'}%
+   \else\if\@tmpb s%
+      \XyMTeXWarning{Forbidden fused position `3a' or `8'}%
+   \else\ifx\@tmpb\empty\relax
+   \else
+      \XyMTeXWarning{Forbidden fused position `3a' or `8'}%
+   \fi\fi\fi\fi
+ \or\or\or
+ \or%7
+   \if\@tmpb a%
+     \global\@jcliptrue%
+     \putratom{273}{-211}{\@memberb}%             % right type
+   \else\if\@tmpb h%
+      \XyMTeXWarning{Forbidden fused position `7a' or `9'}%
+   \else\if\@tmpb s%
+      \XyMTeXWarning{Forbidden fused position `7a' or `9'}%
+   \else\ifx\@tmpb\empty\relax
+   \else
+      \XyMTeXWarning{Forbidden fused position `7a' or `9'}%
+   \fi\fi\fi\fi
+\or%8 (= 3a)
+   \ifx\@tmpb\empty%
+     \global\@icliptrue%
+     \putlatom{135}{-211}{\@memberb}%             % left type
+   \else
+      \XyMTeXWarning{Forbidden fused position `3a' or `8'}%
+   \fi
+\or%9 (= 7a)
+   \ifx\@tmpb\empty%
+     \global\@jcliptrue%
+     \putratom{273}{-211}{\@memberb}%             % right type
+   \else
+      \XyMTeXWarning{Forbidden fused position `7a' or `9'}%
+   \fi
+\fi\fi}%
+}% end of the macro \set@vrtx@nonafuseh
+\def\nonaheterohi{\@ifnextchar({\@nona@heterohi(@}{\@nona@heterohi(@)}}
+\def\@nona@heterohi(#1){\@ifnextchar[{\@nona@@heterohi(#1)[@}%
+{\@nona@@heterohi(#1)[@]}}
+\def\@nona@@heterohi(#1)[#2]#3#4{\@ifnextchar[%
+{\@nonaheterohi(#1)[#2]{#3}{#4}[@}%
+{\@nonaheterohi(#1)[#2]{#3}{#4}[@]}}
+\def\@nonaheterohi(#1)[#2]#3#4[#5]{%
+\iniflag\iniatom%initialize
+\test@vertix@nonavi{#3}%
+\@reset@ylsw%
+\ylpositionh{#4}{0}{0}{4}{0}%   %substituents on 1 to 3
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{0}\fi
+\else
+{\let\ddd=\eee\let\eee=\fff\let\fff=\ggg
+\ylpositionh{#4}{0}{3}{7}{0}%%substituents on 4 to 6
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{342}\fi
+\else
+{\let\aaa=\hhh
+\ylpositionh{#4}{-6}{0}{2}{0}%%substituent on 7
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{0}\def\@@yli{342}\fi
+\else
+{%
+\clipdetection%
+\@clipfusefalse \if@iclip \@clipfusetrue \fi%
+\ylatombondposition{#4}{-7}{4}%  %8 for 3a position
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{-303}\def\@@yli{171}\fi
+\else
+{%
+\clipdetection%
+\@clipfusefalse \if@jclip \@clipfusetrue \fi%
+\ylatombondposition{#4}{-8}{10}%%9 for 7a position
+}%
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{-103}\def\@@yli{171}\fi
+\fi
+\if@ylsw
+ \yl@shiftii=\@ylii
+ \yl@shifti=\@yli
+ \advance\yl@shiftii\@@ylii
+ \advance\yl@shifti\@@yli
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+ \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+ \reset@yl@xydiff%1999/1/6 by S. Fujita
+\else
+ \begin{picture}(1200,1200)(-400,-800)%
+  \iforigpt \put(-\shiftii,-\shiftiii){\circle*{50}}%
+           \put(-\noshift,-\noshift){\circle{50}}%
+   \typeout{command `nonaheterohi' origin: %
+    (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shiftiii)}\fi%
+\fi
+\begingroup
+\resetbdsw%
+\@bond@@omit{#5}%
+{\let\fff=\jjj \let\eee=\iii%
+\set@skel@bondh{#1}{a}{a}% bond between 1 and 2 \@aaa -> \hskbonda etc
+\set@skel@bondh{#1}{b}{b}% bond between 2 and 3 \@bbb -> \hskbondb etc
+\set@skel@longbond{#1}{c}{hskbondverti}%
+      % bond between 3 and 3a \@ccc -> \hskbondverti etc
+\set@skel@bondh{#1}{j}{e}% bond between 3a and 7a \@jjj -> \hskbonde etc
+\set@skel@bondh{#1}{i}{f}% bond between 7a and 1 \@iii -> \hskbondf etc
+}%
+{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
+ \let\ccc=\iii\let\bbb=\jjj%
+\put(0,-342){\set@skel@bondh{#1}{h}{a}}%
+  % bond between 7a and 7 \@hhh -> \hskbonda etc
+\put(0,-342){\set@skel@bondh{#1}{d}{c}}%
+  % bond between 3a and 4 \@ddd -> \hskbondc etc
+\put(0,-342){\set@skel@bondh{#1}{e}{d}}%
+  % bond between 4 and 5 \@eee -> \hskbondd etc
+\put(0,-342){\set@skel@bondh{#1}{f}{e}}%
+  % bond between 5 and 6 \@fff -> \hskbonde etc
+\put(0,-342){\set@skel@bondh{#1}{g}{f}}%
+  % bond between 6 and 7 \@ggg -> \hskbondf etc
+}%
+\endgroup
+\@tfor\member:=#2\do{%
+\if\member r\relax%
+{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\ggg%
+ \let\ccc=\iii\let\bbb=\jjj%
+ \put(0,-342){\hbondb}% bond between 3a and 7a
+ \put(0,-342){\hbondf}% bond between 6 and 7
+ \put(0,-342){\hbondd}% bond between 4 and 5
+}%
+\else \if\member l\relax%
+\else \if\member a\relax%
+ \put(0,0){\hbonda}% bond between 1 and 2
+\else \if\member b\relax%
+ \put(0,0){\hbondb}% bond between 2 and 3
+\else \if\member c\relax%
+ \put(0,0){\hbondverti}% bond between 3 and 3a
+\else \if\member d\relax%
+{\let\ccc=\iii \let\ddd=\eee%
+ \put(0,-342){\hbondc}% bond between 4 and 3a
+}%
+\else \if\member e\relax%
+{\let\ddd=\eee\let\eee=\fff%
+ \put(0,-342){\hbondd}% bond between 4 and 5
+}%
+\else \if\member f\relax%
+{\let\eee=\fff \let\fff=\ggg%
+ \put(0,-342){\hbonde}% bond between 5 and 6
+}%
+\else \if\member g\relax%
+{\let\aaa=\hhh \let\fff=\ggg%
+ \put(0,-342){\hbondf}% bond between 7 and 6
+}%
+\else \if\member h\relax%
+{\let\aaa=\hhh \let\bbb=\jjj%
+ \put(0,-342){\hbonda}% bond between 7 and 7a
+}%
+\else \if\member i\relax%
+{\let\fff=\jjj%
+ \put(0,0){\hbondf}% bond between 1 and 7a
+}%
+\else \if\member j\relax%
+{\let\ccc=\iii\let\bbb=\jjj%
+ \put(0,-342){\hbondb}% bond between 7a and 3a
+}%
+\else \if\member J\relax%
+{\let\eee=\iii\let\fff=\jjj%
+ \put(0,0){\hbonde}% bond between 7a and 3a
+}%
+\else \if\member B%aromatic circle
+  \put(173,0){\circle{180}}%               %circle (five-membered)
+\else \if\member A%aromatic circle
+  \put(203,-342){\circle{240}}%            %circle (six-membered)
+\else
+ \expandafter\twoCH@@R\member//%
+  \def\aax{7a} \def\aay{3a}%
+      \if\@@tmpa 1\relax%
+        \putratom{68}{-18}{\@@tmpb}%       % right type
+      \else\if\@@tmpa 3\relax%
+        \putratom{233}{60}{\@@tmpb}%       % right type
+      \else\if\@@tmpa 2\relax%
+        \putratom{120}{60}{\@@tmpb}%       % right type
+      \else\if\@@tmpa 7\relax%
+        \putratom{68}{-360}{\@@tmpb}%      % right type
+      \else\if\@@tmpa 6\relax%
+        \putratom{120}{-452}{\@@tmpb}%     % right type
+      \else\if\@@tmpa 5\relax%
+        \putratom{233}{-452}{\@@tmpb}%     % right type
+      \else\if\@@tmpa 4\relax%
+        \putratom{272}{-360}{\@@tmpb}%     % right type
+      \else\if\@@tmpa 9\relax%
+        \putratom{120}{-110}{\@@tmpb}%     % right type
+      \else\ifx\@@tmpa\aax\relax%
+        \putratom{120}{-110}{\@@tmpb}%     % right type
+      \else\ifx\@@tmpa\aay\relax%
+        \putratom{233}{-110}{\@@tmpb}%     % right type
+      \else\if\@@tmpa 8\relax%
+        \putratom{233}{-110}{\@@tmpb}%     % right type
+      \else\if\@@tmpa 0\relax%
+        \putratom{140}{-30}{\@@tmpb}%      % right type
+      \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+   \expandafter\twoCH@R\member//%
+   \set@fusion@nonahi
+\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+\fi\fi\fi\fi\fi\fi}%
+\iniflag
+\put(0,0){\set@hetatom@sixh{#3}{0}{0}{4}{0}%
+   \if@aclip \global\@acliptrue\fi
+   \if@bclip \global\@bcliptrue\fi
+   \if@cclip \global\@ccliptrue\fi
+}% %substituents on 1 to 3
+\put(0,-342){\set@hetatom@sixh{#3}{0}{3}{7}{0}%
+   \@gclipfalse \if@fclip \global\@gcliptrue \fi%
+   \@fclipfalse \if@eclip \global\@fcliptrue \fi%
+   \@eclipfalse \if@clip \global\@ecliptrue \fi}%substituents on 4 to 6
+\put(0,-342){\set@hetatom@sixh{#3}{-6}{0}{2}{0}%
+  \@hclipfalse \if@aclip \global\@hcliptrue \fi}%%substituent on 7
+\put(0,0){\set@vrtx@nonafusehi{#3}%
+  \if@iclip \global\@icliptrue \fi
+  \if@jclip \global\@jcliptrue \fi}% fused positions
+\put(0,0){\setsixringh{#4}{0}{0}{4}{0}}%   %substituents on 1 to 3
+{\@clipfalse \if@eclip \@cliptrue \fi%     %substituents on 4 to 6
+ \@eclipfalse \if@fclip \@ecliptrue \fi%
+ \@fclipfalse \if@gclip \@fcliptrue \fi%
+\put(0,-342){\setsixringh{#4}{0}{3}{7}{0}}%
+}%
+{\@aclipfalse \if@hclip \@acliptrue \fi%   %substituent on 7
+\put(0,-342){\setsixringh{#4}{-6}{0}{2}{0}}%
+}%
+{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
+ \put(303,-171){\setatombond{#4}{-7}{4}}%  %8 for 3a position
+}%
+{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
+  \put(103,-171){\setatombond{#4}{-8}{10}}%%9 for 7a position
+}%
+\end{picture}\iniatom\iniflag}%      %end of \nonaheterohi macro
+\def\set@vrtx@nonafusehi#1{%
+\@forsemicol\member:=#1\do{%
+\ifx\member\empty\else
+\expandafter\@m@mb@r\member;\relax%
+\expandafter\twoCH@R\@membera//%
+\ifcase\@tmpa%
+ \or
+ \or
+ \or%%%%3
+   \if\@tmpb a%
+     \global\@icliptrue%
+     \putratom{273}{-211}{\@memberb}%            % right type
+   \else\relax
+   \fi
+ \or%4
+ \or%5
+ \or%6
+ \or%7
+   \if\@tmpb a%
+     \global\@jcliptrue%
+     \putlatom{135}{-211}{\@memberb}%            % left type
+   \else\relax
+   \fi
+\or%8 (= 3a)
+   \ifx\@tmpb\empty
+     \global\@icliptrue%
+     \putratom{273}{-211}{\@memberb}%            % right type
+   \else
+     \XyMTeXWarning{Forbidden spiro ring for the 3a position}%
+   \fi
+\or%9 (= 7a)
+   \ifx\@tmpb\empty
+     \global\@jcliptrue%
+     \putlatom{135}{-211}{\@memberb}%            % left type
+   \else
+     \XyMTeXWarning{Forbidden spiro ring for the 7a position}%
+   \fi
+\fi\fi}%
+}% end of the macro \set@vrtx@nonafusehi
+\def\purineh{\@ifnextchar[{\@purineh[@}{\@purineh[ra]}}%
+\def\@purineh[#1]#2{%
+\iforigpt \typeout{command `purineh' %
+ is based on `nonaheteroh'.}\fi%
+\nonaheteroh[#1]{1==N;3==N;5==N;7==N}{#2}}%
+\def\purinehi{\@ifnextchar[{\@purinehi[@}{\@purinehi[ra]}}%
+\def\@purinehi[#1]#2{%
+\iforigpt \typeout{command `purinehi' %
+ is based on `nonaheterohi'.}\fi%
+\nonaheterohi[#1]{1==N;3==N;5==N;7==N}{#2}}%
+\def\indoleh{\@ifnextchar[{\@indoleh[@}{\@indoleh[rb]}}%
+\def\@indoleh[#1]#2{%
+\iforigpt \typeout{command `indoleh' %
+ is based on `nonaheteroh'.}\fi%
+\nonaheteroh[#1]{1==N}{#2}}%
+\def\indolehi{\@ifnextchar[{\@indolehi[@}{\@indolehi[rb]}}%
+\def\@indolehi[#1]#2{%
+\iforigpt \typeout{command `indolehi' %
+ is based on `nonaheterohi'.}\fi%
+\nonaheterohi[#1]{1==N}{#2}}%
+\def\indolizineh{%
+ \@ifnextchar[{\@indolizineh[@}{\@indolizineh[aceg]}}%
+\def\@indolizineh[#1]#2{%
+\iforigpt \typeout{command `indolizineh' %
+  is based on `nonaheteroh'.}\fi%
+\nonaheteroh[#1]{7a==N}{#2}}%
+\def\indolizinehi{%
+ \@ifnextchar[{\@indolizinehi[@}{\@indolizinehi[aceg]}}%
+\def\@indolizinehi[#1]#2{%
+\iforigpt \typeout{command `indolizinehi' %
+ is based on `nonaheterohi'.}\fi%
+\nonaheterohi[#1]{7a==N}{#2}}%
+\def\isoindoleh{%
+ \@ifnextchar[{\@isoindoleh[@}{\@isoindoleh[cegi]}}%
+\def\@isoindoleh[#1]#2{%
+\iforigpt \typeout{command `isoindoleh' %
+ is based on `nonaheteroh'.}\fi%
+\nonaheteroh[#1]{2==N}{#2}}%
+\def\isoindolehi{%
+ \@ifnextchar[{\@isoindolehi[@}{\@isoindolehi[cegi]}}%
+\def\@isoindolehi[#1]#2{%
+\iforigpt \typeout{command `isoindolehi' %
+ is based on `nonaheterohi'.}\fi%
+\nonaheterohi[#1]{2==N}{#2}}%
+\def\benzofuraneh{%
+ \@ifnextchar[{\@benzofuraneh[@}{\@benzofuraneh[rb]}}%
+\def\@benzofuraneh[#1]#2{%
+\iforigpt \typeout{command `benzofuraneh' %
+ is based on `nonaheteroh'.}\fi%
+\nonaheteroh[#1]{1==O}{#2}}%
+\def\benzofuranehi{%
+ \@ifnextchar[{\@benzofuranehi[@}{\@benzofuranehi[rb]}}%
+\def\@benzofuranehi[#1]#2{%
+\iforigpt \typeout{command `benzofuranehi' %
+ is based on `nonaheterohi'.}\fi%
+\nonaheterohi[#1]{1==O}{#2}}%
+\def\isobenzofuraneh{\@ifnextchar[{\@isobenzofuraneh[@}%
+ {\@isobenzofuraneh[cegi]}}%
+\def\@isobenzofuraneh[#1]#2{%
+\iforigpt \typeout{command `isobenzofuraneh' %
+ is based on `nonaheteroh'.}\fi%
+\nonaheteroh[#1]{2==O}{#2}}%
+\def\isobenzofuranehi{\@ifnextchar[{\@isobenzofuranehi[@}%
+ {\@isobenzofuranehi[cegi]}}%
+\def\@isobenzofuranehi[#1]#2{%
+\iforigpt \typeout{command `isobenzofuranehi' %
+ is based on `nonaheterohi'.}\fi%
+\nonaheterohi[#1]{2==O}{#2}}%
+\def\benzoxazoleh{%
+ \@ifnextchar[{\@benzoxazoleh[@}{\@benzoxazoleh[rb]}}%
+\def\@benzoxazoleh[#1]#2{%
+\iforigpt \typeout{command `benzoxazoleh' %
+ is based on `nonaheteroh'.}\fi%
+\nonaheteroh[#1]{1==O;3==N}{#2}}%
+\def\benzoxazolehi{%
+ \@ifnextchar[{\@benzoxazolehi[@}{\@benzoxazolehi[rb]}}%
+\def\@benzoxazolehi[#1]#2{%
+\iforigpt \typeout{command `benzoxazolehi' %
+ is based on `nonaheterohi'.}\fi%
+\nonaheterohi[#1]{1==O;3==N}{#2}}%
+\def\sixunith{\@ifnextchar[{\@sixunith[@}{\@sixunith[@]}}
+\def\@sixunith[#1]#2#3#4{\sixheteroh[#1]{#2}{#3}[#4]}
+\def\fiveunith{\@ifnextchar[{\@fiveunith[@}{\@fiveunith[r]}}
+\def\@fiveunith[#1]#2#3#4{\fiveheteroh[#1]{#2}{#3}[#4]}
+\def\fiveunithi{\@ifnextchar[{\@fiveunithi[@}{\@fiveunithi[r]}}
+\def\@fiveunithi[#1]#2#3#4{\fiveheterohi[#1]{#2}{#3}[#4]}
+
+\def\threeheteroh{\@ifnextchar({\@three@heteroh(@}{\@three@heteroh(@)}}
+\def\@three@heteroh(#1){\@ifnextchar[{\@three@@heteroh(#1)[@}%
+{\@three@@heteroh(#1)[@]}}
+\def\@three@@heteroh(#1)[#2]#3#4{\@ifnextchar[%
+{\@threeheteroh(#1)[#2]{#3}{#4}[@}%
+{\@threeheteroh(#1)[#2]{#3}{#4}[@]}}
+\def\@threeheteroh(#1)[#2]#3#4[#5]{%
+\iniatom\iniflag%initialize
+\test@vertix@sixv{#3}{d}{f}{b}{@}{@}{@}%tentative use for six-h
+\@reset@ylsw%
+\ylpositionh{#4}{3}{3}{5}{0}%subst 1
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{235}\def\@@yli{-103}\fi
+\else
+\ylpositionh{#4}{-1}{1}{3}{0}%subst 3
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{103}\def\@@yli{-29}\fi
+\else
+\ylpositionh{#4}{4}{5}{7}{0}%subst 2
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{103}\def\@@yli{-171}\fi
+\fi
+\if@ylsw
+ \yl@shiftii=\@ylii
+ \yl@shifti=\@yli
+ \advance\yl@shiftii\@@ylii
+ \advance\yl@shifti\@@yli
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+ \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+ \reset@yl@xydiff%1999/1/6 by S. Fujita
+\else
+\begin{picture}(580,700)(-200,-240)%
+  \iforigpt \put(-200,-240){\circle*{50}}%
+           \put(0,0){\circle{50}}%
+   \typeout{command `threeheteroh' origin: %
+    (0,0) ---> (200,240)}\fi%
+\fi
+\iniatom\iniflag%initialize
+\test@vertix@sixv{#3}{c}{e}{a}{@}{@}{@}%
+\test@vertix@sixv{#3}{b}{d}{f}{@}{@}{@}%
+{\resetbdsw%
+\@bond@@omit{#5}%
+\put(0,0){\set@skel@bond{#1}{a}{c}}%
+       % bond between 1 and 2 \@aaa -> \skbondc etc
+\put(171,-103){\set@skel@bond{#1}{b}{e}}%
+       % bond between 2 and 3 \@bbb -> \skbonde etc
+\put(0,-200){\set@skel@bond{#1}{c}{a}}%
+       % bond between 3 and 1 \@ccc -> \skbonda etc
+}%
+\@tfor\member:=#2\do{%
+\if\member r\relax%
+\else\if\member a\relax\put(0,0){\bondc}%
+\else\if\member b\relax\put(171,-103){\bonde}%
+\else\if\member c\relax\put(0,-200){\bonda}%
+\else\if\member A\relax% aromatic circle
+  \put(70,103){\circle{100}}%               %circle
+\else
+   \expandafter\twoCH@@R\member//%
+    \set@fusionadd@threeh
+\fi\fi\fi\fi\fi%
+}%
+\iniflag
+\put(-215,103){\set@hetatom@sixh{#3}{3}{3}{5}{0}%
+\if@clip \global\@cliptrue\fi}%subst 1 <--six h 4
+\put(-103,29){\set@hetatom@sixh{#3}{-1}{1}{3}{0}%
+\if@bclip \global\@bcliptrue\fi}%subst 3 <--six h 2
+\put(-103,171){\set@hetatom@sixh{#3}{4}{5}{7}{0}%
+\if@fclip \global\@fcliptrue\fi}%subst 2 <--six h 6
+\put(-235,103){\setsixringh{#4}{3}{3}{5}{0}}%subst 1
+\put(-103,29){\setsixringh{#4}{-1}{1}{3}{0}}%subst 3
+\put(-103,171){\setsixringh{#4}{4}{5}{7}{0}}%subst 2
+\end{picture}%
+\iniatom\iniflag}%     %end of \threeheteroh macro
+\def\set@fusionadd@threeh{%
+      \if\@@tmpa 0\relax%
+        \putratom{35}{85}{\scriptsize\@@tmpb}%      % right type
+      \else\if\@@tmpa 1\relax%
+        \putratom{80}{85}{\scriptsize\@@tmpb}%      % right type
+      \else\if\@@tmpa 2\relax%
+        \putratom{15}{50}{\scriptsize\@@tmpb}%     % right type
+      \else\if\@@tmpa 3\relax%
+        \putratom{15}{120}{\scriptsize\@@tmpb}%    % right type
+      \else\if\@@tmpa 4\relax%
+        \putratom{180}{130}{\scriptsize\@@tmpb}%      % right type
+      \else\if\@@tmpa 5\relax%
+        \putratom{20}{-60}{\scriptsize\@@tmpb}%      % right type
+      \else\if\@@tmpa 6\relax%
+        \putratom{20}{230}{\scriptsize\@@tmpb}%    % right type
+      \else
+        \set@fusion@threeh
+      \fi\fi\fi\fi\fi\fi\fi%
+}%
+\def\set@fusion@threeh{%
+\if\@@tmpa b\relax%
+        \putlratom{0}{0}{\@@tmpb}%    % bond fused
+        \FuseWarning{0}{-200}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
+      \else\if\@@tmpa B\relax%
+        \putlratom{0}{200}{\@@tmpb}%      % bond fused
+        \FuseWarning{0}{200}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
+      \else\if\@@tmpa a\relax%
+        \putlratom{171}{103}{\@@tmpb}%    % bond fused
+        \FuseWarning{171}{103}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
+      \else\if\@@tmpa A\relax%
+        \putlratom{0}{0}{\@@tmpb}%    % bond fused
+        \FuseWarning{-171}{-103}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
+      \else\if\@@tmpa c\relax%
+        \putlratom{0}{200}{\@@tmpb}%      % bond fused
+        \FuseWarning{-171}{103}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
+      \else\if\@@tmpa C\relax%
+        \putlratom{171}{103}{\@@tmpb}%    % bond fused
+        \FuseWarning{171}{-103}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
+\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@threeh
+\def\threeheterohi{\@ifnextchar({\@three@heterohi(@}{\@three@heterohi(@)}}
+\def\@three@heterohi(#1){\@ifnextchar[{\@three@@heterohi(#1)[@}%
+{\@three@@heterohi(#1)[@]}}
+\def\@three@@heterohi(#1)[#2]#3#4{\@ifnextchar[%
+{\@threeheterohi(#1)[#2]{#3}{#4}[@}%
+{\@threeheterohi(#1)[#2]{#3}{#4}[@]}}
+\def\@threeheterohi(#1)[#2]#3#4[#5]{%
+\iniatom\iniflag%initialize
+\test@vertix@sixv{#3}{a}{e}{c}{@}{@}{@}%tentative use for six-h
+\@reset@ylsw%
+\ylpositionh{#4}{0}{0}{2}{0}%subst 1
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{171}\def\@@yli{-103}\fi
+\else
+\ylpositionh{#4}{0}{2}{4}{0}%subst 3
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{303}\def\@@yli{-29}\fi
+\else
+\ylpositionh{#4}{3}{4}{6}{0}%subst 2
+\fi
+\if@ylsw \ifx\@@ylii\empty
+\def\@@ylii{303}\def\@@yli{-171}\fi
+\fi
+\if@ylsw
+ \yl@shiftii=\@ylii
+ \yl@shifti=\@yli
+ \advance\yl@shiftii\@@ylii
+ \advance\yl@shifti\@@yli
+ \advance\yl@shiftii\yl@xdiff
+ \advance\yl@shifti\yl@ydiff
+ \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti)
+ \reset@yl@xydiff%1999/1/6 by S. Fujita
+\else
+\begin{picture}(580,700)(-400,-240)%
+  \iforigpt \put(-400,-240){\circle*{50}}%
+           \put(0,0){\circle{50}}%
+   \typeout{command `threeheterohi' origin: %
+    (0,0) ---> (400,240)}\fi%
+\fi
+\iniatom\iniflag%initialize
+\test@vertix@sixv{#3}{e}{c}{a}{@}{@}{@}%
+\test@vertix@sixv{#3}{f}{d}{b}{@}{@}{@}%
+{\resetbdsw%
+\@bond@@omit{#5}%
+\put(0,0){\set@skel@bond{#1}{a}{d}}%
+       % bond between 1 and 2 \@aaa -> \skbondd etc
+\put(-171,-103){\set@skel@bond{#1}{b}{b}}%
+       % bond between 2 and 3 \@bbb -> \skbondb etc
+\put(0,-200){\set@skel@bond{#1}{c}{f}}%
+       % bond between 3 and 1 \@ccc -> \skbondf etc
+}%
+\@tfor\member:=#2\do{%
+\if\member r\relax%
+\else\if\member a\relax\put(0,0){\bondd}%
+\else\if\member b\relax\put(-171,-103){\bondb}%
+\else\if\member c\relax\put(0,-200){\bondf}%
+\else\if\member A\relax% aromatic circle
+  \put(70,103){\circle{100}}%               %circle
+\else
+   \expandafter\twoCH@@R\member//%
+    \set@fusionadd@threehi
+\fi\fi\fi\fi\fi%
+}%
+\iniflag
+\put(-171,103){\set@hetatom@sixh{#3}{0}{0}{2}{0}%
+\if@aclip \global\@acliptrue\fi}%subst 1 <--six h 1
+\put(-303,29){\set@hetatom@sixh{#3}{0}{2}{4}{0}%
+\if@cclip \global\@ccliptrue\fi}%subst 3 <--six h 3
+\put(-303,171){\set@hetatom@sixh{#3}{3}{4}{6}{0}%
+\if@eclip \global\@ecliptrue\fi}%subst 2 <--six h 5
+\put(-171,103){\setsixringh{#4}{0}{0}{2}{0}}%subst 1
+\put(-303,29){\setsixringh{#4}{0}{2}{4}{0}}%subst 3
+\put(-303,171){\setsixringh{#4}{3}{4}{6}{0}}%subst 2
+\end{picture}%
+\iniatom\iniflag}%     %end of \threeheterohi macro
+\def\set@fusionadd@threehi{%
+      \if\@@tmpa 0\relax%
+        \putlatom{-35}{85}{\scriptsize\@@tmpb}%      % left type
+      \else\if\@@tmpa 1\relax%
+        \putlatom{-80}{85}{\scriptsize\@@tmpb}%      % left type
+      \else\if\@@tmpa 2\relax%
+        \putlatom{-15}{50}{\scriptsize\@@tmpb}%     % left type
+      \else\if\@@tmpa 3\relax%
+        \putlatom{-15}{120}{\scriptsize\@@tmpb}%    % left type
+      \else\if\@@tmpa 4\relax%
+        \putlatom{-180}{130}{\scriptsize\@@tmpb}%      % left type
+      \else\if\@@tmpa 5\relax%
+        \putlatom{-20}{-60}{\scriptsize\@@tmpb}%      % left type
+      \else\if\@@tmpa 6\relax%
+        \putlatom{-20}{230}{\scriptsize\@@tmpb}%    % left type
+      \else
+        \set@fusion@threehi
+      \fi\fi\fi\fi\fi\fi\fi%
+}%
+\def\set@fusion@threehi{%
+\if\@@tmpa b\relax%
+        \putlratom{0}{0}{\@@tmpb}%    % bond fused
+        \FuseWarning{0}{-200}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}%
+      \else\if\@@tmpa B\relax%
+        \putlratom{0}{200}{\@@tmpb}%      % bond fused
+        \FuseWarning{0}{200}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}%
+      \else\if\@@tmpa a\relax%
+        \putlratom{-171}{103}{\@@tmpb}%    % bond fused
+        \FuseWarning{-171}{103}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}%
+      \else\if\@@tmpa A\relax%
+        \putlratom{0}{0}{\@@tmpb}%    % bond fused
+        \FuseWarning{171}{-103}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}%
+      \else\if\@@tmpa c\relax%
+        \putlratom{0}{200}{\@@tmpb}%      % bond fused
+        \FuseWarning{171}{103}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c}%
+      \else\if\@@tmpa C\relax%
+        \putlratom{-171}{103}{\@@tmpb}%    % bond fused
+        \FuseWarning{-171}{-103}%
+          {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C}%
+\fi\fi\fi\fi\fi\fi%
+}% end of the macro \set@fusion@threehi
+\endinput
+%%
+%% End of file `hetaromh.sty'.
-- 
cgit v1.2.3

