{\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,                }
|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{}}
\newwrite\eIns\newwrite\zwEi%
\newhelp\noscaleIgnored{mproper noscale ignored!}%
\newhelp\noaxisIgnored{mproper noaxis ignored!}%
\newhelp\curveIgnored{ncomplete curve ignored!}%
\newhelp\hpointIgnored{mproper hpoint ignored!}%
\newhelp\vpointIgnored{mproper vpoint ignored!}%
\newhelp\diagramIgnored{ncorrect diagram ignored!}%
\newhelp\improperxIncrement%
{mproper increment of x-axis!}%
\newhelp\negativxIncrement%
{ncrement of x-axis is not positive!}%
\newhelp\improperyIncrement%
{mproper increment of y-axis!}%
\newhelp\negativyIncrement%
{ncrement of y-axis is not positive!}%
%
\def\messAge#1{\escapechar`I%
\message{\the#1}\escapechar`\\}%
%
\def\nogrid{\count0=0\relax}%
%
\def\noscale{\ifnum\count20=30 \count30=0\else%
\ifnum\count20=40 \count40=0\else%
\messAge{\noscaleIgnored}\fi\fi\relax}%
\def\noaxis{\ifnum\count20=30 \count30=0\count31=0\else%
\ifnum\count20=40 \count40=0\count41=0\else%
\messAge{\noaxisIgnored}\fi\fi\relax}%
%
\def\xaxis#1,#2.#3,#4.#5,#6.#7,#8;{\dimen7=#6.#7\pt\relax%
\ifdim\dimen7>0\em \count20=30\advance\dimen1 by#1%
\fontdimen2\tenrm\dimen252\setbox0\hbox{#8}%
\ifdim\wd0>0\em \setbox0\hbox{#8$\qquad\longrightarrow$}\fi%
\dimen8\ht0\advance\dimen8 by\dp0\advance\dimen8 by2.5\em%
\advance\dimen2 by\dimen8\fontdimen2\tenrm0\em%
\dimen61=#2.#3\pt\dimen63=#4.#5\pt\advance\dimen63 by-\dimen61%
\setbox2\hbox{#2}\ifdim\wd2=0\em \count12=0\else%
\ifdim\wd2=\wd4 \if#2- \count12=0\else\count12=#2\fi%
\else\count12=#2\fi\fi%
\setbox2\hbox{#4}\ifdim\wd2=0\em \count14=0\else%
\ifdim\wd2=\wd4 \if#4- \count14=0\else\count14=#4\fi%
\else\count14=#4\fi\fi \count13=0#3\count15=0#5%
\count16=0#6\count17=0#7\setbox2\hbox{#2.}\dimen7\wd2%
\setbox2\hbox{#6.}\ifdim\wd2>\dimen7 \dimen7\wd2\fi%
\setbox2\hbox{#3}\dimen13\wd2\setbox2\hbox{#5}%
\ifdim\wd2>\dimen13 \dimen13\wd2\fi\setbox2\hbox{#7}%
\ifdim\wd2>\dimen13 \dimen13\wd2\fi%
\advance\dimen7 by\dimen13\count18=1%
\loop\setbox2\hbox{\number\count18}\ifdim\wd2<\dimen13 %
\multiply\count18 by10\repeat\multiply\count18 by10%
\multiply\count12 by\count18\multiply\count14 by\count18%
\multiply\count16 by\count18\setbox2\hbox{#3}%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#3 0}\multiply\count13 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#3 00}\multiply\count13 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#3 000}\multiply\count13 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#3 0000}\multiply\count13 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#3 00000}\multiply\count13 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#3 000000}\multiply\count13 by10\fi%
\dimen3=#2.#3\pt\relax\ifdim\dimen3<0\em %
\advance\count12 by-\count13\else%
\advance\count12 by\count13\fi\setbox2\hbox{#5}%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#5 0}\multiply\count15 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#5 00}\multiply\count15 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#5 000}\multiply\count15 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#5 0000}\multiply\count15 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#5 00000}\multiply\count15 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#5 000000}\multiply\count15 by10\fi%
\dimen3=#4.#5\pt\relax\ifdim\dimen3<0\em %
\advance\count14 by-\count15%
\else\advance\count14 by\count15\fi\setbox2\hbox{#7}%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#7 0}\multiply\count17 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#7 00}\multiply\count17 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#7 000}\multiply\count17 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#7 0000}\multiply\count17 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#7 00000}\multiply\count17 by10\fi%
\ifdim\wd2<\dimen13 %
\setbox2\hbox{#7 000000}\multiply\count17 by10\fi%
\advance\count16 by\count17\dimen3=#1%
\count19=\count12\loop\advance\count19 by\count16\relax%
\ifnum\count19<\count14 \repeat%
\ifnum\count14=\count19 \advance\count1 by1\else%
\messAge{\improperxIncrement}\fi%
\else\messAge{\negativexIncrement}\fi}%
%
\def\yaxis#1,#2.#3,#4.#5,#6.#7,#8;{\dimen10=#6.#7\pt\relax%
\ifdim\dimen10>0\em \count20=40\advance\dimen2 by#1%
\fontdimen2\tenrm\dimen252\setbox1\hbox{#8}%
\fontdimen2\tenrm0\em\advance\dimen1 by2.5\em%
\advance\dimen1 by\wd1\setbox2\hbox{#2.}\dimen10\wd2%
\setbox2\hbox{#6.}\ifdim\wd2>\dimen10 \dimen10\wd2\fi%
\setbox2\hbox{#3}\dimen14\wd2%
\setbox2\hbox{#5}\ifdim\wd2>\dimen14 \dimen14\wd2\fi%
\setbox2\hbox{#7}\ifdim\wd2>\dimen14 \dimen14\wd2\fi%
\advance\dimen10 by\dimen14\advance\dimen1 by\dimen10%
\dimen62=#2.#3\pt\dimen64=#4.#5\pt\advance\dimen64 by-\dimen62%
\setbox2\hbox{#2}\ifdim\wd2=0\em \count22=0\else%
\ifdim\wd2=\wd4 \if#2- \count22=0\else\count22=#2 \fi%
\else\count22=#2 \fi\fi%
\setbox2\hbox{#4}\ifdim\wd2=0\em \count24=0\else%
\ifdim\wd2=\wd4 \if#4- \count24=0\else\count24=#4 \fi%
\else\count24=#4 \fi\fi%
\count23=0#3\count25=0#5\count26=0#6\count27=0#7\count28=1%
\loop\setbox2\hbox{\number\count28}\ifdim\wd2<\dimen14 %
\multiply\count28 by10\repeat\multiply\count28 by10%
\multiply\count22 by\count28\multiply\count24 by\count28%
\multiply\count26 by\count28\setbox2\hbox{#3}%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#3 0}\multiply\count23 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#3 00}\multiply\count23 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#3 000}\multiply\count23 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#3 0000}\multiply\count23 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#3 00000}\multiply\count23 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#3 000000}\multiply\count23 by10\fi%
\dimen4=#2.#3\pt\relax\ifdim\dimen4<0\em %
\advance\count22 by-\count23%
\else\advance\count22 by\count23\fi\setbox2\hbox{#5}%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#5 0}\multiply\count25 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#5 00}\multiply\count25 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#5 000}\multiply\count25 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#5 0000}\multiply\count25 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#5 00000}\multiply\count25 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#5 000000}\multiply\count25 by10\fi%
\dimen4=#4.#5\pt\relax\ifdim\dimen4<0\em %
\advance\count24 by-\count25%
\else\advance\count24 by\count25\fi\setbox2\hbox{#7}%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#7 0}\multiply\count27 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#7 00}\multiply\count27 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#7 000}\multiply\count27 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#7 0000}\multiply\count27 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#7 00000}\multiply\count27 by10\fi%
\ifdim\wd2<\dimen14 %
\setbox2\hbox{#7 000000}\multiply\count27 by10\fi%
\advance\count26 by\count27\dimen4=#1%
\count29=\count22\loop\advance\count29 by\count26\relax%
\ifnum\count29<\count24 \repeat%
\ifnum\count24=\count29 \advance\count1 by2\else%
\messAge{\improperyIncrement}\fi%
\else\messAge{\negativyIncrement}\fi}%
%
\def\printsymbol#1{{\symbol#1\box2}}%
%
\def\symbol#1{\ifcase#1%
\ownsymbol{\lower.03em\hbox{\kern.05em$\circ$}}\or%
\ownsymbol{\lower.03em\hbox{\kern.05em$\bullet$}}\or%
\ownsymbol{\raise.1em\hbox{$\oplus$}}\or%
\ownsymbol{\raise.1em\hbox{\kern.01em$\otimes$}}\or%
\ownsymbol{\raise.1em\hbox{\kern.0235em+}}\or%
\ownsymbol{\raise.1em\hbox{\kern.05em$\times$}}\or%
\ownsymbol{$\ast$}\or%
%\ownsymbol{\vrule width.5em depth.05em height.45em}\or%
\ownsymbol{\vrule width.4em height.4em}\or%
\ownsymbol{\lower.03em\hbox{\kern.03em$\diamond$}}\or%
\ownsymbol{$\bowtie$}\fi}%
%
\def\ownsymbol#1{\advance\dimen12 by.5\wd2%
\advance\dimen13 by.5\ht2\advance\dimen13 by.5\dp2%
\setbox2\hbox{#1}\advance\dimen12 by-.5\wd2%
\advance\dimen13 by-.5\ht2\advance\dimen13 by-.5\dp2}%
%
\def\nosymbol{\ownsymbol{}}%
%
\def\values#1{\ownsymbol{\kern.02\em{\tt x}}\count1=0 #1}%
%
\def\connect#1{\nosymbol\count1=1\count0=0 #1}%
%
\def\curve#1{\nosymbol\count1=3\count0=0\count29=0%
\immediate\openout\eIns\jobname.co1 #1\nosymbol%
\immediate\write\eIns{-1}\immediate\closeout\eIns%
\ifnum\count0<2 \messAge{\curveIgnored}\fi\relax%
\ifnum\count0=2 \advance\count19 by\count29\relax%
\ifnum\count19=0 \immediate\openin\eIns\jobname.co1%
\immediate\read\eIns to\zeIle%
\immediate\read\eIns to\zeIle\dimen9=\zeIle%
\immediate\read\eIns to\zeIle\dimen10=\zeIle%
\immediate\closein\eIns\docOnnect\fi\else\dOcurve\fi}%
%
\def\absdOcurve{\relax%
\ifdim\dimen11<0\em \multiply\dimen11 by-1\fi\relax}%
%
\def\dOcurve{\count20=\eIns\count21=\zwEi\count27\dimen0%
\divide\count27 by175\multiply\count27 by\count27%
\count39=0\loop\count38=0\ifnum\count20=\eIns %
\immediate\openin\count20\jobname.co1%
\immediate\openout\count21\jobname.co2\else%
\immediate\openin\count20\jobname.co2%
\immediate\openout\count21\jobname.co1\fi%
\count0=0\read\count20 to\zeIle\count29=\zeIle\relax%
\dacApo\ifnum\count29>-1 \dimen12\dimen9\dimen13\dimen10%
\read\count20 to\zeIle\dimen9=\zeIle\read\count20 to\zeIle%
\dimen10=\zeIle\advance\count0 by1\relax\ifnum\count0=2 %
\dimen34\dimen9\dimen35\dimen10\count35=\count29%
\dimen42\dimen9\dimen43\dimen10\count43=\count29\fi%
\ifnum\count0=1 \dimen32\dimen9\dimen33\dimen10%
\count33=\count29\dimen40\dimen9\dimen41\dimen10%
\count41=\count29\fi\ifnum\count0=3 %
\dimen44\dimen9\dimen45\dimen10\count45=\count29%
\ifnum\count33=0 \ifnum\count35=2 \dimen31\dimen33%
\dimen30\dimen34\multiply\dimen30 by2%
\advance\dimen30 by-\dimen32\fi\relax%
\ifnum\count35=1 \dimen30\dimen32\dimen31\dimen35%
\multiply\dimen31 by2\advance\dimen31 by-\dimen33\fi\relax%
\ifnum\count35=0 \dimen30\dimen9\dimen31\dimen10\fi\fi\fi%
\relax\ifnum\count0>3 \helpdOcurve\dimen44\dimen9%
\dimen45\dimen10\count45=\count29\fi\relax%
\ifnum\count0>2 \reallydOcurve\fi\count37=\count29%
\read\count20 to\zeIle\count29=\zeIle\fi\relax%
\ifnum\count29>-1 \alfIne\relax%
\ifnum\count0=2 \ifnum\count33=2 \dimen31\dimen35%
\dimen30\dimen32\multiply\dimen30 by2%
\advance\dimen30 by-\dimen34\count35=0\fi\relax%
\ifnum\count33=1 \dimen30\dimen34\dimen31\dimen33%
\multiply\dimen31 by2\advance\dimen31 by-\dimen35%
\count35=0\fi\relax%
\ifnum\count35=2 \dimen31\dimen33\dimen30\dimen34%
\multiply\dimen30 by2\advance\dimen30 by-\dimen32\fi%
\ifnum\count35=1 \dimen30\dimen32\dimen31\dimen35%
\multiply\dimen31 by2\advance\dimen31 by-\dimen33\fi%
\dimen44\dimen30\dimen45\dimen31\else\dimen12\dimen9%
\dimen13\dimen10\count37=\count45\helpdOcurve%
\dimen44\dimen30\dimen45\dimen31\count45=\count31\fi%
\reallydOcurve\immediate\write\count21{\the\count37}%
\immediate\write\count21{\the\dimen9}%
\immediate\write\count21{\the\dimen10}%
\immediate\write\count21{-1}%
\immediate\closein\count20\immediate\closeout\count21%
\advance\count38 by1\message{\the\count38}%
\count11=\count21\count21=\count20\count20=\count11%
\ifnum\count38=\count39 \count38=999\else%
\count39=\count38\fi\relax%
\ifnum\count38<99 \repeat\relax\ifnum\count20=\eIns %
\immediate\openin\count20\jobname.co1\else%
\immediate\openin\count20\jobname.co2\fi%
\read\count20 to\zeIle\count29=\zeIle%
\read\count20 to\zeIle\dimen40=\zeIle%
\advance\dimen40 by.5\wd1%
\read\count20 to\zeIle\dimen41=\zeIle%
%\advance\dimen41 by.5\wd1%
\read\count20 to\zeIle\count29=\zeIle\relax%
\dacApo\read\count20 to\zeIle\dimen42=\zeIle%
\advance\dimen42 by.5\wd1\read\count20 to\zeIle%
\dimen43=\zeIle%
%\advance\dimen43 by.5\wd1%
\dimen9\dimen40\dimen10\dimen41\dimen12\dimen42%
\dimen13\dimen43\dimen40\dimen42\dimen41\dimen43%
\docOnnect\read\count20 to\zeIle\count29=\zeIle\relax%
\ifnum\count29>-1 \alfIne\immediate\closein\count20\relax}%
%
\def\helpdOcurve{%
\dimen30\dimen32\dimen31\dimen33\count31=\count33%
\dimen32\dimen34\dimen33\dimen35\count33=\count35%
\dimen40\dimen42\dimen41\dimen43\count41=\count43%
\dimen34\dimen12\dimen35\dimen13\count35=\count37%
\dimen42\dimen34\dimen43\dimen35\count43=\count35}%
%
\def\reallydOcurve{%
\ifnum\count33=2 \dimen31\dimen35\dimen30\dimen32%
\multiply\dimen30 by2\advance\dimen30 by-\dimen34\fi%
\ifnum\count33=1 \dimen30\dimen34\dimen31\dimen33%
\multiply\dimen31 by2\advance\dimen31 by-\dimen35\fi%
\ifnum\count43=2 \dimen45\dimen41\dimen44\dimen42%
\multiply\dimen44 by2\advance\dimen44 by-\dimen40\fi%
\ifnum\count43=1 \dimen44\dimen40\dimen45\dimen43%
\multiply\dimen45 by2\advance\dimen45 by-\dimen41\fi%
\immediate\write\count21{\the\count33}%
\immediate\write\count21{\the\dimen32}%
\immediate\write\count21{\the\dimen33}%
\advance\count38 by1\relax\dimen11\dimen32%
\advance\dimen11 by-\dimen34\dimen14\dimen33%
\advance\dimen14 by-\dimen35\divide\dimen11 by1000%
\divide\dimen14 by1000\count251\dimen11%
\multiply\count251 by\count251\count252\dimen14%
\multiply\count252 by\count252\advance\count252 by\count251%
\relax\ifnum\count252>\count27 \kreisdOcurve%
\dimen23\dimen25\dimen24\dimen26\count255=\count251%
\kreisdOcurve\relax\advance\count255 by\count251\relax%
\ifnum\count255<6 \advance\dimen25 by\dimen23%
\divide\dimen25 by2\advance\dimen26 by\dimen24%
\divide\dimen26 by2\immediate\write\count21{0}%
\immediate\write\count21{\the\dimen25}%
\immediate\write\count21{\the\dimen26}%
\advance\count38 by1\fi\fi\relax}%
%
\def\kreisdOcurve{\count251=0\dimen25\dimen32%
\advance\dimen25 by\dimen34\divide\dimen25 by2%
\dimen26\dimen33\advance\dimen26 by\dimen35%
\divide\dimen26 by2\ifnum\count33=2 \dimen36\dimen32%
\dimen11\dimen34\advance\dimen11 by-\dimen32%
\dimen14\dimen33\advance\dimen14 by-\dimen35%
\divide\dimen14 by1000\divide\dimen11 by\dimen14%
\dimen37\dimen32\advance\dimen37 by-\dimen25%
\divide\dimen37 by1000\multiply\dimen37 by\dimen11%
\advance\dimen37 by\dimen26\count251=1\fi\relax%
\ifnum\count33=1 \dimen37\dimen33\dimen11\dimen33%
\advance\dimen11 by-\dimen35\dimen14\dimen34%
\advance\dimen14 by-\dimen32\divide\dimen14 by1000%
\divide\dimen11 by\dimen14\dimen36\dimen33%
\advance\dimen36 by-\dimen26\divide\dimen36 by1000%
\multiply\dimen36 by\dimen11\advance\dimen36 by\dimen25%
\count251=1\fi\relax\ifnum\count251=0 \dimen11\dimen34%
\advance\dimen11 by-\dimen32\dimen14\dimen33%
\advance\dimen14 by-\dimen31\divide\dimen11 by1000%
\divide\dimen14 by1000\multiply\dimen14 by\dimen11%
\dimen11\dimen32\advance\dimen11 by-\dimen30%
\dimen15\dimen35\divide\dimen11 by1000%
\advance\dimen15 by-\dimen33\divide\dimen15 by1000%
\multiply\dimen11 by\dimen15\advance\dimen11 by-\dimen14%
\absdOcurve\ifdim\dimen11<.5\pt \dimen15\dimen25%
\advance\dimen15 by-\dimen32\divide\dimen15 by1000%
\dimen14\dimen26\advance\dimen14 by-\dimen33%
\divide\dimen14 by1000\multiply\dimen15 by\dimen15%
\multiply\dimen14 by\dimen14\advance\dimen15 by\dimen14%
\count4\dimen15\rOot\count251=\count3%
\multiply\count251 by1000\dimen15\dimen32%
\advance\dimen15 by-\dimen30\dimen14\dimen33%
\advance\dimen14 by-\dimen31\divide\dimen15 by1000%
\divide\dimen14 by1000\count4\dimen15%
\multiply\count4 by\count4\count3\dimen14%
\multiply\count3 by\count3\advance\count4 by\count3\rOot%
\divide\count251 by\count3\multiply\dimen15 by\count251%
\multiply\dimen14 by\count251\advance\dimen15 by\dimen32%
\advance\dimen14 by\dimen33\advance\dimen25 by\dimen15%
\advance\dimen26 by\dimen14\divide\dimen25 by2%
\divide\dimen26 by2\relax\count251=2\ifdim\dimen11=0\em %
\count251=3\fi\fi\fi\relax%
\ifnum\count251=0 \dimen36\dimen32\count252=\count33\relax%
\ifnum\count252=0 \dimen11\dimen31%
\advance\dimen11 by-\dimen33\absdOcurve%
\ifdim\dimen11<\dimen0 \count252=2\dimen36\dimen30%
\advance\dimen36 by\dimen32\divide\dimen36 by2\fi\fi%
\dimen11\dimen32\advance\dimen11 by-\dimen34%
\dimen14\dimen35\advance\dimen14 by-\dimen33%
\ifnum\count252=0 \dimen15\dimen14\relax%
\ifdim\dimen15<0\em \multiply\dimen15 by-1\fi\relax%
\ifdim\dimen15<\dimen0 \dimen36\dimen32%
\advance\dimen36 by\dimen34\divide\dimen36 by2%
\dimen11\dimen30\advance\dimen11 by-\dimen32%
\dimen14\dimen33\advance\dimen14 by-\dimen31%
\dimen25\dimen30\advance\dimen25 by\dimen32%
\divide\dimen25 by2\dimen26\dimen31%
\advance\dimen26 by\dimen33\divide\dimen26 by2%
\count252=2\fi\fi\relax%
\ifnum\count252=2 \divide\dimen14 by1000%
\divide\dimen11 by\dimen14\dimen37\dimen36%
\advance\dimen37 by-\dimen25\divide\dimen37 by1000%
\multiply\dimen37 by\dimen11\advance\dimen37 by\dimen26%
\dimen25\dimen32\advance\dimen25 by\dimen34%
\divide\dimen25 by2\dimen26\dimen33%
\advance\dimen26 by\dimen35\divide\dimen26 by2\fi%
\ifnum\count252=1 \dimen37\dimen33\divide\dimen11 by1000%
\divide\dimen14 by\dimen11\dimen36\dimen26%
\advance\dimen36 by-\dimen37\divide\dimen36 by1000%
\multiply\dimen36 by\dimen14\advance\dimen36 by\dimen25\fi%
\ifnum\count252=0 \dimen19\dimen31%
\advance\dimen19 by-\dimen35\dimen15\dimen34%
\dimen37\dimen19\relax%
\ifdim\dimen37<0\em \multiply\dimen37 by-1\fi\relax%
\ifdim\dimen37<\dimen0 \dimen36\dimen34%
\advance\dimen36 by\dimen30\divide\dimen36 by2%
\advance\dimen15 by-\dimen32\dimen19\dimen33%
\advance\dimen19 by-\dimen35\divide\dimen19 by1000%
\dimen37\dimen36\divide\dimen15 by\dimen19%
\advance\dimen37 by-\dimen25\divide\dimen37 by1000%
\multiply\dimen37 by\dimen15\advance\dimen37 by\dimen26%
\else\advance\dimen15 by-\dimen30\divide\dimen14 by1000%
\divide\dimen19 by1000\dimen21\dimen34%
\advance\dimen21 by\dimen30\divide\dimen21 by2%
\dimen22\dimen35\advance\dimen22 by\dimen31%
\divide\dimen22 by2\divide\dimen11 by\dimen14%
\divide\dimen15 by\dimen19\count253\dimen11%
\count254\dimen15\dimen36\dimen25\divide\dimen36 by1000%
\multiply\dimen36 by\count253\divide\dimen21 by1000%
\multiply\dimen21 by\count254\advance\dimen36 by-\dimen21%
\advance\dimen36 by\dimen22\advance\dimen36 by-\dimen26%
\advance\count253 by-\count254\divide\dimen36 by\count253%
\dimen37\dimen36\multiply\dimen36 by1000%
\multiply\dimen37 by\count254\advance\dimen37 by-\dimen21%
\advance\dimen37 by\dimen22\fi\fi\fi\relax%
\ifnum\count251<2 \dimen11\dimen36%
\advance\dimen11 by-\dimen32\absdOcurve\dimen14\dimen11%
\dimen11\dimen37\advance\dimen11 by-\dimen33\absdOcurve%
\ifdim\dimen11<\dimen14 \dimen15\dimen11\dimen11\dimen14%
\dimen14\dimen15\fi\count48=1000\divide\dimen11 by1000%
\divide\dimen14 by1000\relax%
\ifdim\dimen11>.1\pt \divide\dimen11 by10%
\divide\dimen14 by10\multiply\count48 by10\fi\relax%
\ifdim\dimen11>.1\pt \divide\dimen11 by10%
\divide\dimen14 by10\multiply\count48 by10\fi\relax%
\ifdim\dimen11>.1\pt \divide\dimen11 by10%
\divide\dimen14 by10\multiply\count48 by10\fi\relax%
\ifdim\dimen11>.1\pt \divide\dimen11 by10%
\divide\dimen14 by10\multiply\count48 by10\fi\relax%
\ifdim\dimen11>.1\pt \divide\dimen11 by10%
\divide\dimen14 by10\multiply\count48 by10\fi\relax%
\multiply\dimen11 by\dimen11\multiply\dimen14 by\dimen14%
\advance\dimen11 by\dimen14\count4\dimen11\rOot%
\multiply\count3 by1000\count252=\count3\dimen11\dimen25%
\advance\dimen11 by-\dimen36\divide\dimen11 by\count48%
\count4\dimen11\multiply\count4 by\count4\dimen14\dimen26%
\advance\dimen14 by-\dimen37\divide\dimen14 by\count48%
\count3\dimen14\multiply\count3 by\count3%
\advance\count4 by\count3\rOot\divide\count252 by\count3%
\relax\ifnum\count252=1000 \relax\else\ifnum\count48>1000 %
\divide\count48 by1000\multiply\dimen11 by\count48%
\multiply\dimen14 by\count48\fi%
\multiply\dimen11 by\count252\dimen25\dimen36%
\dimen26\dimen37\advance\dimen25 by\dimen11%
\multiply\dimen14 by\count252\advance\dimen26 by\dimen14%
\fi\fi\dimen11\dimen32\dimen32\dimen42\dimen42\dimen11%
\dimen11\dimen34\dimen34\dimen40\dimen40\dimen11%
\dimen11\dimen33\dimen33\dimen43\dimen43\dimen11%
\dimen11\dimen35\dimen35\dimen41\dimen41\dimen11%
\dimen11\dimen30\dimen30\dimen44\dimen44\dimen11%
\dimen11\dimen31\dimen31\dimen45\dimen45\dimen11%
\count4=\count33\count33=\count43\count43=\count4}%
%
\def\lsqline#1{\ownsymbol{\kern.02\em{\tt x}}\count1=2%
\count0=0\count30=0\count34=0\count32=0\count33=0\relax#1%
\nosymbol\count31=\count34\divide\count31 by1000%
\divide\count31 by\count0\divide\count32 by\count31%
\multiply\count32 by-1000\advance\count32 by\count30%
\divide\count33 by\count31\multiply\count33 by-1000%
\advance\count33 by\count34\multiply\count32 by10%
\divide\count33 by100\divide\count32 by\count33% 1000 slope
\multiply\count31 by\count32\divide\count30 by\count0%
\advance\count30 by-\count31% intercept
\dimen12=0\em\dimen13=\count30sp\relax%
\ifdim\dimen13>\dimen4 \dimen12\dimen4%
\advance\dimen12 by-\dimen13\dimen13\dimen4%
\multiply\dimen12 by1000\divide\dimen12 by\count32\fi%
\ifdim\dimen13<0\em \dimen12-\dimen13\dimen13=0\em%
\multiply\dimen12 by1000\divide\dimen12 by\count32\fi%
\advance\dimen13 by\dimen6\advance\dimen12 by\dimen5%
\dimen9\dimen3\count40\dimen9\divide\count40 by1000%
\multiply\count40 by\count32\advance\count40 by\count30%
\dimen10=\count40sp\relax%
\ifdim\dimen10>\dimen4 \dimen9\dimen4\dimen10\dimen4%
\advance\dimen9 by-\count30sp\multiply\dimen9 by1000%
\divide\dimen9 by\count32\fi%
\ifdim\dimen10<0\em \dimen9-\count30sp\dimen10=0\em%
\multiply\dimen9 by1000\divide\dimen9 by\count32\fi%
\advance\dimen10 by\dimen6\advance\dimen9 by\dimen5%
\docOnnect}%
%
\def\dacApo#1\alfIne{\def\dacApoalfine{#1}\dacApoal}%
%
\def\dacApoal{\dacApoalfine\let\fIne\dacApoal\else%
\let\fIne\relax\fi\fIne}%
%
\def\rOot{\count3=\count4\divide\count3 by4%
\ifnum\count3>0 \rOo\fi}%
% Compute \count3=sqrt(\count4) by a recursion formula.
\def\rOo{\roOt\let\roOz\rOo\else\let\roOz\relax\fi\roOz}%
\def\roOt{\count5=\count4\divide\count5 by\count3%
\advance\count5 by\count3\count6=\count5\divide\count6 by2%
\advance\count6 by5\ifnum\count3>\count6 \count3=\count5%
\divide\count3 by2\relax}%
%
\def\docOnnect{\ifdim\dimen9=\dimen12%
\advance\dimen12 by.5\wd2\advance\dimen10 by.5\dp2%
\advance\dimen10 by.5\ht2\advance\dimen13 by.5\dp2%
\advance\dimen13 by.5\ht2\kern\dimen12%
\ifdim\dimen10>\dimen13 \advance\dimen13 by-\dimen0%
\vrule width\dimen0 height\dimen10 depth-\dimen13\else%
\advance\dimen10 by-\dimen0%
\vrule width\dimen0 height\dimen13 depth-\dimen10\fi%
\kern-\dimen0\kern-\dimen12\else\ifdim\dimen10=\dimen13 %
\advance\dimen12 by.5\wd2\advance\dimen9 by.5\wd2%
\ifdim\dimen9>\dimen12 \dimen10\dimen9\dimen9\dimen12%
\dimen12\dimen10\fi\advance\dimen12 by-\dimen9%
\advance\dimen13 by.5\dp2\advance\dimen13 by.5\ht2%
\dimen10\dimen13\advance\dimen10 by-\dimen0\kern\dimen9%
\vrule width\dimen12 height\dimen13 depth-\dimen10%
\kern-\dimen9\kern-\dimen12\else\dotcOnnect\fi\fi}%
%
\def\dotcOnnect{\dimen16\dimen9\advance\dimen16 by-\dimen12%
\divide\dimen16 by10000\dimen17\dimen10%
\advance\dimen17 by-\dimen13\divide\dimen17 by10000%
\count3\dimen16\multiply\count3 by\dimen16%
\count4\dimen17\multiply\count4 by\dimen17%
\advance\count4 by\count3\rOot\count2=0\count4=10000%
\advance\count4 by-\count2\count6=\wd1%
\multiply\count6 by2\divide\count6 by3%
\divide\count6 by\count3\advance\dimen13 by.5\dp2%
\advance\dimen12 by.5\wd2\advance\dimen13 by.5\ht2%
\kern\dimen12\loop\dimen32=0\em%
\advance\dimen32 by\count2\dimen16\dimen18\dimen13%
\advance\dimen18 by\count2\dimen17\kern\dimen32%
\raise\dimen18\copy1\kern-\wd1\kern-\dimen32%
\advance\count2 by\count6%
\ifnum\count2<\count4 \repeat\kern-\dimen12}%
%
\def\hpoint#1;{\ifnum\count1<3 \messAge{\hpointIgnored}%
\else\count29=2\point#1;\fi}%
%
\def\vpoint#1;{\ifnum\count1<3 \messAge{\vpointIgnored}%
\else\count29=1\point#1;\fi}%
%
\def\point#1.#2,#3.#4;{\dimen9=#1.#2\pt\dimen10\dimen63%
\advance\dimen9 by-\dimen61%
\relax\count9\dimen9\count2\dimen10\multiply\count9 by10%
\count3=\count9\divide\count3 by\count2%
\count11=\count2\multiply\count11 by\count3%
\advance\count9 by-\count11\multiply\count9 by10%
\count4=\count9\divide\count4 by\count2%
\count11=\count2\multiply\count11 by\count4%
\advance\count9 by-\count11\multiply\count9 by10%
\count5=\count9\divide\count5 by\count2%
\count11=\count2\multiply\count11 by\count5%
\advance\count9 by-\count11\multiply\count9 by10%
\count6=\count9\divide\count6 by\count2%
\count11=\count2\multiply\count11 by\count6%
\advance\count9 by-\count11\multiply\count9 by10%
\count7=\count9\divide\count7 by\count2%
\count11=\count2\multiply\count11 by\count7%
\advance\count9 by-\count11\multiply\count9 by10%
\count8=\count9\divide\count8 by\count2%
\dimen9\dimen5\dimen10\dimen3%
\divide\dimen10 by10\advance\dimen9 by\count3\dimen10%
\divide\dimen10 by10\advance\dimen9 by\count4\dimen10%
\divide\dimen10 by10\advance\dimen9 by\count5\dimen10%
\divide\dimen10 by10\advance\dimen9 by\count6\dimen10%
\divide\dimen10 by10\advance\dimen9 by\count7\dimen10%
\divide\dimen10 by10\advance\dimen9 by\count8\dimen10%
\dimen30\dimen9\advance\dimen30 by-\dimen5%
\advance\dimen9 by-.5\wd2%
\dimen10=#3.#4\pt\dimen11\dimen64%
\advance\dimen10 by-\dimen62%
\count9\dimen10\count2\dimen11\multiply\count9 by10%
\count3=\count9\divide\count3 by\count2%
\count11=\count2\multiply\count11 by\count3%
\advance\count9 by-\count11\multiply\count9 by10%
\count4=\count9\divide\count4 by\count2%
\count11=\count2\multiply\count11 by\count4%
\advance\count9 by-\count11\multiply\count9 by10%
\count5=\count9\divide\count5 by\count2%
\count11=\count2\multiply\count11 by\count5%
\advance\count9 by-\count11\multiply\count9 by10%
\count6=\count9\divide\count6 by\count2%
\count11=\count2\multiply\count11 by\count6%
\advance\count9 by-\count11\multiply\count9 by10%
\count7=\count9\divide\count7 by\count2%
\count11=\count2\multiply\count11 by\count7%
\advance\count9 by-\count11\multiply\count9 by10%
\count8=\count9\divide\count8 by\count2%
\dimen10\dimen6\dimen11\dimen4%
\divide\dimen11 by10\advance\dimen10 by\count3\dimen11%
\divide\dimen11 by10\advance\dimen10 by\count4\dimen11%
\divide\dimen11 by10\advance\dimen10 by\count5\dimen11%
\divide\dimen11 by10\advance\dimen10 by\count6\dimen11%
\divide\dimen11 by10\advance\dimen10 by\count7\dimen11%
\divide\dimen11 by10\advance\dimen10 by\count8\dimen11%
\dimen32\dimen10\advance\dimen32 by-\dimen6%
\advance\dimen10 by-.5\ht2\advance\dimen10 by-.5\dp2%
\raise\dimen10\hbox to\dimen1{\kern\dimen9\copy2\hss}%
\kern-\dimen1%
%
\ifnum\count1=2 \advance\count0 by1\count11\dimen30%
\advance\count34 by\count11\divide\count11 by1000%
\count13\dimen32\advance\count30 by\count13\count3=\count11%
\multiply\count3 by\count11\advance\count33 by\count3%
\divide\count13 by1000\multiply\count13 by\count11%
\advance\count32 by\count13\fi\relax%
%
\ifnum\count1=3 \advance\dimen32 by\dimen6%
\advance\dimen30 by\dimen5%
\immediate\write\eIns{\the\count29}%
\advance\dimen30 by-.5\dimen0%
\immediate\write\eIns{\the\dimen30}%
\advance\dimen32 by.5\dimen0%
\immediate\write\eIns{\the\dimen32}\advance\count0 by1%
\ifnum\count0=2 \dimen30\dimen12\dimen32\dimen13\fi\fi%
\relax%
%
\ifnum\count1=1 \ifnum\count0=0 \count0=1\else%
\dimen30\dimen9\dimen31\dimen10\docOnnect\dimen10\dimen31%
\dimen9\dimen30\fi\fi%
%
\dimen12\dimen9\dimen13\dimen10\count19=\count29\count29=0}%
%
\def\nomOrediagrams{\def\nogrid{}\def\noscale{}%
\def\noaxis{}\def\xaxis{}\def\yaxis{}\def\printsymbol{}%
\def\ownsymbol{}\def\symbol{}\def\nosymbol{}\def\values{}%
\def\curve{}\def\rOot{}\def\connect{}\def\absdOcurve{}%
\def\dOcurve{}\def\helpdOcurve{}\def\reallydOcurve{}%
\def\lsqline{}\def\dacApo\alfIne{}\def\rOo{}\def\roOt{}%
\def\dacApoal{}\def\docOnnect{}\def\dotcOnnect{}%
\def\hpoint{}\def\vpoint{}\def\point{}\def\diagram{}%
\ifnum\count17=\zwEi \global\advance\count17 by-2\fi}%
%
\def\nomorediagrams{\nomOrediagrams\def\nomOrediagrams{}}%
%
\def\diagram#1#2{\hbox{\tenrm%
\catcode`\ 9\catcode`\^^M9\catcode`\^^I9%
\dimendef\em250\em1em\dimendef\pt249\pt1pt%
\dimen252\fontdimen2\tenrm\fontdimen2\tenrm0\em%
\dimen253\fontdimen3\tenrm\fontdimen3\tenrm0\em%
\dimen254\fontdimen4\tenrm\fontdimen4\tenrm0\em%
\dimen255\fontdimen7\tenrm\fontdimen7\tenrm0\em%
\dimen251\parindent\parindent0\em%
\count0=1%  grid flag, point counter
\count1=0%  axis definition counter, curve type selector 
\count20=0% axis marker
\count30=1% xaxis scaling marker
\count40=1% yaxis scaling marker
\count31=1% xaxis printing marker
\count41=1% yaxis printing marker
\dimen44=.07\em% stroke thickness 
\dimen1=0\em% xlength
\dimen2=0\em% ylength
\dimen0\dimen44%
\setbox4\hbox{-}#1\setbox2\hbox{0}\ifnum\count1=3 %
\vbox to\dimen2{\dimen5\dimen1\advance\dimen5 by-\dimen3%
\dimen6\dimen2\advance\dimen6 by-\dimen4%
\hbox to\dimen1{%
 \vbox to\dimen2{%
  \ifdim\wd1>0\em \hbox to\wd1{\hss$\Bigl\uparrow$\hss}%
  \vskip2\em\box1\fi\vfill\hbox to\dimen1{\hfill\box0}%
 }%
 \kern-\dimen1\ifnum\count41=0 \dimen0=0\em\fi%
 \raise\dimen2\hbox to\dimen1{\hfill%
 \vrule width\dimen0 depth\dimen4 height0\em\kern\dimen3}%
 \kern-\dimen1\dimen0\dimen44\ifnum\count31=0 %
 \dimen0=0\em\fi\raise\dimen6\hbox to\dimen1{\hfill%
 \advance\dimen3 by\dimen0%
 \vrule width\dimen3 height0\em depth\dimen0}\kern-\dimen1%
 \count19=0\advance\dimen8 by-1.5\em\xaxIs\dimen0\dimen44%
 \ifnum\count31=0 \dimen0=0\em\else\divide\dimen0 by2\fi%
 \advance\dimen1 by-.5\dimen7\advance\dimen3 by-.5\dimen7%
 \advance\dimen4 by-.5\ht2\dimen9=0\em%
 \ifnum\count0=1 \dimen9\dimen4\fi\raise\dimen6%
 \hbox to\dimen1{\kern\dimen5\loop%
  \vrule width\dimen0 depth.3\em height\dimen9%
  \ifnum\count12<\count14 \advance\count12 by\count16\hss%
  \else\count19=1\fi\relax\ifnum\count19<1 \repeat%
 }\kern-\dimen1\dimen10\dimen6\advance\dimen10 by-.5\ht2 %
 \dimen0\dimen44\ifnum\count41=0 \dimen0=0\em\else%
 \divide\dimen0 by2\fi\yaxIs\dimen9=.3\em\ifnum\count0=1%
 \advance\dimen9 by\dimen3\fi\raise\dimen6%
 \hbox to\dimen1{\kern\dimen5\kern-.3\em%
  \vbox to\dimen4{\count19=0\count29=0%
   \setbox1\hbox{%
    \vrule width\dimen9 depth\dimen0 height0\em}%
   \loop\advance\count19 by1%
   \advance\count22 by\count26\ifnum\count22<\count24 %
   \else\count29=1\fi\relax\ifnum\count29=0 \repeat%
   \loop\copy1\advance\count19 by-1\relax%
   \ifnum\count19>0 \vss\repeat}%
  \hfill}\kern-\dimen1\dimen0\dimen44%
 \setbox1\hbox{\vrule width\dimen0 height0\em depth\dimen0}%
 \count9=\count14\divide\count9 by\count18\count15=\count9%
 \multiply\count15 by-\count18\advance\count15 by\count14%
 \relax\ifnum\count15<0 \multiply\count15 by-1\fi\relax%
 \count3=\count18\divide\count3 by10%
 \setbox3\hbox{\the\count3}%
 \dimen39=.\number\count15\pt\relax%
 \setbox4\hbox{\the\count15}\relax\ifdim\wd3=\wd4 \else%
 \setbox4\hbox{0\the\count15}\relax\ifdim\wd3=\wd4 %
 \divide\dimen39 by10\relax\else%
 \setbox4\hbox{00\the\count15}\relax\ifdim\wd3=\wd4 %
 \divide\dimen39 by100\relax\else%
 \setbox4\hbox{000\the\count15}\relax\ifdim\wd3=\wd4 %
 \divide\dimen39 by1000\relax\else%
 \setbox4\hbox{0000\the\count15}\relax\ifdim\wd3=\wd4 %
 \divide\dimen39 by10000\relax\else%
 \setbox4\hbox{00000\the\count15}\relax\ifdim\wd3=\wd4 %
 \divide\dimen39 by100000\relax\fi\fi\fi\fi\fi\fi%
 \ifnum\count9<0 \multiply\dimen39 by-1\fi\relax%
 \advance\dimen39 by\count9\pt\relax%
 \count9=\count24\divide\count9 by\count28\count25=\count9%
 \multiply\count25 by-\count28\advance\count25 by\count24%
 \relax\ifnum\count25<0 \multiply\count25 by-1\fi\relax%
 \count3=\count28\divide\count3 by10%
 \setbox5\hbox{\the\count3}%
 \dimen49=.\number\count25\pt\relax%
 \setbox4\hbox{\the\count25}\relax\ifdim\wd5=\wd4 \else%
 \setbox4\hbox{0\the\count25}\relax\ifdim\wd5=\wd4 %
 \divide\dimen49 by10\relax\else%
 \setbox4\hbox{00\the\count25}\relax\ifdim\wd5=\wd4 %
 \divide\dimen49 by100\relax\else%
 \setbox4\hbox{000\the\count25}\relax\ifdim\wd5=\wd4 %
 \divide\dimen49 by1000\relax\else%
 \setbox4\hbox{0000\the\count25}\relax\ifdim\wd5=\wd4 %
 \divide\dimen49 by10000\relax\else%
 \setbox4\hbox{00000\the\count25}\relax\ifdim\wd5=\wd4 %
 \divide\dimen49 by100000\relax\fi\fi\fi\fi\fi\fi%
 \ifnum\count9<0 \multiply\dimen49 by-1\fi\relax%
 \advance\dimen49 by\count9\pt\relax#2\hss}%
}\else\messAge{\diagramIgnored}\fi%
\fontdimen2\tenrm\dimen252\fontdimen3\tenrm\dimen253%
\fontdimen4\tenrm\dimen254\fontdimen7\tenrm\dimen255%
\parindent\dimen251}}%
%
\def\xaxIs{\ifnum\count30=1 \raise\dimen8\hbox to\dimen1{%
\kern\dimen5\kern-.5\dimen7\loop\count11=\count12%
\divide\count11 by\count18\count13=\count11%
\multiply\count13 by-\count18\advance\count13 by\count12%
\relax\ifnum\count13<0 \multiply\count13 by-1\fi%
\ifnum\count11<0 \multiply\count11 by-1\fi%
\setbox0\hbox{\the\count13}%
\ifdim\wd0<\dimen13 \setbox0\hbox{0\the\count13}\fi%
\ifdim\wd0<\dimen13 \setbox0\hbox{00\the\count13}\fi%
\ifdim\wd0<\dimen13 \setbox0\hbox{000\the\count13}\fi%
\ifdim\wd0<\dimen13 \setbox0\hbox{0000\the\count13}\fi%
\ifdim\wd0<\dimen13 \setbox0\hbox{00000\the\count13}\fi%
\ifdim\wd0<\dimen13 \setbox0\hbox{000000\the\count13}\fi%
\hbox to\dimen7{%
\hss\ifnum\count12<0 $-$\fi\number\count11.\box0}%
\ifnum\count12<\count14 \advance\count12 by\count16\hss%
\else\count19=1\fi\relax\ifnum\count19<1 \repeat%
}\kern-\dimen1\fi}%
%
\def\yaxIs{\ifnum\count40=1 \raise\dimen10%
\hbox to\dimen5{\advance\dimen4 by\ht2%
\vbox to\dimen4{\count19=0\count29=0\loop%
\advance\count19 by1\count11=\count22%
\divide\count11 by\count28\count23=\count11%
\multiply\count23 by-\count28\advance\count23 by\count22%
\relax\ifnum\count23<0 \multiply\count23 by-1\fi%
\ifnum\count11<0 \multiply\count11 by-1\fi%
\setbox0\hbox{\the\count23}%
\ifdim\wd0<\dimen14 \setbox0\hbox{0\the\count23}\fi%
\ifdim\wd0<\dimen14 \setbox0\hbox{00\the\count23}\fi%
\ifdim\wd0<\dimen14 \setbox0\hbox{000\the\count23}\fi%
\ifdim\wd0<\dimen14 \setbox0\hbox{0000\the\count23}\fi%
\ifdim\wd0<\dimen14 \setbox0\hbox{00000\the\count23}\fi%
\ifdim\wd0<\dimen14 \setbox0\hbox{000000\the\count23}\fi%
\setbox\count19\hbox to\dimen5{\hfill%
\ifnum\count22<0 $-$\fi\number\count11.\box0\kern.5\em}%
\advance\count22 by\count26\ifnum\count22<\count24 %
\else\count29=1\fi\relax\ifnum\count29=0 \repeat%
\loop\box\count19\advance\count19 by-1\relax%
\ifnum\count19>0 \vss\repeat}%
}\kern-\dimen5\fi}%