Prev Up
Go backward to Accelerated C++ Source Files
Go up to Resources

Nuweb and Pdfnuweb

Nuweb is a relatively simple but powerful tool that supports the literate programming style of simultaneous coding and documenting. It was originally developed by P. Briggs and has been extended and modified by others, including J. Ramsdell, M. Mengel, and D. Musser. Pdfnuweb is an extension of nuweb, developed by R. Loos, that adds hyperlinking to the code part definitions and uses in the documents it produces, in the form recognized by the hyperref package for pdflatex. In the information that follows, everywhere nuweb is mentioned the corresponding statement for pdfnuweb is also true, except as noted.

On CSLab SUN workstations run nuweb or pdfnuweb using the command

   nuweb file
   pdfnuweb file
where file.w is a nuweb source file. [Added 11/16/2001: The version of pdfnuweb currently installed on CSLab SUN workstations has a bug in the way it handles file names with underscore characters. Until a new pdfnuweb version is installed, avoid using underscores in file names, or use nuweb instead.] [Added 11/18/2001:  It has been installed.]

On RCS SUN systems, run nuweb with

   /home/96/mussed/public/nuweb file
This is only for RCS SUN workstations; there's currently no version compiled for IBM workstations, and no version of pdfnuweb on either SUN or IBM workstations. Nor is pdflatex installed on RCS SUN or IBM workstations (but latex is).

For running nuweb or pdfnuweb on a Windows PC, download a binary executable, nuweb.exe or pdfnuweb.exe. [Added 11/16/2001: If you downloaded pdfnuweb.exe before 11/16/2001, download it again. A bug has been corrected in the way pdfnuweb handles file names with underscore characters.]

[Added 11/18/2001: For running pdfnuweb on an Linux box with an Intel Pentium processor, download a binary executable, pdfnuweb. Thanks to Noboru Obata for compiling this binary.]

The following document describes the nuweb command set (which is very simple) and is also useful as a moderate-size example of the literate programming style: it documents the design and implementation of nuweb itself.

Nuweb Manual, a PDF file, about 80 pages, also available as a gzip-compressed Postscript file).
You probably want to print out just the first section of the manual, which describes the commands. (E.g., view it with Adobe Reader or Ghostview and select the pages you want for printing.) This version of the nuweb manual still only describes nuweb, not pdfnuweb.

There is a bug in this version of nuweb that makes it necessary to quote @ characters by prefixing an @, writing @@, within nuweb parts as well as outside of parts. Likewise, if you want a $ to appear in a part, you must prefix it with @.

A nuweb mode for Emacs is provided by nuweb.el (an elisp file that can be loaded into Emacs with EscX load-file).

Related Links


Prev Up