TWILL(1) General Commands Manual TWILL(1)

twill, twill-refsort - translate a literate programming WEB to TeX with mini-indexes

twill [-x] webfile[.web] [{changefile[.ch]|-} [outfile[.tex]]]

twill-refsort < reffile.ref > sreffile.sref

The twill program is used to create a TeX file for viewing a literate program written in WEB. The output TeX file name is formed by adding .tex to the root of the file name.

twill is like weave(1), but also supplies cross-reference information in the form of `mini-indexes' for each spread of pages, for identifiers used on that spread, and a `master index' at the end that it gathers automatically.

You need to run twill twice, once to prime the pump and once to get decent answers. Moreover, you must run the output twice through TeX.

For a program foo.web, after a first tex foo you will have output that looks like final pages except that the entries of mini-indexes will not be alphabetized. The first run produces an auxiliary file named foo.ref.
Run twill-refsort <foo.ref >foo.sref and then another tex foo will produce alphabetized output.

See tex(1) for details of command-line parsing, and weave(1) for options accepted.

The environment variable WEBINPUTS is used to search for the input files, If it is not set, it uses the system default. See the Kpathsea manual at https://tug.org/kpathsea for the details of the searching.

The table of contents file, CONTENTS.tex, is generated but ignored (unless macros in twimac-web.tex are redefined).

$TEXMFMAIN/tex/plain/cweb/cwebbin/twimac-web.tex
TeX macros used by twill output.

tangle(1) for references, authors, and other information about WEB in general.

Donald E. Knuth, Mini-indexes for literate programs, Software-Concepts and Tools, 15(1):2-11, 1994.
https://arxiv.org/abs/cs/9401102

CTWILL program source, section 287:
https://mirror.ctan.org/info/knuth-pdf/cweb/ctwill.pdf
(Not all features described there are available in the older twill system, but you will get the gist.)

Public discussion list and bug reports: https://lists.tug.org/tex-k

3 February 2026 Web2C 2026