%   October 24, 2000
%
%     The following special characters are used in 
%     this macro package:
%     
%     backslash:      \
%     vertical bar:   |
%     left quote:     `
%     right quote:    '
%     quotation mark: "
%     left brace:     {
%     right brace:    }
%     dollar sign:    $
%     percent sign:   %
%     number sign:    #
%     circumflex:     ^
%
{\catcode`\|=0 |catcode`|\=12 |obeyspaces |let|m=|message
|m{                                                                        }
|m{  These macros may be used free of charge and without authorization     }
|m{  for scientific work only.  Written permission is required for any     }
|m{  commercial use.  If used in publications, citation similar to the     }
|m{  following reference is required:                                      }
|m{                                                                        }
|m{  Michael Ramek,                                                        }
|m{  ``Chemical Structure Formul\ae\ and x/y-Diagrams with \TeX'',         }
|m{  in                                                                    }
|m{  ``\TeX: Applications, Uses, Methods, Proceedings of the \TeX88        }
|m{  Conference'',                                                         }
|m{  edited by Malcolm Clark,                                              }
|m{  published by Ellis Horwood Publishers, Chichester, UK, 1990,          }
|m{  pages 227--258                                                        }
|m{                                                                        }
|m{  Questions and inquiries should be addressed to the author:            }
|m{                                                                        }
|m{  Michael Ramek                                                         }
|m{  Institut f\"ur Physikalische und Theoretische Chemie,                 }
|m{  Technische Universit\"at Graz                                         }
|m{  Rechbauerstra{\ss}e 12                                                }
|m{  A--8010 Graz                                                          }
|m{  Austria                                                               }
|m{     }|m{}}
%
\newhelp\maxsIde{mproper nesting of side chains!}
\newhelp\aromatsideIgnored%
{ncomplete aromatic system in side chain ignored!}
\newhelp\bicycloIgnored{mproper bicyclo definition ignored!}
\newhelp\aromatIgnored{ncomplete aromatic system ignored!}
\def\messAge#1{{\escapechar`I\message{\the#1}}}%
%
\def\vrUle#1#2#3{\hbox to\zEro{\vrule width#1 height#2 depth#3%
\hss}\kern#1}%
\def\negadvAnc#1#2{\advance#1-#2}%
\def\atom#1{\sAve{#1}\adjustAtom}%
\def\phantatom#1{\sAve{#1}\phAntbox\adjustAtom}%
\def\adjustAtom{\negadvAnc\hposition\lastwd\ifnum\backflag=1%
\halfbAck\else\ifnum\backflag=2\fullbAck\fi\fi%
\raise\vposition\box0\ifdim\hposition<\minhposition%
\minhposition\hposition\fi\advance\hposition\lastwd%
\helpseven\baselineskip\helpeight\count33sp%
\advance\helpseven\vposition\negadvAnc\helpeight\vposition%
\vrUle\zEro\helpseven\helpeight\backflag0}%
%
\def\epin#1{\setbox0\hbox{#1}\ifnoprint\phAntbox\fi%
\raise\vposition\copy0\kern-\wd0\advance\hposition\wd0\relax%
\ifdim\hposition>\maxhposition\maxhposition\hposition\fi%
\negadvAnc\hposition\wd0}%
\def\wpin#1{\kern-\lastwd\setbox0\hbox{#1}\ifnoprint\phAntbox\fi%
\kern-\wd0\negadvAnc\hposition\wd0\negadvAnc\hposition\lastwd%
\relax\ifdim\hposition<\minhposition\minhposition\hposition\fi%
\advance\hposition\lastwd\advance\hposition\wd0%
\raise\vposition\box0\kern\lastwd}%
\def\spin#1{\kern-\ptfIve\lastwd\setbox0\hbox{#1}%
\ifnoprint\phAntbox\fi%
\kern-\ptfIve\wd0\negadvAnc\vposition\ht0\negadvAnc\vposition\dp0%
\advance\vposition-\fIfth\raise\vposition\copy0%
\advance\vposition\ht0\advance\vposition\dp0%
\advance\vposition\fIfth\kern-\ptfIve\wd0\kern\ptfIve\lastwd}%
\def\npin#1{\kern-\ptfIve\lastwd\setbox0\hbox{#1}%
\ifnoprint\phAntbox\fi%
\kern-\ptfIve\wd0\advance\vposition\ht0\advance\vposition\dp0%
\advance\vposition\fIfth\raise\vposition\copy0%
\negadvAnc\vposition\ht0\negadvAnc\vposition\dp0%
\advance\vposition-\fIfth\kern-\ptfIve\wd0\kern\ptfIve\lastwd}%
%
\def\sAve#1{\setbox0\hbox{#1}\lastwd\wd0\lasthtdp\ht0%
\advance\lasthtdp\dp0\advance\hposition\lastwd%
\advance\hsidecorr\lastwd\ifdim\hposition>\maxhposition%
\maxhposition\hposition\fi\ifnoprint\phAntbox\fi}%
\def\phAntbox{\helpone\ht0\negadvAnc\helpone\dp0%
\helptwo-\ht0\advance\helptwo\helpone%
\helpone-\helpone\negadvAnc\helpone\dp0%
\setbox0\hbox{\vrUle\lastwd\helpone\helptwo}}%
%
\def\side#1{\ifnum\sidenesting>20\messAge{\maxsIde}\else%
\advance\sidenesting1\cone\sidenesting\multiply\cone10%
\ctwo\cone\advance\ctwo10%
\loop\cthree\ctwo\advance\cthree-10\relax%
\ifnum\cthree>0\dimen\ctwo\dimen\cthree%
\negadvAnc\ctwo1\repeat\ctwo\cone\advance\ctwo20%
\loop\cthree\ctwo\advance\cthree-10\relax%
\ifnum\cthree>10\count\ctwo\count\cthree\advance\ctwo-10%
\repeat\hsidecorr\zEro\aromatcount0 #1\kern-\hsidecorr%
\negadvAnc\hposition\hsidecorr\vposition\dimen11\ctwo4%
\advance\cone1\loop\cthree\ctwo\advance\cthree10\ifnum\ctwo<\cone%
\dimen\ctwo\dimen\cthree\advance\ctwo1\repeat\ctwo20%
\advance\cone\ctwo%
\ifnum\aromatcount>0\messAge{\aromatsideIgnored}\fi%
\loop\cthree\ctwo\advance\cthree10\relax%
\ifnum\cthree<\cone\count\ctwo\count\cthree%
\advance\ctwo10\repeat\negadvAnc\sidenesting1\fi}%
%
\def\hcorrEct#1{\advance\hsidecorr#1\advance\hposition#1%
\kern#1}%
\def\fullbAck{\hcorrEct{-\lastwd}}%
\def\halfbAck{\hcorrEct{-\ptfIve\lastwd}}%
\def\nestrIch{\ifnum\nemarker=0\setbox83\hbox{\chelpeight0%
\helpone.6\fIvem\kern\ptzEro\nInem\loop\helptwo\helpone%
\advance\helptwo-\ptzEro\sIxem%
\vrUle{\ptzEro1\twOem}\helpone{-\helptwo}%
\advance\helpone\ptzEro08\thrEm\advance\chelpeight1\relax%
\ifnum\chelpeight<50\repeat\kern\ptzEro\nInem}\nemarker1\fi%
\sAve{\copy83}}%
\def\nwstrIch{\ifnum\nwmarker=0\setbox93\hbox{\chelpeight0%
\helpone.6\fIvem\kern\ptzEro\nInem\loop\helptwo\helpone%
\advance\helptwo-\ptzEro\sIxem%
\vrUle{\ptzEro1\twOem}\helpone{-\helptwo}%
\advance\helpone-\ptzEro08\thrEm\advance\chelpeight1\relax%
\ifnum\chelpeight<50\repeat\kern\ptzEro\nInem}%
\nwmarker1\fi\sAve{\copy93}}%
\def\dotbackslAsh{\setbox1\hbox{.}\raise.6\fIvem\copy1%
\kernfIfteen\raise\ptfOur2\fIvem\copy1%
\kernfIfteen\raise\fIfth\copy1%
\kernfIfteen\lower\ptzEro2\fIvem\copy1%
\kernfIfteen\lower\ptzwEi\fIvem\box1\kern\ptzEro\eitEm}%
\def\dotslAsh{\setbox1\hbox{.}\lower\ptzwEi\fIvem\copy1%
\kernfIfteen\lower\ptzEro2\fIvem\copy1%
\kernfIfteen\raise\fIfth\copy1%
\kernfIfteen\raise\ptfOur2\fIvem\copy1%
\kernfIfteen\raise.6\fIvem\box1\kern\ptzEro\eitEm}%
\def\kernfIfteen{\kern-\ptOne\fIvem}%
\def\nnepfEil{\ifnoprint\sAve{\vrUle{\pthrEe7783\eitEm}\zEro\zEro}%
\else\sAve{\kern\ptzEro\nInem\helpone\ptfIve4\sIxem%
\helptwo-\ptfIve4\onEm\relax\loop\ifdim\helptwo<\ptfIve5\fOurem%
\vrUle{\ptzEro0\fOurem}\helptwo\helpone%
\advance\helpone-\ptzEro1\fIvem\advance\helptwo\ptzEro\fIvem\repeat%
\loop\ifdim\helptwo>-\helpone\vrUle{\ptzEro0\fOurem}\helptwo\helpone%
\advance\helpone-\ptzEro1\fIvem\advance\helptwo-\ptzEro\zEero\fIvem%
\repeat}\fi}%
\def\enepfEil{\ifnum\enemarker=0%
\setbox63\hbox{\helpone\ptzEro8\sIxem\helptwo-\helpone%
\kern.\onEm\loop\advance\helpone-\ptzEro0\thrEm%
\advance\helptwo\ptzEro1\onEm\relax\ifdim\helptwo<\fIfth%
\vrUle\stroke\helptwo\helpone\repeat%
\vrUle\stroke{.\onEm}\helpone%
\kern\ptzEro\sEvem}\enemarker1\fi\sAve{\copy63}}%
\def\esepfEil{\ifnum\esemarker=0%
\setbox43\hbox{\helpone-\ptzEro8\sIxem\helptwo-\helpone%
\kern.\onEm\loop\advance\helpone\ptzEro0\thrEm%
\advance\helptwo-\ptzEro1\onEm\relax\ifdim\helptwo>-\fIfth%
\vrUle\stroke{-\helpone}{-\helptwo}\repeat%
\vrUle\stroke{-\helpone}{.\onEm}%
\kern\ptzEro\sEvem}\esemarker1\fi\sAve{\copy43}}%
\def\ssepfEil{\ifnoprint\sAve{\vrUle{\pthrEe7783\eitEm}\zEro\zEro}%
\else\sAve{\kern\ptzEro\nInem\helpone\ptfIve4\sIxem%
\helptwo-\ptfIve4\onEm\loop\ifdim\helptwo<\ptfIve5\fOurem%
\vrUle{\ptzEro0\fOurem}\helpone\helptwo%
\advance\helpone-\ptzEro1\fIvem\advance\helptwo\ptzEro\fIvem%
\repeat\loop\ifdim\helptwo>-\helpone%
\vrUle{\ptzEro0\fOurem}\helpone\helptwo%
\advance\helpone-\ptzEro1\fIvem\advance\helptwo-\ptzEro\zEero\fIvem%
\repeat}\fi}%
\def\sswpfEil{\ifnoprint\sAve{\vrUle{\pthrEe7783\eitEm}\zEro\zEro}%
\else\sAve{\helpone-\ptfIve\em\helptwo\ptfIve\thrEm%
\loop\ifdim\helptwo<\ptfIve5\fOurem%
\vrUle{\ptzEro0\fOurem}\helpone\helptwo%
\advance\helpone\ptzEro1\fIvem\advance\helptwo\ptzEro\zEero\fIvem%
\repeat\loop\ifdim\helpone<\ptfIve4\sIxem%
\vrUle{\ptzEro0\fOurem}\helpone\helptwo%
\advance\helptwo-\ptzEro\fIvem\advance\helpone\ptzEro1\fIvem%
\repeat\kern\ptzEro\fIvem}\fi}%
\def\wswpfEil{\ifnum\wswmarker=0%
\setbox53\hbox{\helpone\zEro\kern\ptzEro\sEvem%
\vrUle\stroke\zEro{.\onEm}%
\advance\helpone\ptzEro0\thrEm\helptwo\fIfth%
\loop\ifdim\helpone>-\helptwo\vrUle\stroke\helpone\helptwo%
\advance\helpone\ptzEro0\thrEm\advance\helptwo-\ptzEro1\onEm%
\repeat\kern.\onEm}\wswmarker1\fi\sAve{\copy53}}%
\def\wnwpfEil{\ifnum\wnwmarker=0\setbox73\hbox{\helpone\zEro%
\kern\ptzEro\sEvem\vrUle\stroke{.\onEm}\zEro%
\advance\helpone\ptzEro0\thrEm\helptwo\fIfth%
\loop\ifdim\helpone>-\helptwo\vrUle\stroke\helptwo\helpone%
\advance\helpone\ptzEro0\thrEm\advance\helptwo-\ptzEro1\onEm%
\repeat\kern.\onEm}\wnwmarker1\fi\sAve{\copy73}}%
\def\nnwpfEil{\ifnoprint\sAve{\vrUle{\pthrEe7783\eitEm}\zEro\zEro}%
\else\sAve{\helpone-\ptfIve\em\helptwo\ptfIve\thrEm%
\loop\ifdim\helptwo<\ptfIve5\fOurem%
\vrUle{\ptzEro0\fOurem}\helptwo\helpone%
\advance\helpone\ptzEro1\fIvem\advance\helptwo\ptzEro\zEero\fIvem%
\repeat\loop\ifdim\helpone<\ptfIve4\sIxem%
\vrUle{\ptzEro0\fOurem}\helptwo\helpone%
\advance\helpone\ptzEro1\fIvem\advance\helptwo-\ptzEro\fIvem%
\repeat\kern\ptzEro\fIvem}\fi}%
%
\def\nphantom{\adjUstn\postadjUstn}%
\def\nsingle{\adjUstn\raise\vposition\nstrIch\postadjUstn}%
\def\ndouble{\adjUstn\kern.\onEm\raise\vposition\nstrIch%
\kern-\fIfth\raise\vposition\nstrIch\kern.\onEm\postadjUstn}%
\def\ntriple{\adjUstn\kern-\fIfth\raise\vposition\nstrIch%
\kern\fIfth\raise\vposition\nstrIch\kern\fIfth%
\raise\vposition\nstrIch\kern-\fIfth\postadjUstn}%
\def\adjUstn{\kernEleven\halfbAck}%
\def\postadjUstn{\advance\vposition1\pthrEe5\twOem\backflag1}%
\def\nstrIch{\hbox{\ifnoprint\vrUle\zEro{1\ptOne\nInem}{-.\onEm}\else%
\vrUle{\ptzEro\fOurem}{1\ptOne\nInem}{-.\onEm}\kern-\ptzEro\fOurem%
\fi}}%
\def\kernEleven{\advance\vposition1\ptOne11111\lasthtdp}%
%
\def\nneabove{\advance\vposition2\ptzEro5\lasthtdp\halfbAck%
\nnepfEil\raise\vposition\box0\hcorrEct{\ptOne7\lastwd}%
\advance\vposition.80\thrEm\backflag1}%
\def\nneevoba{\advance\vposition2\ptzEro5\lasthtdp\halfbAck%
\sswpfEil\raise\vposition\box0\hcorrEct{\pthrEe4\lastwd}%
\advance\vposition.80\thrEm\backflag1}%
\def\nnebelow{\advance\vposition2\ptzEro5\lasthtdp\halfbAck%
\sAve{\setbox1\hbox{.}\lower\ptfIve5\fIvem\copy1\kerntwEntythree%
\lower\pthrEe\onEm\copy1\kerntwEntythree\lower\ptzEro6\fIvem\copy1%
\kerntwEntythree\raise\ptOne\eitEm\copy1\kerntwEntythree%
\raise\ptfOur2\fIvem\box1}\raise\vposition\box0%
\hcorrEct{-\ptzEro5\lastwd}\advance\vposition.80\thrEm\backflag1}%
\def\nnephantom{\halfbAck\sAve/\phAntbox\adjUstnne%
\raise\vposition\box0\postadjUstnne}%
\def\nnesingle{\halfbAck\sAve/\adjUstnne%
\raise\vposition\box0\postadjUstnne}%
\def\nnedouble{\halfbAck\sAve/\adjUstnne%
\advance\vposition\ptzEro3\onEm\kern-\ptzEro9\thrEm%
\raise\vposition\copy0\advance\vposition-\ptzEro6\twOem\kern-\wd0%
\kern\ptOne8\sIxem\raise\vposition\box0\kern-\ptzEro9\thrEm%
\advance\vposition\ptzEro3\onEm\postadjUstnne}%
\def\nnetriple{\halfbAck\sAve/\adjUstnne%
\advance\vposition\ptzEro6\twOem\kern-\ptOne8\sIxem%
\raise\vposition\copy0\advance\vposition-\ptzEro6\twOem\kern-\wd0%
\kern\ptOne8\sIxem\raise\vposition\copy0%
\advance\vposition-\ptzEro6\twOem\kern-\wd0\kern\ptOne8\sIxem%
\raise\vposition\box0\kern-\ptOne8\sIxem%
\advance\vposition\ptzEro6\twOem\postadjUstnne}%
\def\adjUstnne{\kernEleven\hcorrEct{\pthrEe7\lastwd}}%
\def\postadjUstnne{\advance\vposition\lasthtdp%
\hcorrEct{\ptOne3\lastwd}\ifdim\hposition>\maxhposition%
\maxhposition\hposition\fi\backflag1}%
\def\kerntwEntythree{\kern-\ptzwEi\thrEm}%
%
\def\nebelow{\halfbAck\sAve\dotslAsh\adjUstnne%
\raise\vposition\box0\postadjUstnne}%
\def\nephantom{\nestrIch\phAntbox\raise\vposition\box0%
\advance\vposition1\ptzEro5\fIvem}%
\def\nesingle{\nestrIch\raise\vposition\box0%
\advance\vposition1\ptzEro5\fIvem}%
\def\nedouble{\nestrIch\advance\vposition\ptzEro70\sEvem%
\kern-\ptzEro70\sEvem\raise\vposition\copy0\kern-\wd0%
\kern\ptOne41\fOurem%
\advance\vposition-\ptOne41\fOurem\raise\vposition\box0%
\kern-\ptzEro70\sEvem\advance\vposition1\ptOne25\sEvem}%
\def\netriple{\nestrIch\raise\vposition\copy0\kern-\wd0%
\kern-\ptOne41\fOurem\advance\vposition\ptOne41\fOurem%
\raise\vposition\copy0\kern-\wd0\kern\ptzwEi82\eitEm%
\advance\vposition-\ptzwEi82\eitEm\raise\vposition\box0%
\kern-\ptOne41\fOurem\advance\vposition1\ptOne96\fOurem}%
%
\def\eneabove{\advance\vposition\ptfOur\nInem\enepfEil%
\raise\vposition\box0\advance\vposition-\ptzEro\nInem}%
\def\eneevoba{\advance\vposition\ptfIve8\fIvem\wswpfEil%
\raise\vposition\box0\advance\vposition-\ptOne8\fIvem}%
\def\enebelow{\advance\vposition\ptfIve\onEm\sAve\lurOdots%
\raise\vposition\box0\advance\vposition-\ptOne\onEm}%
%
\def\ephantom{\sAve\hstrIch\phAntbox\raise\vposition\box0}%
\def\esingle{\sAve\hstrIch\raise\vposition\box0}%
\def\edouble{\sAve\hstrIch\advance\vposition.\onEm%
\raise\vposition\copy0\kern-\wd0\advance\vposition-\fIfth%
\raise\vposition\box0\advance\vposition.\onEm}%
\def\etriple{\sAve\hstrIch\advance\vposition\fIfth%
\raise\vposition\copy0\kern-\wd0\advance\vposition-\fIfth%
\raise\vposition\copy0\advance\vposition-\fIfth\kern-\wd0%
\raise\vposition\box0\advance\vposition\fIfth}%
%
\def\eseabove{\advance\vposition\ptOne\nInem\esepfEil%
\raise\vposition\box0\advance\vposition-\ptfIve\nInem}%
\def\eseevoba{\advance\vposition\ptzEro\nInem\wnwpfEil%
\raise\vposition\box0\advance\vposition-\ptfOur\nInem}%
\def\esebelow{\advance\vposition\ptOne\sEvem\sAve\lorUdots%
\raise\vposition\box0\advance\vposition-\ptfIve\sEvem}%
%
\def\sebelow{\ssegenerAl\dotbackslAsh}%
\def\sephantom{\nwstrIch\phAntbox\advance\vposition-.62\eitEm%
\raise\vposition\box0\advance\vposition-\ptfOur2\eitEm}%
\def\sesingle{\nwstrIch\advance\vposition-.62\eitEm%
\raise\vposition\box0\advance\vposition-\ptfOur2\eitEm}%
\def\sedouble{\nwstrIch\advance\vposition-.698\sEvem%
\kern-\ptzEro70\sEvem\raise\vposition\copy0\kern-\wd0%
\kern\ptOne41\fOurem\advance\vposition\ptOne41\fOurem%
\raise\vposition\box0\kern-\ptzEro70\sEvem%
\advance\vposition-\ptfOur98\sEvem}%
\def\setriple{\nwstrIch\advance\vposition-.62\eitEm%
\raise\vposition\copy0\kern-\wd0\kern-\ptOne41\fOurem%
\advance\vposition-\ptOne41\fOurem\raise\vposition\copy0%
\kern-\wd0\kern\ptzwEi82\eitEm\advance\vposition\ptzwEi82\eitEm%
\raise\vposition\box0%
\kern-\ptOne41\fOurem\advance\vposition-\ptfIve69\fOurem}%
%
\def\sseabove{\sseAdjust\ssepfEil\raise\vposition\box0%
\hcorrEct{-\ptzEro6\lastwd}\ssepostAdjust}%
\def\sseevoba{\sseAdjust\nnwpfEil\raise\vposition\box0%
\hcorrEct{\ptzEro6\lastwd}\ssepostAdjust}%
\def\ssebelow{\sseAdjust\sAve{\setbox1\hbox{.}%
\raise\ptfOur5\fIvem\copy1%
\kerntwEntythree\raise\ptzwEi\onEm\copy1%
\kerntwEntythree\lower\ptzEro3\fIvem\copy1%
\kerntwEntythree\lower\ptzwEi\eitEm\copy1%
\kerntwEntythree\lower\ptfIve2\fIvem\box1}\kern-\ptzEro8\lastwd%
\raise\vposition\box0\kern-\ptOne7\lastwd%
\advance\hsidecorr-\ptzwEi5\lastwd\advance\hposition-\ptzwEi5\lastwd%
\ssepostAdjust}%
\def\sseAdjust{\advance\vposition-1\ptzwEi22222\lasthtdp\halfbAck}%
\def\ssepostAdjust{\advance\vposition-1\pthrEe6666\sIxem\backflag1}%
\def\ssephantom{\halfbAck\sAve{$\backslash$}\phAntbox%
\adjUstsse\raise\vposition\box0\postadjUstsse}%
\def\ssesingle{\ssegenerAl{$\backslash$}}%
\def\ssedouble{\halfbAck\sAve{$\backslash$}\adjUstsse%
\advance\vposition\ptzEro3\onEm\kern\ptzEro9\thrEm%
\raise\vposition\copy0\advance\vposition-\ptzEro6\twOem%
\kern-\wd0\kern-\ptOne8\sIxem\raise\vposition\box0\kern\ptzEro9\thrEm%
\advance\vposition\ptzEro3\onEm\postadjUstsse}%
\def\ssetriple{\halfbAck\sAve{$\backslash$}\adjUstsse%
\advance\vposition\ptzEro6\twOem\kern\ptOne8\sIxem%
\raise\vposition\copy0%
\advance\vposition-\ptzEro6\twOem\kern-\wd0\kern-\ptOne8\sIxem%
\raise\vposition\copy0\advance\vposition-\ptzEro6\twOem\kern-\wd0%
\kern-\ptOne8\sIxem\raise\vposition\box0\kern\ptOne8\sIxem%
\advance\vposition\ptzEro6\twOem\postadjUstsse}%
\def\ssegenerAl#1{\halfbAck\sAve{#1}\adjUstsse%
\raise\vposition\box0\postadjUstsse}%
\def\adjUstsse{\hcorrEct{\ptzwEi3\lastwd}%
\negadvAnc\vposition\lasthtdp}%
\def\postadjUstsse{\negEleven\hcorrEct{\ptzwEi7\lastwd}%
\ifdim\hposition>\maxhposition\maxhposition\hposition\fi%
\backflag1}%
%
\def\sphantom{\adjUsts\postadjUsts}%
\def\ssingle{\adjUsts\raise\vposition\sstrIch\postadjUsts}%
\def\sdouble{\adjUsts\kern.\onEm\raise\vposition\sstrIch%
\kern-\fIfth\raise\vposition\sstrIch\kern.\onEm\postadjUsts}%
\def\striple{\adjUsts\kern-\fIfth\raise\vposition\sstrIch%
\kern\fIfth\raise\vposition\sstrIch\kern\fIfth\raise\vposition%
\sstrIch\kern-\fIfth\postadjUsts}%
\def\adjUsts{\negEleven\halfbAck}%
\def\postadjUsts{\advance\vposition-1\pthrEe5\twOem\backflag1}%
\def\sstrIch{\hbox{\ifnoprint%
\vrUle\zEro{\ptfIve\fOurem}{\ptfIve\fIvem}%
\else\vrUle{\ptzEro\fOurem}{\ptfIve\fOurem}{\ptfIve\fIvem}%
\kern-\ptzEro\fOurem\fi}}%
%
\def\sswabove{\sseAdjust\sswpfEil\kern-1\ptzwEi5\lastwd%
\raise\vposition\box0\kern-.81\lastwd%
\advance\hsidecorr-2\ptzEro6\lastwd%
\advance\hposition-2\ptzEro6\lastwd\ssepostAdjust}%
\def\sswevoba{\sseAdjust\nnepfEil\kern-1\ptOne\lastwd%
\raise\vposition\box0\kern-.83\lastwd%
\advance\hsidecorr-1.93\lastwd%
\advance\hposition-1.93\lastwd\ssepostAdjust}%
\def\sswbelow{\sseAdjust%
\sAve{\setbox1\hbox{.}\lower\ptfIve0\fIvem\copy1\kerntwEntythree%
\lower\ptzwEi\sIxem\copy1\kerntwEntythree%
\lower\ptzEro1\fIvem\copy1\kerntwEntythree%
\raise\ptzwEi\thrEm\copy1\kerntwEntythree%
\raise\ptfOur7\fIvem\box1}\kern-.9\lastwd\raise\vposition\box0%
\kern-.85\lastwd\advance\hsidecorr-1.75\lastwd%
\advance\hposition-1.75\lastwd\ssepostAdjust}%
\def\sswphantom{\halfbAck\sAve/\phAntbox\adjUstssw%
\raise\vposition\box0\postadjUstssw}%
\def\sswsingle{\sswgenerAl/}%
\def\sswdouble{\halfbAck\sAve/\adjUstssw%
\advance\vposition\ptzEro3\onEm\kern-\ptzEro9\thrEm%
\raise\vposition\copy0\advance\vposition-\ptzEro6\twOem\kern-\wd0%
\kern\ptOne8\sIxem\raise\vposition\box0\kern-\ptzEro9\thrEm%
\advance\vposition\ptzEro3\onEm\postadjUstssw}%
\def\sswtriple{\halfbAck\sAve/\adjUstssw%
\advance\vposition\ptzEro6\twOem\kern-\ptOne8\sIxem%
\raise\vposition\copy0\advance\vposition-\ptzEro6\twOem\kern-\wd0%
\kern\ptOne8\sIxem\raise\vposition\copy0%
\advance\vposition-\ptzEro6\twOem%
\kern-\wd0\kern\ptOne8\sIxem\raise\vposition\box0%
\kern-\ptOne8\sIxem\advance\vposition\ptzEro6\twOem\postadjUstssw}%
\def\sswgenerAl#1{\halfbAck\sAve{#1}\adjUstssw%
\raise\vposition\box0\postadjUstssw}%
\def\adjUstssw{\hcorrEct{-1\ptOne\lastwd}%
\negadvAnc\vposition\lasthtdp}%
\def\postadjUstssw{\negEleven\hcorrEct{-1\ptfOur\lastwd}\backflag1}%
\def\negEleven{\advance\vposition-1\ptOne11111\lasthtdp}%
%
\def\swbelow{\sswgenerAl\dotslAsh}%
\def\swphantom{\fullbAck\nestrIch\phAntbox%
\advance\vposition-1\ptzEro5\fOurem\fullbAck\raise\vposition\box0%
\fullbAck\backflag2}%
\def\swsingle{\fullbAck\nestrIch\advance\vposition-1\ptzEro5\fOurem%
\fullbAck\raise\vposition\box0\fullbAck\backflag2}%
\def\swdouble{\fullbAck\nestrIch%
\advance\vposition-1\ptOne24\sEvem\fullbAck\kern\ptzEro70\sEvem%
\raise\vposition\copy0\kern-\wd0\kern-\ptOne41\fOurem%
\advance\vposition\ptOne41\fOurem\raise\vposition\box0%
\kern\ptzEro70\sEvem%
\fullbAck\advance\vposition-\ptzEro70\sEvem\backflag2}%
\def\swtriple{\fullbAck\nestrIch\advance\vposition-1\ptzEro5\fOurem%
\fullbAck\raise\vposition\copy0\kern-\wd0\kern-\ptOne41\fOurem%
\advance\vposition\ptOne41\fOurem\raise\vposition\copy0\kern-\wd0%
\kern\ptzwEi82\eitEm\advance\vposition-\ptzwEi82\eitEm%
\raise\vposition\box0\kern-\ptOne41\fOurem\fullbAck%
\advance\vposition\ptOne41\fOurem\backflag2}%
%
\def\wswabove{\advance\vposition\ptOne\nInem\fullbAck\wswpfEil%
\fullbAck\raise\vposition\box0\advance\vposition-\ptfIve\nInem%
\fullbAck\backflag2}%
\def\wswevoba{\advance\vposition\ptzEro\nInem\fullbAck\enepfEil%
\fullbAck\raise\vposition\box0\advance\vposition-\ptfOur\nInem%
\fullbAck\backflag2}%
\def\wswbelow{\advance\vposition\ptOne\twOem\fullbAck%
\sAve\lurOdots\fullbAck\raise\vposition\box0%
\advance\vposition-\ptfIve\twOem\fullbAck\backflag2}%
%
\def\wphantom{\adjUstw\negadvAnc\hposition\lastwd%
\negadvAnc\hsidecorr\lastwd\backflag2}%
\def\wsingle{\adjUstw\raise\vposition\box0\fullbAck\backflag2}%
\def\wdouble{\adjUstw\advance\vposition.\onEm%
\raise\vposition\copy0\kern-\wd0\advance\vposition-\fIfth%
\raise\vposition\box0\advance\vposition.\onEm\fullbAck\backflag2}%
\def\wtriple{\adjUstw\advance\vposition\fIfth%
\raise\vposition\copy0\kern-\wd0%
\advance\vposition-\fIfth\raise\vposition\copy0\kern-\wd0%
\advance\vposition-\fIfth\raise\vposition\box0%
\advance\vposition\fIfth\fullbAck\backflag2}%
\def\adjUstw{\fullbAck\sAve\hstrIch\fullbAck%
\ifdim\hposition<\minhposition\minhposition\hposition\fi}%
%
\def\wnwabove{\advance\vposition\ptfOur\nInem\fullbAck\wnwpfEil%
\fullbAck\raise\vposition\box0\advance\vposition-\ptzEro\nInem%
\fullbAck\backflag2}%
\def\wnwevoba{\advance\vposition\ptfIve\nInem\fullbAck\esepfEil%
\fullbAck\raise\vposition\box0\advance\vposition-\ptOne\nInem%
\fullbAck\backflag2}%
\def\wnwbelow{\advance\vposition\ptfIve\sIxem\fullbAck%
\sAve\lorUdots\fullbAck\raise\vposition\box0%
\advance\vposition-\ptOne\sIxem\fullbAck\backflag2}%
%
\def\nwbelow{\nnwgenerAl{\dotbackslAsh}}%
\def\nwphantom{\fullbAck\nwstrIch\phAntbox\fullbAck%
\advance\vposition\ptfOur\twOem\raise\vposition\box0\fullbAck%
\advance\vposition.63\fIvem\backflag2}%
\def\nwsingle{\fullbAck\nwstrIch\fullbAck%
\advance\vposition\ptfOur\twOem\raise\vposition\box0\fullbAck%
\advance\vposition.63\fIvem\backflag2}%
\def\nwdouble{\fullbAck\nwstrIch\fullbAck\kern-\ptzEro70\sEvem%
\advance\vposition\pthrEe49\thrEm\raise\vposition\copy0\kern-\wd0%
\kern\ptOne41\fOurem\advance\vposition\ptOne41\fOurem%
\raise\vposition\box0\kern-\ptzEro70\sEvem%
\advance\vposition\ptfIve64\thrEm\fullbAck\backflag2}%
\def\nwtriple{\fullbAck\nwstrIch\fullbAck%
\advance\vposition\ptfOur\twOem\raise\vposition\copy0\kern-\wd0%
\kern-\ptOne41\fOurem\advance\vposition-\ptOne41\fOurem%
\raise\vposition\copy0\kern-\wd0\kern\ptzwEi82\eitEm%
\advance\vposition\ptzwEi82\eitEm\raise\vposition\box0%
\kern-\ptOne41\fOurem\fullbAck\advance\vposition\ptfOur93\sIxem%
\backflag2}%
%
\def\nnwabove{\advance\vposition2\ptzEro5\lasthtdp\halfbAck%
\nnwpfEil\kern-1\ptOne4\lastwd\raise\vposition\box0%
\advance\vposition.80\thrEm\kern-1\ptzwEi0\lastwd%
\advance\hsidecorr-2\pthrEe4\lastwd%
\advance\hposition-2\pthrEe4\lastwd\backflag1}%
\def\nnwevoba{\advance\vposition2\ptzEro5\lasthtdp\halfbAck%
\ssepfEil\kern-1\ptzEro6\lastwd\raise\vposition\box0%
\advance\vposition.80\thrEm\kern-1\ptOne1\lastwd%
\advance\hsidecorr-2\ptOne7\lastwd%
\advance\hposition-2\ptOne7\lastwd\backflag1}%
\def\nnwbelow{\advance\vposition2\ptzEro5\lasthtdp\halfbAck%
\sAve{\setbox1\hbox{.}\raise\ptfOur3\fIvem\copy1\kerntwEntythree%
\raise\ptOne\nInem\copy1\kerntwEntythree%
\lower\ptzEro7\fIvem\copy1\kerntwEntythree%
\lower.\thrEm\copy1\kerntwEntythree%
\lower\ptfIve4\fIvem\box1}\kern-.9\lastwd\raise\vposition\box0%
\kern-1\ptzEro5\lastwd\advance\hsidecorr-1.95\lastwd%
\advance\hposition-1.95\lastwd\advance\vposition.80\thrEm%
\backflag1}%
\def\nnwphantom{\halfbAck\sAve{$\backslash$}\phAntbox%
\adjUstnnw\raise\vposition\box0\postadjUstnnw}%
\def\nnwsingle{\nnwgenerAl{$\backslash$}}%
\def\nnwdouble{\halfbAck\sAve{$\backslash$}\adjUstnnw%
\advance\vposition\ptzEro3\onEm\kern\ptzEro9\thrEm%
\raise\vposition\copy0\advance\vposition-\ptzEro6\twOem%
\kern-\wd0\kern-\ptOne8\sIxem\raise\vposition\box0\kern\ptzEro9\thrEm%
\advance\vposition\ptzEro3\onEm\postadjUstnnw}%
\def\nnwtriple{\halfbAck\sAve{$\backslash$}\adjUstnnw%
\advance\vposition\ptzEro6\twOem\kern\ptOne8\sIxem%
\raise\vposition\copy0%
\advance\vposition-\ptzEro6\twOem\kern-\wd0\kern-\ptOne8\sIxem%
\raise\vposition\copy0\advance\vposition-\ptzEro6\twOem\kern-\wd0%
\kern-\ptOne8\sIxem\raise\vposition\box0\kern\ptOne8\sIxem%
\advance\vposition\ptzEro6\twOem\postadjUstnnw}%
\def\nnwgenerAl#1{\halfbAck\sAve{#1}\adjUstnnw%
\raise\vposition\box0\postadjUstnnw}%
\def\adjUstnnw{\kernEleven\hcorrEct{-1\ptOne5\lastwd}}%
\def\postadjUstnnw{\hcorrEct{-1\pthrEe5\lastwd}%
\advance\vposition\lasthtdp\backflag1}%
%
\def\nmostaromatatom#1{\atom{#1}\naromat\vposition%
\advance\naromat-.\fOurem\aromAtincr}%
\def\smostaromatatom#1{\atom{#1}\saromat\vposition%
\advance\saromat\lasthtdp\advance\saromat.\thrEm%
\advance\aromatcount1\aromAtincr}%
\def\wmostaromatatom#1{\atom{#1}\waromat\hposition%
\advance\aromatcount2\advance\waromat\pthrEe\sIxem\aromAtincr}%
\def\emostaromatatom#1{\atom{#1}\earomat\hposition%
\negadvAnc\earomat\lastwd\advance\aromatcount3%
\advance\earomat-\ptzwEi\fOurem\aromAtincr}%
\def\aromAtincr{\advance\aromatcount1\chelpone\aromatcount%
\relax\ifnum\aromatcount=10\aromAtsymbol\fi}%
\def\wUrzel{\chelpone\chelptwo\divide\chelpone4\wUrz}%
% Compute \chelpone=sqrt(\chelptwo) by a recursion formula.
\def\wUrz{\wurzEl\let\wurzE\wUrz\else\let\wurzE\relax\fi\wurzE}%
\def\wurzEl{\chelpthree\chelptwo\divide\chelpthree\chelpone%
\advance\chelpthree\chelpone\chelpfour\chelpthree%
\divide\chelpfour2\advance\chelpfour5\relax%
\ifnum\chelpone>\chelpfour\chelpone\chelpthree%
\divide\chelpone2}%
\def\aromAtsymbol{\aromatcount0\ifprint%
\negadvAnc\naromat\saromat\naromat\ptfIve\naromat%
\negadvAnc\waromat\earomat\waromat-\ptfIve\waromat%
\setbox1\hbox{\vrUle{\ptzEro\fOurem}{\ptzEro\fOurem}\zEro}%
\helpthree\ptfOur\wd1\chelpfive71\zEero\chelpsix\helpthree%
\divide\chelpsix60\helpthree\ptzEro\zEero1\waromat%
\helpfour\ptzEro\zEero1\naromat\setbox0\hbox{\loop%
\negadvAnc\chelpfive\chelpsix\chelpthree\chelpfive%
\multiply\chelpthree\chelpfive\chelptwo1\zEero\zEero\zEero\zEero%
\negadvAnc\chelptwo\chelpthree\wUrzel\kern\chelpone\helpthree%
\lower\chelpfive\helpfour\copy1\kern-\wd1%
\raise\chelpfive\helpfour\copy1\kern-\wd1%
\chelpfour-\chelpone\kern\chelpfour\helpthree%
\kern\chelpfour\helpthree%
\lower\chelpfive\helpfour\copy1\kern-\wd1%
\raise\chelpfive\helpfour\copy1\kern-\wd1\kern\chelpone\helpthree%
\kern\chelpfive\helpthree\lower\chelpone\helpfour\copy1\kern-\wd1%
\raise\chelpone\helpfour\copy1\kern-\wd1\chelpfour-\chelpfive%
\kern\chelpfour\helpthree\kern\chelpfour\helpthree%
\lower\chelpone\helpfour\copy1\kern-\wd1%
\raise\chelpone\helpfour\copy1\kern-\wd1\kern\chelpfive\helpthree%
\ifnum\chelpfive>\chelpsix\repeat\kern-1\zEero\zEero\helpthree\copy1%
\kern-\wd1\kern2\zEero\zEero\helpthree\copy1\kern-\wd1}%
\negadvAnc\earomat\hposition\kern\earomat%
\kern-1\zEero\zEero\helpthree\helptwo\saromat\advance\helptwo\naromat%
\raise\helptwo\box0\kern-\earomat\fi}%
%
\def\firstbicycloatom#1{\atom{#1}\ifprint\ifnum\aromatcount>0%
\aromatcount0\messAge{\bicycloIgnored}\else\waromat\hposition%
\advance\waromat-\ptfIve\lastwd\aromatcount1\zEero\naromat\vposition%
\advance\naromat\ptfOur\lasthtdp\earomat\lastwd\fi\fi}%
\def\secondbicycloatom#1{\atom{#1}\ifprint%
\ifnum\aromatcount=1\zEero\helpone\hposition%
\advance\helpone-\ptfIve\lastwd\helptwo\vposition%
\advance\helptwo\ptfOur\lasthtdp\ifdim\earomat<\lastwd%
\earomat\lastwd\fi\relax%
\ifdim\earomat<\lasthtdp\earomat\lasthtdp\fi%
\setbox1\hbox{\vrUle{\ptzEro\fOurem}{\ptzEro\fOurem}\zEro}%
\kern-\ptfIve\lastwd\helpthree\waromat\negadvAnc\helpthree\helpone%
\divide\helpthree1\zEero\zEero\helpfour\naromat%
\negadvAnc\helpfour\helptwo\divide\helpfour1\zEero\zEero%
\chelpone\helpthree\multiply\chelpone\helpthree%
\chelptwo\helpfour\multiply\chelptwo\helpfour%
\advance\chelptwo\chelpone\wUrzel\divide\earomat1\zEero%
\multiply\earomat85\chelpfive\earomat%
\divide\chelpfive\chelpone\chelptwo1\zEero\zEero%
\negadvAnc\chelptwo\chelpfive\chelpfour\wd1%
\divide\chelpfour2\divide\chelpfour\chelpone%
\loop\helpfive\zEro\advance\helpfive\chelpfive\helpthree%
\helpsix\helptwo\advance\helpsix\chelpfive\helpfour%
\kern\helpfive\raise\helpsix\copy1\kern-\wd1\kern-\helpfive%
\advance\chelpfive\chelpfour\relax\ifnum\chelpfive<\chelptwo%
\repeat\kern\ptfIve\lastwd\else\messAge{\bicycloIgnored}\fi\fi%
\aromatcount0\relax}%
%
\def\nopositioncheck{\let\ifnoprint\iffalse\let\ifprint\iftrue}%
%
\def\shorterewbonds{\def\hstrIch{\hbox to.78\fOurem%
{\hss\vrUle{.\sIxem}{\pthrEe\sIxem}{-\pthrEe\twOem}\hss}}%
\stroke\ptzEro2\fIvem\esemarker0\wswmarker0\enemarker0\wnwmarker0%
\def\lurOdots{\setbox1\hbox{.}\kern\ptzEro\onEm%
\lower\ptOne2\fIvem\copy1\lower\ptzEro2\fIvem\copy1%
\raise\ptzEro7\fIvem\box1}%
\def\lorUdots{\setbox1\hbox{.}\kern\ptzEro\onEm%
\raise\ptzEro2\fIvem\copy1\lower\ptzEro7\fIvem\copy1%
\lower\ptOne7\fIvem\box1\kern\ptzEro\onEm}}%
\def\longerewbonds{\def\hstrIch{\hbox to1\ptOne8\fOurem%
{\hss\vrUle\em{\pthrEe\sIxem}{-\pthrEe\twOem}\hss}}%
\stroke\ptzEro45\twOem\esemarker0\wswmarker0\enemarker0\wnwmarker0%
\def\lurOdots{\setbox1\hbox{.}\kern\ptzEro\onEm%
\lower\ptOne2\fIvem\copy1\lower\ptzEro7\fIvem\copy1%
\lower\ptzEro2\fIvem\copy1\raise\ptzEro2\fIvem\copy1%
\raise\ptzEro7\fIvem\box1}%
\def\lorUdots{\setbox1\hbox{.}\kern\ptzEro\onEm%
\raise\ptzEro2\fIvem\copy1\lower\ptzEro2\fIvem\copy1%
\lower\ptzEro7\fIvem\copy1\lower\ptOne2\fIvem\copy1%
\lower\ptOne7\fIvem\box1\kern\ptzEro\onEm}}%
%
\def\nomOrestructures{\def\atom{}\def\phantatom{}%
\def\adjustAtom{}\def\epin{}\def\wpin{}\def\spin{}%
\def\npin{}\def\sAve{}\def\phAntbox{}\def\side{}%
\def\fullbAck{}\def\halfbAck{}\def\nestrIch{}%
\def\nwstrIch{}\def\dotbackslAsh{}\def\dotslAsh{}%
\def\nnepfEil{}\def\enepfEil{}\def\esepfEil{}%
\def\ssepfEil{}\def\sswpfEil{}\def\wswpfEil{}%
\def\wnwpfEil{}\def\nnwpfEil{}\def\nphantom{}%
\def\nsingle{}\def\ndouble{}\def\ntriple{}\def\adjUstn{}%
\def\postadjUstn{}\def\nstrIch{}\def\nneabove{}%
\def\nneevoba{}\def\nnebelow{}\def\nnephantom{}%
\def\nnesingle{}\def\nnedouble{}\def\nnetriple{}%
\def\ssepostAdjust{}\def\sseAdjust{}%
\def\adjUstnne{}\def\postadjUstnne{}\def\nebelow{}%
\def\nephantom{}\def\nesingle{}\def\nedouble{}%
\def\netriple{}\def\eneabove{}\def\eneevoba{}%
\def\enebelow{}\def\ephantom{}\def\esingle{}%
\def\edouble{}\def\etriple{}\def\eseabove{}%
\def\eseevoba{}\def\esebelow{}\def\sebelow{}%
\def\sephantom{}\def\sesingle{}\def\sedouble{}%
\def\setriple{}\def\sseabove{}\def\sseevoba{}%
\def\ssebelow{}\def\ssephantom{}\def\ssesingle{}%
\def\ssedouble{}\def\ssetriple{}\def\ssegenerAl{}%
\def\adjUstsse{}\def\postadjUstsse{}\def\sphantom{}%
\def\ssingle{}\def\sdouble{}\def\striple{}\def\adjUsts{}%
\def\postadjUsts{}\def\sstrIch{}\def\sswabove{}%
\def\sswevoba{}\def\sswbelow{}\def\sswphantom{}%
\def\sswsingle{}\def\sswdouble{}\def\sswtriple{}%
\def\sswgenerAl{}\def\adjUstssw{}\def\postadjUstssw{}%
\def\swbelow{}\def\swphantom{}\def\swsingle{}%
\def\swdouble{}\def\swtriple{}\def\wswabove{}%
\def\wswevoba{}\def\wswbelow{}\def\wphantom{}%
\def\wsingle{}\def\wdouble{}\def\wtriple{}\def\adjUstw{}%
\def\wnwabove{}\def\wnwevoba{}\def\wnwbelow{}\def\nwbelow{}%
\def\nwphantom{}\def\nwsingle{}\def\nwdouble{}%
\def\nwtriple{}\def\nnwabove{}\def\nnwevoba{}%
\def\nnwbelow{}\def\nnwphantom{}\def\nnwsingle{}%
\def\nnwdouble{}\def\nnwtriple{}\def\nnwgenerAl{}%
\def\adjUstnnw{}\def\postadjUstnnw{}\def\nmostaromatatom{}%
\def\smostaromatatom{}\def\wmostaromatatom{}%
\def\emostaromatatom{}\def\aromAtincr{}\def\wUrzel{}%
\def\wUrz{}\def\wurzEl{}\def\aromAtsymbol{}%
\def\firstbicycloatom{}\def\secondbicycloatom{}%
\def\nopositioncheck{}\def\shorterewbonds{}\def\lurOdots{}%
\def\lorUdots{}\def\longerewbonds{}\def\lurOdots{}%
\def\lorUdots{}\def\hcorrEct{}\def\structure{}\def\vrUle{}%
\def\negadvAnc{}\def\kernEleven{}\def\negEleven{}%
\def\kerntwEntythree{}\def\kernfIfteen{}%
\def\eabove{}\def\epfEil{}\def\nwevoba{}\def\seabove{}%
\def\sepfEil{}\def\sbelow{}\def\esesingle{}\def\wabove{}%
\def\onEm{}\def\twOem{}\def\thrEm{}\def\fOurem{}\def\fIvem{}%
\def\sIxem{}\def\sEvem{}\def\eitEm{}\def\nInem{}\def\ptzEro{}%
\def\ptOne{}\def\ptzwEi{}\def\pthrEe{}\def\ptfOur{}\def\ptfIve{}%
\def\zEero{}\def\zEro{}\def\fIfth{}\def\wpfEil{}\def\nbelow{}%
\def\seevoba{}\def\nwabove{}\def\neabove{}\def\nwpfEil{}%
\def\nepfEil{}\def\swevoba{}\def\swpfEil{}\def\swabove{}%
\def\neevoba{}\def\wbelow{}}%
%
\def\nomorestructures{\nomOrestructures%
\def\nomOrestructures{}}%
%
\def\onEm{1\em}\def\twOem{2\em}\def\thrEm{3\em}\def\fOurem{4\em}%
\def\fIvem{5\em}\def\sIxem{6\em}\def\sEvem{7\em}\def\eitEm{8\em}%
\def\nInem{9\em}\def\zEro{0\em}\def\fIfth{.\twOem}%
\def\ptzEro{.0}\def\ptOne{.1}\def\ptzwEi{.2}\def\pthrEe{.3}
\def\ptfOur{.4}\def\ptfIve{.5}\def\zEero{00}%
\def\structure#1{\hbox{\font\strUctrm cmr10\dimendef\em250\em1em%
\dimen252\fontdimen2\strUctrm\fontdimen2\strUctrm\zEro%
\dimen253\fontdimen3\strUctrm\fontdimen3\strUctrm\zEro%
\dimen254\fontdimen4\strUctrm\fontdimen4\strUctrm\zEro%
\dimen255\fontdimen7\strUctrm\fontdimen7\strUctrm\zEro%
\countdef\esemarker43\countdef\wswmarker53\countdef\enemarker63%
\countdef\wnwmarker73\countdef\nemarker83\countdef\nwmarker93%
\dimendef\stroke251%
\shorterewbonds\nemarker0\nwmarker0\countdef\backflag23%
\countdef\sidenesting11\countdef\aromatcount20%
\countdef\chelpone42\countdef\chelptwo52\countdef\chelpthree62%
\countdef\chelpfour72\countdef\chelpfive32\countdef\chelpsix22%
\countdef\chelpeight12\countdef\cone21\countdef\ctwo31%
\countdef\cthree41\let\ifnoprint\iftrue\let\ifprint\iffalse%
\sidenesting0\backflag0\aromatcount0\dimendef\hposition0%
\dimendef\vposition1\dimendef\maxhposition2\dimendef\hsidecorr4%
\dimendef\minhposition3\dimendef\lasthtdp5\dimendef\lastwd6%
\dimendef\waromat7\dimendef\naromat8\dimendef\earomat9%
\dimendef\saromat10\dimendef\helpone12\dimendef\helptwo13%
\dimendef\helpthree22\dimendef\helpfour23\dimendef\helpfive32%
\dimendef\helpsix33\dimendef\helpseven42\dimendef\helpeight52%
\hposition\baselineskip\advance\hposition-.\sEvem%
\advance\baselineskip-.\thrEm\count33\hposition% depth to be added
\hposition\zEro\vposition\hposition\maxhposition\hposition%
\minhposition\hposition\hsidecorr\hposition\lasthtdp\hposition%
\lastwd\hposition\waromat\hposition\naromat\hposition%
\earomat\hposition\saromat\hposition#1\ifnoprint\kern-\hposition%
\kern-\minhposition\hposition\zEro\vposition\hposition%
\maxhposition\hposition\shorterewbonds\nopositioncheck#1\fi%
\kern-\hposition\kern\maxhposition%
\ifnum\aromatcount>0\messAge{\aromatIgnored}\fi%
\fontdimen2\strUctrm\dimen252\fontdimen3\strUctrm\dimen253%
\fontdimen4\strUctrm\dimen254\fontdimen7\strUctrm\dimen255}}%
%
% Additional bonds:
%
\def\eabove{\epfEil\advance\vposition\pthrEe\fOurem\relax%
\raise\vposition\box0\relax\advance\vposition-\pthrEe\fOurem\relax}%
\def\epfEil{\sAve{\hbox{\helpone\zEro\kern3\stroke%
\loop\advance\helpone\ptzEro0\fOurem\relax%
\ifdim\helpone<\ptzEro\eitEm\vrUle\stroke\helpone\helpone\repeat%
\kern3\stroke}}}%
%
\def\wabove{\fullbAck\wpfEil\fullbAck%
\ifdim\hposition<\minhposition\minhposition\hposition\fi%
\advance\vposition\pthrEe\fOurem\relax\raise\vposition\box0\relax%
\advance\vposition-\pthrEe\fOurem\relax\fullbAck\backflag2}%
\def\wpfEil{\sAve{\hbox{\helpone\ptzEro\eitEm\kern3\stroke%
\loop\advance\helpone-\ptzEro0\fOurem\relax\ifdim\helpone>\zEro%
\vrUle\stroke\helpone\helpone\repeat%
\kern3\stroke}}}%
%
\def\nwevoba{\halfbAck\sAve\sepfEil%
\advance\vposition1.7611111\lasthtdp\hcorrEct{-1\ptOne5\lastwd}%
\raise\vposition\box0\hcorrEct{-1.72\lastwd}%
\advance\vposition\ptOne5\lasthtdp}%
%
\def\seabove{\halfbAck\sAve\sepfEil\hcorrEct{\ptzwEi3\lastwd}%
\advance\vposition-\ptOne5\lasthtdp\raise\vposition\box0%
\advance\vposition-1.7611111\lasthtdp\hcorrEct{-\ptzwEi\lastwd}%
\ifdim\hposition>\maxhposition\maxhposition\hposition\fi}%
\def\sepfEil{\hbox{\helpone\zEro\helptwo\helpone%
\kern.\onEm\loop\advance\helpone\ptzEro3\twOem%
\advance\helptwo-\ptzEro5\fOurem\relax\ifdim\helptwo>-1\ptOne\twOem%
\vrUle{\ptzEro2\fIvem}{-\helpone}{-\helptwo}\repeat%
\loop\advance\helpone\ptzEro3\twOem\advance\helptwo\ptzEro14\fIvem%
\relax\ifdim\helptwo<-\helpone%
\vrUle{\ptzEro2\fIvem}{-\helpone}{-\helptwo}\repeat%
\kern\ptzEro\sEvem}}%
%
\def\sbelow{\adjUsts%
\sAve{\setbox1\hbox to\zEro{\hss.\hss}\raise\ptfOur5\fIvem\copy1%
\raise\ptzwEi\onEm\copy1\lower\ptzEro3\fIvem\copy1%
\lower\ptzwEi\eitEm\copy1\lower\ptfIve2\fIvem\box1}%
\raise\vposition\box0\postadjUsts}%
%
\def\esesingle{\advance\vposition\ptOne\nInem%
\sAve{\hbox{\helptwo\ptzEro\sIxem\kern.\onEm\loop%
\advance\helptwo-\ptzEro0\nInem\relax\helpone\helptwo%
\advance\helpone\ptzEro\sIxem\ifdim\helptwo>-\ptOne\eitEm%
\vrUle\stroke\helpone{-\helptwo}\repeat\kern\ptzEro\sEvem}}%
\raise\vposition\box0\advance\vposition-\ptfIve\nInem}%
%
\def\nbelow{\adjUstn%
\sAve{\setbox1\hbox to\zEro{\hss.\hss}\raise1\ptzEro3\fIvem\copy1%
\raise.7\nInem\copy1\raise\ptfIve4\fIvem\copy1%
\raise.\thrEm\copy1\raise\ptzEro5\fIvem\box1}%
\raise\vposition\box0\postadjUstn}%
%
\def\shorterewbonds{\def\hstrIch{\hbox to.78\fOurem%
{\hss\vrUle{.\sIxem}{\pthrEe\sIxem}{-\pthrEe\twOem}\hss}}%
\stroke\ptzEro2\fIvem\esemarker0\wswmarker0\enemarker0\wnwmarker0%
\def\lurOdots{\setbox1\hbox{.}\kern\ptzEro\onEm%
\lower\ptOne2\fIvem\copy1\lower\ptzEro2\fIvem\copy1%
\raise\ptzEro7\fIvem\box1}%
\def\lorUdots{\setbox1\hbox{.}\kern\ptzEro\onEm%
\raise\ptzEro2\fIvem\copy1\lower\ptzEro7\fIvem\copy1%
\lower\ptOne7\fIvem\box1\kern\ptzEro\onEm}}%
\def\longerewbonds{\def\hstrIch{\hbox to1\ptOne8\fOurem%
{\hss\vrUle\em{\pthrEe\sIxem}{-\pthrEe\twOem}\hss}}%
\stroke\ptzEro45\twOem\esemarker0\wswmarker0\enemarker0\wnwmarker0%
\def\lurOdots{\setbox1\hbox{.}\kern\ptzEro\onEm%
\lower\ptOne2\fIvem\copy1\lower\ptzEro7\fIvem\copy1%
\lower\ptzEro2\fIvem\copy1\raise\ptzEro2\fIvem\copy1%
\raise\ptzEro7\fIvem\box1}%
\def\lorUdots{\setbox1\hbox{.}\kern\ptzEro\onEm%
\raise\ptzEro2\fIvem\copy1\lower\ptzEro2\fIvem\copy1%
\lower\ptzEro7\fIvem\copy1\lower\ptOne2\fIvem\copy1%
\lower\ptOne7\fIvem\box1\kern\ptzEro\onEm}}%
%
\def\ebelow{\sAve{\hbox{\def\dOt{\lower\ptzEro\fIvem\copy1}%
\setbox1\hbox{.}\kern\ptzEro\onEm\dOt\dOt\dOt%
\ifdim\stroke>\ptzEro\thrEm\dOt\dOt\fi%
\kern\ptzEro\onEm}}\advance\vposition\pthrEe\fOurem\relax%
\raise\vposition\box0\relax\advance\vposition-\pthrEe\fOurem\relax}%
%
\def\nwabove{\halfbAck\sAve\nwpfEil%
\advance\vposition.6611111\lasthtdp\hcorrEct{-1\ptOne5\lastwd}%
\raise\vposition\box0\hcorrEct{-1.7\lastwd}%
\advance\vposition1\ptzwEi5\lasthtdp}%
\def\nwpfEil{\hbox{\kern\ptOne\twOem\helpone.9\nInem%
\helptwo-\helpone\loop\advance\helpone-\ptzEro3\twOem%
\advance\helptwo-\ptzEro14\fIvem\relax\ifdim\helptwo>-1\ptOne\twOem%
\vrUle{\ptzEro2\fIvem}{-\helptwo}{-\helpone}\repeat%
\loop\advance\helpone-\ptzEro3\twOem\advance\helptwo\ptzEro5\fOurem%
\relax\ifdim\helptwo<-\helpone%
\vrUle{\ptzEro2\fIvem}{-\helptwo}{-\helpone}\repeat%
\kern\ptOne\twOem}}%
%
\def\seevoba{\halfbAck\sAve\nwpfEil\hcorrEct{\ptOne5\lastwd}%
\advance\vposition-1\ptzwEi5\lasthtdp\raise\vposition\box0%
\advance\vposition-.6611111\lasthtdp\hcorrEct{-\ptOne8\lastwd}%
\ifdim\hposition>\maxhposition\maxhposition\hposition\fi}%
%
\def\swevoba{\halfbAck\sAve\nepfEil\hcorrEct{-1\ptOne5\lastwd}%
\advance\vposition-1\ptzwEi5\lasthtdp\raise\vposition\box0%
\advance\vposition-.6611111\lasthtdp\hcorrEct{-1.74\lastwd}}%
%
\def\neabove{\halfbAck\sAve\nepfEil\adjUstnne%
\advance\vposition-\ptfOur\lasthtdp%
\raise\vposition\box0\advance\vposition1\ptzwEi\lasthtdp%
\hcorrEct{\ptOne2\lastwd}\ifdim\hposition>\maxhposition%
\maxhposition\hposition\fi\backflag1}%
\def\nepfEil{\hbox{\helpone\zEro\helptwo\helpone%
\kern.\onEm\loop\advance\helpone-\ptzEro3\twOem%
\advance\helptwo\ptzEro5\fOurem\relax\ifdim\helptwo<1\ptOne\twOem%
\vrUle{\ptzEro2\fIvem}\helptwo\helpone\repeat%
\loop\advance\helpone-\ptzEro3\twOem\advance\helptwo-\ptzEro14\fIvem%
\relax\ifdim\helptwo>-\helpone%
\vrUle{\ptzEro2\fIvem}\helptwo\helpone\repeat%
\kern\ptzEro\sEvem}}%
%
\def\neevoba{\halfbAck\sAve\swpfEil\hcorrEct{\ptOne5\lastwd}%
\advance\vposition1.7\lasthtdp\raise\vposition\box0%
\advance\vposition.21111111\lasthtdp\hcorrEct{-\ptOne8\lastwd}%
\ifdim\hposition>\maxhposition\maxhposition\hposition\fi}%
%
\def\swabove{\halfbAck\sAve\swpfEil\hcorrEct{-1\ptOne5\lastwd}%
\advance\vposition-.15\lasthtdp\raise\vposition\box0%
\advance\vposition-1.7611111\lasthtdp\hcorrEct{-1.7\lastwd}}%
\def\swpfEil{\hbox{\kern\ptOne\twOem\helpone-.9\nInem%
\helptwo-\helpone\loop\advance\helpone\ptzEro3\twOem%
\advance\helptwo\ptzEro14\fIvem\relax\ifdim\helptwo<1\ptOne\twOem%
\vrUle{\ptzEro2\fIvem}\helpone\helptwo\repeat%
\loop\advance\helpone\ptzEro3\twOem\advance\helptwo-\ptzEro5\fOurem%
\relax\ifdim\helptwo>-\helpone%
\vrUle{\ptzEro2\fIvem}\helpone\helptwo\repeat%
\kern\ptOne\twOem}}%
%
\def\wbelow{\fullbAck\sAve{\hbox{\def\dOt{\lower\ptzEro\fIvem\copy1}%
\setbox1\hbox{.}\kern\ptzEro\onEm\dOt\dOt\dOt%
\ifdim\stroke>\ptzEro\thrEm\dOt\dOt\fi%
\kern\ptzEro\onEm}}\fullbAck%
\ifdim\hposition<\minhposition\minhposition\hposition\fi%
\advance\vposition\pthrEe\fOurem\relax\raise\vposition\box0\relax%
\advance\vposition-\pthrEe\fOurem\relax\fullbAck\backflag2}%
%
