diff options
-rwxr-xr-x | doc/mkdocs | 2 | ||||
-rw-r--r-- | doc/sbase/dist/birddoc/groff/mapping | 653 | ||||
-rwxr-xr-x | doc/sgml2txt | 44 |
3 files changed, 698 insertions, 1 deletions
@@ -1,7 +1,7 @@ #!/bin/bash ./sgml2html bird.sgml ./sgml2latex bird.sgml -sgml2txt bird.sgml 2> /dev/null +./sgml2txt bird.sgml #> bird.txt #for i in bird.html bird-*.html; do # lynx -dump $i | grep -v 'file://' | grep -v '^References$' >> bird.txt diff --git a/doc/sbase/dist/birddoc/groff/mapping b/doc/sbase/dist/birddoc/groff/mapping new file mode 100644 index 00000000..afb81bb4 --- /dev/null +++ b/doc/sbase/dist/birddoc/groff/mapping @@ -0,0 +1,653 @@ +% linuxdoc replacement file +% translates into nroff, using ms macros +% manpages can be processed using the man macros +% does not use neqn for math. + +% Based on qwertz replacement file by Tom Gordon +% linuxdoc mods by mdw + +% Groff dependencies are few. To port to another roff: +% 1. Check and modify, if necessary, font changes. (e.g. In psroff the +% same fonts have other names.) +% 2. Check the code for including Encapsulated PostScript, generated +% for eps elements. +% 3. Also make versions of general.grops and math.grops, which are sed +% scripts translating character entities into groff character references. + + +<birddoc> + ".nr PS 11\n" + + % Hacked by mdw + ".nr PI 3n\n" + ".ds CF \\\\n\%\n" + ".ds CH \\&\n" + ".ds dR $\n" % dollar, to avoid EQN conflicts + + % Start with no TOC + ".ds printtoc\n" + + % Footnote style + ".nr FF 1\n" + + % James Clark's trick to prevent unintended paragraph + % breaks + + ".tr \\&\n" + + % horizontal line + ".de hl\n" + ".br\n" + "\\l'\\\\n(.lu-\\\\n(.iu'\n" + "..\n" + + % paragraph spacing + ".if n .nr PD 1v\n" + + % margins added by mdw + ".nr PO 0.25i\n" + ".po 0.25i\n" + ".nr LL 7.0i\n" + ".nr TL 7.0i\n" + ".nr HM 0i\n" + ".nr FM 0i\n" + + % Turn off right-margin filling + ".na\n" + + % h is 1 if first paragraph after heading + + ".nr h 0\n" + + % initialize heading level + + ".nr il 1\n" + + % Number registers for list + + ".nr bi 0\n" % initialize begin items + ".nr ll 0\n" % list level, stores current level + ".nr el 0\n" % current enumeration level + + % Not all list levels are enumerations, as + % itemizations can be embedded within enumerations + % and vice versa + + % type of list level is in \n(t\n(ll, where + % 0 : itemize, 1 : enumerate, 2: description + + % enumerator for an enumeration level is in + % \n(e\n(el -- i.e. \n(e1=2 means current item of + % enumeration level 1 is 2 + + % context-sensitive paragraph macro + +% Bug: There's some problem using this to re-start paragraphs after the +% </verb> and </code>, so after verb and code I insert .LP. That's fine +% except that is loses indentation when using verb or code inside of a list. + +".de Pp\n" +".ie \\\\n(ll>0 \\{\\\n" % within list? +".ie \\\\n(bi=1 \\{\\\n" % first par element of item? +".nr bi 0\n" % reset bi flag +% if itemization, mark with a bullet +".if \\\\n(t\\\\n(ll=0 \\{.IP \\\\(bu\\}\n" % itemize +% if enumeration: increment and print enumerator +% for this enumeration level +".if \\\\n(t\\\\n(ll=1 \\{.IP \\\\n+(e\\\\n(el.\\}\n" +% if first par element of descrip, do nothing +".\\}\n" +".el .sp \n" % subsequent par element of item +".\\}\n" +".el \\{\\\n" % not within list +".ie \\\\nh=1 \\{\\\n" % first par after heading +".LP\n" +".nr h 0\n" % reset h flag +".\\}\n" +".el .LP \n" % Changed from .PP, mdw +".\\}\n" +".nh\n" +"..\n" + + + + % for each level, a number register is created + % to store its type and current item number, where + % -1=bullet of an itemized list. + + % Format of list level enumerators + + ".ds f1 1\n" + ".ds f2 a\n" + ".ds f3 i\n" + ".ds f4 A\n" + + % Number registers for theorems + ".nr def 0\n" + ".nr prop 0\n" + ".nr lemma 0\n" + ".nr coroll 0\n" + ".nr proof 0\n" + ".nr theorem 0\n" + + % Reference commands + +% redefine superscript strings so that refer tags look like [this] + + ".ds \[. \[\n" + ".ds .\] \]\n" + +</birddoc> + +% set initial level of headings, in register il + +<article> + ".nr il 0" + +</article> + ".if '\\*[printtoc]'true' .PX\n" + +<report> + ".nr il 1" + +</report> + ".bp\n" + ".rm LH\n.rm RH\n" + ".TC" + + +<book> + ".nr il 1" + +</book> + ".rm LH\n.rm RH\n" + ".bp\n" + ".TC" + + +<notes> +</notes> + +<manpage> + ".nr il -1" + +</manpage> + +% Hacked up titlepag stuff to look more reasonable. Titles and author +% names are now stored in strings, printed by the end of </titlepag>. +% Wake up! This uses groff-like long string names. You must use groff +% to format this. + +<titlepag> + ".ds mdwtitle\n" + ".ds mdwsubtitle\n" + ".ds mdwdate\n" + ".de printabstract\n" + "..\n" + +</titlepag> + "\\*[mdwtitle]\n" + ".br\n" + ".if !'\\*[mdwsubtitle]'' \\*[mdwsubtitle]\n" + ".br\n" + ".printauthor\n" + ".br\n" + "\\*[mdwdate]\n" + ".br\n" + ".printabstract\n" + ".br\n" + +%<title> + ".TL" + +%</title> + +<title> + ".ds mdwtitle " +</title> + + +%<subtitle> + ".br\n" +% ".ft R\n" +% ".SM" + +%</subtitle> + ".LG" + + +<subtitle> + ".ds mdwsubtitle " +</subtitle> + + +<date> + ".ds mdwdate " +</date> + + +<abstract> + ".de printabstract\n" + ".LP\n" +</abstract> + ".." + + +% author needs to be set up as its own macro, fired off from .printtitle. + +<author> + ".de printauthor" + +</author> + ".." + + +%<name> + ".AU" + +%</name> + +<name> + ".br" + +</name> + +<and> +</and> + +<thanks> "\\**\n" + ".FS" + +</thanks> + ".FE" + + +<inst> + ".br" + +</inst> + +%<newline> + ".br" + +<newline> + ".br" +</newline> + +<label> +</label> + +<header> +</header> + +<lhead> + ".EH '" +</lhead> "'''" + + +<rhead> + ".OH '''" +</rhead> "'" + + +<comment> + "(*" + +</comment> + "*)" + + +% New abstract given above --mdw +%<abstract> + ".AB" + +%</abstract> + ".AE" + + +<appendix> + ".af H1 A" + +</appendix> + +% limitation: no list of figures or tables. A table of contents +% is always generated for books and reports. Thus these next three tags +% are no-ops + +% For now, no table-of-contents in ASCII output. (Uncomment this if +% desired). +%<toc> + ".ds printtoc true" +%</toc> + +<toc> +</toc> + +<lof> +</lof> + +<lot> +</lot> + +<chapt> + ".bp\n" + ".NH \\n(il " + +</chapt> + +<sect> + ".NH 1+\\n(il" + +</sect> + +<sect1> + ".NH 2+\\n(il" + +</sect1> + +<sect2> + ".NH 3+\\n(il" + +</sect2> + +<sect3> + ".NH 4+\\n(il" + +</sect3> + +<sect4> + ".NH 5+\\n(il" + +</sect4> + +<heading> ".ds h " +</heading> + "\\*h\n" + ".XS \\n%\n" + "\\*(SN \\*h\n" + ".XE\n" + ".nr h 1\n" % set heading flag to true + +<p> + ".Pp" + +</p> + +<itemize> + ".nr ll +1\n" % increment list level + ".nr t\\n(ll 0\n" % set type of level to itemize +</itemize> + ".nr ll -1\n" % decrement list level + +<enum> + ".nr ll +1\n" % increment list level + ".nr el +1\n" % increment enumeration level + ".nr t\\n(ll 1\n" % set type of level to enum + ".nr e\\n(el 0 1\n" % initialize enumerator + ".af e\\n(el \\*(f\\n(el\n" % style of enumerator + ".if \\n(ll>1 .RS" + +</enum> + ".if \\n(ll>1 .RE\n" + ".br\n" + ".nr el -1\n" % decrement enumeration level + ".nr ll -1\n" % decrement list level + +<descrip> + ".RS\n" + ".nr ll +1\n" % increment list level + ".nr t\\n(ll 2\n" % set type of level to descrip +</descrip> + ".nr ll -1\n" % decrement list level + ".RE" + + +% number register bi means "begin item". Used in the .P macro to print +% bullets or numbers at beginning of first paragraph of an item. +% If bi=1 then the paragraph is the first one of the item. + +<item> + ".nr bi 1\n.Pp" + +</item> + +<tag> + ".IP \"\\fB" +</tag> "\\fR\"\n" + ".nr bi 1" + + +<m> "" +</m> "" + +<cf> "" +</cf> "" + +<cite> + ".\[\n[ID]\n.\]" + +</cite> + +<ncite> + ".\[\n[ID]\n.\]\n([NOTE])" +</ncite> + +<footnote> " (-- " +</footnote> "--)" + + +<sq> "\\*Q" +</sq> "\\*U" + +<lq> + ".RS\n" + ".nr LL \\n(LL-\\n(PI" + +</lq> + ".nr LL \\n(LL+\\n(PI\n" + ".RE" + + +<em> "\\fI" +</em> "\\fP" + +<bf> "\\fB" +</bf> "\\fR" + +<it> "\\fI" +</it> "\\fR" + +<sf> "\\fR" +</sf> "\\fR" + +<sl> "\\fI" +</sl> "\\fR" + +% Changed by mdw +<tt> "\\fC" +</tt> "\\fR" + +% Added by mdw +<cparam> "\\fI<" +</cparam> ">\\fR" + +<url> "[NAME] <\\fC[URL]\\fR>" +</url> + +<htmlurl> "[NAME]" +</htmlurl> + +<ref> "``[NAME]''" +</ref> + +<nidx> + "\\#" +</nidx> "\\n" + +<ncdx> + "\\#" +</ncdx> "\\n" + +<pageref> "??" +</pageref> + +<x> +</x> + +<mc> +</mc> + +<biblio> + ".\[\n" + "$LIST$\n" + ".\]" + +</biblio> + +<code> + ".DS L\n" + ".hl\n" + ".ft R\n" + + +</code> + ".hl\n" + ".DE\n" + ".ft P\n" + % ".Pp" + % continue previous paragraph (changed mdw) + ".LP" + +<verb> + ".DS L\n" + ".ft R\n" + + +</verb> + ".DE\n" + ".ft P\n" + % ".Pp" + % continue previous paragraph (changed mdw) + ".LP" + +% tscreen added by mdw +<tscreen> + ".br\n" + ".po 0.75i\n" + ".ll 6.0i\n" + ".ft C\n" + ".LP\n" % Used to be Pp +</tscreen> + ".br\n" + ".po 0.25i\n" + ".ll 7.0i\n" + ".ft R\n" % This might not be correct + ".LP\n" % Used to be Pp + +<quote> + ".br\n" + ".po 0.75i\n" + ".ll 6.0i\n" + ".nr LL 6.0i\n" + ".LP\n" % Used to be Pp +</quote> + ".br\n" + ".po 0.25i\n" + ".ll 7.0i\n" + ".nr LL 7.0i\n" + ".LP\n" % Used to be Pp + + + + +% theorems and such + +<def> + ".sp\n" + ".nr def \\n\[def\]+1\n" + ".B \"Definition \\n\[def\] \"" + +</def> + ".ft P\n.sp" + + +<prop> + ".sp\n" + ".nr prop \\n\[prop\]+1\n" + ".B \"Proposition \\n\[prop\] \"" + +</prop> + ".ft P\n.sp" + + + +<lemma> + ".sp\n" + ".nr lemma \\n\[lemma\]+1\n" + ".B \"Lemma \\n\[lemma\] \"" + +</lemma> + ".ft P\n.sp" + + +<coroll> + ".sp\n" + ".nr coroll \\n\[coroll\]+1\n" + ".B \"Corolloary \\n\[coroll\] \"" + +</coroll> + ".ft P\n.sp" + + +<proof> + ".sp\n" + ".nr proof \\n\[proof\]+1\n" + ".B \"Proof \\n\[proof\] \"" + +</proof> + ".ft P\n.sp" + + +<theorem> + ".sp\n" + ".nr theorem \\n\[theorem\]+1\n" + ".B \"Theorem \\n\[theorem\] \"" + +</theorem> + ".ft P\n.sp" + + +<thtag> + ".B\n(" +</thtag> ")\n.I" + + +% mathematics -- this nroff version needs work. + +<f> +</f> + +<dm> + ".DS L" + +</dm> + ".DE" + + +<eq> + ".DS L" + +</eq> + ".DE" + + +<fr> +</fr> + +<nu> "{" +</nu> "} over " + +<de> "{" +</de> "}" + +<lim> +</lim> + +<op> +</op> + +<ll> " from {" +</ll> "}" + +<ul> " to {" +</ul> "}" + +<opd> +</opd> + +<pr> " prod " +</pr> + +<in> " int " +</in> + +<sum> " sum " +</sum> + +% limitation: eqn only does square roots! + +<root> " sqrt {" +</root> "}" + +<ar> + ".TS\n" + "center, tab(|) ;\n" + "[ca]." + +</ar> + ".TE" + + +<arr> "\n" +</arr> + +<arc> "|" +</arc> + + +<sup> " sup {" +</sup> "}" + +<inf> " sub {" +</inf> "}" + + +<unl> "{" +</unl> "} under " + +<ovl> "{" +</ovl> "} bar " + +<rf> " bold{" +</rf> "}" + +<v> "{" +</v> "} vec " + +% limitation: no calligraphic characters, using helvetica italics instead. Is there a better font? + +<fi> "\\fI" +</fi> "\\fP" + +<phr> " roman }" +</phr> "}" + + +<tu> + ".br" + +</tu> + +% figures + +<figure> % + ".KF" + +</figure> % + ".KE" + + +<eps> + ".if t .PSPIC [file].ps\n" + ".if n .sp 4" + +</eps> + +% Are TeX units properly handled by this translation of ph? + +<ph> + ".sp [VSPACE]" + +</ph> + +<caption> + ".sp\n.ce" + +</caption> + +% tables + +<table> + ".KF\n.R" + +</table> + ".KE" + + +<tabular> + ".TS\n" + "center, tab(|) ; \n" + "[ca]." + +</tabular> + ".TE" + + +<rowsep> "\n" + +</rowsep> + +<colsep> "|" +</colsep> + +%<hline> + "_" + +% gregh +<hline> + ".hl\n" + + +</hline> + +<slides> + ".nr PS 18" + +</slides> + +<slide> +</slide> + ".bp\n\\&" + + +% letters -- replacement for email, using mh format. + +<letter> + ".nf" + +</letter> + + +<from> + "From: " +<to> + "To: " + +<address> + ".de Ad\n" +</address> + ".." + + +<email> " <" +</email> ">" + +<subject> + "Subject: " + +<sref> + "Sref: " +<rref> + "In-Reply-To: " + +<cc> + "cc: " + +<opening> + ".fi\n.LP" + + +<closing> + ".LP" + + +<encl> + ".XP\n" + "encl: " + +<ps> + ".LP\np.s." + + +% end of roff replacement file diff --git a/doc/sgml2txt b/doc/sgml2txt new file mode 100755 index 00000000..3f7b6826 --- /dev/null +++ b/doc/sgml2txt @@ -0,0 +1,44 @@ +#!/usr/bin/perl +# +# sgmltools.in +# +# $Id$ +# +# SGML-Tools driver. Calls all other SGML-Tools components, contains +# configuration information, etcetera. +# +package main; + +sub BEGIN +{ + require 5.004; +} +use strict; + +use vars qw($prefix $LibDir $BinDir $progs); + +$prefix = "/usr"; +$LibDir = "sbase"; +$BinDir = "/usr/bin"; + +use lib "/usr/lib/sgml-tools"; +use lib "/usr/perl5"; +use lib "/usr/lib/perl5"; +$progs = { + "NSGMLS" => "/usr/bin/nsgmls", + "SGMLSASP" => "/usr/bin/sgmlsasp", + "GROFF" => "/usr/bin/groff", + "GROFFMACRO" => "-mgs" +}; + +require SGMLTools; +&SGMLTools::init; + +my @FileList = SGMLTools::process_options ($0, @ARGV); +for my $curfile (@FileList) + { + SGMLTools::process_file ($curfile); + } + +exit 0; + |