diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/xymtex/fusering.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/xymtex/fusering.sty | 2013 |
1 files changed, 2013 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/xymtex/fusering.sty b/Master/texmf-dist/tex/latex/xymtex/fusering.sty new file mode 100644 index 00000000000..07888554b9a --- /dev/null +++ b/Master/texmf-dist/tex/latex/xymtex/fusering.sty @@ -0,0 +1,2013 @@ +%% +%% This is file `fusering.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fusering.dtx (with options: `fusering') +%% +%% This is a generated file. +%% +%% Copyright 1998 by Shinsaku Fujita +%% +%% This file is part of the XyMTeX system. +%% ======================================= +%% +%% Version 1.02 Released on October 31, 1998 (private version) +%% Version 2.00 Released on December 25, 1998 +%% +%% Copyright (C) 1998 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: fusering.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{methylen} +\def\versi@ndate{December 25, 1998} +\def\versi@nno{ver2.00} +\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{bzdrv}{\input carom.sty\relax}{} +\@ifundefined{hbonde}{\input hetaromh.sty\relax}{} +\@ifundefined{bonde}{\input hetarom.sty\relax}{} +\unitlength=0.1pt +\def\sixfusev{\@ifnextchar({\@six@fusev(@}{\@six@fusev(@)}} +\def\@six@fusev(#1){\@ifnextchar[{\@six@@fusev(#1)[@}% +{\@six@@fusev(#1)[@]}} +\def\@six@@fusev(#1)[#2]#3#4#5{\@ifnextchar[% +{\@sixfusev(#1)[#2]{#3}{#4}{#5}[@}% +{\@sixfusev(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@sixfusev(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize% +\test@vertix@sixv{#3}{a}{b}{c}{d}{e}{f}% +\sixfuseposv{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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)(-\shiftii,-\shifti)% + \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}% + \put(-\noshift,-\noshift){\circle{50}}% + \typeout{command `sixfusev' origin: % + (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi% +\fi +{% +\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\set@skel@bond{#1}{a}{a}% bond between 1 and 2 \@aaa -> \skbonda etc +\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc +\set@skel@bond{#1}{c}{c}% bond between 3 and 4 \@ccc -> \skbondc etc +\set@skel@bond{#1}{d}{d}% bond between 4 and 5 \@ddd -> \skbondd etc +\set@skel@bond{#1}{e}{e}% bond between 5 and 6 \@eee -> \skbonde etc +\set@skel@bond{#1}{f}{f}% bond between 6 and 1 \@fff -> \skbondf etc +}% +\@tfor\member:=#2\do{% +\if\member r\relax% +\else\if\member l\relax% +\else\if\member a\relax% + \bonda% +\else\if\member b\relax% + \bondb% +\else\if\member c\relax% + \bondc% +\else\if\member d\relax% + \bondd% +\else\if\member e\relax% + \bonde% +\else\if\member f\relax% + \bondf% +\else\if\member A%left aromatic circle + \put(0,203){\circle{240}}% %circle +\else \expandafter\twoCH@@R\member//% + \set@fusionadd@sixv +\fi\fi\fi\fi\fi\fi\fi\fi\fi% +}% +\set@hetatom@sixv{#3}{0}{0}{7}{0}% %atom 1--6% +\setsixringv{#4}{0}{0}{7}{0}% +\end{picture}% +\sixfuseposv{#5}%for FuseWaring when nested +\iniatom\iniflag}% %end of \sixfusev macro +\newif\if@sixfuseposv \@sixfuseposvfalse +\def\fuseAx{0} +\def\fuseAy{0} +\def\fuseBx{0} +\def\fuseBy{0} +\def\sixfuseposv#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `a'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{406}% + \gdef\fuseBx{171}\gdef\fuseBy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `A'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{406}% + \gdef\fuseAx{171}\gdef\fuseAy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `b'}% + \else + \gdef\fuseAx{171}\gdef\fuseAy{303}% + \gdef\fuseBx{171}\gdef\fuseBy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `B'}% + \else + \gdef\fuseBx{171}\gdef\fuseBy{303}% + \gdef\fuseAx{171}\gdef\fuseAy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer c\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `c'}% + \else + \gdef\fuseAx{171}\gdef\fuseAy{103}% + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer C\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `C'}% + \else + \gdef\fuseBx{171}\gdef\fuseBy{103}% + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer d\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `d'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \gdef\fuseBx{-171}\gdef\fuseBy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer D\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `D'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \gdef\fuseAx{-171}\gdef\fuseAy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer e\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `e'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{103}% + \gdef\fuseBx{-171}\gdef\fuseBy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer E\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `E'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{103}% + \gdef\fuseAx{-171}\gdef\fuseAy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer f\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `f'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{303}% + \gdef\fuseBx{0}\gdef\fuseBy{406}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer F\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `F'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{303}% + \gdef\fuseAx{0}\gdef\fuseAy{406}% + \global\@sixfuseposvtrue + \fi +\fi}}}% end of the macro \sixfuseposv +\def\@bond@fuse@omit#1#2{% +\ifx#1a\relax\gdef\@aaa{}\fi +\ifx#1b\relax\gdef\@bbb{}\fi +\ifx#1c\relax\gdef\@ccc{}\fi +\ifx#1d\relax\gdef\@ddd{}\fi +\ifx#1e\relax\gdef\@eee{}\fi +\ifx#1f\relax\gdef\@fff{}\fi +\ifx#1A\relax\gdef\@aaa{}\fi +\ifx#1B\relax\gdef\@bbb{}\fi +\ifx#1C\relax\gdef\@ccc{}\fi +\ifx#1D\relax\gdef\@ddd{}\fi +\ifx#1E\relax\gdef\@eee{}\fi +\ifx#1F\relax\gdef\@fff{}\fi +%%%% +\@tfor\memBer:=#2\do{% +\if\memBer a\relax\gdef\@aaa{}% + \ifx#1a\relax + \XyMTeXWarning{Double spec. of bond `a' in FUSE and OMIT}\fi +\fi% +\if\memBer A\relax\gdef\@aaa{}% + \ifx#1a\relax + \XyMTeXWarning{Double spec. of bond `a' in FUSE and OMIT}\fi +\fi% +\if\memBer b\relax\gdef\@bbb{}% + \ifx#1b\relax + \XyMTeXWarning{Double spec. of bond `b' in FUSE and OMIT}\fi +\fi% +\if\memBer B\relax\gdef\@bbb{}% + \ifx#1b\relax + \XyMTeXWarning{Double spec. of bond `b' in FUSE and OMIT}\fi +\fi% +\if\memBer c\relax\gdef\@ccc{}% + \ifx#1c\relax + \XyMTeXWarning{Double spec. of bond `c' in FUSE and OMIT}\fi +\fi% +\if\memBer C\relax\gdef\@ccc{}% + \ifx#1c\relax + \XyMTeXWarning{Double spec. of bond `c' in FUSE and OMIT}\fi +\fi% +\if\memBer d\relax\gdef\@ddd{}% + \ifx#1d\relax + \XyMTeXWarning{Double spec. of bond `d' in FUSE and OMIT}\fi +\fi% +\if\memBer D\relax\gdef\@ddd{}% + \ifx#1d\relax + \XyMTeXWarning{Double spec. of bond `d' in FUSE and OMIT}\fi +\fi% +\if\memBer e\relax\gdef\@eee{}% + \ifx#1e\relax + \XyMTeXWarning{Double spec. of bond `e' in FUSE and OMIT}\fi +\fi% +\if\memBer E\relax\gdef\@eee{}% + \ifx#1e\relax + \XyMTeXWarning{Double spec. of bond `e' in FUSE and OMIT}\fi +\fi% +\if\memBer f\relax\gdef\@fff{}% + \ifx#1f\relax + \XyMTeXWarning{Double spec. of bond `f' in FUSE and OMIT}\fi +\fi% +\if\memBer F\relax\gdef\@fff{}% + \ifx#1f\relax + \XyMTeXWarning{Double spec. of bond `f' in FUSE and OMIT}\fi +\fi% +}}% +\def\sixfusevi{\@ifnextchar({\@six@fusevi(@}{\@six@fusevi(@)}} +\def\@six@fusevi(#1){\@ifnextchar[{\@six@@fusevi(#1)[@}% +{\@six@@fusevi(#1)[@]}} +\def\@six@@fusevi(#1)[#2]#3#4#5{\@ifnextchar[% +{\@sixfusevi(#1)[#2]{#3}{#4}{#5}[@}% +{\@sixfusevi(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@sixfusevi(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize% +\test@vertix@sixv{#3}{d}{c}{b}{a}{f}{e}% +\sixfuseposvi{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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)(-\shiftii,-\shifti)% + \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}% + \put(-\noshift,-\noshift){\circle{50}}% + \typeout{command `sixfusev' origin: % + (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi% +\fi +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\set@skel@bond{#1}{a}{c}% bond between 1 and 2 \@aaa -> \skbondc etc +\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc +\set@skel@bond{#1}{c}{a}% bond between 3 and 4 \@ccc -> \skbonda etc +\set@skel@bond{#1}{d}{f}% bond between 4 and 5 \@ddd -> \skbondf etc +\set@skel@bond{#1}{e}{e}% bond between 5 and 6 \@eee -> \skbonde etc +\set@skel@bond{#1}{f}{d}% bond between 6 and 1 \@fff -> \skbondd etc +}% +\@tfor\member:=#2\do{% +\if\member r\relax% +\else\if\member l\relax% +\else\if\member a\relax% + \bondc% +\else\if\member b\relax% + \bondb% +\else\if\member c\relax% + \bonda% +\else\if\member d\relax% + \bondf% +\else\if\member e\relax% + \bonde% +\else\if\member f\relax% + \bondd% +\else\if\member A%left aromatic circle + \put(0,203){\circle{240}}% %circle +\else \expandafter\twoCH@@R\member//% + \set@fusionadd@sixvi +\fi\fi\fi\fi\fi\fi\fi\fi\fi% +}% +\set@hetatom@sixv{#3}{5}{0}{5}{-1}% %atom 1--4% +\set@hetatom@sixv{#3}{11}{4}{7}{-1}% %atom 5 and 6% +\setsixringv{#4}{5}{0}{5}{-1}% %subst 1--4 +\setsixringv{#4}{11}{4}{7}{-1}% %subst 5 and 6 +\end{picture}% +\sixfuseposvi{#5}%%for FuseWaring when nested +\iniatom\iniflag}% %end of \sixfusevi macro +\def\sixfuseposvi#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer c\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `c'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{406}% + \gdef\fuseAx{171}\gdef\fuseAy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer C\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `C'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{406}% + \gdef\fuseBx{171}\gdef\fuseBy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `b'}% + \else + \gdef\fuseBx{171}\gdef\fuseBy{303}% + \gdef\fuseAx{171}\gdef\fuseAy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `B'}% + \else + \gdef\fuseAx{171}\gdef\fuseAy{303}% + \gdef\fuseBx{171}\gdef\fuseBy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `a'}% + \else + \gdef\fuseBx{171}\gdef\fuseBy{103}% + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `A'}% + \else + \gdef\fuseAx{171}\gdef\fuseAy{103}% + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer f\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `f'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \gdef\fuseAx{-171}\gdef\fuseAy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer F\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `F'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \gdef\fuseBx{-171}\gdef\fuseBy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer e\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `e'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{103}% + \gdef\fuseAx{-171}\gdef\fuseAy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer E\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `E'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{103}% + \gdef\fuseBx{-171}\gdef\fuseBy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer d\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `d'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{303}% + \gdef\fuseAx{0}\gdef\fuseAy{406}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer D\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `D'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{303}% + \gdef\fuseBx{0}\gdef\fuseBy{406}% + \global\@sixfuseposvtrue + \fi +\fi% +}}}% end of the macro \sixfuseposvi +\def\sixfuseh{\@ifnextchar({\@six@fuseh(@}{\@six@fuseh(@)}} +\def\@six@fuseh(#1){\@ifnextchar[{\@six@@fuseh(#1)[@}% +{\@six@@fuseh(#1)[@]}} +\def\@six@@fuseh(#1)[#2]#3#4#5{\@ifnextchar[% +{\@sixfuseh(#1)[#2]{#3}{#4}{#5}[@}% +{\@sixfuseh(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@sixfuseh(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize% +\test@vrtx@sixh{#3}% +\sixfuseposh{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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 `sixunith' origin: % + (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi% +\fi +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\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% +\else \if\member l\relax% +\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}% +\end{picture}% +\sixfuseposh{#5}%%for FuseWaring when nested +\iniatom\iniflag}% %end of \sixfuseh macro +\def\sixfuseposh#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `a'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \gdef\fuseBx{103}\gdef\fuseBy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `A'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \gdef\fuseAx{103}\gdef\fuseAy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `b'}% + \else + \gdef\fuseAx{103}\gdef\fuseAy{171}% + \gdef\fuseBx{303}\gdef\fuseBy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `B'}% + \else + \gdef\fuseBx{103}\gdef\fuseBy{171}% + \gdef\fuseAx{303}\gdef\fuseAy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer c\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `c'}% + \else + \gdef\fuseAx{303}\gdef\fuseAy{171}% + \gdef\fuseBx{406}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer C\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `C'}% + \else + \gdef\fuseBx{303}\gdef\fuseBy{171}% + \gdef\fuseAx{406}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer d\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `d'}% + \else + \gdef\fuseAx{406}\gdef\fuseAy{0}% + \gdef\fuseBx{303}\gdef\fuseBy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer D\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `D'}% + \else + \gdef\fuseBx{406}\gdef\fuseBy{0}% + \gdef\fuseAx{303}\gdef\fuseAy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer e\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `e'}% + \else + \gdef\fuseAx{303}\gdef\fuseAy{-171}% + \gdef\fuseBx{103}\gdef\fuseBy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer E\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `E'}% + \else + \gdef\fuseBx{303}\gdef\fuseBy{-171}% + \gdef\fuseAx{103}\gdef\fuseAy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer f\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `f'}% + \else + \gdef\fuseAx{103}\gdef\fuseAy{-171}% + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer F\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `F'}% + \else + \gdef\fuseBx{103}\gdef\fuseBy{-171}% + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi}}}% end of the macro \sixfuseposh +\def\sixfusehi{\@ifnextchar({\@six@fusehi(@}{\@six@fusehi(@)}} +\def\@six@fusehi(#1){\@ifnextchar[{\@six@@fusehi(#1)[@}% +{\@six@@fusehi(#1)[@]}} +\def\@six@@fusehi(#1)[#2]#3#4#5{\@ifnextchar[% +{\@sixfusehi(#1)[#2]{#3}{#4}{#5}[@}% +{\@sixfusehi(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@sixfusehi(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize% +\test@vrtx@sixhi{#3}% +\sixfuseposhi{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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 `sixunith' origin: % + (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi% +\fi +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\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% +\else \if\member l\relax% +\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}% +\sixfuseposhi{#5}%%for FuseWaring when nested +\iniatom\iniflag}% %end of \sixfusehi macro +\def\sixfuseposhi#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer C\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `C'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \gdef\fuseBx{103}\gdef\fuseBy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer c\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `c'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \gdef\fuseAx{103}\gdef\fuseAy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `B'}% + \else + \gdef\fuseAx{103}\gdef\fuseAy{171}% + \gdef\fuseBx{303}\gdef\fuseBy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `b'}% + \else + \gdef\fuseBx{103}\gdef\fuseBy{171}% + \gdef\fuseAx{303}\gdef\fuseAy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `A'}% + \else + \gdef\fuseAx{303}\gdef\fuseAy{171}% + \gdef\fuseBx{406}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `a'}% + \else + \gdef\fuseBx{303}\gdef\fuseBy{171}% + \gdef\fuseAx{406}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer F\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `F'}% + \else + \gdef\fuseAx{406}\gdef\fuseAy{0}% + \gdef\fuseBx{303}\gdef\fuseBy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer f\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `f'}% + \else + \gdef\fuseBx{406}\gdef\fuseBy{0}% + \gdef\fuseAx{303}\gdef\fuseAy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer E\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `E'}% + \else + \gdef\fuseAx{303}\gdef\fuseAy{-171}% + \gdef\fuseBx{103}\gdef\fuseBy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer e\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `e'}% + \else + \gdef\fuseBx{303}\gdef\fuseBy{-171}% + \gdef\fuseAx{103}\gdef\fuseAy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer D\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `D'}% + \else + \gdef\fuseAx{103}\gdef\fuseAy{-171}% + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer d\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `d'}% + \else + \gdef\fuseBx{103}\gdef\fuseBy{-171}% + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi}}}% end of the macro \sixfuseposhi +\def\fivefusev{\@ifnextchar({\@five@fusev(@}{\@five@fusev(@)}} +\def\@five@fusev(#1){\@ifnextchar[{\@five@@fusev(#1)[@}% +{\@five@@fusev(#1)[@]}} +\def\@five@@fusev(#1)[#2]#3#4#5{\@ifnextchar[% +{\@fivefusev(#1)[#2]{#3}{#4}{#5}[@}% +{\@fivefusev(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@fivefusev(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize +\test@vertix@sixv{#3}{d}{c}{b}{f}{e}{@}% +\fivefuseposv{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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)(-\shiftii,-\shifti)% + \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}% + \put(-\noshift,-\noshift){\circle{50}}% + \typeout{command `fivefusev' origin: % + (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi% +\fi +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\set@skel@bond{#1}{a}{c}% bond between 1 and 2 \@aaa -> \skbondc etc +\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc +\set@skel@longbond{#1}{c}{skbondhoriz}% + % bond between 3 and 4 \@ccc -> \skbondhoriz etc +\set@skel@bond{#1}{d}{e}% bond between 4 and 5 \@ddd -> \skbonde etc +\set@skel@bond{#1}{e}{d}% bond between 5 and 1 \@eee -> \skbondd etc +}% +\@tfor\member:=#2\do{% +\if\member r% +\else\if\member a\relax% + \bondc% +\else\if\member b\relax% + \bondb% +\else\if\member c\relax% + \bondhoriz% +\else\if\member d\relax% + \bonde% +\else\if\member e\relax% + \bondd% +\else + \expandafter\twoCH@@R\member//% + \set@fusionadd@fivev +\fi\fi\fi\fi\fi\fi}% +\set@hetatom@sixv{#3}{5}{1}{5}{-1}% % for 1 to 3 +\set@hetatom@sixv{#3}{10}{4}{7}{-1}% % for 4 to 5 +\setsixringv{#4}{5}{1}{5}{-1}% % for 1 to 3 +\setsixringv{#4}{10}{4}{7}{-1}% % for 4 to 5 +\end{picture}% +{\let\XyMTeXWarning\@gobble +\fivefuseposv{#5}}%%for FuseWaring when nested +\iniatom\iniflag}%end of \fivefusev macro +\def\fivefuseposv#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer c\relax + \XyMTeXWarning{Not-used fusion at bond `c'}% +\fi +\if\memBer C\relax + \XyMTeXWarning{Not-used fusion at bond `C'}% +\fi +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `b'}% + \else + \gdef\fuseBx{171}\gdef\fuseBy{303}% + \gdef\fuseAx{171}\gdef\fuseAy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `B'}% + \else + \gdef\fuseAx{171}\gdef\fuseAy{303}% + \gdef\fuseBx{171}\gdef\fuseBy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `a'}% + \else + \gdef\fuseBx{171}\gdef\fuseBy{103}% + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `A'}% + \else + \gdef\fuseAx{171}\gdef\fuseAy{103}% + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer e\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `f'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \gdef\fuseAx{-171}\gdef\fuseAy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer E\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `F'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \gdef\fuseBx{-171}\gdef\fuseBy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer d\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `e'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{103}% + \gdef\fuseAx{-171}\gdef\fuseAy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer D\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `E'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{103}% + \gdef\fuseBx{-171}\gdef\fuseBy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +}}}% end of the macro \fivefuseposv +\def\fivefusevi{\@ifnextchar({\@five@fusevi(@}{\@five@fusevi(@)}} +\def\@five@fusevi(#1){\@ifnextchar[{\@five@@fusevi(#1)[@}% +{\@five@@fusevi(#1)[@]}} +\def\@five@@fusevi(#1)[#2]#3#4#5{\@ifnextchar[% +{\@fivefusevi(#1)[#2]{#3}{#4}{#5}[@}% +{\@fivefusevi(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@fivefusevi(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize +\test@vertix@sixv{#3}{a}{b}{c}{e}{f}{@}% +\fivefuseposvi{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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)(-\shiftii,-\shifti)% + \iforigpt \put(-\shiftii,-\shifti){\circle*{50}}% + \put(-\noshift,-\noshift){\circle{50}}% + \typeout{command `fivefusevi' origin: % + (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi% +\fi +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\set@skel@bond{#1}{a}{a}% bond between 1 and 2 \@aaa -> \skbonda etc +\set@skel@bond{#1}{b}{b}% bond between 2 and 3 \@bbb -> \skbondb etc +\set@skel@longbond{#1}{c}{skbondhorizi}% + % bond between 3 and 4 \@ccc -> \skbondhorizi etc +\set@skel@bond{#1}{d}{e}% bond between 4 and 5 \@ddd -> \skbonde etc +\set@skel@bond{#1}{e}{f}% bond between 5 and 6 \@eee -> \skbondf etc +}% +\@tfor\member:=#2\do{% +\if\member r% +\else\if\member a\relax% + \bonda% +\else\if\member b\relax% + \bondb% +\else\if\member c\relax% + \bondhorizi% +\else\if\member d\relax% + \bonde% +\else\if\member e\relax% + \bondf% +\else + \expandafter\twoCH@@R\member//% + \set@fusionadd@fivevi +\fi\fi\fi\fi\fi\fi}% +\set@hetatom@sixv{#3}{0}{0}{4}{0}% % for 1 to 3 +\set@hetatom@sixv{#3}{1}{4}{7}{0}% % for 4 to 5 +\setsixringv{#4}{0}{0}{4}{0}% % for 1 to 3 +\setsixringv{#4}{1}{4}{7}{0}% % for 4 to 5 +\end{picture}% +{\let\XyMTeXWarning\@gobble +\fivefuseposvi{#5}}%%for FuseWaring when nested +\iniatom\iniflag}% %end of \fivefusevi macro +\def\fivefuseposvi#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `a'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{406}% + \gdef\fuseBx{171}\gdef\fuseBy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `A'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{406}% + \gdef\fuseAx{171}\gdef\fuseAy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `b'}% + \else + \gdef\fuseAx{171}\gdef\fuseAy{303}% + \gdef\fuseBx{171}\gdef\fuseBy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `B'}% + \else + \gdef\fuseBx{171}\gdef\fuseBy{303}% + \gdef\fuseAx{171}\gdef\fuseAy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer c\relax + \XyMTeXWarning{Not-used fusion at bond `c'}% +\fi +\if\memBer C\relax + \XyMTeXWarning{Not-used fusion at bond `C'}% +\fi +\if\memBer d\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `d'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{103}% + \gdef\fuseBx{-171}\gdef\fuseBy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer D\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `D'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{103}% + \gdef\fuseAx{-171}\gdef\fuseAy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer e\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `e'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{303}% + \gdef\fuseBx{0}\gdef\fuseBy{406}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer E\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `e'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{303}% + \gdef\fuseAx{0}\gdef\fuseAy{406}% + \global\@sixfuseposvtrue + \fi +\fi}}}% end of the macro \fivefuseposvi +\def\fivefuseh{\@ifnextchar({\@five@fuseh(@}{\@five@fuseh(@)}} +\def\@five@fuseh(#1){\@ifnextchar[{\@five@@fuseh(#1)[@}% +{\@five@@fuseh(#1)[@]}} +\def\@five@@fuseh(#1)[#2]#3#4#5{\@ifnextchar[% +{\@fivefuseh(#1)[#2]{#3}{#4}{#5}[@}% +{\@fivefuseh(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@fivefuseh(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize +\test@vertix@sixv{#3}{d}{c}{b}{f}{e}{@}% +\fivefuseposh{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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 `fivefuseh' origin: % + (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi% +\fi +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\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 -> \hskbondvert 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 6 \@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}% +\set@hetatom@sixh{#3}{5}{1}{5}{-1}% % for 1 to 3 +\set@hetatom@sixh{#3}{10}{4}{7}{-1}% % for 4 to 5 +\setsixringh{#4}{5}{1}{5}{-1}% % for 1 to 3 +\setsixringh{#4}{10}{4}{7}{-1}% % for 4 to 5 +\end{picture}% +{\let\XyMTeXWarning\@gobble +\fivefuseposh{#5}}%for FuseWaring when nested% +\iniatom\iniflag}% %end of \fivefuseh macro +\def\fivefuseposh#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer c\relax + \XyMTeXWarning{Not-used fusion at bond `c'}% +\fi +\if\memBer C\relax + \XyMTeXWarning{Not-used fusion at bond `C'}% +\fi +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `B'}% + \else + \gdef\fuseAx{103}\gdef\fuseAy{171}% + \gdef\fuseBx{303}\gdef\fuseBy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `b'}% + \else + \gdef\fuseBx{103}\gdef\fuseBy{171}% + \gdef\fuseAx{303}\gdef\fuseAy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `A'}% + \else + \gdef\fuseAx{303}\gdef\fuseAy{171}% + \gdef\fuseBx{406}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `a'}% + \else + \gdef\fuseBx{303}\gdef\fuseBy{171}% + \gdef\fuseAx{406}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer E\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `E'}% + \else + \gdef\fuseAx{406}\gdef\fuseAy{0}% + \gdef\fuseBx{303}\gdef\fuseBy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer e\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `e'}% + \else + \gdef\fuseBx{406}\gdef\fuseBy{0}% + \gdef\fuseAx{303}\gdef\fuseAy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer D\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `D'}% + \else + \gdef\fuseAx{303}\gdef\fuseAy{-171}% + \gdef\fuseBx{103}\gdef\fuseBy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer d\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `d'}% + \else + \gdef\fuseBx{303}\gdef\fuseBy{-171}% + \gdef\fuseAx{103}\gdef\fuseAy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +}}}% end of the macro \fivefuseposh +\def\fivefusehi{\@ifnextchar({\@five@fusehi(@}{\@five@fusehi(@)}} +\def\@five@fusehi(#1){\@ifnextchar[{\@five@@fusehi(#1)[@}% +{\@five@@fusehi(#1)[@]}} +\def\@five@@fusehi(#1)[#2]#3#4#5{\@ifnextchar[% +{\@fivefusehi(#1)[#2]{#3}{#4}{#5}[@}% +{\@fivefusehi(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@fivefusehi(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize +\test@vertix@sixv{#3}{a}{b}{c}{e}{f}{@}% +\fivefuseposhi{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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 `fivefusehi' origin: % + (\the\noshift,\the\noshift) ---> (\the\shifti,\the\shiftii)}\fi% +\fi +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\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}% +{\let\XyMTeXWarning\@gobble +\fivefuseposhi{#5}}%for FuseWaring when nested +\iniatom\iniflag}% %end of \fivefusehi macro +\def\fivefuseposhi#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `a'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \gdef\fuseBx{103}\gdef\fuseBy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `A'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \gdef\fuseAx{103}\gdef\fuseAy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `b'}% + \else + \gdef\fuseAx{103}\gdef\fuseAy{171}% + \gdef\fuseBx{303}\gdef\fuseBy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `B'}% + \else + \gdef\fuseBx{103}\gdef\fuseBy{171}% + \gdef\fuseAx{303}\gdef\fuseAy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer c\relax + \XyMTeXWarning{Not-used fusion at bond `c'}% +\fi +\if\memBer C\relax + \XyMTeXWarning{Not-used fusion at bond `C'}% +\fi +\if\memBer d\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `d'}% + \else + \gdef\fuseAx{303}\gdef\fuseAy{-171}% + \gdef\fuseBx{103}\gdef\fuseBy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer D\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `D'}% + \else + \gdef\fuseBx{303}\gdef\fuseBy{-171}% + \gdef\fuseAx{103}\gdef\fuseAy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer e\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `e'}% + \else + \gdef\fuseAx{103}\gdef\fuseAy{-171}% + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer E\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `E'}% + \else + \gdef\fuseBx{103}\gdef\fuseBy{-171}% + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi}}}% end of the macro \fivefuseposhi +\def\fourfuse{\@ifnextchar({\@four@fuse(@}{\@four@fuse(@)}} +\def\@four@fuse(#1){\@ifnextchar[{\@four@@fuse(#1)[@}% +{\@four@@fuse(#1)[@]}} +\def\@four@@fuse(#1)[#2]#3#4#5{\@ifnextchar[% +{\@fourfuse(#1)[#2]{#3}{#4}{#5}[@}% +{\@fourfuse(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@fourfuse(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize +\test@vertix@sixv{#3}{e}{c}{b}{f}{@}{@}% +\fourfusepos{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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)(-571,-137)% + \iforigpt\put(-571,-137){\circle*{50}}% + \put(-171,103){\circle{50}}% + \typeout{command `fourfuse' origin: % + (\the\noshift,\the\noshift) ---> (\the\shiftii,\the\shifti)}\fi% +\fi +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\put(0,0){\set@skel@longbond{#1}{a}{skbondshorizi}}% + % bond between 1 and 2 \@aaa -> \skbondshorizi etc +\put(-142,0){\set@skel@bond{#1}{b}{b}}% + % bond between 2 and 3 \@bbb -> \skbondb etc +\put(0,0){\set@skel@longbond{#1}{c}{skbondshoriz}}% + % bond between 3 and 4 \@ccc -> \skbondshoriz etc +\put(0,0){\set@skel@bond{#1}{d}{e}}% + % bond between 4 and 1 \@ddd -> \skbonde etc +}% +\@tfor\member:=#2\do{% +\if\member r% +\else\if\member a\relax \put(0,0){\bondshorizi}% +\else\if\member b\relax \put(-142,0){\bondb}% +\else\if\member c\relax \put(0,0){\bondshoriz}% +\else\if\member d\relax \put(0,0){\bonde}% +\else + \expandafter\twoCH@@R\member//% + \set@fusionadd@fourv +\fi\fi\fi\fi\fi}% +\put(-142,0){\set@hetatom@sixv{#3}{5}{1}{4}{-1}}% for 2 to 3 +\put(0,0){\set@hetatom@sixv{#3}{4}{4}{6}{0}}% for 1 +\put(0,0){\set@hetatom@sixv{#3}{2}{5}{7}{0}}% for 4 +\put(-142,0){\setsixringv{#4}{5}{1}{4}{-1}}% for 2 to 3 +\put(0,0){\setsixringv{#4}{4}{4}{6}{0}}% for 1 +\put(0,0){\setsixringv{#4}{2}{5}{7}{0}}% for 4 +\end{picture}% +\fourfusepos{#5}%%for FuseWaring when nested +\iniatom\iniflag +\global\@smallringswtrue%for permition at a center bond +}% %end of \fourfuse macro +\def\fourfusepos#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `a'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{103}% + \gdef\fuseBx{29}\gdef\fuseBy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `A'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{103}% + \gdef\fuseAx{29}\gdef\fuseAy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `b'}% + \else + \gdef\fuseAx{29}\gdef\fuseAy{103}% + \gdef\fuseBx{29}\gdef\fuseBy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `B'}% + \else + \gdef\fuseBx{29}\gdef\fuseBy{103}% + \gdef\fuseAx{29}\gdef\fuseAy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer c\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `c'}% + \else + \gdef\fuseAx{29}\gdef\fuseAy{303}% + \gdef\fuseBx{-171}\gdef\fuseBy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer C\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `C'}% + \else + \gdef\fuseBx{29}\gdef\fuseBy{303}% + \gdef\fuseAx{-171}\gdef\fuseAy{303}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer d\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `d'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{303}% + \gdef\fuseBx{-171}\gdef\fuseBy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer D\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `D'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{303}% + \gdef\fuseAx{-171}\gdef\fuseAy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +}}}% end of the macro \fourfusepos +\def\threefusev{\@ifnextchar({\@three@fusev(@}{\@three@fusev(@)}} +\def\@three@fusev(#1){\@ifnextchar[{\@three@@fusev(#1)[@}% +{\@three@@fusev(#1)[@]}} +\def\@three@@fusev(#1)[#2]#3#4#5{\@ifnextchar[% +{\@threefusev(#1)[#2]{#3}{#4}{#5}[@}% +{\@threefusev(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@threefusev(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize +\test@vertix@sixv{#3}{d}{b}{f}{@}{@}{@}% +\threefuseposv{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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,580)(-468,-240)% + \iforigpt \put(-468,-240){\circle*{50}}% + \put(-68,0){\circle{50}}% + \typeout{command `threefusevv' origin: % + (68,0) ---> (468,240)}\fi% +\fi +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\put(-68,0){\set@skel@longbond{#1}{a}{skbondtria}}% + % bond between 1 and 2 \@aaa -> \skbondtria etc +\put(0,-132){\set@skel@longbond{#1}{b}{skbondshoriz}}% + % bond between 2 and 3 \@bbb -> \skbondb etc +\put(-68,0){\set@skel@longbond{#1}{c}{skbondtrib}}% + % bond between 3 and 1 \@ccc -> \skbondtria etc +}% +\@tfor\member:=#2\do{% +\if\member r\relax% +\else\if\member a\relax\put(-68,0){\bondtria}% +\else\if\member b\relax\put(0,-126){\bondshoriz}% +\else\if\member c\relax\put(-68,0){\bondtrib}% +\else\if\member A\relax% aromatic circle + \put(-70,108){\circle{100}}% %circle +\else + \expandafter\twoCH@@R\member//% + \set@fusionadd@threev +\fi\fi\fi\fi\fi% +}% +\put(-68,0){\set@hetatom@sixv{#3}{3}{3}{5}{0}% +\if@clip\global\@cliptrue\fi +}%subst 1 +\put(-142,-132){\set@hetatom@sixv{#3}{0}{1}{3}{0}% +\if@bclip\global\@bcliptrue\fi +}%subst 2 +\put(0,-132){\set@hetatom@sixv{#3}{3}{5}{7}{0}% +\if@fclip\global\@fcliptrue\fi +}%subst 3 +\put(-68,0){\setsixringv{#4}{3}{3}{5}{0}}%subst 1 +\put(-142,-132){\setsixringv{#4}{0}{1}{3}{0}}%subst 2 +\put(0,-132){\setsixringv{#4}{3}{5}{7}{0}}%subst 3 +\end{picture}% +\threefuseposv{#5}%%for FuseWaring when nested +\iniatom\iniflag +\global\@smallringswtrue%for permition at a center bond +}% %end of \threefusev macro +\def\threefuseposv#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `a'}% + \else + \gdef\fuseAx{-68}\gdef\fuseAy{0}% + \gdef\fuseBx{35}\gdef\fuseBy{171}%corrected + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `A'}% + \else + \gdef\fuseBx{-74}\gdef\fuseBy{0}%corrected + \gdef\fuseAx{29}\gdef\fuseAy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `b'}% + \else + \gdef\fuseAx{29}\gdef\fuseAy{171}% + \gdef\fuseBx{-171}\gdef\fuseBy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `B'}% + \else + \gdef\fuseBx{29}\gdef\fuseBy{171}% + \gdef\fuseAx{-171}\gdef\fuseAy{171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer c\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `c'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{171}% + \gdef\fuseBx{-68}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer C\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `C'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{171}% + \gdef\fuseAx{-68}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +}}}% end of the macro \threefuseposv +\def\threefusevi{\@ifnextchar({\@three@fusevi(@}{\@three@fusevi(@)}} +\def\@three@fusevi(#1){\@ifnextchar[{\@three@@fusevi(#1)[@}% +{\@three@@fusevi(#1)[@]}} +\def\@three@@fusevi(#1)[#2]#3#4#5{\@ifnextchar[% +{\@threefusevi(#1)[#2]{#3}{#4}{#5}[@}% +{\@threefusevi(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@threefusevi(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize +\test@vertix@sixv{#3}{a}{c}{e}{@}{@}{@}% +\threefuseposvi{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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,580)(-468,-340)% + \iforigpt \put(-468,-340){\circle*{50}}% + \put(-68,0){\circle{50}}% + \typeout{command `threefusevi' origin: % + (0,0) ---> (-468,-340)}\fi% +\fi +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\put(-68,0){\set@skel@longbond{#1}{a}{skBondtria}}% + % bond between 1 and 2 \@aaa -> \skBondtria etc +\put(0,-275){\set@skel@longbond{#1}{b}{skbondshorizi}}% + % bond between 2 and 3 \@bbb -> \skbondb etc +\put(-68,0){\set@skel@longbond{#1}{c}{skBondtrib}}% + % bond between 3 and 1 \@ccc -> \skBondtrib etc +}% +\@tfor\member:=#2\do{% +\if\member r\relax% +\else\if\member a\relax\put(-68,0){\Bondtria}% +\else\if\member b\relax\put(0,-274){\bondshorizi}% +\else\if\member c\relax\put(-68,0){\Bondtrib}% +\else\if\member A\relax% aromatic circle + \put(-70,-108){\circle{100}}% %circle +\else + \expandafter\twoCH@@R\member//% + \set@fusionadd@threevi +\fi\fi\fi\fi\fi% +}% +\put(-68,-406){\set@hetatom@sixv{#3}{0}{0}{2}{0}% +\if@aclip\global\@acliptrue\fi +}%subst 1 +\put(0,-275){\set@hetatom@sixv{#3}{2}{4}{6}{0}% +\if@cclip\global\@ccliptrue\fi +}%subst 3 +\put(-142,-275){\set@hetatom@sixv{#3}{1}{2}{4}{0}% +\if@eclip\global\@ecliptrue\fi +}%subst 2 +\put(-68,-406){\setsixringv{#4}{0}{0}{2}{0}}%subst 1 +\put(0,-275){\setsixringv{#4}{2}{4}{6}{0}}%subst 3 +\put(-142,-275){\setsixringv{#4}{1}{2}{4}{0}}%subst 2 +\end{picture}% +\threefuseposvi{#5}%%for FuseWaring when nested +\iniatom\iniflag +\global\@smallringswtrue%for permition at a center bond +}% %end of \threefusevi macro +\def\threefuseposvi#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `a'}% + \else + \gdef\fuseAx{-68}\gdef\fuseAy{0}% + \gdef\fuseBx{35}\gdef\fuseBy{-171}%corrected + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `A'}% + \else + \gdef\fuseBx{-74}\gdef\fuseBy{0}%corrected + \gdef\fuseAx{29}\gdef\fuseAy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `b'}% + \else + \gdef\fuseAx{29}\gdef\fuseAy{-171}% + \gdef\fuseBx{-171}\gdef\fuseBy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `B'}% + \else + \gdef\fuseBx{29}\gdef\fuseBy{-171}% + \gdef\fuseAx{-171}\gdef\fuseAy{-171}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer c\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `c'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{-171}% + \gdef\fuseBx{-68}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer C\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `C'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{-171}% + \gdef\fuseAx{-68}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +}}}% end of the macro \threefuseposvi + +\def\threefuseh{\@ifnextchar({\@three@fuseh(@}{\@three@fuseh(@)}} +\def\@three@fuseh(#1){\@ifnextchar[{\@three@@fuseh(#1)[@}% +{\@three@@fuseh(#1)[@]}} +\def\@three@@fuseh(#1)[#2]#3#4#5{\@ifnextchar[% +{\@threefuseh(#1)[#2]{#3}{#4}{#5}[@}% +{\@threefuseh(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@threefuseh(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize +\test@vertix@sixv{#3}{d}{f}{b}{@}{@}{@}%tentative use for six-h +\threefuseposh{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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,-200){\circle*{50}}% + \put(0,0){\circle{50}}% + \typeout{command `threefuseh' origin: % + (0,0) ---> (200,200)}\fi% +\fi +\iniatom\iniflag%initialize +\test@vertix@sixv{#3}{c}{e}{a}{@}{@}{@}% +\test@vertix@sixv{#3}{b}{d}{f}{@}{@}{@}% +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\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}% +\threefuseposh{#5}%%for FuseWaring when nested +\iniatom\iniflag +\global\@smallringswtrue%for permition at a center bond +}% %end of \threefuseh macro +\def\threefuseposh#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `a'}% + \else + \gdef\fuseAx{171}\gdef\fuseAy{103}%corrected + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `A'}% + \else + \gdef\fuseBx{171}\gdef\fuseBy{103}% + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `b'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \gdef\fuseBx{0}\gdef\fuseBy{200}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `B'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \gdef\fuseAx{0}\gdef\fuseAy{200}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer c\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `c'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{200}% + \gdef\fuseBx{171}\gdef\fuseBy{97}%corrected + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer C\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `C'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{206}%corrected + \gdef\fuseAx{171}\gdef\fuseAy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +}}}% end of the macro \threefuseposh +\def\threefusehi{\@ifnextchar({\@three@fusehi(@}{\@three@fusehi(@)}} +\def\@three@fusehi(#1){\@ifnextchar[{\@three@@fusehi(#1)[@}% +{\@three@@fusehi(#1)[@]}} +\def\@three@@fusehi(#1)[#2]#3#4#5{\@ifnextchar[% +{\@threefusehi(#1)[#2]{#3}{#4}{#5}[@}% +{\@threefusehi(#1)[#2]{#3}{#4}{#5}[@]}} +\def\@threefusehi(#1)[#2]#3#4#5[#6]{% +\iniatom\iniflag%initialize +\test@vertix@sixv{#3}{a}{e}{c}{@}{@}{@}%tentative use for six-h +\threefuseposhi{#5}% +\if@sixfuseposv + \yl@shiftii=-\fuseAx + \yl@shifti=-\fuseAy + \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,-200){\circle*{50}}% + \put(0,0){\circle{50}}% + \typeout{command `threefusehi' origin: % + (0,0) ---> (400,200)}\fi% +\fi +\iniatom\iniflag%initialize +\test@vertix@sixv{#3}{e}{c}{a}{@}{@}{@}% +\test@vertix@sixv{#3}{f}{d}{b}{@}{@}{@}% +{\resetbdsw% +\@bond@fuse@omit{#5}{#6}% +\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}% +\threefuseposhi{#5}%%for FuseWaring when nested +\iniatom\iniflag +\global\@smallringswtrue%for permition at a center bond +}% %end of \threefusehi macro +\def\threefuseposhi#1{% +\global\@sixfuseposvfalse +{\resetbdsw% +\@tfor\memBer:=#1\do{% +\if\memBer a\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `a'}% + \else + \gdef\fuseAx{-171}\gdef\fuseAy{103}%corrected + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer A\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `A'}% + \else + \gdef\fuseBx{-171}\gdef\fuseBy{103}% + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer b\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bond at bond `b'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{0}% + \gdef\fuseBx{0}\gdef\fuseBy{200}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer B\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `B'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{0}% + \gdef\fuseAx{0}\gdef\fuseAy{200}% + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer c\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `c'}% + \else + \gdef\fuseAx{0}\gdef\fuseAy{200}% + \gdef\fuseBx{-171}\gdef\fuseBy{97}%corrected + \global\@sixfuseposvtrue + \fi +\fi% +\if\memBer C\relax + \if@sixfuseposv + \XyMTeXWarning{Double fused bonds at bond `C'}% + \else + \gdef\fuseBx{0}\gdef\fuseBy{206}%corrected + \gdef\fuseAx{-171}\gdef\fuseAy{103}% + \global\@sixfuseposvtrue + \fi +\fi% +}}}% end of the macro \threefuseposhi +\endinput +%% +%% End of file `fusering.sty'. |