diff options
author | Karl Berry <karl@freefriends.org> | 2019-01-10 23:03:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-01-10 23:03:46 +0000 |
commit | 9a03d333352725aa48e1267bd4745c629938c705 (patch) | |
tree | 8ede2c8d99e668bed2d8118459eb9e4b0c8324bc /Build/source | |
parent | 0446755d9f93d095627779097695fa3468811b93 (diff) |
ctwill man page and help updates from Andreas
git-svn-id: svn://tug.org/texlive/trunk@49666 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rw-r--r-- | Build/source/texk/web2c/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/help.h | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/man/ChangeLog | 10 | ||||
-rw-r--r-- | Build/source/texk/web2c/man/Makefile.am | 3 | ||||
-rw-r--r-- | Build/source/texk/web2c/man/Makefile.in | 5 | ||||
-rw-r--r-- | Build/source/texk/web2c/man/ctwill.man | 158 | ||||
-rw-r--r-- | Build/source/texk/web2c/man/cweb.man | 35 |
7 files changed, 198 insertions, 21 deletions
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog index 7b32e93199e..19d73fba2f3 100644 --- a/Build/source/texk/web2c/ChangeLog +++ b/Build/source/texk/web2c/ChangeLog @@ -1,3 +1,7 @@ +2019-01-10 Andreas Scherer <https://ascherer.github.io> + + * help.h (CTWILLHELP): update. + 2019-01-09 Andreas Scherer <https://ascherer.github.io> * help.h (CTANGLEHELP, CWEAVEHELP, CTWILLHELP): update. diff --git a/Build/source/texk/web2c/help.h b/Build/source/texk/web2c/help.h index 7594897ce4e..52ad70d9084 100644 --- a/Build/source/texk/web2c/help.h +++ b/Build/source/texk/web2c/help.h @@ -110,9 +110,9 @@ const_string CTWILLHELP[] = { "-i suppress indentation of parameter declarations", "-o suppress separation of declarations and statements", "-x omit indices, section names, table of contents", - "+lX use macros for language X as of Xcwebmac.tex", - "+s print usage statistics", "+P \\input proofmac.tex instead of ctwimac.tex", + "+/-lX use macros for language X as of Xct{wi|proof}mac.tex", + "+s print usage statistics", "--help display this help and exit", "--version output version information and exit", NULL diff --git a/Build/source/texk/web2c/man/ChangeLog b/Build/source/texk/web2c/man/ChangeLog index bfac001673a..af11ec2d850 100644 --- a/Build/source/texk/web2c/man/ChangeLog +++ b/Build/source/texk/web2c/man/ChangeLog @@ -1,3 +1,13 @@ +2019-01-10 Andreas Scherer <https://ascherer.github.io> + + * ctwill.man: New manpage for CTWILL and its tools. + * Makefile.am (bootstrap_man_sources): add ctwill.man. + (man1_links): add ctwill-refsort and ctwill-twinx as ctwill aliases. + +2019-01-10 Andreas Scherer <https://ascherer.github.io> + + * cweb.man: editorial changes. + 2019-01-06 Andreas Scherer <https://ascherer.github.io> * cweb.man: update for CWEBbin options, etc. diff --git a/Build/source/texk/web2c/man/Makefile.am b/Build/source/texk/web2c/man/Makefile.am index e3978d32a4a..446332551aa 100644 --- a/Build/source/texk/web2c/man/Makefile.am +++ b/Build/source/texk/web2c/man/Makefile.am @@ -6,10 +6,11 @@ ## man_sources = $(bootstrap_man_sources) EXTRA_DIST = $(bootstrap_man_sources) -bootstrap_man_sources = ctie.man cweb.man tangle.man tie.man +bootstrap_man_sources = ctie.man cweb.man ctwill.man tangle.man tie.man # Symlinks within $(man1dir): FILE:LINK indicates LINK.1->FILE.1 man1_links = cweb:ctangle cweb:cweave +man1_links += ctwill:ctwill-refsort ctwill:ctwill-twinx if WEB man_sources += $(web_man_sources) diff --git a/Build/source/texk/web2c/man/Makefile.in b/Build/source/texk/web2c/man/Makefile.in index 8b81675694c..a77f48ae443 100644 --- a/Build/source/texk/web2c/man/Makefile.in +++ b/Build/source/texk/web2c/man/Makefile.in @@ -448,10 +448,11 @@ EXTRA_DIST = $(bootstrap_man_sources) $(web_man_sources) tex.man \ mf.man mpost.man etex.man $(pdftex_man_sources) ptex.man \ luatex.man xetex.man $(otangle_man_sources) aleph.man \ $(misc_man_sources) spell.add -bootstrap_man_sources = ctie.man cweb.man tangle.man tie.man +bootstrap_man_sources = ctie.man cweb.man ctwill.man tangle.man tie.man # Symlinks within $(man1dir): FILE:LINK indicates LINK.1->FILE.1 -man1_links = cweb:ctangle cweb:cweave $(am__append_3) $(am__append_5) \ +man1_links = cweb:ctangle cweb:cweave ctwill:ctwill-refsort \ + ctwill:ctwill-twinx $(am__append_3) $(am__append_5) \ $(am__append_6) $(am__append_10) $(am__append_12) \ $(am__append_14) $(am__append_17) $(am__append_19) web_man_sources = bibtex.man dvicopy.man dvitomp.man dvitype.man gftodvi.man \ diff --git a/Build/source/texk/web2c/man/ctwill.man b/Build/source/texk/web2c/man/ctwill.man new file mode 100644 index 00000000000..eca4ad734c2 --- /dev/null +++ b/Build/source/texk/web2c/man/ctwill.man @@ -0,0 +1,158 @@ +.\" generated with Ronn/v0.7.3 +.\" http://github.com/rtomayko/ronn/tree/0.7.3 +. +.TH "CTWILL" "1" "2019-01-10" "Web2C @VERSION@" "General Commands Manual" +. +.SH "NAME" +\fBctwill\fR \- translate CWEB to TeX with mini\-indexes +. +.SH "SYNOPSIS" +\fBctwill\fR [\fIoptions\fR] \fIwebfile\fR[\.w] [{\fIchangefile\fR[\.ch]|\-} [\fIoutfile\fR[\.tex]]] +. +.SH "DESCRIPTION" +The \fBctwill\fR program converts a CWEB source document 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, \fIitalics\fR, \fBboldface\fR, etc\., and it supplies extensive cross\-index information that it gathers automatically\. +. +.P +CWEB allows you to prepare a single document containing all the information that is needed both to produce a compilable 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\. +. +.P +The command line should have one, two, or three names on it\. The first is taken as the CWEB input file (and \fB\.w\fR is added if there is no extension)\. If there is a second name, it is a change file (and \fB\.ch\fR 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 \fB\.tex\fR\. If you just want to change the output file name, but don\'t have a change file to apply, you can use \'\fB\-\fR\' as the second argument\. +. +.P +\fBctwill\fR is exactly like \fBcweave\fR except that it produces much better documentation, for which you must work harder\. You should run \fBctwill\fR twice, once to prime the pump and once to get decent answers\. Moreover, you must run the output twice through TeX\. +. +.P +After \fBtex foo\fR you will have output that looks like final pages except that the entries of mini\-indexes won\'t be alphabetized\. The first run produces a weird file called \fBfoo\.ref\fR\. Say \fBrefsort < foo\.ref > foo\.sref\fR and then another \fBtex foo\fR will produce alphabetized output\. +. +.P +The mini\-indexes list identifiers that are used but not defined on each two\-page spread\. At the end of each section, \fBctwill\fR gives TeX a list of identifiers used in that section and information about where they are defined\. +. +.P +The current meaning of every identifier is initially \fB\euninitialized\fR\. Then \fBctwill\fR reads the \fB\.aux\fR file for your job, if any\. +. +.P +Before reading the \fB\.aux\fR file, \fBctwill\fR actually looks for a file called \fBsystem\.bux\fR, which will be read if present\. And after \fBfoo\.aux\fR, a third possibility is \fBfoo\.bux\fR\. The general convention is to put definitions of system procedures such as \fIprintf\fR into \fBsystem\.bux\fR, and to put definitions found in specifically foo\-ish header files into \fBfoo\.bux\fR\. Like the \fB\.aux\fR files, \fB\.bux\fR files should contain only \fB@$\fR specifications\. +. +.P +The meaning specified by \fB@$\.\.\.@>\fR generally has four components: an identifier (followed by space), a program name (enclosed in braces), a section number (followed by space), and a TeX part\. +. +.P +A special \fIproofmode\fR is provided so that you can check \fBctwill\fR\'s conclusions about cross\-references\. Run \fBctwill\fR with the flag \fB+P\fR, and TeX will produce a specially formatted document (\fIwithout\fR mini\-indexes) in which you can check that your specifications are correct\. +. +.P +More details how to use \fBctwill\fR can be found in the first sections of its source code, respectively the change file \fBcweav\-twill\.ch\fR applicable to the \fBcweave\.w\fR source\. +. +.SH "OPTIONS" +Options on the command line may be either turned off with \'\fB\-\fR\' (if they are on by default) or turned on with \'\fB+\fR\' (if they are off by default)\. In fact, the options are processed from left to right, so a sequence like \fB\-\-verbose \-h\fR will only show the \fBbanner line\fR (\fB+b\fR) and the \fBprogress report\fR (\fB+p\fR), but leave out the \fBhappy message\fR (\fB\-h\fR)\. +. +.TP +\fB+b\fR +print banner line on terminal +. +.TP +\fB+h\fR +print success message on completion +. +.TP +\fB+p\fR +print progress report messages +. +.TP +\fB+q\fR/\fB\-q\fR +shortcut for \fB\-bhp\fR; also \fB\-\-quiet\fR (default) +. +.TP +\fB+v\fR/\fB\-v\fR +shortcut for \fB+bhp\fR; also \fB\-\-verbose\fR +. +.TP +\fB\-e\fR +do not enclose C material in \fB\ePB{\.\.\.}\fR +. +.TP +\fB\-f\fR +do not force a newline after every C statement in output +. +.TP +\fB\-i\fR +suppress indentation of parameter declarations +. +.TP +\fB\-o\fR +suppress separation of declarations and statements +. +.TP +\fB\-x\fR +omit indices, section names, table of contents +. +.TP +\fB+P\fR +\fB\einput proofmac\.tex\fR instead of \fBctwimac\.tex\fR +. +.TP +\fB+l\fR\fIX\fR/\fB\-l\fR\fIX\fR +use macros for language \fIX\fR as of \fIX\fR\fBct\fR{\fBwi\fR|\fBproof\fR}\fBmac\.tex\fR +. +.TP +\fB+s\fR +print usage statistics +. +.TP +\fB\-\-help\fR +display help message and exit +. +.TP +\fB\-\-version\fR +output version information and exit +. +.SH "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\. +. +.SH "FILES" +The location of the files mentioned below varies from system to system\. Use the \fBkpsewhich\fR utility to find their locations\. +. +.TP +\fBctwimac\.tex\fR +The default TeX macros \fB\einput\fR in the first line of the output file\. +. +.TP +\fBctproofmac\.tex\fR +If \fBctwill\fR is invoked with the \fB+P\fR option, it will change the first line of the output file to \fB\einput ctproofmac\.tex\fR\. +. +.P +In both cases you can request some prefix \fIX\fR with the \fB+l\fR\fIX\fR option, e\.g\., \fB+ld\fR will \fB\einput dctwimac\.tex\fR and \fB+Pld\fR will \fB\einput dctproofmac\.tex\fR\. +. +.TP +\fIwebfile\fR\fB\.bux\fR +Reference definitions to resolve from other modules\. +. +.TP +\fBsystem\.bux\fR +Reference definitions to resolve from C standard library header files like \fB<stdio\.h>\fR\. +. +.P +Other \fBaux\fRiliary files with references are created automatically by \fBctwill\fR and the actual index files are created by TeX\. +. +.TP +\fBcwebman\.tex\fR +The CWEB user manual\. +. +.SH "SEE ALSO" +. +.TP +The CWEB System of Structured Documentation +by Donald E\. Knuth and Silvio Levy (hardcopy version of \fBcwebman\.tex\fR and the source code listings of \fBcommon\.w\fR, \fBctangle\.w\fR, and \fBcweave\.w\fR)\. +. +.TP +Literate Programming +by D\. E\. Knuth\. +. +.TP +Weaving a Program +by Wayne Sewell\. +. +.P +cweb(1), tex(1), cc(1) +. +.SH "AUTHOR" +Don Knuth wrote \fBctwill\fR based on \fBcweave\fR by Silvio Levy and Knuth\. As of 2019, \fBctwill\fR and its utilities \fBrefsort\fR and \fBtwinx\fR have been fully integrated with the extended CWEBbin system that serves as the basis for CWEB in TeX Live; see project page \fIhttps://github\.com/ascherer/cwebbin\fR\. diff --git a/Build/source/texk/web2c/man/cweb.man b/Build/source/texk/web2c/man/cweb.man index f25d97d82ae..6f00a0ed9eb 100644 --- a/Build/source/texk/web2c/man/cweb.man +++ b/Build/source/texk/web2c/man/cweb.man @@ -1,4 +1,4 @@ -.TH CWEB 1 "6 January 2018" "Web2C @VERSION@" +.TH CWEB 1 "10 January 2018" "Web2C @VERSION@" .\"===================================================================== .SH NAME ctangle, cweave \- translate CWEB to C and/or TeX @@ -11,9 +11,9 @@ ctangle, cweave \- translate CWEB to C and/or TeX .RI [ outfile [ \fB.c\fP ]]] .br .B cweave -.RB [ \-fiox ] +.RB [ +bhps ] +.RB [ \-efiox ] .RB [ \-lX | +lX ] -.RB [ +behps ] .IR webfile [ \fB.w\fP ] .RI [{ changefile [ \fB.ch\fP ]| \fB\-\fP } .RI [ outfile [ \fB.tex\fP ]]] @@ -64,11 +64,11 @@ extension or .BR .tex . .PP -Options in the command line may be either turned off with\ \- -(if they are on by default) or turned on with\ + (if they are off by +Options in 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 -f\ +f corresponds to +f (which is the default). +so a sequence like '-f\ +f' corresponds to '+f' (which is the default). .PP Both programs operate silently by default (as of 2019). .PP @@ -92,23 +92,25 @@ option prints statistics about memory usage at the end of a run. There are six other options applicable to .B cweave only: -.B \-f -means do not force a newline after every statement in the formatted output. .B \-e inhibits the enclosure of C\ material formatted by -.I cweave -in brackets -\ePB{.\|.\|.}. +.B cweave +in +\ePB{.\|.\|.} +brackets. Such brackets are normally inserted so that special hooks can be used by .I cweb-latex and similar programs. +By default, +\ePB{.\|.\|.}. +is defined as a no-op. +.B \-f +means do not force a newline after every statement in the formatted output. .B \-i suppresses the indentation of parameter declarations. .B \-lX -(or -.B +lX -) uses macros for language X\ from Xcwebmac.tex. +(or +lX) uses macros for language X\ from Xcwebmac.tex. .B \-o suppresses the visual separation of declarations and statements. .B \-x @@ -155,5 +157,6 @@ 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. .br -Andreas Scherer developed the extended CWEBbin version. As of 2019, the -CWEB system in TeX Live is CWEBbin; see https://github.com/ascherer/cwebbin. +As of 2019, the CWEB system in TeX Live is based on the CWEBbin extension +that collects ideas and improvements from numerous contributors; +see https://github.com/ascherer/cwebbin. |