NOWEB(1) General Commands Manual NOWEB(1)NAME
htmltoc - add table of contents to HTML document
SYNOPSIS
htmltoc [-2345] [file]
DESCRIPTION
htmltoc adds a table of contents to the HTML document named on the command line or provided as standard input. The table of contents is
inserted between <tableofcontents> and </tableofcontents>, which must appear on lines by themselves. Any text between those two markers is
discarded. These markers are inserted automatically by the sl2h(1) filter.
The table of contents includes only headers at levels 2, 3, 4, and 5. This can be changed by using a command-line option, e.g.,
-123456789P to include all possible headers.
BUGS
htmltoc can't cope with a header that is split across multiple lines, even though this is legal HTML.
SEE ALSO nowebfilters(7), sl2h(1)VERSION
This man page is from noweb version 2.11b.
AUTHOR
Norman Ramsey, Harvard University. Internet address nr@eecs.harvard.edu.
Noweb home page at http://www.eecs.harvard.edu/~nr/noweb.
Stephen Parker provided a preliminary version.
local 3/28/2001 NOWEB(1)
Check Out this Related Man Page
NOWEB(1) General Commands Manual NOWEB(1)NAME
noindex - build external index for noweb document
SYNOPSIS
noindex basename[.tex]
DESCRIPTION
noindex looks through LaTeX .aux files for identifiers that should go in a noweb external index. It sorts all identifiers and writes the
results on basename.nwi.
NOWEB INDEXING STRATEGIES
A noweb program consists of one or more files. In the simple case, these files are run through noweave together, to produce a single LaTeX
file. noweave -index suffices to produce an index and cross-referencing information; neither nodefs nor noindex is required.
When a noweb program consists of several source files, it is often better to run each source file through noweave to produce its own LaTeX
file, then use noindex to produce an external index. This technique has several advantages:
The line numbers in the LaTeX files correspond to the line numbers in the source files, so it is easier to diagnose LaTeX errors.
The LaTeX includeonly feature can be used, making it possible to format parts of large programs while retaining complete cross-ref-
erence information.
When used with make(1), the technique avoids running noweave over source files that have not changed.
Using the external index places fewer demands on LaTeX's memory, making it read its .aux files much more quickly.
The disadvantages are that nodefs and noindex are needed for full cross-referencing and a properly sorted index.
EXAMPLE
This example assumes a noweb program of three source files: a.nw , b.nw , and c.nw. The file doc.tex is assumed to contain LaTeX boiler-
plate, including the commands
oweboptions{externalindex}
include{a}
include{b}
include{c}
The first sequence of steps is to create a file listing all the identifiers defined anywhere in a, b, or c.
nodefs a.nw > a.defs
nodefs b.nw > b.defs
nodefs c.nw > c.defs
sort -u a.defs b.defs c.defs | cpif all.defs
Using sort -u and cpif(1) avoids changing all.defs unless the set of identifiers changes. This technique, used in a Makefile, avoids
unnecessary rebuilding.
The next series of steps is to create LaTeX files with full cross-reference information for all identifiers.
noweave -n -indexfrom all.defs a.nw > a.tex
noweave -n -indexfrom all.defs b.nw > b.tex
noweave -n -indexfrom all.defs c.nw > c.tex
The final steps run LaTeX once to create .aux files, then noindex to create the index, then LaTeX again to format the complete document.
latex doc
noindex doc
latex doc
In a Makefile, noindex can be run before every invocation of LaTeX.
BUGS
noindex is distributed in awk and Icon versions. The awk version is slow and does a poorer job sorting.
There is no comparable machinery to make it possible to use multiple files with the HTML back end.
SEE ALSO noweave(1), nodefs(1), cpif(1)VERSION
This man page is from noweb version 2.11b.
AUTHOR
Norman Ramsey, Harvard University. Internet address nr@eecs.harvard.edu.
Noweb home page at http://www.eecs.harvard.edu/~nr/noweb.
local 3/28/2001 NOWEB(1)