Age | Commit message (Collapse) | Author |
|
git-svn-id: svn://tug.org/texlive/trunk@67360 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@67359 c570f23f-e606-0410-a88d-b1316a301751
|
|
We re-use 'proofmac.tex' (for plain TeX only) and add the PDF/HINT
stuff from 'cwebmac.tex' to produce active links in CTWILL output,
where each section gets its own mini-index. Especially in connection
with HiTeX, this gives an interesting new output format.
Use 'ctwill +P +lpdf' to '\input pdfproofmac' in the first line.
These macros _do_ also work with pdftex and xetex (and probably
with plain TeX as well).
Example from MMIX:
$ tie -c mmotype-twill.ch mmotype.{w,ch} mmotype-mini.ch
[Remove the final change in mmotype-twill.ch, we want to create
a full index at the end.]
$ ctwill +P +lpdf mmotype mmotype-twill (twice)
$ hitex mmotype
$ proofsort mmotype.tex > mmotype-sorted.tex
$ mv mmotype-sorted.tex mmotype.tex
$ hitex mmotype
$ hintview mmotype.hnt
git-svn-id: svn://tug.org/texlive/trunk@67358 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@67158 c570f23f-e606-0410-a88d-b1316a301751
|
|
The \ifacro macros have to \shipout an otherwise empty page that holds
the NOS node for the PDF bookmarks. This final page should neither have
a header nor a mini index. (pdftex)
dvipdf[m[x]] complains about the incorrect annotation syntax.
(tex "\let\pdf=+ \input JOBNAME"; dvipdfm JOBNAME)
git-svn-id: svn://tug.org/texlive/trunk@67154 c570f23f-e606-0410-a88d-b1316a301751
|
|
This commit bumps the version number to 4.9.
And it reverts a few occurrences of '\ifacro' as synonym for '\ifpdf'.
All other changes since CWEB 4.8 were committed as rolling releases.
git-svn-id: svn://tug.org/texlive/trunk@67119 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63786 c570f23f-e606-0410-a88d-b1316a301751
|
|
These are used with 'cweave -l[dfi]'.
git-svn-id: svn://tug.org/texlive/trunk@63660 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@63651 c570f23f-e606-0410-a88d-b1316a301751
|
|
iftex.sty sets \ifpdf according to \pdfoutput. This can be set _before_
'\input cwebmac.tex'.
Note that you can _not use 'pdftex "\let\pdf+\pdfoutput=0\input ..."',
because \ifpdftex is always 'true' for PDFTeX.
HINT has infinite space, so we can also show TeX code for section 31.
git-svn-id: svn://tug.org/texlive/trunk@63649 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@62022 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@61966 c570f23f-e606-0410-a88d-b1316a301751
|
|
HiTeX has no concept of 'Page', let alobe of 'Spread', so there's no
useful spot for the mini-indexes.
git-svn-id: svn://tug.org/texlive/trunk@61791 c570f23f-e606-0410-a88d-b1316a301751
|
|
ATTOW, this requires
$ hitex -ini -jobname=hitex **tex.ini
to activate the HiTeX extensions.
git-svn-id: svn://tug.org/texlive/trunk@61790 c570f23f-e606-0410-a88d-b1316a301751
|
|
The upcoming CWEB 4.7 will support HiTeX and its HINT format.
To use this material you can
$ hitex -ini -jobname=hitex tex.ini
$ make all PDF=hi fullmanual
$ hintview common.hnt # et al.
git-svn-id: svn://tug.org/texlive/trunk@61785 c570f23f-e606-0410-a88d-b1316a301751
|
|
CWEB 4.3 introduced a major change in the '\T' macro to allow C++ 'hex
exponent' notation (e.g., 0x1FFFFp10). This made CWEAVE/CTWILL mutually
incompatible with non-matching versions of their set of macros and v.v.
This change tries to reestablish the standard behavior at least for
numeric constants. Of course, 'old' CWEAVE/CTWILL won't deliver on 'hex
exponents' in the CWEB input, but those should be rare anyway.
git-svn-id: svn://tug.org/texlive/trunk@60909 c570f23f-e606-0410-a88d-b1316a301751
|
|
Heiko's PDF files of 2014 used 'Executive' page dimensions, i.e.,
7.5in times 10in. C/WEB's internal inch values suggest to use those
plus a 1in border on each side.
git-svn-id: svn://tug.org/texlive/trunk@60857 c570f23f-e606-0410-a88d-b1316a301751
|
|
C/C++ calculates '0x1FFFFp10' as '134216704', which equals '131071*1024'
with '1024=2^10'. ('p' is part of the 'hex-exponent'.)
git-svn-id: svn://tug.org/texlive/trunk@60761 c570f23f-e606-0410-a88d-b1316a301751
|
|
This is a service release for CWEB 4.0.
* Upstream CWEB 4.5 was reviewed with the 'splint' utility. This
resulted in lots of cast changes and a few code improvements.
* All 'length' variables are retyped to 'size_t'.
* <stdbool.h> is replaced by <kpathsea/simpletypes.h> to keep CWEB
compatible with antique systems that still support TeX Live.
git-svn-id: svn://tug.org/texlive/trunk@59926 c570f23f-e606-0410-a88d-b1316a301751
|
|
This release is almost the same as CWEB 4.3 of 2021-04-16, but
* it fixes the indexing bug in CWEAVE/CTWILL that got retracted
* it extracts and collects all additions made in CTWILL, so that the
section numbers of CWEAVE are retained up to §272 and new material is
described in the (first) appendix, including the CTWILL user manual
* it provides fully revised and (hopefully) corrected mini-indexes for
CTWILL, if it is processed by itself (to be published in package
'knuth-pdf' on CTAN)
git-svn-id: svn://tug.org/texlive/trunk@59061 c570f23f-e606-0410-a88d-b1316a301751
|
|
This reverts commit 3ccac2a7d0f4a19dde861c6f4c178e853d90f0cc.
CWEB 4.3 is seriously broken.
git-svn-id: svn://tug.org/texlive/trunk@59048 c570f23f-e606-0410-a88d-b1316a301751
|
|
This release introduces new features to CWEB 4:
* Former option '-t' is now called '-c'.
- New option '-t' for CWEAVE when dealing with 'typename' in
C++ templates.
- New option '-k' for CTANGLE to keep '-separators in numeric
literals.
* Support for "variadic macros" along "variadic functions".
* @d is printed similar to #define (and vice versa):
- '#' is no longer printed in boldface.
- Spacing is similar in most cases.
* Support for extended C99/C++ numeric literals:
- hexadecimal, octal, and -- new! -- binary numbers.
- NOTE: 'cwebmac.tex 4.3' is NOT compatible with CWEAVE 4.2 and older
and vice versa.
* Long parameter lists in ANSI function definitions are indented similar
to old-style function parameters.
- Option '-i' works similar for old-style and modern function headers.
* Additional C99/C++ keywords -- from 'alignas' to 'thread_local' -- are
supported internally.
* '@i'nclude file 'iso_types.w' for numeric types (in addition to
'c++lib.w').
* Countless code modifications, including some corrections amd
improvements.
Thanks and cudos to Github user "@texdraft" for numerous contributions
to this feature release!
git-svn-id: svn://tug.org/texlive/trunk@58884 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@57912 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@57709 c570f23f-e606-0410-a88d-b1316a301751
|
|
In the course of the "2021 TeX tuneup", Don Knuth kindly transferred
the responsibility for CWEB to me; see the original CWEB home page
(https://www-cs-faculty.stanford.edu/~knuth/cweb.html), section
"CWEB 4.0" and the updated CWEB development project
(https://github.com/ascherer/cweb).
This first new release draws heavily on the multi-decade work collected
in my "CWEBbin" project (https://github.com/ascherer/cwebbin). I moved
(almost) all stuff from the "*-patch.*" changefiles into the new CWEB
sources and applied all of the "*-ansi.*" changes as well.
Moreover, I made "common.h" the full interface of "common.w" in order to
avoid code redundancy. And I tried to fix as many of the bugs reported
by email to DEK and/or tex-k@tug.org.
In total, "make; make cautiously; make fullmanual" runs flawlessly with
GCC on Linux and with LLVM on MacOS.
After the release of "CWEB 4.0", also "CWEBbin 2021" has also been fully
revised. Thousands of lines of changefiles could be purged. What's
left are the clearcut extensions for CWEB and the additional stuff for
integration in "TeX Live 2021".
git-svn-id: svn://tug.org/texlive/trunk@57658 c570f23f-e606-0410-a88d-b1316a301751
|
|
(1) Use correct apostrophe in "Editor's Note".
(2) Don't ship out the mini-index of the last section twice.
(2b) 'pdfctwimac.tex' does ship out an empty page at the very end of
'ctwill.dvi' (with 'tex "\let\pdf+\input ctwill') and 'ctwill.pdf'
(with 'xetex', but not with 'pdftex'!) in order to attach the
"Names of the sections" outline tag somewhere. If you know a trick
that creates the "NOS" outline without that extra empty page, please
let me know.
git-svn-id: svn://tug.org/texlive/trunk@55756 c570f23f-e606-0410-a88d-b1316a301751
|
|
Don't fiddle with '\¢ontentspagenumber' _before_ the table-of-contents,
but set '\pageno=3' _after_ the toc has been typeset. This makes the
mechanism for Metafont, TeX, pdfTeX, and XeTeX independent of the length
of the table-of-contents.
git-svn-id: svn://tug.org/texlive/trunk@55617 c570f23f-e606-0410-a88d-b1316a301751
|
|
Many WEB programs override '\def\rheader'; we must restore the original
definition.
pdfTeX has a looong table-of-contents by itself (with the TL it's
getting worse, also for XeTeX).
git-svn-id: svn://tug.org/texlive/trunk@55611 c570f23f-e606-0410-a88d-b1316a301751
|
|
Finally I was able to wrap my head around the 'toc-to-front' stuff!
For standard WEB and CWEB programs, place the patched '\con' exactly
between the very first '\MN' and the following '\eject'. At the same
time, ackowledge any local definition of '\topofcontents' from the
preamble. For this 'pdfwebtocfront.tex' must be '\input' at the very
end of the preamble, right before the first '\N'.
The four programs 'mf.web', 'tex,web', 'pdftex.web', and 'xetex.web'
define their special version of '\N' in the preamble, so the old variant
of the '\con in \N' mechanism is preserved. Their tables-of-contents
use a bare layout anyway.
git-svn-id: svn://tug.org/texlive/trunk@55604 c570f23f-e606-0410-a88d-b1316a301751
|
|
CTWILL typesets C code in 9pt.
git-svn-id: svn://tug.org/texlive/trunk@55601 c570f23f-e606-0410-a88d-b1316a301751
|
|
This is a 'fake' solution to the timing problem with the shifted
table-of-contents page. The '\topmark' is not yet set correctly when
the first '\N' is invoked, so the default '\.{[C]WEB} output' from
'[cp]webmac.tex' will show up. By setting '\gtitle' to 'Introduction'
(or anything else) right before '\input pdfwebtocfront', the 'group
title' is set appropriately. Right after the first '\N' itself, the
automatic mechanism for starred sections kicks in.
git-svn-id: svn://tug.org/texlive/trunk@55595 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@55590 c570f23f-e606-0410-a88d-b1316a301751
|
|
Standard 'ctwimac.tex' '\end's in '\inx' and skips '\fin' and '\con'.
git-svn-id: svn://tug.org/texlive/trunk@55589 c570f23f-e606-0410-a88d-b1316a301751
|
|
This is for XeTeX only; pdfTeX's 'pdfoutline' requires a 'goto' action.
git-svn-id: svn://tug.org/texlive/trunk@55582 c570f23f-e606-0410-a88d-b1316a301751
|
|
Note that XeTeX chooses to add another (almost) empty spread of pages at
the very end.
git-svn-id: svn://tug.org/texlive/trunk@55574 c570f23f-e606-0410-a88d-b1316a301751
|
|
https://github.com/ascherer/web/releases/download/ctan-20200601/cweb.tar.gz
has an initial version of 'ctwill.pdf' in CTWILL format.
git-svn-id: svn://tug.org/texlive/trunk@55566 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@55557 c570f23f-e606-0410-a88d-b1316a301751
|
|
Reintroducing the \jobname.toc mechanism (for pdfTeX only) helps create
structured PDF outlines with all supported TeX engines.
git-svn-id: svn://tug.org/texlive/trunk@55556 c570f23f-e606-0410-a88d-b1316a301751
|
|
* Unified color management for 'link color'
* Simplified if-else inside \acro
* Flat outlines/bookmarks with pdfTeX
TODO: Implement \makebookmarks for pdfTeX with a \jobname.toc file.
git-svn-id: svn://tug.org/texlive/trunk@55555 c570f23f-e606-0410-a88d-b1316a301751
|
|
Use 'alternative' formats for C/C++ comments and for the assignment
operator. Add (empty) definition for '\datecontentspage' (there is no
toc page in CTWILL format).
Major test example is CTWILL itself (in texk/web2c/cwebdir/):
$ tie -m ctwill.w cweave.w ctwill-w2c.ch ctwill-mini.ch
$ CWEBINPUTS=.//: ctwill -f +lpdf ctwill
$ CWEBINPUTS=.//: ctwill -f +lpdf ctwill
$ TEXINPUTS=.//: xetex ctwill
$ ctwill-ref < ctwill.ref > ctwill.sref
$ TEXINPUTS=.//: xetex ctwill
# or 'tex "\let\pdf+\input ctwill"'+'dvipdfm'
Still TODO:
* "Names of the sections" section, both "in print" and as outline
* Outlines/bookmarks with 'pdftex' don't work just yet
* Page breaks and overfull hboxes in 'ctwill.pdf' should be improved
git-svn-id: svn://tug.org/texlive/trunk@55546 c570f23f-e606-0410-a88d-b1316a301751
|
|
These macros can produce PDF output with hyperlinks (internal links to
sections in the current CWEB program) with the incantation
ctwill +lpdf INPUT.W
tex "\let\pdf+\input INPUT.TEX"
or pdftex INPUT.TEX
or xetex INPUT.TEX
This software is in alpha state; there are several TODOs:
* Produce a section "NAMES OF THE SECTIONS" at the end.
* Produce 'outlines'/'bookmarks' (instead of a table-of-contents).
* ...
git-svn-id: svn://tug.org/texlive/trunk@55545 c570f23f-e606-0410-a88d-b1316a301751
|
|
Run 'cweave -lp+' followed by 'tex'+'dvipdfm' or 'xetex'.
git-svn-id: svn://tug.org/texlive/trunk@55498 c570f23f-e606-0410-a88d-b1316a301751
|
|
Headline '\mark's now have two parts: (a) the section number and (b) the
group title. This makes them more like CWEB's three-part top marks.
The inner logic to detect 'TeX and friends' has been changed from
'numeric' to 'boolean'.
git-svn-id: svn://tug.org/texlive/trunk@55371 c570f23f-e606-0410-a88d-b1316a301751
|
|
This works fine for all WEB programs, because they all start with
'section 1', and for 'make fullmanual' in CWEB, because all modules
(common, ctangle, cweave, ctwill) start with the 'Introduction'.
It is, however, not a general solution (yet).
git-svn-id: svn://tug.org/texlive/trunk@55285 c570f23f-e606-0410-a88d-b1316a301751
|
|
Standard WEB uses generic 'CONTENTS.tex' as filename for the
table-of-contents information (and 'webman.tex' explicitly describes
this in an advanced example). Running multiple WEB codes in a batch run
in the same directory -- like with the 'makeall' script -- leads to
conflicts, because the _first_ run of the $n+1$st WEB code picks up the
toc file from the _second_ run of the $n$th WEB code, and in most cases
there are irresolvable references. To avoid these collisions, we use
the naming scheme from CWEB.
git-svn-id: svn://tug.org/texlive/trunk@55246 c570f23f-e606-0410-a88d-b1316a301751
|
|
The desired effect for PDF output is achieved with both engines.
git-svn-id: svn://tug.org/texlive/trunk@55245 c570f23f-e606-0410-a88d-b1316a301751
|
|
Smaller margins give more space for screen reading.
git-svn-id: svn://tug.org/texlive/trunk@55244 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@55243 c570f23f-e606-0410-a88d-b1316a301751
|
|
git-svn-id: svn://tug.org/texlive/trunk@55242 c570f23f-e606-0410-a88d-b1316a301751
|