[BACK]Return to users.tex CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari / doc

Annotation of OpenXM_contrib/pari/doc/users.tex, Revision 1.1.1.1

1.1       maekawa     1: % This should be compiled with plain TeX
                      2: \input parimacro.tex
                      3: %
                      4: % START TYPESET
                      5: %
                      6: \begintitle
                      7: \vskip 2.5truecm
                      8: \centerline{\mine User's Guide}
                      9: \vskip 1.truecm
                     10: \centerline{\mine to}
                     11: \vskip 1.truecm
                     12: \centerline{\mine PARI-GP}
                     13: \vskip 1.truecm
                     14: \authors
                     15: \centerline{last updated 20 June 1999}
                     16: \centerline{for version \vers}
                     17: \endtitle
                     18:
                     19: \begintitle
                     20: \centerline{Table of Contents}\medskip
                     21: \ifsecondpass
                     22:   \parskip=0pt plus 1pt
                     23:   \parindent=0pt
                     24:   \obeylines\input\jobname.toc
                     25: \else
                     26: % toc is 2 pages long
                     27:   \newpage
                     28: \fi
                     29: \endtitle
                     30:
                     31: \chapno=0
                     32: { \input usersch1 }
                     33: { \input usersch2 }
                     34: { \input usersch3 }
                     35: { \input usersch4 }
                     36: { \input usersch5 }
                     37: { \input appa }
                     38: { \input appb }
                     39: { \input appc }
                     40: %
                     41: %  INDEX
                     42: %
                     43:
                     44: \ifsecondpass\else
                     45:   \condwrite\index{The End}
                     46:   \immediate\condwrite\toc{Index\string\dotfill\the\pageno}
                     47:   \expandafter\end
                     48: \fi
                     49: \newpage
                     50:
                     51: \newdimen\fullhsize
                     52: \fullhsize=\hsize
                     53: \advance\hsize by -20pt
                     54: \divide\hsize by 2
                     55:
                     56: \def\fullline{\hbox to\fullhsize}
                     57: \let\lr=L\newbox\leftcolumn
                     58:
                     59: \headline={\hfil Index\hfil\global\headline={\hfil}}
                     60:
                     61: \def\makeheadline{\vbox to 0pt{\vskip-22.5pt
                     62:     \fullline{\vbox to8.5pt{}\the\headline}\vss}
                     63:     \nointerlineskip}
                     64:
                     65: \def\makefootline{\baselineskip=24pt\fullline{\the\footline}}
                     66:
                     67: \output={\if L\lr   %pique dans le TeXbook, p257
                     68:     \global\setbox\leftcolumn=\columnbox\global\let\lr=R
                     69:     \else\doubleformat\global\let\lr=L\fi
                     70:     \ifnum\outputpenalty>-20000\else\dosupereject\fi}
                     71: \def\doubleformat{\shipout\vbox
                     72:     {\makeheadline
                     73:     \fullline{\box\leftcolumn\hfil\columnbox}
                     74:     \makefootline}
                     75:     \advancepageno}
                     76: \def\columnbox{\leftline{\pagebody}}
                     77: \def\parse !#1#2!#3! {%
                     78:      \uppercase{\def\theletter{#1}}\def\theword{#1#2}\def\thepage{#3}}
                     79: \def\theoldword{}
                     80: \def\theend{The End }
                     81: \newif\ifencore
                     82:
                     83: \parskip=0pt plus 1pt
                     84: \parindent=0pt
                     85: \parfillskip=0pt
                     86:
                     87: \newbox\dbox \setbox\dbox=\hbox to 3truemm{\hss.\hss}
                     88: \newskip\dfillskip \dfillskip=.5em plus .98\hsize
                     89: \def\dotfill{\leaders\copy\dbox\hskip\dfillskip\relax}
                     90:
                     91: %more efficient to parse the glue specs once and keep them in registers
                     92: %for later use.  These govern index lines with too many page numbers to
                     93: %fit in one line  (currently only `Hermite normal form'.)
                     94: % b: indentation for 2nd and further lines / a: compensation for same,
                     95: % and shrinkability for the normal word space
                     96: \newskip\interskipa \interskipa=-.4\hsize plus -1.5\hsize minus .11em
                     97: \newskip\interskipb \interskipb= .4\hsize plus  1.5\hsize
                     98:
                     99: %cf. The TeXBook, App. D, p393 [GN]:
                    100: \def\interpage{,\penalty100\kern0.33em%normal space
                    101:   \hskip\interskipa\vadjust{}\penalty10000 \hskip\interskipb\relax}
                    102:
                    103: \loop
                    104:   \read\std to\theline
                    105:   \ifx\theline\theend\encorefalse\else\encoretrue\fi
                    106: \ifencore
                    107:   \expandafter\parse\theline
                    108:   \ifx\theletter\theoldletter\else
                    109:     \endgraf\vskip 10pt plus 10pt\centerline
                    110:       {\theletter}\vskip 10pt plus 10pt\fi
                    111:   \let\theoldletter\theletter
                    112:   \ifx\theword\theoldword
                    113:     \ifx\thepage\theoldpage\else\interpage\thepage\fi
                    114:   \else
                    115:     \relax\endgraf\theword\dotfill\thepage\let\theoldword=\theword
                    116:   \fi
                    117:   \let\theoldpage=\thepage
                    118: \repeat
                    119: \end

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>