|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T m
Length: 70619 (0x113db)
Types: TextFile
Names: »macros.tex«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦c319c2751⟧ »unix3.0/TeX3.0.tar.Z«
└─⟦036c765ac⟧
└─⟦this⟧ »TeX3.0/TeXcontrib/chemtex/macros.tex«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦63303ae94⟧ »unix3.14/TeX3.14.tar.Z«
└─⟦c58930e5c⟧
└─⟦this⟧ »TeX3.14/TeXcontrib/chemtex/macros.tex«
\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