The original WEB system by Donald Knuth has the
macros webmac.tex
that produce DVI output only; for historic reasons, they
will never be modified (apart from catastrophic errors).
Hàn Thế Thành has extended these macros in his (outdated?) pdfwebmac.tex
for
PDF output (only) with pdfTeX.
Jonathan Kew's XeTeX has similar macros
xewebmac.tex
by Khaled Hosny that include and modify webmac.tex
for PDF
output; all these macros can only be used with a specific “TeX engine” each.
The present pwebmac
package integrates these three WEB macro files similar
to cwebmac.tex
in Silvio Levy's and Don Knuth's
CWEB system, so pwebmac.tex
can be used with
“plain TeX,” “pdfTeX,” “LuaTeX,” and “XeTeX” alike. And it adds full support
for Martin Ruckert's “HiTeX” engine and its
HINT
output format.
Its initial application is the production of PDF and HINT files for all major
WEB programs for “TeX and friends” as distributed in
TeX Live. For this purpose, the shell script
makeall
was whipped together; it provides various command-line options and
works around several “quirks” in the WEB sources. The resulting collections
of PDF and HINT documents can be browsed in the
knuth-pdf
and
knuth-hint
packages.
WEB programmers who want to use pwebmac.tex
instead of the default
webmac.tex
in their programs have to change the first line in the TeX file
created by WEAVE
(try weave -p
). From there, all depends on the “TeX
engine” you use: “plain TeX” by default creates DVI output, “plain TeX” with
the invocation tex "\let\pdf+\input…"
, as well as pdftex
, luatex
, and
xetex
create PDF output with clickable links and bookmarks (with pdftex
and luatex
you are advised to apply the “--shell-escape
” command-line
option in order to avoid an internal miscalculation in the resulting PDF
file), and hitex
creates HINT output that can be viewed with the
hintview
program.
The pwebmac
package is free software and may be used without constraints.
This is version 5.0 of the pwebmac
package — 2024-08-12, Andreas Scherer.