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
|
% standard macros for CWEB listings (in addition to plain.tex)
% modified for use with "tex2pdf" --- March 1997
% Version 2.0 --- Don Knuth, July 1990
% Version 2.0 [german] --- Carsten Steger, October 1991
% Version 2.0 [german] --- Andreas Scherer, February 1993
% Version 2.7 --- Don Knuth, July 1992
% Version 2.7 [p6c] --- Andreas Scherer, September 1993
% Version 2.8 --- Don Knuth, September 1992
% Version 2.8 [german] --- Carsten Steger, 1993
% Version 2.8 [p7] --- Andreas Scherer, October 1993
% Version 3.0 --- Don Knuth, June 1993
% Version 3.0 [p8e] --- Andreas Scherer, November 1993
% Version 3.1 [p9b] --- Andreas Scherer, January 1994
% Version 3.1 [p9c] --- Andreas Scherer, March 1994
% Version 3.1 [p9d] --- Andreas Scherer, July 1994
% Version 3.2 [p10] --- Andreas Scherer, July 1994
% Version 3.2 [p10a] --- Denis B. Roegel, September 1994
% Version 3.3 [p10b] --- Andreas Scherer, October 1994
% Version 3.3 [p11b] --- Andreas Scherer, March 1995
% Version 3.4 [p13] --- Andreas Scherer, August 1995
% Version 3.4 [p14] --- Andreas Scherer, March 1997
% Version 3.42 [p15] --- Andreas Scherer, August 1998
% Version 3.43 [p16] --- Andreas Scherer, October 1998
% Version 3.5 [p17] --- Andreas Scherer, December 1999
% Version 3.61 [p18] --- Andreas Scherer, July 2000
% Version 3.63 [p19] --- Andreas Scherer, January 2001
% Version 3.64 [p20] --- Andreas Scherer, March 2002
% Version 3.64 [p21] --- Andreas Scherer, October 2005
% Version 3.64 [p22] --- Andreas Scherer, March 2016
% Version 4.9 --- Andreas Scherer, June 2022
% Version 4.12 --- Andreas Scherer, August 2024
% french translations --- Denis Roegel, 18 September 1994
\ifx\undefined\botofcontents\input cwebmac.tex\fi
\def\.#1{\leavevmode\hbox{\tentex % typewriter type for strings
\ifx\Cstringchars\undefined\else\Cstringchars\fi % special string characters
\let\\=\BS % backslash in a string
\let\{=\LB % left brace in a string
\let\}=\RB % right brace in a string
\let\~=\TL % tilde in a string
\let\ =\SP % space in a string
\let\_=\UL % underline in a string
\let\&=\AM % ampersand in a string
\let\^=\CF % circumflex in a string
#1\kern.05em}}
\def\postATL#1 #2 {\bf La lettre \\{\uppercase{\char"#1}}
est \string`\string`tanglee\string'\string' en \tentex "#2"\egroup\par}
\def\ATH{{\acrohintfalse\X\kern-.5em:D\'efinitions du pr\'eprocesseur\X}}
\def\A{\note{Voir aussi la section}} % xref for doubly defined section name
\def\As{\note{Voir aussi les sections}} % xref for multiply defined section name
\def\ET{ et~} % conjunction between two section numbers
\def\ETs{ et~} % conjunction between the last two of several section numbers
\def\Q{\note{Cette partie du programme est cit\'ee dans la section}}
% xref for mention of a section
\def\Qs{\note{Cette partie du programme est cit\'ee dans les sections}}
% xref for mentions of a section
\def\U{\note{Cette partie du programme est utilis\'ee dans la section}}
% xref for use of a section
\def\Us{\note{Cette partie du programme est utilis\'ee dans les sections}}
% xref for uses of a section
\gtitle={Sortie \.{CWEB}} % this running head is reset by starred sections
\mark{\noexpand\nullsec0{\the\gtitle}}
\def\ch{\note{Les sections suivantes ont \'et\'e modifi\'ees dans le
Change-File:}\let\*=\relax}
\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 \ifpdflua \makebookmarks % added in Version 3.68
\countsections \fi\fi % and in Version 4.9
\parfillskip 0pt plus 1fil
\def\grouptitle{NOMS DES SECTIONS}
\let\topsecno=\nullsec
\message{Noms des sections:}
\output={\normaloutput\page\lheader\rheader}
\setpage
\def\note##1##2.{\quad{\eightrm##1~\ifacrohint{\pdfnote##2.}\else{##2}\fi.}}
\def\Q{\note{Cit\'e dans la section}} % crossref for mention of a section
\def\Qs{\note{Cit\'e dans les sections}} % crossref for mentions of a section
\def\U{\note{Utilis\'e dans la section}} % crossref for use of a section
\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
% \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}%
\pdfoutline goto num \the\toksA \expandafter{\the\toksE}}
\else \special{pdf: outline -1 << /Title (\outsecname)
/Dest [ @thispage /FitH @ypos ] >>}
\def\X##1:##2\X{\Xpdf##1:##2\X \firstsecno##1.%
{\toksF={}\makeoutlinetoks##2\outlinedone\outlinedone}%
\special{pdf: outline 0 << /Title (\the\toksE)
/A << /S /GoTo /D (\romannumeral\the\toksA) >> >>}}
\fi\fi
\readsections}
\def\con{\par\vfill\eject % finish the section names
% \ifodd\pageno\else\titletrue\null\vfill\eject\fi % for duplex printers
\rightskip 0pt \hyphenpenalty 50 \tolerance 200
\setpage \output={\normaloutput\page\lheader\rheader}
\ifpdf\startpdf\fi \titletrue % prepare to output the table of contents
\pageno=\contentspagenumber
\def\grouptitle{SOMMAIRE:}
\message{Sommaire:}
\ifhint\HINThome\fi% Mark the Table of contents as home page
\topofcontents
\line{\hfil Section\ifhint\else\hbox to3em{\hss Page}\fi}% No Page in HINT
\let\ZZ=\contentsline
\readcontents\relax % read the contents info
\botofcontents \end} % print the contents page(s) and terminate
\def\today{\number\day.~\ifcase\month\or
Janvier\or F\'evrier\or Mars\or Avril\or Mai\or Juin\or
Juillet\or Ao\^ut\or Septembre\or Octobre\or Novembre\or D\'ecembre\fi
\space\number\year}
\def\hours{\twodigits=\time \divide\twodigits by60 \printtwodigits
\null\space\sc h\space % distinguish between time and year
\multiply\twodigits by-60 \advance\twodigits by\time \printtwodigits}
\def\datethis{\def\startsection{\leftline{\sc\today\ \`a \hours}\bigskip
\let\startsection=\stsec\stsec}}
% say `\datethis' in limbo, to get your listing timestamped before section 1
%\def\datecontentspage{% versions up to 3.65
% \def\topofcontents{\leftline{\sc\today\ \`a \hours}\bigskip
% \centerline{\titlefont\title}\vfill}} % timestamps the contents page
\def\datecontentspage{% changed in version 3.66
\def\botofcontents{\vfill
\centerline{\covernote}
\bigskip
\leftline{\sc\today\ \`a \hours}}} % timestamps the contents page
|