-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathcwebman-extensions.ch
138 lines (131 loc) · 5.71 KB
/
cwebman-extensions.ch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
CHANGES for CWEBMAN.TEX by Andreas Scherer, September 2023.
This set of changes describes several extensions to the standard behavior of
the CWEB system. It suggests CWEBMAN-PATCH.CH to be applied first.
For a complete history of the changes made to CWEBMAN.TEX see CWEBMAN-PATCH.CH.
------------------------------------------------------------------------------
@x l.918
it cannot find them in the current directory.
@y
it cannot find them in the current directory.%
\cwebfootnote{In this extended implementation, if an \.{@i}nclude file can
not be found in the current directory, \.{CWEB} will look in standard
directories like the \CEE/ preprocessor. Multiple search paths may be
specified in the environment variable \.{CWEBINPUTS}, concatenated with
\.{PATH\_SEPARATOR}s (on \UNIX/ commonly known as~`\.:'). If the environment
variable is not set, some decent default paths are used instead.}
@z
------------------------------------------------------------------------------
@x l.1031
options are currently implemented:
\yskip
\def\option#1 {\textindent{\.#1}\hangindent2\parindent}
@y
\def\option#1 {\textindent{\.#1}\hangindent2\parindent}%
options are currently implemented:%
\cwebfootnote{This extended version of \.{CWEB} adds the following options
to the list:
\hfil\smallskip
\option c Check temporary output files for changes. (Off by default.)
\hfil\vskip\normallineskip
\option i Indent parameters in function declarations. (On by default;
\.{-i} typesets declarations flush left; some people think this to be
more logical than indenting them.) (Has no effect on \.{CTANGLE}.)
\hfil\vskip\normallineskip
\option l This option takes the string of characters to its right as its
argument to switch between different user languages and macro packages.
(Off by default.) (Has no effect on \.{CTANGLE}.)
\hfil\vskip\normallineskip
\option o Separate declarations and the first statement in a function block.
(On by default.) (\.{CWEAVE} only.)
\hfil\vskip\normallineskip
\option u Transliteration of UTF-8 multi-byte characters.
(Off by default.) (Has no effect on \.{CWEAVE}.)}
\yskip
@z
------------------------------------------------------------------------------
@x l.1067
\option x Include indexes and a table of contents in the \TEX/ file
output by \.{CWEAVE}. (On by default.) (Has no effect on \.{CTANGLE}.)
@y
\option x Include indexes and a table of contents in the \TEX/ file
output by \.{CWEAVE}. (On by default.) (\.{CWEAVE} only.)
\vfill\eject
@z
------------------------------------------------------------------------------
@x l.1141
the `\.{@\#}' will put extra space after `$\langle\,$Other locals$\,\rangle$'.
@y
the `\.{@\#}' will put extra space after `$\langle\,$Other locals$\,\rangle$'.%
\cwebfootnote{This extended version of \.{CWEB} acknowledges the \.{-o} option
to suppress the extra space globally.}
@z
------------------------------------------------------------------------------
@x l.1143
\section Hypertext and hyperdocumentation.
@y
\vfill\eject
\section Hypertext and hyperdocumentation.
@z
------------------------------------------------------------------------------
@x l.1167 Add HintView homepage.
from \.{https://hint.userweb.mwn.de/hint/hintview.html}.
@y
from
\pdfURL{the project homepage}{https://hint.userweb.mwn.de/hint/hintview.html}.%
@z
------------------------------------------------------------------------------
@x l.1176 Add Appendix G, the CTWILL source code.
the program sources at \.{ftp://ftp.cs.stanford.edu/pub/ctwill}.
@y
the program sources at
\pdfURL{the Stanford repository}{http://ftp.cs.stanford.edu/pub/ctwill}.%
\cwebfootnote{This extended version of \.{CWEB} comes with an up-to-date
\.{ctwill} executable -- and its associated helpers -- out of the box.}
@z
------------------------------------------------------------------------------
@x l.1191
appendices D, E, and~F, which exhibit the complete source code for
\.{CTANGLE} and \.{CWEAVE}.
\vfil\eject\titletrue
@y
appendices \pdfURL{D}{common.pdf}, \pdfURL{E}{ctangle.pdf},
and~\pdfURL{F}{cweave.pdf}, which exhibit the complete source code for
\.{CTANGLE} and \.{CWEAVE}.%
\cwebfootnote{Actually, \pdfURL{Appendix~D}{common.pdf} contains the source
code for \.{COMMON}, and the additional \pdfURL{Appendix~G}{ctwill.pdf}
exhibits the source code for \.{CTWILL}, which is based on \.{CWEAVE}.}
\vfill\eject\titletrue
@z
------------------------------------------------------------------------------
@x l.1728
if you have a duplex printer. Appendices D, E, and F of the complete
version of this manual are printed using a commented-out option that
substitutes `$\gets$' for `$=$' in the program listings. Looking at those
@y
if you have a duplex printer. Appendices \pdfURL{D}{common.pdf},
\pdfURL{E}{ctangle.pdf}, and \pdfURL{F}{cweave.pdf}\cwebfootnote{And
\pdfURL{Appendix~G}{ctwill.pdf}.} of the complete
version of this manual are printed using a commented-out option that
substitutes `$\gets$' for `$=$' in the program listings.\cwebfootnote{They
also make use of the alternative format for \CEE/ comments.}
Looking at those
@z
------------------------------------------------------------------------------
@x l.1780
\point 20. Furthermore, group titles can be converted to an arbitrary
@y
\vfill\eject
\point 20. Furthermore, group titles can be converted to an arbitrary
@z
------------------------------------------------------------------------------
@x l.1791
\bye
@y
\point 21. With modern \TeX\ engines like `\.{luatex}', `\.{pdftex}', and
`\.{xetex}' (but \\{not} with classic `\.{tex}') you can say `\.{\\input
pdfwebtocfront}' as the last command in the limbo section and run \TeX\
\\{twice} on your woven \.{CWEB} document, in order to shift the
table-of-contents to the front of the {\mc PDF} output.
\bye
@z
------------------------------------------------------------------------------