\newcommand{\initial} { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Macro initial declares variables and initializes the % % variables and the unitlength. Macro reinit resets the % % values of the variables and the unitlength to the % % original values. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \setlength{\unitlength}{.1pt} \newcount\xi \newcount\yi \xi=0 \yi=300 % coordinates of lower left corner \newcount\pht \pht=900 % picture height \newcount\pw \pw=400 % picture width \newcount\xbox \xbox=50 % width of minipage \newcount\len } % general purpose variable % end macro initial \newcommand{\reinit} {\xi=0 \yi=300 \xbox=50 \setlength{\unitlength}{.1pt} \pht=900 \pw=400 } % end macro reinit \newcommand{\cbranch}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The cbranch macro draws vertical branches as single and % % double bonds, up and down. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(0,200) {#1} % upper subst. \ifx#2S \put(40,85) {\line(0,1) {100}} % single up \else\ifx#2D\multiput(27,85)(26,0){2} % double up {\line(0,1) {100}} \fi \fi \ifx#4Q \put(-305,0) {\makebox(300,87)[r]{#3}} % left substituent without bond \else \put(-455,0) {\makebox(300,87)[r]{#3}} \fi % left substituent with bond \ifx#4S \put(-150,33) {\line(1,0) {140}} % single left \else\ifx#4D\multiput(-150,20)(0,26){2} % double left {\line(1,0) {140}} \fi \fi \put(0,0) {#5} % center % atom(s) \ifx#6S \put(90,33) {\line(1,0) {140}} % single right \else\ifx#6D\multiput(90,20)(0,26){2} % double right {\line(1,0) {140}} \fi \fi \put(240,0) {#7} % right subst. \ifx#8S \put(40,-15) {\line(0,-1) {100}} % single down \else\ifx#8D\multiput(27,-15)(26,0){2} % double down {\line(0,-1) {100}} \fi \fi \put(0,-210) {#9} % lower subst. \end{picture} } % end cbranch macro \newcommand{\tbranch}[7] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Macro tbranch draws structures with vertical branches, % % single or double bonds, going up or down. % % This macro uses the LaTeX tabbing mechanism. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{minipage}{\xbox pt} \begin{tabbing} $#3$\= $#4$\+ \kill $#1$ \\ [-#7pt] % print top subst. \ifx#2S % vertical bond going up \hspace{4pt}\rule{0.4pt}{8pt} \\ [-#7pt]\fi \ifx#2D \hspace{2pt}\rule{0.4pt}{8pt} \hspace{-2pt}\rule{0.4pt}{8pt} \\ [-#7pt]\fi \- \kill $#3$\> $#4$\+ \\ [-#7pt] % substituents on print line \ifx#5S % vertical bond going down \hspace{4pt}\rule{0.4pt}{8pt} \\ [-#7pt]\fi \ifx#5D \hspace{2pt}\rule{0.4pt}{8pt} \hspace{-2pt}\rule{0.4pt}{8pt} \\ [-#7pt]\fi $#6$ \end{tabbing} \end{minipage} } % end tbranch macro \newcommand{\ethene}[4] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a horizontal ethene fragment with % % four variable substituents. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(-405,170) {\makebox(300,87)[r]{#1}} % upper left % subst. \put(-405,-185) {\makebox(300,87)[r]{#3}} % lower left % subst. \put(0,70) {\line(-1,1) {100}} % NW bond \put(0,0) {\line(-1,-1) {100}} % SW bond \put(0,0) {C} % left C \multiput(90,20)(0,25){2} {\line(1,0){140}} % double bond \put(240,0) {C} % right C \put(315,70) {\line(1,1) {100}} % NE bond \put(315,0) {\line(1,-1) {100}} % SE bond \put(425,170) {#2} % upper right % subst. \put(425,-170) {#4} % lower right % subst. \end{picture} } % end ethene macro \newcommand{\upethene}[4] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a vertical ethene fragment with four % % variable substituents. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(-430,360) {\makebox(300,87)[r]{#1}} % NW subst. \put(-430,-150) {\makebox(300,87)[r]{#2}} % SW subst. \put(210,370) {#3} % NE subst. \put(210,-140) {#4} % SE subst. \put(0,300) {\line(-5,3) {121}} % NW bond \put(0,230) {C} % upper C \put(20,80) {\line(0,1) {140}} % vertical \put(46,80) {\line(0,1) {140}} % d. bond \put(0,0) {C} % lower C \put(0,0) {\line(-5,-3) {121}} % SW bond \put(80,300) {\line(5,3) {121}} % NE bond \put(80,0) {\line(5,-3) {121}} % SE bond \end{picture} } % end upethene macro \newcommand{\cright}[7] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a trigonal fragment, opening to the % % right. The fragment has a variable center atom and three % % variable substituents. Bonds can be single or double. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \ifx#2Q \put(-305,-15){\makebox(300,87)[r]{#1}} % left sub. \else \put(-455,-15){\makebox(300,87)[r]{#1}} \fi \ifx#2S \put(-150,33) {\line(1,0) {140}} \fi % single % hor. bond \ifx#2D \put(-150,20) {\line(1,0) {140}} % hor. \put(-150,46) {\line(1,0) {140}} \fi % d. bond \put(0,0) {#3} % center % atoms \ifx#4S \put(80,70) {\line(1,1) {100}} \fi % NE single % bond \ifx#4D \put(71,79) {\line(1,1) {100}} \put(89,61) {\line(1,1) {100}} \fi % NE double \put(185,170) {#5} % NE subst. \ifx#6S \put(80,0) {\line(1,-1) {100}} \fi % SE single \ifx#6D \put(71,-9) {\line(1,-1) {100}} % SE double \put(89,9) {\line(1,-1) {100}} \fi % bond \put(185,-170) {#7} % SE subst. \end{picture} } % end cright macro \newcommand{\cleft}[7] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a trigonal fragment, opening to the % % left. The fragment has a variable center atom and three % % variable substituents. Bonds can be single or double. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(-405,160) {\makebox(300,87)[r]{#1}} % NW subst. \ifx#2S \put(0,70) {\line(-1,1) {100}} \fi % NW single % bond \ifx#2D \put(9,79) {\line(-1,1) {100}} % NW double \put(-9,61) {\line(-1,1) {100}} \fi % bond \put(0,0) {#3} % center % atoms(s) \ifx#4S \put(0,0) {\line(-1,-1) {100}} \fi % SW single \ifx#4D \put(-9,9) {\line(-1,-1) {100}} % SW double \put(9,-9) {\line(-1,-1) {100}} \fi % bond \put(-405,-185) {\makebox(300,87)[r]{#5}} % SW subst. \ifx#6S \put(90,33) {\line(1,0) {140}} \fi % hor. % single \ifx#6D \put(90,20) {\line(1,0) {140}} % double \put(90,46) {\line(1,0) {140}} \fi % bond \put(240,0) {#7} % right sub. \end{picture} } % end cleft macro \newcommand{\chemup}[7] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a trigonal fragment, opening % % upwards. The fragment has a variable center atom and % % three variable substituents. Bonds are single or % % double. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(-430,130) {\makebox(300,87)[r]{#1}} % NW subst. \ifx#2S \put(0,70) {\line(-5,3) {121}} \fi % NW single \ifx#2D \put(7,81) {\line(-5,3) {121}} % NW double \put(-7,59) {\line(-5,3) {121}} \fi % bond \put(0,0) {#3} % center % atom(s) \ifx#4S \put(33,-10) {\line(0,-1) {140}} \fi % vertical % single \ifx#4D \put(20,-10) {\line(0,-1) {140}} % vertical \put(46,-10) {\line(0,-1) {140}} \fi % double \put(0,-230) {#5} % bottom % subst. \ifx#6S \put(80,70) {\line(5,3) {121}} \fi % NE single \ifx#6D \put(73,81) {\line(5,3) {121}} % NE double \put(87,59) {\line(5,3) {121}} \fi % bond \put(210,140) {#7} % NE subst. \end{picture} } % end chemup macro \newcommand{\cdown}[7] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a trigonal fragment, opening % % downwards. The fragment has a variable center atom and % % three variable substituents. Bonds are single or double. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(0,230) {#1} % upper sub. \ifx#2S \put(33,80) {\line(0,1) {140}} \fi % vert. % single \ifx#2D \put(20,80) {\line(0,1) {140}} % double \put(46,80) {\line(0,1) {140}} \fi \put(0,0) {#3} % center % atom(s) \ifx#4S \put(0,0) {\line(-5,-3) {121}} \fi % SW single \ifx#4D \put(-7,11) {\line(-5,-3) {121}} % SW double \put(7,-11) {\line(-5,-3) {121}} \fi % bond \put(-430,-150) {\makebox(300,87)[r]{#5}} % SW subst. \ifx#6S \put(80,0) {\line(5,-3) {121}} \fi % SE bond \ifx#6D \put(87,11) {\line(5,-3) {121}} % SE double \put(73,-11) {\line(5,-3) {121}} \fi % bond \put(210,-140) {#7} % SE subst. \end{picture} } % end cdown macro \newcommand{\csquare}[5] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a fragment that consists of a variable % % center atom with four variable substituents pointing to % % the four corners of a square. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(-405,160) {\makebox(300,87)[r]{#1}} % NW subst. \put(0,70) {\line(-1,1) {100}} % NW bond \put(0,0) {#3} % center % atom \put(0,0) {\line(-1,-1) {100}} % SW bond \put(-405,-185) {\makebox(300,87)[r]{#4}} % SW subst. \put(80,70) {\line(1,1) {100}} % NE bond \put(185,170) {#2} % NE subst. \put(80,0) {\line(1,-1) {100}} % SE bond \put(185,-170) {#5} % SE subst. \end{picture} } % end csquare macro \newcommand{\ccirc}[4] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The ccirc macro draws a circle with 2 substituents % % infront of the circle and 2 behind it to give a % % threedimensional impression. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(90,0) {\circle{180}} \put(90,90) {\line(0,1) {70}} % behind and up \put(60,170) {#1} \thicklines \put(30,10) {\line(-5,2) {140}} % in front \put(-415,30) {\makebox(300,87)[r]{#2}} % and left \put(150,10) {\line(5,2) {140}} % in front \put(300,30) {#3} % and right \thinlines \put(90,-90) {\line(0,-1) {90}} % behind and \put(60,-260) {#4} % down \end{picture} } % end ccirc macro \newcommand{\threering}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The threering macro typesets the cyclopropane ring % % with optional substituents, an optional double bond, % % and a plus inside the ring for aromaticity. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(300,0) {\line(-3,-5) {150}} % bond 1 to 2 \put(150,-244) {\line(-3,5) {150}} % bond 2 to 3 \put(0,0) {\line(1,0) {300}} % bond 3 to 1 \ifx#7D \put(40,-40){\line(1,0){220}}\fi % double 3 to 1 \ifx#1Q % subst. on 1 \else\put(300,0) {\line(5,3) {128}} \put(433,50) {#1} \fi \ifx#2Q % subst. on 2 \else\ifx#9C \put(150,-244) {\line(0,-1){100}} \put(114,-424) {#2} % on straight bond \else\put(150,-244) {\line(5,-3) {128}} \put(283,-344) {#2} \fi \fi % slanted \ifx#2Q % subst. on 2 \else\ifx#5Q \put(150,-244) {\line(0,-1){100}} \put(114,-424) {#2} % on straight bond \else\put(150,-244) {\line(5,-3) {128}} \put(283,-344) {#2} \fi \fi % slanted \ifx#3Q % subst. on 3 \else\put(0,0) {\line(-5,3) {128}} \put(-430,34) {\makebox(300,87)[r]{#3}} \fi \ifx#4Q % second subst. \else\put(300,0) {\line(5,-3) {128}} % on 1 \put(433,-100) {#4} \fi \ifx#5Q % second subst. \else\put(150,-244) {\line(-5,-3) {128}} % on 2 \put(-280,-360){\makebox(300,87)[r]{#5}} \fi \ifx#6Q % second subst. \else\put(0,0) {\line(-5,-3) {128}} % on 3 \put(-430,-116){\makebox(300,87)[r]{#6}} \fi \ifx#8Q \else\multiput(135,-244)(30,0){2} % outside {\line(0,-1) {100}} % double \put(114,-424) {#8} \fi % on 2 \ifx#9C \put(150,-90){\circle{120}} % circle with + \put(110,-120){+} \fi \end{picture} } % end cycloprop. macro \newcommand{\fourring}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The fourring macro typesets the cyclobutane ring with % % optional substituents and double bonds. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(300,300) {\line(0,-1) {300}} % bond 1 to 2 \put(300,0) {\line(-1,0) {300}} % 2 to 3 \put(0,0) {\line(0,1) {300}} % 3 to 4 \put(0,300) {\line(1,0) {300}} % 4 to 1 \ifx#7D\put(260,260){\line(0,-1){220}}\fi % double 1 to 2 \ifx#8D\put(40,40) {\line(0,1) {220}}\fi % double 3 to 4 \ifx#1Q % subst. on 1 \else\put(300,300){\line(5,3) {128}} \put(433,350){#1} \fi \ifx#2Q % subst. on 2 \else\put(300,0) {\line(5,-3){128}} \put(433,-100){#2} \fi \ifx#3Q % subst. on 3 \else\put(0,0) {\line(-5,-3){128}} \put(-430,-116){\makebox(300,87)[r]{#3}} \fi \ifx#4Q % subst. on 4 \else\put(0,300) {\line(-5,3) {128}} \put(-430,334){\makebox(300,87)[r]{#4}} \fi \ifx#5Q % second subst. \else\put(300,300){\line(5,-3) {128}} % on 1 \put(433,200){#5} \fi \ifx#6Q % second subst. \else\put(0,300) {\line(-5,-3){128}} % on 4 \put(-430,184){\makebox(300,87)[r]{#6}} \fi \ifx#9Q % outs. double \else\multiput(280,-5)(20,30){2} % and subst. {\line(1,-1){100}} \put(405,-140){#9} \fi % on 2 \end{picture} } % end cyclobutane macro \newcommand{\fivering}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets the cyclopentane ring with optional % % substituents and double bonds. A minus sign in a circle % % can be put inside the ring to denote aromaticity. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(342,200) {\line(0,-1) {200}} % bond 1 to 2 \put(342,0) {\line(-5,-3) {171}} % bond 2 to 3 \put(171,-103) {\line(-5,3) {171}} % bond 3 to 4 \put(0,0) {\line(0,1) {200}} % bond 4 to 5 \put(0,200) {\line(1,0) {342}} % bond 5 to 1 \ifx#1Q % subst. on 1 \else\put(342,200) {\line(5,3) {128}} \put(475,250) {#1} \fi \ifx#2Q % subst. on 2 \else\put(342,0) {\line(5,-3) {128}} \put(475,-100) {#2} \fi \ifx#3Q % subst. on 3 \else\put(171,-103) {\line(0,-1) {100}} \put(150,-283) {#3} \fi \ifx#4Q % subst. on 4 \else\put(0,0) {\line(-5,-3){128}} \put(-430,-116) {\makebox(300,87)[r]{#4}} \fi \ifx#5Q % subst. on 5 \else\put(0,200) {\line(-5,3) {128}} \put(-430,234) {\makebox(300,87)[r]{#5}} \fi \ifx#6D\put(316,174) {\line(0,-1) {148}} % double 1,2 \else\ifx#6S \else\put(342,200) {\line(5,-3) {128}} \put(475,100){#6} \fi % second sub. \fi % on 1 \ifx#7D\put(26,26) {\line(0,1) {148}} % double 4,5 \else\ifx#7S \else\put(0,200){\line(-5,-3){128}} % second sub. \put(-430,84){\makebox(300,87)[r]{#7}} \fi \fi % on 5 \ifx#8Q % outs. double \else\multiput(156,-103)(30,0){2} % and subst. {\line(0,-1) {100}} \put(135,-283){#8} \fi % on 3 \ifx#9C\put(171,60) {\circle{210}} % circle and \put(130,35) {$-$} \fi % minus \end{picture} } % end 5-ring macro \newcommand{\sixring}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The sixring macro draws standard carbon sixrings in the % % shape of a regular hexagon. There are optional ring % % double bonds and substituents. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(342,200) {\line(0,-1) {200}} % bond 1 to 2 \put(342,0) {\line(-5,-3) {171}} % bond 2 to 3 \put(171,-103) {\line(-5,3) {171}} % bond 3 to 4 \put(0,0) {\line(0,1) {200}} % bond 4 to 5 \put(0,200) {\line(5,3) {171}} % bond 5 to 6 \put(171,303) {\line(5,-3) {171}} % bond 6 to 1 \ifx#7D % d. bond 1,2 \put(316,174) {\line(0,-1) {148}} \else \ifx#7S % 2. sub. on 1 \else\put(342,200) {\line(5,-3) {128}} \put(475,100) {#7} \fi \fi \ifx#8D \put(162,-67) {\line(-5,3) {126}} % double 3 to 4 \else\ifx#8S \else\put(156,-203) {\line(0,1){100}} % outside % double and \put(186,-203) {\line(0,1){100}} % subst. on 3 \put(135,-283) {#8} \fi \fi \ifx#9D \put(36,191) {\line(5,3) {126}} \fi % double 5 to 6 \ifx#9C \put(171,100) {\circle{250}} \fi % circle for % aromaticity \ifx#1Q % subst. on 1 \else\put(342,200) {\line(5,3){128}} \put(475,250) {#1} \fi \ifx#2Q \else\put(342,0) {\line(5,-3){128}} % subst. on 2 \put(475,-100) {#2} \fi \ifx#3Q \else\put(171,-203) {\line(0,1){100}} \put(150,-283) {#3} \fi % subst. on 3 \ifx#4Q \else\put(0,0) {\line(-5,-3){128}} % subst. on 4 \put(-430,-116){\makebox(300,87)[r]{#4}} \fi \ifx#5Q \else\put(0,200) {\line(-5,3){128}} % subst. on 5 \put(-430,234) {\makebox(300,87)[r]{#5}} \fi \ifx#6Q \else\put(171,303) {\line(0,1){100}} % subst. on 6 \put(150,410) {#6} \fi \ifx#7D \ifx#9C \message{Error: ring double bond simultaneous with circle} \fi \fi \end{picture} } % end sixring macro \newcommand{\sixringa}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro differs from the original sixring macro only % % in the position of the double bonds in the ring. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(342,200) {\line(0,-1) {200}} % bond 1 to 2 \put(342,0) {\line(-5,-3) {171}} % bond 2 to 3 \put(171,-103) {\line(-5,3) {171}} % bond 3 to 4 \put(0,0) {\line(0,1) {200}} % bond 4 to 5 \put(0,200) {\line(5,3) {171}} % bond 5 to 6 \put(171,303) {\line(5,-3) {171}} % bond 6 to 1 \ifx#7D % double 1,6 \put(306,191) {\line(-5,3) {126}} \else \ifx#7S % second subst. \else\put(342,200) {\line(5,-3) {128}} \put(475,100) {#7} \fi \fi % on 1 \ifx#8D \put(178,-67) {\line(5,3) {126}} % double 3,2 \else\ifx#8S \else\put(156,-203) {\line(0,1){100}} % outs. double \put(186,-203) {\line(0,1){100}} % and subst. \put(135,-283) {#8} \fi \fi % on 3 \ifx#9D \put(26,26) {\line(0,1) {148}} \fi % double 4,5 \ifx#9C \put(171,100) {\circle{250}} \fi % circle for % aromaticity \ifx#1Q % subst. on 1 \else\put(342,200) {\line(5,3){128}} \put(475,250) {#1} \fi \ifx#2Q \else\put(342,0) {\line(5,-3){128}} % subst. on 2 \put(475,-100) {#2} \fi \ifx#3Q \else\put(171,-203) {\line(0,1){100}} \put(150,-283) {#3} \fi % subst. on 3 \ifx#4Q \else\put(0,0) {\line(-5,-3){128}} % subst. on 4 \put(-430,-116){\makebox(300,87)[r]{#4}} \fi \ifx#5Q \else\put(0,200) {\line(-5,3){128}} % subst. on 5 \put(-430,234) {\makebox(300,87)[r]{#5}} \fi \ifx#6Q \else\put(171,303) {\line(0,1){100}} % subst. on 6 \put(150,410) {#6} \fi \ifx#7D \ifx#9C \message{Error: ring double bond with circle} \fi \fi \end{picture} } % end sixringa macro \newcommand{\sixringb}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This variation of the sixring can typeset all combina- % % tions of double bonds in the ring through argument 9. % % A para-quinoid structure is also possible. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % macros to typeset the ring double bonds: \newcommand{\di} {\put(316,174){\line(0,-1){148}}} %double 1-2 \newcommand{\dii} {\put(178,-67){\line(5,3) {126}}} %double 2-3 \newcommand{\diii} {\put(162,-67){\line(-5,3){126}}} %double 3-4 \newcommand{\dfour}{\put(26,26) {\line(0,1) {148}}} %double 4-5 \newcommand{\dv} {\put(36,191) {\line(5,3) {126}}} %double 5-6 \newcommand{\dsix} {\put(306,191){\line(-5,3){126}}} %double 6-1 \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(342,200) {\line(0,-1) {200}} % bond 1 to 2 \put(342,0) {\line(-5,-3) {171}} % bond 2 to 3 \put(171,-103) {\line(-5,3) {171}} % bond 3 to 4 \put(0,0) {\line(0,1) {200}} % bond 4 to 5 \put(0,200) {\line(5,3) {171}} % bond 5 to 6 \put(171,303) {\line(5,-3) {171}} % bond 6 to 1 \ifx#7Q \else\put(158,303) {\line(0,1) {100}} % outs. double \put(184,303) {\line(0,1) {100}} % bond and \put(130,420) {#7} \fi % sub. on 6 \ifx#8Q \else\put(156,-203){\line(0,1){100}} % outs. double \put(186,-203){\line(0,1){100}} % bond and \put(135,-283) {#8} \fi % sub.on 3 % 17 double bond combinations: \ifcase#9 \put(171,100) {\circle{250}} % circle \or \di \or \dii \or \or diii \or \di \diii % arg 9=1-5 \or \or \or dfour \or \dfour \di % arg 9=6-9 \or \dfour \dii \or \or \or \or \or \or \dv % arg 9=10-16 \or \dv \di \or \dv \dii \or \or \dv \diii % arg 9=17-20 \or \dv \diii \di \or \or \or \or \or \or % arg 9=21-27 \or \or \or \or \or \dsix \or \or \dsix \dii % 28-34 \or \or \dsix \diii \or \or \or % arg 9=35-39 \or \dsix \dfour \or \or \dsix \dfour \dii % arg 9=40-42 \fi \ifx#1Q % subst. on 1 \else\put(342,200) {\line(5,3){128}} \put(475,250) {#1} \fi \ifx#2Q \else\put(342,0) {\line(5,-3){128}} % subst. on 2 \put(475,-100) {#2} \fi \ifx#3Q \else\put(171,-203) {\line(0,1){100}} \put(150,-283) {#3} \fi % subst. on 3 \ifx#4Q \else\put(0,0) {\line(-5,-3){128}} % subst. on 4 \put(-430,-116){\makebox(300,87)[r]{#4}} \fi \ifx#5Q \else\put(0,200) {\line(-5,3){128}} % subst. on 5 \put(-430,234) {\makebox(300,87)[r]{#5}} \fi \ifx#6Q \else\put(171,303) {\line(0,1){100}} % subst. on 6 \put(150,410) {#6} \fi \ifx#7D \ifx#9C \message{Error: ring double bond with circle} \fi \fi \end{picture} } % end sixringb macro \newcommand{\chair}[8] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The chair macro typesets the saturated carbon sixring in % % its most favorable conformation. Axial and equatorial % % substituents can be attached in 4 positions. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(0,0) {\line(3,-4) {170}} % bond 1 to 2 \put(170,-226) {\line(3,1) {403}} % 2 to 3 \put(573,-91) {\line(6,-1) {210}} % 3 to 4 \put(783,-126) {\line(-3,4) {170}} % 4 to 5 \put(613,100) {\line(-3,-1) {403}} % 5 to 6 \put(210,-35) {\line(-6,1) {210}} % 6 to 1 % bonds to subst. : \put(0,0) {\line(0,1) {100}} % axial on 1 \put(170,-226) {\line(0,-1) {100}} % axial on 2 \put(573,-91) {\line(0,1) {100}} % axial on 3 \put(783,-126) {\line(0,-1) {100}} % axial on 4 \put(613,100) {\line(0,1) {100}} % axial on 5 \put(210,-35) {\line(0,-1) {100}} % axial on 6 \put(0,0) {\line(-3,-1) {128}} % eq. on 1 \put(170,-226) {\line(-3,1) {128}} % eq. on 2 \put(573,-91) {\line(3,-1) {128}} % eq. on 3 \put(783,-126) {\line(3,1) {128}} % eq. on 4 \put(613,100) {\line(3,-1) {128}} % eq. on 5 \put(210,-35) {\line(-3,1) {128}} % eq on 6 % variable subst.: \ifx#1Q\else\put(-30,110) {#1} \fi % axial on 1 \ifx#2Q\else\put(140,-406) {#2} \fi % axial on 2 \ifx#3Q\else\put(543,9) {#3} \fi % axial on 3 \ifx#4Q\else\put(753,-306) {#4} \fi % axial on 4 \ifx#5Q\else\put(-430,-85) {\makebox(300,87)[r]{#5}} \fi % eq. on 1 \ifx#6Q\else\put(-260,-226){\makebox(300,87)[r]{#6}} \fi % eq. on 2 \ifx#7Q\else\put(415,-230) {\makebox(300,87)[r]{#7}} \fi % eq. on 3 \ifx#8Q\else\put(916,-115) {#8} \fi % eq. on 4 \end{picture} } % end chair macro \newcommand{\naphth}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets the naphthalene ring system. % % One or both rings can be saturated. An optional sub- % % stituent is possible at each ring position. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \multiput(0,200)(342,0){2} {\line(5,3) {171}} % 7,8; 8a,1 \multiput(171,303)(342,0){2} {\line(5,-3){171}} % 8,8a; 1,2 \multiput(0,0)(342,0){3} {\line(0,1) {200}} % 6,7;4a,8a % 3,2 \multiput(0,0)(342,0){2} {\line(5,-3){171}} % 6,5; 4a,4 \multiput(171,-103)(342,0){2}{\line(5,3) {171}} % 5,4a; 4,3 \ifx#1Q \else\put(513,303) {\line(0,1) {100}} % sub. on 1 \put(492,410) {#1} \fi \ifx#2Q \else\put(684,200) {\line(5,3) {128}} % sub. on 2 \put(817,250) {#2} \fi \ifx#3Q \else\put(684,0) {\line(5,-3){128}} % sub. on 3 \put(817,-100) {#3} \fi \ifx#4Q \else\put(513,-103) {\line(0,-1){100}} % sub. on 4 \put(492,-283) {#4} \fi \ifx#5Q \else\put(171,-103) {\line(0,-1){100}} % sub. on 5 \put(150,-283) {#5} \fi \ifx#6Q \else\put(0,0) {\line(-5,-3){128}} % sub. on 6 \put(-430,-116) {\makebox(300,87)[r]{#6}} \fi \ifx#7Q \else\put(0,200) {\line(-5,3) {128}} % sub. on 7 \put(-430,234) {\makebox(300,87)[r]{#7}} \fi \ifx#8Q \else\put(171,303) {\line(0,1) {100}} %sub. on 8 \put(150,410) {#8} \fi \ifx#9S %all single \else\put(316,174) {\line(0,-1) {148}} %double % 4a,8a \put(162,-67) {\line(-5,3) {126}} %double 5,6 \put(36,191) {\line(5,3) {126}} %double 7,8 \fi \ifx#9D\put(648,191) {\line(-5,3) {126}} %double 2,1 \put(520,-67) {\line(5,3) {126}} %double 4,3 \fi \end{picture} } % end naphthalene macro \newcommand{\terpene}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets the bicyclo(2.2.1)heptane ring % % system with optional methyl groups at the one-carbon % % bridge. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(0,0) {\line(5,1) {196}} % bond 5 to 4 \put(196,39) {\line(5,-2) {186}} % bond 4 to 3 \put(382,-35) {\line(2,5) {66}} % bond 3 to 2 \put(448,130) {\line(-5,2) {186}} % bond 2 to 1 \put(262,204) {\line(-5,-1){196}} % bond 1 to 6 \put(66,165) {\line(-2,-5){66}} % bond 6 to 5 \put(196,39) {\line(0,1) {330}} % long part of % bridge \put(262,204) {\line(-2,5) {66}} % shorter part % of bridge \ifx#1Q % subst. on 1 \else\put(262,204) {\line(4,3) {120}} \put(387,267) {#1} \fi \ifx#2Q % subst. on 2 \else\put(448,130) {\line(4,3) {120}} \put(573,193) {#2} \fi \ifx#3Q % subst. on 3 \else\put(382,-35) {\line(5,-2) {120}} \put(507,-121) {#3} \fi \ifx#4Q % subst. on 4 \else\put(196,39) {\line(2,-5) {56}} \put(231,-180) {#4} \fi \ifx#5Q % subst. on 5 \else\put(0,0) {\line(-5,-2){139}} \put(-441,-95) {\makebox(300,87)[r]{#5}} \fi \ifx#6Q % subst. on 6 \else\put(66,165) {\line(-4,3) {120}} \put(-362,216) {\makebox(300,87)[r]{#6}} \fi \ifx#7M\put(196,369) {\line(4,3) {120}} % methyl \put(196,369) {\line(-4,3) {120}} % groups \put(321,432) {\small ${\rm CH_3}$} \put(-226,425) % on bridge {\makebox(300,87)[r]{\small ${\rm CH_3}$}} \fi \ifx#8Q\else \ifx#8O\put(443,142) {\line(5,2) {130}} % double- \put(453,118) {\line(5,2) {130}} % bonded \put(583,155) {$O$} % O on 2 \else\put(448,130) {\line(5,-2) {120}} % sec. subst. \put(573,44) {#8} \fi \fi % on 2 \ifx#9Q\else \ifx#9D\put(368,-1) {\line(2,5) {46}} % double 3 to 2 \else\put(382,-35) {\line(4,3) {120}} % second subst. \put(507,28) {#9} \fi \fi % on 3 \end{picture} } % end terpene macro \newcommand{\steroid}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets the steroid skeleton. Optional double % % bonds and substituents make it possible to print the % % structures of common steroids. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \multiput(0,0)(342,0){3} {\line(0,1) {200}} %3-2, % 5-10,7-8 \multiput(513,303)(342,0){3}{\line(0,1) {200}} %9-11,14-13, % 15-16 \multiput(0,200)(342,0){3} {\line(5,3) {171}} %2-1, % 10-9, % 8-14 \multiput(0,0)(342,0){2} {\line(5,-3){171}} %3-4, 5-6 \multiput(171,-103)(342,0){2}{\line(5,3) {171}} %4-5, 6-7 \multiput(171,303)(342,0){2}{\line(5,-3){171}} %1-10, 9-8 \multiput(513,503)(342,0){2}{\line(5,3) {171}} %11-12, % 13-17 \multiput(684,606)(342,0){2}{\line(5,-3){171}} %12-13, % 17-16 \put(855,303) {\line(1,0) {342}} %14-15 \put(855,503) {\line(0,1) {128}} % methyl 18 \put(795,638) {\small ${\rm CH_3}$} \ifx#1D\put(36,191) {\line(5,3) {126}}% double \else\ifx#1Q % 1 to 2 \else\put(520,514) {\line(-5,3) {128}} \put(506,492) {\line(-5,3) {128}} \put(83,547) {\makebox(300,87)[r]{#1}} \fi \fi % outside double & subst. 11 \ifx#2D\put(162,-67) {\line(-5,3) {126}} % double \else\ifx#2Q % 4 to 3 \else\put(-7,11) {\line(-5,-3) {128}} \put(7,-11) {\line(-5,-3) {128}} \put(-430,-116) {\makebox(300,87)[r]{#2}} \fi \fi % outside double & subst. 3 \ifx#3Q \else\put(0,0) {\line(-5,-3){128}} % subst. \put(-430,-116) {\makebox(300,87)[r]{#3}} \fi % on 3 \ifx#4D\put(178,-67) {\line(5,3) {126}} \fi % double % 4 to 5 \ifx#5D\put(378,9) {\line(5,-3) {126}} % double % 6 to 5 \else\ifx#5Q \else\multiput(1011,606)(30,0){2} {\line(0,1) {100}} \put(985,713) {#5} \fi \fi % outside double & subst. 17 \ifx#6D\put(316,174) {\line(0,-1) {148}} \fi % double % 5 to 10 \ifx#6M\put(342,200) {\line(0,1) {128}} % methyl % 19 \put(282,335) {\small ${\rm CH_3}$} \fi \ifx#7Q \else\put(1026,606) {\line(0,1) {100}} % lower % subst. \put(995,713) {#7} \fi % part % on 17 \ifx#8Q \else\put(1026,791) {\line(0,1) {100}} % upper % subst. \put(995,900) {#8} \fi % part % on 17 \ifx#9Q \else\put(1026,606) {\line(1,0) {128}} % the other \put(1160,575) {#9} \fi % subst. % on 17 \end{picture} } % end steroid macro \newcommand{\hetthree}[8] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The hetthree macro draws a three-membered ring with one % % hetero atom. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(170,-170) {#8} % hetero atom \put(0,0) {C} % C-2 \put(360,0) {C} % C-3 \put(80,30) {\line(1,0) {270}} % bond 2-3 \put(70,-10) {\line(1,-1) {100}} % bond 2-1 \put(350,-10) {\line(-1,-1){100}} % bond 3-1 \ifx#1Q % substituent \else\put(210,-180) {\line(0,-1){80}} % on het. atom \put(180,-340) {#1} \fi \ifx#6S\put(-10,30) {\line(-1,0){140}} % subst. on C-2 \put(-460,-10) {\makebox(300,87)[r]{#2}} % with hor. % bond \else\ifx#6H\put(-90,30) {\line(-1,0) {140}}% bond and H \put(-70,0) {H} % on C-2 \put(-540,-10) {\makebox(300,87)[r]{#2}} \else \put(-310,-10) {\makebox(300,87)[r]{#2}} \fi \fi % no bond on 2 \ifx#7S\put(440,30) {\line(1,0) {140}} % subst. on C-3 \put(590,0) {#3} % with hor. bond \else\ifx#7H\put(430,0) {H} % bond with H \put(510,30) {\line(1,0) {140}} \put(660,0) {#3} \else \put(445,0) {#3} \fi \fi % no bond on 3 \ifx#4Q \else\put(40,80) {\line(0,1) {140}} % second subst. \put(-225,220) {\makebox(300,87)[r]{#4}} \fi % on C-2 \ifx#5Q \else\put(400,80) {\line(0,1) {140}} % second subst. \put(360,230) {#5} \fi % on C-3 \end{picture} } % end hetthree macro \newcommand{\hetifive}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The hetifive macro typesets a five-membered ring with one % % hetero atom. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(342,0) {\line(-5,-3) {140}} % bond 2,1 \put(342,0) {\line(0,1) {200}} % bond 2,3 \put(342,200) {\line(-1,0) {342}} % bond 3,4 \put(0,200) {\line(0,-1) {200}} % bond 4,5 \put(0,0) {\line(5,-3) {140}} % bond 5,1 \ifx#1Q \else\put(171,-137) {\line(0,-1) {83}} % subst.on \put(135,-283) {#1} \fi % het.atom \ifx#2Q \else\ifx#2O\put(349,11) {\line(5,-3) {128}} % outside \put(335,-11){\line(5,-3) {128}} % double O \put(475,-120) {O} % on C-2 \else\put(342,0) {\line(5,-3) {128}} % single \put(475,-100) {#2} \fi % subst. \fi % on C-2 \ifx#3Q \else\put(342,200) {\line(5,3) {128}} % subst. on \put(475,250) {#3} \fi % C-3 \ifx#4Q \else\put(0,200) {\line(-5,3) {128}} % subst. on \put(-430,234) {\makebox(300,87)[r]{#4}}\fi % C-4 \ifx#5Q \else\ifx#5O\put(-7,11) {\line(-5,-3) {128}} % outside \put(7,-11) {\line(-5,-3) {128}} % double O \put(-200,-130) {O} % on C-5 \else\put(0,0) {\line(-5,-3) {128}} % single \put(-430,-116){\makebox(300,87)[r]{#5}} \fi % sub. \fi % on C-5 \ifx#6D\put(316,26) {\line(0,1) {148}} \fi % double 2,3 \ifx#7D\put(316,174) {\line(-1,0) {290}} \fi % double 3,4 \ifx#8D\put(26,174) {\line(0,-1) {148}} \fi % double 4,5 \put(135,-130) {#9} % hetero atom \end{picture} } % end one-hetero fivering macro \newcommand{\heticifive}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The heticifive macro typesets a five-membered ring with % % two hetero atoms separated by a carbon atom. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(342,0) {\line(-5,-3) {140}} % bond 2,1 \put(342,0) {\line(0,1) {160}} % bond 2,3 \put(0,200) {\line(1,0) {300}} % bond 4,3 \put(0,200) {\line(0,-1) {200}} % bond 4,5 \put(0,0) {\line(5,-3) {140}} % bond 5,1 \ifx#1Q \else\put(171,-137) {\line(0,-1) {83}} % subst. on \put(135,-283) {#1} \fi % het-1 \ifx#2Q \else\ifx#2O\put(349,11) {\line(5,-3) {128}} % outside \put(335,-11) {\line(5,-3) {128}} % double O \put(475,-120) {O} % on C-2 \else\put(342,0) {\line(5,-3) {128}} % single sub. \put(475,-100) {#2} \fi % on C-2 \fi \ifx#3Q \else\put(370,217) {\line(5,3) {100}} % subst. on \put(475,250) {#3} \fi % on het-3 \ifx#4Q \else\ifx#4O\put(-7,189) {\line(-5,3) {128}} % outside \put(7,211) {\line(-5,3) {128}} % double O \put(-200,250) {O} % on C-4 \else\put(0,200) {\line(-5,3) {128}} % single sub. \put(-430,234) {\makebox(300,87)[r]{#4}} \fi \fi % on C-4 \ifx#5Q \else\put(0,0) {\line(-5,-3) {128}} % 1. single \put(-430,-116){\makebox(300,87)[r]{#5}}\fi % subst. % on C-5 \ifx#6D\put(316,26) {\line(0,1) {130}} \fi % double 2,3 \ifx#7Q \else\ifx#7D\put(26,174) {\line(0,-1) {148}} % double 4,5 \else\put(0,0) {\line(-5,3) {128}} % 2. subst. \put(-430,34) {\makebox(300,87)[r]{#7}} \fi \fi % on C-5 \put(135,-130) {#8} % het.atom 1 \put(310,170) {#9} % het.atom 3 \end{picture} } % end heticifive macro \newcommand{\pyrazole}[8] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets the pyrazole ring with optional % % substituents and double bonds inside and outside the % % ring. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(200,-84) {\line(5,3) {110}} % bond 1,2 \put(342,200) {\line(0,-1) {140}} % bond 3,2 \put(342,200) {\line(-1,0) {342}} % bond 3,4 \put(0,200) {\line(0,-1) {200}} % bond 4,5 \put(0,0) {\line(5,-3) {140}} % bond 5,1 \put(135,-130) {N} % ring N-1 \put(310,-30) {N} % ring N-2 \ifx#1Q \else\put(171,-137) {\line(0,-1) {83}} % subst. on \put(150,-283) {#1} \fi % on N-1 \ifx#2Q \else\put(370,-17) {\line(5,-3) {100}} % subst. on \put(475,-100) {#2} \fi % N-2 \ifx#3Q \else\ifx#3O\put(335,211) {\line(5,3) {128}} % outside \put(349,189) {\line(5,3) {128}} % double O \put(475,250) {O} % on C-3 \else\put(342,200) {\line(5,3) {128}} % single sub. \put(475,250) {#3} \fi % on C-3 \fi \ifx#4Q \else\put(0,200) {\line(-5,3) {128}} % single sub. \put(-430,234) {\makebox(300,87)[r]{#4}}\fi % on C-4 \ifx#5Q \else\ifx#5O\put(-7,11) {\line(-5,-3){128}} % outside \put(7,-11) {\line(-5,-3){128}} % double O \put(-200,-130){O} % on C-5 \else\put(0,0) {\line(-5,-3){128}} % single sub. \put(-430,-116) {\makebox(300,87)[r]{#5}} \fi \fi % on C-5 \ifx#6D\put(316,174) {\line(0,-1) {114}} \fi % double 3,2 \ifx#7D\put(316,174) {\line(-1,0) {290}} \fi % double 3,4 \ifx#8D\put(26,174) {\line(0,-1) {148}} \fi % double 4,5 \end{picture} } % end pyrazole macro \newcommand{\hetisix}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % The hetisix macro typesets a six-membered ring with % % one hetero atom. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(342,0) {\line(-5,-3) {140}} % bond 2 to 1 \put(0,0) {\line(5,-3) {140}} % bond 6 to 1 \put(342,0) {\line(0,1) {200}} % bond 2 to 3 \put(342,200) {\line(-5,3) {171}} % bond 3 to 4 \put(171,303) {\line(-5,-3) {171}} % bond 4 to 5 \put(0,200) {\line(0,-1) {200}} % bond 5 to 6 \ifx#7D \put(316,26) {\line(0,1) {148}} % double 2 to 3 \else\ifx#7Q \else\put(349,11) {\line(5,-3){128}} % outside \put(335,-11) {\line(5,-3){128}} % double sub. \put(475,-120){#7} \fi % on C-2 \fi \ifx#8D \put(36,191) {\line(5,3) {126}} \fi % double 5 to 4 \ifx#1D \put(36,9) {\line(5,-3) {110}} % double 6 to 1 \else\ifx#1Q \else\put(171,-220) {\line(0,1) {83}} \put(150,-283) {#1} \fi % subst. on het. \fi \put(135,-130) {#9} % the het.atom \ifx#2Q \else\put(342,0) {\line(5,-3) {128}} % subst. on 2 \put(475,-100) {#2} \fi \ifx#3Q \else\put(342,200) {\line(5,3) {128}} % subst. on 3 \put(475,250) {#3} \fi \ifx#4Q \else\put(171,303) {\line(0,1) {100}} % subst. on 4 \put(150,410) {#4} \fi \ifx#5Q \else\put(0,200) {\line(-5,3) {128}} % subst. on 5 \put(-430,234) {\makebox(300,87)[r]{#5}} \fi \ifx#6Q \else\put(0,0) {\line(-5,-3) {128}} % subst. on 6 \put(-430,-116){\makebox(300,87)[r]{#6}} \fi % end sixring macro with \end{picture} } % one hetero atom \newcommand{\pyrimidine}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets the pyrimidine ring with optional % % substituents and double bonds inside and outside the % % ring. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(342,0) {\line(-5,-3) {140}} % from 2 to 1 \put(0,0) {\line(5,-3) {140}} % from 6 to 1 \put(342,0) {\line(0,1) {160}} % from 2 to 3 \put(171,303) {\line(5,-3) {140}} % from 4 to 3 \put(171,303) {\line(-5,-3) {171}} % from 4 to 5 \put(0,200) {\line(0,-1) {200}} % from 5 to 6 \put(135,-130) {N} \put(310,170) {N} \ifx#1Q \else\put(171,-137) {\line(0,-1) {83}} % sub. on N-1 \put(150,-283) {#1} \fi \ifx#2Q \else\ifx#2O\put(349,11) {\line(5,-3) {128}} % outside \put(335,-11) {\line(5,-3) {128}} % double O \put(475,-120){O} % on C-2 \else\put(342,0) {\line(5,-3) {128}} % single \put(475,-100) {#2} \fi % subst. \fi \ifx#3Q \else\put(370,217) {\line(5,3) {100}} % subst. \put(475,250) {#3} \fi % on N-3 \ifx#4Q \else\ifx#4O\put(158,303) {\line(0,1) {100}} % outside \put(184,303) {\line(0,1) {100}} % double O \put(130,410) {O} % on C-4 \else\put(171,303) {\line(0,1) {100}} % single \put(150,410) {#4} \fi % subst. \fi % on C-4 \ifx#5Q \else\put(0,200) {\line(-5,3) {128}} % 1. subst. \put(-430,234) {\makebox(300,87)[r]{#5}} \fi % on C-5 \ifx#6Q \else\ifx#6O\put(-7,11) {\line(-5,-3){128}} % outside \put(7,-11) {\line(-5,-3){128}} % double O \put(-210,-130){O} % on C-6 \else\put(0,0) {\line(-5,-3){128}} % single s. \put(-430,-116) {\makebox(300,87)[r]{#6}} \fi \fi % on C-6 \ifx#7D\put(306,9) {\line(-5,-3) {120}} \fi % 2,1 doub. \ifx#8D\put(180,267) {\line(5,-3) {120}} % 4,3 doub. \else\ifx#8Q \else\put(0,200){\line(-5,-3) {128}} % 2. subst. \put(-430,84) {\makebox(300,87)[r]{#8}} \fi \fi % on C-5 \ifx#9D\put(26,174) {\line(0,-1) {148}} \fi % 5,6 doub. \end{picture} } % end pyrimidine macro \newcommand{\pyranose}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets monosaccharides with a pyran ring % % system. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(588,0) {\line(-1,-1) {159}} % 1,2 bond \put(429,-159) {\line(-1,0) {270}} % 2,3 bond \put(159,-159) {\line(-1,1) {159}} % 3,4 bond \put(0,0) {\line(1,1) {159}} % 4,5 bond \put(159,159) {\line(1,0) {225}} % C-5 to O \put(394,130) {\small O} % ring O \put(460,130) {\line(1,-1) {128}} % O to C-1 \ifx#1Q \else\put(588,0) {\line(1,1) {100}} % beta sub. \put(700,75) {#1} \fi % on C-1 \ifx#2Q \else\put(588,0) {\line(1,-1) {100}} % alpha sub. \put(700,-120){#2} \fi % on C-1 \ifx#3Q \else\put(429,-159){\line(0,1) {85}} % up subst. \put(225,-75) {\makebox(250,87)[r]{#3}} \fi % on C-2 \ifx#4Q \else\put(429,-159){\line(0,-1) {85}} % down sub. \put(400,-315){#4} \fi % on C-2 \ifx#5Q \else\put(159,-159){\line(0,1) {85}} % up subst. \put(130,-73) {#5} \fi % on C-3 \ifx#6Q \else\put(159,-159){\line(0,-1) {85}} % down sub. \put(130,-315){#6} \fi % on C-3 \ifx#7Q \else\put(0,0) {\line(0,1) {85}} % up subst. \put(-270,84) {\makebox(300,87)[r]{#7}} \fi % on C-4 \ifx#8Q \else\put(0,0) {\line(0,-1) {85}} % down sub. \put(-270,-160){\makebox(300,87)[r]{#8}}\fi % on C-4 \put(159,159) {\line(0,1) {85}} % C-6 \put(130,250) {\small ${\rm CH_{2}}$} % sub. on \put(-370,245) {\makebox(500,87)[r]{#9}} % C-6 \end{picture} } % end pyranose macro \newcommand{\furanose}[8] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets monosaccharides with a furan ring % % system. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(448,0) {\line(-1,-2) {89}} % bond 1,2 \put(359,-179) {\line(-1,0) {270}} % bond 2,3 \put(89,-179) {\line(-1,2) {89}} % bond 3,4 \put(0,0) {\line(5,3) {188}} % C-4 to O \put(192,110) {\small O} % ring O \put(260,113) {\line(5,-3) {188}} % O to C-1 \ifx#1Q \else\ifx#1N\put(448,0) {\line(0,1) {380}} % long bond % for nucl. \else\put(448,0) {\line(5,3) {105}} % beta sub. \put(558,50) {#1} \fi % on C-1 \fi \ifx#2Q \else\put(448,0) {\line(5,-3) {105}} % alpha sub. \put(558,-90) {#2} \fi % on C-1 \ifx#3Q \else\put(359,-179) {\line(0,1) {85}} % up subst. \put(155,-95) {\makebox(250,87)[r]{#3}}\fi %on C-2 \ifx#4Q \else\put(359,-179) {\line(0,-1) {85}} % down sub. \put(330,-335) {#4} \fi % on C-2 \ifx#5Q \else\put(89,-179) {\line(0,1) {85}} % up sub. \put(60,-93) {#5} \fi % on C-3 \ifx#6Q \else\put(89,-179) {\line(0,-1) {85}} % down sub. \put(60,-335) {#6} \fi % on C-3 \ifx#7Q \else\put(0,0) {\line(0,-1) {85}} % down sub. \put(-270,-160) {\makebox(300,87)[r]{#7}}\fi %on C-4 \put(0,0) {\line(0,1) {85}} % C-5 \put(-30,90) {\small ${\rm CH_{2}}$} \put(-530,80) {\makebox(500,87)[r]{#8}} \end{picture} } % end furanose macro \newcommand{\purine}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets the purine ring system with optional % % double bonds and substituents. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(0,0) {\line(0,1) {160}} % bond 2 to 1 \put(0,0) {\line(5,-3) {140}} % from 2 to 3 \put(342,0) {\line(-5,-3) {140}} % from 4 to 3 \put(342,0) {\line(0,1) {200}} % from 4 to 5 \put(316,174) {\line(0,-1) {148}} % double 5 to 4 \put(342,200) {\line(-5,3) {171}} % from 5 to 6 \put(171,303) {\line(-5,-3) {140}} % from 6 to 1 \put(342,200) {\line(1,0) {300}} % from 5 to 7 \put(684,0) {\line(0,1) {160}} % from 8 to 7 \put(684,0) {\line(-5,-3) {140}} % from 8 to 9 \put(342,0) {\line(5,-3) {140}} % from 4 to 9 \put(-32,170) {\small N} % N at 1 \put(135,-130) {\small N} % N at 3 \put(652,170) {\small N} % N at 7 \put(477,-130) {\small N} % N at 9 \ifx#1Q \else\put(-128,277) {\line(5,-3) {100}} % subst. on 1 \put(-430,234) {\makebox(300,87)[r]{#1}} \fi \ifx#2D\put(36,9) {\line(5,-3) {100}} % double 2 to 3 \else\put(-7,11) {\line(-5,-3) {128}} \put(7,-11) {\line(-5,-3) {128}} \put(-430,-116){\makebox(300,87)[r]{#2}} \fi %outside double % bond on 2 \ifx#3Q % subst. on 3 \else\put(171,-130) {\line(0,-1) {73}} \put(135,-283) {#3} \fi \ifx#4D\put(162,267) {\line(-5,-3){110}} \fi % d. bond 6,1 \ifx#5Q \else\multiput(158,303)(26,0){2} {\line(0,1) {100}} \put(135,410) {#5} % outside d.-bond \fi % and subst. on 6 \ifx#6Q % single-bonded \else\put(171,303) {\line(0,1) {100}} % subst. on 6 \put(150,410) {#6} \fi \ifx#7Q % subst. on 7 \else\put(812,277) {\line(-5,-3){100}} \put(817,250) {#7} \fi \ifx#8D\put(658,26) {\line(0,1) {125}} % d.-bond 8 to 7 \else\put(691,11) {\line(5,-3) {128}} \put(677,-11) {\line(5,-3) {128}} \put(817,-110) {#8} % outside d.-bond \fi % and subst. on 8 \ifx#9Q % subst. on 9 \else\put(513,-130) {\line(0,-1) {73}} \put(492,-283) {#9} \fi \end{picture} } % end purine macro \newcommand{\fuseiv}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a four-carbon fragment designed to % % be connected to another ring at two places. As the % % result, a sixring is fused linearly to another ring % % system. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(0,200) {\line(5,3) {171}} % NE bond \put(171,303) {\line(5,-3) {171}} % SE bond \put(342,200) {\line(0,-1) {200}} % S bond \put(342,0) {\line(-5,-3){171}} % SW bond \put(171,-103) {\line(-5,3) {171}} % NW bond \ifx#1Q \else\put(171,303) {\line(0,1) {100}} % subst. \put(150,410) {#1} \fi % on top \ifx#2Q \else\put(342,200) {\line(5,3) {128}} % subst. \put(475,250) {#2} \fi % top rt. \ifx#3Q \else\put(342,0) {\line(5,-3) {128}} % subst. \put(475,-100) {#3} \fi % low rt. \ifx#4Q \else\put(171,-103) {\line(0,-1) {100}} % bottom \put(150,-283) {#4} \fi % subst. \ifx#5D \put(36,191) {\line(5,3) {126}} \fi % NE double \ifx#6D \put(180,267) {\line(5,-3) {126}} % SE double \else\ifx#6Q \else\put(342,200) {\line(5,-3) {128}} % 2. subst. \put(475,100) {#6} \fi % top rt. \fi \ifx#7D \put(316,174) {\line(0,-1) {148}} \fi % S double \ifx#8D \put(306,9) {\line(-5,-3) {126}} % SW double \else\ifx#8Q \else\put(342,0) {\line(5,3) {128}} % 2. subst. \put(475,50) {#8} \fi % lower rt. \fi \ifx#9D \put(162,-67) {\line(-5,3) {126}}\fi % NW double \end{picture} } % end fuseiv macro \newcommand{\fuseup}[9] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a four-carbon fragment designed to % % connect to another ring at two places. As the result, % % a sixring is fused angularly to the original ring. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(-171,303) {\line(0,1) {200}} % N bond \put(-171,503) {\line(5,3) {171}} % NE bond \put(0,606) {\line(5,-3) {171}} % SE bond \put(171,503) {\line(0,-1) {200}} % S bond \put(171,303) {\line(-5,-3) {171}} % SW bond \ifx#1Q \else\put(-171,503) {\line(-5,3) {128}} % upper left \put(-600,537) {\makebox(300,87)[r]{#1}}\fi % subst. \ifx#2Q \else\put(0,606) {\line(0,1) {100}} % top sub. \put(-19,713) {#2} \fi \ifx#3Q \else\put(171,503) {\line(5,3) {128}} % top rt. \put(304,553) {#3} \fi % subst. \ifx#4Q \else\put(171,303) {\line(5,-3) {128}} % lower rt. \put(304,203) {#4} \fi % subst. \ifx#5D\put(-145,329) {\line(0,1) {148}} \fi % N double \ifx#6D\put(-135,494) {\line(5,3) {126}} \fi % NE double \ifx#7D\put(9,570) {\line(5,-3) {126}} \fi % SE double \ifx#8D\put(145,477) {\line(0,-1) {148}} \fi % S double \ifx#9D\put(135,312) {\line(-5,-3) {126}} \fi % SW double \end{picture} } % end fuseup macro \newcommand{\fuseiii}[6] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a three-carbon fragment designed to % % be connected to another ring at two places. As the % % result, a fivering is fused linearly to the original % % ring system. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(0,200) {\line(1,0) {342}} % E bond \put(342,200) {\line(0,-1) {200}} % S bond \put(342,0) {\line(-5,-3) {171}} % SW bond \put(171,-103) {\line(-5,3) {171}} % NW bond \ifx#1Q \else\put(342,200) {\line(5,3) {128}} % upper rt. \put(475,250) {#1} \fi % subst. \ifx#2Q \else\put(342,0) {\line(5,-3) {128}} % lower rt. \put(475,-100) {#2} \fi % subst. \ifx#3Q \else\put(171,-103) {\line(0,-1) {100}} % bottom \put(150,-283) {#3} \fi % subst. \ifx#4Q \else\put(342,200) {\line(5,-3) {128}} % 2. upper \put(475,100) {#4} \fi % rt. sub. \ifx#5Q \else\put(342,0) {\line(5,3) {128}} % 2. lower \put(475,50) {#5} \fi % rt. sub. \ifx#6D \put(316,174) {\line(0,-1) {148}} \fi % S double \end{picture} } % end fuseiii macro \newcommand{\cto}[3] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets an arrow for a chemical equation and % % puts text above and below it. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \len=50 \multiply \len by #3 % calc. arrow \advance \len by 120 % length \begin{picture}(\pw,\pht)(-\xi,-\yi) \put(60,50) {\vector(1,0) {\len}} % draw arrow \put(90,70) {\makebox(\len,70)[l] {\scriptsize ${\rm #1}$}} % text on top \put(90,-40) {\makebox(\len,70)[l] {\scriptsize ${\rm #2}$}} % text below \end{picture} } \newcommand{\sbond}[1] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a horizontal single bond of user- % % specified length. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \xbox=#1 \advance \xbox by 2 \hspace{1.5pt} \parbox{\xbox pt} {\rule{#1 pt}{0.4pt} } \xbox=50 } % end sbond macro \newcommand{\dbond}[2] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a horizontal double bond of user- % % specified length. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \xbox=#1 \advance \xbox by 2 \hspace{1.5pt}\parbox{\xbox pt} {\rule{#1 pt}{0.4pt}\vspace{-#2 pt}\\ \rule{#1 pt}{0.4pt} } \xbox=50 } % end dbond macro \newcommand{\tbond}[2] { %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % This macro typesets a horizontal triple bond of user- % % specified length. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % \xbox=#1 \advance \xbox by 2 \hspace{1.5pt} \parbox{\xbox pt} {\rule{#1 pt}{0.4pt}\vspace{-#2 pt}\\ \rule{#1 pt}{0.4pt}\vspace{-#2 pt}\\ \rule{#1 pt}{0.4pt} } \xbox=50 } % end tbond macro