From 0002c9545de0b8dee9650738ea6eb9d49adf1ef6 Mon Sep 17 00:00:00 2001 From: Andreas Scherer Date: Wed, 13 May 2020 09:11:20 +0000 Subject: [CWEB] Separation of powers. The new 'pdfwebtocfront.tex' works well with both CWEB and WEB. Simply '\input' it in limbo of your (C)WEB code and run 'pdftex' or 'xetex' twice (!) to move the table-of-contents page up front. git-svn-id: svn://tug.org/texlive/trunk@55124 c570f23f-e606-0410-a88d-b1316a301751 --- .../texk/web2c/cwebdir/texinputs/Xcwebmac.tex | 60 +--------------------- .../web2c/cwebdir/texinputs/pdfwebtocfront.tex | 59 +++++++++++++++++++++ 2 files changed, 60 insertions(+), 59 deletions(-) create mode 100644 Build/source/texk/web2c/cwebdir/texinputs/pdfwebtocfront.tex (limited to 'Build/source/texk/web2c/cwebdir/texinputs') diff --git a/Build/source/texk/web2c/cwebdir/texinputs/Xcwebmac.tex b/Build/source/texk/web2c/cwebdir/texinputs/Xcwebmac.tex index d2e25fc33bc..e8e08762d30 100644 --- a/Build/source/texk/web2c/cwebdir/texinputs/Xcwebmac.tex +++ b/Build/source/texk/web2c/cwebdir/texinputs/Xcwebmac.tex @@ -39,62 +39,4 @@ %\let\K=\leftarrow % "honest" alternative to standard assignment operator -% Move contents page to the front -% -% Code from knuth.drv in https://github.com/oberdiek/latex-tds -% Works with pdftex (with active links) and xetex (with active -% links only for '\let\pdf+'). -% -\ifx\detokenize\undefined\endinput\fi -\newread\testread -\openin\testread=\contentsfile\relax -\ifeof\testread % First run -\else % Second run - \let\ORGcon\con - \def\con{% - \ifnum\pageno=1 \global\titletrue\fi - \begingroup - \let\end\relax - \ORGcon - \endgroup - \let\con\end - }% - \expandafter\let\csname ORGN\expandafter\endcsname - \csname N\endcsname - \expandafter\outer\expandafter\def\csname N\endcsname{% - \con - \advance\pageno by -1\relax - \expandafter\let\csname N\expandafter\endcsname - \csname ORGN\endcsname - \csname N\endcsname - }% - \begingroup - \def\num{0}% - \edef\x{\jobname}% - \edef\y{\detokenize{tex}}% - \ifx\x\y - \def\num{1}% - \else - \edef\y{\detokenize{mf}}% - \ifx\x\y - \def\num{1}% - \fi - \fi - \expandafter\endgroup\ifnum\num=1 % - \def\contentspagenumber{2}% - \let\ORGpageno\pageno - \def\pageno{% - \let\pageno\ORGpageno - \expandafter\let\csname ORGN\expandafter\endcsname - \csname N\endcsname - \expandafter\outer\expandafter\def\csname N\endcsname{% - \con - \advance\pageno by -1\relax - \expandafter\let\csname N\expandafter\endcsname - \csname ORGN\endcsname - \csname N\endcsname - }% - \pageno - }% - \fi -\fi +\input pdfwebtocfront diff --git a/Build/source/texk/web2c/cwebdir/texinputs/pdfwebtocfront.tex b/Build/source/texk/web2c/cwebdir/texinputs/pdfwebtocfront.tex new file mode 100644 index 00000000000..3fb8d393a4e --- /dev/null +++ b/Build/source/texk/web2c/cwebdir/texinputs/pdfwebtocfront.tex @@ -0,0 +1,59 @@ +% +% Move contents page to the front +% +% Code from knuth.drv in https://github.com/oberdiek/latex-tds +% Works with pdftex and xetex. +% +\ifx\detokenize\undefined\endinput\fi +\newread\testread +\openin\testread=\contentsfile\relax +\ifeof\testread % First run +\else % Second run + \let\ORGcon\con + \def\con{% + \ifnum\pageno=1 \global\titletrue\fi + \begingroup + \let\end\relax + \ORGcon + \endgroup + \let\con\end + }% + \expandafter\let\csname ORGN\expandafter\endcsname + \csname N\endcsname + \expandafter\outer\expandafter\def\csname N\endcsname{% + \con + \advance\pageno by -1\relax + \expandafter\let\csname N\expandafter\endcsname + \csname ORGN\endcsname + \csname N\endcsname + }% + \begingroup + \def\num{0}% + \edef\x{\jobname}% + \edef\y{\detokenize{tex}}% + \ifx\x\y + \def\num{1}% + \else + \edef\y{\detokenize{mf}}% + \ifx\x\y + \def\num{1}% + \fi + \fi + \expandafter\endgroup\ifnum\num=1 % + \def\contentspagenumber{2}% + \let\ORGpageno\pageno + \def\pageno{% + \let\pageno\ORGpageno + \expandafter\let\csname ORGN\expandafter\endcsname + \csname N\endcsname + \expandafter\outer\expandafter\def\csname N\endcsname{% + \con + \advance\pageno by -1\relax + \expandafter\let\csname N\expandafter\endcsname + \csname ORGN\endcsname + \csname N\endcsname + }% + \pageno + }% + \fi +\fi -- cgit v1.2.3