% \iffalse meta-comment %% File: chemstr.dtx % % Copyright 1993,1996,1998 by Shinsaku Fujita % % This file is part of XyMTeX system. % ------------------------------------- % % This file is a successor to: % % chemstr.sty % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.00} % \typeout{ -- Released December 1, 1993 by Shinsaku Fujita} % Copyright (C) 1993 by Shinsaku Fujita, all rights reserved. % % This file is a part of the macro package ``XyMTeX'' which has been % designed for typesetting chemical structural formulas. % % This file is to be contained in the ``xymtex'' directory which is % an input directory for TeX. It is a LaTeX optional style file and % should be used only within LaTeX, because several macros of the file % are based on LaTeX commands. % % For the review of XyMTeX, see % (1) Shinsaku Fujita, ``Typesetting structural formulas with the text % formatter TeX/LaTeX'', Computers and Chemistry, in press. % The following book deals with an application of TeX/LaTeX to % preparation of manuscripts of chemical fields: % (2) Shinsaku Fujita, ``LaTeX for Chemists and Biochemists'' % Tokyo Kagaku Dozin, Tokyo (1993) [in Japanese]. % % Copying of this file is authorized only if either % (1) you make absolutely no changes to your copy, including name and % directory name; or % (2) if you do make changes, % (a) you name it something other than the names included in the % ``xymtex'' directory and % (b) you are requested to leave this notice intact. % This restriction ensures that all standard styles are identical. % % Please report any bugs, comments, suggestions, etc. to: % Shinsaku Fujita, % Ashigara Research Laboratories, Fuji Photo Film Co., Ltd., % Minami-Ashigara, Kanagawa-ken, 250-01, Japan. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Bug Fix: % 1993/11/14 S. Fujita % A and B are interchanged. % a and b are interchanged. % % \def\j@urnalname{chemstr} % \def\versi@ndate{December 01, 1993} % \def\versi@nno{ver1.00} % \def\copyrighth@lder{SF}% % Shinsaku Fujita % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 1.01} % \typeout{ -- Released August 16, 1996 by Shinsaku Fujita} % \def\j@urnalname{chemstr} % \def\versi@ndate{August 16, 1996} % \def\versi@nno{ver1.01} % \def\copyrighth@lder{SF} % Shinsaku Fujita % % New address: % Shinsaku Fujita, % Department of Chemistry and Materials Technology, % Kyoto Institute of Technology, \\ % Matsugasaki, Sakyoku, Kyoto, 606 Japan % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \def\j@urnalname{chemstr} % \def\versi@ndate{October 31, 1998} % \def\versi@nno{ver1.02} % \def\copyrighth@lder{SF} % Shinsaku Fujita % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % \fi % % \CheckSum{13300} %% \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 \~} % % \setcounter{StandardModuleDepth}{1} % % \StopEventually{} % \MakeShortVerb{\|} % % \iffalse % \changes{v1.01}{1996/06/26}{first edition for LaTeX2e} % \changes{v1.02}{1998/10/31}{revised edition for LaTeX2e} % \changes{v2.00}{1998/12/25}{enhanced edition for LaTeX2e} % \fi % % \iffalse %<*driver> \NeedsTeXFormat{pLaTeX2e} % \fi \ProvidesFile{chemstr.dtx}[1998/12/25 v2.00 XyMTeX{} package file] % \iffalse \documentclass{ltxdoc} \GetFileInfo{chemstr.dtx} % % %%XyMTeX Logo: Definition 2%%% \def\UPSILON{\char'7} \def\XyM{X\kern-.30em\smash{% \raise.50ex\hbox{\UPSILON}}\kern-.30em{M}} \def\XyMTeX{\XyM\kern-.1em\TeX} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \title{Basic Commands for Drawing Chemical Structures by {\sffamily chemstr.sty} (\fileversion) of \XyMTeX{}} \author{Shinsaku Fujita \\ Department of Chemistry and Materials Technology, \\ Kyoto Institute of Technology, \\ Matsugasaki, Sakyoku, Kyoto, 606 Japan % % (old address) % % Ashigara Research Laboratories, % % Fuji Photo Film Co., Ltd., \\ % % Minami-Ashigara, Kanagawa, 250-01 Japan } \date{\filedate} % \begin{document} \maketitle \DocInput{chemstr.dtx} \end{document} % % \fi % % \section{Introduction}\label{chemstr:intro} % % \subsection{Options for {\sffamily docstrip}} % % \DeleteShortVerb{\|} % \begin{center} % \begin{tabular}{|l|l|} % \hline % \emph{option} & \emph{function}\\ \hline % chemstr & chemstr.sty \\ % driver & driver for this dtx file \\ % \hline % \end{tabular} % \end{center} % \MakeShortVerb{\|} % % \subsection{Version Information} % % \begin{macrocode} %<*chemstr> \typeout{XyMTeX for Drawing Chemical Structural Formulas. Version 2.00} \typeout{ -- Released December 25, 1998 by Shinsaku Fujita} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\j@urnalname{chemstr} \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]} % \end{macrocode} % % \section{List of commands for chemstr.sty} % % \begin{verbatim} % ********************************* % * chemstr.sty: list of commands * % ********************************* % % % % \@forsemicol % \@forl@@p % \@iforl@@p % \@m@mb@r % \twoch@r % \twoCH@R (terminater //) % \twoch@@r % \twoCH@@R (terminater //) % \threech@r % \end{verbatim} % % \begin{verbatim} % % % \rmoiety % \lmoiety % \putlatom % \putratom % \putlratom % \Putlratom % % \end{verbatim} % % \begin{verbatim} % % % \if@clip \@clipfalse \@cliptrue % \if@aclip \@aclipfalse \@acliptrue % \if@bclip \@bclipfalse \@bcliptrue % \if@cclip \@cclipfalse \@ccliptrue % \if@eclip \@eclipfalse \@ecliptrue % \if@fclip \@fclipfalse \@fcliptrue % \iforigpt \origptfalse \origpttrue % \@tmpaa (counter) % % % \@yl % \yl@xdiff \yl@ydiff % \yl@shiftii % \yl@shifti % \@ylii % \@yli % \@@ylii % \@@yli % % % \fuseAx \fuseAy % \fuseBx \fuseBy % % \end{verbatim} % % \begin{verbatim} % % Substitution % % \@substa % \@substb % \@substc % \@substd % \@subste % \@substf % % \end{verbatim} % % \begin{verbatim} % Setting of atoms and bonds % % \setsixringv (on a vertical six-membered ring) % \setdecaringv (on a decaline (six-six) ring) % \setfusedbond (at fused bond positions) % \if@clipfuse \@clipfusefalse \@clipfusetrue % \setatombond (at an appropiate position) % % Placing structures as substituents % \ylposition % \ylfusedpostion % \ylatombondposition % % \end{verbatim} % % \begin{verbatim} % % Substitution % % \@hsubsta % \@hsubstb % \@hsubstc % \@hsubstd % \@hsubste % \@hsubstf % % \end{verbatim} % % \begin{verbatim} % Setting of atoms and bonds % % \setsixringh (on a horizontal six-membered ring) % % Placing structures as substituents % % \ylpositionh % % \end{verbatim} % % \begin{verbatim} % % % \ryl (right linking unit) % \lyl (left linking unit) % % % % \set@fusionadd@sixv \set@fusion@sixv % \set@fusionadd@sixvi \set@fusion@sixvi % \set@fusionadd@sixh \set@fusion@sixh % \set@fusionadd@sixhi \set@fusion@sixhi % % \set@fusion@decav % \set@fusion@decavb % \set@fusion@decavt % \set@fusion@decah % % \set@fusion@hanthrav % \set@fusion@hphenanv % % \set@fusionadd@fivev \set@fusion@fivev % \set@fusionadd@fivevi \set@fusion@fivevi % \set@fusionadd@fiveh \set@fusion@fiveh % \set@fusionadd@fivehi \set@fusion@fivehi % % \set@fusion@nonav \set@fusion@nonavi % \set@fusion@nonah \set@fusion@nonahi % \end{verbatim} % % \section{Initialization and conventions} % \subsection{Logos} % % The logo of \XyMTeX{} is defined in two ways. The first definition uses % the \verb/\fam/ command, which sometimes shows unusual behavior. The % second definition is adopted in the present version of \XyMTeX{}, since % this aims at the compatibility to \LaTeXe{}. % % \begin{macro}{\XyMTeX} % \begin{macrocode} % *************** % * XyMTeX Logo * % *************** % %%XyMTeX Logo: Definition 1%%% %\newcount\TestCount %\def\XyM{\ifnum\fam=-1\relax\fam=0\relax\fi\TestCount=\fam% %X\kern-.30em\smash{\raise.50ex\hbox{$\fam\TestCount\Upsilon$}}% %\kern-.30em{M}} %\def\XyMTeX{\XyM\kern-.1em\TeX} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \end{macrocode} % % \begin{macrocode} % %%XyMTeX Logo: Definition 2%%% \def\UPSILON{\char'7} \def\XyM{X\kern-.30em\smash{\raise.50ex\hbox{\UPSILON}}\kern-.30em{M}} \def\XyMTeX{\XyM\kern-.1em\TeX} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \end{macrocode} % \end{macro} % % \subsection{Macros for treating argumets} % % For separating each argument (BONDLIST, SUBSLIST or ATOMLIST) into % components (descriptors), we define several useful macros. % % \begin{macro}{\@forsemicol} % \begin{macro}{\@forl@@p} % \begin{macro}{\@iforl@@p} % % The macro |\@forsemicol| resembles the |\@for| macro that is % the \LaTeX{} original macro; however a semicolon is used as % a separating key in place of a comma. % % \changes{v1.01}{1996/07/06}{\cs{@forsemicol}: \cs{edef} % to \cs{expandafter}} % \changes{v1.01}{1996/07/06}{\cs{@iforl@@p} replaced by % a LaTeX2e-like definitiion} % % \begin{macrocode} % **************************************************** % * For separating an augument list to each argument * % **************************************************** % \def\@forsemicol#1:=#2\do#3{% % \edef\@fortmp{#2}%1996/07/06 by S. Fujita \expandafter\def\expandafter\@fortmp\expandafter{#2}% \ifx\@fortmp\@empty \else% \expandafter\@forl@@p#2;\@nil;\@nil\@@#1{#3}\fi} \long\def\@forl@@p#1;#2;#3\@@#4#5{\def#4{#1}\ifx #4\@nnil \else% #5\def#4{#2}\ifx #4\@nnil \else#5\@iforl@@p #3\@@#4{#5}\fi\fi} \long\def\@iforl@@p#1;#2\@@#3#4{\def#3{#1}\ifx #3\@nnil% \expandafter\@fornoop \else #4\relax\expandafter\@iforl@@p\fi#2\@@#3{#4}} %\def\@iforl@@p#1;#2\@@#3#4{\def#3{#1}\ifx #3\@nnil% % \let\@nextwhile=\@fornoop \else% % #4\relax\let\@nextwhile=\@iforl@@p\fi\@nextwhile#2\@@#3{#4}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % % The macro |\@m@mb@r| separates a character string into to portions % by using a double equality symbol (|==|) and a semicolon as delimiters. % The first potion consists of a locant number and a bond modifier (stored % in |\@membera|), which are further separated by the macro |\twoch@r|, % |\twoch@@r| or |\threech@r|. % The second potion shows a substituent (stored in |\@memberb|), % which is printed by means of an appropiate command. % % \begin{macro}{\@m@mb@r} % \begin{macro}{\twoch@r} % \begin{macro}{\twoch@@r} % \begin{macro}{\threech@r} % \begin{macrocode} \def\@m@mb@r#1==#2;{\gdef\@membera{#1}\gdef\@memberb{#2}} \def\twoch@r#1#2{\gdef\@tmpa{#1}\gdef\@tmpb{#2}} \def\twoch@@r#1#2{\gdef\@@tmpa{#1}\gdef\@@tmpb{#2}} \def\threech@r#1#2#3{\gdef\@tmpa{#1}\gdef\@tmpb{#2}\gdef\@tmpc{#3}} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % The following two commands are added to treat spiro fusion. % \changes{v2.00}{1998/11/15}{Added for spiro fusion} % % \begin{macro}{\twoCH@R} % \begin{macro}{\twoCH@@R} % \begin{macrocode} \def\twoCH@@R#1#2//{\gdef\@@tmpa{#1}\gdef\@@tmpb{#2}} \def\twoCH@R#1#2//{\gdef\@tmpa{#1}\gdef\@tmpb{#2}} % \end{macrocode} % \end{macro} % \end{macro} % % \subsection{Conventions} % % Switches for characterizing substitution sites as % left, right or left-right boxes become effective in % the commands |\putlatom|, |\putratom| and |\putlratom|. % They are used for warning wrong or unnecessary usages of % |\lmoiety| or |\rmoiety|. % % \changes{v1.02}{1998/10/20}{Switches \cs{@leftput} added} % % \begin{macro}{\if@leftput} % \begin{macro}{\if@rightput} % \begin{macro}{\if@leftrightput} % \begin{macro}{\resetlrput} % \begin{macrocode} \newif\if@rightput \@rightputfalse \newif\if@leftput \@leftputfalse \newif\if@leftrightput \@leftrightputfalse \def\resetlrput{\@rightputfalse\@leftputfalse \@leftrightputfalse} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % We can use the macro |\rmoiety| for drawing a right-hand substituent % and the macro |\lmoiety| for drawing a left-hand substituent. % % \changes{v1.02}{1998/10/20}{The definitions of \cs{rmoiety} and % \cs{lmoiety} are changed. Warning function is added.} % % When you use a |\rmoiety| command in a left box produced by % a |\putlatom| command, the warning ``Wrong |\rmoiety|'' is reported. % When you use a |\lmoiety| command in a right box produced by % a |\putratom| command, the warning ``Wrong |\lmoiety|'' is reported. % If the ``draft'' option is effective, these cases are designated by % solid squares at the corresponding positions on pages. % % \begin{macro}{\rmoiety} % \begin{macro}{\lmoiety} % \begin{macrocode} % ************** % * Convention * % ************** % %\def\rmoiety#1{#1 \hss} % %\def\lmoiety#1{\hss #1} \def\rmoiety#1{\if@leftput \XyMTeXWarning{Wrong \string\rmoiety\space used in a left box}% \hbox to0pt{% \hbox to0pt{\hss\vrule width\overfullrule height\overfullrule}#1\hss}% \else\if@rightput\XyMTeXWarning{Unnecessary \string\rmoiety\space used in a right box}\hbox to0pt{#1\hss}% \else\if@leftrightput\hbox to0pt{#1\hss}% \fi\fi\fi\resetlrput} \def\lmoiety#1{\if@rightput \XyMTeXWarning{Wrong \string\lmoiety\space used in a right box}% \hbox to0pt{\hss#1\kern-.72em% \hbox to0pt{\vrule width\overfullrule height\overfullrule\hss}}\else \if@leftput\XyMTeXWarning{Unnecessary \string\lmoiety\space used in a left box}\hbox to0pt{\hss#1}% \else\if@leftrightput\hbox to0pt{\hss#1\kern-.72em}% \else\hbox to0pt{\hss#1\kern-.72em}\fi\fi\fi\resetlrput} % \end{macrocode} % \end{macro} % \end{macro} % % Warnings from \XyMTeX{} are concerned with commands % |\rmoiety| and |\lmoiety|. % % \begin{macro}{\XyMTeXWarning} % \begin{macrocode} \def\XyMTeXWarning#1{% \begingroup \let\protect\string \immediate\write\@unused{^^IXyMTeX Warning: #1\space on input line \the\inputlineno^^I}% \endgroup} % \end{macrocode} % \end{macro} % % Warnings concerned with ring fusion are based on % the command |\FuseWarning| of \XyMTeX{}. % \changes{v2.00}{1998/11/15}{Warning function is added.} % % \begin{macro}{\@cnttempa} % \begin{macro}{\@cnttempb} % \begin{macro}{\FuseWarning} % \begin{macrocode} \newcount\@cnttempa \newcount\@cnttempb \def\FuseWarning#1#2#3#4#5#6#7{% \@tempcnta=#1 \@tempcntb=#2 \@cnttempa=#3 \advance\@cnttempa-#5 \@cnttempb=#4 \advance\@cnttempb-#6 \ifnum\@tempcnta=\@cnttempa \ifnum\@tempcntb=\@cnttempb\else \XyMTeXWarning{Mismatched fusion at bond `#7'}% \fi \else \XyMTeXWarning{Mismatched fusion at bond `#7'}% \fi} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % The original \LaTeX{} command |\put| is changed into macros suitable to % more specific uses as follows. % % \changes{v1.02}{1998/10/20}{The definition is changed. Warning function % for \cs{rmoiety} is added.} % % \begin{macro}{\putlatom} % \begin{macrocode} % %\def\putlatom#1#2#3{\put(#1,#2){\hbox to0pt{\hss #3}}} \def\putlatom#1#2#3{\begingroup\resetlrput \put(#1,#2){\@leftputtrue\hbox to0pt{\hss #3}\@leftputfalse}\endgroup} % \end{macrocode} % \end{macro} % % \changes{v1.02}{1998/10/20}{The definition is changed. Warning function % for \cs{lmoiety} is added.} % % \begin{macro}{\putratom} % \begin{macrocode} %\def\putratom#1#2#3{\put(#1,#2){\hbox to0pt{#3 \hss}}} \def\putratom#1#2#3{\begingroup\resetlrput \put(#1,#2){\@rightputtrue\hbox to0pt{#3 \hss}\@rightputfalse}\endgroup} % \end{macrocode} % \end{macro} % % \changes{v1.02}{1998/10/20}{The definition is changed. Warning function % for \cs{lmoiety} and \cs{rmoiety|} is added.} % % \begin{macro}{\putlratom} % \begin{macrocode} \def\putlratom#1#2#3{\begingroup\resetlrput \put(#1,#2){\@leftrightputtrue\hbox to.72em{#3\hss}}% \@leftrightputfalse\endgroup} % \end{macrocode} % \end{macro} % % \changes{v1.01b}{1998/10/06}{\cs{putlratom}: delete \sc{setbox0}} % \changes{v1.02}{1998/10/20}{The old definition is % totally replaced by the new definition} % % \begin{verbatim} % % old definitions % % \begin{macrocode} % % changed to avoid Overfull warnings 1993/11/11/S.Fujita % % \newif\if@moiety \@moietyfalse % % \def\putlratom#1#2#3{% % % \def\lmoiety##1{\global\@moietytrue}% % % \setbox0=\hbox{#3}%deleted by S. Fujita % % \if@moiety\def\lmoiety##1{\hss ##1}% % % \put(#1,#2){\hbox to.72em{#3}}\global\@moietyfalse % % \else\put(#1,#2){\hbox to.6em{#3\hss}}\fi}% % % \def\putlratom#1#2#3{\put(#1,#2){\hbox to.6em{#3}}} % % \end{macrocode} % \end{verbatim} % % \begin{macro}{\Putlratom} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{macrocode} \def\Putlratom#1#2#3{\put(#1,#2){\hbox to.8em{#3}}} % \end{macrocode} % \end{macro} % % \subsection{Parameters} % % The original point for drawing a structural formula is shifted to an % appropriate position, which is designated by the following parmeters % (counters) for coordinates. % % % \begin{macro}{\noshift} % \begin{macro}{\shifti} % \begin{macro}{\shiftii} % \begin{macro}{\shiftiii} % \begin{macrocode} % ******************************* % * Parameters for Coordinates * % ******************************* \newcount\noshift \noshift=0\relax% \newcount\shifti \shifti=240\relax% \newcount\shiftii \shiftii=400\relax% \newcount\shiftiii \shiftiii=800\relax% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % The unit length for \XyMTeX{} is selected to be 0.1pt. This value % should not be maintained as possible as you can. A smaller value % may disapper a sloped line of short length. % \begin{macrocode} \unitlength.1pt% % \end{macrocode} % % Parameters for ring fusion are used in fusering.sty. % \changes{v2.00}{1999/2/16}{This has been added to process the old XyMTeX % manual for Version 1.01} % % \begin{macro}{\fuseAx} % \begin{macro}{\fuseBx} % \begin{macro}{\fuseAy} % \begin{macro}{\fuseBy} % \begin{macrocode} \def\fuseAx{0} \def\fuseBx{0} \def\fuseAy{0} \def\fuseBy{0} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \subsection{Various switchs} % % These macros are used for clipping spaces at substitution positions. % Note that |\if@clip| is used in place of |\if@dclip|. % % \begin{macro}{\if@clip} % \begin{macro}{\if@aclip} % \begin{macro}{\if@bclip} % \begin{macro}{\if@cclip} % \begin{macro}{\if@eclip} % \begin{macro}{\if@fclip} % \begin{macro}{\iforigpt} % \begin{macro}{\@tmpaa} % \begin{macrocode} % *************************************** % * various flags (switches) * % * treatment of substitution positions * % *************************************** % % for 6- or lower-membered cycles % \newif\if@clip \@clipfalse% % switch for clipping at 4 \newif\if@aclip \@aclipfalse% % switch for clipping at 1 \newif\if@bclip \@bclipfalse% % switch for clipping at 2 \newif\if@cclip \@cclipfalse% % switch for clipping at 3 \newif\if@eclip \@eclipfalse% % switch for clipping at 5 \newif\if@fclip \@fclipfalse% % switch for clipping at 6 \newif\iforigpt \origptfalse% % switch for showing the original point \newcount\@tmpaa% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\if@gclip} % \begin{macro}{\if@hclip} % \begin{macro}{\if@iclip} % \begin{macro}{\if@jclip} % \begin{macrocode} % % for further-membered cycles % \newif\if@gclip \@gclipfalse% \newif\if@hclip \@hclipfalse% \newif\if@iclip \@iclipfalse% \newif\if@jclip \@jclipfalse% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \subsection{Various commands and switchs for using substituents} % % For drawing a structure as a substituent, the argument (yl) can % be used. The following commands and counters are used for shifting % the substituent. % \changes{v1.02}{1998/10/31}{Commands for setting substituents} % \changes{v2.00}{1998/12/25}{Added: \cs{reset@yl@xydiff}} % % \begin{macro}{\@yl} % \begin{macro}{\yl@xdiff} % \begin{macro}{\yl@ydiff} % \begin{macro}{\yl@shiftii} % \begin{macro}{\yl@shifti} % \begin{macro}{\@ylii} % \begin{macro}{\@yli} % \begin{macro}{\@@ylii} % \begin{macro}{\@@yli} % \begin{macrocode} \def\@yl{(yl)} \newcount\yl@xdiff \newcount\yl@ydiff \newcount\yl@shiftii \newcount\yl@shifti \def\@ylii{0}\def\@yli{0} \def\@@ylii{}\def\@@yli{} \def\reset@@yl{\gdef\@@ylii{}\gdef\@@yli{}} \def\reset@yl@xydiff{\yl@xdiff=0 \yl@ydiff=0\relax} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % The following switches are used for shifting the substituent. % The locant flags such as |\@ylatrue| have been stoped to use. % \changes{v1.02}{1998/10/11}{Delete \cs{@ylatrue} etc.} % \changes{v1.02}{1998/10/31}{Commands for setting substituents} % % Old definition: % \begin{macrocode} % %%%%% \newif\if@yla \@ylafalse % %%%%% \newif\if@ylb \@ylbfalse % %%%%% \newif\if@ylc \@ylcfalse % %%%%% \newif\if@yld \@yldfalse % %%%%% \newif\if@yle \@ylefalse % %%%%% \newif\if@ylf \@ylffalse % \end{macrocode} % % \begin{macro}{\if@ylsw} % \begin{macro}{\if@@ylsw} % \begin{macrocode} \newif\if@ylsw \@ylswfalse \newif\if@@ylsw \@@ylswfalse % \end{macrocode} % \end{macro} % \end{macro} % % \begin{verbatim} % Old definition: % % \begin{macrocode} % %%%%% \def\@reset@ylsw{\@ylafalse\@ylbfalse\@ylcfalse % %%%%% \@yldfalse\@ylefalse\@ylffalse\@ylswfalse} % % \end{macrocode} % \end{verbatim} % % \begin{macro}{\@reset@ylsw} % \begin{macrocode} \def\@reset@ylsw{\@ylswfalse\@@ylswfalse} % \end{macrocode} % \end{macro} % % The further fusion of a three- or four-membered ring at a center bond % of a six-six or six-five ring is permitted, while that of a five- % or more-membered ring is not permitted. The macro |\@smallringsw| % is used for such switching (fusering.sty). % % \begin{macro}{\if@smallringsw} % \begin{macrocode} \newif\if@smallringsw \@smallringswfalse % \end{macrocode} % \end{macro} % % \subsection{Initialization} % % The |\iniflag| command initializes all of the clipping flags. % The |\iniatom| command initializes all of the strings of temporary use % such as |\aaa| and |\bbb|, which are associated with respective % atom positions. % The |\resetbdsw| command resets all of the strings of temporary use % such as |\@aaa| and |\@bbb|, which are associated with respective % bond positions. % % \begin{macro}{\iniflag} % \begin{macro}{\iniatom} % \begin{macro}{\resetbdsw} % \changes{v1.02}{1998/10/25}{Delete \sc{global}} % % \begin{macrocode} % %\def\iniflag{% % %\global\@aclipfalse\global\@bclipfalse% % %\global\@cclipfalse\global\@clipfalse\global\@eclipfalse% % %\global\@fclipfalse\global\@gclipfalse\global\@hclipfalse% % %\global\@iclipfalse\global\@jclipfalse% % %\global\@clipfusefalse}% % %\def\iniatom{% % %\gdef\aaa{}\gdef\bbb{}\gdef\ccc{}\gdef\ddd{}% % %\gdef\eee{}\gdef\fff{}% % %\gdef\ggg{}\gdef\hhh{}\gdef\iii{}\gdef\jjj{}% % %\gdef\@aaa{}\gdef\@bbb{}\gdef\@ccc{}\gdef\@ddd{}% % %\gdef\@eee{}\gdef\@fff{}% % %}% % %\def\resetbdsw{\gdef\@aaa{a}\gdef\@bbb{b}\gdef\@ccc{c}% % %\gdef\@ddd{d}\gdef\@eee{e}\gdef\@fff{f}}% % \end{macrocode} % % \begin{macrocode} \def\iniflag{% \@aclipfalse\@bclipfalse\@cclipfalse\@clipfalse\@eclipfalse% \@fclipfalse\@gclipfalse\@hclipfalse% \@iclipfalse\@jclipfalse\@clipfusefalse% \global\@smallringswfalse% }% \def\iniatom{% \def\aaa{}\def\bbb{}\def\ccc{}\gdef\ddd{}% \def\eee{}\def\fff{}% \def\ggg{}\def\hhh{}\def\iii{}\gdef\jjj{}% \def\@aaa{}\def\@bbb{}\def\@ccc{}\def\@ddd{}% \def\@eee{}\def\@fff{}% \def\@ggg{}\def\@hhh{}\def\@iii{}% \def\@jjj{}\def\@kkk{}% }% \def\resetbdsw{\def\@aaa{a}\def\@bbb{b}\def\@ccc{c}% \def\@ddd{d}\def\@eee{e}\def\@fff{f}% \def\@ggg{g}\def\@hhh{h}\def\@iii{i}% \def\@jjj{j}\def\@kkk{k}% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % At the beginning of \XyMTeX\ processing, we initialize atom % information by the command |\iniatom|. % % \begin{macrocode} \iniatom % \end{macrocode} % % % \section{Macros for Vertical formulas} % \subsection{Placing substituents for vertical formulas} % % Such a drawing command as |\setsixringv| uses several inner macros % for placing substituents with bonds. The first set of inner macros % are shown as follows. % % The command |\ylposition| is to obtain the shift values % |\@ylii| and |\@yli| which are used for shifting the standard % point of a substituent. % The locant flags such as |\@ylatrue| have been stoped to use. % \changes{v1.02}{1998/10/11}{Delete \cs{@ylatrue} etc.} % \changes{v1.02}{1998/10/31}{Commands for setting substituents} % % \begin{macro}{\ylposition} % \begin{macrocode} \def\ylposition#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 % \end{macrocode} % % The flags |\@lyatrue| etc are not used in a revised edition. % % \begin{macrocode} \or\ifx\aaa\empty \gdef\@ylii{0}\gdef\@yli{-406}\global\@ylswtrue%\@ylatrue% subst. on 1 \else \gdef\@ylii{0}\gdef\@yli{-442}\global\@ylswtrue%\@ylatrue% subst. on 1 \fi \or\ifx\bbb\empty \gdef\@ylii{-171}\gdef\@yli{-303}\global\@ylswtrue%\@ylbtrue% subst. on 2 \else \gdef\@ylii{-213}\gdef\@yli{-327}\global\@ylswtrue%\@ylbtrue% subst. on 2 \fi \or\ifx\ccc\empty \gdef\@ylii{-171}\gdef\@yli{-103}\global\@ylswtrue%\@ylctrue% subst. on 3 \else \gdef\@ylii{-213}\gdef\@yli{-79}\global\@ylswtrue%\@ylctrue% subst. on 3 \fi \or\ifx\ddd\empty \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue%\@yldtrue% subst. on 4 \else \gdef\@ylii{0}\gdef\@yli{36}\global\@ylswtrue%\@yldtrue% subst. on 4 \fi \or\ifx\eee\empty \gdef\@ylii{171}\gdef\@yli{-103}\global\@ylswtrue%\@yletrue% subst. on 5 \else \gdef\@ylii{213}\gdef\@yli{-79}\global\@ylswtrue%\@yletrue% subst. on 5 \fi \or\ifx\fff\empty \gdef\@ylii{171}\gdef\@yli{-303}\global\@ylswtrue%\@ylftrue% subst. on 6 \else \gdef\@ylii{213}\gdef\@yli{-327}\global\@ylswtrue%\@ylftrue% subst. on 6 \fi% \fi%end of ifcase \fi\fi\fi\fi\fi}}% % \end{macrocode} % \end{macro} % % The |\@substa| command is used for placing a substituent (|\@memberb|) at % the 1-position (top) of a vertical six-membered ring. The bond linking % between the substituent and the 1-position is drawn in the light of % the corresponding bond modifier (|\@tmpc| = Sa, Sb, SA, SB etc.). % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd} % \begin{macro}{\@substa} % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 1 % % %%%%%%%%%%%%%%% \def\@substa{% \if@aclip% %clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=31\relax \yl@ydiff=-17\relax \put(0,436){\line(0,1){110}}% % single bond at 1 \putlratom{-31}{563}{\@memberb}% % left or right type \else\if\@tmpc B%(B) beta \yl@xdiff=-36\relax \yl@ydiff=-27\relax \putlatom{-42}{563}{\@memberb}% % left type {% \thicklines% \put(-18,436){\line(-3,5){60}}% % single bond at 1 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=37\relax \yl@ydiff=-27\relax \putratom{41}{563}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(18,436){\line(3,5){60}}% % single bond at 1 }{{\thicklines% \dottedline{20}(18,436)(72,526)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=36\relax \yl@ydiff=-27\relax \putratom{41}{563}{\@memberb}% % right type {% \thicklines% \put(18,436){\line(3,5){60}}% % single bond at 1 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-37\relax \yl@ydiff=-27\relax \putlatom{-42}{563}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-18,436){\line(-3,5){60}}% % single bond at 1 }{{\thicklines% \dottedline{20}(-18,436)(-72,526)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-36\relax \yl@ydiff=-27\relax \putlatom{-42}{563}{\@memberb}% % left type \put(-18,436){\line(-3,5){60}}% % single bond at 1 \else\if\@tmpc a%(a) alpha \yl@xdiff=37\relax \yl@ydiff=-27\relax \putratom{41}{563}{\@memberb}% % right type \put(18,436){\line(3,5){60}}% % single bond at 1 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \putlratom{-31}{563}{\@memberb}% % left or right type \put(-12,436){\line(0,1){110}}% % double bond at 1 \put(12,436){\line(0,1){110}}% % double bond at 1 \else\if\@tmpb B%beta single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \putlratom{-31}{563}{\@memberb}% % left or right type {% \thicklines% \put(0,436){\line(0,1){110}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \putlratom{-31}{563}{\@memberb}% % left or right type \@ifundefined{dottedline}{% \put(0,436){\line(0,1){110}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,436)(0,546)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(0,406){\setatombondd}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(0,406){\setatombondf}% }% \else% \yl@xdiff=31\relax \yl@ydiff=-17\relax \putlratom{-31}{563}{\@memberb}% % left or right type \put(0,436){\line(0,1){110}}% % single bond at 1 \fi\fi\fi\fi% \fi\fi% \else% % no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=31\relax \yl@ydiff=-17\relax \put(0,406){\line(0,1){140}}% % single bond at 1 \putlratom{-31}{563}{\@memberb}% % left or right type \else\if\@tmpc B%(B) beta \yl@xdiff=-30\relax \yl@ydiff=-37\relax \putlatom{-42}{563}{\@memberb}% % left type {% \thicklines% \put(0,406){\line(-3,5){72}}% % single bond at 1 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=31\relax \yl@ydiff=-37\relax \putratom{41}{563}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(0,406){\line(3,5){72}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,406)(72,526)}}% \else\if\@tmpc u%(u) upper --- (B) beta \yl@xdiff=30\relax \yl@ydiff=-37\relax \putratom{41}{563}{\@memberb}% % right type {% \thicklines% \put(0,406){\line(3,5){72}}% % single bond at 1 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-31\relax \yl@ydiff=-37\relax \putlatom{-42}{563}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(0,406){\line(-3,5){72}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,406)(-72,526)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-30\relax \yl@ydiff=-37\relax \putlatom{-42}{563}{\@memberb}% % left type \put(0,406){\line(-3,5){72}}% % single bond at 1 \else\if\@tmpc a%(a) alpha \yl@xdiff=31\relax \yl@ydiff=-37\relax \putratom{41}{563}{\@memberb}% % right type \put(0,406){\line(3,5){72}}% % single bond at 1 \fi\fi\fi\fi\fi% \fi\fi% \else\if\@tmpb D%double bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \putlratom{-31}{563}{\@memberb}% % left or right type \put(-12,406){\line(0,1){140}}% % double bond at 1 \put(12,406){\line(0,1){140}}% % double bond at 1 \else\if\@tmpb B%beta single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \putlratom{-31}{563}{\@memberb}% % left or right type {% \thicklines% \put(0,406){\line(0,1){140}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \putlratom{-31}{563}{\@memberb}% % left or right type \@ifundefined{dottedline}{% \put(0,406){\line(0,1){140}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,406)(0,546)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(0,406){\setatombondd}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(0,406){\setatombondf}% }% \else% \yl@xdiff=31\relax \yl@ydiff=-17\relax \putlratom{-31}{563}{\@memberb}% % left or right type \put(0,406){\line(0,1){140}}% % single bond at 1 \fi\fi\fi\fi% \fi\fi \fi}% end of \@substa % \end{macrocode} % \end{macro} % % The |\@substb| command is used for placing a substituent (|\@memberb|) at % the 2-position (upper-right) of a vertical six-membered ring. % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd} % \begin{macro}{\@substb} % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 2 % % %%%%%%%%%%%%%%% \def\@substb{% \if@bclip %clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=-10\relax \yl@ydiff=24\relax \putratom{311}{363}{\@memberb}% % right type \put(201,327){\line(5,3){100}}% % single bond at 2 \else\if\@tmpc B%(B) beta \yl@xdiff=-7\relax \yl@ydiff=38\relax \putratom{268}{420}{\@memberb}% % right type {% \thicklines% \put(201,358){\line(3,5){60}}% % single bond at 2 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=-17\relax \yl@ydiff=23\relax \putratom{318}{280}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(201,303){\line(1,0){100}}% % single bond at 2 }{{\thicklines% \dottedline{20}(201,303)(301,303)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=-17\relax \yl@ydiff=23\relax \putratom{318}{280}{\@memberb}% % right type {% \thicklines% \put(201,303){\line(1,0){100}}% % single bond at 2 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-7\relax \yl@ydiff=38\relax \putratom{268}{420}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(201,358){\line(3,5){60}}% % single bond at 2 }{{\thicklines% \dottedline{20}(201,358)(261,458)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-7\relax \yl@ydiff=38\relax \putratom{268}{420}{\@memberb}% % right type \put(201,358){\line(3,5){60}}% % single bond at 2 \else\if\@tmpc a%(a) alpha% \yl@xdiff=-17\relax \yl@ydiff=23\relax \putratom{318}{280}{\@memberb}% % right type \put(201,303){\line(1,0){100}}% % single bond at 2 \fi\fi\fi\fi\fi% \fi\fi% \else\if\@tmpb D%double bond \yl@xdiff=-10\relax \yl@ydiff=18\relax \putratom{311}{363}{\@memberb}% % right type \put(194,331){\line(5,3){100}}% % double bond at 2 \put(200,305){\line(5,3){100}}% % double bond at 2 \else\if\@tmpb B%beta single bond \yl@xdiff=-10\relax \yl@ydiff=24\relax \putratom{311}{363}{\@memberb}% % right type {% \thicklines% \put(201,327){\line(5,3){100}}% % single bond at 2 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-10\relax \yl@ydiff=24\relax \putratom{311}{363}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(201,327){\line(5,3){100}}% % single bond at 2 }{{\thicklines% \dottedline{20}(201,327)(301,387)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(171,303){\setatombonda}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(171,303){\setatombonde}% }% \else% \yl@xdiff=-10\relax \yl@ydiff=24\relax \putratom{311}{363}{\@memberb}% % right type \put(201,327){\line(5,3){100}}% % single bond at 2 \fi\fi\fi\fi% \fi\fi% \else% %no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=-10\relax \yl@ydiff=12\relax \putratom{301}{363}{\@memberb}% % right type \put(171,303){\line(5,3){120}}% % single bond at 2 \else\if\@tmpc B%(B) beta \yl@xdiff=-15\relax \yl@ydiff=13\relax \putratom{258}{410}{\@memberb}% % right type {% \thicklines% \put(171,303){\line(3,5){72}}% % single bond at 2 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=-7\relax \yl@ydiff=23\relax \putratom{318}{280}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(171,303){\line(1,0){140}}% % single bond at 2 }{{\thicklines% \dottedline{20}(171,303)(311,303)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=-7\relax \yl@ydiff=23\relax \putratom{318}{280}{\@memberb}% % right type {% \thicklines% \put(171,303){\line(1,0){140}}% % single bond at 2 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-15\relax \yl@ydiff=13\relax \putratom{258}{410}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(171,303){\line(3,5){72}}% % single bond at 2 }{{\thicklines% \dottedline{20}(171,303)(243,423)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-15\relax \yl@ydiff=13\relax \putratom{258}{410}{\@memberb}% % right type \put(171,303){\line(3,5){72}}% % single bond at 2 \else\if\@tmpc a%(a) alpha \yl@xdiff=-7\relax \yl@ydiff=23\relax \putratom{318}{280}{\@memberb}% % right type \put(171,303){\line(1,0){140}}% % single bond at 2 \fi\fi\fi\fi\fi% \fi\fi% \else\if\@tmpb D%double bond \yl@xdiff=-10\relax \yl@ydiff=6\relax \putratom{301}{363}{\@memberb}% % right type \put(168,310){\line(5,3){120}}% % double bond at 2 \put(174,284){\line(5,3){120}}% % double bond at 2 \else\if\@tmpb B%beta single bond \yl@xdiff=-10\relax \yl@ydiff=12\relax \putratom{301}{363}{\@memberb}% % right type {% \thicklines% \put(171,303){\line(5,3){120}}% % single bond at 2 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-10\relax \yl@ydiff=12\relax \putratom{301}{363}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(171,303){\line(5,3){120}}% % single bond at 2 }{{\thicklines% \dottedline{20}(171,303)(291,375)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(171,303){\setatombonda}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(171,303){\setatombonde}% }% \else% \yl@xdiff=-10\relax \yl@ydiff=12\relax \putratom{301}{363}{\@memberb}% % right type \put(171,303){\line(5,3){120}}% % single bond at 2 \fi\fi\fi\fi% \fi\fi \fi}% end of \@substb % \end{macrocode} % \end{macro} % % The |\@substc| command is used for placing a substituent (|\@memberb|) at % the 3-position (lower-right) of a vertical six-membered ring. % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff|} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd} % \begin{macro}{\@substc} % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 3 % % %%%%%%%%%%%%%%% \def\@substc{% \if@cclip %clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=-10\relax \yl@ydiff=46\relax \putratom{311}{-27}{\@memberb}% % right type \put(201,79){\line(5,-3){110}}% % single bond at 3 \else\if\@tmpc B%(B) beta \yl@xdiff=-7\relax \yl@ydiff=28\relax \putratom{268}{-80}{\@memberb}% % right type {% \thicklines% \put(201,48){\line(3,-5){60}}% % single bond at 3 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=-17\relax \yl@ydiff=29\relax \putratom{318}{74}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(201,103){\line(1,0){100}}% % single bond at 3 }{{\thicklines% \dottedline{20}(201,103)(301,103)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=-17\relax \yl@ydiff=29\relax \putratom{318}{74}{\@memberb}% % right type {% \thicklines% \put(201,103){\line(1,0){100}}% % single bond at 3 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-7\relax \yl@ydiff=28\relax \putratom{268}{-80}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(201,48){\line(3,-5){60}}% % single bond at 3 }{{\thicklines% \dottedline{20}(201,48)(261,-52)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-7\relax \yl@ydiff=28\relax \putratom{268}{-80}{\@memberb}% % right type \put(201,48){\line(3,-5){60}}% % single bond at 3 \else\if\@tmpc a%(a) alpha \yl@xdiff=-17\relax \yl@ydiff=29\relax \putratom{318}{74}{\@memberb}% % right type \put(201,103){\line(1,0){100}}% % single bond at 3 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=-10\relax \yl@ydiff=52\relax \putratom{311}{-27}{\@memberb}% % right type \put(194,76){\line(5,-3){100}}% % double bond at 3 \put(200,101){\line(5,-3){100}}% % double bond at 3 \else\if\@tmpb B%beta single bond \yl@xdiff=-10\relax \yl@ydiff=46\relax \putratom{311}{-27}{\@memberb}% % right type {% \thicklines% \put(201,79){\line(5,-3){100}}% % single bond at 3 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-10\relax \yl@ydiff=46\relax \putratom{311}{-27}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(201,79){\line(5,-3){100}}% % single bond at 3 }{{\thicklines% \dottedline{20}(201,79)(301,19)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(171,103){\setatombondf}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(171,103){\setatombondc}% }% \else% \yl@xdiff=-10\relax \yl@ydiff=46\relax \putratom{311}{-27}{\@memberb}% % right type \put(201,79){\line(5,-3){100}}% % single bond at 3 \fi\fi\fi\fi% \fi\fi% \else%no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=-10\relax \yl@ydiff=58\relax \putratom{301}{-27}{\@memberb}% % right type \put(171,103){\line(5,-3){120}}% % single bond at 3 \else\if\@tmpc B%(B) beta \yl@xdiff=-10\relax \yl@ydiff=48\relax \putratom{258}{-70}{\@memberb}% % right type {% \thicklines% \put(171,103){\line(3,-5){72}}% % single bond at 3 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=-10\relax \yl@ydiff=30\relax \putratom{318}{74}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(171,103){\line(1,0){140}}% % single bond at 3 }{{\thicklines% \dottedline{20}(171,103)(311,103)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=-10\relax \yl@ydiff=30\relax \putratom{318}{74}{\@memberb}% % right type {% \thicklines% \put(171,103){\line(1,0){140}}% % single bond at 3 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-10\relax \yl@ydiff=48\relax \putratom{258}{-70}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(171,103){\line(3,-5){72}}% % single bond at 3 }{{\thicklines% \dottedline{20}(171,103)(243,-17)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-10\relax \yl@ydiff=48\relax \putratom{258}{-70}{\@memberb}% % right type \put(171,103){\line(3,-5){72}}% % single bond at 3 \else\if\@tmpc a%(a) alpha \yl@xdiff=-10\relax \yl@ydiff=30\relax \putratom{318}{74}{\@memberb}% % right type \put(171,103){\line(1,0){140}}% % single bond at 3 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=-10\relax \yl@ydiff=65\relax \putratom{301}{-27}{\@memberb}% % right type \put(168,96){\line(5,-3){120}}% % double bond at 3 \put(174,121){\line(5,-3){120}}% % double bond at 3 \else\if\@tmpb B%beta single bond \yl@xdiff=-10\relax \yl@ydiff=58\relax \putratom{301}{-27}{\@memberb}% % right type {% \thicklines% \put(171,103){\line(5,-3){120}}% % single bond at 3 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-10\relax \yl@ydiff=58\relax \putratom{301}{-27}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(171,103){\line(5,-3){120}}% % single bond at 3 }{{\thicklines% \dottedline{20}(171,103)(291,31)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(171,103){\setatombondf}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(171,103){\setatombondc}% }% \else% \yl@xdiff=-10\relax \yl@ydiff=58\relax \putratom{301}{-27}{\@memberb}% % right type \put(171,103){\line(5,-3){120}}% % single bond at 3 \fi\fi\fi\fi% \fi\fi \fi }% end of \@substc % \end{macrocode} % \end{macro} % % The |\@substd| command is used for placing a substituent (|\@memberb|) at % the 4-position (bottom) of a vertical six-membered ring. % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd} % \begin{macro}{\@substd} % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 4 % % %%%%%%%%%%%%%%% \def\@substd{% \if@clip %clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=31\relax \yl@ydiff=90\relax \putlratom{-31}{-230}{\@memberb}% % left or right type \put(0,-30){\line(0,-1){110}}% % single bond at 4 \else\if\@tmpc B%(B) beta \yl@xdiff=-36\relax \yl@ydiff=100\relax \putlatom{-42}{-230}{\@memberb}% % left type {% \thicklines% \put(-18,-30){\line(-3,-5){60}}% % single bond at 4 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=37\relax \yl@ydiff=100\relax \putratom{41}{-230}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(18,-30){\line(3,-5){60}}% % single bond at 4 }{{\thicklines% \dottedline{20}(18,-30)(72,-120)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=37\relax \yl@ydiff=100\relax \putratom{41}{-230}{\@memberb}% % right type {% \thicklines% \put(18,-30){\line(3,-5){60}}% % single bond at 4 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-36\relax \yl@ydiff=100\relax \putlatom{-42}{-230}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-18,-30){\line(-3,-5){60}}% % single bond at 4 }{{\thicklines% \dottedline{20}(-18,-30)(-78,-130)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-36\relax \yl@ydiff=100\relax \putlatom{-42}{-230}{\@memberb}% % left type \put(-18,-30){\line(-3,-5){60}}% % single bond at 4 \else\if\@tmpc a%(a) alpha \yl@xdiff=37\relax \yl@ydiff=100\relax \putratom{41}{-230}{\@memberb}% % right type \put(18,-30){\line(3,-5){60}}% % single bond at 4 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=31\relax \yl@ydiff=90\relax \putlratom{-31}{-230}{\@memberb}% % left or right type \put(-12,-30){\line(0,-1){110}}% % double bond at 4 \put(12,-30){\line(0,-1){110}}% % double bond at 4 \else\if\@tmpb B%beta single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \putlratom{-31}{-230}{\@memberb}% % left or right type {% \thicklines% \put(0,-30){\line(0,-1){110}}% % single bond at 4 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \putlratom{-31}{-230}{\@memberb}% % left or right type \@ifundefined{dottedline}{% \put(0,-30){\line(0,-1){110}}% % single bond at 4 }{{\thicklines% \dottedline{20}(0,-30)(0,-140)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(0,0){\setatombonde}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(0,0){\setatombondg}% }% \else% \yl@xdiff=31\relax \yl@ydiff=90\relax \putlratom{-31}{-230}{\@memberb}% % left or right type \put(0,-30){\line(0,-1){110}}% % single bond at 4 \fi\fi\fi\fi% \fi\fi% \else%no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=31\relax \yl@ydiff=90\relax \putlratom{-31}{-230}{\@memberb}% % left or right type \put(0,0){\line(0,-1){140}}% % single bond at 4 \else\if\@tmpc B%(B) beta \yl@xdiff=-30\relax \yl@ydiff=110\relax \putlatom{-42}{-230}{\@memberb}% % left type {% \thicklines% \put(0,0){\line(-3,-5){72}}% % single bond at 4 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=31\relax \yl@ydiff=110\relax \putratom{41}{-230}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(0,0){\line(3,-5){72}}% % single bond at 4 }{{\thicklines% \dottedline{20}(0,0)(72,-120)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=31\relax \yl@ydiff=110\relax \putratom{41}{-230}{\@memberb}% % right type {% \thicklines% \put(0,0){\line(3,-5){72}}% % single bond at 4 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-30\relax \yl@ydiff=110\relax \putlatom{-42}{-230}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(0,0){\line(-3,-5){72}}% % single bond at 4 }{{\thicklines% \dottedline{20}(0,0)(-72,-120)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-30\relax \yl@ydiff=110\relax \putlatom{-42}{-230}{\@memberb}% % left type \put(0,0){\line(-3,-5){72}}% % single bond at 4 \else\if\@tmpc a%(a) alpha \yl@xdiff=31\relax \yl@ydiff=110\relax \putratom{41}{-230}{\@memberb}% % right type \put(0,0){\line(3,-5){72}}% % single bond at 4 \fi\fi\fi\fi\fi% \fi\fi% \else\if\@tmpb D%double bond \yl@xdiff=31\relax \yl@ydiff=90\relax \putlratom{-31}{-230}{\@memberb}% % left or right type \put(-12,0){\line(0,-1){140}}% % double bond at 4 \put(12,0){\line(0,-1){140}}% % double bond at 4 \else\if\@tmpb B%beta single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \putlratom{-31}{-230}{\@memberb}% % left or right type {% \thicklines% \put(0,0){\line(0,-1){140}}% % single bond at 4 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \putlratom{-31}{-230}{\@memberb}% % left or right type \@ifundefined{dottedline}{% \put(0,0){\line(0,-1){140}}% % single bond at 4 }{{\thicklines% \dottedline{20}(0,0)(0,-140)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(0,0){\setatombonde}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(0,0){\setatombondg}% }% \else% \yl@xdiff=31\relax \yl@ydiff=90\relax \putlratom{-31}{-230}{\@memberb}% % left or right type \put(0,0){\line(0,-1){140}}% % single bond at 4 \fi\fi\fi\fi% \fi\fi% \fi}%end of \@substd % \end{macrocode} % \end{macro} % % The |\@subste| command is used for placing a substituent (|\@memberb|) at % the 5-position (lower-left) of a vertical six-membered ring. % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd} % \begin{macro}{\@subste} % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 5 % % %%%%%%%%%%%%%%% \def\@subste{% \if@eclip%clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=10\relax \yl@ydiff=46\relax \putlatom{-311}{-27}{\@memberb}% % left type \put(-201,79){\line(-5,-3){110}}% % single bond at 5 \else\if\@tmpc B%(B) beta \yl@xdiff=7\relax \yl@ydiff=38\relax \putlatom{-268}{-80}{\@memberb}% % left type {% \thicklines% \put(-201,48){\line(-3,-5){60}}% % single bond at 5 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=17\relax \yl@ydiff=29\relax \putlatom{-318}{74}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-201,103){\line(-1,0){100}}% % single bond at 5 }{{\thicklines% \dottedline{20}(-201,103)(-301,103)}}% \else\if\@tmpc u% (u) up --- (B) beta \yl@xdiff=17\relax \yl@ydiff=29\relax \putlatom{-318}{74}{\@memberb}% % left type {% \thicklines% \put(-201,103){\line(-1,0){100}}% % single bond at 5 }% \else\if\@tmpc d% (d) down --- (A) alpha \yl@xdiff=7\relax \yl@ydiff=38\relax \putlatom{-268}{-80}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-201,48){\line(-3,-5){60}}% % single bond at 5 }{{\thicklines% \dottedline{20}(-201,48)(-261,-52)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=7\relax \yl@ydiff=38\relax \putlatom{-268}{-80}{\@memberb}% % left type \put(-201,48){\line(-3,-5){60}}% % single bond at 5 \else\if\@tmpc a%(a) alpha \yl@xdiff=17\relax \yl@ydiff=29\relax \putlatom{-318}{74}{\@memberb}% % left type \put(-201,103){\line(-1,0){100}}% % single bond at 5 \fi\fi\fi\fi\fi% \fi\fi% \else\if\@tmpb D%double bond \yl@xdiff=10\relax \yl@ydiff=62\relax \putlatom{-311}{-27}{\@memberb}% % left type \put(-194,76){\line(-5,-3){100}}% % double bond at 5 \put(-200,101){\line(-5,-3){100}}% % double bond at 5 \else\if\@tmpb B%beta single bond \yl@xdiff=10\relax \yl@ydiff=46\relax \putlatom{-311}{-27}{\@memberb}% % left type {% \thicklines% \put(-201,79){\line(-5,-3){100}}% % single bond at 5 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=10\relax \yl@ydiff=46\relax \putlatom{-311}{-27}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-201,79){\line(-5,-3){100}}% % single bond at 5 }{{\thicklines% \dottedline{20}(-201,79)(-301,21)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(-171,103){\setatombondc}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(-171,103){\setatombondd}% }% \else% \yl@xdiff=10\relax \yl@ydiff=46\relax \putlatom{-311}{-27}{\@memberb}% % left type \put(-201,79){\line(-5,-3){100}}% % single bond at 5 \fi\fi\fi\fi% \fi\fi% \else%no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=10\relax \yl@ydiff=56\relax \putlatom{-301}{-27}{\@memberb}% % left type \put(-171,103){\line(-5,-3){120}}% % single bond at 5 \else\if\@tmpc B%(B) beta \yl@xdiff=15\relax \yl@ydiff=63\relax \putlatom{-258}{-70}{\@memberb}% % left type {% \thicklines% \put(-171,103){\line(-3,-5){72}}% % single bond at 5 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=15\relax \yl@ydiff=29\relax \putlatom{-326}{74}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-171,103){\line(-1,0){140}}% % single bond at 5 }{{\thicklines% \dottedline{20}(-171,103)(-311,103)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=15\relax \yl@ydiff=29\relax \putlatom{-326}{74}{\@memberb}% % left type {% \thicklines% \put(-171,103){\line(-1,0){140}}% % single bond at 5 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=15\relax \yl@ydiff=63\relax \putlatom{-258}{-70}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-171,103){\line(-3,-5){72}}% % single bond at 5 }{{\thicklines% \dottedline{20}(-171,103)(-243,-17)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=15\relax \yl@ydiff=63\relax \putlatom{-258}{-70}{\@memberb}% % left type \put(-171,103){\line(-3,-5){72}}% % single bond at 5 \else\if\@tmpc a%(a) alpha \yl@xdiff=15\relax \yl@ydiff=29\relax \putlatom{-326}{74}{\@memberb}% % left type \put(-171,103){\line(-1,0){140}}% % single bond at 5 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=10\relax \yl@ydiff=62\relax \putlatom{-301}{-27}{\@memberb}% % left type \put(-168,96){\line(-5,-3){120}}% % double bond at 5 \put(-174,121){\line(-5,-3){120}}% % double bond at 5 \else\if\@tmpb B%beta single bond \yl@xdiff=10\relax \yl@ydiff=56\relax \putlatom{-301}{-27}{\@memberb}% % left type {% \thicklines% \put(-171,103){\line(-5,-3){120}}% % single bond at 5 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-10\relax \yl@ydiff=56\relax \putlatom{-301}{-27}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-171,103){\line(-5,-3){120}}% % single bond at 5 }{{\thicklines% \dottedline{20}(-171,103)(-311,31)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(-171,103){\setatombondc}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(-171,103){\setatombondd}% }% \else% \yl@xdiff=10\relax \yl@ydiff=56\relax \putlatom{-301}{-27}{\@memberb}% % left type \put(-171,103){\line(-5,-3){120}}%% single bond at 5 \fi\fi\fi\fi% \fi\fi% \fi}% end of \@subste % \end{macrocode} % \end{macro} % % The |\@substf| command is used for placing a substituent (|\@memberb|) at % the 6-position (upper-left) of a vertical six-membered ring. % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{New bond modifiers: FA, FB, GA, GB, Su, and Sd} % \begin{macro}{\@substf} % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 6 % % %%%%%%%%%%%%%%% \def\@substf{% \if@fclip %clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=10\relax \yl@ydiff=24\relax \putlatom{-311}{363}{\@memberb}% % left type \put(-201,327){\line(-5,3){100}}% % single bond at 6 \else\if\@tmpc B%(B) beta \yl@xdiff=8\relax \yl@ydiff=38\relax \putlatom{-268}{420}{\@memberb}% % left type {% \thicklines% \put(-201,358){\line(-3,5){60}}% % single bond at 6 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=17\relax \yl@ydiff=23\relax \putlatom{-318}{280}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-201,303){\line(-1,0){100}}% % single bond at 6 }{{\thicklines% \dottedline{20}(-201,303)(-301,303)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=17\relax \yl@ydiff=23\relax \putlatom{-318}{280}{\@memberb}% % left type {% \thicklines% \put(-201,303){\line(-1,0){100}}% % single bond at 6 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=8\relax \yl@ydiff=38\relax \putlatom{-268}{420}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-201,358){\line(-3,5){60}}% % single bond at 6 }{{\thicklines% \dottedline{20}(-201,358)(-261,458)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=8\relax \yl@ydiff=38\relax \putlatom{-268}{420}{\@memberb}% % left type \put(-201,358){\line(-3,5){60}}% % single bond at 6 \else\if\@tmpc a%(a) alpha \yl@xdiff=17\relax \yl@ydiff=23\relax \putlatom{-318}{280}{\@memberb}% % left type \put(-201,303){\line(-1,0){100}}% % single bond at 6 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=10\relax \yl@ydiff=6\relax \putlatom{-311}{363}{\@memberb}% % left type \put(-194,331){\line(-5,3){100}}% % double bond at 6 \put(-200,305){\line(-5,3){100}}% % double bond at 6 \else\if\@tmpb B%beta single bond \yl@xdiff=10\relax \yl@ydiff=24\relax \putlatom{-311}{363}{\@memberb}% % left type {% \thicklines% \put(-201,327){\line(-5,3){100}}% % single bond at 6 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=10\relax \yl@ydiff=24\relax \putlatom{-311}{363}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-201,327){\line(-5,3){100}}% % single bond at 6 }{{\thicklines% % \dottedline{20}(-201,327)(-301,375)}}% \dottedline{20}(-201,327)(-301,387)}}%1998/10/11 by SF \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(-171,303){\setatombondg}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(-171,303){\setatombonda}% }% \else% \yl@xdiff=10\relax \yl@ydiff=24\relax \putlatom{-311}{363}{\@memberb}% % left type \put(-201,327){\line(-5,3){100}}% % single bond at 6 \fi\fi\fi\fi% \fi\fi \else%no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=10\relax \yl@ydiff=12\relax \putlatom{-301}{363}{\@memberb}% % left type \put(-171,303){\line(-5,3){120}}% % single bond at 6 \else\if\@tmpc B%(B) beta \yl@xdiff=15\relax \yl@ydiff=13\relax \putlatom{-258}{410}{\@memberb}% % left type {% \thicklines% \put(-171,303){\line(-3,5){72}}% % single bond at 6 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=15\relax \yl@ydiff=23\relax \putlatom{-326}{280}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-171,303){\line(-1,0){140}}% % single bond at 6 }{{\thicklines% \dottedline{20}(-171,303)(-311,303)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=15\relax \yl@ydiff=23\relax \putlatom{-326}{280}{\@memberb}% % left type {% \thicklines% \put(-171,303){\line(-1,0){140}}% % single bond at 6 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=15\relax \yl@ydiff=13\relax \putlatom{-258}{410}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-171,303){\line(-3,5){72}}% % single bond at 6 }{{\thicklines% \dottedline{20}(-171,303)(-243,423)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=15\relax \yl@ydiff=13\relax \putlatom{-258}{410}{\@memberb}% % left type \put(-171,303){\line(-3,5){72}}% % single bond at 6 \else\if\@tmpc a%(a) alpha \yl@xdiff=15\relax \yl@ydiff=23\relax \putlatom{-326}{280}{\@memberb}% % left type \put(-171,303){\line(-1,0){140}}% % single bond at 6 \fi\fi\fi\fi\fi% \fi\fi% \else\if\@tmpb D%double bond \yl@xdiff=10\relax \yl@ydiff=6\relax \putlatom{-301}{363}{\@memberb}% % left type \put(-168,310){\line(-5,3){120}}% % double bond at 6 \put(-174,284){\line(-5,3){120}}% % double bond at 6 \else\if\@tmpb B%beta single bond \yl@xdiff=10\relax \yl@ydiff=12\relax \putlatom{-301}{363}{\@memberb}% % left type {% \thicklines% \put(-171,303){\line(-5,3){120}}% % single bond at 6 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-10\relax \yl@ydiff=12\relax \putlatom{-301}{363}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-171,303){\line(-5,3){120}}% % single bond at 6 }{{\thicklines% \dottedline{20}(-171,303)(-311,375)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(-171,303){\setatombondg}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(-171,303){\setatombonda}% }% \else% \yl@xdiff=10\relax \yl@ydiff=12\relax \putlatom{-301}{363}{\@memberb}% % left type \put(-171,303){\line(-5,3){120}}% % single bond at 6 \fi\fi\fi\fi% \fi\fi \fi}% end of \@substf % \end{macrocode} % \end{macro} % % \subsection{Setting-up substituents and bonds on a six-membered ring} % % The |\setsixringv| takes 5 arguments. % % \begin{verbatim} % ************************************************************** % * setting of atoms and bonds on a vertical six-membered ring * % ************************************************************** % % \setsixringv{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER} % \end{verbatim} % % The first argument |SUBSLIST| is a list of substituents, which is % represented in the standard format of \XyMTeX{}. % % \begin{verbatim} % SUBSLIST: list of substituents (max 6 substitution positions) % % for n = 1 to 6 % % nD : exocyclic double bond at n-atom % n or nS : exocyclic single bond at n-atom % nA : alpha single bond at n-atom % nB : beta single bond at n-atom % nSA : alpha single bond at n-atom (boldface) % nSB : beta single bond at n-atom (dotted line) % nSa : alpha (not specified) single bond at n-atom % nSb : beta (not specified) single bond at n-atom % % nSd : alpha single bond at n-atom (dotted line) % with an alternative direction to nSA % nSu : beta single bond at n-atom (boldface) % with an alternative direction to nSB % nFA : alpha single bond at n-atom (dotted line) % for ring fusion % nFB : beta single bond at n-atom (boldface) % for ring fusion % nGA : alpha single bond at n-atom (dotted line) % for the other ring fusion % nGB : beta single bond at n-atom (boldface) % for the other ring fusion % \end{verbatim} % % The second argument |AD| is an adjustment value, which adjusts the original % set of locant numbers into the standard one between 1 to 6 for drawing % a six-membered ring. % The effective range of the standared set of locant numbers is % restricted by the auguments |LOWER| and |UPPER|. A minus value of % the last argument shows the anti-clockwise numbering, while zero or % a plus value represents the clockwise numbering. % % \begin{verbatim} % % AD : adjustment e.g. 0 for six-membered rings % LOWER : lower limit LOWER < effective range < UPPER % UPPER : upper limit % ORDER : >= 0 clockwise, <0 anti-clockwise % \end{verbatim} % % \changes{v1.02}{1998/10/31}{Adding switches \cs{@yla} etc.} % % \begin{macro}{\setsixringv} % \begin{macrocode} \def\setsixringv#1#2#3#4#5{% \@forsemicol\member:=#1\do{% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\threech@r\@membera{}{}% \ifx\@memberb\@yl\else \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 % \end{macrocode} % % The following commands are not used in a revised version % because of the direct use of |\ifx\@memberb\@yl\else...\fi|. % % \begin{macrocode} % %\or \if@yla\else\@substa\fi% subst. on 1 % %\or \if@ylb\else\@substb\fi% subst. on 2 % %\or \if@ylc\else\@substc\fi% subst. on 3 % %\or \if@yld\else\@substd\fi% subst. on 4 % %\or \if@yle\else\@subste\fi% subst. on 5 % %\or \if@ylf\else\@substf\fi% subst. on 6 % \end{macrocode} % % \begin{macrocode} \or\@substa% subst. on 1 \or\@substb% subst. on 2 \or\@substc% subst. on 3 \or\@substd% subst. on 4 \or\@subste% subst. on 5 \or\@substf% subst. on 6 \fi%end of ifcase \fi% \fi\fi\fi}}% % \end{macrocode} % \end{macro} % % \subsection{Setting-up substituents and bonds on a decaline ring} % % The command |\setdecaringv| % has been stopped to use and replaced by % |\setsixringv| % (version 1.02). % % The |\setdecaringv| takes 5 arguments. % % \begin{verbatim} % *********************************************************** % * setting of atoms and bonds on a decaline (six-six) ring * % *********************************************************** % % \setdecaringv{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER} % \end{verbatim} % % The first argument |SUBSLIST| is a list of substituents, which is % represented in the standard format of \XyMTeX{}. % % \begin{verbatim} % % SUBSLIST: list of substituents (max 8 substitution positions) % % for n = 1 to 8 % % nD : exocyclic double bond at n-atom % n or nS : exocyclic single bond at n-atom % nA : alpha single bond at n-atom % nB : beta single bond at n-atom % nSA : alpha single bond at n-atom (boldface) % nSB : beta single bond at n-atom (dotted line) % nSa : alpha (not specified) single bond at n-atom % nSb : beta (not specified) single bond at n-atom % % nSd : alpha single bond at n-atom (dotted line) % with an alternative direction to nSA % nSu : beta single bond at n-atom (boldface) % with an alternative direction to nSB % nFA : alpha single bond at n-atom (dotted line) % for ring fusion % nFB : beta single bond at n-atom (boldface) % for ring fusion % nGA : alpha single bond at n-atom (dotted line) % for the other ring fusion % nGB : beta single bond at n-atom (boldface) % for the other ring fusion % \end{verbatim} % % Substituents at the fused positions are designated by % the number 0 and the following bond modifiers. % % \begin{verbatim} % for 0 (fused positions) % % 0FA : alpha single bond at 8a % 0FB : beta single bond at 8a % 0FU : unspecified single bond at 8a % 0GA : alpha single bond at 4a % 0GB : beta single bond at 4a % 0GU : unspecified single bond at 4a % % \end{verbatim} % % The second argument |AD| is an adjustment value, which adjusts the original % set of locant numbers into the standard one between 0 to 8 for drawing % a decaline (six-six fused) ring. % The effective range of the standared set of locant numbers is % restricted by the auguments |LOWER| and |UPPER|. A minus value of % the last argument shows the anti-clockwise numbering, while zero or % a plus value represents the clockwise numbering. % % \begin{verbatim} % AD : adjustment e.g. 0 for six-membered rings % LOWER : lower limit LOWER < effective range < UPPER % UPPER : upper limit % ORDER : >= 0 clockwise, <0 anti-clockwise % % \end{verbatim} % % \begin{verbatim} % (Deleted) % % \begin{macro}{\setdecaringv} % % \begin{macrocode} % \def\setdecaringv#1#2#3#4#5{% % \@forsemicol\member:=#1\do{\expandafter\@m@mb@r\member;\relax% % \expandafter\threech@r\@membera{}{}% % \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% % % \end{macrocode} % % % % \begin{macrocode} % \ifcase\@tmpaa% % % %%%%%%%%%%%%%%%%%% % % 0 fused positions % % %%%%%%%%%%%%%%%%%% % \if\@tmpb F%single bond at 8a (fused position) % \if\@tmpc B%beta single bond at 8a (fused position) % \putlratom{140}{460}{\@memberb}% % left or right type % {% % \thicklines% % \put(171,303){\line(0,1){140}}% % single bond at 8a % }% % \else\if\@tmpc A%alpha single bond at 8a (fused position) % \putlratom{140}{460}{\@memberb}% % left or right type % \@ifundefined{dottedline}{% % \put(171,303){\line(0,1){140}}% % single bond at 8a % }{{\thicklines% % \dottedline{20}(171,303)(171,443)}}% % \else\if\@tmpc U%beta single bond at 8a (fused position) % \putlratom{140}{460}{\@memberb}% % left or right type % \put(168,303){$\wr$}% unspecified single bond at 4a % \put(168,353){$\wr$}% % \put(168,403){$\wr$}% % \else\if\@tmpc S%beta single bond at 8a (fused position) % \putlratom{140}{460}{\@memberb}% % left or right type % \put(171,303){\line(0,1){140}}% % single bond at 8a % \else\ifx\@tmpc\empty%beta single bond at 8a (fused position) % \putlratom{140}{460}{\@memberb}% % left or right type % \put(171,303){\line(0,1){140}}% % single bond at 8a % \fi\fi\fi\fi\fi% % \else\if\@tmpb G%single bond at 4a (fused position) % \if\@tmpc B%beta single bond at 4a (fused position) % \putlratom{140}{-127}{\@memberb}% % left or right type % {% % \thicklines% % \put(171,103){\line(0,-1){140}}% % single bond at 4a % }% % \else\if\@tmpc A%alpha single bond at 4a (fused position) % \putlratom{140}{-127}{\@memberb}% % left or right type % \@ifundefined{dottedline}{% % \put(171,103){\line(0,-1){140}}% % single bond at 4a % }{{\thicklines% % \dottedline{20}(171,103)(171,-37)}}% % \else\if\@tmpc U%beta single bond at 4a (fused position) % \putlratom{140}{-127}{\@memberb}% % left or right type % \put(168,43){$\wr$}% unspecified single bond at 4a % \put(168,-8){$\wr$}% % \put(168,-57){$\wr$}% % \else\if\@tmpc S%alpha single bond at 4a (fused position) % \putlratom{140}{-127}{\@memberb}% % left or right type % \put(171,103){\line(0,-1){140}}% % single bond at 4a % \else\ifx\@tmpc\empty%alpha single bond at 4a (fused position) % \putlratom{140}{-127}{\@memberb}% % left or right type % \put(171,103){\line(0,-1){140}}% % single bond at 4a % \fi\fi\fi\fi\fi% % \fi\fi% % % \end{macrocode} % % % % \begin{macrocode} % % %%%%%%%%%%%%%%%% % \or% subst. on 1 % % %%%%%%%%%%%%%%%% % \if\@tmpb S%single bond % \ifx\@tmpc\empty% % \put(342,406){\line(0,1){140}}% % single bond at 1 % \putlratom{311}{563}{\@memberb}% % left or right type % \else\if\@tmpc B%(B) beta % \putlatom{300}{563}{\@memberb}% % left type % {% % \thicklines% % \put(342,406){\line(-3,5){72}}% % single bond at 1 % }% % \else\if\@tmpc A%(A) alpha % \putratom{383}{563}{\@memberb}% % right type % \@ifundefined{dottedline}{% % \put(342,406){\line(3,5){72}}% % single bond at 1 % }{{\thicklines% % \dottedline{20}(342,406)(414,526)}}% % \else\if\@tmpc b%(b) beta % \putlatom{300}{563}{\@memberb}% % left type % \put(342,406){\line(-3,5){72}}% % single bond at 1 % \else\if\@tmpc a%(a) alpha % \putratom{383}{563}{\@memberb}% % right type % \put(342,406){\line(3,5){72}}% % single bond at 1 % \fi\fi\fi\fi\fi % \else\if\@tmpb D%double bond % \putlratom{311}{563}{\@memberb}% % left or right type % \put(330,406){\line(0,1){140}}% % double bond at 1 % \put(354,406){\line(0,1){140}}% % double bond at 1 % \else\if\@tmpb B%beta single bond % \putlratom{311}{563}{\@memberb}% % left or right type % {% % \thicklines% % \put(342,406){\line(0,1){140}}% % single bond at 1 % }% % \else\if\@tmpb A%alpha single bond % \putlratom{311}{563}{\@memberb}% % left or right type % \@ifundefined{dottedline}{% % \put(342,406){\line(0,1){140}}% %single bond at 1 % }{{\thicklines% % \dottedline{20}(342,406)(342,546)}}% % \else% % \putlratom{311}{563}{\@memberb}% % left or right type % \put(342,406){\line(0,1){140}}% % single bond at 1 % \fi\fi\fi\fi% % % \end{macrocode} % % % % \begin{macrocode} % % %%%%%%%%%%%%%%% % \or% subst. on 2 % % %%%%%%%%%%%%%%% % \if\@tmpb S%single bond % \ifx\@tmpc\empty% % \putratom{643}{363}{\@memberb}% % right type % \put(513,303){\line(5,3){120}}% % single bond at 2 % \else\if\@tmpc B%(B) beta % \putratom{600}{410}{\@memberb}% % right type % {% % \thicklines% % \put(513,303){\line(3,5){72}}% % single bond at 2 % }% % \else\if\@tmpc A%(A) alpha % \putratom{660}{280}{\@memberb}% % right type % \@ifundefined{dottedline}{% % \put(513,303){\line(1,0){140}}% % single bond at 2 % }{{\thicklines% % \dottedline{20}(513,303)(653,303)}}% % \else\if\@tmpc b%(b) beta % \putratom{600}{410}{\@memberb}% % right type % \put(513,303){\line(3,5){72}}% % single bond at 2 % \else\if\@tmpc a%(a) alpha % \putratom{660}{280}{\@memberb}% % right type % \put(513,303){\line(1,0){140}}% % single bond at 2 % \fi\fi\fi\fi\fi% % \else\if\@tmpb D%double bond % \putratom{643}{363}{\@memberb}% % right type % \put(510,310){\line(5,3){120}}% % double bond at 2 % \put(516,284){\line(5,3){120}}% % double bond at 2 % \else\if\@tmpb B%beta single bond % \putratom{643}{363}{\@memberb}% % right type % {% % \thicklines% % \put(513,303){\line(5,3){120}}% % single bond at 2 % }% % \else\if\@tmpb A%alpha single bond % \putratom{643}{363}{\@memberb}% % right type % \@ifundefined{dottedline}{% % \put(513,303){\line(5,3){120}}% % single bond at 2 % }{{\thicklines% % \dottedline{20}(513,303)(633,375)}}% % \else% % \putratom{643}{363}{\@memberb}% % right type % \put(513,303){\line(5,3){120}}% % single bond at 2 % \fi\fi\fi\fi% % % \end{macrocode} % % % % \begin{macrocode} % % %%%%%%%%%%%%%%% % \or% subst. on 3 % % %%%%%%%%%%%%%%% % \if\@tmpb S%single bond % \ifx\@tmpc\empty% % \putratom{643}{-27}{\@memberb}% % right type % \put(513,103){\line(5,-3){120}}% % single bond at 3 % \else\if\@tmpc B%(B) beta % \putratom{600}{-70}{\@memberb}% % right type % {% % \thicklines% % \put(513,103){\line(3,-5){72}}% % single bond at 3 % }% % \else\if\@tmpc A%(A) alpha % \putratom{660}{74}{\@memberb}% % right type % \@ifundefined{dottedline}{% % \put(513,103){\line(1,0){140}}% % single bond at 3 % }{{\thicklines% % \dottedline{20}(513,103)(653,103)}}% % \else\if\@tmpc b%(b) beta % \putratom{600}{-70}{\@memberb}% % right type % \put(513,103){\line(3,-5){72}}% % single bond at 3 % \else\if\@tmpc a%(a) alpha % \putratom{660}{74}{\@memberb}% % right type % \put(513,103){\line(1,0){140}}% % single bond at 3 % \fi\fi\fi\fi\fi% % \else\if\@tmpb D%double bond % \putratom{643}{-27}{\@memberb}% % right type % \put(510,96){\line(5,-3){120}}% % double bond at 3 % \put(516,121){\line(5,-3){120}}% % double bond at 3 % \else\if\@tmpb B%beta single bond % \putratom{643}{-27}{\@memberb}% % right type % {% % \thicklines% % \put(513,103){\line(5,-3){120}}% % single bond at 3 % }% % \else\if\@tmpb A%alpha single bond % \putratom{643}{-27}{\@memberb}% % right type % \@ifundefined{dottedline}{% % \put(513,103){\line(5,-3){120}}% % single bond at 3 % }{{\thicklines% % \dottedline{20}(513,103)(633,31)}}% % \else% % \putratom{643}{-27}{\@memberb}% % right type % \put(513,103){\line(5,-3){120}}% % single bond at 3 % \fi\fi\fi\fi% % % \end{macrocode} % % % % \begin{macrocode} % % %%%%%%%%%%%%%%% % \or% subst. on 4 % % %%%%%%%%%%%%%%% % \if\@tmpb S%single bond % \ifx\@tmpc\empty% % \putlratom{311}{-230}{\@memberb}% % left or right type % \put(342,0){\line(0,-1){140}}% % single bond at 4 % \else\if\@tmpc B%(B) beta % \putlatom{300}{-230}{\@memberb}% % left type % {% % \thicklines% % \put(342,0){\line(-3,-5){72}}% % single bond at 4 % }% % \else\if\@tmpc A%(A) alpha % \putratom{383}{-230}{\@memberb}% % right type % \@ifundefined{dottedline}{% % \put(342,0){\line(3,-5){72}}% % single bond at 4 % }{{\thicklines% % \dottedline{20}(342,0)(414,-120)}}% % \else\if\@tmpc b%(b) beta % \putlatom{300}{-230}{\@memberb}% % left type % \put(342,0){\line(-3,-5){72}}% % single bond at 4 % \else\if\@tmpc a%(a) alpha % \putratom{383}{-230}{\@memberb}% % right type % \put(342,0){\line(3,-5){72}}% % single bond at 4 % \fi\fi\fi\fi\fi% % \else\if\@tmpb D%double bond % \putlratom{311}{-230}{\@memberb}% % left or right type % \put(330,0){\line(0,-1){140}}% % double bond at 4 % \put(354,0){\line(0,-1){140}}% % double bond at 4 % \else\if\@tmpb B%beta single bond % \putlratom{311}{-230}{\@memberb}% % left or right type % {% % \thicklines% % \put(342,0){\line(0,-1){140}}% % single bond at 4 % }% % \else\if\@tmpb A%alpha single bond % \putlratom{311}{-230}{\@memberb}% % left or right type % \@ifundefined{dottedline}{% % \put(342,0){\line(0,-1){140}}% % single bond at 4 % }{{\thicklines% % \dottedline{20}(342,0)(342,-140)}}% % \else% % \putlratom{311}{-230}{\@memberb}% % left or right type % \put(342,0){\line(0,-1){140}}% % single bond at 4 % \fi\fi\fi\fi% % % \end{macrocode} % % % % \begin{macrocode} % % %%%%%%%%%%%%%%% % \or% subst. on 5 % % %%%%%%%%%%%%%%% % \if\@tmpb S%single bond % \ifx\@tmpc\empty% % \putlratom{-31}{-230}{\@memberb}% % left or right type % \put(0,0){\line(0,-1){140}}% % single bond at 5 % \else\if\@tmpc B%(B) beta % \putlatom{-42}{-230}{\@memberb}% % left type % {% % \thicklines% % \put(0,0){\line(-3,-5){72}}% % single bond at 5 % }% % \else\if\@tmpc A%(A) alpha % \putratom{41}{-230}{\@memberb}% % right type % \@ifundefined{dottedline}{% % \put(0,0){\line(3,-5){72}}% % single bond at 5 % }{{\thicklines% % \dottedline{20}(0,0)(72,-120)}}% % \else\if\@tmpc b%(b) beta % \putlatom{-42}{-230}{\@memberb}% % left type % \put(0,0){\line(-3,-5){72}}% % single bond at 5 % \else\if\@tmpc a%(a) alpha % \putratom{41}{-230}{\@memberb}% % right type % \put(0,0){\line(3,-5){72}}% % single bond at 5 % \fi\fi\fi\fi\fi % \else\if\@tmpb D%double bond % \putlratom{-31}{-230}{\@memberb}% % left or right type % \put(-12,0){\line(0,-1){140}}% % double bond at 5 % \put(12,0){\line(0,-1){140}}% % double bond at 5 % \else\if\@tmpb B%beta single bond % \putlratom{-31}{-230}{\@memberb}% % left or right type % {% % \thicklines% % \put(0,0){\line(0,-1){140}}% % single bond at 5 % }% % \else\if\@tmpb A%alpha single bond % \putlratom{-31}{-230}{\@memberb}% % left or right type % \@ifundefined{dottedline}{% % \put(0,0){\line(0,-1){140}}% % single bond at 5 % }{{\thicklines% % \dottedline{20}(0,0)(0,-140)}}% % \else% % \putlratom{-31}{-230}{\@memberb}% % left or right type % \put(0,0){\line(0,-1){140}}% % single bond at 5 % \fi\fi\fi\fi% % % \end{macrocode} % % % % \begin{macrocode} % % %%%%%%%%%%%%%%% % \or% subst. on 6 % % %%%%%%%%%%%%%%% % \if\@tmpb S%single bond % \ifx\@tmpc\empty% % \putlatom{-301}{-27}{\@memberb}% % left type % \put(-171,103){\line(-5,-3){120}}% % single bond at 6 % \else\if\@tmpc B%(B) beta % \putlatom{-258}{-70}{\@memberb}% % left type % {% % \thicklines% % \put(-171,103){\line(-3,-5){72}}% % single bond at 6 % }% % \else\if\@tmpc A%(A) alpha % \putlatom{-326}{74}{\@memberb}% % left type % \@ifundefined{dottedline}{% % \put(-171,103){\line(-1,0){140}}% % single bond at 6 % }{{\thicklines% % \dottedline{20}(-171,103)(-311,103)}}% % \else\if\@tmpc b%(b) beta % \putlatom{-258}{-70}{\@memberb}% % left type % \put(-171,103){\line(-3,-5){72}}% % single bond at 6 % \else\if\@tmpc a%(a) alpha % \putlatom{-326}{74}{\@memberb}% % left type % \put(-171,103){\line(-1,0){140}}% % single bond at 6 % \fi\fi\fi\fi\fi % \else\if\@tmpb D%double bond % \putlatom{-301}{-27}{\@memberb}% % left type % \put(-168,96){\line(-5,-3){120}}% % double bond at 6 % \put(-174,121){\line(-5,-3){120}}% % double bond at 6 % \else\if\@tmpb B%beta single bond % \putlatom{-301}{-27}{\@memberb}% % left type % {% % \thicklines% % \put(-171,103){\line(-5,-3){120}}% % single bond at 6 % }% % \else\if\@tmpb A%alpha single bond % \putlatom{-301}{-27}{\@memberb}% % left type % \@ifundefined{dottedline}{% % \put(-171,103){\line(-5,-3){120}}% % single bond at 6 % }{{\thicklines% % \dottedline{20}(-171,103)(-311,31)}}% % \else% % \putlatom{-301}{-27}{\@memberb}% % left type % \put(-171,103){\line(-5,-3){120}}% single bond at 6 % \fi\fi\fi\fi% % % \end{macrocode} % % % % \begin{macrocode} % % %%%%%%%%%%%%%%% % \or% subst. on 7 % % %%%%%%%%%%%%%%% % \if\@tmpb S%single bond % \ifx\@tmpc\empty% % \putlatom{-301}{363}{\@memberb}% % left type % \put(-171,303){\line(-5,3){120}}% % single bond at 7 % \else\if\@tmpc B%(B) beta % \putlatom{-258}{410}{\@memberb}% % left type % {% % \thicklines% % \put(-171,303){\line(-3,5){72}}% % single bond at 7 % }% % \else\if\@tmpc A%(A) alpha % \putlatom{-326}{280}{\@memberb}% % left type % \@ifundefined{dottedline}{% % \put(-171,303){\line(-1,0){140}}% % single bond at 7 % }{{\thicklines% % \dottedline{20}(-171,303)(-311,303)}}% % \else\if\@tmpc b%(b) beta % \putlatom{-258}{410}{\@memberb}% % left type % \put(-171,303){\line(-3,5){72}}% % single bond at 7 % \else\if\@tmpc a%(a) alpha % \putlatom{-326}{280}{\@memberb}% % left type % \put(-171,303){\line(-1,0){140}}% % single bond at 7 % \fi\fi\fi\fi\fi % \else\if\@tmpb D%double bond % \putlatom{-301}{363}{\@memberb}% % left type % \put(-168,310){\line(-5,3){120}}% % double bond at 7 % \put(-174,284){\line(-5,3){120}}% % double bond at 7 % \else\if\@tmpb B%beta single bond % \putlatom{-301}{363}{\@memberb}% % left type % {% % \thicklines% % \put(-171,303){\line(-5,3){120}}% % single bond at 7 % }% % \else\if\@tmpb A%alpha single bond % \putlatom{-301}{363}{\@memberb}% % left type % \@ifundefined{dottedline}{% % \put(-171,303){\line(-5,3){120}}% % single bond at 7 % }{{\thicklines% % \dottedline{20}(-171,303)(-311,375)}}% % \else% % \putlatom{-301}{363}{\@memberb}% % left type % \put(-171,303){\line(-5,3){120}}% % single bond at 7 % \fi\fi\fi\fi% % % \end{macrocode} % % % % \begin{macrocode} % % %%%%%%%%%%%%%%% % \or% subst. on 8 % % %%%%%%%%%%%%%%% % \if\@tmpb S%single bond % \ifx\@tmpc\empty% % \put(0,406){\line(0,1){140}}% % single bond at 8 % \putlratom{-31}{563}{\@memberb}% % left or right type % \else\if\@tmpc B%(B) beta % \putlatom{-42}{563}{\@memberb}% % left type % {% % \thicklines% % \put(0,406){\line(-3,5){72}}% % single bond at 8 % }% % \else\if\@tmpc A%(A) alpha % \putratom{41}{563}{\@memberb}% % right type % \@ifundefined{dottedline}{% % \put(0,406){\line(3,5){72}}% % single bond at 8 % }{{\thicklines% % \dottedline{20}(0,406)(72,526)}}% % \else\if\@tmpc b%(b) beta % \putlatom{-42}{563}{\@memberb}% % left type % \put(0,406){\line(-3,5){72}}% % single bond at 8 % \else\if\@tmpc a%(a) alpha % \putratom{41}{563}{\@memberb}% % right type % \put(0,406){\line(3,5){72}}% % single bond at 8 % \fi\fi\fi\fi\fi% % \else\if\@tmpb D%double bond % \putlratom{-31}{563}{\@memberb}% % left or right type % \put(-12,406){\line(0,1){140}}% % double bond at 8 % \put(12,406){\line(0,1){140}}% % double bond at 8 % \else\if\@tmpb B%beta single bond % \putlratom{-31}{563}{\@memberb}% % left or right type % {% % \thicklines% % \put(0,406){\line(0,1){140}}% % single bond at 8 % }% % \else\if\@tmpb A%alpha single bond % \putlratom{-31}{563}{\@memberb}% % left or right type % \@ifundefined{dottedline}{% % \put(0,406){\line(0,1){140}}% % single bond at 8 % }{{\thicklines% % \dottedline{20}(0,406)(0,546)}}% % \else% % \putlratom{-31}{563}{\@memberb}% % left or right type % \put(0,406){\line(0,1){140}}% % single bond at 8 % \fi\fi\fi\fi% % \fi %end of ifcase % \fi\fi}}% % % \end{macrocode} % % \end{macro} % \end{verbatim} % % \subsection{Setting-up substituents and bonds at fused positions} % % The command |\ylfusedposition| is to obtain the shift values % |\@ylii| and |\@yli| which are used for shifting the standard % point of a substituent. % The locant flags such as |\@ylatrue| have been stopped to use. % \changes{v1.02}{1998/10/11}{Delete \cs{@ylatrue} etc.} % \changes{v1.02}{1998/10/13}{Adding \cs{@fused@link} condition} % \changes{v1.02}{1998/10/31}{Commands for setting substituents} % % \begin{macro}{\ylfusedposition} % \begin{macrocode} \def\ylfusedposition#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{}{}% \ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi \if@@ylsw \ifnum#5<0\relax% \@tmpaa=-\@tmpa\relax\advance\@tmpaa by #2\relax% \@fused@linktrue \else\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax \@fused@linkfalse\fi% \ifnum\@tmpaa >#3\relax% \ifnum\@tmpaa <#4\relax% \ifcase\@tmpaa% % %%%%%%%%%%%%%%%%%% % 0 fused positions % F == (171,303) G == (171,103) % %%%%%%%%%%%%%%%%%% \if\@tmpb F%single bond at F (fused position) \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 0 \else\if\@tmpb G%single bond at G (fused position) \def\@ylii{-171}\def\@yli{-103}\@ylswtrue%\@ylatrue% subst. on 0 \fi\fi% % %%%%%%%%%%%%%%%% \or% subst. on 1 F == (0,406), G == (171,303) for \@fused@linkfalse % subst. on 1 G == (0,406), F == (171,303) for \@fused@linktrue % %%%%%%%%%%%%%%%% \if@fused@link \if\@tmpb G%single bond at F (5,-3) fusion \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 1 \else\if\@tmpb F%single bond at G \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 1 \fi\fi% \else \if\@tmpb F%single bond at F (5,-3) fusion \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 1 \else\if\@tmpb G%single bond at G \def\@ylii{-171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 1 \fi\fi% \fi % %%%%%%%%%%%%%%%% \or% subst. on 2 F == (0,406), G == (-171,303) for \@fused@linkfalse % subst. on 2 G == (0,406), F == (-171,303) for \@fused@linktrue % %%%%%%%%%%%%%%%% \if@fused@link \if\@tmpb G%single bond at (-5,-3) fusion \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 2 \else\if\@tmpb F%single bond at G \def\@ylii{171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 2 \fi\fi% \else \if\@tmpb F%single bond at (-5,-3) fusion \def\@ylii{0}\def\@yli{-406}\@ylswtrue%\@ylatrue% subst. on 2 \else\if\@tmpb G%single bond at G \def\@ylii{171}\def\@yli{-303}\@ylswtrue%\@ylatrue% subst. on 2 \fi\fi% \fi % %%%%%%%%%%%%%%%%%% \or %3 fused positions % G == (303,171) F == (103,171) % %%%%%%%%%%%%%%%%%% \if\@tmpb G%single bond at G (fused position) \def\@ylii{-303}\def\@yli{-171}\@ylswtrue%\@ylatrue% subst. on 3 \else\if\@tmpb F%single bond at F (fused position) \def\@ylii{-103}\def\@yli{-171}\@ylswtrue%\@ylatrue% subst. on 3 \fi\fi% \fi%end of ifcase \fi\fi\fi\fi\fi}}% end of \ylfusedposition % \end{macrocode} % \end{macro} % % The bond-setting commands |\GFbonda|, |\GFbondb|, |\GFbondc| and % |\GFbondd|, which are separated from the old |\setfusedbond| command, % are used to place a bond and a substituent at a fulsed position of % such a compound as a decaline. % % \changes{v1.02}{1998/10/12}{Separate \cs{GFbonda} etc.} % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % % \begin{macro}{\GFbonda} % \begin{macro}{\GFbonda@a} % \begin{macro}{\GFbonda@b} % \begin{macrocode} \def\GFbonda{% % %%%%%%%%%%%%%%%%%% % 0 fused positions % F == (171,303) G == (171,103) % %%%%%%%%%%%%%%%%%% \if\@tmpb F%single bond at F (fused position) \GFbonda@a \else\if\@tmpb G%single bond at G (fused position) \GFbonda@b \fi\fi% }%end of GFbonda % \end{macrocode} % % \begin{macrocode} \def\GFbonda@a{% \if\@tmpc B%beta single bond \yl@xdiff=31\relax%171-140 \yl@ydiff=-17\relax%460-(303+140) \putlratom{140}{460}{\@memberb}% % left or right type {% \thicklines% \put(171,303){\line(0,1){140}}% % single bond at F }% \else\if\@tmpc A%alpha single bond \yl@xdiff=31\relax%171-140 \yl@ydiff=-17\relax%460-(303+140) \putlratom{140}{460}{\@memberb}% % left or right type \@ifundefined{dottedline}{% \put(171,303){\line(0,1){140}}% % single bond at F }{{\thicklines% \dottedline{20}(171,303)(171,443)}}% \else\if\@tmpc U% unspecified single bond \yl@xdiff=31\relax%171-140 \yl@ydiff=-17\relax%460-(303+140) \putlratom{140}{460}{\@memberb}% % left or right type \put(168,303){$\wr$}% unspecified single bond at F \put(168,353){$\wr$}% \put(168,403){$\wr$}% \else\if\@tmpc S%beta single bond \yl@xdiff=31\relax%171-140 \yl@ydiff=-17\relax%460-(303+140) \putlratom{140}{460}{\@memberb}% % left or right type \put(171,303){\line(0,1){140}}% % single bond at F \else\ifx\@tmpc\empty%beta single bond \yl@xdiff=31\relax%171-140 \yl@ydiff=-17\relax%460-(303+140) \putlratom{140}{460}{\@memberb}% % left or right type \put(171,303){\line(0,1){140}}% % single bond at F \fi\fi\fi\fi\fi% }% % \end{macrocode} % % \begin{macrocode} \def\GFbonda@b{% \if\@tmpc B%beta single bond \yl@xdiff=31\relax%171-140 \yl@ydiff=90\relax%127-(140-103) \putlratom{140}{-127}{\@memberb}% % left or right type {% \thicklines% \put(171,103){\line(0,-1){140}}% % single bond at G }% \else\if\@tmpc A%alpha single bond \yl@xdiff=31\relax%171-140 \yl@ydiff=90\relax%127-(140-103) \putlratom{140}{-127}{\@memberb}% % left or right type \@ifundefined{dottedline}{% \put(171,103){\line(0,-1){140}}% % single bond at G }{{\thicklines% \dottedline{20}(171,103)(171,-37)}}% \else\if\@tmpc U%beta single bond \yl@xdiff=31\relax%171-140 \yl@ydiff=90\relax%127-(140-103) \putlratom{140}{-127}{\@memberb}% % left or right type \put(168,43){$\wr$}% unspecified single bond at G \put(168,-8){$\wr$}% \put(168,-57){$\wr$}% \else\if\@tmpc S%alpha single bond \yl@xdiff=31\relax%171-140 \yl@ydiff=90\relax%127-(140-103) \putlratom{140}{-127}{\@memberb}% % left or right type \put(171,103){\line(0,-1){140}}% % single bond at G \else\ifx\@tmpc\empty%alpha single bond \yl@xdiff=31\relax%171-140 \yl@ydiff=90\relax%127-(140-103) \putlratom{140}{-127}{\@memberb}% % left or right type \put(171,103){\line(0,-1){140}}% % single bond at G \fi\fi\fi\fi\fi% }% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\GFbondb} % \begin{macro}{\GFbondb@a} % \begin{macro}{\GFbondb@b} % \begin{macrocode} \def\GFbondb{% % %%%%%%%%%%%%%%%% % subst. on 1 F == (0,406), G == (171,303) for \@fused@linkfalse % subst. on 1 G == (0,406), F == (171,303) for \@fused@linktrue % %%%%%%%%%%%%%%%% \if@fused@link \if\@tmpb G%single bond at G (5,-3) fusion \GFbondb@a \else\if\@tmpb F%single bond at F \GFbondb@b \fi\fi% \else \if\@tmpb F%single bond at F (5,-3) fusion \GFbondb@a \else\if\@tmpb G%single bond at G \GFbondb@b \fi\fi% \fi }% end of \GFbondb % \end{macrocode} % % \begin{macrocode} \def\GFbondb@a{% \if\@tmpc B%beta single bond \yl@xdiff=10\relax% \yl@ydiff=22\relax% \putlatom{-130}{466}{\@memberb}% % left type {% \thicklines% \put(0,406){\line(-5,3){120}}% % single bond at F }% \else\if\@tmpc A%alpha single bond \yl@xdiff=10\relax% \yl@ydiff=22\relax% \putlatom{-130}{466}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(0,406){\line(-5,3){120}}% % single bond at F }{{\thicklines% % \dottedline{20}(0,406)(-140,478)}}% \dottedline{20}(0,406)(-120,478)}}% \else\if\@tmpc U%unspecified single bond \yl@xdiff=10\relax% \yl@ydiff=22\relax% \putlatom{-130}{466}{\@memberb}% % left type \put(0,406){\line(-5,3){120}}% % single bond at F \else\if\@tmpc S%beta single bond \yl@xdiff=10\relax% \yl@ydiff=22\relax% \putlatom{-130}{466}{\@memberb}% % left type \put(0,406){\line(-5,3){120}}% % single bond at F \else\ifx\@tmpc\empty%beta single bond \yl@xdiff=10\relax% \yl@ydiff=22\relax% \putlatom{-130}{466}{\@memberb}% % left type \put(0,406){\line(-5,3){120}}% % single bond at F \else\if\@tmpc D%beta single bond (downward) \yl@xdiff=31\relax% \yl@ydiff=90\relax% \putlratom{-31}{176}{\@memberb}% % left or right type {% \thicklines% \put(0,406){\line(0,-1){140}}% % single bond at F }% \else\if\@tmpc C%alpha single bond (downward) \yl@xdiff=31\relax% \yl@ydiff=90\relax% \putlratom{-31}{176}{\@memberb}% % left or right type \@ifundefined{dottedline}{% \put(0,406){\line(0,-1){140}}% % single bond at F }{{\thicklines% \dottedline{20}(0,406)(0,266)}}% \fi\fi\fi\fi\fi\fi\fi% }% end of \GFbondb@a % \end{macrocode} % % \begin{macrocode} \def\GFbondb@b{% \if\@tmpc B%beta single bond \yl@xdiff=-10\relax% \yl@ydiff=58\relax% \putratom{301}{173}{\@memberb}% % right type {% \thicklines% \put(171,303){\line(5,-3){120}}% % single bond at G }% \else\if\@tmpc A%alpha single bond \yl@xdiff=-10\relax% \yl@ydiff=58\relax% \putratom{301}{173}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(171,303){\line(5,-3){120}}% % single bond at G }{{\thicklines% \dottedline{20}(171,303)(291,231)}}% \else\if\@tmpc U%unspecified single bond \yl@xdiff=-10\relax% \yl@ydiff=58\relax% \putratom{301}{173}{\@memberb}% % right type \put(171,303){\line(5,-3){120}}% % single bond at G \else\if\@tmpc S%alpha single bond \yl@xdiff=-10\relax% \yl@ydiff=58\relax% \putratom{301}{173}{\@memberb}% % right type \put(171,303){\line(5,-3){120}}% % single bond at G \else\ifx\@tmpc\empty%alpha single bond \yl@xdiff=-10\relax% \yl@ydiff=58\relax% \putratom{301}{173}{\@memberb}% % right type \put(171,303){\line(5,-3){120}}% % single bond at G \else\if\@tmpc D%beta single bond (upward) \yl@xdiff=31\relax% \yl@ydiff=-17\relax% \putlratom{140}{460}{\@memberb}% % left or right type {% \thicklines% \put(171,303){\line(0,1){140}}% % single bond at G }% \else\if\@tmpc C%alpha single bond (upward) \yl@xdiff=31\relax% \yl@ydiff=-17\relax% \putlratom{140}{460}{\@memberb}% % left or right type \@ifundefined{dottedline}{% \put(171,303){\line(0,1){140}}% % single bond at G }{{\thicklines% \dottedline{20}(171,303)(171,443)}}% \fi\fi\fi\fi\fi\fi\fi% }% end of \GFbondb@b % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\GFbondc} % \begin{macro}{\GFbondc@a} % \begin{macro}{\GFbondc@b} % \begin{macrocode} \def\GFbondc{% % %%%%%%%%%%%%%%%% % subst. on 2 F == (0,406), G == (-171,303) for \@fused@linkfalse % subst. on 2 G == (0,406), F == (-171,303) for \@fused@linktrue % %%%%%%%%%%%%%%%% \if@fused@link \if\@tmpb G%single bond at (-5,-3) fusion \GFbondc@a \else\if\@tmpb F%single bond at F \GFbondc@b \fi\fi% \else \if\@tmpb F%single bond at (-5,-3) fusion \GFbondc@a \else\if\@tmpb G%single bond at G \GFbondc@b \fi\fi% \fi }% end of \GFbondc % \end{macrocode} % % \begin{macrocode} \def\GFbondc@a{% \if\@tmpc B%beta single bond \yl@xdiff=-10\relax% \yl@ydiff=12\relax% \putratom{130}{466}{\@memberb}% % right type {% \thicklines% \put(0,406){\line(5,3){120}}% % single bond at F }% \else\if\@tmpc A%alpha single bond \yl@xdiff=-10\relax% \yl@ydiff=12\relax% \putratom{130}{466}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(0,406){\line(5,3){120}}% % single bond at F }{{\thicklines% \dottedline{20}(0,406)(120,478)}}% \else\if\@tmpc U%unspecified single bond \yl@xdiff=-10\relax% \yl@ydiff=12\relax% \putratom{130}{466}{\@memberb}% % right type \put(0,406){\line(5,3){120}}% % single bond at F \else\if\@tmpc S%beta single bond \yl@xdiff=-10\relax% \yl@ydiff=12\relax% \putratom{130}{466}{\@memberb}% % right type \put(0,406){\line(5,3){120}}% % single bond at F \else\ifx\@tmpc\empty%beta single bond \yl@xdiff=-10\relax% \yl@ydiff=12\relax% \putratom{130}{466}{\@memberb}% % right type \put(0,406){\line(5,3){120}}% % single bond at F \else\if\@tmpc D%beta single bond (downward) \yl@xdiff=31\relax% \yl@ydiff=90\relax% \putlratom{-31}{176}{\@memberb}% % left or right type {% \thicklines% \put(0,406){\line(0,-1){140}}% % single bond at F }% \else\if\@tmpc C%alpha single bond (downward) \yl@xdiff=31\relax% \yl@ydiff=90\relax% \putlratom{-31}{176}{\@memberb}% % left or right type \@ifundefined{dottedline}{% \put(0,406){\line(0,-1){140}}% % single bond at F }{{\thicklines% \dottedline{20}(0,406)(0,266)}}% \fi\fi\fi\fi\fi\fi\fi% }% end of \GFbondc@a % \end{macrocode} % % \begin{macrocode} \def\GFbondc@b{% \if\@tmpc B%beta single bond \yl@xdiff=10\relax% \yl@ydiff=59\relax% \putlatom{-301}{173}{\@memberb}% % left type {% \thicklines% \put(-171,303){\line(-5,-3){120}}% % single bond at G }% \else\if\@tmpc A%alpha single bond \yl@xdiff=10\relax% \yl@ydiff=59\relax% \putlatom{-301}{173}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-171,303){\line(-5,-3){120}}% % single bond at G }{{\thicklines% % \dottedline{20}(-171,303)(-311,231)}}% \dottedline{20}(-171,303)(-291,231)}}% \else\if\@tmpc U%unspecified single bond \yl@xdiff=10\relax% \yl@ydiff=59\relax% \putlatom{-301}{173}{\@memberb}% % left type \put(-171,303){\line(-5,-3){120}}% single bond at G \else\if\@tmpc S%alpha single bond \yl@xdiff=10\relax% \yl@ydiff=59\relax% \putlatom{-301}{173}{\@memberb}% % left type \put(-171,303){\line(-5,-3){120}}% single bond at G \else\ifx\@tmpc\empty%alpha single bond \yl@xdiff=10\relax% \yl@ydiff=59\relax% \putlatom{-301}{173}{\@memberb}% % left type \put(-171,303){\line(-5,-3){120}}% single bond at G \else\if\@tmpc D%beta single bond (upward) \yl@xdiff=-30\relax% \yl@ydiff=-17\relax% \putlratom{201}{460}{\@memberb}% % left or right type {% \thicklines% \put(-171,303){\line(0,1){140}}% % single bond at G }% \else\if\@tmpc C%alpha single bond (upward) \yl@xdiff=-30\relax% \yl@ydiff=-17\relax% \putlratom{201}{460}{\@memberb}% % left or right type \@ifundefined{dottedline}{% \put(-171,303){\line(0,1){140}}% % single bond at G }{{\thicklines% \dottedline{20}(-171,303)(-171,443)}}% \fi\fi\fi\fi\fi\fi\fi% }% end of \GFbondc@b % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\GFbondd} % \begin{macrocode} \def\GFbondd{% % %%%%%%%%%%%%%%%%%% % 3 fused positions % G == (303,171) F == (103,171) % %%%%%%%%%%%%%%%%%% \if\@tmpb G%single bond at G (fused position) \if\@tmpc B%beta single bond \yl@xdiff=-17\relax% \yl@ydiff=31\relax% \putlratom{460}{140}{\@memberb}% % left or right type {% \thicklines% \put(303,171){\line(1,0){140}}% % single bond at G }% \else\if\@tmpc A%alpha single bond \yl@xdiff=-17\relax% \yl@ydiff=31\relax% \putlratom{460}{140}{\@memberb}% % left or right type \@ifundefined{dottedline}{% \put(303,171){\line(1,0){140}}% % single bond at G }{{\thicklines% \dottedline{20}(303,171)(443,171)}}% \else\if\@tmpc U% unspecified single bond \yl@xdiff=-17\relax% \yl@ydiff=31\relax% \putlratom{460}{140}{\@memberb}% % left or right type \put(303,148){$\sim$}% unspecified single bond at G \put(353,148){$\sim$}% \put(403,148){$\sim$}% \else\if\@tmpc S%beta single bond \yl@xdiff=-17\relax% \yl@ydiff=31\relax% \putlratom{460}{140}{\@memberb}% % left or right type \put(303,171){\line(1,0){140}}% % single bond at G \else\ifx\@tmpc\empty%beta single bond \yl@xdiff=-17\relax% \yl@ydiff=31\relax% \putlratom{460}{140}{\@memberb}% % left or right type \put(303,171){\line(1,0){140}}% % single bond at G \fi\fi\fi\fi\fi% \else\if\@tmpb F%single bond at F (fused position) \if\@tmpc B%beta single bond \yl@xdiff=20\relax% \yl@ydiff=31\relax% % \putlratom{-127}{140}{\@memberb}% % left or right type \putlatom{-57}{140}{\@memberb}% % left type {% \thicklines% \put(103,171){\line(-1,0){140}}% % single bond at F }% \else\if\@tmpc A%alpha single bond \yl@xdiff=20\relax% \yl@ydiff=31\relax% % \putlratom{-127}{140}{\@memberb}% % left or right type \putlatom{-57}{140}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(103,171){\line(-1,0){140}}% % single bond at F }{{\thicklines% \dottedline{20}(103,171)(-37,171)}}% \else\if\@tmpc U%beta single bond \yl@xdiff=20\relax% \yl@ydiff=31\relax% \putlatom{-57}{140}{\@memberb}% % left type % \putlratom{-127}{140}{\@memberb}% % left or right type \put(40,148){$\sim$}% unspecified single bond at F \put(-13,148){$\sim$}% \put(-62,148){$\sim$}% \else\if\@tmpc S%alpha single bond \yl@xdiff=20\relax% \yl@ydiff=31\relax% \putlatom{-57}{140}{\@memberb}% % left type % \putlratom{-127}{140}{\@memberb}% % left or right type \put(103,171){\line(-1,0){140}}% % single bond at F \else\ifx\@tmpc\empty%alpha single bond \yl@xdiff=20\relax% \yl@ydiff=31\relax% \putlatom{-57}{140}{\@memberb}% % left type % \putlratom{-127}{140}{\@memberb}% % left or right type \put(103,171){\line(-1,0){140}}% % single bond at F \fi\fi\fi\fi\fi% \fi\fi% }% end of \GFbondd % \end{macrocode} % \end{macro} % % The |\setfusedbond| takes 5 arguments. % % \begin{verbatim} % ****************************************************** % * setting of atoms and bonds at fused bond positions * % ****************************************************** % % \setfusedbond{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER} % \end{verbatim} % % The first argument |SUBSLIST| is a list of substituents, which is % represented in the standard format of \XyMTeX{}. % Substituents at the fused positions (vertical bonds) are designated by % the number 0 and the following bond modifiers. % They are placed by means of the |\GFbonda| command. % % \begin{verbatim} % SUBSLIST: list of substituents (max 3 substitution positions) % % for 0 (vertical (0,1) fused positions) % F == (171,303) G == (171,103) % % 0FA : alpha single bond at F % 0FB : beta single bond at F % 0FU : unspecified single bond at F % 0GA : alpha single bond at G % 0GB : beta single bond at G % 0GU : unspecified single bond at G % % \end{verbatim} % % Substituents at the fused positions (diagonal bonds) are designated by % the number 1 and the following bond modifiers. % They are placed by means of the |\GFbondb| command. % \begin{verbatim} % for 1 (diagonal (5,-3) fused positions) % F == (0,406), G == (171,303) % % 1FA : alpha single bond at F % 1FB : beta single bond at F % 1FC : alpha single bond (downward) at F % 1FD : beta single bond (downward) at F % 1FU : unspecified single bond at F % 1GA : alpha single bond at G % 1GB : beta single bond at G % 1GC : alpha single bond (upward) at G % 1GD : beta single bond (upward) at G % 1GU : unspecified single bond at G % % \end{verbatim} % % Substituents at the fused positions (other diagonal bonds) are designated by % the number 2 and the following bond modifiers. % They are placed by means of the |\GFbondc| command. % \begin{verbatim} % for 2 (diagonal (-5,-3) fused positions) % F == (0,406), G == (-171,303) % % 2FA : alpha single bond at F % 2FB : beta single bond at F % 2FC : alpha single bond (upward) at F % 2FD : beta single bond (upward) at F % 2FU : unspecified single bond at F % 2GA : alpha single bond at G % 2GB : beta single bond at G % 2GC : alpha single bond (downward) at G % 2GD : beta single bond (downward) at G % 2GU : unspecified single bond at G % % \end{verbatim} % % Substituents at the fused positions (horizontal bonds) are designated by % the number 3 and the following bond modifiers. % They are placed by means of the |\GFbondd| command. % \begin{verbatim} % for 3 (horizontal (1,0) fused positions) % G == (303,171) F == (103,171) % %%%% F == (303,171) G == (103,171) % % 3FA : alpha single bond at F % 3FB : beta single bond at F % 3FU : unspecified single bond at F % 3GA : alpha single bond at G % 3GB : beta single bond at G % 3GU : unspecified single bond at G % \end{verbatim} % % The second argument |AD| is an adjustment value, which adjusts the original % set of locant numbers into the standard one between 0 to 3 for drawing % substituents on fused positions. % The effective range of the standared set of locant numbers is % restricted by the auguments |LOWER| and |UPPER|. A minus value of % the last argument shows the anti-clockwise numbering, while zero or % a plus value represents the clockwise numbering. % % \begin{verbatim} % % AD : adjustment e.g. 0 for six-membered rings % LOWER : lower limit LOWER < effective range < UPPER % UPPER : upper limit % ORDER : >= 0 clockwise, <0 anti-clockwise % % \end{verbatim} % % \changes{v1.02}{1998/10/31}{Adding the \cs{\@memberb=\@y} condition} % \changes{v1.02}{1998/10/31}{Separate \cs{GFbonda} etc.} % % \begin{macro}{\setfusedbond} % \begin{macrocode} \newif\if@fused@link \@fused@linkfalse \def\setfusedbond#1#2#3#4#5{% \@forsemicol\member:=#1\do{% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\threech@r\@membera{}{}% \ifx\@memberb\@yl\else \ifnum#5<0\relax% \@tmpaa=-\@tmpa\relax\advance\@tmpaa by #2\relax\@fused@linktrue \else\@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax \@fused@linkfalse\fi% \ifnum\@tmpaa >#3\relax% \ifnum\@tmpaa <#4\relax% % \end{macrocode} % % \begin{macrocode} \ifcase\@tmpaa% % %%%%%%%%%%%%%%%%%% % 0 fused positions % F == (171,303) G == (171,103) % %%%%%%%%%%%%%%%%%% \GFbonda % %%%%%%%%%%%%%%%% \or% subst. on 1 F == (0,406), G == (171,303) % %%%%%%%%%%%%%%%% \GFbondb % %%%%%%%%%%%%%%%% \or% subst. on 2 F == (0,406), G == (-171,303) for \@fused@linkfalse % subst. on 2 G == (0,406), F == (-171,303) for \@fused@linktrue % %%%%%%%%%%%%%%%% \GFbondc % %%%%%%%%%%%%%%%%%% \or %3 fused positions % G == (303,171) F == (103,171) % %%%%%%%%%%%%%%%%%% \GFbondd \fi%end of ifcase \fi\fi\fi\fi}}% % \end{macrocode} % \end{macro} % % \subsection{Setting-up substituents and bonds at a given postion} % % The |\setatombond| takes 3 arguments. % % \begin{verbatim} % ******************************************************** % * setting of atoms and bonds at an appropiate position * % ******************************************************** % % \setatombond{SUBSLIST}{AD}{SLOPE} % \end{verbatim} % % The first argument |SUBSLIST| is a list of substituents, which is % represented in the standard format of \XyMTeX{}. % Substituents at the fused positions (vertical bonds) are designated by % the number 0 and the following bond modifiers. % % \begin{verbatim} % SUBSLIST: list of substituents (max 3 substitution positions) % \end{verbatim} % % The second argument |AD| is an adjustment value, which adjusts the original % locant number into 1. % % \begin{verbatim} % AD : adjustment, % Set AD as being 1 = position number - AD % \end{verbatim} % % The argument |SLOPE| has the following meanings. % \begin{verbatim} % SLOPE % % 1 : (0,1) 7 : (0,-1) % 2 : (3,5) 8 : (-3,-5) % 3 : (5,3) 9 : (-5,-3) % 4 : (1,0) 10 : (-1,0) % 5 : (5,-3) 11 : (-5,3) % 6 : (3,-5) 12 : (-3,5) % \end{verbatim} % % \changes{v1.02}{1998/10/14}{The bond-setting commands such as % \cs{setatombonda} ... \cs{setatombondh} are separated from % the original \cs{setatombond}.} % % \begin{macro}{\setatombond} % \begin{macrocode} \newif\if@clipfuse \@clipfusefalse \def\setatombond#1#2#3{% \@forsemicol\member:=#1\do{% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\threech@r\@membera{}{}% \@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax \ifx\@memberb\@yl\else \ifnum\@tmpaa >0\relax% \ifnum\@tmpaa <2\relax% \ifcase\@tmpaa% % %%%%%%%%%%%%%%%% \or% subst. on 1 % %%%%%%%%%%%%%%%% % % (0,1) % \ifnum#3=1\relax%(upward) \setatombonda % % (1,0) % \else\ifnum#3=4\relax%(right) \setatombondb % % (0,-1) % \else\ifnum#3=7\relax%(downward) \setatombondc % % (-5,3) % \else\ifnum#3=11\relax% \setatombondd % % (5,-3) % \else\ifnum#3=5\relax% \setatombonde % % (5,3) % \else\ifnum#3=3\relax% \setatombondf % % (-5,-3) % \else\ifnum#3=9\relax% \setatombondg % % (-1,0) % \else\ifnum#3=10\relax%(left) \setatombondh \fi\fi\fi\fi\fi\fi\fi\fi% \fi%end of ifcase \fi\fi\fi\fi}}% % \end{macrocode} % \end{macro} % % The command |\setatombond| uses the following bond-setting % commands. % % \begin{macro}{\setatombonda} % \begin{macro}{\setatombondb} % \begin{macro}{\setatombondc} % \begin{macro}{\setatombondd} % \begin{macro}{\setatombonde} % \begin{macro}{\setatombondf} % \begin{macro}{\setatombondg} % \begin{macro}{\setatombondh} % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \begin{macrocode} \def\setatombonda{%upward (0,1) \if@clipfuse% \if\@tmpb B%beta single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax {% \thicklines% % \put(0,30){\line(0,1){110}}% % single bond at 1 \put(0,40){\line(0,1){100}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \@ifundefined{dottedline}{% % \put(0,30){\line(0,1){110}}% % single bond at 1 \put(0,40){\line(0,1){100}}% % single bond at 1 }{{\thicklines% % \dottedline{20}(0,30)(0,140)}}% \dottedline{20}(0,40)(0,140)}}% \else\if\@tmpb U% unspecified single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \put(-3,30){$\wr$}% unspecified single bond at 1 \put(-3,80){$\wr$}% \else\if\@tmpb S%beta single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax % \put(0,30){\line(0,1){110}}% % single bond at 1 \put(0,40){\line(0,1){100}}% % single bond at 1 \else\if\@tmpb D%double bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \put(-10,40){\line(0,1){100}}% % single bond at 1 \put(10,40){\line(0,1){100}}% % single bond at 1 \else\if\@tmpb T%double bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \put(-15,40){\line(0,1){100}}% % single bond at 1 \put(0,40){\line(0,1){100}}% % single bond at 1 \put(15,40){\line(0,1){100}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax % \put(0,30){\line(0,1){110}}% % single bond at 1 \put(0,40){\line(0,1){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlratom{-31}{157}{\@memberb}% % left or right type \else%no clip \if\@tmpb B%beta single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax {% \thicklines% \put(0,0){\line(0,1){140}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \@ifundefined{dottedline}{% \put(0,0){\line(0,1){140}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(0,140)}}% \else\if\@tmpb U% unspecified single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \put(-3,0){$\wr$}% unspecified single bond at 1 \put(-3,50){$\wr$}% \put(-3,100){$\wr$}% \else\if\@tmpb S%beta single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \put(0,0){\line(0,1){140}}% % single bond at 1 \else\if\@tmpb D%beta single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \put(-10,0){\line(0,1){140}}% % single bond at 1 \put(10,0){\line(0,1){140}}% % single bond at 1 \else\if\@tmpb T%beta single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \put(-15,0){\line(0,1){140}}% % single bond at 1 \put(0,0){\line(0,1){140}}% % single bond at 1 \put(15,0){\line(0,1){140}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \yl@xdiff=31\relax \yl@ydiff=-17\relax \put(0,0){\line(0,1){140}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlratom{-31}{157}{\@memberb}% % left or right type \fi% }% end of \setatombonda % \end{macrocode} % % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \begin{macrocode} \def\setatombondb{%(right) (1,0) \if@clipfuse% \if\@tmpb B%beta single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax {% \thicklines% \put(30,0){\line(1,0){110}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \@ifundefined{dottedline}{% \put(30,0){\line(1,0){110}}% % single bond at 1 }{{\thicklines% \dottedline{20}(30,0)(140,0)}}% \else\if\@tmpb U%beta single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \put(30,0){\line(1,0){110}}% % single bond at 1 \else\if\@tmpb S%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \put(40,0){\line(1,0){100}}% % single bond at 1 \else\if\@tmpb D%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \put(40,10){\line(1,0){100}}% % single bond at 1 \put(40,-10){\line(1,0){100}}% % single bond at 1 \else\if\@tmpb T%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \put(40,15){\line(1,0){100}}% % single bond at 1 \put(40,0){\line(1,0){100}}% % single bond at 1 \put(40,-15){\line(1,0){100}}% % single bond at 1 \else\ifx\@tmpb\empty%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \put(40,0){\line(1,0){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{157}{-31}{\@memberb}% % right type only \else% \if\@tmpb B%beta single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax {% \thicklines% \put(0,0){\line(1,0){140}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \@ifundefined{dottedline}{% \put(0,0){\line(1,0){140}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(140,0)}}% \else\if\@tmpb U%beta single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \put(0,0){\line(1,0){140}}% % single bond at 1 \else\if\@tmpb S%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \put(0,0){\line(1,0){140}}% % single bond at 1 \else\if\@tmpb D%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \put(0,10){\line(1,0){140}}% % single bond at 1 \put(0,-10){\line(1,0){140}}% % single bond at 1 \else\if\@tmpb T%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \put(0,-15){\line(1,0){140}}% % single bond at 1 \put(0,0){\line(1,0){140}}% % single bond at 1 \put(0,15){\line(1,0){140}}% % single bond at 1 \else\ifx\@tmpb\empty%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \put(0,0){\line(1,0){140}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{157}{-31}{\@memberb}% % right type only \fi% }% end of \setatombondb % \end{macrocode} % % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \begin{macrocode} \def\setatombondc{%(downward) (0,-1) \if@clipfuse% \if\@tmpb B%beta single bond \yl@xdiff=31\relax \yl@ydiff=90\relax {% \thicklines% % \put(0,-30){\line(0,-1){110}}% % single bond at 1 \put(0,-40){\line(0,-1){100}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \@ifundefined{dottedline}{% % \put(0,-30){\line(0,-1){110}}% % single bond at 1 \put(0,-40){\line(0,-1){100}}% % single bond at 1 }{{\thicklines% % \dottedline{20}(0,-30)(0,-140)}}% \dottedline{20}(0,-40)(0,-140)}}% \else\if\@tmpb U%beta single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \put(-3,-90){$\wr$}% unspecified single bond at 1 \put(-3,-140){$\wr$}% \else\if\@tmpb S%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax % \put(0,-30){\line(0,-1){110}}% % single bond at 1 \put(0,-40){\line(0,-1){100}}% % single bond at 1 \else\if\@tmpb D%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \put(10,-40){\line(0,-1){100}}% % single bond at 1 \put(-10,-40){\line(0,-1){100}}% % single bond at 1 \else\if\@tmpb T%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \put(15,-40){\line(0,-1){100}}% % single bond at 1 \put(0,-40){\line(0,-1){100}}% % single bond at 1 \put(-15,-40){\line(0,-1){100}}% % single bond at 1 \else\ifx\@tmpb\empty%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax % \put(0,-30){\line(0,-1){110}}% % single bond at 1 \put(0,-40){\line(0,-1){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlratom{-31}{-230}{\@memberb}% % left or right type \else%no clipping \if\@tmpb B%beta single bond \yl@xdiff=31\relax \yl@ydiff=90\relax {% \thicklines% \put(0,0){\line(0,-1){140}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \@ifundefined{dottedline}{% \put(0,0){\line(0,-1){140}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(0,-140)}}% \else\if\@tmpb U%beta single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \put(-3,-60){$\wr$}% unspecified single bond at 1 \put(-3,-110){$\wr$}% \put(-3,-160){$\wr$}% \else\if\@tmpb S%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \put(0,0){\line(0,-1){140}}% % single bond at 1 \else\if\@tmpb D%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \put(10,0){\line(0,-1){140}}% % single bond at 1 \put(-10,0){\line(0,-1){140}}% % single bond at 1 \else\if\@tmpb T%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \put(15,0){\line(0,-1){140}}% % single bond at 1 \put(0,0){\line(0,-1){140}}% % single bond at 1 \put(-15,0){\line(0,-1){140}}% % single bond at 1 \else\ifx\@tmpb\empty%alpha single bond \yl@xdiff=31\relax \yl@ydiff=90\relax \put(0,0){\line(0,-1){140}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlratom{-31}{-230}{\@memberb}% % left or right type \fi% }% end of \setatombondc % \end{macrocode} % % \begin{macrocode} \def\setatombondd{% (-5,3) \if@clipfuse% \yl@xdiff=-10\relax \yl@ydiff=18\relax \if\@tmpb B%beta single bond {% \thicklines% \put(-30,18){\line(-5,3){100}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(-30,18){\line(-5,3){100}}% % single bond at 1 }{{\thicklines% \dottedline{20}(-30,18)(-130,78)}}% \else\if\@tmpb U%unspecified single bond \put(-30,18){\line(-5,3){100}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(-30,18){\line(-5,3){100}}% % single bond at 1 \else\if\@tmpb D%beta single bond \put(-36,8){\line(-5,3){100}}% % single bond at 1 \put(-24,24){\line(-5,3){100}}% % single bond at 1 \else\if\@tmpb T%beta single bond \put(-39,3){\line(-5,3){100}}% % single bond at 1 \put(-30,18){\line(-5,3){100}}% % single bond at 1 \put(-21,33){\line(-5,3){100}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(-30,18){\line(-5,3){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-130}{60}{\@memberb}% % left type \else%no clipping \yl@xdiff=-10\relax \yl@ydiff=18\relax \if\@tmpb B%beta single bond {% \thicklines% \put(0,0){\line(-5,3){130}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(0,0){\line(-5,3){130}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(-130,78)}}% \else\if\@tmpb U%unspecified single bond \put(0,0){\line(-5,3){130}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(0,0){\line(-5,3){130}}% % single bond at 1 \else\if\@tmpb D%beta single bond \put(6,10){\line(-5,3){130}}% % single bond at 1 \put(-6,-10){\line(-5,3){130}}% % single bond at 1 \else\if\@tmpb T%beta single bond \put(9,15){\line(-5,3){130}}% % single bond at 1 \put(0,0){\line(-5,3){130}}% % single bond at 1 \put(-9,-15){\line(-5,3){130}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(0,0){\line(-5,3){130}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-130}{60}{\@memberb}% % left type \fi% }% end of \setatombondd % \end{macrocode} % % \begin{macrocode} \def\setatombonde{%(5,-3) \if@clipfuse% \yl@xdiff=-10\relax \yl@ydiff=52\relax \if\@tmpb B%beta single bond {% \thicklines% % \put(20,-12){\line(5,-3){100}}% % single bond at 1 \put(30,-18){\line(5,-3){100}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond % \putratom{301}{173}{\@memberb}% % right type \@ifundefined{dottedline}{% % \put(20,-12){\line(5,-3){100}}% % single bond at 1 \put(30,-18){\line(5,-3){100}}% % single bond at 1 }{{\thicklines% % \dottedline{20}(20,-12)(120,-72)}}% \dottedline{20}(30,-18)(130,-78)}}% \else\if\@tmpb U%unspecified single bond \put(30,-18){\line(5,-3){100}}% % single bond at 1 % \put(20,-12){\line(5,-3){100}}% % single bond at 1 \else\if\@tmpb S%alpha single bond \put(30,-18){\line(5,-3){100}}% % single bond at 1 % \put(20,-12){\line(5,-3){100}}% % single bond at 1 \else\if\@tmpb D%alpha single bond \put(36,-12){\line(5,-3){100}}% % single bond at 1 \put(24,-28){\line(5,-3){100}}% % single bond at 1 \else\if\@tmpb T%alpha single bond \put(39,-3){\line(5,-3){100}}% % single bond at 1 \put(30,-18){\line(5,-3){100}}% % single bond at 1 \put(21,-33){\line(5,-3){100}}% % single bond at 1 \else\ifx\@tmpb\empty%alpha single bond \put(30,-18){\line(5,-3){100}}% % single bond at 1 % \put(20,-12){\line(5,-3){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{140}{-130}{\@memberb}% % right type % \putratom{130}{-130}{\@memberb}% % right type \else%no clipping \yl@xdiff=-10\relax \yl@ydiff=52\relax \if\@tmpb B%beta single bond {% \thicklines% % \put(0,0){\line(5,-3){120}}% % single bond at 1 \put(0,0){\line(5,-3){130}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond % \putratom{301}{173}{\@memberb}% % right type \@ifundefined{dottedline}{% % \put(0,0){\line(5,-3){120}}% % single bond at 1 \put(0,0){\line(5,-3){130}}% % single bond at 1 }{{\thicklines% % \dottedline{20}(0,0)(120,-72)}}% \dottedline{20}(0,0)(130,-78)}}% \else\if\@tmpb U%unspecified single bond % \put(0,0){\line(5,-3){120}}% % single bond at 1 \put(0,0){\line(5,-3){130}}% % single bond at 1 \else\if\@tmpb S%alpha single bond % \put(0,0){\line(5,-3){120}}% % single bond at 1 \put(0,0){\line(5,-3){130}}% % single bond at 1 \else\if\@tmpb D%alpha single bond \put(6,10){\line(5,-3){130}}% % single bond at 1 \put(-6,-10){\line(5,-3){130}}% % single bond at 1 \else\if\@tmpb T%alpha single bond \put(9,15){\line(5,-3){130}}% % single bond at 1 \put(0,0){\line(5,-3){130}}% % single bond at 1 \put(-9,-15){\line(5,-3){130}}% % single bond at 1 \else\ifx\@tmpb\empty%alpha single bond % \put(0,0){\line(5,-3){120}}% % single bond at 1 \put(0,0){\line(5,-3){130}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{140}{-130}{\@memberb}% % right type \fi% }% end of \setatombonde % \end{macrocode} % % \begin{macrocode} \def\setatombondf{%% (5,3) \if@clipfuse% \yl@xdiff=-10\relax \yl@ydiff=18\relax \if\@tmpb B%beta single bond {% \thicklines% % \put(20,12){\line(5,3){100}}% % single bond at 1 \put(30,18){\line(5,3){100}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(30,18){\line(5,3){100}}% % single bond at 1 % \put(20,12){\line(5,3){100}}% % single bond at 1 }{{\thicklines% \dottedline{20}(30,18)(130,78)}}% % \dottedline{20}(0,406)(120,72)}}% \else\if\@tmpb U%unspecified single bond \put(30,18){\line(5,3){100}}% % single bond at 1 % \put(20,12){\line(5,3){100}}% % single bond at 1 \else\if\@tmpb S%beta single bond % \put(20,12){\line(5,3){100}}% % single bond at 1 \put(30,18){\line(5,3){100}}% % single bond at 1 \else\if\@tmpb D%beta single bond \put(36,8){\line(5,3){100}}% % single bond at 1 \put(24,24){\line(5,3){100}}% % single bond at 1 \else\if\@tmpb T%beta single bond \put(39,3){\line(5,3){100}}% % single bond at 1 \put(30,18){\line(5,3){100}}% % single bond at 1 \put(21,33){\line(5,3){100}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(30,18){\line(5,3){100}}% % single bond at 1 % \put(20,12){\line(5,3){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{140}{60}{\@memberb}% % right type % \putratom{130}{60}{\@memberb}% % right type \else%no clipping \yl@xdiff=-10\relax \yl@ydiff=18\relax \if\@tmpb B%beta single bond {% \thicklines% \put(0,0){\line(5,3){130}}% % single bond at 1 % \put(0,0){\line(5,3){120}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond % \putratom{130}{466}{\@memberb}% % right type \@ifundefined{dottedline}{% % \put(0,0){\line(5,3){120}}% % single bond at 1 \put(0,0){\line(5,3){130}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(130,78)}}% % \dottedline{20}(0,406)(120,72)}}% \else\if\@tmpb U%unspecified single bond % \put(0,0){\line(5,3){120}}% % single bond at 1 \put(0,0){\line(5,3){130}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(0,0){\line(5,3){130}}% % single bond at 1 % \put(0,0){\line(5,3){120}}% % single bond at 1 \else\if\@tmpb D%beta single bond \put(6,-10){\line(5,3){130}}% % single bond at 1 \put(-6,10){\line(5,3){130}}% % single bond at 1 \else\if\@tmpb T%beta single bond \put(9,-15){\line(5,3){130}}% % single bond at 1 \put(0,0){\line(5,3){130}}% % single bond at 1 \put(-9,15){\line(5,3){130}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond % \put(0,0){\line(5,3){120}}% % single bond at 1 \put(0,0){\line(5,3){130}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{140}{60}{\@memberb}% % right type % \putratom{130}{60}{\@memberb}% % right type \fi% }% end of \setatombondf % \end{macrocode} % % \begin{macrocode} \def\setatombondg{%% (-5,-3) \if@clipfuse% \yl@xdiff=0\relax % \yl@ydiff=62\relax \yl@ydiff=52\relax%1999/1/6 by Shinsaku Fujita \if\@tmpb B%beta single bond {% \thicklines% \put(-30,-18){\line(-5,-3){100}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(-30,-18){\line(-5,-3){100}}% % single bond at 1 }{{\thicklines% \dottedline{20}(-20,-12)(-120,-72)}}% \else\if\@tmpc U%unspecified single bond \put(-30,-18){\line(-5,-3){100}}% % single bond at 1 \else\if\@tmpc S%alpha single bond \put(-30,-18){\line(-5,-3){100}}% % single bond at 1 \else\if\@tmpb D%double bond \put(-36,-12){\line(-5,-3){100}}% % single bond at 1 \put(-24,-28){\line(-5,-3){100}}% % single bond at 1 \else\if\@tmpb T%triple bond \put(-39,-3){\line(-5,-3){100}}% % single bond at 1 \put(-30,-18){\line(-5,-3){100}}% % single bond at 1 \put(-21,-33){\line(-5,-3){100}}% % single bond at 1 \else\ifx\@tmpc\empty%alpha single bond \put(-30,-18){\line(-5,-3){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-130}{-130}{\@memberb}% % left type \else% \yl@xdiff=0\relax % \yl@ydiff=62\relax \yl@ydiff=52\relax%1999/1/6 by Shinsaku Fujita \if\@tmpb B%beta single bond {% \thicklines% \put(0,0){\line(-5,-3){130}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(0,0){\line(-5,-3){130}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(-130,-78)}}% \else\if\@tmpc U%unspecified single bond \put(0,0){\line(-5,-3){130}}% % single bond at 1 \else\if\@tmpc S%alpha single bond \put(0,0){\line(-5,-3){130}}% % single bond at 1 \else\if\@tmpb D%alpha single bond \put(-6,10){\line(-5,-3){130}}% % single bond at 1 \put(6,-10){\line(-5,-3){130}}% % single bond at 1 \else\if\@tmpb T%alpha single bond \put(-9,15){\line(-5,-3){130}}% % single bond at 1 \put(0,0){\line(-5,-3){130}}% % single bond at 1 \put(9,-15){\line(-5,-3){130}}% % single bond at 1 \else\ifx\@tmpc\empty%alpha single bond \put(0,0){\line(-5,-3){130}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-130}{-130}{\@memberb}% % left type \fi% }% end of \setatombondg % \end{macrocode} % % \begin{macrocode} \def\setatombondh{% (-1,0) \yl@xdiff=17\relax \yl@ydiff=31\relax \if@clipfuse% \if\@tmpb B%beta single bond {% \thicklines% \put(-30,0){\line(-1,0){110}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(-30,0){\line(-1,0){110}}% % single bond at 1 }{{\thicklines% \dottedline{20}(-30,0)(-140,0)}}% \else\if\@tmpb U%beta single bond \put(-30,0){\line(-1,0){110}}% % single bond at 1 \else\if\@tmpb S%alpha single bond \put(-40,0){\line(-1,0){100}}% % single bond at 1 \else\if\@tmpb D%alpha single bond \put(-40,10){\line(-1,0){100}}% % single bond at 1 \put(-40,-10){\line(-1,0){100}}% % single bond at 1 \else\if\@tmpb T%alpha single bond \put(-40,15){\line(-1,0){100}}% % single bond at 1 \put(-40,0){\line(-1,0){100}}% % single bond at 1 \put(-40,-15){\line(-1,0){100}}% % single bond at 1 \else\ifx\@tmpb\empty%alpha single bond \put(-40,0){\line(-1,0){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-157}{-31}{\@memberb}% % left type only \else% \if\@tmpb B%beta single bond {% \thicklines% \put(0,0){\line(-1,0){140}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(0,0){\line(-1,0){140}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(-140,0)}}% \else\if\@tmpb U%beta single bond \put(0,0){\line(-1,0){140}}% % single bond at 1 \else\if\@tmpb S%alpha single bond \put(0,0){\line(-1,0){140}}% % single bond at 1 \else\if\@tmpb D%alpha single bond \put(0,10){\line(-1,0){140}}% % single bond at 1 \put(0,-10){\line(-1,0){140}}% % single bond at 1 \else\if\@tmpb T%alpha single bond \put(0,-15){\line(-1,0){140}}% % single bond at 1 \put(0,0){\line(-1,0){140}}% % single bond at 1 \put(0,15){\line(-1,0){140}}% % single bond at 1 \else\ifx\@tmpb\empty%alpha single bond \put(0,0){\line(-1,0){140}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-157}{-31}{\@memberb}% % left type only \fi% }% end of \setatombondh % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % The macro |\ylatombondposition| is used to calculate the shift values % (|\@ylii| and |\@yli|) for applying the |\setatombond| command. % \changes{v1.02}{1998/10/15}{New command: \cs{ylatombondposition} % for setting substituents} % % \begin{macro}{\ylatombondposition} % \begin{macrocode} \def\ylatombondposition#1#2#3{% \@@ylswfalse%%%\@reset@ylsw \@forsemicol\member:=#1\do{% \if@@ylsw\else% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\threech@r\@membera{}{}% \ifx\@memberb\@yl\relax\@@ylswtrue\else\@@ylswfalse\fi \if@@ylsw \@tmpaa=\@tmpa\relax\advance\@tmpaa by #2\relax \ifnum\@tmpaa >0\relax% \ifnum\@tmpaa <2\relax% \ifcase\@tmpaa% % %%%%%%%%%%%%%%%% \or% subst. on 1 % %%%%%%%%%%%%%%%% % % (0,1) % \ifnum#3=1\relax%upward \if@clipfuse% \gdef\@ylii{0}\gdef\@yli{-48}\global\@ylswtrue% \else \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% \fi % \setatombonda % % (1,0) % \else\ifnum#3=4\relax%(right) \if@clipfuse% \gdef\@ylii{-40}\gdef\@yli{0}\global\@ylswtrue% \else \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% \fi % \setatombondb % % (0,-1) % \else\ifnum#3=7\relax%(downward) \if@clipfuse% \gdef\@ylii{0}\gdef\@yli{48}\global\@ylswtrue% \else \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% \fi % \setatombondc % % (-5,3) % \else\ifnum#3=11\relax% \if@clipfuse% \gdef\@ylii{50}\gdef\@yli{-30}\global\@ylswtrue% \else \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% \fi % \setatombondd % % (5,-3) % \else\ifnum#3=5\relax% \if@clipfuse% \gdef\@ylii{-50}\gdef\@yli{30}\global\@ylswtrue% \else \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% \fi % \setatombonde % % (5,3) % \else\ifnum#3=3\relax% \if@clipfuse% \gdef\@ylii{-50}\gdef\@yli{-30}\global\@ylswtrue% \else \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% \fi % \setatombondf % % (-5,-3) % \else\ifnum#3=9\relax% \if@clipfuse% \gdef\@ylii{50}\gdef\@yli{30}\global\@ylswtrue% \else \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% \fi % \setatombondg % % (-1,0) % \else\ifnum#3=10\relax%(left) \if@clipfuse% \gdef\@ylii{40}\gdef\@yli{0}\global\@ylswtrue% \else \gdef\@ylii{0}\gdef\@yli{0}\global\@ylswtrue% \fi % \setatombondh \fi\fi\fi\fi\fi\fi\fi\fi% \fi%end of ifcase \fi\fi\fi\fi% \fi}}% end of \ylatombondposition % \end{macrocode} % \end{macro} % % \section{Macros for horizontal formulas} % \subsection{Placing substituents for horizontal formulas} % % Such a drawing command as |\setsixringh| uses several inner macros % for placing substituents with bonds. The first set of inner macros % are shown as follows. % % The command |\ylpositionh| is to obtain the shift values % |\@ylii| and |\@yli| which are used for shifting the standard point % of a substituent. % The locant flags such as |\@ylatrue| have been stopped to use. % \changes{v1.02}{1998/10/31}{Adding \cs{ylpositionh}. % Commands for setting substituents} % % \begin{macro}{\ylpositionh} % \begin{macrocode} \def\ylpositionh#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}}% % \end{macrocode} % \end{macro} % The |\@hsubsta| command is used for placing a substituent (|\@memberb|) at % the 1-position (top) of a vertical six-membered ring. The bond linking % between the substituent and the 1-position is drawn in the light of % the corresponding bond modifier (|\@tmpc| = Sa, Sb, SA, SB etc.). % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd} % \begin{macro}{\@hsubsta} % ************************************************************* % * treatment of substitution positions for a horizontal type * % ************************************************************* % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 1 % % %%%%%%%%%%%%%%% \def\@hsubsta{% \if@aclip %clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=17\relax \yl@ydiff=31\relax \putlatom{-157}{-31}{\@memberb}% % left type only \put(-30,0){\line(-1,0){110}}% % single bond at 1 \else\if\@tmpc B%(B) beta \yl@xdiff=27\relax \yl@ydiff=36\relax \putlatom{-157}{42}{\@memberb}% % left type {% \thicklines% \put(-30,18){\line(-5,3){100}}% % single bond at 1 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=37\relax \yl@ydiff=28\relax \putlatom{-157}{-100}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-30,-18){\line(-5,-3){100}}% % single bond at 1 }{{\thicklines% \dottedline{20}(-30,-18)(-120,-72)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=37\relax \yl@ydiff=28\relax \putlatom{-157}{-100}{\@memberb}% % left type {% \thicklines% \put(-30,-18){\line(-5,-3){100}}% % single bond at 1 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=27\relax \yl@ydiff=36\relax \putlatom{-157}{42}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(-30,18){\line(-5,3){100}}% % single bond at 1 }{{\thicklines% \dottedline{20}(-30,18)(-130,78)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=27\relax \yl@ydiff=36\relax \putlatom{-157}{42}{\@memberb}% % left type \put(-30,18){\line(-5,3){100}}% % single bond at 1 \else\if\@tmpc a%(a) alpha \yl@xdiff=27\relax \yl@ydiff=28\relax \putlatom{-157}{-100}{\@memberb}% % left type \put(-30,-18){\line(-5,-3){100}}% % single bond at 1 \fi\fi\fi\fi\fi \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=17\relax \yl@ydiff=31\relax \putlatom{-157}{-31}{\@memberb}% % left type only \put(-30,-12){\line(-1,0){110}}% % double bond at 1 \put(-30,12){\line(-1,0){110}}% % double bond at 1 \else\if\@tmpb B%beta single bond \yl@xdiff=17\relax \yl@ydiff=31\relax \putlatom{-157}{-31}{\@memberb}% % left type only {% \thicklines% \put(-30,0){\line(-1,0){110}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=17\relax \yl@ydiff=31\relax \putlatom{-157}{-31}{\@memberb}% % left type only \@ifundefined{dottedline}{% \put(-30,0){\line(-1,0){110}}% % single bond at 1 }{{\thicklines% \dottedline{20}(-30,0)(-140,0)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(0,0){\setatombondG}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(0,0){\setatombondD}% }% \else% \yl@xdiff=17\relax \yl@ydiff=31\relax \putlatom{-157}{-31}{\@memberb}% % left type only \put(-40,0){\line(-1,0){100}}% % single bond at 1 \fi\fi\fi\fi \fi\fi% \else%% no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=17\relax \yl@ydiff=31\relax \putlatom{-157}{-31}{\@memberb}% % left type only \put(0,0){\line(-1,0){140}}% % single bond at 1 \else\if\@tmpc B%(B) beta \yl@xdiff=37\relax \yl@ydiff=30\relax \putlatom{-157}{42}{\@memberb}% % left type {% \thicklines% \put(0,0){\line(-5,3){120}}% % single bond at 1 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=37\relax \yl@ydiff=28\relax \putlatom{-157}{-100}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(0,0){\line(-5,-3){120}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(-120,-72)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=37\relax \yl@ydiff=28\relax \putlatom{-157}{-100}{\@memberb}% % left type {% \thicklines% \put(0,0){\line(-5,-3){120}}% % single bond at 1 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=37\relax \yl@ydiff=30\relax \putlatom{-157}{42}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(0,0){\line(-5,3){120}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(-120,72)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=37\relax \yl@ydiff=30\relax \putlatom{-157}{42}{\@memberb}% % left type \put(0,0){\line(-5,3){120}}% % single bond at 1 \else\if\@tmpc a%(a) alpha \yl@xdiff=37\relax \yl@ydiff=28\relax \putlatom{-157}{-100}{\@memberb}% % left type \put(0,0){\line(-5,-3){120}}% % single bond at 1 \fi\fi\fi\fi\fi \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=17\relax \yl@ydiff=31\relax \putlatom{-157}{-31}{\@memberb}% % left type only \put(0,-12){\line(-1,0){140}}% % double bond at 1 \put(0,12){\line(-1,0){140}}% % double bond at 1 \else\if\@tmpb B%beta single bond \yl@xdiff=17\relax \yl@ydiff=31\relax \putlatom{-157}{-31}{\@memberb}% % left type only {% \thicklines% \put(0,0){\line(-1,0){140}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=17\relax \yl@ydiff=31\relax \putlatom{-157}{-31}{\@memberb}% % left type only \@ifundefined{dottedline}{% \put(0,0){\line(-1,0){140}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(-140,0)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(0,0){\setatombondG}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(0,0){\setatombondD}% }% \else% \yl@xdiff=17\relax \yl@ydiff=31\relax \putlatom{-157}{-31}{\@memberb}% % left type only \put(0,0){\line(-1,0){140}}% % single bond at 1 \fi\fi\fi\fi% \fi\fi \fi}%end of \@hsubsta % \end{macrocode} % \end{macro} % % The |\@hsubstb| command is used for placing a substituent (|\@memberb|) at % the 2-position (upper-left) of a vertical six-membered ring. % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd} % \begin{macro}{\@hsubstb} % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 2 % % %%%%%%%%%%%%%%% \def\@hsubstb{% \if@bclip %clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=43\relax \yl@ydiff=5\relax \putlratom{-27}{331}{\@memberb}% \put(79,221){\line(-3,5){63}}% % single bond at 2 (62=>63) \else\if\@tmpc B%(B) beta \yl@xdiff=0\relax \yl@ydiff=21\relax \putlatom{-41}{240}{\@memberb}% % left type {% \thicklines% \put(59,201){\line(-5,3){100}}% % single bond at 2 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=20\relax \yl@ydiff=-10\relax \putratom{83}{331}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(103,221){\line(0,1){100}}% % single bond at 2 }{{\thicklines% \dottedline{20}(103,221)(103,321)}}%1998/10/11 by SF \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=20\relax \yl@ydiff=-10\relax \putratom{83}{331}{\@memberb}% % right type {% \thicklines% \put(103,221){\line(0,1){100}}% % single bond at 2 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=0\relax \yl@ydiff=21\relax \putlatom{-41}{240}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(59,201){\line(-5,3){100}}% % single bond at 2 }{{\thicklines% \dottedline{20}(59,201)(-41,261)}}%1998/10/11 by SF \else\if\@tmpc b%(b) beta \yl@xdiff=0\relax \yl@ydiff=21\relax \putlatom{-41}{240}{\@memberb}% % left type \put(59,201){\line(-5,3){100}}% % single bond at 2 \else\if\@tmpc a%(a) alpha \yl@xdiff=20\relax \yl@ydiff=-10\relax \putratom{83}{331}{\@memberb}% % right type \put(103,221){\line(0,1){100}}% % single bond at 2 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=49\relax \yl@ydiff=-13\relax \putlratom{-27}{331}{\@memberb}% \put(78,208){\line(-3,5){63}}% % double bond at 2(62->63) \put(100,219){\line(-3,5){63}}% % double bond at 2(62->63) \else\if\@tmpb B%beta single bond \yl@xdiff=43\relax \yl@ydiff=5\relax \putlratom{-27}{331}{\@memberb}% {% \thicklines% \put(79,221){\line(-3,5){63}}% % single bond at 2 (62->63) }% \else\if\@tmpb A%alpha single bond \yl@xdiff=43\relax \yl@ydiff=5\relax \putlratom{-27}{331}{\@memberb}% \@ifundefined{dottedline}{% \put(79,221){\line(-3,5){63}}% % single bond at 2(62->63) }{{\thicklines% \dottedline{20}(79,221)(16,326)}}%1998/10/11 by SF \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(103,171){\setatombondh}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(103,171){\setatombondF}% }% \else% \yl@xdiff=43\relax \yl@ydiff=5\relax \putlratom{-27}{331}{\@memberb}% \put(79,221){\line(-3,5){63}}% % single bond at 2 (62->63) \fi\fi\fi\fi% \fi\fi \else%%no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=58\relax \yl@ydiff=-41\relax \putlratom{-27}{331}{\@memberb}% \put(103,171){\line(-3,5){72}}% % single bond at 2 \else\if\@tmpc B%(B) beta \yl@xdiff=14\relax \yl@ydiff=-3\relax \putlatom{-31}{240}{\@memberb}% % left type {% \thicklines% \put(103,171){\line(-5,3){120}}% % single bond at 2 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=20\relax \yl@ydiff=-20\relax \putratom{83}{331}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(103,171){\line(0,1){140}}% % single bond at 2 }{{\thicklines% \dottedline{20}(103,171)(103,311)}}%1998/10/11 by SF \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=20\relax \yl@ydiff=-20\relax \putratom{83}{331}{\@memberb}% % right type {% \thicklines% \put(103,171){\line(0,1){140}}% % single bond at 2 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=14\relax \yl@ydiff=-3\relax \putlatom{-31}{240}{\@memberb}% % left type \@ifundefined{dottedline}{% \put(103,171){\line(-5,3){120}}% % single bond at 2 }{{\thicklines% \dottedline{20}(103,171)(-7,243)}}%1998/10/11 by SF \else\if\@tmpc b%(b) beta \yl@xdiff=14\relax \yl@ydiff=-3\relax \putlatom{-31}{240}{\@memberb}% % left type \put(103,171){\line(-5,3){120}}% % single bond at 2 \else\if\@tmpc a%(a) alpha \yl@xdiff=20\relax \yl@ydiff=-20\relax \putratom{83}{331}{\@memberb}% % right type \put(103,171){\line(0,1){140}}% % single bond at 2 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=64\relax \yl@ydiff=-41\relax \putlratom{-27}{331}{\@memberb}% \put(96,168){\line(-3,5){72}}% % double bond at 2 \put(121,174){\line(-3,5){72}}% % double bond at 2 \else\if\@tmpb B%beta single bond \yl@xdiff=58\relax \yl@ydiff=-41\relax \putlratom{-27}{331}{\@memberb}% {% \thicklines% \put(103,171){\line(-3,5){72}}% % single bond at 2 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=58\relax \yl@ydiff=-41\relax \putlratom{-27}{331}{\@memberb}% \@ifundefined{dottedline}{% \put(103,171){\line(-3,5){72}}% % single bond at 2 }{{\thicklines% \dottedline{20}(103,171)(31,291)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(103,171){\setatombondh}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(103,171){\setatombondF}% }% \else% \yl@xdiff=58\relax \yl@ydiff=-41\relax \putlratom{-27}{331}{\@memberb}% \put(103,171){\line(-3,5){72}}% % single bond at 2 \fi\fi\fi\fi% \fi\fi \fi}% end of \@hsubstb % \end{macrocode} % \end{macro} % % The |\@hsubstc| command is used for placing a substituent (|\@memberb|) at % the 3-position (upper-right) of a vertical six-membered ring. % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd} % \begin{macro}{\@hsubstc} % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 3 % % %%%%%%%%%%%%%%% \def\@hsubstc{% \if@cclip %clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=43\relax \yl@ydiff=5\relax \putratom{363}{331}{\@memberb}% \put(343,221){\line(3,5){63}}% % single bond at 3 (62->63) \else\if\@tmpc B%(B) beta \yl@xdiff=0\relax \yl@ydiff=21\relax \putratom{443}{240}{\@memberb}% % right type {% \thicklines% \put(343,201){\line(5,3){100}}% % single bond at 3 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=20\relax \yl@ydiff=0\relax \putratom{283}{331}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(303,221){\line(0,1){110}}% % single bond at 3 }{{\thicklines% \dottedline{20}(303,221)(303,331)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=20\relax \yl@ydiff=0\relax \putratom{283}{331}{\@memberb}% % right type {% \thicklines% \put(303,221){\line(0,1){110}}% % single bond at 3 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=0\relax \yl@ydiff=21\relax \putratom{443}{240}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(343,201){\line(5,3){100}}% % single bond at 3 }{{\thicklines% \dottedline{20}(343,201)(443,261)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=0\relax \yl@ydiff=21\relax \putratom{443}{240}{\@memberb}% % right type \put(343,201){\line(5,3){100}}% % single bond at 3 \else\if\@tmpc a%(a) alpha \yl@xdiff=20\relax \yl@ydiff=0\relax \putratom{283}{331}{\@memberb}% % right type \put(303,221){\line(0,1){110}}% % single bond at 3 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=22\relax \yl@ydiff=-18\relax \putratom{363}{331}{\@memberb}% \put(328,208){\line(3,5){63}}% % double bond at 3 \put(303,214){\line(3,5){63}}% % double bond at 3 \else\if\@tmpb B%beta single bond \yl@xdiff=43\relax \yl@ydiff=5\relax \putratom{363}{331}{\@memberb}% {% \thicklines% \put(343,221){\line(3,5){63}}% % single bond at 3 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=43\relax \yl@ydiff=5\relax \putratom{363}{331}{\@memberb}% \@ifundefined{dottedline}{% \put(343,221){\line(3,5){63}}% % single bond at 3 (62->63) }{{\thicklines% \dottedline{20}(343,221)(406,326)}}% 1998/10/11 by SF \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(303,171){\setatombondD}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(303,171){\setatombondb}% }% \else% \yl@xdiff=43\relax \yl@ydiff=5\relax \putratom{363}{331}{\@memberb}% \put(343,221){\line(3,5){63}}% % single bond at 3 (62->63) \fi\fi\fi\fi% \fi\fi \else%no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=12\relax \yl@ydiff=-40\relax \putratom{363}{331}{\@memberb}% \put(303,171){\line(3,5){72}}% % single bond at 3 \else\if\@tmpc B%(B) beta \yl@xdiff=-20\relax \yl@ydiff=3\relax \putratom{443}{240}{\@memberb}% % right type {% \thicklines% \put(303,171){\line(5,3){120}}% % single bond at 3 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=20\relax \yl@ydiff=-20\relax \putratom{283}{331}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(303,171){\line(0,1){140}}% % single bond at 3 }{{\thicklines% \dottedline{20}(303,171)(303,311)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=20\relax \yl@ydiff=-20\relax \putratom{283}{331}{\@memberb}% % right type {% \thicklines% \put(303,171){\line(0,1){140}}% % single bond at 3 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-20\relax \yl@ydiff=3\relax \putratom{443}{240}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(303,171){\line(5,3){120}}% % single bond at 3 }{{\thicklines% \dottedline{20}(303,171)(423,243)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-20\relax \yl@ydiff=3\relax \putratom{443}{240}{\@memberb}% % right type \put(303,171){\line(5,3){120}}% % single bond at 3 \else\if\@tmpc a%(a) alpha \yl@xdiff=20\relax \yl@ydiff=-20\relax \putratom{283}{331}{\@memberb}% % right type \put(303,171){\line(0,1){140}}% % single bond at 3 \fi\fi\fi\fi\fi% \fi\fi% \else\if\@tmpb D%double bond \yl@xdiff=6\relax \yl@ydiff=-40\relax \putratom{363}{331}{\@memberb}% \put(310,168){\line(3,5){72}}% % double bond at 3 \put(284,174){\line(3,5){72}}% % double bond at 3 \else\if\@tmpb B%beta single bond \yl@xdiff=12\relax \yl@ydiff=-40\relax \putratom{363}{331}{\@memberb}% {% \thicklines% \put(303,171){\line(3,5){72}}% % single bond at 3 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=12\relax \yl@ydiff=-40\relax \putratom{363}{331}{\@memberb}% \@ifundefined{dottedline}{% \put(303,171){\line(3,5){72}}% % single bond at 3 }{{\thicklines% \dottedline{20}(303,171)(375,291)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(303,171){\setatombondD}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(303,171){\setatombondb}% }% \else% \yl@xdiff=12\relax \yl@ydiff=-40\relax \putratom{363}{331}{\@memberb}% \put(303,171){\line(3,5){72}}% % single bond at 3 \fi\fi\fi\fi% \fi\fi \fi}% end of \@hsubstc % \end{macrocode} % \end{macro} % % The |\@hsubstd| command is used for placing a substituent (|\@memberb|) at % the 4-position (right-hand) of a vertical six-membered ring. % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd} % \begin{macro}{\@substd} % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 4 % % %%%%%%%%%%%%%%% \def\@hsubstd{% \if@clip %clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=-17\relax \yl@ydiff=31\relax \putratom{563}{-31}{\@memberb}% % right type only \put(436,0){\line(1,0){110}}% % single bond at 4 \else\if\@tmpc B%(B) beta \yl@xdiff=-27\relax \yl@ydiff=36\relax \putratom{563}{42}{\@memberb}% % right type only {% \thicklines% \put(436,18){\line(5,3){100}}% % single bond at 4 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=-27\relax \yl@ydiff=22\relax \putratom{563}{-100}{\@memberb}% % right type only \@ifundefined{dottedline}{% \put(436,-18){\line(5,-3){100}}% % single bond at 4 }{{\thicklines% \dottedline{20}(436,-18)(526,-72)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=-27\relax \yl@ydiff=22\relax \putratom{563}{-100}{\@memberb}% % right type only {% \thicklines% \put(436,-18){\line(5,-3){100}}% % single bond at 4 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-27\relax \yl@ydiff=36\relax \putratom{563}{42}{\@memberb}% % right type only \@ifundefined{dottedline}{% \put(436,18){\line(5,3){100}}% % single bond at 4 }{{\thicklines% \dottedline{20}(436,18)(536,78)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-27\relax \yl@ydiff=36\relax \putratom{563}{42}{\@memberb}% % right type only \put(436,18){\line(5,3){100}}% % single bond at 4 \else\if\@tmpc a%(a) alpha \yl@xdiff=-27\relax \yl@ydiff=22\relax \putratom{563}{-100}{\@memberb}% % right type only \put(436,-18){\line(5,-3){100}}% % single bond at 4 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \putratom{563}{-31}{\@memberb}% % right type only \put(436,-12){\line(1,0){110}}% % double bond at 4 \put(436,12){\line(1,0){110}}% % double bond at 4 \else\if\@tmpb B%beta single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \putratom{563}{-31}{\@memberb}% % right type only {% \thicklines% \put(436,0){\line(1,0){110}}% % single bond at 4 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \putratom{563}{-31}{\@memberb}% % right type only \@ifundefined{dottedline}{% \put(436,0){\line(1,0){110}}% % single bond at 4 }{{\thicklines% \dottedline{20}(436,0)(546,0)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(406,0){\setatombondF}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(406,0){\setatombondE}% }% \else% \yl@xdiff=-17\relax \yl@ydiff=31\relax \putratom{563}{-31}{\@memberb}% % right type only \put(436,0){\line(1,0){110}}% % single bond at 4 \fi\fi\fi\fi% \fi\fi \else%% no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=-17\relax \yl@ydiff=31\relax \putratom{563}{-31}{\@memberb}% % right type only \put(406,0){\line(1,0){140}}% % single bond at 4 \else\if\@tmpc B%(B) beta \yl@xdiff=-37\relax \yl@ydiff=30\relax \putratom{563}{42}{\@memberb}% % right type only {% \thicklines% \put(406,0){\line(5,3){120}}% % single bond at 4 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=-37\relax \yl@ydiff=28\relax \putratom{563}{-100}{\@memberb}% % right type only \@ifundefined{dottedline}{% \put(406,0){\line(5,-3){120}}% % single bond at 4 }{{\thicklines% \dottedline{20}(406,0)(526,-72)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=-37\relax \yl@ydiff=28\relax \putratom{563}{-100}{\@memberb}% % right type only {% \thicklines% \put(406,0){\line(5,-3){120}}% % single bond at 4 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-37\relax \yl@ydiff=30\relax \putratom{563}{42}{\@memberb}% % right type only \@ifundefined{dottedline}{% \put(406,0){\line(5,3){120}}% % single bond at 4 }{{\thicklines% \dottedline{20}(406,0)(526,72)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-37\relax \yl@ydiff=30\relax \putratom{563}{42}{\@memberb}% % right type only \put(406,0){\line(5,3){120}}% % single bond at 4 \else\if\@tmpc a%(a) alpha \yl@xdiff=-37\relax \yl@ydiff=28\relax \putratom{563}{-100}{\@memberb}% % right type only \put(406,0){\line(5,-3){120}}% % single bond at 4 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \putratom{563}{-31}{\@memberb}% % right type only \put(406,-12){\line(1,0){140}}% % double bond at 4 \put(406,12){\line(1,0){140}}% % double bond at 4 \else\if\@tmpb B%beta single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \putratom{563}{-31}{\@memberb}% % right type only {% \thicklines% \put(406,0){\line(1,0){140}}% % single bond at 4 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-17\relax \yl@ydiff=31\relax \putratom{563}{-31}{\@memberb}% % right type only \@ifundefined{dottedline}{% \put(406,0){\line(1,0){140}}% % single bond at 4 }{{\thicklines% \dottedline{20}(406,0)(546,0)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(406,0){\setatombondF}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(406,0){\setatombondE}% }% \else% \yl@xdiff=-17\relax \yl@ydiff=31\relax \putratom{563}{-31}{\@memberb}% % right type only \put(406,0){\line(1,0){140}}% % single bond at 4 \fi\fi\fi\fi% \fi\fi \fi}% end of \@hsubstd % \end{macrocode} % \end{macro} % % The |\@hsubste| command is used for placing a substituent (|\@memberb|) at % the 5-position (lower-right) of a vertical six-membered ring. % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd} % \begin{macro}{\@hsubste} % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 5 % % %%%%%%%%%%%%%%% \def\@hsubste{% \if@eclip %clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=43\relax \yl@ydiff=76\relax \putratom{363}{-402}{\@memberb}% \put(343,-221){\line(3,-5){63}}%% single bond at 5 (62=>63) \else\if\@tmpc B%(B) beta \yl@xdiff=0\relax \yl@ydiff=41\relax \putratom{443}{-301}{\@memberb}% % right type {% \thicklines% \put(343,-201){\line(5,-3){100}}% % single bond at 5 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=20\relax \yl@ydiff=71\relax \putratom{283}{-402}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(303,-221){\line(0,-1){110}}% % single bond at 5 }{{\thicklines% \dottedline{20}(303,-221)(303,-321)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=20\relax \yl@ydiff=71\relax \putratom{283}{-402}{\@memberb}% % right type {% \thicklines% \put(303,-221){\line(0,-1){110}}% % single bond at 5 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=0\relax \yl@ydiff=41\relax \putratom{443}{-301}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(343,-201){\line(5,-3){100}}% % single bond at 5 }{{\thicklines% \dottedline{20}(343,-201)(443,-260)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=0\relax \yl@ydiff=41\relax \putratom{443}{-301}{\@memberb}% % right type \put(343,-201){\line(5,-3){100}}% % single bond at 5 \else\if\@tmpc a%(a) alpha \yl@xdiff=20\relax \yl@ydiff=71\relax \putratom{283}{-402}{\@memberb}% % right type \put(303,-221){\line(0,-1){110}}% % single bond at 5 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=22\relax \yl@ydiff=82\relax \putratom{363}{-402}{\@memberb} \put(328,-208){\line(3,-5){63}}% % double bond at 5 (62->63) \put(306,-224){\line(3,-5){63}}% % double bond at 5 (62->63) \else\if\@tmpb B%beta single bond \yl@xdiff=43\relax \yl@ydiff=76\relax \putratom{363}{-402}{\@memberb}% {% \thicklines% \put(343,-221){\line(3,-5){63}}%% single bond at 5(62->63) }% \else\if\@tmpb A%alpha single bond \yl@xdiff=43\relax \yl@ydiff=76\relax \putratom{363}{-402}{\@memberb}% \@ifundefined{dottedline}{% \put(343,-221){\line(3,-5){63}}% % single bond at 5 (62->63) }{{\thicklines% \dottedline{20}(343,-221)(406,-326)}}%1998/10/11 by SF \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(303,-171){\setatombondb}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(303,-171){\setatombondG}% }% \else% \yl@xdiff=43\relax \yl@ydiff=76\relax \putratom{363}{-402}{\@memberb}% \put(343,-221){\line(3,-5){63}}% % single bond at 5(62->63) \fi\fi\fi\fi% \fi\fi \else%no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=9\relax \yl@ydiff=111\relax \putratom{363}{-402}{\@memberb}% \put(303,-171){\line(3,-5){72}}% % single bond at 5 \else\if\@tmpc B%(B) beta \yl@xdiff=-20\relax \yl@ydiff=58\relax \putratom{443}{-301}{\@memberb}% % right type {% \thicklines% \put(303,-171){\line(5,-3){120}}% % single bond at 5 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=20\relax \yl@ydiff=81\relax \putratom{283}{-402}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(303,-171){\line(0,-1){140}}% % single bond at 5 }{{\thicklines% \dottedline{20}(303,-171)(303,-321)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=20\relax \yl@ydiff=81\relax \putratom{283}{-402}{\@memberb}% % right type {% \thicklines% \put(303,-171){\line(0,-1){140}}% % single bond at 5 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-20\relax \yl@ydiff=58\relax \putratom{443}{-301}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(303,-171){\line(5,-3){120}}% % single bond at 5 }{{\thicklines% \dottedline{20}(303,-171)(423,-243)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-20\relax \yl@ydiff=58\relax \putratom{443}{-301}{\@memberb}% % right type \put(303,-171){\line(5,-3){120}}% % single bond at 5 \else\if\@tmpc a%(a) alpha \yl@xdiff=20\relax \yl@ydiff=81\relax \putratom{283}{-402}{\@memberb}% % right type \put(303,-171){\line(0,-1){140}}% % single bond at 5 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=3\relax \yl@ydiff=111\relax \putratom{363}{-402}{\@memberb}% \put(310,-168){\line(3,-5){72}}% % double bond at 5 \put(284,-174){\line(3,-5){72}}% % double bond at 5 \else\if\@tmpb B%beta single bond \yl@xdiff=9\relax \yl@ydiff=111\relax \putratom{363}{-402}{\@memberb}% {% \thicklines% \put(303,-171){\line(3,-5){72}}% % single bond at 5 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=9\relax \yl@ydiff=111\relax \putratom{363}{-402}{\@memberb}% \@ifundefined{dottedline}{% \put(303,-171){\line(3,-5){72}}% % single bond at 5 }{{\thicklines% \dottedline{20}(303,-171)(375,-291)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(303,-171){\setatombondb}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(303,-171){\setatombondG}% }% \else% \yl@xdiff=9\relax \yl@ydiff=111\relax \putratom{363}{-402}{\@memberb}% \put(303,-171){\line(3,-5){72}}% % single bond at 5 \fi\fi\fi\fi% \fi\fi \fi}% end of \@hsubste % \end{macrocode} % \end{macro} % % The |\@hsubstf| command is used for placing a substituent (|\@memberb|) at % the 6-position (lower-left) of a vertical six-membered ring. % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \changes{v2.00}{1998/12/15}{Added bond modifiers: FA, FB, GA, GB, Su, Sd} % \begin{macro}{\@hsubstf} % \begin{macrocode} % %%%%%%%%%%%%%%% % % subst. on 6 % % %%%%%%%%%%%%%%% \def\@hsubstf{% \if@fclip %clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=43\relax \yl@ydiff=76\relax \putlratom{-27}{-402}{\@memberb}% \put(79,-221){\line(-3,-5){63}}% % single bond at 6 (62=>63) \else\if\@tmpc B%(B) beta \yl@xdiff=-10\relax \yl@ydiff=40\relax \putlatom{-31}{-301}{\@memberb}% % right type {% \thicklines% \put(59,-201){\line(-5,-3){100}}% % single bond at 6 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=20\relax \yl@ydiff=81\relax \putratom{83}{-402}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(103,-221){\line(0,-1){100}}% % single bond at 6 }{{\thicklines% \dottedline{20}(103,-221)(103,-321)}}% \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=20\relax \yl@ydiff=81\relax \putratom{83}{-402}{\@memberb}% % right type {% \thicklines% \put(103,-221){\line(0,-1){100}}% % single bond at 6 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=-10\relax \yl@ydiff=40\relax \putlatom{-31}{-301}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(59,-201){\line(-5,-3){100}}% % single bond at 6 }{{\thicklines% \dottedline{20}(59,-201)(-41,-261)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=-10\relax \yl@ydiff=40\relax \putlatom{-31}{-301}{\@memberb}% % right type \put(59,-201){\line(-5,-3){100}}% % single bond at 6 \else\if\@tmpc a%(a) alpha \yl@xdiff=20\relax \yl@ydiff=81\relax \putratom{83}{-402}{\@memberb}% % right type \put(103,-221){\line(0,-1){100}}% % single bond at 6 \fi\fi\fi\fi\fi \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=49\relax \yl@ydiff=82\relax \putlratom{-27}{-402}{\@memberb}% \put(78,-208){\line(-3,-5){63}}% % double bond at 6 (62->63) \put(106,-219){\line(-3,-5){63}}% % double bond at 6 (62->63) \else\if\@tmpb B%beta single bond \yl@xdiff=43\relax \yl@ydiff=76\relax \putlratom{-27}{-402}{\@memberb}% {% \thicklines% \put(79,-221){\line(-3,-5){63}}% % single bond at 6 (62=>63) }% \else\if\@tmpb A%alpha single bond \yl@xdiff=43\relax \yl@ydiff=76\relax \putlratom{-27}{-402}{\@memberb}% \@ifundefined{dottedline}{% \put(79,-221){\line(-3,-5){63}}% single bond at 6 (62=>63) }{{\thicklines% \dottedline{20}(79,-221)(16,-326)}}%1998/10/11 by SF \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(103,-171){\setatombondE}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusetrue \put(103,-171){\setatombondh}% }% \else% \yl@xdiff=43\relax \yl@ydiff=76\relax \putlratom{-27}{-402}{\@memberb}% \put(79,-221){\line(-3,-5){63}}% % single bond at 6(62->63) \fi\fi\fi\fi% \fi\fi \else%%no clipping \if\@tmpb S%single bond \ifx\@tmpc\empty% \yl@xdiff=59\relax \yl@ydiff=111\relax \putlratom{-27}{-402}{\@memberb}% \put(108,-171){\line(-3,-5){72}}% % single bond at 6 % \else\if\@tmpb B%beta single bond \else\if\@tmpc B%beta single bond%1998/10/11 by S. Fujita \yl@xdiff=8\relax \yl@ydiff=58\relax \putlatom{-31}{-301}{\@memberb}% % right type {% \thicklines% \put(103,-171){\line(-5,-3){120}}% % single bond at 6 }% \else\if\@tmpc A%(A) alpha \yl@xdiff=20\relax \yl@ydiff=91\relax \putratom{83}{-402}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(103,-171){\line(0,-1){140}}% % single bond at 6 }{{\thicklines% \dottedline{20}(103,-171)(103,-311)}}%1998/10/17 by SF \else\if\@tmpc u%(u) up --- (B) beta \yl@xdiff=20\relax \yl@ydiff=91\relax \putratom{83}{-402}{\@memberb}% % right type {% \thicklines% \put(103,-171){\line(0,-1){140}}% % single bond at 6 }% \else\if\@tmpc d%(d) down --- (A) alpha \yl@xdiff=8\relax \yl@ydiff=58\relax \putlatom{-31}{-301}{\@memberb}% % right type \@ifundefined{dottedline}{% \put(103,-171){\line(-5,-3){120}}% % single bond at 6 }{{\thicklines% \dottedline{20}(103,-171)(-17,-243)}}% \else\if\@tmpc b%(b) beta \yl@xdiff=8\relax \yl@ydiff=58\relax \putlatom{-31}{-301}{\@memberb}% % right type \put(103,-171){\line(-5,-3){120}}% % single bond at 6 \else\if\@tmpc a%(a) alpha \yl@xdiff=20\relax \yl@ydiff=91\relax \putratom{83}{-402}{\@memberb}% % right type \put(103,-171){\line(0,-1){140}}% % single bond at 6 \fi\fi\fi\fi\fi% \fi\fi \else\if\@tmpb D%double bond \yl@xdiff=65\relax \yl@ydiff=111\relax \putlratom{-27}{-402}{\@memberb}% \put(96,-168){\line(-3,-5){72}}% % double bond at 6 \put(121,-174){\line(-3,-5){72}}% % double bond at 6 \else\if\@tmpb B%beta single bond \yl@xdiff=59\relax \yl@ydiff=111\relax \putlratom{-27}{-402}{\@memberb}% \put(108,-171){\line(-3,-5){72}}% % single bond at 6 {% \thicklines% \put(108,-171){\line(-3,-5){72}}% % single bond at 6 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=59\relax \yl@ydiff=111\relax \putlratom{-27}{-402}{\@memberb}% \@ifundefined{dottedline}{% \put(108,-171){\line(-3,-5){72}}% % single bond at 6 }{{\thicklines% \dottedline{20}(103,-171)(31,-291)}}% \else\if\@tmpb F%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(103,-171){\setatombondE}% }% \else\if\@tmpb G%fused bond {\let\@tmpb=\@tmpc\@clipfusefalse \put(103,-171){\setatombondh}% }% \else% \yl@xdiff=59\relax \yl@ydiff=111\relax \putlratom{-27}{-402}{\@memberb}% \put(108,-171){\line(-3,-5){72}}% % single bond at 6 \fi\fi\fi\fi% \fi\fi \fi}% end of \@hsubstf % \end{macrocode} % \end{macro} % % \subsection{Setting-up substituents and bonds on a six-membered ring} % % The |\setsixringh| macro takes 5 arguments, which have the same meanings % as described in the definition of the |\setsixringv| macro. % % \begin{verbatim} % **************************************************************** % * setting of atoms and bonds on a horizontal six-membered ring * % **************************************************************** % % \setsixringh{SUBSLIST}{AD}{LOWER}{UPPER}{ORDER} % % \end{verbatim} % % The first argument |SUBSLIST| is a list of substituents, which is % represented in the standard format of \XyMTeX{}. % % \begin{verbatim} % SUBSLIST: list of substituents (max 6 substitution positions) % % for n = 1 to 6 % % nD : exocyclic double bond at n-atom % n or nS : exocyclic single bond at n-atom % nA : alpha single bond at n-atom % nB : beta single bond at n-atom % nSA : alpha single bond at n-atom (boldface) % nSB : beta single bond at n-atom (dotted line) % nSa : alpha (not specified) single bond at n-atom % nSb : beta (not specified) single bond at n-atom % % nSd : alpha single bond at n-atom (dotted line) % with an alternative direction to nSA % nSu : beta single bond at n-atom (boldface) % with an alternative direction to nSB % nFA : alpha single bond at n-atom (dotted line) % for ring fusion % nFB : beta single bond at n-atom (boldface) % for ring fusion % nGA : alpha single bond at n-atom (dotted line) % for the other ring fusion % nGB : beta single bond at n-atom (boldface) % for the other ring fusion % % \end{verbatim} % % The second argument |AD| is an adjustment value, which adjusts the original % set of locant numbers into the standard one between 1 to 6 for drawing % a six-membered ring. % The effective range of the standared set of locant numbers is % restricted by the auguments |LOWER| and |UPPER|. A minus value of % the last argument shows the anti-clockwise numbering, while zero or % a plus value represents the clockwise numbering. % % \begin{verbatim} % AD : adjustment e.g. 0 for six-membered rings % LOWER : lower limit LOWER < effective range < UPPER % UPPER : upper limit % ORDER : >= 0 clockwise, <0 anti-clockwise % % \end{verbatim} % % \changes{v1.02}{1998/10/11}{Adding switches \cs{@yla} etc.} % \changes{v1.02}{1998/10/31}{Deleting switches \cs{@yla} etc.} % % \begin{macro}{\setsixringh} % \begin{macrocode} \def\setsixringh#1#2#3#4#5{% \@forsemicol\member:=#1\do{% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\threech@r\@membera{}{}% \ifx\@memberb\@yl\else \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 % \end{macrocode} % % The following commands are not used in a revised version % because of the direct use of |\ifx\@memberb\@yl\else...\fi|. % % \begin{macrocode} % %\or \if@yla\else\@hsubsta\fi% subst. on 1 % %\or \if@ylb\else\@hsubstb\fi% subst. on 2 % %\or \if@ylc\else\@hsubstc\fi% subst. on 3 % %\or \if@yld\else\@hsubstd\fi% subst. on 4 % %\or \if@yle\else\@hsubste\fi% subst. on 5 % %\or \if@ylf\else\@hsubstf\fi% subst. on 6 % \end{macrocode} % % \begin{macrocode} \or\@hsubsta% subst. on 1 \or\@hsubstb% subst. on 2 \or\@hsubstc% subst. on 3 \or\@hsubstd% subst. on 4 \or\@hsubste% subst. on 5 \or\@hsubstf% subst. on 6 \fi%end of ifcase \fi\fi\fi\fi}}% %end of setsixringh % \end{macrocode} % \end{macro} % % \section{Mocros linking Substituents} % \subsection{Right-handed linking unit} % % A structure-drawing command can be used to typeset a substituent % by using a (yl)-argument. Moreover, the macro |\ryl| permits us % to draw an intermediate linking unit. % \changes{v1.02}{1998/10/25}{New command: \cs{ryl} etc.} % % \begin{macro}{\ryl} % \begin{macro}{\@ryl} % \begin{macrocode} \newcount\x@ryl \newcount\y@ryl \def\ryl{\@ifnextchar({\@ryl}{\@ryl()}} \def\@ryl(#1)#2{% \iniatom\iniflag%initialize \@reset@ylsw% \def\centeraaa{}% \x@ryl=0\y@ryl=0 \@forsemicol\member:=#1\do{% \if@ylsw% \XyMTeXWarning{Duplicated items in the first augument of \string\ryl}% \else% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\twoch@r\@membera{}% \settowidth{\dimen0}{\@memberb}% \x@ryl=\dimen0%%%dimension => counter \divide\x@ryl\unitlength \advance\x@ryl by-70 \y@ryl=0 \ifcase\@tmpa% \def\centeraaa{\@memberb}\@ylswtrue \advance\y@ryl by50 \or%1 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by30 \advance\y@ryl by50 \or%2 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by40 \advance\y@ryl by40 \or%3 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by50 \advance\y@ryl by30 \or%4 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by50 \advance\y@ryl by0 \or%5 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by50 \advance\y@ryl by-30 \or%6 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by50 \advance\y@ryl by-50 \or%7 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by30 \advance\y@ryl by-50 \or%8 \def\centeraaa{\@memberb}\@ylswtrue \advance\y@ryl by-50 \fi \fi\fi}% \yl@shiftii=\x@ryl \yl@shifti=-\y@ryl \advance\yl@shiftii\yl@xdiff \advance\yl@shifti\yl@ydiff \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti) % %%%%%%%%%%%%%%%%%%%%%%%% % % setting hetero atoms % % %%%%%%%%%%%%%%%%%%%%%%%% \ifx\centeraaa\empty\else% \@clipfusetrue \putlatom{40}{-30}{\centeraaa}% % left type \fi% % %%%%%%%%%%%%%%%%%%%%%%%% % % setting substituents % % %%%%%%%%%%%%%%%%%%%%%%%% \@forsemicol\member:=#2\do{% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\threech@r\@membera{}{}% \ifcase\@tmpa% \setatombonda% 0 (upward) (0,1) \or\setatombondF%1 (3,5) \or\setatombondA%2 (1,1) \or\setatombondf%3 (5,3) \or\setatombondb%4 (1,0) \or\setatombonde%5 (5,-3) \or\setatombondB%6 (1,-1) \or\setatombondE%7 (3,-5) \or\setatombondc%8 (0,-1) \fi%end of ifcase \fi }\end{picture}}% %end of \ryl macro % \end{macrocode} % \end{macro} % \end{macro} % % The substituent-setting commands |\setatombondF| etc. are used % in the macro |\ryl|. % % \begin{macro}{\setatombondF} % \changes{v1.02}{1998/10/25}{New command: \cs{setatombondF}} % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \begin{macrocode} \def\setatombondF{%% (3,5) \if@clipfuse% \if\@tmpb B%beta single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax {% \thicklines% \put(30,50){\line(3,5){60}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \@ifundefined{dottedline}{% \put(30,50){\line(3,5){60}}% % single bond at 1 }{{\thicklines% \dottedline{20}(30,50)(90,150)}}% \else\if\@tmpb U%unspecified single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \put(30,50){\line(3,5){60}}% % single bond at 1 \else\if\@tmpb S%beta single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \put(30,50){\line(3,5){60}}% % single bond at 1 \else\if\@tmpb D%double bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \put(40,44){\line(3,5){60}}% % single bond at 1 \put(20,56){\line(3,5){60}}% % single bond at 1 \else\if\@tmpb T%triple bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \put(45,41){\line(3,5){60}}% % single bond at 1 \put(30,50){\line(3,5){60}}% % single bond at 1 \put(15,59){\line(3,5){60}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \put(30,50){\line(3,5){60}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{80}{160}{\@memberb}% % right type \else%no clipping \if\@tmpb B%beta single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax {% \thicklines% \put(0,0){\line(3,5){90}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \@ifundefined{dottedline}{% \put(0,0){\line(3,5){90}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(90,150)}}% \else\if\@tmpb U%unspecified single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \put(0,0){\line(3,5){90}}% % single bond at 1 \else\if\@tmpb S%beta single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \put(0,0){\line(3,5){90}}% % single bond at 1 \else\if\@tmpb D%beta single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \put(10,-6){\line(3,5){90}}% % single bond at 1 \put(-10,6){\line(3,5){90}}% % single bond at 1 \else\if\@tmpb T%beta single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \put(15,-9){\line(3,5){90}}% % single bond at 1 \put(0,0){\line(3,5){90}}% % single bond at 1 \put(-15,9){\line(3,5){90}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \yl@xdiff=10\relax \yl@ydiff=-10\relax \put(0,0){\line(3,5){90}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{80}{160}{\@memberb}% % right type \fi% }% end of \setatombondF % \end{macrocode} % \end{macro} % % \begin{macro}{\setatombondE} % \changes{v1.02}{1998/10/25}{New command: \cs{setatombondE}} % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \begin{macrocode} \def\setatombondE{%% (3,-5) \if@clipfuse% \yl@xdiff=10\relax \yl@ydiff=70\relax \if\@tmpb B%beta single bond {% \thicklines% \put(30,-50){\line(3,-5){60}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(30,-50){\line(3,-5){60}}% % single bond at 1 }{{\thicklines% \dottedline{20}(30,-50)(90,-150)}}% \else\if\@tmpb U%unspecified single bond \put(30,-50){\line(3,-5){60}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(30,-50){\line(3,-5){60}}% % single bond at 1 \else\if\@tmpb D%double bond \put(40,-44){\line(3,-5){60}}% % single bond at 1 \put(20,-56){\line(3,-5){60}}% % single bond at 1 \else\if\@tmpb T%triple bond \put(45,-41){\line(3,-5){60}}% % single bond at 1 \put(30,-50){\line(3,-5){60}}% % single bond at 1 \put(15,-59){\line(3,-5){60}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(30,-50){\line(3,-5){60}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{80}{-220}{\@memberb}% % right type \else%no clipping \yl@xdiff=10\relax \yl@ydiff=70\relax \if\@tmpb B%beta single bond {% \thicklines% \put(0,0){\line(3,-5){90}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(0,0){\line(3,-5){90}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(90,-150)}}% \else\if\@tmpb U%unspecified single bond \put(0,0){\line(3,-5){90}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(0,0){\line(3,-5){90}}% % single bond at 1 \else\if\@tmpb D%beta single bond \put(10,6){\line(3,-5){90}}% % single bond at 1 \put(-10,-6){\line(3,-5){90}}% % single bond at 1 \else\if\@tmpb T%beta single bond \put(15,9){\line(3,-5){90}}% % single bond at 1 \put(0,0){\line(3,-5){90}}% % single bond at 1 \put(-15,-9){\line(3,-5){90}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(0,0){\line(3,-5){90}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{80}{-220}{\@memberb}% % right type \fi% }% end of \setatombondE % \end{macrocode} % \end{macro} % % \begin{macro}{\setatombondA} % \changes{v1.02}{1998/10/25}{New command: \cs{setatombondA}} % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \begin{macrocode} \def\setatombondA{%% (1,1) \yl@xdiff=0\relax \yl@ydiff=0\relax \if@clipfuse% \if\@tmpb B%beta single bond {% \thicklines% \put(40,40){\line(1,1){100}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(40,40){\line(1,1){100}}% % single bond at 1 }{{\thicklines% \dottedline{20}(40,40)(140,140)}}% \else\if\@tmpb U%unspecified single bond \put(40,40){\line(1,1){100}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(40,40){\line(1,1){100}}% % single bond at 1 \else\if\@tmpb D%double bond \put(46,36){\line(1,1){100}}% % single bond at 1 \put(36,46){\line(1,1){100}}% % single bond at 1 \else\if\@tmpb T%triple bond \put(50,30){\line(1,1){100}}% % single bond at 1 \put(40,40){\line(1,1){100}}% % single bond at 1 \put(30,50){\line(1,1){100}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(40,40){\line(1,1){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{140}{140}{\@memberb}% % right type \else%no clipping \if\@tmpb B%beta single bond {% \thicklines% \put(0,0){\line(1,1){120}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(0,0){\line(1,1){120}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(120,120)}}% \else\if\@tmpb U%unspecified single bond \put(0,0){\line(1,1){120}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(0,0){\line(1,1){120}}% % single bond at 1 \else\if\@tmpb D%beta single bond \put(6,-6){\line(1,1){120}}% % single bond at 1 \put(-6,6){\line(1,1){120}}% % single bond at 1 \else\if\@tmpb T%beta single bond \put(10,-10){\line(1,1){120}}% % single bond at 1 \put(0,0){\line(1,1){120}}% % single bond at 1 \put(-10,10){\line(1,1){120}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(0,0){\line(1,1){120}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{120}{120}{\@memberb}% % right type \fi% }% end of \setatombondA % \end{macrocode} % \end{macro} % % \begin{macro}{\setatombondB} % \changes{v1.02}{1998/10/25}{New command: \cs{setatombondB}} % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \begin{macrocode} \def\setatombondB{%% (1,-1) \if@clipfuse% \yl@xdiff=0\relax \yl@ydiff=60\relax \if\@tmpb B%beta single bond {% \thicklines% \put(40,-40){\line(1,-1){100}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(40,-40){\line(1,-1){100}}% % single bond at 1 }{{\thicklines% \dottedline{20}(40,-40)(140,-140)}}% \else\if\@tmpb U%unspecified single bond \put(40,-40){\line(1,-1){100}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(40,-40){\line(1,-1){100}}% % single bond at 1 \else\if\@tmpb D%double bond \put(46,-36){\line(1,-1){100}}% % single bond at 1 \put(36,-46){\line(1,-1){100}}% % single bond at 1 \else\if\@tmpb T%triple bond \put(50,-30){\line(1,-1){100}}% % single bond at 1 \put(40,-40){\line(1,-1){100}}% % single bond at 1 \put(30,-50){\line(1,-1){100}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(40,-40){\line(1,-1){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{140}{-200}{\@memberb}% % right type \else%no clipping \yl@xdiff=0\relax \yl@ydiff=60\relax \if\@tmpb B%beta single bond {% \thicklines% \put(0,0){\line(1,-1){120}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(0,0){\line(1,-1){120}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(120,-120)}}% \else\if\@tmpb U%unspecified single bond \put(0,0){\line(1,-1){120}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(0,0){\line(1,-1){120}}% % single bond at 1 \else\if\@tmpb D%beta single bond \put(6,6){\line(1,-1){120}}% % single bond at 1 \put(-6,-6){\line(1,-1){120}}% % single bond at 1 \else\if\@tmpb T%beta single bond \put(10,10){\line(1,-1){120}}% % single bond at 1 \put(0,0){\line(1,-1){120}}% % single bond at 1 \put(-10,-10){\line(1,-1){120}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(0,0){\line(1,-1){120}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putratom{120}{-180}{\@memberb}% % right type \fi% }% end of \setatombondB % \end{macrocode} % \end{macro} % % \subsection{Left-handed linking unit} % % A structure-drawing command can be used to typeset a substituent % by using a (yl)-argument. Moreover, the macro |\lyl| permits us % to draw an intermediate linking unit. % \changes{v1.02}{1998/10/25}{New command: \cs{lyl} etc.} % \begin{macro}{\lyl} % \begin{macrocode} \def\lyl{\@ifnextchar({\@lyl}{\@lyl()}} \def\@lyl(#1)#2{% \iniatom\iniflag%initialize \@reset@ylsw% \def\centeraaa{}% \x@ryl=0\y@ryl=0 \@forsemicol\member:=#1\do{% \if@ylsw% \XyMTeXWarning{Duplicated items in the first augument of \string\ryl}% \else% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\twoch@r\@membera{}% \settowidth{\dimen0}{\@memberb}% \x@ryl=\dimen0%%%dimension => counter \divide\x@ryl\unitlength \advance\x@ryl by-80 \y@ryl=0 \ifcase\@tmpa% \def\centeraaa{\@memberb}\@ylswtrue %\advance\x@ryl by0 \advance\y@ryl by50 \or%1 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by30 \advance\y@ryl by50 \or%2 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by40 \advance\y@ryl by40 \or%3 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by50 \advance\y@ryl by30 \or%4 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by50 \advance\y@ryl by0 \or%5 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by50 \advance\y@ryl by-30 \or%6 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by50 \advance\y@ryl by-50 \or%7 \def\centeraaa{\@memberb}\@ylswtrue \advance\x@ryl by30 \advance\y@ryl by-50 \or%8 \def\centeraaa{\@memberb}\@ylswtrue %\advance\x@ryl by0 \advance\y@ryl by-50 \fi \fi\fi}% \yl@shiftii=-\x@ryl \yl@shifti=-\y@ryl \advance\yl@shiftii\yl@xdiff \advance\yl@shifti\yl@ydiff \begin{picture}(0,0)(-\yl@shiftii,-\yl@shifti) % %%%%%%%%%%%%%%%%%%%%%%%% % % setting hetero atoms % % %%%%%%%%%%%%%%%%%%%%%%%% \ifx\centeraaa\empty\else% \@clipfusetrue \putratom{-40}{-30}{\centeraaa}% % right type \fi% % %%%%%%%%%%%%%%%%%%%%%%%% % % setting substituents % % %%%%%%%%%%%%%%%%%%%%%%%% \@forsemicol\member:=#2\do{% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\threech@r\@membera{}{}% \ifcase\@tmpa% \setatombonda% 0 (upward) (0,1) \or\setatombondD%1 (-3,5) \or\setatombondH%2 (-1,1) \or\setatombondd%3 (-5,3) \or\setatombondh%4 (-1,0) \or\setatombondg%5 (-5,-3) \or\setatombondC%6 (-1,-1) \or\setatombondG%7 (-3,-5) \or\setatombondc%8 (0,-1) \fi%end of ifcase \fi }\end{picture}}% %end of \lyl macro % \end{macrocode} % \end{macro} % % The substituent-setting commands |\setatombondD| etc. are used % in the macro |\ryl|. % % \begin{macro}{\setatombondD} % \changes{v1.02}{1998/10/25}{New command: \cs{setatombondD}} % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \begin{macrocode} \def\setatombondD{%% (-3,5) \if@clipfuse% \if\@tmpb B%beta single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax {% \thicklines% \put(-30,50){\line(-3,5){60}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \@ifundefined{dottedline}{% \put(-30,50){\line(-3,5){60}}% % single bond at 1 }{{\thicklines% \dottedline{20}(-30,50)(-90,150)}}% \else\if\@tmpb U%unspecified single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \put(-30,50){\line(-3,5){60}}% % single bond at 1 \else\if\@tmpb S%beta single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \put(-30,50){\line(-3,5){60}}% % single bond at 1 \else\if\@tmpb D%double bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \put(-40,44){\line(-3,5){60}}% % single bond at 1 \put(-20,56){\line(-3,5){60}}% % single bond at 1 \else\if\@tmpb T%triple bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \put(-45,41){\line(-3,5){60}}% % single bond at 1 \put(-30,50){\line(-3,5){60}}% % single bond at 1 \put(-15,59){\line(-3,5){60}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \put(-30,50){\line(-3,5){60}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-80}{160}{\@memberb}% % left type \else%no clipping \if\@tmpb B%beta single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax {% \thicklines% \put(0,0){\line(-3,5){90}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \@ifundefined{dottedline}{% \put(0,0){\line(-3,5){90}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(-90,150)}}% \else\if\@tmpb U%unspecified single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \put(0,0){\line(-3,5){90}}% % single bond at 1 \else\if\@tmpb S%beta single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \put(0,0){\line(-3,5){90}}% % single bond at 1 \else\if\@tmpb D%beta single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \put(-10,-6){\line(-3,5){90}}% % single bond at 1 \put(10,6){\line(-3,5){90}}% % single bond at 1 \else\if\@tmpb T%beta single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \put(-15,-9){\line(-3,5){90}}% % single bond at 1 \put(0,0){\line(-3,5){90}}% % single bond at 1 \put(15,9){\line(-3,5){90}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \yl@xdiff=-10\relax \yl@ydiff=-10\relax \put(0,0){\line(-3,5){90}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-80}{160}{\@memberb}% % left type \fi% }% end of \setatombondD % \end{macrocode} % \end{macro} % % \begin{macro}{\setatombondG} % \changes{v1.02}{1998/10/25}{New command: \cs{setatombondG}} % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \begin{macrocode} \def\setatombondG{%% (-3,-5) \if@clipfuse% \yl@xdiff=-10\relax \yl@ydiff=70\relax \if\@tmpb B%beta single bond {% \thicklines% \put(-30,-50){\line(-3,-5){60}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(-30,-50){\line(-3,-5){60}}% % single bond at 1 }{{\thicklines% \dottedline{20}(-30,-50)(-90,-150)}}% \else\if\@tmpb U%unspecified single bond \put(-30,-50){\line(-3,-5){60}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(-30,-50){\line(-3,-5){60}}% % single bond at 1 \else\if\@tmpb D%double bond \put(-40,-44){\line(-3,-5){60}}% % single bond at 1 \put(-20,-56){\line(-3,-5){60}}% % single bond at 1 \else\if\@tmpb T%triple bond \put(-45,-41){\line(-3,-5){60}}% % single bond at 1 \put(-30,-50){\line(-3,-5){60}}% % single bond at 1 \put(-15,-59){\line(-3,-5){60}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(-30,-50){\line(-3,-5){60}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-80}{-220}{\@memberb}% % left type \else%no clipping \yl@xdiff=-10\relax \yl@ydiff=70\relax \if\@tmpb B%beta single bond {% \thicklines% \put(0,0){\line(-3,-5){90}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(0,0){\line(-3,-5){90}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(-90,-150)}}% \else\if\@tmpb U%unspecified single bond \put(0,0){\line(-3,-5){90}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(0,0){\line(-3,-5){90}}% % single bond at 1 \else\if\@tmpb D%beta single bond \put(-10,6){\line(-3,-5){90}}% % single bond at 1 \put(10,-6){\line(-3,-5){90}}% % single bond at 1 \else\if\@tmpb T%beta single bond \put(-15,9){\line(-3,-5){90}}% % single bond at 1 \put(0,0){\line(-3,-5){90}}% % single bond at 1 \put(15,-9){\line(-3,-5){90}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(0,0){\line(-3,-5){90}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-80}{-220}{\@memberb}% % left type \fi% }% end of \setatombondG % \end{macrocode} % \end{macro} % % \begin{macro}{\setatombondH} % \changes{v1.02}{1998/10/25}{New command: \cs{setatombondH}} % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \begin{macrocode} \def\setatombondH{%% (-1,1) \yl@xdiff=0\relax \yl@ydiff=0\relax \if@clipfuse% \if\@tmpb B%beta single bond {% \thicklines% \put(-40,40){\line(-1,1){100}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(-40,40){\line(-1,1){100}}% % single bond at 1 }{{\thicklines% \dottedline{20}(-40,40)(-140,140)}}% \else\if\@tmpb U%unspecified single bond \put(-40,40){\line(-1,1){100}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(-40,40){\line(-1,1){100}}% % single bond at 1 \else\if\@tmpb D%double bond \put(-46,36){\line(-1,1){100}}% % single bond at 1 \put(-36,46){\line(-1,1){100}}% % single bond at 1 \else\if\@tmpb T%triple bond \put(-50,30){\line(-1,1){100}}% % single bond at 1 \put(-40,40){\line(-1,1){100}}% % single bond at 1 \put(-30,50){\line(-1,1){100}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(-40,40){\line(-1,1){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-140}{140}{\@memberb}% % left type \else%no clipping \if\@tmpb B%beta single bond {% \thicklines% \put(0,0){\line(-1,1){120}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(0,0){\line(-1,1){120}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(-120,120)}}% \else\if\@tmpb U%unspecified single bond \put(0,0){\line(-1,1){120}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(0,0){\line(-1,1){120}}% % single bond at 1 \else\if\@tmpb D%beta single bond \put(-6,-6){\line(-1,1){120}}% % single bond at 1 \put(6,6){\line(-1,1){120}}% % single bond at 1 \else\if\@tmpb T%beta single bond \put(-10,-10){\line(-1,1){120}}% % single bond at 1 \put(0,0){\line(-1,1){120}}% % single bond at 1 \put(10,10){\line(-1,1){120}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(0,0){\line(-1,1){120}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-120}{120}{\@memberb}% % left type \fi% }% end of \setatombondH % \end{macrocode} % \end{macro} % % \begin{macro}{\setatombondC} % \changes{v1.02}{1998/10/25}{New command: \cs{setatombondC}} % \changes{v1.02}{1998/10/31}{Adding \cs{yl@xdiff} and \cs{yl@ydiff}} % \begin{macrocode} \def\setatombondC{%% (-1,-1) \if@clipfuse% \yl@xdiff=0\relax \yl@ydiff=60\relax \if\@tmpb B%beta single bond {% \thicklines% \put(-40,-40){\line(-1,-1){100}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(-40,-40){\line(-1,-1){100}}% % single bond at 1 }{{\thicklines% \dottedline{20}(-40,-40)(-140,-140)}}% \else\if\@tmpb U%unspecified single bond \put(-40,-40){\line(-1,-1){100}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(-40,-40){\line(-1,-1){100}}% % single bond at 1 \else\if\@tmpb D%double bond \put(-46,-36){\line(-1,-1){100}}% % single bond at 1 \put(-36,-46){\line(-1,-1){100}}% % single bond at 1 \else\if\@tmpb T%triple bond \put(-50,-30){\line(-1,-1){100}}% % single bond at 1 \put(-40,-40){\line(-1,-1){100}}% % single bond at 1 \put(-30,-50){\line(-1,-1){100}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(-40,-40){\line(-1,-1){100}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-140}{-200}{\@memberb}% % left type \else%no clipping \yl@xdiff=0\relax \yl@ydiff=60\relax \if\@tmpb B%beta single bond {% \thicklines% \put(0,0){\line(-1,-1){120}}% % single bond at 1 }% \else\if\@tmpb A%alpha single bond \@ifundefined{dottedline}{% \put(0,0){\line(-1,-1){120}}% % single bond at 1 }{{\thicklines% \dottedline{20}(0,0)(-120,-120)}}% \else\if\@tmpb U%unspecified single bond \put(0,0){\line(-1,-1){120}}% % single bond at 1 \else\if\@tmpb S%beta single bond \put(0,0){\line(-1,-1){120}}% % single bond at 1 \else\if\@tmpb D%beta single bond \put(-6,6){\line(-1,-1){120}}% % single bond at 1 \put(6,-6){\line(-1,-1){120}}% % single bond at 1 \else\if\@tmpb T%beta single bond \put(-10,10){\line(-1,-1){120}}% % single bond at 1 \put(0,0){\line(-1,-1){120}}% % single bond at 1 \put(10,-10){\line(-1,-1){120}}% % single bond at 1 \else\ifx\@tmpb\empty%beta single bond \put(0,0){\line(-1,-1){120}}% % single bond at 1 \fi\fi\fi\fi\fi\fi\fi% \putlatom{-120}{-180}{\@memberb}% % left type \fi% }% end of \setatombondC % \end{macrocode} % \end{macro} % % \section{Minor Linking Units} % % \begin{macro}{\ayl} % \begin{macrocode} \def\ayl{\@ifnextchar({\@ayl@}{\@ayl@(10,40)}} \def\@ayl@(#1,#2)#3{\begingroup\yl@xdiff=0 \yl@ydiff=0% \kern#1\unitlength\raise#2\unitlength\hbox to0pt{#3\hss}% \endgroup} % \end{macrocode} % \end{macro} % % \begin{macro}{\upnobond} % \begin{macro}{\downnobond} % \begin{macrocode} \def\upnobond#1#2{% \hbox{\hbox to0.72em{\hss#1\hss}\kern-0.72em\raise2.2ex\hbox{#2}}} \def\downnobond#1#2{% \hbox{\hbox to0.72em{\hss#1\hss}\kern-0.72em\lower2.2ex\hbox{#2}}} % \end{macrocode} % \end{macro} % \end{macro} % % \section{Spriro-Ring Commands} % \subsection{Basic Commands for Six-Membered Rings} % % For treating spiro-ring fusion, the following basic commands % (|\test@vertix| and |\test@vertix@sixv|) are added at the % time of releasing Version 2.00. These commands are generally % used for detecting hetero atoms at respective vertices of a % heterocyclic ring. % % The command |\test@vertix| is used in |\test@vertix@sixv|. % which is designed to test the existence of a hetero atom % (or an equivalent) at each vertix of a six-membered ring. % % \begin{macro}{\test@vertix} % \begin{macro}{\test@vertix@sixv} % \changes{v2.00}{1998/11/15}{New command: \cs{test@vertix} and % \cs{test@vertix@sixv}} % \begin{macrocode} \def\test@vertix#1{% \expandafter\def\csname #1#1#1\endcsname{@}% \if\@tmpb h\relax \expandafter\def\csname #1#1#1\endcsname{@}% \else\if\@tmpb s\relax \expandafter\def\csname #1#1#1\endcsname{}% \fi\fi} % \end{macrocode} % % The command |\test@vertix@sixv| is designed to test % the existence of a hetero atom (or an equivalent) % at each vertix of a six-membered ring. % % \begin{macrocode} \def\test@vertix@sixv#1#2#3#4#5#6#7{% \@forsemicol\member:=#1\do{% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\twoCH@R\@membera//% \ifcase\@tmpa% % \changes{v2.00}{1996/11/14}{@ in place of a net value} \or \test@vertix{#2}% \or \test@vertix{#3}% \or \test@vertix{#4}% \or \if\@tmpb a% \def\iii{@}% \else \test@vertix{#5}% \fi \or \test@vertix{#6}% \or \test@vertix{#7}% \fi\fi}}% end of \test@vertix@sixv %\def\test@vertix@sixv#1#2#3#4#5#6#7{% %\@forsemicol\member:=#1\do{% %\expandafter\@m@mb@r\member;\relax% %\expandafter\twoch@r\@membera{}% %\ifcase\@tmpa% %% \changes{v2.00}{1996/11/14}{@ in place of a net value} % \or \test@vertix{#2}% % \or \test@vertix{#3}% % \or \test@vertix{#4}% % \or \test@vertix{#5}% % \or \test@vertix{#6}% % \or \test@vertix{#7}% %\fi}} % \end{macrocode} % \end{macro} % \end{macro} % % The command |\set@hetatom@sixv| is to set a spiro group % (stored as |\@memberb|) % at a vertix designated by |\@tmpaa| (or originally by |\@tmpa|). % The atom modifier `s' designates that the spiro group contains % a carbon atom (a vertix) at a spiro position, while `h' % represents the presence of a hetero atom at a spiro position. % The absence of such atom modifiers shows the substitution % of a usual hetero atom. The command |\set@hetatom@sixv| is % used in such commands as |\sixheterov| and |\sixheterovi| % for treating thier ATOMLISTs, % e.g. |1==N;1s==\sixheterov{}{1==(yl)}|. % % \begin{macro}{\set@hetatom@sixv} % \changes{v2.00}{1998/11/15}{New command: \cs{set@hetatom@sixv}} % \begin{macrocode} \def\set@hetatom@sixv#1#2#3#4#5{% \@forsemicol\member:=#1\do{% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\twoch@r\@membera{}% \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% \or%position 1 \if\@tmpb h\relax \@acliptrue% \putratom{0}{356}{\@memberb}% % right type \else\if\@tmpb s\relax \@aclipfalse% \putratom{0}{406}{\@memberb}% % right type \else\if\@tmpb a\relax%omit fused position \else \@acliptrue% \putratom{-31}{356}{\@memberb}% % right type \fi\fi\fi \or%position 2 \if\@tmpb h\relax \@bcliptrue% \putratom{135}{280}{\@memberb}% % right type \else\if\@tmpb s\relax \@bclipfalse% \putratom{175}{303}{\@memberb}% % right type \else\if\@tmpb a\relax%omit fused position \else \@bcliptrue% \putratom{135}{280}{\@memberb}% % right type \fi\fi\fi \or%position 3 \if\@tmpb h\relax \@ccliptrue% \putratom{135}{95}{\@memberb}% % right type \else\if\@tmpb s\relax \@cclipfalse% \putratom{175}{103}{\@memberb}% % right type \else\if\@tmpb a\relax%omit fused position \else \@ccliptrue% \putratom{135}{65}{\@memberb}% % right type \fi\fi\fi \or%position 4 \if\@tmpb h\relax \@cliptrue% \putratom{0}{50}{\@memberb}% % right type \else\if\@tmpb s\relax \@clipfalse% \putratom{0}{0}{\@memberb}% % right type \else\if\@tmpb a\relax%omit fused position \else \@cliptrue% \putratom{-31}{-10}{\@memberb}% % right type \fi\fi\fi \or%position 5 \if\@tmpb h\relax \@ecliptrue% \putlatom{-135}{95}{\@memberb}% % right type \else\if\@tmpb s\relax \@eclipfalse% \putlatom{-175}{103}{\@memberb}% % right type \else\if\@tmpb a\relax%omit fused position \else \@ecliptrue% \putlatom{-135}{65}{\@memberb}% % left type \fi\fi\fi \or%position 6 \if\@tmpb h\relax \@fcliptrue% \putlatom{-135}{280}{\@memberb}% % right type \else\if\@tmpb s\relax \@fclipfalse% \putlatom{-175}{303}{\@memberb}% % right type \else\if\@tmpb a\relax%omit fused position \else \@fcliptrue% \putlatom{-135}{280}{\@memberb}% % left type \fi\fi\fi \fi% end of ifcase \fi\fi\fi}}% end of the macro \set@hetatom@sixv % \end{macrocode} % \end{macro} % % The command |\set@hetatom@sixh| is to set a spiro group % (stored as |\@memberb|) % at a vertix designated by |\@tmpaa| (or originally by |\@tmpa|). % The atom modifier `s' designates that the spiro group contains % a carbon atom (a vertix) at a spiro position, while `h' % represents the presence of a hetero atom at a spiro position. % The absence of such atom modifiers shows the substitution % of a usual hetero atom. The command |\set@hetatom@sixh| is % used in such commands as |\sixheteroh| and |\sixheterohi| % for treating thier ATOMLISTs, % e.g. |1==N;1s==\sixheteroh{}{1==(yl)}|. % % \begin{macro}{\set@hetatom@sixh} % \changes{v2.00}{1998/11/23}{New command: \cs{set@hetatom@sixh}} % \begin{macrocode} \def\set@hetatom@sixh#1#2#3#4#5{% \@forsemicol\member:=#1\do{% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% %\expandafter\twoch@r\@membera{}% \expandafter\twoCH@R\@membera//% \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% \or%position 1 \if\@tmpb h\relax \@acliptrue% \putlatom{60}{0}{\@memberb}% % left type \else\if\@tmpb s\relax \@aclipfalse% \putlatom{0}{0}{\@memberb}% % left type \else\if\@tmpb a\relax%omit fused position \else \@acliptrue% \putlatom{60}{-36}{\@memberb}% % left type \fi\fi\fi \or%position 2 \if\@tmpb h\relax \@bcliptrue% \putlatom{135}{141}{\@memberb}% % left type \else\if\@tmpb s\relax \@bclipfalse% \putlatom{103}{171}{\@memberb}% % left type \else\if\@tmpb a\relax%omit fused position \else \@bcliptrue% \putlatom{135}{141}{\@memberb}% % left type \fi\fi\fi \or%position 3 \if\@tmpb h\relax \@ccliptrue% \putratom{273}{141}{\@memberb}% % right type \else\if\@tmpb s\relax \@cclipfalse% \putratom{303}{171}{\@memberb}% % right type \else\if\@tmpb a\relax%omit fused position \else \@ccliptrue% \putratom{273}{141}{\@memberb}% % right type \fi\fi\fi \or%position 4 \if\@tmpb h\relax \@cliptrue% \putratom{346}{0}{\@memberb}% % right type \else\if\@tmpb s\relax \@clipfalse% \putratom{406}{0}{\@memberb}% % right type \else\if\@tmpb a\relax%omit fused position \else \@cliptrue% \putratom{346}{-36}{\@memberb}% % right type \fi\fi\fi \or%position 5 \if\@tmpb h\relax \@ecliptrue% \putratom{283}{-131}{\@memberb}% % right type \else\if\@tmpb s\relax \@eclipfalse% \putratom{303}{-171}{\@memberb}% % right type \else\if\@tmpb a\relax%omit fused position \else \@ecliptrue% \putratom{273}{-211}{\@memberb}% % right type \fi\fi\fi \or%position 6 \if\@tmpb h\relax \@fcliptrue% \putlatom{125}{-131}{\@memberb}% % left type \else\if\@tmpb s\relax \@fclipfalse% \putlatom{103}{-171}{\@memberb}% % left type \else\if\@tmpb a\relax%omit fused position \else \@fcliptrue% \putlatom{135}{-211}{\@memberb}% % left type \fi\fi\fi \fi% end of ifcase \fi\fi\fi}}% end of the macro \set@hetatom@sixh % \end{macrocode} % \end{macro} % % \subsection{Basic Commands for Six-Six Rings} % % The command |\test@vertix@decav| is designed to test % the existence of a hetero atom (or an equivalent) % at each vertix of a six-six fused ring. % % \begin{macro}{\test@vertix@decav} % \begin{macrocode} \def\test@vertix@decav#1#2#3#4#5#6#7{% \@forsemicol\member:=#1\do{% \ifx\member\empty\else% \expandafter\@m@mb@r\member;\relax% \expandafter\twoch@r\@membera{}% \ifcase\@tmpa% \or\or\or\or\or\or \or \test@vertix{#2}% \or \if\@tmpb a% \def\jjj{@}% \else \test@vertix{#3}% \fi \or \test@vertix{#4}% \or \test@vertix{#5}% % \or \test@vertix{#6}% % \or \test@vertix{#7}% \fi\fi}} % \end{macrocode} % \end{macro} % % The command |\set@vrtx@fuse| is to set an atom (stored as % |\@memberb|) at one (stored as |\@tmpa|) of the fused vertices % of a six-six ring. % These vertices are incapable of accomodating a spiro group. % On the other hand, the other positions can take spiro groups % (stored as |\@memberb|), which are treated by means of % the command |\set@hetatom@sixv|. % The command |\set@vrtx@fuse| is used in such commands % as |\decaheterov| for treating thier ATOMLISTs, % % \begin{macro}{\set@vrtx@fuse} % \changes{v2.00}{1998/11/15}{New command: \cs{set@vrtx@fuse}} % \begin{macrocode} \def\set@vrtx@fuse#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{207}{65}{\@memberb}% % left type \else\relax \fi \or%5 \or%6 \or%7 \or% \if\@tmpb a% \global\@jcliptrue% \putlatom{207}{280}{\@memberb}% % left type \else\relax \fi \or%9 (= 4a) \global\@icliptrue% \putlatom{207}{65}{\@memberb}% % left type \or%10 (= 8a) \global\@jcliptrue% \putlatom{207}{280}{\@memberb}% % left type \fi\fi}% }% end of the macro \set@vrtx@fuse % \end{macrocode} % \end{macro} % % The command |\set@vrtx@fuseh| is to set an atom (stored as % |\@memberb|) at one (stored as |\@tmpa|) of the fused vertices % of a six-six ring. % These vertices are incapable of accomodating a spiro group. % On the other hand, the other positions can take spiro groups % (stored as |\@memberb|), which are treated by means of % the command |\set@hetatom@sixh|. % The command |\set@vrtx@fuseh| is used in such commands % as |\decaheteroh| for treating thier ATOMLISTs, % % \begin{macro}{\set@vrtx@fuseh} % \changes{v2.00}{1998/11/15}{New command: \cs{set@vrtx@fuseh}} % \begin{macrocode} \def\set@vrtx@fuseh#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% \putratom{273}{-211}{\@memberb}% % right type \else\relax \fi \or%5 \or%6 \or%7 \or% \if\@tmpb a% \global\@jcliptrue% \putlatom{135}{-211}{\@memberb}% % left type \else\relax \fi \or%9 (= 4a) \ifx\@tmpb\empty \global\@icliptrue% \putratom{273}{-211}{\@memberb}% % right type \else \XyMTeXWarning{Forbidden spiro ring for the 4a position}% \fi \or%10 (= 8a) \ifx\@tmpb\empty \global\@jcliptrue% \putlatom{135}{-211}{\@memberb}% % left type \else \XyMTeXWarning{Forbidden spiro ring for the 8a position}% \fi \fi\fi}% }% end of the macro \set@vrtx@fuseh % \end{macrocode} % \end{macro} % % \section{Ring-fusion Commands for Six-Membered Rings} % \subsection{Normal Vertical Type} % % The macro |\set@fusionadd@sixv| is an inner command contained % in the definition of |\sixheterov| etc., where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusion@sixv|. % % \begin{macro}{\set@fusionadd@sixv} % \changes{v2.00}{1998/11/15}{New command: \cs{set@fusionadd@sixv}} % \begin{macrocode} \def\set@fusionadd@sixv{% \if\@@tmpa 1\relax% \putratom{-38}{282}{\@@tmpb}% % right type \else\if\@@tmpa 2\relax% \putratom{60}{253}{\@@tmpb}% % right type \else\if\@@tmpa 3\relax% \putratom{60}{120}{\@@tmpb}% % right type \else\if\@@tmpa 4\relax% \putratom{-38}{88}{\@@tmpb}% % right type \else\if\@@tmpa 6\relax% \putratom{-90}{253}{\@@tmpb}% % right type \else\if\@@tmpa 5\relax% \putratom{-90}{120}{\@@tmpb}% % right type \else % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \set@fusion@sixv \fi\fi\fi\fi\fi\fi% }% % \end{macrocode} % \end{macro} % % The inner command |\set@fusion@sixv| is used for typesetting % a fused ring at each bond represented by |\@@tmpa|. Warnings % concerning mismatched ring-fusions are based on the command % |\FuseWarning|. % % \begin{macro}{\set@fusion@sixv} % \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@sixv}} % \begin{macrocode} \def\set@fusion@sixv{% % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \if\@@tmpa d\relax% \putlratom{0}{0}{\@@tmpb}% % bond fused \FuseWarning{171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}% \else\if\@@tmpa D\relax% \putlratom{-171}{103}{\@@tmpb}% % bond fused \FuseWarning{-171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}% \else\if\@@tmpa e\relax% \putlratom{-171}{103}{\@@tmpb}% % bond fused \FuseWarning{0}{-200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}% \else\if\@@tmpa E\relax% \putlratom{-171}{303}{\@@tmpb}% % bond fused \FuseWarning{0}{200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}% \else\if\@@tmpa f\relax% \putlratom{-171}{303}{\@@tmpb}% % bond fused \FuseWarning{-171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}% \else\if\@@tmpa F\relax% \putlratom{0}{406}{\@@tmpb}% % bond fused \FuseWarning{171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}% \else\if\@@tmpa a\relax% \putlratom{0}{406}{\@@tmpb}% % bond fused \FuseWarning{-171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}% \else\if\@@tmpa A\relax% \putlratom{171}{303}{\@@tmpb}% % bond fused \FuseWarning{171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}% \else\if\@@tmpa b\relax% \putlratom{171}{303}{\@@tmpb}% % bond fused \FuseWarning{0}{200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}% \else\if\@@tmpa B\relax% \putlratom{171}{103}{\@@tmpb}% % bond fused \FuseWarning{0}{-200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}% \else\if\@@tmpa c\relax% \putlratom{171}{103}{\@@tmpb}% % bond fused \FuseWarning{171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}% \else\if\@@tmpa C\relax% \putlratom{0}{0}{\@@tmpb}% % bond fused \FuseWarning{-171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% }% end of the macro \set@fusion@sixv % \end{macrocode} % \end{macro} % % \subsection{Inverse Vertical Type} % % The macro |\set@fusionadd@sixvi| is an inner command contained % in the definition of |\sixheterovi| etc., where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusion@sixvi|. % % \begin{macro}{\set@fusionadd@sixvi} % \changes{v2.00}{1998/11/15}{New command: \cs{set@fusionadd@sixvi}} % \begin{macrocode} \def\set@fusionadd@sixvi{% \if\@@tmpa 4\relax% \putratom{-38}{282}{\@@tmpb}% % right type \else\if\@@tmpa 3\relax% \putratom{60}{253}{\@@tmpb}% % right type \else\if\@@tmpa 2\relax% \putratom{60}{120}{\@@tmpb}% % right type \else\if\@@tmpa 1\relax% \putratom{-38}{88}{\@@tmpb}% % right type \else\if\@@tmpa 5\relax% \putratom{-90}{253}{\@@tmpb}% % right type \else\if\@@tmpa 6\relax% \putratom{-90}{120}{\@@tmpb}% % right type \else % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \set@fusion@sixvi \fi\fi\fi\fi\fi\fi% }% end of the macro \set@fusionadd@sixvi % \end{macrocode} % \end{macro} % % The inner command |\set@fusion@sixvi| is used for typesetting % a fused ring at each bond represented by |\@@tmpa|. Warnings % concerning mismatched ring-fusions are based on the command % |\FuseWarning|. % % \begin{macro}{\set@fusion@sixvi} % \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@sixvi}} % \begin{macrocode} \def\set@fusion@sixvi{% % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \if\@@tmpa a\relax% \putlratom{0}{0}{\@@tmpb}% % right type \FuseWarning{-171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a or other}% \else\if\@@tmpa A\relax% \putlratom{171}{103}{\@@tmpb}% % right type \FuseWarning{171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A or other}% \else\if\@@tmpa b\relax% \putlratom{171}{103}{\@@tmpb}% % right type \FuseWarning{0}{-200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b or other}% \else\if\@@tmpa B\relax% \putlratom{171}{303}{\@@tmpb}% % right type \FuseWarning{0}{200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B or other}% \else\if\@@tmpa c\relax% \putlratom{171}{303}{\@@tmpb}% % right type \FuseWarning{171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c or other}% \else\if\@@tmpa C\relax% \putlratom{0}{406}{\@@tmpb}% % right type \FuseWarning{-171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C or other}% \else\if\@@tmpa d\relax% \putlratom{0}{406}{\@@tmpb}% % right type \FuseWarning{171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d or other}% \else\if\@@tmpa D\relax% \putlratom{-171}{303}{\@@tmpb}% % right type \FuseWarning{-171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D or other}% \else\if\@@tmpa e\relax% \putlratom{-171}{303}{\@@tmpb}% % right type \FuseWarning{0}{200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e or other}% \else\if\@@tmpa E\relax% \putlratom{-171}{103}{\@@tmpb}% % right type \FuseWarning{0}{-200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E or other}% \else\if\@@tmpa f\relax% \putlratom{-171}{103}{\@@tmpb}% % right type \FuseWarning{171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f or other}% \else\if\@@tmpa F\relax% \putlratom{0}{0}{\@@tmpb}% % right type \FuseWarning{-171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F or other}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% }% end of the marcro \set@fusion@sixvi % \end{macrocode} % \end{macro} % % \subsection{Normal Horizontal Type} % % The macro |\set@fusionadd@sixh| is an inner command contained % in the definition of |\sixheteroh| etc., where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusion@sixh|. % % \begin{macro}{\set@fusionadd@sixh} % \changes{v2.00}{1998/11/23}{New command: \cs{set@fusionadd@sixh}} % \begin{macrocode} \def\set@fusionadd@sixh{% \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\if\@@tmpa 5\relax% \putratom{233}{-110}{\@@tmpb}% % right type \else\if\@@tmpa 6\relax% \putratom{120}{-110}{\@@tmpb}% % right type \else % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \set@fusion@sixh \fi\fi\fi\fi\fi\fi% }% % \end{macrocode} % \end{macro} % % The inner command |\set@fusion@sixh| is used for typesetting % a fused ring at each bond represented by |\@@tmpa|. Warnings % concerning mismatched ring-fusions are based on the command % |\FuseWarning|. % % \begin{macro}{\set@fusion@sixh} % \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@sixh}} % \begin{macrocode} \def\set@fusion@sixh{% % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \if\@@tmpa d\relax% \putlratom{406}{0}{\@@tmpb}% % bond fused \FuseWarning{103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}% \else\if\@@tmpa D\relax% \putlratom{303}{-171}{\@@tmpb}% % bond fused \FuseWarning{-103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}% \else\if\@@tmpa e\relax% \putlratom{303}{-171}{\@@tmpb}% % bond fused \FuseWarning{200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}% \else\if\@@tmpa E\relax% \putlratom{103}{-171}{\@@tmpb}% % bond fused \FuseWarning{-200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}% \else\if\@@tmpa f\relax% \putlratom{103}{-171}{\@@tmpb}% % bond fused \FuseWarning{103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}% \else\if\@@tmpa F\relax% \putlratom{0}{0}{\@@tmpb}% % bond fused \FuseWarning{-103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}% \else\if\@@tmpa a\relax% \putlratom{0}{0}{\@@tmpb}% % bond fused \FuseWarning{-103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}% \else\if\@@tmpa A\relax% \putlratom{103}{171}{\@@tmpb}% % bond fused \FuseWarning{103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}% \else\if\@@tmpa b\relax% \putlratom{103}{171}{\@@tmpb}% % bond fused \FuseWarning{-200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}% \else\if\@@tmpa B\relax% \putlratom{303}{171}{\@@tmpb}% % bond fused \FuseWarning{200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}% \else\if\@@tmpa c\relax% \putlratom{303}{171}{\@@tmpb}% % bond fused \FuseWarning{-103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}% \else\if\@@tmpa C\relax% \putlratom{406}{0}{\@@tmpb}% % bond fused % \FuseWarning{103}{171}% \FuseWarning{103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% }% end of the macro \set@fusion@sixh % \end{macrocode} % \end{macro} % % \subsection{Inverse Horizontal Type} % % The macro |\set@fusionadd@sixhi| is an inner command contained % in the definition of |\sixheterohi| etc., where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusion@sixhi|. % % \begin{macro}{\set@fusionadd@sixhi} % \changes{v2.00}{1998/11/29}{New command: \cs{set@fusionadd@sixhi}} % \begin{macrocode} \def\set@fusionadd@sixhi{% \if\@@tmpa 1\relax% \putratom{272}{-18}{\@@tmpb}% % right type \else\if\@@tmpa 4\relax% \putratom{68}{-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 6\relax% \putratom{233}{-110}{\@@tmpb}% % right type \else\if\@@tmpa 5\relax% \putratom{120}{-110}{\@@tmpb}% % right type \else % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \set@fusion@sixhi \fi\fi\fi\fi\fi\fi% }% % \end{macrocode} % \end{macro} % % The inner command |\set@fusion@sixhi| is used for typesetting % a fused ring at each bond represented by |\@@tmpa|. Warnings % concerning mismatched ring-fusions are based on the command % |\FuseWarning|. % % \begin{macro}{\set@fusion@sixhi} % \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@sixhi}} % \begin{macrocode} \def\set@fusion@sixhi{% % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \if\@@tmpa F\relax% \putlratom{406}{0}{\@@tmpb}% % bond fused \FuseWarning{103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{F, J, or other}% \else\if\@@tmpa f\relax% \putlratom{303}{-171}{\@@tmpb}% % bond fused \FuseWarning{-103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{f, j, or other}% \else\if\@@tmpa E\relax% \putlratom{303}{-171}{\@@tmpb}% % bond fused \FuseWarning{200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, K, or other}% \else\if\@@tmpa e\relax% \putlratom{103}{-171}{\@@tmpb}% % bond fused \FuseWarning{-200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, k, or other}% \else\if\@@tmpa D\relax% \putlratom{103}{-171}{\@@tmpb}% % bond fused \FuseWarning{103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, H, or other}% \else\if\@@tmpa d\relax% \putlratom{0}{0}{\@@tmpb}% % bond fused \FuseWarning{-103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, h, or other}% \else\if\@@tmpa C\relax% \putlratom{0}{0}{\@@tmpb}% % bond fused \FuseWarning{-103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{C, E, or other}% \else\if\@@tmpa c\relax% \putlratom{103}{171}{\@@tmpb}% % bond fused \FuseWarning{103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{c, e, or other}% \else\if\@@tmpa B\relax% \putlratom{103}{171}{\@@tmpb}% % bond fused \FuseWarning{-200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}% \else\if\@@tmpa b\relax% \putlratom{303}{171}{\@@tmpb}% % bond fused \FuseWarning{200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}% \else\if\@@tmpa A\relax% \putlratom{303}{171}{\@@tmpb}% % bond fused \FuseWarning{-103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}% \else\if\@@tmpa a\relax% \putlratom{406}{0}{\@@tmpb}% % bond fused \FuseWarning{103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% }% end of the macro \set@fusion@sixhi % \end{macrocode} % \end{macro} % % \section{Ring-fusion Commands for Six-Six Fused Rings} % \subsection{Conventions for Warning} % % \begin{macro}{\UnfavorableFusion} % \changes{v2.00}{1998/12/23}{New command: \cs{UnfavorableFusion}} % \begin{macrocode} \def\UnfavorableFusion#1{\if@smallringsw\else \XyMTeXWarning{Unfavorable Fusion for bond `#1'}\fi} % \end{macrocode} % \end{macro} % % \begin{macro}{\ForbiddenFusion} % \changes{v2.00}{1998/12/23}{New command: \cs{ForbiddenFusion}} % \begin{macrocode} \def\ForbiddenFusion#1{\if@smallringsw\else \XyMTeXWarning{Forbidden Fusion for bond `#1'}\fi} % \end{macrocode} % \end{macro} % % \subsection{Normal Vertical Type} % % The macro |\set@fusion@decav| is an inner command contained % in the definition of |\decalinev| and |\decaheterov|, where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusionadd@sixv|. % % \begin{macro}{\set@fusion@decav} % \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@decav}} % \begin{macrocode} \def\set@fusion@decav{% \let\@@tmpa=\@tmpa \let\@@tmpb=\@tmpb \if\@tmpa a% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa A% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa b% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa B% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa c% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa C% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa d% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{d}% \else\if\@tmpa D% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{D}% \else\if\@tmpa e% \edef\@@tmpa{c}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{e}% \else\if\@tmpa E% \edef\@@tmpa{C}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{E}% \else\if\@tmpa f% \edef\@@tmpa{d}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa F% \edef\@@tmpa{D}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa g% \edef\@@tmpa{e}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa G% \edef\@@tmpa{E}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa h% \edef\@@tmpa{f}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa H% \edef\@@tmpa{F}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa i% \edef\@@tmpa{a}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{i}% \else\if\@tmpa I% \edef\@@tmpa{A}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{I}% \else\if\@tmpa j% \edef\@@tmpa{f}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{j}% \else\if\@tmpa J% \edef\@@tmpa{F}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{J}% \else\if\@tmpa k% \edef\@@tmpa{e}% \put(342,0){\set@fusionadd@sixv}% \ForbiddenFusion{k}% \else\if\@tmpa K% \edef\@@tmpa{E}% \put(342,0){\set@fusionadd@sixv}% \ForbiddenFusion{K}% \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@decav % \end{macrocode} % \end{macro} % % \subsection{Vertical-Bottom Type} % % The macro |\set@fusion@decavb| is an inner command contained % in the definition of |\decalinevb| and |\decaheterovb| etc., % where the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusionadd@sixv|. % % \begin{macro}{\set@fusion@decavb} % \changes{v2.00}{1998/12/25}{New command: \cs{set@fusion@decavb}} % \begin{macrocode} \def\set@fusion@decavb{% \let\@@tmpa=\@tmpa \let\@@tmpb=\@tmpb \if\@tmpa a% \edef\@@tmpa{b}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa A% \edef\@@tmpa{B}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa b% \edef\@@tmpa{c}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa B% \edef\@@tmpa{C}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa c% \edef\@@tmpa{d}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa C% \edef\@@tmpa{D}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa d% \edef\@@tmpa{e}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{d}% \else\if\@tmpa D% \edef\@@tmpa{E}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{D}% \else\if\@tmpa e% \edef\@@tmpa{d}% \put(-171,303){\set@fusionadd@sixv}% \UnfavorableFusion{e}% \else\if\@tmpa E% \edef\@@tmpa{D}% \put(-171,303){\set@fusionadd@sixv}% \UnfavorableFusion{E}% \else\if\@tmpa f% \edef\@@tmpa{e}% \put(-171,303){\set@fusionadd@sixv}% \else\if\@tmpa F% \edef\@@tmpa{E}% \put(-171,303){\set@fusionadd@sixv}% \else\if\@tmpa g% \edef\@@tmpa{f}% \put(-171,303){\set@fusionadd@sixv}% \else\if\@tmpa G% \edef\@@tmpa{F}% \put(-171,303){\set@fusionadd@sixv}% \else\if\@tmpa h% \edef\@@tmpa{a}% \put(-171,303){\set@fusionadd@sixv}% \else\if\@tmpa H% \edef\@@tmpa{A}% \put(-171,303){\set@fusionadd@sixv}% \else\if\@tmpa i% \edef\@@tmpa{b}% \put(-171,303){\set@fusionadd@sixv}% \UnfavorableFusion{i}% \else\if\@tmpa I% \edef\@@tmpa{B}% \put(-171,303){\set@fusionadd@sixv}% \UnfavorableFusion{I}% \else\if\@tmpa j% \edef\@@tmpa{a}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{j}% \else\if\@tmpa J% \edef\@@tmpa{A}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{J}% \else\if\@tmpa k% \edef\@@tmpa{c}% \put(-171,303){\set@fusionadd@sixv}% \ForbiddenFusion{k}% \else\if\@tmpa K% \edef\@@tmpa{C}% \put(-171,303){\set@fusionadd@sixv}% \ForbiddenFusion{K}% \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@decavb % \end{macrocode} % \end{macro} % % \subsection{Vertical-Top Type} % % The macro |\set@fusion@decavt| is an inner command contained % in the definition of |\decalinevt| and |\decaheterovt| etc., % where the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusionadd@sixv|. % % \begin{macro}{\set@fusion@decavt} % \changes{v2.00}{1998/12/25}{New command: \cs{set@fusion@decavt}} % \begin{macrocode} \def\set@fusion@decavt{% \let\@@tmpa=\@tmpa \let\@@tmpb=\@tmpb \if\@tmpa a% \edef\@@tmpa{f}% \put(171,303){\set@fusionadd@sixv}% \else\if\@tmpa A% \edef\@@tmpa{F}% \put(171,303){\set@fusionadd@sixv}% \else\if\@tmpa b% \edef\@@tmpa{a}% \put(171,303){\set@fusionadd@sixv}% \else\if\@tmpa B% \edef\@@tmpa{A}% \put(171,303){\set@fusionadd@sixv}% \else\if\@tmpa c% \edef\@@tmpa{b}% \put(171,303){\set@fusionadd@sixv}% \else\if\@tmpa C% \edef\@@tmpa{B}% \put(171,303){\set@fusionadd@sixv}% \else\if\@tmpa d% \edef\@@tmpa{c}% \put(171,303){\set@fusionadd@sixv}% \UnfavorableFusion{d}% \else\if\@tmpa D% \edef\@@tmpa{C}% \put(171,303){\set@fusionadd@sixv}% \UnfavorableFusion{D}% \else\if\@tmpa e% \edef\@@tmpa{b}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{e}% \else\if\@tmpa E% \edef\@@tmpa{B}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{E}% \else\if\@tmpa f% \edef\@@tmpa{c}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa F% \edef\@@tmpa{C}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa g% \edef\@@tmpa{d}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa G% \edef\@@tmpa{D}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa h% \edef\@@tmpa{e}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa H% \edef\@@tmpa{E}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa i% \edef\@@tmpa{f}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{i}% \else\if\@tmpa I% \edef\@@tmpa{F}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{I}% \else\if\@tmpa j% \edef\@@tmpa{e}% \put(171,303){\set@fusionadd@sixv}% \UnfavorableFusion{j}% \else\if\@tmpa J% \edef\@@tmpa{E}% \put(171,303){\set@fusionadd@sixv}% \UnfavorableFusion{J}% \else\if\@tmpa k% \edef\@@tmpa{d}% \put(171,303){\set@fusionadd@sixv}% \ForbiddenFusion{k}% \else\if\@tmpa K% \edef\@@tmpa{D}% \put(171,303){\set@fusionadd@sixv}% \ForbiddenFusion{K}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% }% end of \set@fusion@decavt % \end{macrocode} % \end{macro} % % \subsection{Normal Horizontal Type} % % The macro |\set@fusion@decah| is an inner command contained % in the definition of |\decalineh| and |\decaheteroh|, where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusionadd@sixh|. % % \begin{macro}{\set@fusion@decah} % \changes{v2.00}{1998/11/15}{New command: \cs{set@fusion@decah}} % \begin{macrocode} \def\set@fusion@decah{% \let\@@tmpa=\@tmpa \let\@@tmpb=\@tmpb \if\@tmpa a% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \else\if\@tmpa A% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \else\if\@tmpa b% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \else\if\@tmpa B% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \else\if\@tmpa c% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \else\if\@tmpa C% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \else\if\@tmpa d% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \UnfavorableFusion{d}% \else\if\@tmpa D% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \UnfavorableFusion{D}% \else\if\@tmpa e% \edef\@@tmpa{c}% \put(0,-342){\set@fusionadd@sixh}% \UnfavorableFusion{e}% \else\if\@tmpa E% \edef\@@tmpa{C}% \put(0,-342){\set@fusionadd@sixh}% \UnfavorableFusion{E}% \else\if\@tmpa f% \edef\@@tmpa{d}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa F% \edef\@@tmpa{D}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa g% \edef\@@tmpa{e}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa G% \edef\@@tmpa{E}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa h% \edef\@@tmpa{f}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa H% \edef\@@tmpa{F}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa i% \edef\@@tmpa{a}% \put(0,-342){\set@fusionadd@sixh}% \UnfavorableFusion{i}% \else\if\@tmpa I% \edef\@@tmpa{A}% \put(0,-342){\set@fusionadd@sixh}% \UnfavorableFusion{I}% \else\if\@tmpa j% \edef\@@tmpa{f}% \put(0,0){\set@fusionadd@sixh}% \UnfavorableFusion{j}% \else\if\@tmpa J% \edef\@@tmpa{F}% \put(0,0){\set@fusionadd@sixh}% \UnfavorableFusion{J}% \else\if\@tmpa k% \edef\@@tmpa{e}% \put(0,0){\set@fusionadd@sixh}% \ForbiddenFusion{k}% \else\if\@tmpa K% \edef\@@tmpa{E}% \put(0,0){\set@fusionadd@sixh}% \ForbiddenFusion{K}% \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@decah % \end{macrocode} % \end{macro} % % \section{Ring-fusion Commands for Six-Six-Six Fused Rings} % \subsection{Normal Vertical Type of Anthracenes} % % The macro |\set@fusion@hanthrav| is an inner command contained % in the definition of |\hanthracenev|, where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusionadd@sixv|. % % \begin{macro}{\set@fusion@hanthrav} % \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@hanthrav}} % \begin{macrocode} \def\set@fusion@hanthrav{% \let\@@tmpa=\@tmpa \let\@@tmpb=\@tmpb \if\@tmpa a% \let\@@tmpa=\@tmpa \put(684,0){\set@fusionadd@sixv}% \else\if\@tmpa A% \let\@@tmpa=\@tmpa \put(684,0){\set@fusionadd@sixv}% \else\if\@tmpa b% \let\@@tmpa=\@tmpa \put(684,0){\set@fusionadd@sixv}% \else\if\@tmpa B% \let\@@tmpa=\@tmpa \put(684,0){\set@fusionadd@sixv}% \else\if\@tmpa c% \let\@@tmpa=\@tmpa \put(684,0){\set@fusionadd@sixv}% \else\if\@tmpa C% \let\@@tmpa=\@tmpa \put(684,0){\set@fusionadd@sixv}% \else\if\@tmpa d% \let\@@tmpa=\@tmpa \put(684,0){\set@fusionadd@sixv}% \UnfavorableFusion{d}% \else\if\@tmpa D% \let\@@tmpa=\@tmpa \put(684,0){\set@fusionadd@sixv}% \UnfavorableFusion{D}% \else\if\@tmpa e% \edef\@@tmpa{c}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{e}% \else\if\@tmpa E% \edef\@@tmpa{C}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{E}% \else\if\@tmpa f% \edef\@@tmpa{d}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{f}% \else\if\@tmpa F% \edef\@@tmpa{D}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{F}% \else\if\@tmpa g% \edef\@@tmpa{c}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{g}% \else\if\@tmpa G% \edef\@@tmpa{C}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{G}% \else\if\@tmpa h% \edef\@@tmpa{d}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa H% \edef\@@tmpa{D}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa i% \edef\@@tmpa{e}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa I% \edef\@@tmpa{E}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa j% \edef\@@tmpa{f}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa J% \edef\@@tmpa{F}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa k% \edef\@@tmpa{a}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{k}% \else\if\@tmpa K% \edef\@@tmpa{A}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{K}% \else\if\@tmpa l% \edef\@@tmpa{f}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{l}% \else\if\@tmpa L% \edef\@@tmpa{F}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{L}% \else\if\@tmpa m% \edef\@@tmpa{a}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{m}% \else\if\@tmpa M% \edef\@@tmpa{A}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{M}% \else\if\@tmpa n% \edef\@@tmpa{f}% \put(684,0){\set@fusionadd@sixv}% \UnfavorableFusion{n}% \else\if\@tmpa N% \edef\@@tmpa{F}% \put(684,0){\set@fusionadd@sixv}% \UnfavorableFusion{N}% \else\if\@tmpa o% \edef\@@tmpa{e}% \put(684,0){\set@fusionadd@sixv}% \ForbiddenFusion{o}% \else\if\@tmpa O% \edef\@@tmpa{E}% \put(684,0){\set@fusionadd@sixv}% \ForbiddenFusion{O}% \else\if\@tmpa p% \edef\@@tmpa{e}% \put(342,0){\set@fusionadd@sixv}% \ForbiddenFusion{p}% \else\if\@tmpa P% \edef\@@tmpa{E}% \put(342,0){\set@fusionadd@sixv}% \ForbiddenFusion{P}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\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@hanthrav % \end{macrocode} % \end{macro} % % \subsection{Normal Vertical Type of Phenanthrenes} % % The macro |\set@fusion@hphenanv| is an inner command contained % in the definition of |\hphenanthrenev|, where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusionadd@sixv|. % % \begin{macro}{\set@fusion@hphenanv} % \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@phenanv}} % \begin{macrocode} \def\set@fusion@hphenanv{% \let\@@tmpa=\@tmpa \let\@@tmpb=\@tmpb \if\@tmpa a% \edef\@@tmpa{b}% \put(513,303){\set@fusionadd@sixv}% \else\if\@tmpa A% \edef\@@tmpa{B}% \put(513,303){\set@fusionadd@sixv}% \else\if\@tmpa b% \edef\@@tmpa{a}% \put(513,303){\set@fusionadd@sixv}% \else\if\@tmpa B% \edef\@@tmpa{A}% \put(513,303){\set@fusionadd@sixv}% \else\if\@tmpa c% \edef\@@tmpa{f}% \put(513,303){\set@fusionadd@sixv}% \else\if\@tmpa C% \edef\@@tmpa{F}% \put(513,303){\set@fusionadd@sixv}% \else\if\@tmpa d% \edef\@@tmpa{e}% \put(513,303){\set@fusionadd@sixv}% \UnfavorableFusion{d}% \else\if\@tmpa D% \edef\@@tmpa{E}% \put(513,303){\set@fusionadd@sixv}% \UnfavorableFusion{D}% \else\if\@tmpa e% \edef\@@tmpa{f}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{e}% \else\if\@tmpa E% \edef\@@tmpa{F}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{E}% \else\if\@tmpa f% \edef\@@tmpa{a}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{f}% \else\if\@tmpa F% \edef\@@tmpa{A}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{F}% \else\if\@tmpa g% \edef\@@tmpa{f}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa G% \edef\@@tmpa{F}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa h% \edef\@@tmpa{e}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa H% \edef\@@tmpa{E}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa i% \edef\@@tmpa{d}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa I% \edef\@@tmpa{D}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa j% \edef\@@tmpa{c}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{j}% \else\if\@tmpa J% \edef\@@tmpa{C}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{J}% \else\if\@tmpa k% \edef\@@tmpa{d}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{k}% \else\if\@tmpa K% \edef\@@tmpa{D}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{K}% \else\if\@tmpa l% \edef\@@tmpa{c}% \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa L% \edef\@@tmpa{C}% \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa m% \edef\@@tmpa{b}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{m}% \else\if\@tmpa M% \edef\@@tmpa{B}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{M}% \else\if\@tmpa n% \edef\@@tmpa{c}% \put(513,303){\set@fusionadd@sixv}% \UnfavorableFusion{n}% \else\if\@tmpa N% \edef\@@tmpa{C}% \put(513,303){\set@fusionadd@sixv}% \UnfavorableFusion{N}% \else\if\@tmpa o% \edef\@@tmpa{d}% \put(513,303){\set@fusionadd@sixv}% \ForbiddenFusion{o}% \else\if\@tmpa O% \edef\@@tmpa{D}% \put(513,303){\set@fusionadd@sixv}% \ForbiddenFusion{O}% \else\if\@tmpa p% \edef\@@tmpa{e}% \put(342,0){\set@fusionadd@sixv}% \ForbiddenFusion{p}% \else\if\@tmpa P% \edef\@@tmpa{E}% \put(342,0){\set@fusionadd@sixv}% \ForbiddenFusion{P}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\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@hphananv % \end{macrocode} % \end{macro} % % \section{Ring-fusion Commands for Five-Membered Rings} % \subsection{Normal vertical type} % % The macro |\set@fusionadd@fivev| is an inner command contained % in the definition of |\fiveheterov| etc., where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusion@fivev|. % % \begin{macro}{\set@fusionadd@fivev} % \changes{v2.00}{1998/12/4}{New command: \cs{set@fusionadd@fivev}} % \begin{macrocode} \def\set@fusionadd@fivev{% \if\@@tmpa 1\relax% \putratom{-38}{88}{\@@tmpb}% % right type \else\if\@@tmpa 2\relax% \putratom{60}{120}{\@@tmpb}% % right type \else\if\@@tmpa 3\relax% \putratom{60}{233}{\@@tmpb}% % right type \else\if\@@tmpa 4\relax% \putratom{-60}{233}{\@@tmpb}% % right type \else\if\@@tmpa 5\relax% \putratom{-60}{120}{\@@tmpb}% % right type \else\if\@@tmpa 0\relax% \putratom{-38}{150}{\@@tmpb}% % right type \else % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \set@fusion@fivev \fi\fi\fi\fi\fi\fi% }% end of the macro \set@fusionadd@fivev % \end{macrocode} % \end{macro} % % The inner command |\set@fusion@fivev| is used for typesetting % a fused ring at each bond represented by |\@@tmpa|. Warnings % concerning mismatched ring-fusions are based on the command % |\FuseWarning|. % % \begin{macro}{\set@fusion@fivev} % \changes{v2.00}{1998/12/4}{New command: \cs{set@fusion@fivev}} % \begin{macrocode} \def\set@fusion@fivev{% % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \if\@@tmpa a\relax% \putlratom{0}{0}{\@@tmpb}% % right type \FuseWarning{-171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a}% \else\if\@@tmpa A\relax% \putlratom{171}{103}{\@@tmpb}% % right type \FuseWarning{171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A}% \else\if\@@tmpa b\relax% \putlratom{171}{103}{\@@tmpb}% % right type \FuseWarning{0}{-200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b}% \else\if\@@tmpa B\relax% \putlratom{171}{303}{\@@tmpb}% % right type \FuseWarning{0}{200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B}% \else\if\@@tmpa c\relax \XyMTeXWarning{Not-used fusion at bond `c'}% \else\if\@@tmpa C\relax% \XyMTeXWarning{Not-used fusion at bond `C'}% \else\if\@@tmpa d\relax% \putlratom{-171}{303}{\@@tmpb}% % right type \FuseWarning{0}{200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d}% \else\if\@@tmpa D\relax% \putlratom{-171}{103}{\@@tmpb}% % right type \FuseWarning{0}{-200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D}% \else\if\@@tmpa e\relax% \putlratom{-171}{103}{\@@tmpb}% % right type \FuseWarning{171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e}% \else\if\@@tmpa E\relax% \putlratom{0}{0}{\@@tmpb}% % right type \FuseWarning{-171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% }% end of the marcro \set@fusion@fivev % \end{macrocode} % \end{macro} % % \subsection{Inverse vertical type} % % The macro |\set@fusionadd@fivevi| is an inner command contained % in the definition of |\fiveheterov| etc., where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusion@fivevi|. % % \begin{macro}{\set@fusionadd@fivevi} % \changes{v2.00}{1998/12/4}{New command: \cs{set@fusionadd@fivevi}} % \begin{macrocode} \def\set@fusionadd@fivevi{% \if\@@tmpa 1\relax% \putratom{-38}{282}{\@@tmpb}% % right type \else\if\@@tmpa 2\relax% \putratom{60}{233}{\@@tmpb}% % right type \else\if\@@tmpa 3\relax% \putratom{60}{120}{\@@tmpb}% % right type \else\if\@@tmpa 4\relax% \putratom{-60}{120}{\@@tmpb}% % right type \else\if\@@tmpa 5\relax% \putratom{-60}{233}{\@@tmpb}% % right type \else\if\@@tmpa 0\relax% \putratom{-38}{213}{\@@tmpb}% % right type \else % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \set@fusion@fivevi \fi\fi\fi\fi\fi\fi% }% end of the macro \set@fusionadd@fivevi % \end{macrocode} % \end{macro} % % The inner command |\set@fusion@fivevi| is used for typesetting % a fused ring at each bond represented by |\@@tmpa|. Warnings % concerning mismatched ring-fusions are based on the command % |\FuseWarning|. % % \begin{macro}{\set@fusion@fivevi} % \changes{v2.00}{1998/12/4}{New command: \cs{set@fusion@fivevi}} % \begin{macrocode} \def\set@fusion@fivevi{% % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \if\@@tmpa d\relax% \putlratom{-171}{103}{\@@tmpb}% % bond fused \FuseWarning{0}{-200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}% \else\if\@@tmpa D\relax% \putlratom{-171}{303}{\@@tmpb}% % bond fused \FuseWarning{0}{200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}% \else\if\@@tmpa e\relax% \putlratom{-171}{303}{\@@tmpb}% % bond fused \FuseWarning{-171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}% \else\if\@@tmpa E\relax% \putlratom{0}{406}{\@@tmpb}% % bond fused \FuseWarning{171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}% \else\if\@@tmpa a\relax% \putlratom{0}{406}{\@@tmpb}% % bond fused \FuseWarning{-171}{103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}% \else\if\@@tmpa A\relax% \putlratom{171}{303}{\@@tmpb}% % bond fused \FuseWarning{171}{-103}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}% \else\if\@@tmpa b\relax% \putlratom{171}{303}{\@@tmpb}% % bond fused \FuseWarning{0}{200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}% \else\if\@@tmpa B\relax% \putlratom{171}{103}{\@@tmpb}% % bond fused \FuseWarning{0}{-200}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}% \else\if\@@tmpa c\relax \XyMTeXWarning{Not-used fusion at bond `c'}% \else\if\@@tmpa C\relax% \XyMTeXWarning{Not-used fusion at bond `C'}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% }% end of the macro \set@fusion@fivevi % \end{macrocode} % \end{macro} % % \subsection{Normal horizontal type} % % The macro |\set@fusionadd@fiveh| is an inner command contained % in the definition of |\fiveheteroh| etc., where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusion@fiveh|. % % \begin{macro}{\set@fusionadd@fiveh} % \changes{v2.00}{1998/11/29}{New command: \cs{set@fusionadd@fiveh}} % \begin{macrocode} \def\set@fusionadd@fiveh{% \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 5\relax% \putratom{233}{-110}{\@@tmpb}% % right type \else\if\@@tmpa 4\relax% \putratom{120}{-110}{\@@tmpb}% % right type \else\if\@@tmpa 0\relax% \putratom{196}{-30}{\@@tmpb}% % right type \else % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \set@fusion@fiveh \fi\fi\fi\fi\fi\fi% }% % \end{macrocode} % \end{macro} % % The inner command |\set@fusion@fiveh| is used for typesetting % a fused ring at each bond represented by |\@@tmpa|. Warnings % concerning mismatched ring-fusions are based on the command % |\FuseWarning|. % % \begin{macro}{\set@fusion@fiveh} % \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@fiveh}} % \begin{macrocode} \def\set@fusion@fiveh{% % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \if\@@tmpa E\relax% \putlratom{406}{0}{\@@tmpb}% % bond fused \FuseWarning{103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}% \else\if\@@tmpa e\relax% \putlratom{303}{-171}{\@@tmpb}% % bond fused \FuseWarning{-103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}% \else\if\@@tmpa D\relax% \putlratom{303}{-171}{\@@tmpb}% % bond fused \FuseWarning{200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}% \else\if\@@tmpa d\relax% \putlratom{103}{-171}{\@@tmpb}% % bond fused \FuseWarning{-200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}% \else\if\@@tmpa c\relax \XyMTeXWarning{Not-used fusion at bond `c'}% \else\if\@@tmpa C\relax% \XyMTeXWarning{Not-used fusion at bond `C'}% \else\if\@@tmpa B\relax% \putlratom{103}{171}{\@@tmpb}% % bond fused \FuseWarning{-200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}% \else\if\@@tmpa b\relax% \putlratom{303}{171}{\@@tmpb}% % bond fused \FuseWarning{200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}% \else\if\@@tmpa A\relax% \putlratom{303}{171}{\@@tmpb}% % bond fused \FuseWarning{-103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}% \else\if\@@tmpa a\relax% \putlratom{406}{0}{\@@tmpb}% % bond fused \FuseWarning{103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% }% end of the macro \set@fusion@fiveh % \end{macrocode} % \end{macro} % % \subsection{Inverse horizontal type} % % The macro |\set@fusionadd@fivehi| is an inner command contained % in the definition of |\fiveheterohi| etc., where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusion@fivehi|. % % \begin{macro}{\set@fusionadd@fivehi} % \changes{v2.00}{1998/11/23}{New command: \cs{set@fusionadd@fivehi}} % \begin{macrocode} \def\set@fusionadd@fivehi{% \if\@@tmpa 1\relax% \putratom{-38}{282}{\@@tmpb}% % right type \else\if\@@tmpa 2\relax% \putratom{60}{233}{\@@tmpb}% % right type \else\if\@@tmpa 3\relax% \putratom{60}{120}{\@@tmpb}% % right type \else\if\@@tmpa 4\relax% \putratom{-60}{120}{\@@tmpb}% % right type \else\if\@@tmpa 5\relax% \putratom{-60}{233}{\@@tmpb}% % right type \else\if\@@tmpa 0\relax% \putratom{140}{-30}{\@@tmpb}% % right type \else % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \set@fusion@fivehi \fi\fi\fi\fi\fi\fi% }% % \end{macrocode} % \end{macro} % % The inner command |\set@fusion@fivehi| is used for typesetting % a fused ring at each bond represented by |\@@tmpa|. Warnings % concerning mismatched ring-fusions are based on the command % |\FuseWarning|. % % \begin{macro}{\set@fusion@fivehi} % \changes{v2.00}{1998/11/23}{New command: \cs{set@fusion@fivehi}} % \begin{macrocode} \def\set@fusion@fivehi{% % %%%%%%%%%%%%%%%%%%%%% % % inner bond fusion % % %%%%%%%%%%%%%%%%%%%%% \if\@@tmpa d\relax% \putlratom{303}{-171}{\@@tmpb}% % bond fused \FuseWarning{200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{d, k, or other}% \else\if\@@tmpa D\relax% \putlratom{103}{-171}{\@@tmpb}% % bond fused \FuseWarning{-200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{D, K, or other}% \else\if\@@tmpa e\relax% \putlratom{103}{-171}{\@@tmpb}% % bond fused \FuseWarning{103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{e, j, or other}% \else\if\@@tmpa E\relax% \putlratom{0}{0}{\@@tmpb}% % bond fused \FuseWarning{-103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{E, J, or other}% \else\if\@@tmpa a\relax% \putlratom{0}{0}{\@@tmpb}% % bond fused \FuseWarning{-103}{-171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{a, i, or other}% \else\if\@@tmpa A\relax% \putlratom{103}{171}{\@@tmpb}% % bond fused \FuseWarning{103}{171}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{A, I, or other}% \else\if\@@tmpa b\relax% \putlratom{103}{171}{\@@tmpb}% % bond fused \FuseWarning{-200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{b, k, or other}% \else\if\@@tmpa B\relax% \putlratom{303}{171}{\@@tmpb}% % bond fused \FuseWarning{200}{0}% {\fuseAx}{\fuseAy}{\fuseBx}{\fuseBy}{B, K, or other}% \else\if\@@tmpa c\relax \XyMTeXWarning{Not-used fusion at bond `c'}% \else\if\@@tmpa C\relax% \XyMTeXWarning{Not-used fusion at bond `C'}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% }% end of the macro \set@fusion@sixh % \end{macrocode} % \end{macro} % % \section{Ring-fusion Commands for Six-Five-fused Rings} % \subsection{Normal vertical type} % % The macro |\set@fusion@nonav| is an inner command contained % in the definition of |\indanev| and |\nonaheterov|, where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusionadd@sixvi|. % % \begin{macro}{\set@fusion@nonav} % \begin{macrocode} \def\set@fusion@nonav{% \let\@@tmpa=\@tmpa \let\@@tmpb=\@tmpb \if\@tmpa a% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixvi}% \else\if\@tmpa A% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixvi}% \else\if\@tmpa b% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixvi}% \else\if\@tmpa B% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixvi}% \else\if\@tmpa c\relax \XyMTeXWarning{Not-used fusion at bond `c'}% \else\if\@tmpa C\relax% \XyMTeXWarning{Not-used fusion at bond `C'}% \else\if\@tmpa d% \edef\@@tmpa{c}% \put(0,0){\set@fusionadd@sixvi}% \UnfavorableFusion{d}% \else\if\@tmpa D% \edef\@@tmpa{C}% \put(0,0){\set@fusionadd@sixvi}% \UnfavorableFusion{D}% \else\if\@tmpa e% \edef\@@tmpa{d}% \put(0,0){\set@fusionadd@sixvi}% \else\if\@tmpa E% \edef\@@tmpa{D}% \put(0,0){\set@fusionadd@sixvi}% \else\if\@tmpa f% \edef\@@tmpa{e}% \put(0,0){\set@fusionadd@sixvi}% \else\if\@tmpa F% \edef\@@tmpa{E}% \put(0,0){\set@fusionadd@sixvi}% \else\if\@tmpa g% \edef\@@tmpa{f}% \put(0,0){\set@fusionadd@sixvi}% \else\if\@tmpa G% \edef\@@tmpa{F}% \put(0,0){\set@fusionadd@sixvi}% \else\if\@tmpa h% \edef\@@tmpa{a}% \put(0,0){\set@fusionadd@sixvi}% \UnfavorableFusion{h}% \else\if\@tmpa H% \edef\@@tmpa{A}% \put(0,0){\set@fusionadd@sixvi}% \UnfavorableFusion{H}% \else\if\@tmpa i% \edef\@@tmpa{f}% \put(342,0){\set@fusionadd@sixvi}% \UnfavorableFusion{i}% \else\if\@tmpa I% \edef\@@tmpa{F}% \put(342,0){\set@fusionadd@sixvi}% \UnfavorableFusion{I}% \else\if\@tmpa j% \edef\@@tmpa{e}% \put(342,0){\set@fusionadd@sixvi}% \ForbiddenFusion{j}% \else\if\@tmpa J% \edef\@@tmpa{E}% \put(342,0){\set@fusionadd@sixvi}% \ForbiddenFusion{J}% \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@nonav % \end{macrocode} % \end{macro} % % \subsection{Inverse vertical type} % % The macro |\set@fusion@nonavi| is an inner command contained % in the definition of |\indanevi| and |\nonaheterovi|, where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusionadd@sixv|. % % \begin{macro}{\set@fusion@nonavi} % \changes{v2.00}{1998/12/5}{New command: \cs{set@fusion@nonavi}} % \begin{macrocode} \def\set@fusion@nonavi{% \let\@@tmpa=\@tmpa \let\@@tmpb=\@tmpb \if\@tmpa a% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa A% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa b% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa B% \let\@@tmpa=\@tmpa \put(342,0){\set@fusionadd@sixv}% \else\if\@tmpa c\relax \XyMTeXWarning{Not-used fusion at bond `c'}% \else\if\@tmpa C\relax% \XyMTeXWarning{Not-used fusion at bond `C'}% \else\if\@tmpa d% \edef\@@tmpa{c}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{d}% \else\if\@tmpa D% \edef\@@tmpa{C}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{D}% \else\if\@tmpa e% \edef\@@tmpa{d}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa E% \edef\@@tmpa{D}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa f% \edef\@@tmpa{e}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa F% \edef\@@tmpa{E}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa g% \edef\@@tmpa{f}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa G% \edef\@@tmpa{F}% \put(0,0){\set@fusionadd@sixv}% \else\if\@tmpa h% \edef\@@tmpa{a}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{h}% \else\if\@tmpa H% \edef\@@tmpa{A}% \put(0,0){\set@fusionadd@sixv}% \UnfavorableFusion{H}% \else\if\@tmpa i% \edef\@@tmpa{f}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{i}% \else\if\@tmpa I% \edef\@@tmpa{F}% \put(342,0){\set@fusionadd@sixv}% \UnfavorableFusion{I}% \else\if\@tmpa j% \edef\@@tmpa{e}% \put(342,0){\set@fusionadd@sixv}% \ForbiddenFusion{j}% \else\if\@tmpa J% \edef\@@tmpa{E}% \put(342,0){\set@fusionadd@sixv}% \ForbiddenFusion{J}% \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@nonavi % \end{macrocode} % \end{macro} % % \subsection{Normal horizontal type} % % The macro |\set@fusion@nonah| is an inner command contained % in the definition of |\nonaheteroh|, where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusionadd@sixhi|. % % \begin{macro}{\set@fusion@nonah} % \changes{v2.00}{1998/12/6}{New command: \cs{set@fusion@nonah}} % \begin{macrocode} \def\set@fusion@nonah{% \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\relax \XyMTeXWarning{Not-used fusion at bond `c'}% \else\if\@tmpa C\relax% \XyMTeXWarning{Not-used fusion at bond `C'}% \else\if\@tmpa d% \edef\@@tmpa{c}% \put(0,-342){\set@fusionadd@sixhi}% \UnfavorableFusion{d}% \else\if\@tmpa D% \edef\@@tmpa{C}% \put(0,-342){\set@fusionadd@sixhi}% \UnfavorableFusion{D}% \else\if\@tmpa e% \edef\@@tmpa{d}% \put(0,-342){\set@fusionadd@sixhi}% \else\if\@tmpa E% \edef\@@tmpa{D}% \put(0,-342){\set@fusionadd@sixhi}% \else\if\@tmpa f% \edef\@@tmpa{e}% \put(0,-342){\set@fusionadd@sixhi}% \else\if\@tmpa F% \edef\@@tmpa{E}% \put(0,-342){\set@fusionadd@sixhi}% \else\if\@tmpa g% \edef\@@tmpa{f}% \put(0,-342){\set@fusionadd@sixhi}% \else\if\@tmpa G% \edef\@@tmpa{F}% \put(0,-342){\set@fusionadd@sixhi}% \else\if\@tmpa h% \edef\@@tmpa{a}% \put(0,-342){\set@fusionadd@sixhi}% \UnfavorableFusion{h}% \else\if\@tmpa H% \edef\@@tmpa{A}% \put(0,-342){\set@fusionadd@sixhi}% \UnfavorableFusion{H}% \else\if\@tmpa i% \edef\@@tmpa{f}% \put(0,0){\set@fusionadd@sixhi}% \UnfavorableFusion{i}% \else\if\@tmpa I% \edef\@@tmpa{F}% \put(0,0){\set@fusionadd@sixhi}% \UnfavorableFusion{I}% \else\if\@tmpa j% \edef\@@tmpa{e}% \put(0,0){\set@fusionadd@sixhi}% \ForbiddenFusion{j}% \else\if\@tmpa J% \edef\@@tmpa{E}% \put(0,0){\set@fusionadd@sixhi}% \ForbiddenFusion{J}% \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@nonah % \end{macrocode} % \end{macro} % % \subsection{Inverse horizontal type} % % The macro |\set@fusion@nonahi| is an inner command contained % in the definition of |\indanehi| and |\nonaheterohi|, where % the macro is used for setting an additive % or a fused ring at each bond (designated by |\@@tmpa|). The % fused ring is typeset by the inner command |\set@fusionadd@sixh|. % % \begin{macro}{\set@fusion@nonahi} % \changes{v2.00}{1998/12/5}{New command: \cs{set@fusion@nonahi}} % \begin{macrocode} \def\set@fusion@nonahi{% \let\@@tmpa=\@tmpa \let\@@tmpb=\@tmpb \if\@tmpa a% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \else\if\@tmpa A% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \else\if\@tmpa b% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \else\if\@tmpa B% \let\@@tmpa=\@tmpa \put(0,0){\set@fusionadd@sixh}% \else\if\@tmpa c\relax \XyMTeXWarning{Not-used fusion at bond `c'}% \else\if\@tmpa C\relax% \XyMTeXWarning{Not-used fusion at bond `C'}% \else\if\@tmpa d% \edef\@@tmpa{c}% \put(0,-342){\set@fusionadd@sixh}% \UnfavorableFusion{d}% \else\if\@tmpa D% \edef\@@tmpa{C}% \put(0,-342){\set@fusionadd@sixh}% \UnfavorableFusion{D}% \else\if\@tmpa e% \edef\@@tmpa{d}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa E% \edef\@@tmpa{D}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa f% \edef\@@tmpa{e}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa F% \edef\@@tmpa{E}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa g% \edef\@@tmpa{f}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa G% \edef\@@tmpa{F}% \put(0,-342){\set@fusionadd@sixh}% \else\if\@tmpa h% \edef\@@tmpa{a}% \put(0,-342){\set@fusionadd@sixh}% \UnfavorableFusion{h}% \else\if\@tmpa H% \edef\@@tmpa{A}% \put(0,-342){\set@fusionadd@sixh}% \UnfavorableFusion{H}% \else\if\@tmpa i% \edef\@@tmpa{f}% \put(0,0){\set@fusionadd@sixh}% \UnfavorableFusion{i}% \else\if\@tmpa I% \edef\@@tmpa{F}% \put(0,0){\set@fusionadd@sixh}% \UnfavorableFusion{I}% \else\if\@tmpa j% \edef\@@tmpa{e}% \put(0,0){\set@fusionadd@sixh}% \ForbiddenFusion{j}% \else\if\@tmpa J% \edef\@@tmpa{E}% \put(0,0){\set@fusionadd@sixh}% \ForbiddenFusion{J}% \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@nonahi % % \end{macrocode} % \end{macro} % % \Finale % \endinput