Changeset 3c4dcc in git for Singular/LIB/latex.lib


Ignore:
Timestamp:
May 6, 2005, 4:39:20 PM (19 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
0d217d3f1cc4c0449bdb078c65fd1f43cd1a2b84
Parents:
e6fb5315eb32da00236163ce10f9bdafaaa0bd47
Message:
*hannes: DOS->UNIX and white space cleanup


git-svn-id: file:///usr/local/Singular/svn/trunk@8073 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/latex.lib

    re6fb531 r3c4dcc  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="$Id: latex.lib,v 1.22 2004-04-20 16:31:04 Singular Exp $";
     2version="$Id: latex.lib,v 1.23 2005-05-06 14:38:41 hannes Exp $";
    33category="Visualization";
    44info="
     
    3030  @code{TeXwidth} (int) -1, 0, 1..9, >9:  controls breaking of long polynomials
    3131  @code{TeXnofrac} (int) flag:  write 1/2 instead of \\frac@{1@}@{2@}
    32   @code{TeXbrack} (string) \"@{\", \"(\", \"<\", \"|\", empty string: 
     32  @code{TeXbrack} (string) \"@{\", \"(\", \"<\", \"|\", empty string:
    3333                                   controls brackets around ideals and matrices
    3434  @code{TeXproj} (int) flag:  write \":\" instead of \",\" in vectors
     
    131131  texobj("exp001","An ideal ",I);
    132132  closetex("exp001");
    133   tex("exp001"); 
     133  tex("exp001");
    134134  echo=0;
    135135  pause("the created files will be deleted after pressing <RETURN>");
     
    284284proc texfactorize(string fname, poly f, list #)
    285285"USAGE:   texfactorize(fname,f); fname string, f poly
    286 RETURN:  if @code{fname=\"\"}: string, f as a product of its irreducible 
     286RETURN:  if @code{fname=\"\"}: string, f as a product of its irreducible
    287287         factors@*
    288          otherwise: append this string to the file @code{<fname>}, and 
     288         otherwise: append this string to the file @code{<fname>}, and
    289289         return nothing.
    290290NOTE:    preceding \">>\" are deleted and suffix \".tex\" (if not given)
     
    369369proc texmap(string fname, def m, def @r1, def @r2, list #)
    370370"USAGE:   texmap(fname,m,@r1,@r2); fname string, m string/map, @r1,@r2 rings
    371 RETURN:  if @code{fname=\"\"}: string, the map m from @r1 to @r2 (preceded 
     371RETURN:  if @code{fname=\"\"}: string, the map m from @r1 to @r2 (preceded
    372372         by its name if m = string) in TeX-typesetting;@*
    373          otherwise: append this string to the file @code{<fname>}, and 
     373         otherwise: append this string to the file @code{<fname>}, and
    374374         return nothing.
    375 NOTE:    preceding \">>\" are deleted in @code{fname}, and suffix \".tex\" 
     375NOTE:    preceding \">>\" are deleted in @code{fname}, and suffix \".tex\"
    376376         (if not given) is added to @code{fname}.
    377377         If m is a string then it has to be the name of an existing map
     
    561561  n = n+5*(i-anf);
    562562  anf =i;            // the next text in ( , ) as exponent
    563   if (op) 
    564   { 
     563  if (op)
     564  {
    565565    if (s[i]== ","){anf = anf+1;}
    566566    while(s[i] !=")"){ i++;}
     
    580580"USAGE:   texname(fname,s);  fname,s  strings
    581581RETURN:  if @code{fname=\"\"}: string, the transformed string s, where the
    582          following rules apply: 
    583 @example 
     582         following rules apply:
     583@example
    584584      s' + \"~\"             -->  \"\\tilde@{\"+ s' +\"@}\"
    585      \"_\" + int             -->       \"_@{\" + int +\"@}\" 
     585     \"_\" + int             -->       \"_@{\" + int +\"@}\"
    586586  \"[\" + s' + \"]\"           -->      \"_@{\" + s' + \"@}\"
    587    \"A..Z\" + int            --> \"A..Z\" + \"^@{\" + int + \"@}\"   
     587   \"A..Z\" + int            --> \"A..Z\" + \"^@{\" + int + \"@}\"
    588588   \"a..z\" + int            --> \"a..z\" + \"_@{\" + int + \"@}\"
    589589\"(\" + int + \",\" + s' + \")\" --> \"_@{\"+ int +\"@}\" + \"^@{\" + s'+\"@}\"
    590590@end example
    591591         Anyhow, strings which begin with a @code{\"@{\"} are only changed
    592          by deleting the first and last character (intended to remove the 
     592         by deleting the first and last character (intended to remove the
    593593         surrounding curly brackets).
    594594
    595          if @code{fname!=\"\"}: append the transformed string s to the file 
     595         if @code{fname!=\"\"}: append the transformed string s to the file
    596596         @code{<fname>}, and return nothing.
    597 NOTE:    preceding \">>\" are deleted in @code{fname}, and suffix \".tex\" 
     597NOTE:    preceding \">>\" are deleted in @code{fname}, and suffix \".tex\"
    598598         (if not given) is added to @code{fname}.
    599599EXAMPLE: example texname; shows an example
     
    603603  st=manipul(s);
    604604  if (size(fname))
    605   { 
     605  {
    606606    int i=1;
    607607    while (fname[i]==">"){i++;}
    608608    fname = fname[i,size(fname)-i+1];
    609609    if (size(fname)>=4)            // check if filename is ending with ".tex"
    610     { 
     610    {
    611611      if(fname[size(fname)-3,4]!=".tex") {fname = fname +".tex"; }
    612612    }
     
    634634
    635635static proc absterm(poly f)
    636 { 
     636{
    637637  int k;
    638638  for (k=1; k<=nvars(basering); k++)
     
    645645"USAGE:   texobj(fname,l); fname string, l list
    646646RETURN:  if @code{fname=\"\"}: string, the entries of l in LaTeX-typesetting;@*
    647          otherwise: append this string to the file @code{<fname>}, and 
     647         otherwise: append this string to the file @code{<fname>}, and
    648648         return nothing.
    649 NOTE:    preceding \">>\" are deleted in @code{fname}, and suffix \".tex\" 
     649NOTE:    preceding \">>\" are deleted in @code{fname}, and suffix \".tex\"
    650650         (if not given) is added to @code{fname}.
    651651EXAMPLE: example texobj; shows an example
     
    687687   { if (defined(`obj`))
    688688     { if (typeof(`obj`)=="ideal")
    689        { 
     689       {
    690690         Iname = obj; def e = `obj`;     //convert to correct type ideal
    691691         kill obj; def obj = e; kill e;
     
    900900}
    901901example
    902 { 
     902{
    903903   echo=0;
    904904   // -------- prepare for example ---------
     
    942942"USAGE:   texproc(fname,pname); fname,pname strings
    943943ASSUME:  @code{`pname`} is a procedure.
    944 RETURN:  if @code{fname=\"\"}: string, the proc @code{`pname`} in a verbatim 
     944RETURN:  if @code{fname=\"\"}: string, the proc @code{`pname`} in a verbatim
    945945         environment in LaTeX-typesetting;@*
    946          otherwise: append this string to the file @code{<fname>}, and 
     946         otherwise: append this string to the file @code{<fname>}, and
    947947         return nothing.
    948 NOTE:    preceding \">>\" are deleted in @code{fname}, and suffix \".tex\" 
     948NOTE:    preceding \">>\" are deleted in @code{fname}, and suffix \".tex\"
    949949         (if not given) is added to @code{fname}.@*
    950950         @code{texproc} cannot be applied to itself correctly.
     
    10441044"USAGE:   texring(fname, r[,L]); fname string, r ring, L list
    10451045RETURN:  if @code{fname=\"\"}: string, the ring in TeX-typesetting;@*
    1046          otherwise: append this string to the file @code{<fname>} and 
     1046         otherwise: append this string to the file @code{<fname>} and
    10471047         return nothing.
    10481048NOTE:    preceding \">>\" are deleted and suffix \".tex\" (if not given)
     
    11771177  texring("",ralg,"mipo");
    11781178  //
    1179   ring r49=(49,a),x,dp;                // Galois field 
     1179  ring r49=(49,a),x,dp;                // Galois field
    11801180  texring("",r49);
    11811181  //
     
    12001200proc rmx(string fname)
    12011201"USAGE:   rmx(fname); fname string
    1202 RETURN:  nothing; removes the @code{.log} and @code{.aux} files associated to 
     1202RETURN:  nothing; removes the @code{.log} and @code{.aux} files associated to
    12031203         the LaTeX file <fname>.@*
    1204 NOTE:    If @code{fname} ends by @code{\".dvi\"} or @code{\".tex\"}, the 
     1204NOTE:    If @code{fname} ends by @code{\".dvi\"} or @code{\".tex\"}, the
    12051205         @code{.dvi} or @code{.tex} file will be deleted, too.
    12061206EXAMPLE: example rmx; shows an example
     
    12861286{ "EXAMPLE:"; echo = 2;
    12871287  intmat m[3][4] = 9,2,4,5,2,5,-2,4,-6,10,-1,2,7;
    1288   opentex("exp001"); 
     1288  opentex("exp001");
    12891289  texobj("exp001","An intmat:  ",m);
    12901290  closetex("exp001");
     
    13001300
    13011301static proc parsr(string s)                     // parse real
    1302 { 
     1302{
    13031303  string t;
    13041304  if (s=="      Inf") { return("\\infty",3);}
     
    13121312    else {return(s[1,5]+"*10^"+t,23);}
    13131313  }
    1314   else 
     1314  else
    13151315  {
    13161316    return(s[1,5],12);
     
    13191319
    13201320static proc parsg(string s)                  // parse Galois field
    1321 { 
     1321{
    13221322  int i,j = 1,1;
    13231323  string t;
    13241324  if (short)
    1325   { 
     1325  {
    13261326    t =s[1];
    13271327    if(size(s)>1) {return(t+"^{" + s[2,size(s)-1] + "}",3+2*(size(s)-1));}
     
    13291329  }
    13301330  else
    1331   { 
     1331  {
    13321332    return(parselong(s+"!"));
    13331333  }
     
    13381338"USAGE:   texpoly(fname,p); fname string, p poly
    13391339RETURN:  if @code{fname=\"\"}: string, the poly p in LaTeX-typesetting;@*
    1340          otherwise: append this string to the file @code{<fname>}, and 
     1340         otherwise: append this string to the file @code{<fname>}, and
    13411341         return nothing.
    1342 NOTE:    preceding \">>\" are deleted in @code{fname}, and suffix \".tex\" 
     1342NOTE:    preceding \">>\" are deleted in @code{fname}, and suffix \".tex\"
    13431343         (if not given) is added to @code{fname}.
    13441344EXAMPLE: example texpoly; shows an example
     
    18471847 This document illustrates the functionality of the library."+"\\\\" +  nl);
    18481848 write(fname,"\\begin{tabular}{ll}" + nl +
    1849 "LIBRARY: {\\tt latex.lib} &   PROCEDURES FOR TYPESETTING SINGULAR" + 
     1849"LIBRARY: {\\tt latex.lib} &   PROCEDURES FOR TYPESETTING SINGULAR" +
    18501850"\\\\" +  nl +
    18511851" & OBJECTS IN LATEX2E"+
     
    18591859"{\\tt  texdemo([n]);} & produces a file explaining the features of this lib"+
    18601860"\\\\" +  nl +
    1861 "{\\tt  texfactorize(fnm,f);} & creates string in \\LaTeX-format for 
     1861"{\\tt  texfactorize(fnm,f);} & creates string in \\LaTeX-format for
    18621862factors of poly f"+ "\\\\" +  nl +
    18631863"{\\tt  texmap(fnm,m,r1,r2);} & creates string in \\LaTeX-format for
    18641864map m:r1$\\rightarrow$r2"+ "\\\\" +  nl +
    1865 "{\\tt  texname(fnm,s);} &      creates string in \\LaTeX-format for 
     1865"{\\tt  texname(fnm,s);} &      creates string in \\LaTeX-format for
    18661866identifier"+ "\\\\" +  nl +
    18671867"{\\tt  texobj(l);} &           creates string in \\LaTeX-format for
     
    18711871"{\\tt  texproc(fnm,p);} &      creates string in \\LaTeX-format of
    18721872text from proc p"+ "\\\\" +  nl +
    1873 "{\\tt  texring(fnm,r[,l]);} &  creates string in \\LaTeX-lformat for 
     1873"{\\tt  texring(fnm,r[,l]);} &  creates string in \\LaTeX-lformat for
    18741874ring/qring"+ "\\\\" +  nl +
    18751875"{\\tt  rmx(s);} &              removes .aux and .log files of \\LaTeX-files"+
     
    18811881"\\\\" +  nl2 + "\\vspace{0.2cm}" + nl2 +
    18821882"The global variables {\\tt TeXwidth}, {\\tt TeXnofrac}, {\\tt
    1883  TeXbrack}, {\\tt TeXproj}, {\\tt TeXaligned}, {\\tt TeXreplace}, {\\tt 
     1883 TeXbrack}, {\\tt TeXproj}, {\\tt TeXaligned}, {\\tt TeXreplace}, {\\tt
    18841884 NoDollars} are used to control the typesetting: "
    18851885);
     
    19011901write(fname,"Notice that none of these global variables are defined when
    19021902loading \\verb|latex.lib|. A flag variable is set as soon as it is defined.");
    1903  
     1903
    19041904
    19051905//% The procs and
     
    19091909   write(fname,"\\section{Opening a \\LaTeX\\ file}");
    19101910   write(fname,"In order to create a \\LaTeX\\ document and write a standard
    1911 header into it, use the following command."+ 
     1911header into it, use the following command."+
    19121912bv+
    19131913"> string fname = \"" + fname + "\";" + nl +
    1914 "> texopen(fname);" + 
     1914"> texopen(fname);" +
    19151915ev + nl);
    19161916
     
    19341934
    19351935static proc part1(string fname)
    1936 { 
     1936{
    19371937
    19381938  int st = defined(texdemopart);
     
    19561956// -1a------ a ring in char 0, short varnames and poly. ordering ----------
    19571957write(fname,
    1958 " A ring in characteristic 0 with short names of variables and polynomial 
     1958" A ring in characteristic 0 with short names of variables and polynomial
    19591959ordering." +nl);
    19601960 ring r0=0,(x,y,z),dp;
     
    19651965"> texring(fname,r0);" +
    19661966ev);
    1967   texring(fname,r0);             
     1967  texring(fname,r0);
    19681968  write(fname,nl2);
    19691969write(fname,
     
    19721972"> texpoly(fname,g);" +nl +
    19731973ev);
    1974   texpoly(fname,g); 
     1974  texpoly(fname,g);
    19751975  write(fname,"\\\\"+nl2);
    19761976
     
    19861986ev
    19871987);
    1988   texpoly(fname,g/280);             
     1988  texpoly(fname,g/280);
    19891989  kill r0;
    1990  
     1990
    19911991write(fname,"\\\\"+nl2);
    19921992write(fname,"\\Line");
    19931993// -2-------- a ring in char 7, indexed varnames and series ordering ----------
    19941994write(fname,
    1995 " A ring in characteristic 7 with indexed names of variables and local 
     1995" A ring in characteristic 7 with indexed names of variables and local
    19961996ordering." +nl);
    19971997 ring r1=7,(x1,x2,x3,x4),Ds;
    1998  poly g=-2*x1+x4-1; 
    1999 write(fname,
    2000 bv +
    2001 "> ring r1=7,(x1,x2,x3,x4),Ds;" +nl +               
     1998 poly g=-2*x1+x4-1;
     1999write(fname,
     2000bv +
     2001"> ring r1=7,(x1,x2,x3,x4),Ds;" +nl +
    20022002"> texring(fname,r1);" +nl +
    20032003ev);
    2004 texring(fname,r1);             
     2004texring(fname,r1);
    20052005write(fname,lb);
    20062006
    20072007write(fname, bv +
    2008 "> poly g=-2*x1+x4-1;  g;" +nl +               
     2008"> poly g=-2*x1+x4-1;  g;" +nl +
    20092009"> texpoly(fname,g);" +nl +
    20102010ev);
    20112011
    20122012  texpoly(fname,g);
    2013  
     2013
    20142014write(fname,lb);
    20152015write(fname,"\\Line");
     
    20172017// -3-------- a ring in char 0, indexed varnames and local ordering ----------
    20182018write(fname,
    2019 " A ring in characteristic 0 with indexed names of variables and local 
     2019" A ring in characteristic 0 with indexed names of variables and local
    20202020ordering.
    20212021" +nl);
     
    20272027"> texring(fname,r2);" +nl +
    20282028ev);
    2029   texring(fname,r2);             
     2029  texring(fname,r2);
    20302030
    20312031write(fname,
    20322032bv +
    20332033"> poly g=-y(1)^3*x(5)+y(1)*x(2);  g;" +nl+
    2034  string(g) + nl +         
     2034 string(g) + nl +
    20352035"> texpoly(fname,g);"  +nl +
    20362036ev
    20372037);
    2038   texpoly(fname,g);             
     2038  texpoly(fname,g);
    20392039  write(fname,lb);
    2040  
     2040
    20412041write(fname,"\\Line");
    20422042
     
    20612061);
    20622062  texpoly(fname,g); write(fname,lb);
    2063  
     2063
    20642064write(fname,"\\Line");
    20652065
     
    20992099ev);
    21002100 texring(fname,r0t);
    2101 write(fname, 
     2101write(fname,
    21022102bv +
    21032103"> poly g=8*(-s+2t)/(st+t3)*x+t2*x-1;  g;"+nl+
     
    21732173
    21742174write(fname,
    2175 bv + 
     2175bv +
    21762176"> poly g=-(2a13+a)*x2+a2*x-a+1;  g;" +nl+
    21772177 string(g) +nl +
     
    21982198
    21992199write(fname,
    2200 bv + 
     2200bv +
    22012201"> poly g=-(i+1)*x+2i2y2+i+x;  g;" +nl+
    22022202 string(g) +nl +
     
    22952295"It is possible to display a ground field different from the
    22962296actual one by passing any letter in \\LaTeX \\ notation as additional
    2297 argument.  Predefined values are \\verb|\"\\\\C\"|, \\verb|\"\\\\R\"|, 
     2297argument.  Predefined values are \\verb|\"\\\\C\"|, \\verb|\"\\\\R\"|,
    22982298\\verb|\"k\"|, \\verb|\"K\"| and \\verb|\"R\"|."+nl+
    22992299"If for example a ground field of characteristic 0 should be written as
     
    23112311 special role when the ground field is an algebraic extension. In this case
    23122312the parameters will be omitted.");
    2313  
     2313
    23142314write(fname,
    23152315bv +
     
    23582358
    23592359write(fname,nl+ "\\vspace{0.2cm}" + nl2);
    2360  
     2360
    23612361write(fname,"The first and the last variable will always be printed.
    23622362In order to print only these it is sufficient to give a 1 as third argument.");
     
    23892389write(fname,"It is also possible to pass several of the arguments described
    23902390above at once (in any order).");
    2391  
     2391
    23922392
    23932393write(fname,
     
    24072407
    24082408static proc part2(string fname)
    2409 { 
     2409{
    24102410
    24112411  int st = defined(texdemopart);
     
    24272427write(fname,"\\subsection{Factorized polynomials}");
    24282428
    2429 write(fname,"The command \\verb|texfactorize| calls internally the 
    2430 {\\sc Singular} command \\verb|factorize| and returns the product of the 
    2431 irreducible factors. Note that, at the moment, it is not possible to pass 
     2429write(fname,"The command \\verb|texfactorize| calls internally the
     2430{\\sc Singular} command \\verb|factorize| and returns the product of the
     2431irreducible factors. Note that, at the moment, it is not possible to pass
    24322432any optional arguments for \\verb|factorize| through \\verb|texfactorize|.");
    24332433
     
    24662466// ---------------------------------------------
    24672467write(fname,"By setting the global variable \\verb|TeXreplace| it is possible
    2468 to define rules for replacing strings or variable names. 
     2468to define rules for replacing strings or variable names.
    24692469\\verb|TeXreplace| has to be a list of twoelemented lists where the first
    24702470entry is the text which should be replaced by the second entry.
    2471 This may be applied to replace names of variables, but is also used 
     2471This may be applied to replace names of variables, but is also used
    24722472when calling \\verb|texname| or \\verb|texmap|. Note that it
    24732473is necessary to write a double backslash \\verb|\\\\\| at the beginning of
     
    25342534"\\]",nl);
    25352535
    2536 write(fname,"Note that the size of terms is calculated with certain 
     2536write(fname,"Note that the size of terms is calculated with certain
    25372537multiplicities.",nl);
    25382538
     
    25502550ev);
    25512551
    2552   setring r0; 
     2552  setring r0;
    25532553  poly g=-x2y+2y13z+1;
    25542554  poly f=g^2;
     
    25902590write(fname,nl2,"\\Line");
    25912591
    2592 write(fname,"There are two possibilities to convert a polynomial into 
     2592write(fname,"There are two possibilities to convert a polynomial into
    25932593\\LaTeX \\ code: either by using \\verb|texpoly| or by calling \\verb|texobj|.
    25942594The difference is that \\verb|texpoly| puts the polynomial in textmode
     
    26032603
    26042604// setring r3;
    2605  
     2605
    26062606  ring r3=0,(x_1,x_2,x_3),wp(3,2,1);
    26072607  poly g=-x_1*x_2+2*x_2*x_3+x_1*x_3;
     
    26412641write(fname,"If the global variable \\verb|Texaligned| is set then the ideal
    26422642is displayed as a row vector.");
    2643  
     2643
    26442644write(fname,
    26452645bv +
     
    27252725
    27262726static proc part3(string fname)
    2727 { 
     2727{
    27282728  int st=defined(texdemopart);
    27292729  string nl=newline;
     
    27342734
    27352735  if (not(st) or st>=3)
    2736   { 
     2736  {
    27372737    print(" Call part2 first");
    27382738    return();
     
    27462746write(fname,"\\section{Typeseting maps between rings}");
    27472747write(fname,"By default, maps are displayed in the following way:");
    2748  
     2748
    27492749write(fname,
    27502750bv +
     
    27542754"> texmap(fname,phi,r4,r5);" + nl +
    27552755ev);
    2756  
     2756
    27572757  ring @r4_h=0,(x,y,z),dp;
    27582758  if(system("with","Namespaces")) { export @r4_h to Current; }
     
    27672767write(fname,"If the global variable \\verb|TeXaligned| is set, then the
    27682768map is displayed in one line.");
    2769  
     2769
    27702770write(fname,
    27712771bv +
     
    27862786the second one contains the parameters for the domain. Note that if only one
    27872787list is present then it is applied to both of the rings.");
    2788  
     2788
    27892789write(fname,
    27902790bv +
     
    28022802ev );
    28032803
    2804  texmap(fname,@phi_h,@r4_h,r5,list(),list("{")); 
     2804 texmap(fname,@phi_h,@r4_h,r5,list(),list("{"));
    28052805
    28062806write(fname,nl+"\\Line");
     
    28362836write(fname, "Complex data structures such as matrices, vectors or modules
    28372837can be displayed by using the procedure \\verb|texobj|.");
    2838  
     2838
    28392839write(fname,"\\subsection{Matrices and vectors}");
    28402840//=======================================================================
     
    29372937ev );
    29382938
    2939   setring r; 
     2939  setring r;
    29402940  ideal I=3xz5+x2y3-3z,7xz5+y3z+x-z,-xyz2+4yz+2x;
    29412941  int TeXproj; export TeXproj;
    2942  
     2942
    29432943  texobj(fname,V);
    29442944  kill TeXproj;
     
    29482948"> kill TeXproj;"+nl+
    29492949ev);
    2950  
     2950
    29512951write(fname,"\\subsection{Modules}",nl2);
    29522952
     
    29842984
    29852985write(fname,"Integer matrices are displayed in the following way.");
    2986  
     2986
    29872987intmat m[3][4]=-1,3,5,2,-2,8,6,0,2,5,8,7;
    29882988
     
    30653065      "// not an isolated singularity";
    30663066    }
    3067     return(m_nr); 
     3067    return(m_nr);
    30683068  }
    30693069  export(milnor_number);
     
    30723072write(fname,"The following procedure allows to include the source code
    30733073of procedures into a \\LaTeX document.");
    3074 write(fname, 
     3074write(fname,
    30753075bv +
    30763076"> texproc(fname,\"milnor\_number\");" +nl+
    30773077ev);
    3078  
     3078
    30793079 texproc(fname,"milnor_number");
    30803080
    30813081  kill(milnor_number);
    3082  
     3082
    30833083// ------------------------------ closing the tex file -------------------
    30843084write(fname,"\\section{Closing the \\LaTeX\\ file}");
Note: See TracChangeset for help on using the changeset viewer.