%%
%% 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,2001,2002, 2004, 2006, 2010, 2013 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.
%% 
%% This file is part of the XyMTeX system.
%% =======================================
%% 
%% Old Versions:
%% 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
%% Version 2.01 Released on June 20, 2001 (private version)
%% Version 3.00 Released on April 30, 2002
%% Version 4.00 Released on May 30, 2002 (private version)
%% Version 4.01 Released on August 30, 2004
%% Version 4.02 Released on December 20, 2004
%% Version 4.03b Released on September 5, 2006
%% Version 5.00 Released on October 01, 2010
%% 
%% The Present Version:
%% Version 5.01 Released on March 19, 2013
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%%    http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%% 
%% This work has the LPPL maintenance status `maintained'.
%% The Current Maintainer of this work is Shinsaku Fujita.
%% 
%% This work consists of the files hetaromh.dtx and hetaromh.ins
%% and the derived file hetaromh.sty.
%% 
%% =======================================
%% 
%% 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 5.01}
\typeout{       -- Released March 19, 2013 by Shinsaku Fujita}
\def\j@urnalname{hetaromh}
\def\versi@ndate{March 19, 2013}
\def\versi@nno{ver5.01}
\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@Line(42,6)(3,5){78}%           %double bond 1-2
   \else%
     \Put@Line(42,6)(3,5){62}%           %double bond 1-2
   \fi%
  \else%
   \ifx\bbb\empty%
     \Put@Line(57,36)(3,5){62}%          %double bond 1-2
   \else%
     \Put@Line(57,36)(3,5){62}%          %double bond 1-2
   \fi\fi}%
\def\hbondf{%
  \ifx\aaa\empty%
   \ifx\fff\empty%
    \Put@Line(42,-6)(3,-5){78}%          %double bond 1-6
   \else%
     \Put@Line(42,-6)(3,-5){62}%         %double bond 1-6
   \fi%
  \else%
   \ifx\fff\empty%
     \Put@Line(57,-36)(3,-5){62}%        %double bond 1-6
   \else%
     \Put@Line(57,-36)(3,-5){62}%        %double bond 1-6
   \fi\fi}%
 \def\hbondb{%
  \ifx\bbb\empty%
   \ifx\ccc\empty%
    \Put@Line(129,138)(1,0){148}%        %double bond 2-3
   \else%
    \Put@Line(129,138)(1,0){134}%        %double bond 3-2
   \fi%
  \else%
   \ifx\ccc\empty%
    \Put@Line(143,138)(1,0){134}%        %double bond 3-2
   \else%
    \Put@Line(143,138)(1,0){110}%        %double bond 3-2
   \fi\fi}%
 \def\hbondc{%
  \ifx\ddd\empty%
   \ifx\ccc\empty%
    \Put@Line(364,6)(-3,5){78}%          %double bond 4-3
   \else%
    \Put@Line(364,6)(-3,5){62}%          %double bond 4-3
   \fi%
  \else%
   \ifx\ccc\empty%
    \Put@Line(349,36)(-3,5){62}%         %double bond 4-3
   \else%
    \Put@Line(349,36)(-3,5){62}%         %double bond 4-3
   \fi\fi}%
 \def\hbondd{%
  \ifx\ddd\empty%
   \ifx\eee\empty%
    \Put@Line(364,-6)(-3,-5){78}%        %double bond 4-5
   \else%
    \Put@Line(364,-6)(-3,-5){62}%        %double bond 4-5
   \fi%
  \else%
   \ifx\eee\empty%
    \Put@Line(349,-36)(-3,-5){62}%       %double bond 4-5
   \else%
    \Put@Line(349,-36)(-3,-5){62}%       %double bond 4-5
   \fi\fi}%
\def\hbonde{%
  \ifx\fff\empty%
   \ifx\eee\empty%
    \Put@Line(129,-138)(1,0){148}%       %double bond 6-5
   \else%
    \Put@Line(129,-138)(1,0){134}%       %double bond 5-6
   \fi%
  \else%
   \ifx\eee\empty%
    \Put@Line(143,-138)(1,0){134}%       %double bond 5-6
   \else%
    \Put@Line(143,-138)(1,0){110}%       %double bond 5-6
   \fi\fi}%
\def\hbondvert{%
  \ifx\fff\empty%
    \ifx\bbb\empty%
     \Put@Line(136,-138)(0,1){277}%      %double bond 4-3
    \else%
     \Put@Line(136,-138)(0,1){258}%      %double bond 4-3
    \fi%
  \else%
    \ifx\bbb\empty%
     \Put@Line(136,-120)(0,1){258}%      %double bond 4-3
    \else
     \Put@Line(136,-120)(0,1){239}%      %double bond 4-3
    \fi\fi}%
\def\hbondverti{%
  \ifx\eee\empty%
    \ifx\ccc\empty%
     \Put@Line(270,-138)(0,0){277}%      %double bond 4-3
    \else%
     \Put@Line(270,-138)(0,1){258}%      %double bond 4-3
    \fi%
  \else%
    \ifx\ccc\empty%
     \Put@Line(270,-120)(0,1){258}%      %double bond 4-3
    \else%
     \Put@Line(270,-120)(0,1){239}%      %double bond 4-3
    \fi\fi}%
\def\hskbonda{%
  \ifx\aaa\empty%
    \ifx\bbb\empty%
     \Put@Line(0,0)(3,5){103}%           %bond 1-2
    \else%
     \Put@Line(0,0)(3,5){79}%            %bond 1-2
    \fi%
   \else%
    \ifx\bbb\empty%
     \Put@Line(24,40)(3,5){79}%          %bond 1-2
    \else%
     \Put@Line(24,40)(3,5){62}%          %bond 1-2
    \fi\fi}%
\def\hskbondf{%
  \ifx\aaa\empty%
    \ifx\fff\empty
     \Put@Line(0,0)(3,-5){103}%          %bond 1-6
    \else%
     \Put@Line(0,0)(3,-5){79}%           %bond 1-6
    \fi%
   \else%
    \ifx\fff\empty%
     \Put@Line(24,-40)(3,-5){79}%        %bond 1-6
    \else%
     \Put@Line(24,-40)(3,-5){62}%        %bond 1-6
    \fi\fi}%
\def\hskbondc{%
  \ifx\ddd\empty%
    \ifx\ccc\empty%
    \Put@Line(406,0)(-3,5){103}%         %bond 4-3
    \else%
     \Put@Line(406,0)(-3,5){79}%         %bond 4-3
    \fi%
  \else%
    \ifx\ccc\empty%
     \Put@Line(382,40)(-3,5){79}%        %bond 4-3
    \else%
     \Put@Line(382,40)(-3,5){62}%        %bond 4-3
    \fi\fi}%
\def\hskbondd{%
  \ifx\ddd\empty%
    \ifx\eee\empty%
     \Put@Line(406,0)(-3,-5){103}%       %bond 4-5
    \else%
     \Put@Line(406,0)(-3,-5){79}%        %bond 4-5
    \fi%
  \else%
    \ifx\eee\empty%
     \Put@Line(382,-40)(-3,-5){79}%      %bond 4-5
    \else%
     \Put@Line(382,-40)(-3,-5){62}%      %bond 4-5
    \fi\fi}%
\def\hskbondb{%
  \ifx\bbb\empty%
    \ifx\ccc\empty%
     \Put@Line(103,171)(1,0){200}%       %bond 2-3
    \else%
     \Put@Line(103,171)(1,0){160}%       %bond 3-2
    \fi%
  \else%
    \ifx\ccc\empty%
     \Put@Line(143,171)(1,0){160}%       %bond 3-2
    \else%
     \Put@Line(143,171)(1,0){120}%       %bond 3-2
    \fi\fi}%
\def\hskbonde{%
  \ifx\eee\empty%
    \ifx\fff\empty%
     \Put@Line(103,-171)(1,0){200}%      %bond 6-5
    \else%
     \Put@Line(143,-171)(1,0){160}%      %bond 5-6
    \fi%
  \else%
    \ifx\fff\empty%
     \Put@Line(103,-171)(1,0){160}%      %bond 5-6
    \else%
     \Put@Line(143,-171)(1,0){120}%      %bond 5-6
    \fi\fi}%
\def\hskbondvert{%
  \ifx\fff\empty%
    \ifx\bbb\empty%
     \Put@Line(103,-171)(0,1){342}%      %bond 4-3
    \else%
     \Put@Line(103,-171)(0,1){300}%      %bond 4-3
    \fi%
  \else%
    \ifx\bbb\empty%
     \Put@Line(103,171)(0,-1){300}%      %bond 4-3
    \else%
     \Put@Line(103,-129)(0,1){258}%      %bond 4-3
    \fi\fi}%
\def\hskbondverti{%
  \ifx\eee\empty%
    \ifx\ccc\empty%
     \Put@Line(303,-171)(0,1){342}%      %bond 4-3
    \else%
     \Put@Line(303,-171)(0,1){300}%      %bond 4-3
    \fi%
  \else%
    \ifx\ccc\empty%
     \Put@Line(303,171)(0,-1){300}%      %bond 4-3
    \else%
     \Put@Line(303,-129)(0,1){258}%      %bond 4-3
    \fi\fi}%
\def\dothskbonda{%
  \ifx\aaa\empty%
    \ifx\bbb\empty%
       \dotorline(0,0)(3,5){103}/(0,0)(103,171)%
    \else%
       \dotorline(0,0)(3,5){79}/(0,0)(79,132)%
    \fi%
   \else%
    \ifx\bbb\empty%
       \dotorline(24,40)(3,5){79}/(24,40)(103,171)%
    \else%
       \dotorline(24,40)(3,5){62}/(24,40)(86,143)%
    \fi\fi}%
\def\dothskbondb{%
  \ifx\bbb\empty%
    \ifx\ccc\empty%
       \dotorline(103,171)(1,0){200}/(103,171)(303,171)%
    \else%
       \dotorline(103,171)(1,0){160}/(103,171)(263,171)%
    \fi%
  \else%
    \ifx\ccc\empty%
       \dotorline(143,171)(1,0){160}/(143,171)(303,171)%
    \else%
       \dotorline(143,171)(1,0){120}/(143,171)(263,171)%
    \fi\fi}%
\def\dothskbondc{%
  \ifx\ddd\empty%
    \ifx\ccc\empty%
       \dotorline(406,0)(-3,5){103}/(406,0)(303,171)%
    \else%
       \dotorline(406,0)(-3,5){79}/(406,0)(327,132)%
    \fi%
  \else%
    \ifx\ccc\empty%
       \dotorline(382,40)(-3,5){79}/(382,40)(303,171)%
    \else%
       \dotorline(382,40)(-3,5){62}/(382,40)(320,143)%
    \fi\fi}%
\def\dothskbondd{%
  \ifx\ddd\empty%
    \ifx\eee\empty%
       \dotorline(406,0)(-3,-5){103}/(406,0)(303,-171)%
    \else%
       \dotorline(406,0)(-3,-5){79}/(406,0)(327,-132)%
    \fi%
  \else%
    \ifx\eee\empty%
       \dotorline(382,-40)(-3,-5){79}/(382,-40)(303,-171)%
    \else%
       \dotorline(382,-40)(-3,-5){62}/(382,-40)(320,-143)%
    \fi\fi}%
\def\dothskbonde{%
  \ifx\eee\empty%
    \ifx\fff\empty%
       \dotorline(103,-171)(1,0){200}/(103,-171)(303,-171)%
    \else%
       \dotorline(143,-171)(1,0){160}/(143,-171)(303,-171)%
    \fi%
  \else%
    \ifx\fff\empty%
       \dotorline(103,-171)(1,0){160}/(103,-171)(263,-171)%
    \else%
       \dotorline(143,-171)(1,0){120}/(143,-171)(263,-171)%
    \fi\fi}%
\def\dothskbondf{%
  \ifx\aaa\empty%
    \ifx\fff\empty
       \dotorline(0,0)(3,-5){103}/(0,0)(103,-171)%
    \else%
       \dotorline(0,0)(3,-5){79}/(0,0)(79,-131)%
    \fi%
   \else%
    \ifx\fff\empty%
       \dotorline(24,-40)(3,-5){79}/(24,-40)(103,-171)%
    \else%
       \dotorline(24,-40)(3,-5){62}/(24,-40)(86,-143)%
    \fi\fi}%
\def\dothskbondvert{%
  \ifx\fff\empty%
    \ifx\bbb\empty%
       \dotorline(103,-171)(0,1){342}/(103,-171)(103,171)%
    \else%
       \dotorline(103,-171)(0,1){300}/(103,-171)(103,129)%
    \fi%
  \else%
    \ifx\bbb\empty%
       \dotorline(103,171)(0,-1){300}/(103,171)(103,-129)%
    \else%
       \dotorline(103,-129)(0,1){258}/(103,-129)(103,129)%
    \fi\fi}%
\def\dothskbondverti{%
  \ifx\eee\empty%
    \ifx\ccc\empty%
       \dotorline(303,-171)(0,1){342}/(303,-171)(303,171)%
    \else%
       \dotorline(303,-171)(0,1){300}/(303,-171)(303,129)%
    \fi%
  \else%
    \ifx\ccc\empty%
       \dotorline(303,171)(0,-1){300}/(303,171)(303,-129)%
    \else%
       \dotorline(303,-129)(0,1){258}/(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
  \def\skbondreplace{#3}%
  \@skbondlistfalse
  \@tfor\member:=#1\do{%
   \expandafter\twoCH@@R\member//%
    \if\@@tmpa #2\relax%
      \if\@@tmpb A\relax%
        \@skbondlisttrue
        \expandafter\csname dothskbond#3\endcsname% \dothskbonda etc.
      \else\if\@@tmpb B\relax%
        \@skbondlisttrue
        {\thicklines
        \expandafter\csname hskbond#3\endcsname% \hskbonda etc.
        }%
      \else%%%added for color 2010/10/01
        \@skbondlisttrue%
        \put(0,0){\@@tmpb}%
      \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}%
\begin{ShiftPicEnv}(0,0)(-\yl@shiftii,-\yl@shifti)/%
(880,800)(-240,-400){sixheteroh}%2002/4/30 by S. Fujita
{%
\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@oCircle(203,0){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{ShiftPicEnv}%
\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
\begin{ShiftPicEnv}(0,0)(-\yl@shiftii,-\yl@shifti)/%
(880,800)(-240,-400){sixheterohi}%2002/4/30 by S. Fujita
{\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@oCircle(203,0){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{ShiftPicEnv}%
\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\pyrazinehi{\@ifnextchar[{\@pyrazinehi[@}{\@pyrazinehi[r]}}%
\def\@pyrazinehi[#1]#2{%
\iforigpt \typeout{command `pyrazinehi' %
 is based on `sixheterohi'.}\fi%
\sixheterohi[#1]{1==N;4==N}{#2}}%end of \pyrazinehi 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
\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
(800,880)(-240,-400){fiveheteroh}%2002/4/30 by S. Fujita
{\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@oCircle(233,0){180}%               %circle
\else
    \expandafter\twoCH@@R\member//%
    \set@fusionadd@fiveh
\fi\fi\fi\fi\fi\fi\fi}%
\Put@Direct(0,0){\set@hetatom@sixh{#3}{5}{1}{5}{-1}%
\storeclipinfo%added 2001/06/20 by S. Fujita
}%   % for 1 to 3
\developclipinfo%added 2001/06/20 by S. Fujita
\Put@Direct(0,0){\set@hetatom@sixh{#3}{10}{4}{7}{-1}%
\storeclipinfo%added 2001/06/20 by S. Fujita
}%  % for 4 to 5
\developclipinfo%added 2001/06/20 by S. Fujita
\Put@Direct(0,0){\setsixringh{#4}{5}{1}{5}{-1}}%   % for 1 to 3
\Put@Direct(0,0){\setsixringh{#4}{10}{4}{7}{-1}}%  % for 4 to 5
\end{ShiftPicEnvB}%
\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
\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
(800,880)(-240,-400){fiveheterohi}%2002/4/30 by S. Fujita
{\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@oCircle(173,0){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{ShiftPicEnvB}%
\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=\gggA
\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
\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
(1200,1200)(-400,-800){decaheteroh}%2002/4/30 by S. Fujita
\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=\gggA%
 \let\ccc=\iii\let\bbb=\jjj%
\Put@Direct(0,-342){\set@skel@bondh{#1}{i}{a}}%
  % bond between 8a and 8 \@iii -> \hskbonda etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{e}{c}}%
  % bond between 4a and 5 \@eee -> \hskbondc etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{f}{d}}%
  % bond between 5 and 6 \@fff -> \hskbondd etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{g}{e}}%
  % bond between 6 and 7 \@ggg -> \hskbonde etc
\Put@Direct(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@Direct(0,0){\hbonda}% bond between 1 and 2%
 \Put@Direct(0,0){\hbondc}% bond between 3 and 4%
}%
{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\gggA%
 \let\ccc=\iii\let\bbb=\jjj%
 \Put@Direct(0,-342){\hbondb}% bond between 8a and 4a
 \Put@Direct(0,-342){\hbondf}% bond between 8 and 7
 \Put@Direct(0,-342){\hbondd}% bond between 5 and 6
}%
\else \if\member l\relax%
\else \if\member a\relax%
 \Put@Direct(0,0){\hbonda}% bond between 1 and 2
\else \if\member b\relax%
 \Put@Direct(0,0){\hbondb}% bond between 2 and 3
\else \if\member c\relax%
 \Put@Direct(0,0){\hbondc}% bond between 3 and 4
\else \if\member d\relax%
{\let\eee=\iii%
 \Put@Direct(0,0){\hbondd}% bond between 4 and 4a
}%
\else \if\member e\relax%
{\let\ccc=\iii \let\ddd=\eee%
 \Put@Direct(0,-342){\hbondc}% bond between 5 and 4a
}%
\else \if\member f\relax%
{\let\ddd=\eee \let\eee=\fff%
 \Put@Direct(0,-342){\hbondd}% bond between 5 and 6
}%
\else \if\member g\relax%
{\let\eee=\fff \let\fff=\gggA%
 \Put@Direct(0,-342){\hbonde}% bond between 6 and 7
}%
\else \if\member h\relax%
{\let\aaa=\hhh \let\fff=\gggA%
 \Put@Direct(0,-342){\hbondf}% bond between 8 and 7
}%
\else \if\member i\relax%
{\let\aaa=\hhh \let\bbb=\jjj%
 \Put@Direct(0,-342){\hbonda}% bond between 8 and 8a
}%
\else \if\member j\relax%
{\let\fff=\jjj%
 \Put@Direct(0,0){\hbondf}% bond between 1 and 8a
}%
\else \if\member k\relax%
{\let\ccc=\iii\let\bbb=\jjj%
 \Put@Direct(0,-342){\hbondb}% bond between 8a and 4a
}%
\else \if\member K\relax%
{\let\eee=\iii\let\fff=\jjj%
 \Put@Direct(0,0){\hbonde}% bond between 8a and 4a in the other ring
}%
\else \if\member A%left aromatic circle
  \Put@oCircle(203,0){240}%                %circle
\else \if\member B%left aromatic circle
  \Put@oCircle(203,-342){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@Direct(0,0){\set@hetatom@sixh{#3}{0}{0}{5}{0}%
\storeclipinfo
}% %substituents on 1 to 4
\developclipinfo
\Put@Direct(0,-342){\iniflag%2000/11/11 by Shinsaku Fujita
   \set@hetatom@sixh{#3}{-1}{3}{7}{0}%
   \@gclipfalse \if@fclip \@gcliptrue \fi%
   \@fclipfalse \if@eclip \@fcliptrue \fi%
   \@eclipfalse \if@clip \@ecliptrue \fi
   \@clipfalse%2006/9/5added
\storeclipinfo
}%substituents on 5 to 7
\Put@Direct(0,-342){\iniflag%2000/11/11 by Shinsaku Fujita
  \set@hetatom@sixh{#3}{-7}{0}{2}{0}%
  \@hclipfalse \if@aclip \@hcliptrue \fi
  \@aclipfalse%2006/9/5added
\storeclipinfo
}%%substituent on 8
\Put@Direct(0,0){\set@vrtx@fuseh{#3}%
\storeclipinfo
}% fused positions
\developclipinfo
\global\drawsamesubsttrue%2002/05/30 warning on
\Put@Direct(0,0){\setsixringh{#4}{0}{0}{5}{0}}% %substituents on 1 to 4
\global\drawsamesubstfalse%2002/05/30 warning off
{\@clipfalse \if@eclip \@cliptrue \fi%   %substituents on 5 to 7
 \@eclipfalse \if@fclip \@ecliptrue \fi%
 \@fclipfalse \if@gclip \@fcliptrue \fi%
\Put@Direct(0,-342){\setsixringh{#4}{-1}{3}{7}{0}}%
}%
{\@aclipfalse \if@hclip \@acliptrue \fi%   %substituent on 8
\Put@Direct(0,-342){\setsixringh{#4}{-7}{0}{2}{0}}%
}%
{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
 \Put@Direct(303,-171){\setatombond{#4}{-8}{4}}%   %9 for 4a position
}%
{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
  \Put@Direct(103,-171){\setatombond{#4}{-9}{10}}% %10 for 8a position
}%
\end{ShiftPicEnvB}%
\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=\gggA
\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
\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
(1200,1200)(-400,-800){decaheterohi}%2002/4/30 by S. Fujita
\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=\gggA%
 \let\ccc=\iii\let\bbb=\jjj%
\Put@Direct(0,-342){\set@skel@bondh{#1}{e}{a}}%
  % bond between 4a and 5 \@eee -> \hskbonda etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{i}{c}}%
  % bond between 8a and 8 \@iii -> \hskbondc etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{h}{d}}%
  % bond between 7 and 8 \@hhh -> \hskbondd etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{g}{e}}%
  % bond between 6 and 7 \@ggg -> \hskbonde etc
\Put@Direct(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@Direct(0,0){\hbonda}% bond between 1 and 2
 \Put@Direct(0,0){\hbondc}% bond between 3 and 4
}%
{\let\aaa=\hhh \let\ddd=\eee\let\eee=\fff\let\fff=\gggA%
 \let\ccc=\iii\let\bbb=\jjj%
 \Put@Direct(0,-342){\hbondb}% bond between 8a and 4a
 \Put@Direct(0,-342){\hbondf}% bond between 8 and 7
 \Put@Direct(0,-342){\hbondd}% bond between 5 and 6
}%
\else \if\member l\relax%
\else \if\member a\relax%
 \Put@Direct(0,0){\hbondc}% bond between 3 and 4
\else \if\member b\relax
 \Put@Direct(0,0){\hbondb}% bond between 2 and 3
\else \if\member c\relax
 \Put@Direct(0,0){\hbonda}% bond between 1 and 2
\else \if\member d\relax%
{\let\fff=\jjj%
 \Put@Direct(0,0){\hbondf}% bond between 1 and 8a
}%
\else \if\member e\relax%
{\let\aaa=\hhh \let\bbb=\jjj%
 \Put@Direct(0,-342){\hbonda}% bond between 8 and 8a
}%
\else \if\member f\relax%
{\let\aaa=\hhh \let\fff=\gggA%
 \Put@Direct(0,-342){\hbondf}% bond between 8 and 7
}%
\else \if\member g\relax%
{\let\eee=\fff \let\fff=\gggA%
 \Put@Direct(0,-342){\hbonde}% bond between 6 and 7
}%
\else \if\member h\relax%
{\let\ddd=\eee \let\eee=\fff%
 \Put@Direct(0,-342){\hbondd}% bond between 5 and 6
}%
\else \if\member i\relax%
{\let\ccc=\iii \let\ddd=\eee%
 \Put@Direct(0,-342){\hbondc}% bond between 5 and 4a
}%
\else \if\member j\relax%
{\let\eee=\iii%
 \Put@Direct(0,0){\hbondd}% bond between 4 and 4a
}%
\else \if\member k\relax%
{\let\ccc=\iii\let\bbb=\jjj%
 \Put@Direct(0,-342){\hbondb}% bond between 8a and 4a
}%
\else \if\member K\relax%
{\let\eee=\iii\let\fff=\jjj%
 \Put@Direct(0,0){\hbonde}% bond between 8a and 4a
}%
\else \if\member A%left aromatic circle
  \Put@oCircle(203,0){240}%                %circle
\else \if\member B%left aromatic circle
  \Put@oCircle(203,-342){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@Direct(0,0){\set@hetatom@sixh{#3}{5}{0}{5}{-1}%
\storeclipinfo
}% %substituents on 1 to 4
\developclipinfo
\Put@Direct(0,-342){\iniflag%2000/11/11 by Shinsaku Fujita
 \set@hetatom@sixh{#3}{12}{3}{7}{-1}%
 \@gclipfalse \if@fclip \@gcliptrue \fi%
 \@fclipfalse \if@eclip \@fcliptrue \fi%
 \@eclipfalse \if@clip \@ecliptrue \fi%
\storeclipinfo
}%substituents on 6 to 8
\developclipinfo
\Put@Direct(0,-342){\set@hetatom@sixh{#3}{-4}{0}{2}{0}%
 \@aclipfalse \if@aclip \@hcliptrue \fi%
\storeclipinfo
}%%substituent on 5
\developclipinfo
\Put@Direct(0,0){\set@vrtx@decafusehi{#3}%
  \@tmpclipfalse
  \if@iclip \@tmpcliptrue \fi
  \if@jclip \@icliptrue \fi
  \if@tmpclip \@jcliptrue \fi
\storeclipinfo
}% fused positions
\developclipinfo
\global\drawsamesubsttrue%2002/05/30 warning on
\Put@Direct(0,0){\setsixringh{#4}{5}{0}{5}{-1}}% %substituents on 1 to 4
\global\drawsamesubstfalse%2002/05/30 warning off
{\@clipfalse \if@eclip \@cliptrue \fi%    %substituents on 6 to 8
 \@eclipfalse \if@fclip \@ecliptrue \fi%
 \@fclipfalse \if@gclip \@fcliptrue \fi%
\Put@Direct(0,-342){\setsixringh{#4}{12}{3}{7}{-1}}%
}%
{\@aclipfalse \if@hclip \@acliptrue \fi%    %substituent on 5
\Put@Direct(0,-342){\setsixringh{#4}{-4}{0}{2}{0}}%
}%
{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
 \Put@Direct(303,-171){\setatombond{#4}{-9}{4}}%   %10 for 8a position
}%
{\@clipfusefalse \if@jclip \@clipfusetrue \fi
  \Put@Direct(103,-171){\setatombond{#4}{-8}{10}}% %9 for 4a position
}%
\end{ShiftPicEnvB}%
\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@Direct(0,0){\set@fusionadd@sixhi}%
  \else\if\@tmpa A%
      \let\@@tmpa=\@tmpa
      \Put@Direct(0,0){\set@fusionadd@sixhi}%
  \else\if\@tmpa b%
      \let\@@tmpa=\@tmpa
      \Put@Direct(0,0){\set@fusionadd@sixhi}%
  \else\if\@tmpa B%
      \let\@@tmpa=\@tmpa
      \Put@Direct(0,0){\set@fusionadd@sixhi}%
  \else\if\@tmpa c%
      \let\@@tmpa=\@tmpa
      \Put@Direct(0,0){\set@fusionadd@sixhi}%
  \else\if\@tmpa C%
      \let\@@tmpa=\@tmpa
      \Put@Direct(0,0){\set@fusionadd@sixhi}%
  \else\if\@tmpa d%
      \let\@@tmpa=\@tmpa
      \Put@Direct(0,0){\set@fusionadd@sixhi}%
      \if@smallringsw\else
       \XyMTeXWarning{Unfavorable Fusion for bond `d'}%
      \fi
  \else\if\@tmpa D%
      \let\@@tmpa=\@tmpa
      \Put@Direct(0,0){\set@fusionadd@sixhi}%
      \if@smallringsw\else
       \XyMTeXWarning{Unfavorable Fusion for bond `D'}%
      \fi
  \else\if\@tmpa e%
      \edef\@@tmpa{c}%
      \Put@Direct(0,-342){\set@fusionadd@sixhi}%
      \if@smallringsw\else
       \XyMTeXWarning{Unfavorable Fusion for bond `e'}%
      \fi
  \else\if\@tmpa E%
      \edef\@@tmpa{C}%
      \Put@Direct(0,-342){\set@fusionadd@sixhi}%
      \if@smallringsw\else
       \XyMTeXWarning{Unfavorable Fusion for bond `E'}%
      \fi
  \else\if\@tmpa f%
      \edef\@@tmpa{d}%
      \Put@Direct(0,-342){\set@fusionadd@sixhi}%
  \else\if\@tmpa F%
      \edef\@@tmpa{D}%
      \Put@Direct(0,-342){\set@fusionadd@sixhi}%
  \else\if\@tmpa g%
      \edef\@@tmpa{e}%
      \Put@Direct(0,-342){\set@fusionadd@sixhi}%
  \else\if\@tmpa G%
      \edef\@@tmpa{E}%
      \Put@Direct(0,-342){\set@fusionadd@sixhi}%
  \else\if\@tmpa h%
      \edef\@@tmpa{f}%
      \Put@Direct(0,-342){\set@fusionadd@sixhi}%
  \else\if\@tmpa H%
      \edef\@@tmpa{F}%
      \Put@Direct(0,-342){\set@fusionadd@sixhi}%
  \else\if\@tmpa i%
      \edef\@@tmpa{a}%
      \Put@Direct(0,-342){\set@fusionadd@sixhi}%
      \if@smallringsw\else
       \XyMTeXWarning{Unfavorable Fusion for bond `i'}%
      \fi
  \else\if\@tmpa I%
      \edef\@@tmpa{A}%
      \Put@Direct(0,-342){\set@fusionadd@sixhi}%
      \if@smallringsw\else
       \XyMTeXWarning{Unfavorable Fusion for bond `I'}%
      \fi
  \else\if\@tmpa j%
      \edef\@@tmpa{f}%
      \Put@Direct(0,0){\set@fusionadd@sixhi}%
      \if@smallringsw\else
       \XyMTeXWarning{Unfavorable Fusion for bond `j'}%
      \fi
  \else\if\@tmpa J%
      \edef\@@tmpa{F}%
      \Put@Direct(0,0){\set@fusionadd@sixhi}%
      \if@smallringsw\else
       \XyMTeXWarning{Unfavorable Fusion for bond `J'}%
      \fi
  \else\if\@tmpa k%
      \edef\@@tmpa{e}%
      \Put@Direct(0,0){\set@fusionadd@sixhi}%
      \if@smallringsw\else
       \XyMTeXWarning{Forbidden Fusion for bond `k'}%
      \fi
  \else\if\@tmpa K%
      \edef\@@tmpa{E}%
      \Put@Direct(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\quinoxalinehi{%
 \@ifnextchar[{\@quinoxalinehi[@}{\@quinoxalinehi[acfhk]}}%
\def\@quinoxalinehi[#1]#2{%
\iforigpt \typeout{command `quinoxalinehi' %
 is based on `decaheterohi'.}\fi%
\decaheterohi[#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=\gggA
\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
\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
(1200,1200)(-400,-800){nonaheteroh}%2002/4/30 by S. Fujita
\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=\gggA
 \let\ccc=\iii\let\bbb=\jjj%
\Put@Direct(0,-342){\set@skel@bondh{#1}{d}{a}}%
  % bond between 3a and 4 \@ddd -> \hskbonda etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{h}{c}}%
  % bond between 7a and 7 \@hhh -> \hskbondc etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{g}{d}}%
  % bond between 6 and 7 \@ggg -> \hskbondd etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{f}{e}}%
  % bond between 5 and 6 \@fff -> \hskbonde etc
\Put@Direct(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=\gggA%
 \let\ccc=\iii\let\bbb=\jjj%
 \Put@Direct(0,-342){\hbondb}% bond between 3a and 7a
 \Put@Direct(0,-342){\hbondf}% bond between 4 and 5
 \Put@Direct(0,-342){\hbondd}% bond between 6 and 7
}%
\else \if\member l\relax%
\else \if\member a\relax%
 \Put@Direct(0,0){\hbondc}% bond between 3 and 4
\else \if\member b\relax%
 \Put@Direct(0,0){\hbondb}% bond between 2 and 3
\else \if\member c\relax%
 \Put@Direct(0,0){\hbondvert}% bond between 3 and 3a
\else \if\member d\relax%
{\let\aaa=\hhh \let\bbb=\jjj%
 \Put@Direct(0,-342){\hbonda}% bond between 4 and 3a
}%
\else \if\member e\relax%
{\let\aaa=\hhh \let\fff=\gggA%
 \Put@Direct(0,-342){\hbondf}% bond between 4 and 5
}%
\else \if\member f\relax%
{\let\eee=\fff \let\fff=\gggA%
 \Put@Direct(0,-342){\hbonde}% bond between 5 and 6
}%
\else \if\member g\relax%
{\let\ddd=\eee \let\eee=\fff%
 \Put@Direct(0,-342){\hbondd}% bond between 6 and 7
}%
\else \if\member h\relax%
{\let\ccc=\iii \let\ddd=\eee%
 \Put@Direct(0,-342){\hbondc}% bond between 7 and 7a
}%
\else \if\member i\relax%
{\let\eee=\iii%
 \Put@Direct(0,0){\hbondd}% bond between 1 and 7a
}%
\else \if\member j\relax%
{\let\ccc=\iii\let\bbb=\jjj%
 \Put@Direct(0,-342){\hbondb}% bond between 7a and 3a
}%
\else \if\member J\relax%
{\let\eee=\iii\let\fff=\jjj%
 \Put@Direct(0,0){\hbonde}% bond between 7a and 3a
}%
\else \if\member B%left aromatic circle
  \Put@oCircle(233,0){180}%               %circle (five-membered)
\else \if\member A%left aromatic circle
  \Put@oCircle(203,-342){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@Direct(0,-342){%
%%\@clipfalse%2003/5/1 bugfix by Shinsaku Fujita deleted/2006/9/5
\set@hetatom@sixh{#3}{11}{3}{7}{-1}%
 \@gclipfalse \if@fclip \@gcliptrue \fi%
 \@fclipfalse \if@eclip \@fcliptrue \fi%
 \@eclipfalse \if@clip \@ecliptrue \fi%
 \@clipfalse%2006/9/5added
\storeclipinfo
}%substituents on 5 to 7
%%\developclipinfo%%2006/9/5 deleted
\Put@Direct(0,0){\set@hetatom@sixh{#3}{5}{1}{5}{-1}%
\storeclipinfo
}% %substituents on 1 to 3
%%\developclipinfo%%2006/9/5 deleted
\Put@Direct(0,-342){\set@hetatom@sixh{#3}{-3}{0}{2}{0}%
 \@hclipfalse \if@aclip \@hcliptrue \fi%%2006/9/5 bugfix
\storeclipinfo
}%%substituent on 4
%%\developclipinfo%%2006/9/5 deleted
\Put@Direct(0,0){\set@vrtx@nonafuseh{#3}%
  \@iclipfalse%2006/9/5 bugfix by Shinsaku Fujita
  \@jclipfalse%2006/9/5 bugfix by Shinsaku Fujita
  \@tmpclipfalse
%%  \if@iclip \global\@tmpcliptrue \fi
%%  \if@jclip \global\@icliptrue \fi
%%  \if@tmpclip \global\@jcliptrue \fi
  \if@iclip \@tmpcliptrue \fi
  \if@jclip \@icliptrue \else \@iclipfalse \fi
  \if@tmpclip \@jcliptrue \else \@jclipfalse \fi
\storeclipinfo
}% fused positions
\developclipinfo
\Put@Direct(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@Direct(0,-342){\setsixringh{#4}{11}{3}{7}{-1}}%
}%
{\@aclipfalse \if@hclip \@acliptrue \fi%   %substituent on 4
\Put@Direct(0,-342){\setsixringh{#4}{-3}{0}{2}{0}}%
}%
{%
 \@clipfusefalse \if@jclip \@clipfusetrue \fi%2006/9/5
 \Put@Direct(303,-171){\setatombond{#4}{-8}{4}}%   %9 for 7a position
}%
{%
 \@clipfusefalse \if@iclip \@clipfusetrue \fi%2006/9/5
  \Put@Direct(103,-171){\setatombond{#4}{-7}{10}}% %8 for 3a position
}%
\end{ShiftPicEnvB}%
\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=\gggA
\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
\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
(1200,1200)(-400,-800){nonaheterohi}%2002/4/30 by S. Fujita
\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=\gggA%
 \let\ccc=\iii\let\bbb=\jjj%
\Put@Direct(0,-342){\set@skel@bondh{#1}{h}{a}}%
  % bond between 7a and 7 \@hhh -> \hskbonda etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{d}{c}}%
  % bond between 3a and 4 \@ddd -> \hskbondc etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{e}{d}}%
  % bond between 4 and 5 \@eee -> \hskbondd etc
\Put@Direct(0,-342){\set@skel@bondh{#1}{f}{e}}%
  % bond between 5 and 6 \@fff -> \hskbonde etc
\Put@Direct(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=\gggA%
 \let\ccc=\iii\let\bbb=\jjj%
 \Put@Direct(0,-342){\hbondb}% bond between 3a and 7a
 \Put@Direct(0,-342){\hbondf}% bond between 6 and 7
 \Put@Direct(0,-342){\hbondd}% bond between 4 and 5
}%
\else \if\member l\relax%
\else \if\member a\relax%
 \Put@Direct(0,0){\hbonda}% bond between 1 and 2
\else \if\member b\relax%
 \Put@Direct(0,0){\hbondb}% bond between 2 and 3
\else \if\member c\relax%
 \Put@Direct(0,0){\hbondverti}% bond between 3 and 3a
\else \if\member d\relax%
{\let\ccc=\iii \let\ddd=\eee%
 \Put@Direct(0,-342){\hbondc}% bond between 4 and 3a
}%
\else \if\member e\relax%
{\let\ddd=\eee\let\eee=\fff%
 \Put@Direct(0,-342){\hbondd}% bond between 4 and 5
}%
\else \if\member f\relax%
{\let\eee=\fff \let\fff=\gggA%
 \Put@Direct(0,-342){\hbonde}% bond between 5 and 6
}%
\else \if\member g\relax%
{\let\aaa=\hhh \let\fff=\gggA%
 \Put@Direct(0,-342){\hbondf}% bond between 7 and 6
}%
\else \if\member h\relax%
{\let\aaa=\hhh \let\bbb=\jjj%
 \Put@Direct(0,-342){\hbonda}% bond between 7 and 7a
}%
\else \if\member i\relax%
{\let\fff=\jjj%
 \Put@Direct(0,0){\hbondf}% bond between 1 and 7a
}%
\else \if\member j\relax%
{\let\ccc=\iii\let\bbb=\jjj%
 \Put@Direct(0,-342){\hbondb}% bond between 7a and 3a
}%
\else \if\member J\relax%
{\let\eee=\iii\let\fff=\jjj%
 \Put@Direct(0,0){\hbonde}% bond between 7a and 3a
}%
\else \if\member B%aromatic circle
  \Put@oCircle(173,0){180}%               %circle (five-membered)
\else \if\member A%aromatic circle
  \Put@oCircle(203,-342){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@Direct(0,0){\set@hetatom@sixh{#3}{0}{0}{4}{0}%
\storeclipinfo
}% %substituents on 1 to 3
\developclipinfo
\Put@Direct(0,-342){\set@hetatom@sixh{#3}{0}{3}{7}{0}%
   \@gclipfalse \if@fclip \@gcliptrue \fi%
   \@fclipfalse \if@eclip \@fcliptrue \fi%
   \@eclipfalse \if@clip \@ecliptrue \fi
\storeclipinfo
}%substituents on 4 to 6
\developclipinfo
\Put@Direct(0,-342){%
\@aclipfalse\@bclipfalse\@cclipfalse%2003/05/01 bugfix by Shinsaku Fujita
\set@hetatom@sixh{#3}{-6}{0}{2}{0}%
  \@hclipfalse \if@aclip \@hcliptrue \fi
\storeclipinfo
}%%substituent on 7
\developclipinfo
\Put@Direct(0,0){\set@vrtx@nonafusehi{#3}%
\storeclipinfo
}% fused positions
\developclipinfo
\Put@Direct(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@Direct(0,-342){\setsixringh{#4}{0}{3}{7}{0}}%
}%
{\@aclipfalse \if@hclip \@acliptrue \fi%   %substituent on 7
\Put@Direct(0,-342){\setsixringh{#4}{-6}{0}{2}{0}}%
}%
{\@clipfusefalse \if@iclip \@clipfusetrue \fi%
 \Put@Direct(303,-171){\setatombond{#4}{-7}{4}}%  %8 for 3a position
}%
{\@clipfusefalse \if@jclip \@clipfusetrue \fi%
  \Put@Direct(103,-171){\setatombond{#4}{-8}{10}}%%9 for 7a position
}%
\end{ShiftPicEnvB}%
\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
\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
(580,700)(-200,-240){threeheteroh}%
(200,240)%2002/4/30 by S. Fujita
\iniatom\iniflag%initialize
\test@vertix@sixv{#3}{c}{e}{a}{@}{@}{@}%
\test@vertix@sixv{#3}{b}{d}{f}{@}{@}{@}%
{\resetbdsw%
\@bond@@omit{#5}%
\Put@Direct(0,0){\set@skel@bond{#1}{a}{c}}%
       % bond between 1 and 2 \@aaa -> \skbondc etc
\Put@Direct(171,-103){\set@skel@bond{#1}{b}{e}}%
       % bond between 2 and 3 \@bbb -> \skbonde etc
\Put@Direct(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@Direct(0,0){\bondc}%
\else\if\member b\relax\Put@Direct(171,-103){\bonde}%
\else\if\member c\relax\Put@Direct(0,-200){\bonda}%
\else\if\member A\relax% aromatic circle
  \Put@oCircle(70,103){100}%               %circle
\else
   \expandafter\twoCH@@R\member//%
    \set@fusionadd@threeh
\fi\fi\fi\fi\fi%
}%
\iniflag
\Put@Direct(-215,103){\set@hetatom@sixh{#3}{3}{3}{5}{0}%
\storeclipinfo
}%subst 1 <--six h 4
\developclipinfo
\Put@Direct(-103,29){\set@hetatom@sixh{#3}{-1}{1}{3}{0}%
\storeclipinfo
}%subst 3 <--six h 2
\developclipinfo
\Put@Direct(-103,171){\set@hetatom@sixh{#3}{4}{5}{7}{0}%
\storeclipinfo
}%subst 2 <--six h 6
\developclipinfo
\Put@Direct(-235,103){\setsixringh{#4}{3}{3}{5}{0}}%subst 1
\Put@Direct(-103,29){\setsixringh{#4}{-1}{1}{3}{0}}%subst 3
\Put@Direct(-103,171){\setsixringh{#4}{4}{5}{7}{0}}%subst 2
\end{ShiftPicEnvB}%
\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%
\global\let\FuseWarning=\FuseW@rning%added 2010/10/01
}% end of the macro \set@fusion@threeh
\def\oxiraneh{\@ifnextchar[{\@oxiraneh[@}{\@oxiraneh[]}}
\def\@oxiraneh[#1]#2{%
\iforigpt \typeout{command `oxiraneh' %
  is based on `threeheteroh'.}\fi%
\threeheteroh[#1]{1==O}{#2}}
\def\aziridineh{\@ifnextchar[{\@aziridineh[@}{\@aziridineh[]}}
\def\@aziridineh[#1]#2{%
\iforigpt \typeout{command `aziridineh' %
  is based on `threeheteroh'.}\fi%
\threeheteroh[#1]{1==N}{#2}}
\def\thiiraneh{\@ifnextchar[{\@thiiraneh[@}{\@thiiraneh[]}}
\def\@thiiraneh[#1]#2{%
\iforigpt \typeout{command `thiiraneh' %
  is based on `threeheteroh'.}\fi%
\threeheteroh[#1]{1==S}{#2}}
\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
\begin{ShiftPicEnvB}(0,0)(-\yl@shiftii,-\yl@shifti)/%
(580,700)(-400,-240){threeheterohi}%
(400,240)%2002/4/30 by S. Fujita
\iniatom\iniflag%initialize
\test@vertix@sixv{#3}{e}{c}{a}{@}{@}{@}%
\test@vertix@sixv{#3}{f}{d}{b}{@}{@}{@}%
{\resetbdsw%
\@bond@@omit{#5}%
\Put@Direct(0,0){\set@skel@bond{#1}{a}{d}}%
       % bond between 1 and 2 \@aaa -> \skbondd etc
\Put@Direct(-171,-103){\set@skel@bond{#1}{b}{b}}%
       % bond between 2 and 3 \@bbb -> \skbondb etc
\Put@Direct(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@Direct(0,0){\bondd}%
\else\if\member b\relax\Put@Direct(-171,-103){\bondb}%
\else\if\member c\relax\Put@Direct(0,-200){\bondf}%
\else\if\member A\relax% aromatic circle
  \Put@oCircle(70,103){100}%               %circle
\else
   \expandafter\twoCH@@R\member//%
    \set@fusionadd@threehi
\fi\fi\fi\fi\fi%
}%
\iniflag
\Put@Direct(-171,103){\set@hetatom@sixh{#3}{0}{0}{2}{0}%
\storeclipinfo
}%subst 1 <--six h 1
\developclipinfo
\Put@Direct(-303,29){\set@hetatom@sixh{#3}{0}{2}{4}{0}%
\storeclipinfo
\developclipinfo
}%subst 3 <--six h 3
\Put@Direct(-303,171){\set@hetatom@sixh{#3}{3}{4}{6}{0}%
\storeclipinfo
}%subst 2 <--six h 5
\developclipinfo
\Put@Direct(-171,103){\setsixringh{#4}{0}{0}{2}{0}}%subst 1
\Put@Direct(-303,29){\setsixringh{#4}{0}{2}{4}{0}}%subst 3
\Put@Direct(-303,171){\setsixringh{#4}{3}{4}{6}{0}}%subst 2
\end{ShiftPicEnvB}%
\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%
\global\let\FuseWarning=\FuseW@rning%added 2010/10/01
}% end of the macro \set@fusion@threehi
\def\oxiranehi{\@ifnextchar[{\@oxiranehi[@}{\@oxiranehi[]}}
\def\@oxiranehi[#1]#2{%
\iforigpt \typeout{command `oxiranehi' %
  is based on `threeheterohi'.}\fi%
\threeheterohi[#1]{1==O}{#2}}
\def\aziridinehi{\@ifnextchar[{\@aziridinehi[@}{\@aziridinehi[]}}
\def\@aziridinehi[#1]#2{%
\iforigpt \typeout{command `aziridinehi' %
  is based on `threeheterohi'.}\fi%
\threeheterohi[#1]{1==N}{#2}}
\def\thiiranehi{\@ifnextchar[{\@thiiranehi[@}{\@thiiranehi[]}}
\def\@thiiranehi[#1]#2{%
\iforigpt \typeout{command `thiiranehi' %
  is based on `threeheterohi'.}\fi%
\threeheterohi[#1]{1==S}{#2}}
\endinput
%%
%% End of file `hetaromh.sty'.
