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

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

1.1       maekawa     1: \catcode`\@=11
                      2: \newif\ifgphelp
                      3: \long\def\@ifundef#1#2#3{\expandafter\ifx\csname
                      4:   #1\endcsname\relax#2\else#3\fi}
                      5: \@ifundef{fromgphelp}{\gphelpfalse}{\gphelptrue}
                      6:
                      7: \ifgphelp
                      8:   \magnification=\magstep1
                      9:   \baselineskip=13pt
                     10: \else
                     11:   \magnification=\magstephalf
                     12: \fi
                     13:
                     14: \newread\std
                     15: \openin\std=paricfg.tex
                     16: \ifeof\std
                     17:   \openin\std=doc/paricfg.tex
                     18:   \ifeof\std
                     19:     \message{paricfg.tex not found. You should run Configure.}
                     20: % use default values
                     21:     \def\vers{2.0.x}
                     22:     \def\miscdir{/usr/local/lib/pari}
                     23:     \def\includedir{/usr/local/include/pari}
                     24:     \def\libdir{/usr/local/lib}
                     25:     \def\wwwsite{\kbd{http://hasse.mathematik.tu-muenchen.de/ntsw/pari/}}
                     26:   \else
                     27:     \input doc/paricfg.tex
                     28:   \fi
                     29: \else
                     30:   \input paricfg.tex
                     31: \fi
                     32:
                     33: \font\chaptertitlefont=cmr12 scaled \magstep1
                     34: \font\captertitlebf=cmbx10 scaled \magstep2
                     35: \font\sectiontitlebf=cmbx12
                     36: \font\seventt=cmtt8 scaled 875
                     37: \scriptfont\ttfam=\seventt % we should really set the \hyphenchar etc first
                     38: \parskip=6pt plus 3pt minus 1.5pt
                     39: \overfullrule=0pt
                     40:
                     41: %
                     42: % CROSS REFERENCING & INDEX
                     43: %
                     44: \newif\ifsecondpass
                     45: \newwrite\out
                     46: \newwrite\aux
                     47:
                     48: \ifgphelp % disable most of it
                     49:   \def\sidx#1{}
                     50:   \def\tocwrite#1{}
                     51:   \def\label#1{}
                     52:   \def\ref#1{[{\bf ??}]}
                     53: \else
                     54: \def\typeout#1{\immediate\write\out{#1}}
                     55: \def\@namedef#1{\expandafter\def\csname #1\endcsname}
                     56: \def\newlabel#1#2{\@ifundef{r@#1}{}{\message{Label `#1' multiply
                     57:   defined}}\global\@namedef{r@#1}{#2}}
                     58:
                     59: \openin\std=users.std
                     60: \ifeof\std
                     61:   \secondpassfalse
                     62:   \typeout{FIRST PASS}
                     63:   \csname newwrite\endcsname\toc
                     64:   \csname newwrite\endcsname\index
                     65:   \openout\toc=\jobname.toc
                     66:   \openout\index=\jobname.idx
                     67:   \let\condwrite=\write
                     68: \else
                     69:   \secondpasstrue
                     70:   \typeout{SECOND PASS}
                     71:   \let\immediate\relax
                     72:   \def\condwrite#1#2{}
                     73: \fi
                     74: % index
                     75: \def\sidx#1{{\condwrite\index{!#1!\the\pageno!}}}
                     76: %cf TeXBook Exercice 21.10
                     77: \def\tocwrite#1{{\let\the=0\edef\next{\condwrite\toc{#1}}\next}}
                     78: % don't use \jobname here, macros may be used by tutorial.tex
                     79: \openin\std=users.aux
                     80: \ifeof\std
                     81:   \message{No aux file.}
                     82: \else
                     83:   \input users.aux
                     84: \fi
                     85: \openin\std=users.std
                     86:
                     87: % \ref, \label
                     88: \openout\aux=\jobname.aux
                     89:
                     90: \ifx\inputlineno\undefined
                     91:   \let\on@line\empty
                     92: \else
                     93:   \def\on@line{ on input line \the\inputlineno}
                     94: \fi
                     95: \def\@errundef#1{\typeout{Reference `#1' on page \the\pageno \space
                     96: undefined\on@line}}
                     97:
                     98: \def\@car#1#2\@nil{#1}
                     99: \def\@cdr#1#2\@nil{#2}
                    100:
                    101: \def\@ref{\expandafter\@cdr\@temp \@nil\null}
                    102: \def\@cref{\expandafter\@car\@temp \@nil\null}
                    103:
                    104: \def\label#1{\immediate\write\aux{\string
                    105:   \newlabel{#1}{{\the\chapno}{\currentlabel}}}}
                    106: \def\ref#1{\@ifundef{r@#1}
                    107:   {{\bf ??}\@errundef{#1}}
                    108:   {\edef\@temp{\csname r@#1\endcsname}%
                    109:     \def\lbl{\@ref}\def\chp{\@cref}%
                    110:     \ifx\chp{\the\chapno}\lbl\else\chp.\lbl\fi}}
                    111: \fi
                    112:
                    113: \def\idx#1{\sidx{#1}#1}
                    114: \def\secref#1{Section~\ref{#1}}
                    115:
                    116: %
                    117: % SECTIONS
                    118: %
                    119: \newcount\appno
                    120: \newcount\chapno
                    121: \newcount\secno
                    122: \newcount\subsecno
                    123: \newcount\subsubsecno
                    124:
                    125: \def\newpage{\hbox{}\vfill\eject}
                    126:
                    127: \def\myhook{}
                    128: \def\title#1#2{%
                    129:   \ifodd\pageno\else\newpage\fi
                    130:   \tocwrite{#1 #2\string\dotfill\the\pageno}
                    131:   \ifgphelp\else
                    132:      \centerline{\chaptertitlefont #1}\medskip
                    133:   \fi
                    134:   \centerline{\let\bf\chaptertitlebf \chaptertitlefont #2}\vskip1cm}
                    135: \def\sectitle#1{%
                    136:   \tocwrite{{\sevenrm\hskip0.5cm#1\string\dotfill\the\pageno}}
                    137:   \vskip 0pt plus 54pt\penalty-600 % good break
                    138:   \vskip 24pt plus -45pt minus 9pt
                    139:   \leftline{\myhook{\sectiontitlebf #1}.}\def\myhook{}
                    140:   \penalty10000 % impossible break
                    141:   \smallskip}% whatever follows will add a \parskip
                    142:
                    143: \def\subsectitle#1{%
                    144:   \vskip 0pt plus 45pt\penalty-300
                    145:   \vskip 6pt plus -42pt minus 3pt
                    146:   \noindent\myhook{\bf{#1}}\def\myhook{}}
                    147:
                    148: \def\subsubsectitle#1{% a \parskip is being added anyway by \noindent
                    149:   \par\vskip 0pt plus 39pt\penalty-200
                    150:   \vskip 0pt plus -37pt minus 1.5pt
                    151:   \noindent\myhook{\bf{#1}}\def\myhook{}}
                    152:
                    153: \ifgphelp
                    154:   \def\maketitle#1{#1}
                    155: \else
                    156:   \def\maketitle#1{
                    157:   \ifnum\chapno=0
                    158:     \currentlabel. #1%
                    159:   \else
                    160:     \number\chapno.\currentlabel\ #1%
                    161:   \fi}
                    162: \fi
                    163:
                    164: \def\misctitle#1{\par\vskip 0pt plus 66pt\penalty-400
                    165:   \vskip 3pt plus -64pt minus 1.5pt\noindent{\bf #1}}
                    166:
                    167: % Chapter headings now occupy two lines in the manual (still only one in
                    168: % INSTALL.tex and gphelp-extracted bits).  Syntax requirement: After calling
                    169: % \chapter{...} and possibly \label{...}  etc, an empty line _must_ follow
                    170: % before the first paragraph of text or section heading begins. [GN]
                    171: \def\chapter#1#2\par{
                    172:   \secno=0\global\advance\chapno by 1
                    173:   \title{Chapter \number\chapno:}{#1}#2\noindent\ignorespaces}
                    174: \def\appendix#1\par{
                    175:   \chapno=0
                    176:   \secno=0\global\advance\appno by 1
                    177:   \title{Appendix %
                    178:   \ifcase\appno\or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or K\fi:}%
                    179:   {#1}\noindent\ignorespaces}
                    180: \def\section#1{
                    181:   \subsecno=0\advance\secno by 1
                    182:   \gdef\currentlabel{\number\secno}
                    183:   \sectitle{\maketitle{#1}}}
                    184: \def\subsec#1{
                    185:   \subsubsecno=0\advance\subsecno by 1
                    186:   \gdef\currentlabel{\number\secno.\number\subsecno}
                    187:   \subsectitle{\maketitle{#1}}}
                    188: \def\subsubsec#1{
                    189:   \advance\subsubsecno by 1
                    190:   \gdef\currentlabel{\number\secno.\number\subsecno.\number\subsubsecno}
                    191:   \subsubsectitle{\maketitle{#1}}}
                    192:
                    193: \def\unix{\strut\hbox to 0pt{\hss {UNIX: }\indent}}
                    194: \def\unixx{\noindent\strut\hbox to 0pt{\hss {UNIX: }}}
                    195: \def\emacs{\strut\hbox to 0pt{\hss {EMACS: }\indent}}
                    196:
                    197: \def\sectionunix#1{\def\myhook{\unixx{}}\section{#1}}
                    198: \def\unixsubsecunix#1{\def\myhook{\unix{}}\subsec{#1}}
                    199: \def\subsecidxunix#1{\def\myhook{\unix{}}\subsecidx{#1}}
                    200: \def\subsubsecunix#1{\def\myhook{\unix{}}\subsubsec{#1}}
                    201: \def\subsubsecidxunix#1{\def\myhook{\unix{}}\subsubsecidx{#1}}
                    202:
                    203: \def\subseckbd#1{\subsec{\kbd{#1}}}
                    204: \def\subsecidx#1{\subsec{#1}\sidx{#1}}
                    205: \def\subsubsecidx#1{\subsubsec{#1}\sidx{#1}}
                    206: %
                    207: % General purpose
                    208: %
                    209: \def\begintitle{
                    210:   \begingroup\nopagenumbers
                    211:   \font\mine=cmb10 scaled 1893
                    212:   \hbox{}
                    213: }
                    214: \def\authors{
                    215:   \centerline{C. Batut, K. Belabas, D. Bernardi, H. Cohen, M. Olivier}
                    216:   \vskip 1.truecm
                    217:   \centerline{Laboratoire A2X, U.M.R. 9936 du C.N.R.S.}
                    218:   \centerline{Universit\'e Bordeaux I, 351 Cours de la Lib\'eration}
                    219:   \centerline{33405 TALENCE Cedex, FRANCE}
                    220:   \centerline{\tt e-mail: pari@math.u-bordeaux.fr}
                    221:   \vskip 2.truecm
                    222:   \centerline{Home Page:}
                    223:   \centerline{\wwwsite}
                    224:   \vskip .5truecm
                    225:   \centerline{Primary {\tt ftp} site:}
                    226:   \centerline{\tt ftp://megrez.math.u-bordeaux.fr/pub/pari/}
                    227:   \vskip 1.truecm
                    228: }
                    229: \def\endtitle{\newpage\endgroup}
                    230:
                    231: \newfam\euffam
                    232: \font\teneuf=eufm10
                    233: \textfont\euffam=\teneuf
                    234: \def\goth#1{{\fam\euffam#1}}
                    235: \def\d{\goth d}
                    236: \def\f{\goth f}
                    237: \def\p{{\bf p}}
                    238: \def\kbd#1{{\tt #1}}
                    239: \def\key#1{{\bf #1}}
                    240: \def\var#1{\hbox{\it #1\/}}
                    241: \def\fl{\var{f\kern0pt lag}}
                    242: \def\synx#1#2#3{\sidx{#3}The library syntax is $\key{#1}({#2})$}
                    243: \def\syn#1#2{\synx{#1}{#2}{#1}}
                    244: \def\synt#1#2{\syn{#1}{\hbox{\tt #2}}}
                    245:
                    246: \def\bs{{\char'134}}
                    247: \def\obr{{\char'173}}
                    248: \def\cbr{{\char'175}}
                    249: \def\pow{\^{}\hskip0pt}
                    250: \def\til{\raise-0.3em\hbox{\~{}}}
                    251: \def\b#1{{\tt \bs#1}}
                    252: \def\mod{\,{\rm mod}\,}
                    253: \def\text#1{{\rm#1}}
                    254: \def\teb#1{{\bf\idx{#1}}}
                    255: \def\tet#1{{\tt\idx{#1}}}
                    256: \def\dfrac#1#2{{{#1}\over{#2}}}
                    257: \def\binom#1#2{\pmatrix{{#1}\cr{#2}}}
                    258: \def\Bbb#1{{\bf #1}}
                    259: \def\typ#1{\kbd{t\_\kern1pt#1}}
                    260: \def\idxtyp#1{\sidx{t\string\_#1}}
                    261: \def\Z{\Bbb Z}
                    262: \def\Q{\Bbb Q}
                    263: \def\F{\Bbb F}
                    264: \def\R{\Bbb R}
                    265: \def\C{\Bbb C}
                    266: \def\dotfill{\leaders\hbox to 3truemm{\hfil.\hfil}\hfill}
                    267:
                    268: \def\bprog{\par\begingroup%
                    269:   \def\q{\quad}\def\h{\hbox{}}%
                    270:   \tt\obeylines\leavevmode\parskip=0pt plus 1pt%
                    271:   \interlinepenalty2000\clubpenalty9000\widowpenalty9000%
                    272:   \h}
                    273: % variant of same, for use with tabbing.  Tabbing doesn't build paragraphs,
                    274: % the lines go directly into the vlist -- so we must add our own \parskip. [GN]
                    275: \def\bprogtabs{\par\vskip\parskip\begingroup%
                    276:   \def\q{\quad}\def\h{\hbox{}}%
                    277:   \tt\settabs}
                    278: % both to be ended with:
                    279: \def\eprog{\endgroup\par}
                    280: \catcode`\@=12

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