From b3a6b65dab6c25c094491076fe3192309128a91b Mon Sep 17 00:00:00 2001 From: Karl Berry 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