man > cweb(1)

๐Ÿ“– NAME

ctangle, cweave โ€” translate CWEB to C/C++ and/or TeX

๐Ÿš€ Quick Reference

Use CaseCommandDescription
๐Ÿ“„ CWEB โ†’ C/C++ctangle webfile.wGenerate compilable C/C++ source
๐Ÿ“„ CWEB โ†’ TeXcweave webfile.wGenerate formatted TeX document
๐Ÿ”„ Apply change filectangle webfile.w changefile.chOverride parts of original .w file
๐Ÿ“ Specify output namectangle webfile.w - outfile.cUse - for no change file, then output name
โ“ Helpctangle --helpDisplay help message
โ„น๏ธ Versionctangle --versionOutput version information

๐Ÿ“‹ SYNOPSIS

ctangle [options] webfile[.w] [{changefile[.ch]|-} [outfile[.c]]]
cweave  [options] webfile[.w] [{changefile[.ch]|-} [outfile[.tex]]]

๐Ÿ“ DESCRIPTION

The ctangle program converts a CWEB source document into a C/C++ program that may be compiled in the usual way. The output file includes #line specifications so that debugging can be done in terms of the CWEB source file.

The cweave program converts the same CWEB file into a TeX file that may be formatted and printed in the usual way. It takes appropriate care of typographic details like page layout and the use of indentation, italics, boldface, etc., and it supplies extensive cross-index information that it gathers automatically.

CWEB allows you to prepare a single document containing all the information that is needed both to produce a compilable C/C++ program and to produce a well-formatted document describing the program in as much detail as the writer may desire. The user of CWEB ought to be familiar with TeX as well as C/C++.

๐Ÿ”ง USAGE

The command line should have one, two, or three names on it. The first is taken as the CWEB input file (and .w is added if there is no extension). If there is a second name, it is a change file (and .ch is added if there is no extension). The change file overrides parts of the CWEB file, as described in the documentation. If there is a third name, it overrides the default name of the output file, which is ordinarily the same as the name of the input file (but on the current directory) with the extension .tex. If you just want to change the output file name, but donโ€™t have a change file to apply, you can use `-' as the second argument.

๐Ÿ”€ DIFFERENCES TO ORIGINAL CWEB

CWEBbin tries hard to be a drop-in replacement for CWEB, so in general you should not notice any differences in invoking the programs nor in the resulting output. There are, however, a few differences worth noting:

โš™๏ธ OPTIONS

Options on the command line may be either turned off with `-' (if they are on by default) or turned on with `+' (if they are off by default). In fact, the options are processed from left to right, so a sequence like --verbose -h will only show the banner line (+b) and the progress report (+p), but leave out the happy message (-h).

๐Ÿ”ง Common Options (ctangle and cweave)

๐Ÿ”ง ctangleโ€‘only Option

๐Ÿ”ง cweaveโ€‘only Options

๐ŸŒ ENVIRONMENT

The environment variable CWEBINPUTS is used to search for the input files, or the system default if CWEBINPUTS is not set. See tex(1) for the details of the searching. To avoid conflicts with other programs that also use the CWEBINPUTS environment, you can be more specific and use CWEBINPUTS_cweb for special requirements in CWEB.

If prepared for NLS support, ctangle and cweave use the environment variable TEXMFLOCALEDIR to configure the parent directory where the โ€œGNU gettext utilitiesโ€ search for translation catalogs.

These variables are preconfigured in TeX Liveโ€™s texmf.cnf.

๐Ÿ“ FILES

The location of the files mentioned below varies from system to system. Use the kpsewhich utility to find their locations.

๐Ÿ‘€ SEE ALSO

โœ๏ธ AUTHORS

Don Knuth wrote WEB for TeX and Pascal.
Silvio Levy designed and developed CWEB by adapting the WEB conventions to C and by recoding everything in CWEB. Knuth began using CWEB and made further refinements.
Many other helpers are acknowledged in the CWEB manual.
Contemporary development on https://github.com/ascherer/cweb.

cweb(1)
๐Ÿ“– NAME ๐Ÿš€ Quick Reference ๐Ÿ“‹ SYNOPSIS ๐Ÿ“ DESCRIPTION ๐Ÿ”ง USAGE ๐Ÿ”€ DIFFERENCES TO ORIGINAL CWEB โš™๏ธ OPTIONS
๐Ÿ”ง Common Options (ctangle and cweave) ๐Ÿ”ง ctangleโ€‘only Option ๐Ÿ”ง cweaveโ€‘only Options
๐ŸŒ ENVIRONMENT ๐Ÿ“ FILES ๐Ÿ‘€ SEE ALSO โœ๏ธ AUTHORS

Generated by phpman v4.9.26-5-g7740029 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-11 12:22 @216.73.216.11
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^