From 61a9f818a6443b0e073e81ad9524dceab6aa92cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Fri, 16 Jul 1999 00:35:55 -0700 Subject: [PATCH] some fixes for latex/ps/pdf Rev: tutorial/Makefile:1.39 Rev: tutorial/latex.pike:1.9 Rev: tutorial/tutorial.wmml:1.127 --- tutorial/Makefile | 11 +++++----- tutorial/latex.pike | 48 ++++++++++++++++++++++++++++++++++++------ tutorial/tutorial.wmml | 18 ++++++++-------- 3 files changed, 56 insertions(+), 21 deletions(-) diff --git a/tutorial/Makefile b/tutorial/Makefile index 41c5bb1e2d..fb7798194a 100644 --- a/tutorial/Makefile +++ b/tutorial/Makefile @@ -55,10 +55,15 @@ tutorial.tex: .DUMMY $(SRCFILES) # latex has to be run twice to work with labels and stuff # but there are no labels yet... tutorial.dvi: tutorial.tex - -@rm tutorial.aux + -@rm tutorial.aux tutorial.toc latex tutorial.tex latex tutorial.tex +tutorial.pdf: tutorial.pdftex + -@rm tutorial.aux tutorial.toc + pdflatex tutorial.pdftex + pdflatex tutorial.pdftex + tutorial.ps: tutorial.dvi dvips -Z tutorial.dvi -o tutorial.ps @@ -71,10 +76,6 @@ tutorial.ps.bz2: tutorial.ps tutorial.pdftex: .DUMMY $(SRCFILES) $(pike) ./wmmltohtml2 tutorial.wmml pdflatex tutorial -tutorial.pdf: tutorial.pdftex - -@rm tutorial.aux - pdflatex tutorial.pdftex - pdflatex tutorial.pdftex tut.html: .DUMMY $(SRCFILES) $(pike) ./wmmltohtml2 tutorial.wmml sitebuilder tut diff --git a/tutorial/latex.pike b/tutorial/latex.pike index c053cbe564..1866f66d19 100644 --- a/tutorial/latex.pike +++ b/tutorial/latex.pike @@ -29,11 +29,11 @@ string low_latex_quote(string text) "\\{","\\}", "$\\mu$","\\&", "\\verb+ +","$\\backslash$", - "\\verb+[+","\\verb+]+", + "\\symbol{91}","\\symbol{93}", "\\#","\\%", - "\\$","\\verb+~+", - "\\verb+^+","\\_", + "\\$","\\symbol{126}", + "\\symbol{94}","\\_", }) ); } @@ -45,7 +45,7 @@ string latex_quote(string text) string quote_label(string s) { string ret=""; - while(sscanf(s,"%[_a-zA-Z0-9.:]%c%s",string safe, int char, s)==3) + while(sscanf(s,"%[a-zA-Z0-9.:]%c%s",string safe, int char, s)==3) ret+=sprintf("%s-%02x",safe,char); ret+=s; return ret; @@ -392,18 +392,22 @@ string convert_to_latex(SGML data, void|int flags) break; case "section": + int olddepth=depth; string tmp=""; switch(depth) { + // For sections outside chapters + case 0: depth++; break; + default: + case 3: tmp+="sub"; case 2: tmp+="sub"; - case 1: tmp+="sub"; - case 0: + case 1: } depth++; ret+="\\"+tmp+"section{"+latex_quote(tag->params->title)+"}"+ convert_to_latex(tag->data); - depth--; + depth=olddepth; break; case "center": @@ -416,6 +420,36 @@ string convert_to_latex(SGML data, void|int flags) case "constant": case "method": case "function": +#if 1 + if(depth) + { + string tmp=""; + switch(depth) + { + // For sections outside chapters + case 0: depth++; break; + + default: + case 3: tmp+="sub"; + case 2: tmp+="sub"; + case 1: + } + + if(tag->params->name) + { + foreach(tag->params->name/",", string name) + { + sscanf(name," %s",name); + ret+="\n\\addcontentsline{toc}{"+tmp+"section}{"+ + latex_quote(name)+ + "}\n"; + } + } + } +#endif + ret+=convert_to_latex(tag->data); + break; + case "class": case "module": // FIXME: but how? diff --git a/tutorial/tutorial.wmml b/tutorial/tutorial.wmml index fb583c5270..f462780db8 100644 --- a/tutorial/tutorial.wmml +++ b/tutorial/tutorial.wmml @@ -7319,7 +7319,7 @@ might not be available in your Pike depending on whether the gdbm library was available on your system when Pike was compiled. <hr noshade size=1> -<method name=Gdbm.gdbm->create title="open database"> +<method name=Gdbm.gdbm->create title="open database"> <man_syntax> int create();<br> int create(string <I>file</I>);<br> @@ -7351,7 +7351,7 @@ can be left in an unusable state if Pike is terminated abnormally. <hr noshade size=1> -<method name=Gdbm.gdbm->close title="close database"> +<method name=Gdbm.gdbm->close title="close database"> <man_syntax> void close();<br> </man_syntax> @@ -7362,7 +7362,7 @@ This closes the database. <hr noshade size=1> -<method name=Gdbm.gdbm->store title="store a value in the database"> +<method name=Gdbm.gdbm->store title="store a value in the database"> <man_syntax> int store(string <I>key</I>, string <I>data</I>);<br> </man_syntax> @@ -7376,7 +7376,7 @@ the database was not open for writing. <hr noshade size=1> -<method name=Gdbm.gdbm->fetch title="fetch a value from the database"> +<method name=Gdbm.gdbm->fetch title="fetch a value from the database"> <man_syntax> string fetch(string <I>key</I>);<br> </man_syntax> @@ -7388,7 +7388,7 @@ If there was no such key in the database, zero is returned. <hr noshade size=1> -<method name=Gdbm.gdbm->delete title="delete a value from the database"> +<method name=Gdbm.gdbm->delete title="delete a value from the database"> <man_syntax> int delete(string <I>key</I>);<br> </man_syntax> @@ -7400,7 +7400,7 @@ if the key does not exist. <hr noshade size=1> -<method name=Gdbm.gdbm->firstkey title="get first key in database"> +<method name=Gdbm.gdbm->firstkey title="get first key in database"> <man_syntax> string firstkey();<br> </man_syntax> @@ -7412,7 +7412,7 @@ database. <hr noshade size=1> -<method name=Gdbm.gdbm->nextkey title="get next key in database"> +<method name=Gdbm.gdbm->nextkey title="get next key in database"> <man_syntax> string nextkey(string <I>key</I>);<br> </man_syntax> @@ -7430,7 +7430,7 @@ for(key=gdbm->firstkey(); k; k=gdbm->nextkey(k))<br> <hr noshade size=1> -<method name=Gdbm.gdbm->reorganize title="reorganize database"> +<method name=Gdbm.gdbm->reorganize title="reorganize database"> <man_syntax> int reorganize();<br> </man_syntax> @@ -7444,7 +7444,7 @@ can take a LOT of time to run. <hr noshade size=1> -<method name=Gdbm.gdbm->sync title="synchronize database"> +<method name=Gdbm.gdbm->sync title="synchronize database"> <man_syntax> void sync();<br> </man_syntax> -- GitLab