diff options
author | Andreas Scherer <andreas_tex@freenet.de> | 2023-09-30 15:17:36 +0000 |
---|---|---|
committer | Andreas Scherer <andreas_tex@freenet.de> | 2023-09-30 15:17:36 +0000 |
commit | 6ace9d240ca6f151a7d60db5badc6c6def901c9a (patch) | |
tree | 130268570847ee4f765be70cc21d43e7d4cfc609 /Build/source/texk | |
parent | 5e1d8eb84ac576c4f24cd51ff243be2f6594eb28 (diff) |
[CWEB] Add support for LuaTeX.
Note that 'pdfwebtocfront.tex' is not yet ready for LuaTeX, because
'gftodvi.tex' breaks in and around 'pwebmac.tex'. -- Later.
git-svn-id: svn://tug.org/texlive/trunk@68405 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk')
-rw-r--r-- | Build/source/texk/web2c/cwebdir/ChangeLog | 14 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/Makefile | 3 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/ctwill-mini.ch | 5 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/cwebacromac.tex | 20 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/cwebmac.tex | 27 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/cwebman-w2c.ch | 28 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/cwebman.tex | 10 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/texinputs/dcwebmac.tex | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/texinputs/fcwebmac.tex | 6 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/texinputs/icwebmac.tex | 6 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/texinputs/pdfctproofmac.tex | 23 | ||||
-rw-r--r-- | Build/source/texk/web2c/cwebdir/texinputs/pdfctwimac.tex | 25 |
12 files changed, 103 insertions, 68 deletions
diff --git a/Build/source/texk/web2c/cwebdir/ChangeLog b/Build/source/texk/web2c/cwebdir/ChangeLog index eaf78c88f95..30fd80672e8 100644 --- a/Build/source/texk/web2c/cwebdir/ChangeLog +++ b/Build/source/texk/web2c/cwebdir/ChangeLog @@ -1,3 +1,17 @@ +2023-09-30 Andreas Scherer <https://ascherer.github.io> + + * Makefile, + * ctwill-mini.ch, + * cwebacromac.tex, + * cwebmac.tex, + * cwebman-w2c.ch, + * cwebman.tex, + * texinputs/dcwebmac.tex, + * texinputs/fcwebmac.tex, + * texinputs/icwebmac.tex, + * texinputs/pdfctproofmac.tex, + * texinputs/pdfctwimac.tex: Add support for LuaTeX. + 2023-09-26 Andreas Scherer <https://ascherer.github.io> * cwebman-w2c.ch, diff --git a/Build/source/texk/web2c/cwebdir/Makefile b/Build/source/texk/web2c/cwebdir/Makefile index ed85fc70f28..d040d3e4d11 100644 --- a/Build/source/texk/web2c/cwebdir/Makefile +++ b/Build/source/texk/web2c/cwebdir/Makefile @@ -1,6 +1,6 @@ # This file is part of CWEB. # It is distributed WITHOUT ANY WARRANTY, express or implied. -# Version 4.10 --- August 2023 +# Version 4.11 --- September 2023 # Copyright (C) 1987,1990,1993,2000 Silvio Levy and Donald E. Knuth @@ -69,6 +69,7 @@ PDFTEX = dvipdfm #PDFTEX = pdftex #PDFTEX = xetex #PDFTEX = hitex +#PDFTEX = luatex ########## You shouldn't have to change anything after this point ####### diff --git a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch index 3184d6cf1c0..ce6982a30bf 100644 --- a/Build/source/texk/web2c/cwebdir/ctwill-mini.ch +++ b/Build/source/texk/web2c/cwebdir/ctwill-mini.ch @@ -23,7 +23,7 @@ Section 1. \else \pdfpagewidth=\pagewd \advance\pdfpagewidth by 2cm \pdfpageheight=\pageht \advance\pdfpageheight by 5cm - \ifpdftex \pdfhorigin=1cm \pdfvorigin=1cm + \ifpdflua \pdfhorigin=1cm \pdfvorigin=1cm \else \global\hoffset=-1.54cm \global\voffset=-1.54cm \fi \fi @@ -2077,8 +2077,11 @@ with the original ``\&{271.~Index}.'' @q Section 2->272. @> @* {\tentex CTWILL} user manual. +Here is a sort of user manual for \.{CTWILL}---which is exactly like @y @** Mogrify {\tentex CWEAVE} into {\tentex CTWILL}. +Here is a sort of user manual for \.{CTWILL}% +\ifluatex, \else---\fi which is exactly like @-s@> @z diff --git a/Build/source/texk/web2c/cwebdir/cwebacromac.tex b/Build/source/texk/web2c/cwebdir/cwebacromac.tex index 837f61ee782..7dd8d01809c 100644 --- a/Build/source/texk/web2c/cwebdir/cwebacromac.tex +++ b/Build/source/texk/web2c/cwebdir/cwebacromac.tex @@ -1,11 +1,25 @@ % hypertext macros for CWEB listings (in addition to cwebmac.tex) -% Version 1.0 --- August 2023 +% Version 1.1 --- September 2023 \ifx\acrohint\undefined\else\endinput\fi % these are not standalone macros -\ifacro % The following are pdf macros +\ifluatex % LuaTeX is almost like pdfTeX +\protected\def\pdfliteral {\pdfextension literal} +\protected\def\pdfstartlink {\pdfextension startlink\space} +\protected\def\pdfendlink {\pdfextension endlink} +\protected\def\pdfoutline {\pdfextension outline\space} +\protected\def\pdfdest {\pdfextension dest\space} +\protected\def\pdfcatalog {\pdfextension catalog} +\edef\pdfhorigin {\pdfvariable horigin} +\edef\pdfvorigin {\pdfvariable vorigin} +\let\pdfpagewidth=\pagewidth +\let\pdfpageheight=\pageheight +\let\pdfoutput=\outputmode +\fi % end of LuaTeX->pdfTeX redirection macros + +\ifacro % The following are general pdf macros \def\thewidth{\the\wd0 \space} \def\theheight{\the\ht\strutbox\space} \def\thedepth{\the\dp\strutbox\space} -\ifpdftex +\ifpdflua \ifx\pdfannotlink\undefined\let\pdfannotlink\pdfstartlink\fi% for pdfTeX 0.14 \def\pdflink#1#2{\hbox{\pdfannotlink height \theheight depth \thedepth attr{/Border [0 0 0]} goto num #1 \Blue #1\Black\pdfendlink}} % changed 3.69 diff --git a/Build/source/texk/web2c/cwebdir/cwebmac.tex b/Build/source/texk/web2c/cwebdir/cwebmac.tex index c304d3cd693..be2e149e761 100644 --- a/Build/source/texk/web2c/cwebdir/cwebmac.tex +++ b/Build/source/texk/web2c/cwebdir/cwebmac.tex @@ -1,20 +1,21 @@ % standard macros for CWEB listings (in addition to plain.tex) -% Version 4.10 --- August 2023 +% Version 4.11 --- September 2023 \ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros -\xdef\fmtversion{\fmtversion+CWEB4.10} -\chardef\cwebversion=4 \chardef\cwebrevision=10 +\xdef\fmtversion{\fmtversion+CWEB4.11} +\chardef\cwebversion=4 \chardef\cwebrevision=11 \input iftex.sty % TeX engine tests \ifx\pdf+\pdftrue\fi % for plain TeX in combination with dvipdfm % Uncomment the following line if you want PDF goodies to be the default %\ifx\pdf-\else\pdftrue\fi \def\pdflinkcolor{0 0 1} % the RGB values for hyperlink color \ifxetex\pdftrue\fi % XeTeX produces PDF output -\ifpdftex % pdfTeX produces PDF output if \pdfoutput>0 +\let\ifacro=\ifpdf +\newif\ifacrohint \ifacro\acrohinttrue\fi \ifhint\acrohinttrue\fi +\newif\ifpdflua \ifluatex\pdfluatrue\fi \ifpdftex\pdfluatrue\fi +\ifpdflua % luaTeX and pdfTeX produce PDF output if \pdfoutput>0 \def\Black{\pdfliteral{0 g 0 G}} % use rgb colors for direct PDF output too \def\Blue{\pdfliteral{\pdflinkcolor\space rg \pdflinkcolor\space RG}} \fi -\let\ifacro=\ifpdf -\newif\ifacrohint \ifacro\acrohinttrue\fi \ifhint\acrohinttrue\fi \let\:=\. % preserve a way to get the dot accent % (all other accents will still work as usual) @@ -136,7 +137,7 @@ \ifacrohint \input cwebacromac \fi % load hypertext macros -\def\pdfURL#1#2{\ifpdf \ifpdftex\pdfannotlink height \theheight depth \thedepth +\def\pdfURL#1#2{\ifpdf \ifpdflua\pdfannotlink height \theheight depth \thedepth attr {/Border [0 0 0]} user { /Type /Annot /Subtype /Link /A << /S /URI /URI (#2) >>}\Blue #1\Black \pdfendlink % changed in 3.69 \else {\setbox0=\hbox{\special{pdf: bc [ \pdflinkcolor ]}{#1}% @@ -153,7 +154,7 @@ \ifhint\HINTlabel\fi% Start page before section \noindent{\let\*=\lapstar\bf\secstar.\quad}% \ifacro \smash{\raise\baselineskip\hbox to0pt{\let\*=\empty - \ifpdftex \pdfdest num \secstar fith% + \ifpdflua \pdfdest num \secstar fith% \else \special{pdf: dest (\romannumeral\secstar) [ @thispage /FitH @ypos ]}\fi}}\fi} \let\startsection=\stsec @@ -194,7 +195,7 @@ \edef\gtitletoks{\expandafter\stripprefix\meaning\gtitletoks}% \edef\next{\write\cont{\ZZ{\gtitletoks}{#1}{\secno}% write to contents file {\noexpand\the\pageno}{\the\toksE}}}\next % \ZZ{title}{depth}{sec}{page}{ss} - \ifpdf \ifpdftex\expandafter\xdef\csname curr#1\endcsname{\secno} + \ifpdf \ifpdflua\expandafter\xdef\csname curr#1\endcsname{\secno} \ifnum#1>0\countB=#1 \advance\countB by-1 \advancenumber{chunk\the\countB.\expnumber{curr\the\countB}}\fi \else \special{pdf: outline #1 << /Title (\the\toksE) @@ -275,7 +276,7 @@ \def\title{\expandafter\uppercase\expandafter{\jobname}} \def\topofcontents{\centerline{\titlefont\title}\vskip.7in \vfill} % this material will start the table of contents page -\def\startpdf{\ifpdf \ifpdftex\pdfcatalog{/PageMode /UseOutlines} +\def\startpdf{\ifpdf \ifpdflua\pdfcatalog{/PageMode /UseOutlines} \else {\special{pdf: docview << /PageMode /UseOutlines >>}}\fi\fi} \def\botofcontents{\vfill \centerline{\covernote}} % this material will end the table of contents page @@ -337,7 +338,7 @@ \def\fin{\par\vfill\eject % this is done when we are ending the index \ifpagesaved\null\vfill\eject\fi % output a null index column \if L\lr\else\null\vfill\eject\fi % finish the current page - \ifpdf \ifpdftex \makebookmarks % added in Version 3.68 + \ifpdf \ifpdflua \makebookmarks % added in Version 3.68 \countsections \fi\fi % and in Version 4.9 \parfillskip 0pt plus 1fil \def\grouptitle{NAMES OF THE SECTIONS} @@ -352,8 +353,8 @@ \def\Us{\note{Used in sections}} % crossref for uses of a section \def\I{\par\hangindent 2em}\let\*=* \ifacro \def\outsecname{Names of the sections} \let\Xpdf\X -% \ifpdftex \makebookmarks \pdfdest name {NOS} fitb % in versions < 3.68 - \ifpdftex \pdfdest name {NOS} fith % changed in version 3.69 +% \ifpdflua \makebookmarks \pdfdest name {NOS} fitb % in versions < 3.68 + \ifpdflua \pdfdest name {NOS} fith % changed in version 3.69 \pdfoutline goto name {NOS} count -\the\countD {\outsecname} \def\X##1:##2\X{\Xpdf##1:##2\X \firstsecno##1.% {\toksF={}\makeoutlinetoks##2\outlinedone\outlinedone}% diff --git a/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch b/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch index 4d04ac10c79..5f02ec1587c 100644 --- a/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch +++ b/Build/source/texk/web2c/cwebdir/cwebman-w2c.ch @@ -40,7 +40,7 @@ \ifacro \pdfpagewidth=\pagewidth \advance\pdfpagewidth by 2cm \pdfpageheight=\pageheight \advance\pdfpageheight by 3cm - \ifpdftex \pdfhorigin=1cm \pdfvorigin=1cm + \ifpdflua \pdfhorigin=1cm \pdfvorigin=1cm \else \advance\pdfpageheight by 1cm \global\pageshift=-1.54cm \global\hoffset=-1.54cm \global\voffset=-1.54cm \fi \fi @@ -51,10 +51,10 @@ \outer\def\section #1.{\penalty-500\bigskip \centerline{\sectionfont\def\.##1{{\twelvett##1}} \ifacro\vbox to 0pt{\kern-2.5ex\relax - \ifpdftex\pdfdest num \destcount fitbh\relax + \ifpdflua\pdfdest num \destcount fitbh\relax \else\special{pdf: dest (\the\destcount) [ @thispage /FitBH @ypos ]}\fi \def\.##1{##1}\def\TeX{TeX}% - \ifpdftex\pdfoutline goto num \destcount + \ifpdflua\pdfoutline goto num \destcount \ifnum\subsections>0 count -\subsections\fi {#1}\relax \else\special{pdf: outline 0 << /Title (#1) /A << /S /GoTo /D (\the\destcount) >> >>}\fi @@ -69,7 +69,7 @@ \def\appC{17} \def\Appendix#1{\leavevmode - \ifacro\ifpdftex + \ifacro\ifpdflua \pdfstartlink attr{/Border[0 0 0]} goto num\csname app#1\endcsname\relax \Blue\hbox{Appendix}~#1\Black \pdfendlink @@ -83,7 +83,7 @@ \newcount\subdestcount \subdestcount=151\relax \outer\def\subsection #1.{\ifacro - \ifpdftex\pdfdest num \subdestcount fitbh\relax + \ifpdflua\pdfdest num \subdestcount fitbh\relax \pdfoutline goto num \subdestcount {#1}\relax \else\special{pdf: dest (\the\subdestcount) [ @thispage /FitBH @ypos ]}% \special{pdf: outline 1 << /Title (#1) @@ -93,17 +93,17 @@ @z @x -\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.10)} +\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.11)} @y \def\Kpathsea/{{\mc KPATHSEA\spacefactor1000}} -\def\runninghead{{\tentt CWEB} USER MANUAL (Version 4.10 [\TeX~Live])} +\def\runninghead{{\tentt CWEB} USER MANUAL (Version 4.11 [\TeX~Live])} @z @x -\vskip 18pt\centerline{(Version 4.10 --- August 2023)} +\vskip 18pt\centerline{(Version 4.11 --- September 2023)} @y -\vskip 18pt\centerline{(Version 4.10 --- August 2023)% -\footnote*{This document describes the extended \.{CWEB} (Version 4.10 [\TeX~Live]).}} +\vskip 18pt\centerline{(Version 4.11 --- September 2023)% +\footnote*{This document describes the extended \.{CWEB} (Version 4.11 [\TeX~Live]).}} @z @x @@ -205,7 +205,7 @@ Sometimes things don't work as smoothly, and you get a bunch of @y `$\\{main}(\\{argc},\39\\{argv}{}$)'. \ifx\pdf+\pdftrue\fi \ifxetex\pdftrue\fi -\ifpdftex\ifnum\pdfoutput>0\pdftrue\fi\fi +\ifpdflua\ifnum\pdfoutput>0\pdftrue\fi\fi \ifpdf\acrohinttrue\fi \ifhint\acrohinttrue\fi @z @@ -323,14 +323,14 @@ And here's what the same excerpt looks like when typeset. @y \vfil\eject\titletrue \ifx\pdf+\pdftrue\fi \ifxetex\pdftrue\fi -\ifpdftex\ifnum\pdfoutput>0 \pdftrue\fi\fi +\ifpdflua\ifnum\pdfoutput>0 \pdftrue\fi\fi \ifacro\acrohinttrue\fi \ifhint\acrohinttrue\fi @z @x - \.{ { }\\vskip 15pt \\centerline\{(Version 4.10)\}{ }\\vfill\}}\cr}$$ + \.{ { }\\vskip 15pt \\centerline\{(Version 4.11)\}{ }\\vfill\}}\cr}$$ @y - \.{ { }\\vskip 15pt \\centerline\{(Version 4.10)\}{ }\\vfill\}}\cr}$$ + \.{ { }\\vskip 15pt \\centerline\{(Version 4.11)\}{ }\\vfill\}}\cr}$$ @z @x diff --git a/Build/source/texk/web2c/cwebdir/cwebman.tex b/Build/source/texk/web2c/cwebdir/cwebman.tex index 704f0dbaf37..30e4c246515 100644 --- a/Build/source/texk/web2c/cwebdir/cwebman.tex +++ b/Build/source/texk/web2c/cwebdir/cwebman.tex @@ -35,7 +35,7 @@ \def\lheader{\mainfont\the\pageno\hfill\sc\runninghead\hfill} \def\rheader{\hfill\sc\runninghead\hfill\mainfont\the\pageno} -\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.10)} +\def\runninghead{{\tentt CWEB} USER MANUAL (VERSION 4.11)} % This verbatim mode assumes that ! marks are !! in the text being copied. \def\verbatim{\begingroup @@ -49,7 +49,7 @@ \null\vfill \centerline{\titlefont The {\ttitlefont CWEB} System of Structured Documentation} -\vskip 18pt\centerline{(Version 4.10 --- August 2023)} +\vskip 18pt\centerline{(Version 4.11 --- September 2023)} \vskip 24pt \centerline{\authorfont Donald E. Knuth and Silvio Levy} \vfill @@ -1163,8 +1163,8 @@ for the macros that make this work.) Alternatively, thanks to H\`an Th\^e\kern-.3em\raise.3ex\hbox{\'{}} Th\`anh and Andreas Scherer, you can generate \.{cob.pdf} in one step by simply saying `\.{pdftex}~\.{cob}'. -And a third way to create PDF output from \.{CWEB} input is to say -`\.{xetex}~\.{cob}'. +Alternative ways to create PDF output from \.{CWEB} input is to say +`\.{xetex}~\.{cob}' or `\.{luatex}~\.{cob}'. Similar output for ``smart'' devices can be created with Martin Ruckert's Hi\TeX\ and its dynamic \.{HINT} format; just say `\.{hitex}~\.{cob}'. @@ -1615,7 +1615,7 @@ $$\lpile{\.{\\def\\topofcontents\{\\null\\vfill}\cr \.{ { }\\titlefalse \% include headline on the contents page}\cr \.{ { }\\def\\rheader\{\\mainfont The \{\\tt CWEAVE\}{ }processor\\hfil\}}\cr \.{ { }\\centerline\{\\titlefont The \{\\ttitlefont CWEAVE\}{ }processor\}}\cr - \.{ { }\\vskip 15pt \\centerline\{(Version 4.10)\}{ }\\vfill\}}\cr}$$ + \.{ { }\\vskip 15pt \\centerline\{(Version 4.11)\}{ }\\vfill\}}\cr}$$ Redefining \.{\\rheader}, which is the headline for right-hand pages, suffices in this case to put the desired information at the top of the contents page. diff --git a/Build/source/texk/web2c/cwebdir/texinputs/dcwebmac.tex b/Build/source/texk/web2c/cwebdir/texinputs/dcwebmac.tex index c0fc9a38999..40343ff6225 100644 --- a/Build/source/texk/web2c/cwebdir/texinputs/dcwebmac.tex +++ b/Build/source/texk/web2c/cwebdir/texinputs/dcwebmac.tex @@ -54,7 +54,7 @@ \def\fin{\par\vfill\eject % this is done when we are ending the index \ifpagesaved\null\vfill\eject\fi % output a null index column \if L\lr\else\null\vfill\eject\fi % finish the current page - \ifpdf \ifpdftex \makebookmarks % added in Version 3.68 + \ifpdf \ifpdflua \makebookmarks % added in Version 3.68 \countsections \fi\fi % and in Version 4.9 \parfillskip 0pt plus 1fil \let\topsecno=\nullsec @@ -64,7 +64,7 @@ \def\note##1##2.{\quad{\eightrm##1~\ifacrohint{\pdfnote##2.}\else{##2}\fi.}} \def\I{\par\hangindent 2em}\let\*=* \ifacro \let\Xpdf\X - \ifpdftex \pdfdest name {NOS} fith + \ifpdflua \pdfdest name {NOS} fith \pdfoutline goto name {NOS} count -\the\countD {\outsecname} \def\X##1:##2\X{\Xpdf##1:##2\X \firstsecno##1.% {\toksF={}\makeoutlinetoks##2\outlinedone\outlinedone}% diff --git a/Build/source/texk/web2c/cwebdir/texinputs/fcwebmac.tex b/Build/source/texk/web2c/cwebdir/texinputs/fcwebmac.tex index a28944c1d73..d7e65ec7854 100644 --- a/Build/source/texk/web2c/cwebdir/texinputs/fcwebmac.tex +++ b/Build/source/texk/web2c/cwebdir/texinputs/fcwebmac.tex @@ -74,7 +74,7 @@ \def\fin{\par\vfill\eject % this is done when we are ending the index \ifpagesaved\null\vfill\eject\fi % output a null index column \if L\lr\else\null\vfill\eject\fi % finish the current page - \ifpdf \ifpdftex \makebookmarks % added in Version 3.68 + \ifpdf \ifpdflua \makebookmarks % added in Version 3.68 \countsections \fi\fi % and in Version 4.9 \parfillskip 0pt plus 1fil \def\grouptitle{NOMS DES SECTIONS} @@ -89,8 +89,8 @@ \def\Us{\note{Utilis\'e dans les sections}} % crossref for uses of a section \def\I{\par\hangindent 2em}\let\*=* \ifpdf \def\outsecname{Noms des sections} \let\Xpdf\X -% \ifpdftex \makebookmarks \pdfdest name {NOS} fitb % in versions < 3.68 - \ifpdftex \pdfdest name {NOS} fith % changed in version 3.69 +% \ifpdflua \makebookmarks \pdfdest name {NOS} fitb % in versions < 3.68 + \ifpdflua \pdfdest name {NOS} fith % changed in version 3.69 \pdfoutline goto name {NOS} count -\the\countD {\outsecname} \def\X##1:##2\X{\Xpdf##1:##2\X \firstsecno##1.% {\toksF={}\makeoutlinetoks##2\outlinedone\outlinedone}% diff --git a/Build/source/texk/web2c/cwebdir/texinputs/icwebmac.tex b/Build/source/texk/web2c/cwebdir/texinputs/icwebmac.tex index 974e7993b46..81c425207c0 100644 --- a/Build/source/texk/web2c/cwebdir/texinputs/icwebmac.tex +++ b/Build/source/texk/web2c/cwebdir/texinputs/icwebmac.tex @@ -100,7 +100,7 @@ \def\fin{\par\vfill\eject % this is done when we are ending the index \ifpagesaved\null\vfill\eject\fi % output a null index column \if L\lr\else\null\vfill\eject\fi % finish the current page - \ifpdf \ifpdftex \makebookmarks % added in Version 3.68 + \ifpdf \ifpdflua \makebookmarks % added in Version 3.68 \countsections \fi\fi % and in Version 4.9 \parfillskip 0pt plus 1fil \def\grouptitle{NOMI DELLE SEZIONI} @@ -115,8 +115,8 @@ \def\Us{\note{Usato nelle sezioni}} % crossref for uses of a section \def\I{\par\hangindent 2em}\let\*=* \ifpdf \def\outsecname{Nomi delle sezioni} \let\Xpdf\X -% \ifpdftex \makebookmarks \pdfdest name {NOS} fitb % in versions < 3.68 - \ifpdftex \pdfdest name {NOS} fith % changed in version 3.69 +% \ifpdflua \makebookmarks \pdfdest name {NOS} fitb % in versions < 3.68 + \ifpdflua \pdfdest name {NOS} fith % changed in version 3.69 \pdfoutline goto name {NOS} count -\the\countD {\outsecname} \def\X##1:##2\X{\Xpdf##1:##2\X \firstsecno##1.% {\toksF={}\makeoutlinetoks##2\outlinedone\outlinedone}% diff --git a/Build/source/texk/web2c/cwebdir/texinputs/pdfctproofmac.tex b/Build/source/texk/web2c/cwebdir/texinputs/pdfctproofmac.tex index 9a64c366a4d..f4acc0f2159 100644 --- a/Build/source/texk/web2c/cwebdir/texinputs/pdfctproofmac.tex +++ b/Build/source/texk/web2c/cwebdir/texinputs/pdfctproofmac.tex @@ -1,22 +1,23 @@ % standard macros for CWEB listings (in addition to plain.tex) -% Version 4.10 --- August 2023 +% Version 4.11 --- September 2023 % modified for proofs in CTWILL % modified for PDF output with 'tex "\let\pdf+', 'pdftex', 'xetex', and 'hitex' % This file is not copyrighted and can be used freely. \ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros -\xdef\fmtversion{\fmtversion+CTWILL4.10+PROOFS+PDF} +\xdef\fmtversion{\fmtversion+CTWILL4.11+PROOFS+PDF} \input iftex.sty % TeX engine tests \ifx\pdf+\pdftrue\fi % for plain TeX in combination with dvipdfm % Uncomment the following line if you want PDF goodies to be the default %\ifx\pdf-\else\pdftrue\fi \def\pdflinkcolor{0 0 1} % the RGB values for hyperlink color \ifxetex\pdftrue\fi % XeTeX produces PDF output -\ifpdftex % pdfTeX produces PDF output if \pdfoutput>0 +\let\ifacro=\ifpdf +\newif\ifacrohint \ifacro\acrohinttrue\fi \ifhint\acrohinttrue\fi +\newif\ifpdflua \ifluatex\pdfluatrue\fi \ifpdftex\pdfluatrue\fi +\ifpdflua % luaTeX and pdfTeX produce PDF output if \pdfoutput>0 \def\Black{\pdfliteral{0 g 0 G}} % use rgb colors for direct PDF output too \def\Blue{\pdfliteral{\pdflinkcolor\space rg \pdflinkcolor\space RG}} \fi -\let\ifacro=\ifpdf -\newif\ifacrohint \ifacro\acrohinttrue\fi \ifhint\acrohinttrue\fi \let\:=\. % preserve a way to get the dot accent % (all other accents will still work as usual) @@ -137,7 +138,7 @@ \ifacrohint \input cwebacromac \fi % load hypertext macros -\def\pdfURL#1#2{\ifpdf \ifpdftex\pdfannotlink height \theheight depth \thedepth +\def\pdfURL#1#2{\ifpdf \ifpdflua\pdfannotlink height \theheight depth \thedepth attr {/Border [0 0 0]} user { /Type /Annot /Subtype /Link /A << /S /URI /URI (#2) >>}\Blue #1\Black \pdfendlink % changed in 3.69 \else {\setbox0=\hbox{\special{pdf: bc [ \pdflinkcolor ]}{#1}% @@ -154,7 +155,7 @@ \ifhint\HINTlabel\fi% Start page before section \noindent{\let\*=\lapstar\bf\secstar.\quad}% \ifpdf \smash{\raise\baselineskip\hbox to0pt{\let\*=\empty - \ifpdftex \pdfdest num \secstar fith% + \ifpdflua \pdfdest num \secstar fith% \else \special{pdf: dest (\romannumeral\secstar) [ @thispage /FitH @ypos ]}\fi}}\fi} \let\startsection=\stsec @@ -195,7 +196,7 @@ \edef\gtitletoks{\expandafter\stripprefix\meaning\gtitletoks}% \edef\next{\write\cont{\ZZ{\gtitletoks}{#1}{\secno}% write to contents file {\noexpand\the\pageno}{\the\toksE}}}\next % \ZZ{title}{depth}{sec}{page}{ss} - \ifpdf \ifpdftex\expandafter\xdef\csname curr#1\endcsname{\secno} + \ifpdf \ifpdflua\expandafter\xdef\csname curr#1\endcsname{\secno} \ifnum#1>0\countB=#1 \advance\countB by-1 \advancenumber{chunk\the\countB.\expnumber{curr\the\countB}}\fi \else \special{pdf: outline #1 << /Title (\the\toksE) @@ -273,7 +274,7 @@ \def\title{\expandafter\uppercase\expandafter{\jobname}} \def\topofcontents{\centerline{\titlefont\title}\vskip.7in \vfill} % this material will start the table of contents page -\def\startpdf{\ifpdf \ifpdftex\pdfcatalog{/PageMode /UseOutlines} +\def\startpdf{\ifpdf \ifpdflua\pdfcatalog{/PageMode /UseOutlines} \else {\special{pdf: docview << /PageMode /UseOutlines >>}}\fi\fi} \def\botofcontents{\vfill \centerline{\covernote}} % this material will end the table of contents page @@ -356,7 +357,7 @@ \def\fin{\par\vfill\eject % this is done when we are ending the index \ifpagesaved\null\vfill\eject\fi % output a null index column \if L\lr\else\null\vfill\eject\fi % finish the current page - \ifpdf \ifpdftex \makebookmarks \countsections \fi\fi + \ifpdf \ifpdflua \makebookmarks \countsections \fi\fi \parfillskip 0pt plus 1fil \def\grouptitle{NAMES OF THE SECTIONS} \let\topsecno=\nullsec @@ -370,7 +371,7 @@ \def\Us{\note{Used in sections}} % crossref for uses of a section \def\I{\par\hangindent 2em}\let\*=* \ifpdf \def\outsecname{Names of the sections} \let\Xpdf\X - \ifpdftex \pdfdest name {NOS} fith + \ifpdflua \pdfdest name {NOS} fith \pdfoutline goto name {NOS} count -\the\countD {\outsecname} \def\X##1:##2\X{\Xpdf##1:##2\X \firstsecno##1.% {\toksF={}\makeoutlinetoks##2\outlinedone\outlinedone}% diff --git a/Build/source/texk/web2c/cwebdir/texinputs/pdfctwimac.tex b/Build/source/texk/web2c/cwebdir/texinputs/pdfctwimac.tex index c982784fd2d..65704bd4014 100644 --- a/Build/source/texk/web2c/cwebdir/texinputs/pdfctwimac.tex +++ b/Build/source/texk/web2c/cwebdir/texinputs/pdfctwimac.tex @@ -1,27 +1,28 @@ % standard macros for CWEB listings (in addition to plain.tex) -% Version 4.10 --- August 2023 +% Version 4.11 --- September 2023 % modified for pages produced by CTWILL % further modified for page size of the MMIXware book % modified for PDF output with 'tex "\let\pdf+', 'pdftex', and 'xetex' % This file is not copyrighted and can be used freely. \ifx\renewenvironment\undefined\else\endinput\fi % LaTeX will use other macros -\xdef\fmtversion{\fmtversion+CTWILL4.10+LNCS+PDF} +\xdef\fmtversion{\fmtversion+CTWILL4.11+LNCS+PDF} \input iftex.sty % TeX engine tests \ifx\pdf+\pdftrue\fi % for plain TeX in combination with dvipdfm % Uncomment the following line if you want PDF goodies to be the default %\ifx\pdf-\else\pdftrue\fi \def\pdflinkcolor{0 0 1} % the RGB values for hyperlink color \ifxetex\pdftrue\fi % XeTeX produces PDF output -\ifpdftex % pdfTeX produces PDF output if \pdfoutput>0 - \def\Black{\pdfliteral{0 g 0 G}} % use rgb colors for direct PDF output too - \def\Blue{\pdfliteral{\pdflinkcolor\space rg \pdflinkcolor\space RG}} -\fi \let\ifacro=\ifpdf \ifhint\message{These macros are not suitable for HiTeX.} \message{Please use 'ctwill +P [+lpdf]' instead.} \end \fi \newif\ifacrohint \ifacro\acrohinttrue\fi \ifhint\acrohinttrue\fi +\newif\ifpdflua \ifluatex\pdfluatrue\fi \ifpdftex\pdfluatrue\fi +\ifpdflua % luaTeX and pdfTeX produce PDF output if \pdfoutput>0 + \def\Black{\pdfliteral{0 g 0 G}} % use rgb colors for direct PDF output too + \def\Blue{\pdfliteral{\pdflinkcolor\space rg \pdflinkcolor\space RG}} +\fi \let\:=\. % preserve a way to get the dot accent % (all other accents will still work as usual) @@ -258,7 +259,7 @@ \sfcode`;=1500 \pretolerance 200 \hyphenpenalty 50 \exhyphenpenalty 50 \noindent\strut{\let\*=\lapstar\bf\secno.\quad}% \ifacro \smash{\raise\baselineskip\hbox to0pt{\let\*=\empty - \ifpdftex \pdfdest num \secstar fith% + \ifpdflua \pdfdest num \secstar fith% \else \special{pdf: dest (\romannumeral\secstar) [ @thispage /FitH @ypos ]}\fi}}\fi} \def\startsection{\titletrue @@ -309,7 +310,7 @@ \gdef\rrhead{\let\i=I\uppercase{\ignorespaces#3}} \fi \message{*\secno} % progress report - \ifpdf \ifpdftex\def\stripprefix##1>{}\def\gtitletoks{#3}% + \ifpdf \ifpdflua\def\stripprefix##1>{}\def\gtitletoks{#3}% \edef\gtitletoks{\expandafter\stripprefix\meaning\gtitletoks}% {\immediate\write\cont{\ZZ{\gtitletoks}{#1}{\secno}% write to contents file {\noexpand\the\pageno}{\the\toksE}}} % \ZZ{title}{depth}{sec}{page}{ss} @@ -513,7 +514,7 @@ %\global\advance\pageno by1} %\def\topofcontents{\centerline{\titlefont\title}\vskip.7in %\vfill} % this material will start the table of contents page -%\def\startpdf{\ifpdf \ifpdftex\pdfcatalog{/PageMode /UseOutlines} +%\def\startpdf{\ifpdf \ifpdflua\pdfcatalog{/PageMode /UseOutlines} %\else {\special{pdf: docview << /PageMode /UseOutlines >>}}\fi\fi} %\def\botofcontents{\vfill %\centerline{\covernote}} % this material will end the table of contents page @@ -527,13 +528,13 @@ \def\readsections{\input \jobname.scn} \newwrite\cont -\ifpdftex +\ifpdflua \immediate\openout\cont=\contentsfile \immediate\write\cont{\catcode `\noexpand\@=11\relax} % \makeatletter \fi \def\inx{\flushout % No full index at the end - \ifpdftex + \ifpdflua \immediate\write\cont{\catcode `\noexpand\@=12\relax} % \makeatother \immediate\closeout\cont % the contents information has been fully gathered \fi} @@ -541,7 +542,7 @@ \def\U##1.{} \def\Us##1.{} \def\Q##1.{} \def\Qs##1.{} \let\I=\relax \let\*=* \newrefs={} \output={\shipout\box255} \def\outsecname{Names of the sections} - \ifpdftex \makebookmarks \countsections + \ifpdflua \makebookmarks \countsections \pdfdest name {NOS} fith \pdfoutline goto name {NOS} count -\the\countD {\outsecname} \def\X##1:##2\X{\firstsecno##1.% |