." macros for the Macsyma manual ." ." first we set these global me variables ."""""""" .nr ss 3v \" space 4v between sections ." If we are making an on line manual, include the line below: .if 0 .ll 7.5i \" extra wide for nroff, DISABLED .""""""""""""""" ." A chapter is begun by ." .Lc chaptertitle number ." ." a function is introduced by a ." .Lf functionname arglist ." where the arglist must be one string, use "'s if necessary. ." then there are these macros to begin text describing what the function ." does: ." .Wh ." says "WHERE" allowing you to give more ." details on a function. ." .Re ." tells what value the function returns ." ." .No ." begins a note, giving more detail on the fcn ." ." .Se ." describes a side effect of a function. ." ." .Im ." note to implementor. this will only be ." printed out in the implementors version of ." the manual. ." ." .Ex begin a short example ." ." .Eb begin an large offset example ." .Ee end an example ." ." .Lv name default rest introduces a variable, with 2nd arg default ." value. Used for indexing. ." useful macros ." .Fr rest prints out Franz Lisp and appends rest ." to it. ." .Ma rest prints out Macsyma and appends rest to it ." ." used in creating the index, table of contents and appendices ." ." .Ib begin index ." .In ch# pg# fcn-name fcn-args this isnt inserted by hand, but ." is generated by the index program. it indicates ." where a function begins. ." ." .Ap c T begin appendix c with title T ." ."""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .de Lc ." .in 0 .++ RC '\\$1''\\\\\\\\\\\\\\\\n(ch-%' .nr % 2 .nr ch \\$2-1 .+c \\$1 .fo '''\fR\s-2Printed:\ \*(td\s0\fP' .. .de Lf .sp 2v .ne 11 .in 0 .ie '\\$2'' \\fB\\$1\\fP() .el \\fB\\$1(\\fP \\$2) .br ." .nr $i 5n ." if troff, then put nice index entry, if nroff then we are making an ." online manual so put out a cryptic lisp expression. If you want to ." make an nroff version of the manual with index, then you will have ." to alter the lines below: replace .if t with .if 1 and .if n with .if 0 .if t .tm .In \\n(ch \\n% \\$1 "\\$2" .if n .tm (\\$1 ch\\n(ch.r) .. .de Lv .ie '\\$2'' \\fI\\$1\\fP .el \\fI\\$1[\\fP\s-2DEFAULT:\s0 \\$2]\\$3 .if t .tm .In \\n(ch \\n% \\$1 "\\$2" .if n .tm (\\$1 \\$2 ch\\n(ch.r) .. .de Re .ip \s-2RETURNS\s0: 9 .. .de Ex .ip \s-2EXAMPLE\s0: 9 .. .de No .ip \s-2NOTE\s0: 6 .. .de Eq .ip \s-2EQUIVALENT\ TO\s0: 15 .. .de Im .ip \s-2IMPLEMENTATION\s0: 20 .. .de Se .ip \s-2SIDE\ EFFECT\s0: 13 .. .de Wh .ip \s-2WHERE\s0: 9 .. .de Ma M\s-2ACSYMA\s0\\$1 .. .de Ib \" beginning of index .Ap 1 Index\ to\ M\s-2ACSYMA\s0\ Functions .ta 6i \" set tab stop for location column .tc . \" generate dots to line up page numbers .nf .. .de In .ie '\\$4'' (\\fB\\$3\\fR)\t\\$1-\\$2 .el (\\fB\\$3\\fR\ \\$4)\t\\$1-\\$2 .. .de Eb .in 0 .(b .sp 1v .hl .sz -2 .. .de Ee .sz +2 .hl .sp 1v .)b .. .de Ap \" appendix n title (n is 1 2 3 4 for A B C D etc) .++ RA '''\\\\\\\\\\\\\\\\n(ch-%' .nr ch \\$1-1 .+c \\$2 .fo '''\fR\s-2Printed:\ \*(td\s0\fP' .. ." constant size for computer output simulation .de CS \f(CW .. ." end constant size .de SC \fP .. ." modified version of me macro to put label on left .de @q \" --- equation output .nr _Q \\n(dnu .ev .sp \\n(esu \" output rest of preceding text .@C 2 " \" .ev 2 may be jumbled from header .ie \\n(_d=1 \ . in (\\n(.lu+\\n($iu-\\n(dlu)/2u .el .ie \\n(_d=2 \ . in \\n($iu .el .ie \\n(_d=3 \ . in \\n(biu+\\n($iu .el .if \\n(_d=4 \ . in 0 .if !"\\n(.z"" \!.ne \\n(_Qu .ne \\n(_Qu+\n(.Vu \" keep it on one page .mk _q .if \n@>1 .tm --@e: _Q=\\n(_Q _q=\\n(_q nl=\\n(nl |p=\\*(|p .if !"\\*(|p"" \ \{\ . rs . sp (\\n(_Qu-\\n(.vu)/2u . tl "\\*(|p""" \"changed here . rt \\n(_qu .\} .|e .sp |\\n(_qu+\\n(_Qu .sp \\n(esu+\\n(.Lv-1v .rr _q .rr _Q ..