Provided by: noweb_2.11b-11_amd64 bug


       noindex - build external index for noweb document


       noindex basename[.tex]


       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.


       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

       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-reference 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.


       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 boilerplate, including the commands


       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.


       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.


       noweave(1), nodefs(1), cpif(1)


       This man page is from noweb version 2.11b.


       Norman Ramsey, Harvard University.  Internet address
       Noweb home page at

                                         local 3/28/2001                                 NOWEB(1)