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 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
|
*** trapman.tex.org 1993-09-22 00:41:30.000000000 +0200
--- trapman.tex 2014-02-03 21:08:57.964670496 +0100
***************
*** 24,29 ****
--- 24,44 ----
% if you're unlucky it will appear on a page by itself!
{\obeyspaces\global\let =\ }
+ \pdfinfo{%
+ /Title(A torture test for METAFONT)%
+ /Author(Donald E. Knuth)%
+ }
+ \pdfcatalog{%
+ /PageLabels<<%
+ /Nums[0<</P(0)>>1<</S/D/St 1>>]%
+ >>%
+ /PageMode/UseOutlines
+ }
+ \pdfpagewidth=7.5in\relax % 8.5in - 2*.5in
+ \pdfhorigin=.5in\relax
+ \pdfpageheight=10in\relax % 11in - 2*.5in
+ \pdfvorigin=.5in\relax
+
\output{\shipout\box255\global\advance\pageno by 1} % for the title page only
\null
\vfill
***************
*** 62,69 ****
\box255}
\global\advance\pageno by 1}
\let\runninghead=\mark
! \outer\def\section#1.{\noindent{\bf#1.}\quad
! \runninghead{\uppercase{#1} }\ignorespaces}
\section Introduction.
People often think that their programs are ``debugged'' when large applications
--- 77,121 ----
\box255}
\global\advance\pageno by 1}
\let\runninghead=\mark
!
! \newcount\destcount
! \destcount=1\relax
!
! \outer\def\section#1.{%
! \noindent
! \vbox to 0pt{%
! \kern-2.5ex\relax
! \pdfdest num\destcount fitbh\relax
! \def\.##1{##1}%
! \def\MF{METAFONT}%
! \pdfoutline goto num\destcount{#1}\relax
! \global\advance\destcount by 1\relax
! \kern2.5ex\relax
! }%
! {\bf#1.}\quad
! \runninghead{\uppercase{#1} }\ignorespaces
! }
!
! \def\LinkColor{%
! \pdfliteral{1 0 0 rg}%
! }
! \def\Black{%
! \pdfliteral{0 g}%
! }
! \def\appA{2}
! \def\appB{3}
! \def\appC{4}
! \def\appD{5}
! \def\appE{6}
! \def\appF{7}
! \def\appG{8}
!
! \def\appref#1{%
! \leavevmode
! \pdfstartlink attr{/Border[0 0 0]} goto num\csname app#1\endcsname\relax
! \LinkColor\hbox{Appendix}~#1\Black
! \pdfendlink
! }
\section Introduction.
People often think that their programs are ``debugged'' when large applications
***************
*** 175,208 ****
The remainder of this report consists of appendices, whose contents ought
to be described briefly here:
! Appendix A explains in detail how to carry out a test of \MF, given
a tape that contains copies of the other appendices.
! Appendix B is \.{TRAP.MF}, the fiendish test file that has already
been mentioned. People who think that they understand \MF\ are challenged
to see if they know what \MF\ is supposed to do with this file.
People who know only a little about \MF\ might still find it
interesting to study Appendix~B, just to get some insights into the
methodology advocated here.
! Appendix C is \.{TRAPIN.LOG}, a correct transcript file \.{TRAP.LOG}
that results if \.{INIMF} is applied to \.{TRAP.MF}. (\.{INIMF} is
the name of a version of \MF\ that does certain initializations;
this run of \.{INIMF} also creates a binary base file called \.{TRAP.BASE}.)
! Appendix D is a correct transcript file \.{TRAP.LOG} that results if
\.{INIMF} or any other version of \MF\ is applied to \.{TRAP.MF}
with base file \.{TRAP.BASE}.
! Appendix E is \.{TRAP.TYP}, the symbolic version of a correct output
file \.{TRAP.72270GF} that was produced at the same time as the \.{TRAP.LOG}
file of Appendix~D.
! Appendix F is \.{TRAP.PL}, the symbolic version of a correct output
file \.{TRAP.TFM} that was produced at the same time as the \.{TRAP.LOG}
file of Appendix~D.
! Appendix G is \.{TRAP.FOT}, an abbreviated version of Appendix D that
appears on the user's terminal during the run that produces \.{TRAP.LOG},
\.{TRAP.72270GF}, and \.{TRAP.TFM}.
--- 227,260 ----
The remainder of this report consists of appendices, whose contents ought
to be described briefly here:
! \appref A explains in detail how to carry out a test of \MF, given
a tape that contains copies of the other appendices.
! \appref B is \.{TRAP.MF}, the fiendish test file that has already
been mentioned. People who think that they understand \MF\ are challenged
to see if they know what \MF\ is supposed to do with this file.
People who know only a little about \MF\ might still find it
interesting to study Appendix~B, just to get some insights into the
methodology advocated here.
! \appref C is \.{TRAPIN.LOG}, a correct transcript file \.{TRAP.LOG}
that results if \.{INIMF} is applied to \.{TRAP.MF}. (\.{INIMF} is
the name of a version of \MF\ that does certain initializations;
this run of \.{INIMF} also creates a binary base file called \.{TRAP.BASE}.)
! \appref D is a correct transcript file \.{TRAP.LOG} that results if
\.{INIMF} or any other version of \MF\ is applied to \.{TRAP.MF}
with base file \.{TRAP.BASE}.
! \appref E is \.{TRAP.TYP}, the symbolic version of a correct output
file \.{TRAP.72270GF} that was produced at the same time as the \.{TRAP.LOG}
file of Appendix~D.
! \appref F is \.{TRAP.PL}, the symbolic version of a correct output
file \.{TRAP.TFM} that was produced at the same time as the \.{TRAP.LOG}
file of Appendix~D.
! \appref G is \.{TRAP.FOT}, an abbreviated version of \appref D that
appears on the user's terminal during the run that produces \.{TRAP.LOG},
\.{TRAP.72270GF}, and \.{TRAP.TFM}.
***************
*** 369,375 ****
\section Appendix E: The \.{TRAP.TYP} file.
Here is another major component of the test. It shows the output of \.{GFtype}
applied to the file \.{TRAP.72270GF} that is created at the same time
! Appendix D was produced.
\runninghead{APPENDIX E: \.{TRAP.TYP} (CONTINUED)}
{\let\tt=\eighttt\leftskip 1in\baselineskip 9pt plus .1pt minus .1pt
--- 421,427 ----
\section Appendix E: The \.{TRAP.TYP} file.
Here is another major component of the test. It shows the output of \.{GFtype}
applied to the file \.{TRAP.72270GF} that is created at the same time
! \appref D was produced.
\runninghead{APPENDIX E: \.{TRAP.TYP} (CONTINUED)}
{\let\tt=\eighttt\leftskip 1in\baselineskip 9pt plus .1pt minus .1pt
***************
*** 381,387 ****
\section Appendix F: The \.{TRAP.PL} file.
In this case we have the output of \.{TFtoPL}
applied to the file \.{TRAP.TFM} that is created at the same time
! Appendix D was produced.
\runninghead{APPENDIX F: \.{TRAP.PL} (CONTINUED)}
{\let\tt=\eighttt\leftskip 1in\baselineskip 9pt plus .1pt minus .1pt
--- 433,439 ----
\section Appendix F: The \.{TRAP.PL} file.
In this case we have the output of \.{TFtoPL}
applied to the file \.{TRAP.TFM} that is created at the same time
! \appref D was produced.
\runninghead{APPENDIX F: \.{TRAP.PL} (CONTINUED)}
{\let\tt=\eighttt\leftskip 1in\baselineskip 9pt plus .1pt minus .1pt
***************
*** 391,400 ****
\vfill\eject
\section Appendix G: The \.{TRAP.FOT} file.
! This shows what appeared on the terminal while Appendix D was being produced.
\runninghead{APPENDIX G: \.{TRAP.FOT} (CONTINUED)}
\vskip8pt
\verbatim{trap.fot}
! \vfill\end
--- 443,454 ----
\vfill\eject
\section Appendix G: The \.{TRAP.FOT} file.
! This shows what appeared on the terminal while \appref D was being produced.
\runninghead{APPENDIX G: \.{TRAP.FOT} (CONTINUED)}
\vskip8pt
\verbatim{trap.fot}
! \vfill
! \input knuth-outline.tex
! \end
|