source:
patches/glibc-2.7-branch_update-1A.patch@
ea28a5ea
Last change on this file since ea28a5ea was 9e76341, checked in by , 17 years ago | |
---|---|
|
|
File size: 63.8 KB |
-
ChangeLog
Submitted By: Jim Gifford (jim at linuxfromscratch dot org) Date: 10-25-2007 Altered to omit changes to nptl/sysdeps/powerpc/tcb-offsets.sym which don't compile and are no longer in recent snapshots: Ken Moffat Initial Package Version: 2.7 Origin: Upstream Upstream Status: Applied Description: This is a branch update for Glibc-2.7, and should be rechecked periodically. See the 'Changelog' and 'localedata/ChangeLog' for specific details. diff -Naur glibc-2.7.orig/ChangeLog glibc-2.7/ChangeLog
old new 1 2007-10-21 Andreas Jaeger <aj@suse.de> 2 3 * manual/texinfo.tex: Update to latest version. 4 5 * manual/sysinfo.texi (System Parameters): Fix Formatting. 6 7 * manual/arith.texi (Status bit operations): Fix formatting. 8 9 * manual/errno.texi (Error Messages): Fix formatting. 10 11 * manual/sysinfo.texi (System Parameters): Fix formatting. 12 13 * manual/libc.texinfo: Update VERSION and UPDATED. 14 1 15 2007-10-17 Jakub Jelinek <jakub@redhat.com> 2 16 3 17 * sysdeps/x86_64/memset.S (bzero): Renamed to __bzero. Add -
manual/arith.texi
diff -Naur glibc-2.7.orig/manual/arith.texi glibc-2.7/manual/arith.texi
old new 778 778 779 779 @comment fenv.h 780 780 @comment ISO 781 @deftypefun int fesetexceptflag (const fexcept_t *@var{flagp}, int 782 @var{excepts}) 781 @deftypefun int fesetexceptflag (const fexcept_t *@var{flagp}, int @var{excepts}) 783 782 This function restores the flags for the exceptions indicated by 784 783 @var{excepts} to the values stored in the variable pointed to by 785 784 @var{flagp}. -
manual/errno.texi
diff -Naur glibc-2.7.orig/manual/errno.texi glibc-2.7/manual/errno.texi
old new 1494 1494 1495 1495 @comment error.h 1496 1496 @comment GNU 1497 @deftypevar {void (* } error_print_progname )(void)1497 @deftypevar {void (*) error_print_progname } (void) 1498 1498 If the @code{error_print_progname} variable is defined to a non-zero 1499 1499 value the function pointed to is called by @code{error} or 1500 1500 @code{error_at_line}. It is expected to print the program name or do -
manual/libc.texinfo
diff -Naur glibc-2.7.orig/manual/libc.texinfo glibc-2.7/manual/libc.texinfo
old new 19 19 20 20 @c sold 0.06/1.09, print run out 21may96 21 21 @set EDITION 0.11 22 @set VERSION 2. 623 @set UPDATED 200 6-12-0322 @set VERSION 2.7 23 @set UPDATED 2007-09-09 24 24 @set ISBN 1-882114-55-8 25 25 26 26 @copying -
manual/sysinfo.texi
diff -Naur glibc-2.7.orig/manual/sysinfo.texi glibc-2.7/manual/sysinfo.texi
old new 1066 1066 1067 1067 @comment sysctl.h 1068 1068 @comment BSD 1069 @deftypefun int sysctl (int *@var{names}, int @var{nlen}, void *@var{oldval}, 1070 size_t *@var{oldlenp}, void *@var{newval}, size_t @var{newlen}) 1069 @deftypefun int sysctl (int *@var{names}, int @var{nlen}, void *@var{oldval}, size_t *@var{oldlenp}, void *@var{newval}, size_t @var{newlen}) 1071 1070 1072 1071 @code{sysctl} gets or sets a specified system parameter. There are so 1073 1072 many of these parameters that it is not practical to list them all here, -
manual/texinfo.tex
diff -Naur glibc-2.7.orig/manual/texinfo.tex glibc-2.7/manual/texinfo.tex
old new 3 3 % Load plain if necessary, i.e., if running under initex. 4 4 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 5 5 % 6 \def\texinfoversion{200 4-11-25.16}6 \def\texinfoversion{2006-11-08.17} 7 7 % 8 8 % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 9 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software10 % Foundation, Inc.9 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free 10 % Software Foundation, Inc. 11 11 % 12 12 % This texinfo.tex file is free software; you can redistribute it and/or 13 13 % modify it under the terms of the GNU General Public License as … … 21 21 % 22 22 % You should have received a copy of the GNU General Public License 23 23 % along with this texinfo.tex file; see the file COPYING. If not, write 24 % to the Free Software Foundation, Inc., 5 9 Temple Place - Suite 330,25 % Boston, MA 0211 1-1307, USA.24 % to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 25 % Boston, MA 02110-1301, USA. 26 26 % 27 27 % As a special exception, when this file is read by TeX when processing 28 28 % a Texinfo source document, you may use the result without … … 153 153 \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi 154 154 \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi 155 155 156 % In some macros, we cannot use the `\? notation---the left quote is 157 % in some cases the escape char. 156 % Since the category of space is not known, we have to be careful. 157 \chardef\spacecat = 10 158 \def\spaceisspace{\catcode`\ =\spacecat} 159 160 % sometimes characters are active, so we need control sequences. 158 161 \chardef\colonChar = `\: 159 162 \chardef\commaChar = `\, 163 \chardef\dashChar = `\- 160 164 \chardef\dotChar = `\. 161 165 \chardef\exclamChar= `\! 166 \chardef\lquoteChar= `\` 162 167 \chardef\questChar = `\? 168 \chardef\rquoteChar= `\' 163 169 \chardef\semiChar = `\; 164 170 \chardef\underChar = `\_ 165 171 166 \chardef\spaceChar = `\ %167 \chardef\spacecat = 10168 \def\spaceisspace{\catcode\spaceChar=\spacecat}169 170 172 % Ignore a token. 171 173 % 172 174 \def\gobble#1{} … … 302 304 % take effect in \write's, yet the group defined by the \vbox ends 303 305 % before the \shipout runs. 304 306 % 305 \escapechar = `\\ % use backslash in output files.306 307 \indexdummies % don't expand commands in the output. 307 308 \normalturnoffactive % \ in index entries must not stay \, e.g., if 308 % the page break happens to be in the middle of an example. 309 % the page break happens to be in the middle of an example. 310 % We don't want .vr (or whatever) entries like this: 311 % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} 312 % "\acronym" won't work when it's read back in; 313 % it needs to be 314 % {\code {{\tt \backslashcurfont }acronym} 309 315 \shipout\vbox{% 310 316 % Do this early so pdf references go to the beginning of the page. 311 317 \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi … … 333 339 \pagebody{#1}% 334 340 \ifdim\ht\footlinebox > 0pt 335 341 % Only leave this space if the footline is nonempty. 336 % (We lessened \vsize for it in \oddfooting xxx.)342 % (We lessened \vsize for it in \oddfootingyyy.) 337 343 % The \baselineskip=24pt in plain's \makefootline has no effect. 338 \vskip 2 \baselineskip344 \vskip 24pt 339 345 \unvbox\footlinebox 340 346 \fi 341 347 % … … 356 362 \egroup % \vbox from first cropmarks clause 357 363 \fi 358 364 }% end of \shipout\vbox 359 }% end of group with \ normalturnoffactive365 }% end of group with \indexdummies 360 366 \advancepageno 361 367 \ifnum\outputpenalty>-20000 \else\dosupereject\fi 362 368 } … … 391 397 % 392 398 \def\parsearg{\parseargusing{}} 393 399 \def\parseargusing#1#2{% 394 \def\ next{#2}%400 \def\argtorun{#2}% 395 401 \begingroup 396 402 \obeylines 397 403 \spaceisspace … … 422 428 \def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% 423 429 \def\temp{#3}% 424 430 \ifx\temp\empty 425 % We cannot use \next here, as it holds the macro to run; 426 % thus we reuse \temp. 431 % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: 427 432 \let\temp\finishparsearg 428 433 \else 429 434 \let\temp\argcheckspaces … … 435 440 % If a _delimited_ argument is enclosed in braces, they get stripped; so 436 441 % to get _exactly_ the rest of the line, we had to prevent such situation. 437 442 % We prepended an \empty token at the very beginning and we expand it now, 438 % just before passing the control to \ next.443 % just before passing the control to \argtorun. 439 444 % (Similarily, we have to think about #3 of \argcheckspacesY above: it is 440 445 % either the null string, or it ends with \^^M---thus there is no danger 441 446 % that a pair of braces would be stripped. 442 447 % 443 448 % But first, we have to remove the trailing space token. 444 449 % 445 \def\finishparsearg#1 \ArgTerm{\expandafter\ next\expandafter{#1}}450 \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} 446 451 447 452 % \parseargdef\foo{...} 448 453 % is roughly equivalent to … … 566 571 \let\}=\myrbrace 567 572 \begingroup 568 573 % Definitions to produce \{ and \} commands for indices, 569 % and @{ and @} for the aux file.574 % and @{ and @} for the aux/toc files. 570 575 \catcode`\{ = \other \catcode`\} = \other 571 576 \catcode`\[ = 1 \catcode`\] = 2 572 577 \catcode`\! = 0 \catcode`\\ = \other … … 647 652 \let\/=\allowbreak 648 653 649 654 % @. is an end-of-sentence period. 650 \def\.{.\spacefactor= 3000}655 \def\.{.\spacefactor=\endofsentencespacefactor\space} 651 656 652 657 % @! is an end-of-sentence bang. 653 \def\!{!\spacefactor= 3000}658 \def\!{!\spacefactor=\endofsentencespacefactor\space} 654 659 655 660 % @? is an end-of-sentence query. 656 \def\?{?\spacefactor=3000 } 661 \def\?{?\spacefactor=\endofsentencespacefactor\space} 662 663 % @frenchspacing on|off says whether to put extra space after punctuation. 664 % 665 \def\onword{on} 666 \def\offword{off} 667 % 668 \parseargdef\frenchspacing{% 669 \def\temp{#1}% 670 \ifx\temp\onword \plainfrenchspacing 671 \else\ifx\temp\offword \plainnonfrenchspacing 672 \else 673 \errhelp = \EMsimple 674 \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% 675 \fi\fi 676 } 657 677 658 678 % @w prevents a word break. Without the \leavevmode, @w at the 659 679 % beginning of a paragraph, when TeX is still in vertical mode, would … … 1031 1051 % _ active, and distinguish by seeing if the current family is \slfam, 1032 1052 % which is what @var uses. 1033 1053 { 1034 \catcode \underChar= \active1054 \catcode`\_ = \active 1035 1055 \gdef\mathunderscore{% 1036 \catcode \underChar=\active1056 \catcode`\_=\active 1037 1057 \def_{\ifnum\fam=\slfam \_\else\sb\fi}% 1038 1058 } 1039 1059 } … … 1076 1096 \def\minus{$-$} 1077 1097 1078 1098 % @dots{} outputs an ellipsis using the current font. 1079 % We do .5em per period so that it has the same spacing in a typewriter 1080 % font as three actual period characters. 1099 % We do .5em per period so that it has the same spacing in the cm 1100 % typewriter fonts as three actual period characters; on the other hand, 1101 % in other typewriter fonts three periods are wider than 1.5em. So do 1102 % whichever is larger. 1081 1103 % 1082 1104 \def\dots{% 1083 1105 \leavevmode 1084 \hbox to 1.5em{% 1085 \hskip 0pt plus 0.25fil 1086 .\hfil.\hfil.% 1087 \hskip 0pt plus 0.5fil 1106 \setbox0=\hbox{...}% get width of three periods 1107 \ifdim\wd0 > 1.5em 1108 \dimen0 = \wd0 1109 \else 1110 \dimen0 = 1.5em 1111 \fi 1112 \hbox to \dimen0{% 1113 \hskip 0pt plus.25fil 1114 .\hskip 0pt plus1fil 1115 .\hskip 0pt plus1fil 1116 .\hskip 0pt plus.5fil 1088 1117 }% 1089 1118 } 1090 1119 … … 1092 1121 % 1093 1122 \def\enddots{% 1094 1123 \dots 1095 \spacefactor= 30001124 \spacefactor=\endofsentencespacefactor 1096 1125 } 1097 1126 1098 1127 % @comma{} is so commas can be inserted into text without messing up … … 1176 1205 \fi 1177 1206 \fi 1178 1207 \fi 1179 % 1208 1209 % PDF uses PostScript string constants for the names of xref targets, 1210 % for display in the outlines, and in other places. Thus, we have to 1211 % double any backslashes. Otherwise, a name like "\node" will be 1212 % interpreted as a newline (\n), followed by o, d, e. Not good. 1213 % http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html 1214 % (and related messages, the final outcome is that it is up to the TeX 1215 % user to double the backslashes and otherwise make the string valid, so 1216 % that's what we do). 1217 1218 % double active backslashes. 1219 % 1220 {\catcode`\@=0 \catcode`\\=\active 1221 @gdef@activebackslashdouble{% 1222 @catcode`@\=@active 1223 @let\=@doublebackslash} 1224 } 1225 1226 % To handle parens, we must adopt a different approach, since parens are 1227 % not active characters. hyperref.dtx (which has the same problem as 1228 % us) handles it with this amazing macro to replace tokens. I've 1229 % tinkered with it a little for texinfo, but it's definitely from there. 1230 % 1231 % #1 is the tokens to replace. 1232 % #2 is the replacement. 1233 % #3 is the control sequence with the string. 1234 % 1235 \def\HyPsdSubst#1#2#3{% 1236 \def\HyPsdReplace##1#1##2\END{% 1237 ##1% 1238 \ifx\\##2\\% 1239 \else 1240 #2% 1241 \HyReturnAfterFi{% 1242 \HyPsdReplace##2\END 1243 }% 1244 \fi 1245 }% 1246 \xdef#3{\expandafter\HyPsdReplace#3#1\END}% 1247 } 1248 \long\def\HyReturnAfterFi#1\fi{\fi#1} 1249 1250 % #1 is a control sequence in which to do the replacements. 1251 \def\backslashparens#1{% 1252 \xdef#1{#1}% redefine it as its expansion; the definition is simply 1253 % \lastnode when called from \setref -> \pdfmkdest. 1254 \HyPsdSubst{(}{\realbackslash(}{#1}% 1255 \HyPsdSubst{)}{\realbackslash)}{#1}% 1256 } 1257 1258 \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images 1259 with PDF output, and none of those formats could be found. (.eps cannot 1260 be supported due to the design of the PDF format; use regular TeX (DVI 1261 output) for that.)} 1262 1180 1263 \ifpdf 1181 1264 \input pdfcolor 1182 1265 \pdfcatalog{/PageMode /UseOutlines}% 1266 % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). 1183 1267 \def\dopdfimage#1#2#3{% 1184 \def\imagewidth{#2}% 1185 \def\imageheight{#3}% 1268 \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% 1269 \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% 1270 % 1271 % pdftex (and the PDF format) support .png, .jpg, .pdf (among 1272 % others). Let's try in that order. 1273 \let\pdfimgext=\empty 1274 \begingroup 1275 \openin 1 #1.png \ifeof 1 1276 \openin 1 #1.jpg \ifeof 1 1277 \openin 1 #1.jpeg \ifeof 1 1278 \openin 1 #1.JPG \ifeof 1 1279 \openin 1 #1.pdf \ifeof 1 1280 \errhelp = \nopdfimagehelp 1281 \errmessage{Could not find image file #1 for pdf}% 1282 \else 1283 \gdef\pdfimgext{pdf}% 1284 \fi 1285 \else 1286 \gdef\pdfimgext{JPG}% 1287 \fi 1288 \else 1289 \gdef\pdfimgext{jpeg}% 1290 \fi 1291 \else 1292 \gdef\pdfimgext{jpg}% 1293 \fi 1294 \else 1295 \gdef\pdfimgext{png}% 1296 \fi 1297 \closein 1 1298 \endgroup 1299 % 1186 1300 % without \immediate, pdftex seg faults when the same image is 1187 1301 % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) 1188 1302 \ifnum\pdftexversion < 14 … … 1190 1304 \else 1191 1305 \immediate\pdfximage 1192 1306 \fi 1193 \if x\empty\imagewidth\elsewidth \imagewidth \fi1194 \if x\empty\imageheight\elseheight \imageheight \fi1307 \ifdim \wd0 >0pt width \imagewidth \fi 1308 \ifdim \wd2 >0pt height \imageheight \fi 1195 1309 \ifnum\pdftexversion<13 1196 #1. pdf%1310 #1.\pdfimgext 1197 1311 \else 1198 {#1. pdf}%1312 {#1.\pdfimgext}% 1199 1313 \fi 1200 1314 \ifnum\pdftexversion < 14 \else 1201 1315 \pdfrefximage \pdflastximage 1202 1316 \fi} 1203 1317 \def\pdfmkdest#1{{% 1204 % We have to set dummies so commands such as @code in a section title1205 % aren't expanded.1318 % We have to set dummies so commands such as @code, and characters 1319 % such as \, aren't expanded when present in a section title. 1206 1320 \atdummies 1207 \normalturnoffactive 1208 \pdfdest name{#1} xyz% 1209 }} 1210 \def\pdfmkpgn#1{#1} 1321 \activebackslashdouble 1322 \def\pdfdestname{#1}% 1323 \backslashparens\pdfdestname 1324 \pdfdest name{\pdfdestname} xyz% 1325 }}% 1326 % 1327 % used to mark target names; must be expandable. 1328 \def\pdfmkpgn#1{#1}% 1329 % 1211 1330 \let\linkcolor = \Blue % was Cyan, but that seems light? 1212 1331 \def\endlink{\Black\pdfendlink} 1213 1332 % Adding outlines to PDF; macros for calculating structure of outlines … … 1218 1337 \advance\tempnum by 1 1219 1338 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} 1220 1339 % 1221 % #1 is the section text. #2 is the pdf expression for the number 1222 % of subentries (or empty, for subsubsections). #3 is the node 1223 % text, which might be empty if this toc entry had no 1224 % corresponding node. #4 is the page number. 1340 % #1 is the section text, which is what will be displayed in the 1341 % outline by the pdf viewer. #2 is the pdf expression for the number 1342 % of subentries (or empty, for subsubsections). #3 is the node text, 1343 % which might be empty if this toc entry had no corresponding node. 1344 % #4 is the page number 1225 1345 % 1226 1346 \def\dopdfoutline#1#2#3#4{% 1227 1347 % Generate a link to the node text if that exists; else, use the 1228 1348 % page number. We could generate a destination for the section 1229 1349 % text in the case where a section has no node, but it doesn't 1230 % seem worth while, since most documents are normally structured.1350 % seem worth the trouble, since most documents are normally structured. 1231 1351 \def\pdfoutlinedest{#3}% 1232 \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}\fi 1352 \ifx\pdfoutlinedest\empty 1353 \def\pdfoutlinedest{#4}% 1354 \else 1355 % Doubled backslashes in the name. 1356 {\activebackslashdouble \xdef\pdfoutlinedest{#3}% 1357 \backslashparens\pdfoutlinedest}% 1358 \fi 1233 1359 % 1234 \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{#1}% 1360 % Also double the backslashes in the display string. 1361 {\activebackslashdouble \xdef\pdfoutlinetext{#1}% 1362 \backslashparens\pdfoutlinetext}% 1363 % 1364 \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% 1235 1365 } 1236 1366 % 1237 1367 \def\pdfmakeoutlines{% … … 1272 1402 \def\unnsecentry{\numsecentry}% 1273 1403 \def\unnsubsecentry{\numsubsecentry}% 1274 1404 \def\unnsubsubsecentry{\numsubsubsecentry}% 1275 \ input \jobname.toc1405 \readdatafile{toc}% 1276 1406 % 1277 1407 % Read toc second time, this time actually producing the outlines. 1278 1408 % The `-' means take the \expnumber as the absolute number of … … 1298 1428 % their "best" equivalent, based on the @documentencoding. Right 1299 1429 % now, I guess we'll just let the pdf reader have its way. 1300 1430 \indexnofonts 1301 \turnoffactive 1431 \setupdatafile 1432 \catcode`\\=\active \otherbackslash 1302 1433 \input \jobname.toc 1303 1434 \endgroup 1304 1435 } 1305 1436 % 1306 \def\makelinks #1,{%1307 \def\params{#1}\def\E{END}%1308 \ifx\params\E1309 \let\nextmakelinks=\relax1310 \else1311 \let\nextmakelinks=\makelinks1312 \ifnum\lnkcount>0,\fi1313 \picknum{#1}%1314 \startlink attr{/Border [0 0 0]}1315 goto name{\pdfmkpgn{\the\pgn}}%1316 \linkcolor #1%1317 \advance\lnkcount by 1%1318 \endlink1319 \fi1320 \nextmakelinks1321 }1322 \def\picknum#1{\expandafter\pn#1}1323 \def\pn#1{%1324 \def\p{#1}%1325 \ifx\p\lbrace1326 \let\nextpn=\ppn1327 \else1328 \let\nextpn=\ppnn1329 \def\first{#1}1330 \fi1331 \nextpn1332 }1333 \def\ppn#1{\pgn=#1\gobble}1334 \def\ppnn{\pgn=\first}1335 \def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,}1336 1437 \def\skipspaces#1{\def\PP{#1}\def\D{|}% 1337 1438 \ifx\PP\D\let\nextsp\relax 1338 1439 \else\let\nextsp\skipspaces … … 1347 1448 \else 1348 1449 \let \startlink \pdfstartlink 1349 1450 \fi 1451 % make a live url in pdf output. 1350 1452 \def\pdfurl#1{% 1351 1453 \begingroup 1352 \normalturnoffactive\def\@{@}% 1454 % it seems we really need yet another set of dummies; have not 1455 % tried to figure out what each command should do in the context 1456 % of @url. for now, just make @/ a no-op, that's the only one 1457 % people have actually reported a problem with. 1458 % 1459 \normalturnoffactive 1460 \def\@{@}% 1461 \let\/=\empty 1353 1462 \makevalueexpandable 1354 1463 \leavevmode\Red 1355 1464 \startlink attr{/Border [0 0 0]}% … … 1419 1528 % We don't need math for this font style. 1420 1529 \def\ttsl{\setfontstyle{ttsl}} 1421 1530 1531 1422 1532 % Default leading. 1423 1533 \newdimen\textleading \textleading = 13.2pt 1424 1534 … … 1440 1550 }% 1441 1551 } 1442 1552 1553 1443 1554 % Set the font macro #1 to the font named #2, adding on the 1444 1555 % specified font prefix (normally `cm'). 1445 1556 % #3 is the font's design size, #4 is a scale factor 1446 1557 \def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4} 1447 1558 1559 1448 1560 % Use cm as the default font prefix. 1449 1561 % To specify the font prefix, you must define \fontprefix 1450 1562 % before you read in texinfo.tex. … … 1468 1580 \def\scshape{csc} 1469 1581 \def\scbshape{csc} 1470 1582 1583 % Definitions for a main text size of 11pt. This is the default in 1584 % Texinfo. 1585 % 1586 \def\definetextfontsizexi{ 1471 1587 % Text fonts (11.2pt, magstep1). 1472 1588 \def\textnominalsize{11pt} 1473 1589 \edef\mainmagstep{\magstephalf} … … 1581 1697 \font\reducedi=cmmi10 1582 1698 \font\reducedsy=cmsy10 1583 1699 1700 % reset the current fonts 1701 \textfonts 1702 \rm 1703 } % end of 11pt text font size definitions 1704 1705 1706 % Definitions to make the main text be 10pt Computer Modern, with 1707 % section, chapter, etc., sizes following suit. This is for the GNU 1708 % Press printing of the Emacs 22 manual. Maybe other manuals in the 1709 % future. Used with @smallbook, which sets the leading to 12pt. 1710 % 1711 \def\definetextfontsizex{% 1712 % Text fonts (10pt). 1713 \def\textnominalsize{10pt} 1714 \edef\mainmagstep{1000} 1715 \setfont\textrm\rmshape{10}{\mainmagstep} 1716 \setfont\texttt\ttshape{10}{\mainmagstep} 1717 \setfont\textbf\bfshape{10}{\mainmagstep} 1718 \setfont\textit\itshape{10}{\mainmagstep} 1719 \setfont\textsl\slshape{10}{\mainmagstep} 1720 \setfont\textsf\sfshape{10}{\mainmagstep} 1721 \setfont\textsc\scshape{10}{\mainmagstep} 1722 \setfont\textttsl\ttslshape{10}{\mainmagstep} 1723 \font\texti=cmmi10 scaled \mainmagstep 1724 \font\textsy=cmsy10 scaled \mainmagstep 1725 1726 % A few fonts for @defun names and args. 1727 \setfont\defbf\bfshape{10}{\magstephalf} 1728 \setfont\deftt\ttshape{10}{\magstephalf} 1729 \setfont\defttsl\ttslshape{10}{\magstephalf} 1730 \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} 1731 1732 % Fonts for indices, footnotes, small examples (9pt). 1733 \def\smallnominalsize{9pt} 1734 \setfont\smallrm\rmshape{9}{1000} 1735 \setfont\smalltt\ttshape{9}{1000} 1736 \setfont\smallbf\bfshape{10}{900} 1737 \setfont\smallit\itshape{9}{1000} 1738 \setfont\smallsl\slshape{9}{1000} 1739 \setfont\smallsf\sfshape{9}{1000} 1740 \setfont\smallsc\scshape{10}{900} 1741 \setfont\smallttsl\ttslshape{10}{900} 1742 \font\smalli=cmmi9 1743 \font\smallsy=cmsy9 1744 1745 % Fonts for small examples (8pt). 1746 \def\smallernominalsize{8pt} 1747 \setfont\smallerrm\rmshape{8}{1000} 1748 \setfont\smallertt\ttshape{8}{1000} 1749 \setfont\smallerbf\bfshape{10}{800} 1750 \setfont\smallerit\itshape{8}{1000} 1751 \setfont\smallersl\slshape{8}{1000} 1752 \setfont\smallersf\sfshape{8}{1000} 1753 \setfont\smallersc\scshape{10}{800} 1754 \setfont\smallerttsl\ttslshape{10}{800} 1755 \font\smalleri=cmmi8 1756 \font\smallersy=cmsy8 1757 1758 % Fonts for title page (20.4pt): 1759 \def\titlenominalsize{20pt} 1760 \setfont\titlerm\rmbshape{12}{\magstep3} 1761 \setfont\titleit\itbshape{10}{\magstep4} 1762 \setfont\titlesl\slbshape{10}{\magstep4} 1763 \setfont\titlett\ttbshape{12}{\magstep3} 1764 \setfont\titlettsl\ttslshape{10}{\magstep4} 1765 \setfont\titlesf\sfbshape{17}{\magstep1} 1766 \let\titlebf=\titlerm 1767 \setfont\titlesc\scbshape{10}{\magstep4} 1768 \font\titlei=cmmi12 scaled \magstep3 1769 \font\titlesy=cmsy10 scaled \magstep4 1770 \def\authorrm{\secrm} 1771 \def\authortt{\sectt} 1772 1773 % Chapter fonts (14.4pt). 1774 \def\chapnominalsize{14pt} 1775 \setfont\chaprm\rmbshape{12}{\magstep1} 1776 \setfont\chapit\itbshape{10}{\magstep2} 1777 \setfont\chapsl\slbshape{10}{\magstep2} 1778 \setfont\chaptt\ttbshape{12}{\magstep1} 1779 \setfont\chapttsl\ttslshape{10}{\magstep2} 1780 \setfont\chapsf\sfbshape{12}{\magstep1} 1781 \let\chapbf\chaprm 1782 \setfont\chapsc\scbshape{10}{\magstep2} 1783 \font\chapi=cmmi12 scaled \magstep1 1784 \font\chapsy=cmsy10 scaled \magstep2 1785 1786 % Section fonts (12pt). 1787 \def\secnominalsize{12pt} 1788 \setfont\secrm\rmbshape{12}{1000} 1789 \setfont\secit\itbshape{10}{\magstep1} 1790 \setfont\secsl\slbshape{10}{\magstep1} 1791 \setfont\sectt\ttbshape{12}{1000} 1792 \setfont\secttsl\ttslshape{10}{\magstep1} 1793 \setfont\secsf\sfbshape{12}{1000} 1794 \let\secbf\secrm 1795 \setfont\secsc\scbshape{10}{\magstep1} 1796 \font\seci=cmmi12 1797 \font\secsy=cmsy10 scaled \magstep1 1798 1799 % Subsection fonts (10pt). 1800 \def\ssecnominalsize{10pt} 1801 \setfont\ssecrm\rmbshape{10}{1000} 1802 \setfont\ssecit\itbshape{10}{1000} 1803 \setfont\ssecsl\slbshape{10}{1000} 1804 \setfont\ssectt\ttbshape{10}{1000} 1805 \setfont\ssecttsl\ttslshape{10}{1000} 1806 \setfont\ssecsf\sfbshape{10}{1000} 1807 \let\ssecbf\ssecrm 1808 \setfont\ssecsc\scbshape{10}{1000} 1809 \font\sseci=cmmi10 1810 \font\ssecsy=cmsy10 1811 1812 % Reduced fonts for @acro in text (9pt). 1813 \def\reducednominalsize{9pt} 1814 \setfont\reducedrm\rmshape{9}{1000} 1815 \setfont\reducedtt\ttshape{9}{1000} 1816 \setfont\reducedbf\bfshape{10}{900} 1817 \setfont\reducedit\itshape{9}{1000} 1818 \setfont\reducedsl\slshape{9}{1000} 1819 \setfont\reducedsf\sfshape{9}{1000} 1820 \setfont\reducedsc\scshape{10}{900} 1821 \setfont\reducedttsl\ttslshape{10}{900} 1822 \font\reducedi=cmmi9 1823 \font\reducedsy=cmsy9 1824 1825 % reduce space between paragraphs 1826 \divide\parskip by 2 1827 1828 % reset the current fonts 1829 \textfonts 1830 \rm 1831 } % end of 10pt text font size definitions 1832 1833 1834 % We provide the user-level command 1835 % @fonttextsize 10 1836 % (or 11) to redefine the text font size. pt is assumed. 1837 % 1838 \def\xword{10} 1839 \def\xiword{11} 1840 % 1841 \parseargdef\fonttextsize{% 1842 \def\textsizearg{#1}% 1843 \wlog{doing @fonttextsize \textsizearg}% 1844 % 1845 % Set \globaldefs so that documents can use this inside @tex, since 1846 % makeinfo 4.8 does not support it, but we need it nonetheless. 1847 % 1848 \begingroup \globaldefs=1 1849 \ifx\textsizearg\xword \definetextfontsizex 1850 \else \ifx\textsizearg\xiword \definetextfontsizexi 1851 \else 1852 \errhelp=\EMsimple 1853 \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} 1854 \fi\fi 1855 \endgroup 1856 } 1857 1858 1584 1859 % In order for the font changes to affect most math symbols and letters, 1585 1860 % we have to define the \textfont of the standard families. Since 1586 1861 % texinfo doesn't allow for producing subscripts and superscripts except … … 1691 1966 1692 1967 % Set up the default fonts, so we can use them for creating boxes. 1693 1968 % 1694 \ textfonts \rm1969 \definetextfontsizexi 1695 1970 1696 1971 % Define these so they can be easily changed for other fonts. 1697 1972 \def\angleleft{$\langle$} … … 1749 2024 % sometimes \x has an active definition that messes things up. 1750 2025 % 1751 2026 \catcode`@=11 1752 \def\ frenchspacing{%2027 \def\plainfrenchspacing{% 1753 2028 \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m 1754 2029 \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m 2030 \def\endofsentencespacefactor{1000}% for @. and friends 2031 } 2032 \def\plainnonfrenchspacing{% 2033 \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 2034 \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 2035 \def\endofsentencespacefactor{3000}% for @. and friends 1755 2036 } 1756 2037 \catcode`@=\other 2038 \def\endofsentencespacefactor{3000}% default 1757 2039 1758 2040 \def\t#1{% 1759 {\tt \rawbackslash \ frenchspacing #1}%2041 {\tt \rawbackslash \plainfrenchspacing #1}% 1760 2042 \null 1761 2043 } 1762 2044 \def\samp#1{`\tclose{#1}'\null} … … 1768 2050 \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% 1769 2051 \kern-0.4pt\hrule}% 1770 2052 \kern-.06em\raise0.4pt\hbox{\angleright}}}} 2053 \def\key #1{{\nohyphenation \uppercase{#1}}\null} 1771 2054 % The old definition, with no lozenge: 1772 2055 %\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} 1773 2056 \def\ctrl #1{{\tt \rawbackslash \hat}#1} … … 1793 2076 \nohyphenation 1794 2077 % 1795 2078 \rawbackslash 1796 \ frenchspacing2079 \plainfrenchspacing 1797 2080 #1% 1798 2081 }% 1799 2082 \null … … 1809 2092 % and arrange explicitly to hyphenate at a dash. 1810 2093 % -- rms. 1811 2094 { 1812 \catcode`\-=\active 1813 \catcode`\ _=\active2095 \catcode`\-=\active \catcode`\_=\active 2096 \catcode`\'=\active \catcode`\`=\active 1814 2097 % 1815 2098 \global\def\code{\begingroup 1816 \catcode`\-=\active \let-\codedash 1817 \catcode`\_=\active \let_\codeunder 2099 \catcode\rquoteChar=\active \catcode\lquoteChar=\active 2100 \let'\codequoteright \let`\codequoteleft 2101 % 2102 \catcode\dashChar=\active \catcode\underChar=\active 2103 \ifallowcodebreaks 2104 \let-\codedash 2105 \let_\codeunder 2106 \else 2107 \let-\realdash 2108 \let_\realunder 2109 \fi 1818 2110 \codex 1819 2111 } 1820 2112 } … … 1834 2126 } 1835 2127 \def\codex #1{\tclose{#1}\endgroup} 1836 2128 2129 % An additional complication: the above will allow breaks after, e.g., 2130 % each of the four underscores in __typeof__. This is undesirable in 2131 % some manuals, especially if they don't have long identifiers in 2132 % general. @allowcodebreaks provides a way to control this. 2133 % 2134 \newif\ifallowcodebreaks \allowcodebreakstrue 2135 2136 \def\keywordtrue{true} 2137 \def\keywordfalse{false} 2138 2139 \parseargdef\allowcodebreaks{% 2140 \def\txiarg{#1}% 2141 \ifx\txiarg\keywordtrue 2142 \allowcodebreakstrue 2143 \else\ifx\txiarg\keywordfalse 2144 \allowcodebreaksfalse 2145 \else 2146 \errhelp = \EMsimple 2147 \errmessage{Unknown @allowcodebreaks option `\txiarg'}% 2148 \fi\fi 2149 } 2150 1837 2151 % @kbd is like @code, except that if the argument is just one @key command, 1838 2152 % then @kbd has no effect. 1839 2153 … … 1841 2155 % `example' (@kbd uses ttsl only inside of @example and friends), 1842 2156 % or `code' (@kbd uses normal tty font always). 1843 2157 \parseargdef\kbdinputstyle{% 1844 \def\ arg{#1}%1845 \ifx\ arg\worddistinct2158 \def\txiarg{#1}% 2159 \ifx\txiarg\worddistinct 1846 2160 \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% 1847 \else\ifx\ arg\wordexample2161 \else\ifx\txiarg\wordexample 1848 2162 \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% 1849 \else\ifx\ arg\wordcode2163 \else\ifx\txiarg\wordcode 1850 2164 \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% 1851 2165 \else 1852 2166 \errhelp = \EMsimple 1853 \errmessage{Unknown @kbdinputstyle option `\ arg'}%2167 \errmessage{Unknown @kbdinputstyle option `\txiarg'}% 1854 2168 \fi\fi\fi 1855 2169 } 1856 2170 \def\worddistinct{distinct} … … 1962 2276 % 1963 2277 \def\abbr#1{\doabbr #1,,\finish} 1964 2278 \def\doabbr#1,#2,#3\finish{% 1965 {\ frenchspacing #1}%2279 {\plainfrenchspacing #1}% 1966 2280 \def\temp{#2}% 1967 2281 \ifx\temp\empty \else 1968 2282 \space ({\unsepspaces \ignorespaces \temp \unskip})% … … 2000 2314 \def\eurofont{% 2001 2315 % We set the font at each command, rather than predefining it in 2002 2316 % \textfonts and the other font-switching commands, so that 2003 % installations which never need the symbol ddon't have to have the2317 % installations which never need the symbol don't have to have the 2004 2318 % font installed. 2005 2319 % 2006 2320 % There is only one designed size (nominal 10pt), so we always scale … … 2031 2345 }$% 2032 2346 } 2033 2347 2348 % @textdegree - the normal degrees sign. 2349 % 2350 \def\textdegree{$^\circ$} 2351 2034 2352 % Laurent Siebenmann reports \Orb undefined with: 2035 2353 % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 2036 2354 % so we'll define it if necessary. … … 2202 2520 % 2203 2521 % Leave some space for the footline. Hopefully ok to assume 2204 2522 % @evenfooting will not be used by itself. 2205 \global\advance\pageheight by - \baselineskip2206 \global\advance\vsize by - \baselineskip2523 \global\advance\pageheight by -12pt 2524 \global\advance\vsize by -12pt 2207 2525 } 2208 2526 2209 2527 \parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} … … 2862 3180 2863 3181 \def\doignore#1{\begingroup 2864 3182 % Scan in ``verbatim'' mode: 3183 \obeylines 2865 3184 \catcode`\@ = \other 2866 3185 \catcode`\{ = \other 2867 3186 \catcode`\} = \other … … 2882 3201 \gdef\dodoignore#1{% 2883 3202 % #1 contains the command name as a string, e.g., `ifinfo'. 2884 3203 % 2885 % Define a command to find the next `@end #1', which must be on a line 2886 % by itself. 2887 \long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}% 3204 % Define a command to find the next `@end #1'. 3205 \long\def\doignoretext##1^^M@end #1{% 3206 \doignoretextyyy##1^^M@#1\_STOP_}% 3207 % 2888 3208 % And this command to find another #1 command, at the beginning of a 2889 3209 % line. (Otherwise, we would consider a line `@c @ifset', for 2890 3210 % example, to count as an @ifset for nesting.) 2891 3211 \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% 2892 3212 % 2893 3213 % And now expand that command. 2894 \obeylines %2895 3214 \doignoretext ^^M% 2896 3215 }% 2897 3216 } … … 2921 3240 } 2922 3241 2923 3242 % Finish off ignored text. 2924 \def\enddoignore{\endgroup\ignorespaces} 3243 { \obeylines% 3244 % Ignore anything after the last `@end #1'; this matters in verbatim 3245 % environments, where otherwise the newline after an ignored conditional 3246 % would result in a blank line in the output. 3247 \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% 3248 } 2925 3249 2926 3250 2927 3251 % @set VAR sets the variable VAR to an empty value. … … 3121 3445 % we have to laboriously prevent expansion for those that we don't. 3122 3446 % 3123 3447 \def\indexdummies{% 3448 \escapechar = `\\ % use backslash in output files. 3124 3449 \def\@{@}% change to @@ when we switch to @ as escape char in index files. 3125 3450 \def\ {\realbackslash\space }% 3451 % 3126 3452 % Need these in case \tex is in effect and \{ is a \delimiter again. 3127 3453 % But can't use \lbracecmd and \rbracecmd because texindex assumes 3128 3454 % braces and backslashes are used only as delimiters. 3129 3455 \let\{ = \mylbrace 3130 3456 \let\} = \myrbrace 3131 3457 % 3132 % \definedummyword defines \#1 as \realbackslash #1\space, thus 3133 % effectively preventing its expansion. This is used only for control 3134 % words, not control letters, because the \space would be incorrect 3135 % for control characters, but is needed to separate the control word 3136 % from whatever follows. 3137 % 3138 % For control letters, we have \definedummyletter, which omits the 3139 % space. 3140 % 3141 % These can be used both for control words that take an argument and 3142 % those that do not. If it is followed by {arg} in the input, then 3143 % that will dutifully get written to the index (or wherever). 3144 % 3145 \def\definedummyword##1{% 3146 \expandafter\def\csname ##1\endcsname{\realbackslash ##1\space}% 3147 }% 3148 \def\definedummyletter##1{% 3149 \expandafter\def\csname ##1\endcsname{\realbackslash ##1}% 3150 }% 3151 \let\definedummyaccent\definedummyletter 3458 % I don't entirely understand this, but when an index entry is 3459 % generated from a macro call, the \endinput which \scanmacro inserts 3460 % causes processing to be prematurely terminated. This is, 3461 % apparently, because \indexsorttmp is fully expanded, and \endinput 3462 % is an expandable command. The redefinition below makes \endinput 3463 % disappear altogether for that purpose -- although logging shows that 3464 % processing continues to some further point. On the other hand, it 3465 % seems \endinput does not hurt in the printed index arg, since that 3466 % is still getting written without apparent harm. 3467 % 3468 % Sample source (mac-idx3.tex, reported by Graham Percival to 3469 % help-texinfo, 22may06): 3470 % @macro funindex {WORD} 3471 % @findex xyz 3472 % @end macro 3473 % ... 3474 % @funindex commtest 3475 % 3476 % The above is not enough to reproduce the bug, but it gives the flavor. 3477 % 3478 % Sample whatsit resulting: 3479 % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} 3480 % 3481 % So: 3482 \let\endinput = \empty 3152 3483 % 3153 3484 % Do the redefinitions. 3154 3485 \commondummies 3155 3486 } 3156 3487 3157 % For the aux file, @ is the escape character. So we want to redefine 3158 % everything using @ instead of \realbackslash. When everything uses 3159 % @, this will be simpler. 3488 % For the aux and toc files, @ is the escape character. So we want to 3489 % redefine everything using @ as the escape character (instead of 3490 % \realbackslash, still used for index files). When everything uses @, 3491 % this will be simpler. 3160 3492 % 3161 3493 \def\atdummies{% 3162 3494 \def\@{@@}% … … 3164 3496 \let\{ = \lbraceatcmd 3165 3497 \let\} = \rbraceatcmd 3166 3498 % 3167 % (See comments in \indexdummies.)3168 \def\definedummyword##1{%3169 \expandafter\def\csname ##1\endcsname{@##1\space}%3170 }%3171 \def\definedummyletter##1{%3172 \expandafter\def\csname ##1\endcsname{@##1}%3173 }%3174 \let\definedummyaccent\definedummyletter3175 %3176 3499 % Do the redefinitions. 3177 3500 \commondummies 3501 \otherbackslash 3178 3502 } 3179 3503 3180 % Called from \indexdummies and \atdummies. \definedummyword and 3181 % \definedummyletter must be defined first. 3504 % Called from \indexdummies and \atdummies. 3182 3505 % 3183 3506 \def\commondummies{% 3184 3507 % 3185 \normalturnoffactive 3508 % \definedummyword defines \#1 as \string\#1\space, thus effectively 3509 % preventing its expansion. This is used only for control% words, 3510 % not control letters, because the \space would be incorrect for 3511 % control characters, but is needed to separate the control word 3512 % from whatever follows. 3513 % 3514 % For control letters, we have \definedummyletter, which omits the 3515 % space. 3516 % 3517 % These can be used both for control words that take an argument and 3518 % those that do not. If it is followed by {arg} in the input, then 3519 % that will dutifully get written to the index (or wherever). 3520 % 3521 \def\definedummyword ##1{\def##1{\string##1\space}}% 3522 \def\definedummyletter##1{\def##1{\string##1}}% 3523 \let\definedummyaccent\definedummyletter 3186 3524 % 3187 3525 \commondummiesnofonts 3188 3526 % 3189 \definedummyletter {_}%3527 \definedummyletter\_% 3190 3528 % 3191 3529 % Non-English letters. 3192 \definedummyword {AA}%3193 \definedummyword {AE}%3194 \definedummyword {L}%3195 \definedummyword {OE}%3196 \definedummyword {O}%3197 \definedummyword {aa}%3198 \definedummyword {ae}%3199 \definedummyword {l}%3200 \definedummyword {oe}%3201 \definedummyword {o}%3202 \definedummyword {ss}%3203 \definedummyword {exclamdown}%3204 \definedummyword {questiondown}%3205 \definedummyword {ordf}%3206 \definedummyword {ordm}%3530 \definedummyword\AA 3531 \definedummyword\AE 3532 \definedummyword\L 3533 \definedummyword\OE 3534 \definedummyword\O 3535 \definedummyword\aa 3536 \definedummyword\ae 3537 \definedummyword\l 3538 \definedummyword\oe 3539 \definedummyword\o 3540 \definedummyword\ss 3541 \definedummyword\exclamdown 3542 \definedummyword\questiondown 3543 \definedummyword\ordf 3544 \definedummyword\ordm 3207 3545 % 3208 3546 % Although these internal commands shouldn't show up, sometimes they do. 3209 \definedummyword {bf}%3210 \definedummyword {gtr}%3211 \definedummyword {hat}%3212 \definedummyword {less}%3213 \definedummyword {sf}%3214 \definedummyword {sl}%3215 \definedummyword {tclose}%3216 \definedummyword {tt}%3547 \definedummyword\bf 3548 \definedummyword\gtr 3549 \definedummyword\hat 3550 \definedummyword\less 3551 \definedummyword\sf 3552 \definedummyword\sl 3553 \definedummyword\tclose 3554 \definedummyword\tt 3217 3555 % 3218 \definedummyword {LaTeX}%3219 \definedummyword {TeX}%3556 \definedummyword\LaTeX 3557 \definedummyword\TeX 3220 3558 % 3221 3559 % Assorted special characters. 3222 \definedummyword{bullet}% 3223 \definedummyword{comma}% 3224 \definedummyword{copyright}% 3225 \definedummyword{registeredsymbol}% 3226 \definedummyword{dots}% 3227 \definedummyword{enddots}% 3228 \definedummyword{equiv}% 3229 \definedummyword{error}% 3230 \definedummyword{euro}% 3231 \definedummyword{expansion}% 3232 \definedummyword{minus}% 3233 \definedummyword{pounds}% 3234 \definedummyword{point}% 3235 \definedummyword{print}% 3236 \definedummyword{result}% 3560 \definedummyword\bullet 3561 \definedummyword\comma 3562 \definedummyword\copyright 3563 \definedummyword\registeredsymbol 3564 \definedummyword\dots 3565 \definedummyword\enddots 3566 \definedummyword\equiv 3567 \definedummyword\error 3568 \definedummyword\euro 3569 \definedummyword\expansion 3570 \definedummyword\minus 3571 \definedummyword\pounds 3572 \definedummyword\point 3573 \definedummyword\print 3574 \definedummyword\result 3575 \definedummyword\textdegree 3576 % 3577 % We want to disable all macros so that they are not expanded by \write. 3578 \macrolist 3579 % 3580 \normalturnoffactive 3237 3581 % 3238 3582 % Handle some cases of @value -- where it does not contain any 3239 3583 % (non-fully-expandable) commands. 3240 3584 \makevalueexpandable 3241 %3242 % Normal spaces, not active ones.3243 \unsepspaces3244 %3245 % No macro expansion.3246 \turnoffmacros3247 3585 } 3248 3586 3249 3587 % \commondummiesnofonts: common to \commondummies and \indexnofonts. 3250 3588 % 3251 % Better have this without active chars. 3252 { 3253 \catcode`\~=\other 3254 \gdef\commondummiesnofonts{% 3255 % Control letters and accents. 3256 \definedummyletter{!}% 3257 \definedummyaccent{"}% 3258 \definedummyaccent{'}% 3259 \definedummyletter{*}% 3260 \definedummyaccent{,}% 3261 \definedummyletter{.}% 3262 \definedummyletter{/}% 3263 \definedummyletter{:}% 3264 \definedummyaccent{=}% 3265 \definedummyletter{?}% 3266 \definedummyaccent{^}% 3267 \definedummyaccent{`}% 3268 \definedummyaccent{~}% 3269 \definedummyword{u}% 3270 \definedummyword{v}% 3271 \definedummyword{H}% 3272 \definedummyword{dotaccent}% 3273 \definedummyword{ringaccent}% 3274 \definedummyword{tieaccent}% 3275 \definedummyword{ubaraccent}% 3276 \definedummyword{udotaccent}% 3277 \definedummyword{dotless}% 3278 % 3279 % Texinfo font commands. 3280 \definedummyword{b}% 3281 \definedummyword{i}% 3282 \definedummyword{r}% 3283 \definedummyword{sc}% 3284 \definedummyword{t}% 3285 % 3286 % Commands that take arguments. 3287 \definedummyword{acronym}% 3288 \definedummyword{cite}% 3289 \definedummyword{code}% 3290 \definedummyword{command}% 3291 \definedummyword{dfn}% 3292 \definedummyword{emph}% 3293 \definedummyword{env}% 3294 \definedummyword{file}% 3295 \definedummyword{kbd}% 3296 \definedummyword{key}% 3297 \definedummyword{math}% 3298 \definedummyword{option}% 3299 \definedummyword{samp}% 3300 \definedummyword{strong}% 3301 \definedummyword{tie}% 3302 \definedummyword{uref}% 3303 \definedummyword{url}% 3304 \definedummyword{var}% 3305 \definedummyword{verb}% 3306 \definedummyword{w}% 3307 } 3589 \def\commondummiesnofonts{% 3590 % Control letters and accents. 3591 \definedummyletter\!% 3592 \definedummyaccent\"% 3593 \definedummyaccent\'% 3594 \definedummyletter\*% 3595 \definedummyaccent\,% 3596 \definedummyletter\.% 3597 \definedummyletter\/% 3598 \definedummyletter\:% 3599 \definedummyaccent\=% 3600 \definedummyletter\?% 3601 \definedummyaccent\^% 3602 \definedummyaccent\`% 3603 \definedummyaccent\~% 3604 \definedummyword\u 3605 \definedummyword\v 3606 \definedummyword\H 3607 \definedummyword\dotaccent 3608 \definedummyword\ringaccent 3609 \definedummyword\tieaccent 3610 \definedummyword\ubaraccent 3611 \definedummyword\udotaccent 3612 \definedummyword\dotless 3613 % 3614 % Texinfo font commands. 3615 \definedummyword\b 3616 \definedummyword\i 3617 \definedummyword\r 3618 \definedummyword\sc 3619 \definedummyword\t 3620 % 3621 % Commands that take arguments. 3622 \definedummyword\acronym 3623 \definedummyword\cite 3624 \definedummyword\code 3625 \definedummyword\command 3626 \definedummyword\dfn 3627 \definedummyword\emph 3628 \definedummyword\env 3629 \definedummyword\file 3630 \definedummyword\kbd 3631 \definedummyword\key 3632 \definedummyword\math 3633 \definedummyword\option 3634 \definedummyword\pxref 3635 \definedummyword\ref 3636 \definedummyword\samp 3637 \definedummyword\strong 3638 \definedummyword\tie 3639 \definedummyword\uref 3640 \definedummyword\url 3641 \definedummyword\var 3642 \definedummyword\verb 3643 \definedummyword\w 3644 \definedummyword\xref 3308 3645 } 3309 3646 3310 3647 % \indexnofonts is used when outputting the strings to sort the index … … 3314 3651 % 3315 3652 \def\indexnofonts{% 3316 3653 % Accent commands should become @asis. 3317 \def\definedummyaccent##1{% 3318 \expandafter\let\csname ##1\endcsname\asis 3319 }% 3654 \def\definedummyaccent##1{\let##1\asis}% 3320 3655 % We can just ignore other control letters. 3321 \def\definedummyletter##1{% 3322 \expandafter\def\csname ##1\endcsname{}% 3323 }% 3656 \def\definedummyletter##1{\let##1\empty}% 3324 3657 % Hopefully, all control words can become @asis. 3325 3658 \let\definedummyword\definedummyaccent 3326 3659 % … … 3373 3706 \def\point{.}% 3374 3707 \def\print{-|}% 3375 3708 \def\result{=>}% 3709 \def\textdegree{degrees}% 3376 3710 % 3377 % Don't write macro names. 3378 \emptyusermacros 3711 % We need to get rid of all macros, leaving only the arguments (if present). 3712 % Of course this is not nearly correct, but it is the best we can do for now. 3713 % makeinfo does not expand macros in the argument to @deffn, which ends up 3714 % writing an index entry, and texindex isn't prepared for an index sort entry 3715 % that starts with \. 3716 % 3717 % Since macro invocations are followed by braces, we can just redefine them 3718 % to take a single TeX argument. The case of a macro invocation that 3719 % goes to end-of-line is not handled. 3720 % 3721 \macrolist 3379 3722 } 3380 3723 3381 3724 \let\indexbackslash=0 %overridden during \printindex. … … 3422 3765 % 3423 3766 % Remember, we are within a group. 3424 3767 \indexdummies % Must do this here, since \bf, etc expand at this stage 3425 \escapechar=`\\3426 3768 \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now 3427 3769 % so it will be output as is; and it will print as backslash. 3428 3770 % … … 3713 4055 \endgroup 3714 4056 } 3715 4057 3716 % Like \dotfill except takesat least 1 em.4058 % Like plain.tex's \dotfill, except uses up at least 1 em. 3717 4059 \def\indexdotfill{\cleaders 3718 \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$\mkern1.5mu$}\hskip 1em plus 1fill}4060 \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} 3719 4061 3720 4062 \def\primary #1{\line{#1\hfil}} 3721 4063 … … 4289 4631 \ifx\temptype\Ynothingkeyword 4290 4632 \setbox0 = \hbox{}% 4291 4633 \def\toctype{unnchap}% 4292 \def\thischapter{#1}% 4634 \gdef\thischapternum{}% 4635 \gdef\thischapter{#1}% 4293 4636 \else\ifx\temptype\Yomitfromtockeyword 4294 4637 \setbox0 = \hbox{}% contents like unnumbered, but no toc entry 4295 4638 \def\toctype{omit}% 4296 \xdef\thischapter{}% 4639 \gdef\thischapternum{}% 4640 \gdef\thischapter{}% 4297 4641 \else\ifx\temptype\Yappendixkeyword 4298 4642 \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% 4299 4643 \def\toctype{app}% 4644 \xdef\thischapternum{\appendixletter}% 4300 4645 % We don't substitute the actual chapter name into \thischapter 4301 4646 % because we don't want its macros evaluated now. And we don't 4302 4647 % use \thissection because that changes with each section. … … 4306 4651 \else 4307 4652 \setbox0 = \hbox{#3\enspace}% 4308 4653 \def\toctype{numchap}% 4654 \xdef\thischapternum{\the\chapno}% 4309 4655 \xdef\thischapter{\putwordChapter{} \the\chapno: 4310 4656 \noexpand\thischaptername}% 4311 4657 \fi\fi\fi … … 4417 4763 \gdef\thissection{#1}% 4418 4764 \fi\fi\fi 4419 4765 % 4420 % Write the toc entry (before \donoderef). See comments in \ch fplain.4766 % Write the toc entry (before \donoderef). See comments in \chapmacro. 4421 4767 \writetocentry{\toctype\sectionlevel}{#1}{#4}% 4422 4768 % 4423 4769 % Write the node reference (= pdf destination for pdftex). 4424 % Again, see comments in \ch fplain.4770 % Again, see comments in \chapmacro. 4425 4771 \donoderef{#3}% 4426 4772 % 4773 % Interline glue will be inserted when the vbox is completed. 4774 % That glue will be a valid breakpoint for the page, since it'll be 4775 % preceded by a whatsit (usually from the \donoderef, or from the 4776 % \writetocentry if there was no node). We don't want to allow that 4777 % break, since then the whatsits could end up on page n while the 4778 % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. 4779 \nobreak 4780 % 4427 4781 % Output the actual section heading. 4428 4782 \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright 4429 4783 \hangindent=\wd0 % zero if no section number … … 4482 4836 \fi 4483 4837 % 4484 4838 \iflinks 4485 \toks0 = {#2}%4486 \toks2 = \expandafter{\lastnode}%4487 \edef\temp{\write\tocfile{\realbackslash #1entry{\the\toks0}{#3}%4488 {\the\toks2}{\noexpand\folio}}}%4489 \temp4839 {\atdummies 4840 \edef\temp{% 4841 \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% 4842 \temp 4843 }% 4490 4844 \fi 4491 4845 \fi 4492 4846 % … … 4499 4853 \ifpdf \global\pdfmakepagedesttrue \fi 4500 4854 } 4501 4855 4856 4857 % These characters do not print properly in the Computer Modern roman 4858 % fonts, so we must take special care. This is more or less redundant 4859 % with the Texinfo input format setup at the end of this file. 4860 % 4861 \def\activecatcodes{% 4862 \catcode`\"=\active 4863 \catcode`\$=\active 4864 \catcode`\<=\active 4865 \catcode`\>=\active 4866 \catcode`\\=\active 4867 \catcode`\^=\active 4868 \catcode`\_=\active 4869 \catcode`\|=\active 4870 \catcode`\~=\active 4871 } 4872 4873 4874 % Read the toc file, which is essentially Texinfo input. 4875 \def\readtocfile{% 4876 \setupdatafile 4877 \activecatcodes 4878 \input \jobname.toc 4879 } 4880 4502 4881 \newskip\contentsrightmargin \contentsrightmargin=1in 4503 4882 \newcount\savepageno 4504 4883 \newcount\lastnegativepageno \lastnegativepageno = -1 … … 4520 4899 % 4521 4900 \savepageno = \pageno 4522 4901 \begingroup % Set up to handle contents files properly. 4523 \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11 4524 % We can't do this, because then an actual ^ in a section 4525 % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97. 4526 %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi 4527 \raggedbottom % Worry more about breakpoints than the bottom. 4902 \raggedbottom % Worry more about breakpoints than the bottom. 4528 4903 \advance\hsize by -\contentsrightmargin % Don't use the full line length. 4529 4904 % 4530 4905 % Roman numerals for page numbers. … … 4537 4912 \startcontents{\putwordTOC}% 4538 4913 \openin 1 \jobname.toc 4539 4914 \ifeof 1 \else 4540 \ input \jobname.toc4915 \readtocfile 4541 4916 \fi 4542 4917 \vfill \eject 4543 4918 \contentsalignmacro % in case @setchapternewpage odd is in effect … … 4575 4950 \let\unnsubsubsecentry = \numsecentry 4576 4951 \openin 1 \jobname.toc 4577 4952 \ifeof 1 \else 4578 \ input \jobname.toc4953 \readtocfile 4579 4954 \fi 4580 4955 \closein 1 4581 4956 \vfill \eject … … 4717 5092 {\tentt \global\dimen0 = 3em}% Width of the box. 4718 5093 \dimen2 = .55pt % Thickness of rules 4719 5094 % The text. (`r' is open on the right, `e' somewhat less so on the left.) 4720 \setbox0 = \hbox{\kern-.75pt \ tensf error\kern-1.5pt}5095 \setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} 4721 5096 % 4722 5097 \setbox\errorbox=\hbox to \dimen0{\hfil 4723 5098 \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. … … 4765 5140 \let\/=\ptexslash 4766 5141 \let\*=\ptexstar 4767 5142 \let\t=\ptext 5143 \let\frenchspacing=\plainfrenchspacing 4768 5144 % 4769 5145 \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% 4770 5146 \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% … … 4810 5186 4811 5187 \let\afterenvbreak = \aboveenvbreak 4812 5188 4813 % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins. 5189 % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will 5190 % also clear it, so that its embedded environments do the narrowing again. 4814 5191 \let\nonarrowing=\relax 4815 5192 4816 5193 % @cartouche ... @end cartouche: draw rectangle w/rounded corners around … … 4847 5224 % each corner char, and rule thickness 4848 5225 \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip 4849 5226 % Flag to tell @lisp, etc., not to narrow margin. 4850 \let\nonarrowing =\comment5227 \let\nonarrowing = t% 4851 5228 \vbox\bgroup 4852 5229 \baselineskip=0pt\parskip=0pt\lineskip=0pt 4853 5230 \carttop … … 4887 5264 \parskip = 0pt 4888 5265 \parindent = 0pt 4889 5266 \emergencystretch = 0pt % don't try to avoid overfull boxes 4890 % @cartouche defines \nonarrowing to inhibit narrowing4891 % at next level down.4892 5267 \ifx\nonarrowing\relax 4893 5268 \advance \leftskip by \lispnarrowing 4894 5269 \exdentamount=\lispnarrowing 5270 \else 5271 \let\nonarrowing = \relax 4895 5272 \fi 4896 5273 \let\exdent=\nofillexdent 4897 5274 } … … 4938 5315 % 4939 5316 \maketwodispenvs {lisp}{example}{% 4940 5317 \nonfillstart 4941 \tt 5318 \tt\quoteexpand 4942 5319 \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. 4943 5320 \gobble % eat return 4944 5321 } 4945 4946 5322 % @display/@smalldisplay: same as @lisp except keep current font. 4947 5323 % 4948 5324 \makedispenv {display}{% … … 4991 5367 \advance\leftskip by \lispnarrowing 4992 5368 \advance\rightskip by \lispnarrowing 4993 5369 \exdentamount = \lispnarrowing 5370 \else 4994 5371 \let\nonarrowing = \relax 4995 5372 \fi 4996 5373 \parsearg\quotationlabel … … 5069 5446 \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount 5070 5447 % 5071 5448 \def\starttabbox{\setbox0=\hbox\bgroup} 5449 5450 % Allow an option to not replace quotes with a regular directed right 5451 % quote/apostrophe (char 0x27), but instead use the undirected quote 5452 % from cmtt (char 0x0d). The undirected quote is ugly, so don't make it 5453 % the default, but it works for pasting with more pdf viewers (at least 5454 % evince), the lilypond developers report. xpdf does work with the 5455 % regular 0x27. 5456 % 5457 \def\codequoteright{% 5458 \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax 5459 '% 5460 \else 5461 \char'15 5462 \fi 5463 } 5464 % 5465 % and a similar option for the left quote char vs. a grave accent. 5466 % Modern fonts display ASCII 0x60 as a grave accent, so some people like 5467 % the code environments to do likewise. 5468 % 5469 \def\codequoteleft{% 5470 \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax 5471 `% 5472 \else 5473 \char'22 5474 \fi 5475 } 5476 % 5072 5477 \begingroup 5073 5478 \catcode`\^^I=\active 5074 5479 \gdef\tabexpand{% … … 5081 5486 \wd0=\dimen0 \box0 \starttabbox 5082 5487 }% 5083 5488 } 5489 \catcode`\'=\active 5490 \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}% 5491 % 5492 \catcode`\`=\active 5493 \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}% 5494 % 5495 \gdef\quoteexpand{\rquoteexpand \lquoteexpand}% 5084 5496 \endgroup 5497 5498 % start the verbatim environment. 5085 5499 \def\setupverbatim{% 5500 \let\nonarrowing = t% 5086 5501 \nonfillstart 5087 \advance\leftskip by -\defbodyindent5088 5502 % Easiest (and conventionally used) font for verbatim 5089 5503 \tt 5090 5504 \def\par{\leavevmode\egroup\box0\endgraf}% 5091 5505 \catcode`\`=\active 5092 5506 \tabexpand 5507 \quoteexpand 5093 5508 % Respect line breaks, 5094 5509 % print special symbols as themselves, and 5095 5510 % make each space count … … 5539 5954 \spaceisspace 5540 5955 % 5541 5956 % Append \endinput to make sure that TeX does not see the ending newline. 5542 %5543 5957 % I've verified that it is necessary both for e-TeX and for ordinary TeX 5544 5958 % --kasal, 29nov03 5545 5959 \scantokens{#1\endinput}% … … 5554 5968 \newcount\paramno % Count of parameters 5555 5969 \newtoks\macname % Macro name 5556 5970 \newif\ifrecursive % Is it recursive? 5557 \def\macrolist{} % List of all defined macros in the form 5558 % \do\macro1\do\macro2... 5971 5972 % List of all defined macros in the form 5973 % \definedummyword\macro1\definedummyword\macro2... 5974 % Currently is also contains all @aliases; the list can be split 5975 % if there is a need. 5976 \def\macrolist{} 5977 5978 % Add the macro to \macrolist 5979 \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} 5980 \def\addtomacrolistxxx#1{% 5981 \toks0 = \expandafter{\macrolist\definedummyword#1}% 5982 \xdef\macrolist{\the\toks0}% 5983 } 5559 5984 5560 5985 % Utility routines. 5561 5986 % This does \let #1 = #2, with \csnames; that is, … … 5653 6078 \else \errmessage{Macro name \the\macname\space already defined}\fi 5654 6079 \global\cslet{macsave.\the\macname}{\the\macname}% 5655 6080 \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% 5656 % Add the macroname to \macrolist 5657 \toks0 = \expandafter{\macrolist\do}% 5658 \xdef\macrolist{\the\toks0 5659 \expandafter\noexpand\csname\the\macname\endcsname}% 6081 \addtomacrolist{\the\macname}% 5660 6082 \fi 5661 6083 \begingroup \macrobodyctxt 5662 6084 \ifrecursive \expandafter\parsermacbody … … 5670 6092 % Remove the macro name from \macrolist: 5671 6093 \begingroup 5672 6094 \expandafter\let\csname#1\endcsname \relax 5673 \let\d o\unmacrodo6095 \let\definedummyword\unmacrodo 5674 6096 \xdef\macrolist{\macrolist}% 5675 6097 \endgroup 5676 6098 \else … … 5682 6104 % macro definitions that have been changed to \relax. 5683 6105 % 5684 6106 \def\unmacrodo#1{% 5685 \ifx #1\relax6107 \ifx #1\relax 5686 6108 % remove this 5687 6109 \else 5688 \noexpand\d o \noexpand#1%6110 \noexpand\definedummyword \noexpand#1% 5689 6111 \fi 5690 6112 } 5691 6113 … … 5798 6220 % {. If so it reads up to the closing }, if not, it reads the whole 5799 6221 % line. Whatever was read is then fed to the next control sequence 5800 6222 % as an argument (by \parsebrace or \parsearg) 5801 \def\braceorline#1{\let\ next=#1\futurelet\nchar\braceorlinexxx}6223 \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} 5802 6224 \def\braceorlinexxx{% 5803 6225 \ifx\nchar\bgroup\else 5804 6226 \expandafter\parsearg 5805 \fi \next} 5806 5807 % We want to disable all macros during \shipout so that they are not 5808 % expanded by \write. 5809 \def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}% 5810 \edef\next{\macrolist}\expandafter\endgroup\next} 5811 5812 % For \indexnofonts, we need to get rid of all macros, leaving only the 5813 % arguments (if present). Of course this is not nearly correct, but it 5814 % is the best we can do for now. makeinfo does not expand macros in the 5815 % argument to @deffn, which ends up writing an index entry, and texindex 5816 % isn't prepared for an index sort entry that starts with \. 5817 % 5818 % Since macro invocations are followed by braces, we can just redefine them 5819 % to take a single TeX argument. The case of a macro invocation that 5820 % goes to end-of-line is not handled. 5821 % 5822 \def\emptyusermacros{\begingroup 5823 \def\do##1{\let\noexpand##1=\noexpand\asis}% 5824 \edef\next{\macrolist}\expandafter\endgroup\next} 6227 \fi \macnamexxx} 5825 6228 5826 6229 5827 6230 % @alias. … … 5832 6235 \def\aliasyyy #1=#2\relax{% 5833 6236 {% 5834 6237 \expandafter\let\obeyedspace=\empty 6238 \addtomacrolist{#1}% 5835 6239 \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% 5836 6240 }% 5837 6241 \next … … 5901 6305 \iflinks 5902 6306 {% 5903 6307 \atdummies % preserve commands, but don't expand them 5904 \turnoffactive5905 \otherbackslash5906 6308 \edef\writexrdef##1##2{% 5907 6309 \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef 5908 6310 ##1}{##2}}% these are parameters of \writexrdef … … 5956 6358 \ifpdf 5957 6359 \leavevmode 5958 6360 \getfilename{#4}% 5959 {\turnoffactive \otherbackslash 6361 {\turnoffactive 6362 % See comments at \activebackslashdouble. 6363 {\activebackslashdouble \xdef\pdfxrefdest{#1}% 6364 \backslashparens\pdfxrefdest}% 6365 % 5960 6366 \ifnum\filenamelength>0 5961 6367 \startlink attr{/Border [0 0 0]}% 5962 goto file{\the\filename.pdf} name{ #1}%6368 goto file{\the\filename.pdf} name{\pdfxrefdest}% 5963 6369 \else 5964 6370 \startlink attr{/Border [0 0 0]}% 5965 goto name{\pdfmkpgn{ #1}}%6371 goto name{\pdfmkpgn{\pdfxrefdest}}% 5966 6372 \fi 5967 6373 }% 5968 6374 \linkcolor … … 5976 6382 % include an _ in the xref name, etc. 5977 6383 \indexnofonts 5978 6384 \turnoffactive 5979 \otherbackslash5980 6385 \expandafter\global\expandafter\let\expandafter\Xthisreftitle 5981 6386 \csname XR#1-title\endcsname 5982 6387 }% … … 5984 6389 % If the user specified the print name (third arg) to the ref, 5985 6390 % print it instead of our usual "Figure 1.2". 5986 6391 \ifdim\wd0 = 0pt 5987 \refx{#1-snt} %6392 \refx{#1-snt}{}% 5988 6393 \else 5989 6394 \printedrefname 5990 6395 \fi … … 6011 6416 % into the usual \leavevmode...\vrule stuff for purposes of 6012 6417 % printing. So we \turnoffactive for the \refx-snt, back on for the 6013 6418 % printing, back off for the \refx-pg. 6014 {\turnoffactive \otherbackslash6419 {\turnoffactive 6015 6420 % Only output a following space if the -snt ref is nonempty; for 6016 6421 % @unnumbered and @anchor, it won't be. 6017 6422 \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% … … 6024 6429 ,\space 6025 6430 % 6026 6431 % output the `page 3'. 6027 \turnoffactive \ otherbackslash \putwordpage\tie\refx{#1-pg}{}%6432 \turnoffactive \putwordpage\tie\refx{#1-pg}{}% 6028 6433 \fi 6029 6434 \fi 6030 6435 \endlink … … 6127 6532 \def\tryauxfile{% 6128 6533 \openin 1 \jobname.aux 6129 6534 \ifeof 1 \else 6130 \read auxfile6535 \readdatafile{aux}% 6131 6536 \global\havexrefstrue 6132 6537 \fi 6133 6538 \closein 1 6134 6539 } 6135 6540 6136 \def\ readauxfile{\begingroup6541 \def\setupdatafile{% 6137 6542 \catcode`\^^@=\other 6138 6543 \catcode`\^^A=\other 6139 6544 \catcode`\^^B=\other … … 6202 6607 % 6203 6608 % Make the characters 128-255 be printing characters. 6204 6609 {% 6205 \count 6610 \count1=128 6206 6611 \def\loop{% 6207 \catcode\count 6208 \advance\count 6209 \ifnum \count 6612 \catcode\count1=\other 6613 \advance\count1 by 1 6614 \ifnum \count1<256 \loop \fi 6210 6615 }% 6211 6616 }% 6212 6617 % … … 6214 6619 \catcode`\{=1 6215 6620 \catcode`\}=2 6216 6621 \catcode`\@=0 6217 % 6218 \input \jobname.aux 6219 \endgroup} 6622 } 6220 6623 6624 \def\readdatafile#1{% 6625 \begingroup 6626 \setupdatafile 6627 \input\jobname.#1 6628 \endgroup} 6221 6629 6222 6630 \message{insertions,} 6223 6631 % including footnotes. … … 6411 6819 % above and below. 6412 6820 \nobreak\vskip\parskip 6413 6821 \nobreak 6414 \line\bgroup \hss6822 \line\bgroup 6415 6823 \fi 6416 6824 % 6417 6825 % Output the image. … … 6424 6832 \epsfbox{#1.eps}% 6425 6833 \fi 6426 6834 % 6427 \ifimagevmode \ hss \egroup \bigbreak \fi % space after the image6835 \ifimagevmode \egroup \bigbreak \fi % space after the image 6428 6836 \endgroup} 6429 6837 6430 6838 … … 6564 6972 % \floatlabel-lof. Besides \floatident, we include the short 6565 6973 % caption if specified, else the full caption if specified, else nothing. 6566 6974 {% 6567 \atdummies \turnoffactive \otherbackslash 6975 \atdummies 6976 % 6568 6977 % since we read the caption text in the macro world, where ^^M 6569 6978 % is turned into a normal character, we have to scan it back, so 6570 6979 % we don't write the literal three characters "^^M" into the aux file. … … 6585 6994 % 6586 6995 % place the captured inserts 6587 6996 % 6588 % BEWARE: when the floats start float, we have to issue warning whenever an 6589 % insert appears inside a float which could possibly float. --kasal, 26may04 6997 % BEWARE: when the floats start floating, we have to issue warning 6998 % whenever an insert appears inside a float which could possibly 6999 % float. --kasal, 26may04 6590 7000 % 6591 7001 \checkinserts 6592 7002 } … … 6754 7164 \fi 6755 7165 } 6756 7166 6757 % Parameters in order: 1) textheight; 2) textwidth; 3) voffset;6758 % 4) hoffset; 5) binding offset; 6) topskip; 7) physical page height; 8)6759 % physical page width.7167 % Parameters in order: 1) textheight; 2) textwidth; 7168 % 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; 7169 % 7) physical page height; 8) physical page width. 6760 7170 % 6761 7171 % We also call \setleading{\textleading}, so the caller should define 6762 7172 % \textleading. The caller should also set \parskip. … … 6803 7213 {11in}{8.5in}% 6804 7214 }} 6805 7215 6806 % Use @smallbook to reset parameters for 7x9. 5 (or so) format.7216 % Use @smallbook to reset parameters for 7x9.25 trim size. 6807 7217 \def\smallbook{{\globaldefs = 1 6808 7218 \parskip = 2pt plus 1pt 6809 7219 \textleading = 12pt … … 6820 7230 \defbodyindent = .5cm 6821 7231 }} 6822 7232 7233 % Use @smallerbook to reset parameters for 6x9 trim size. 7234 % (Just testing, parameters still in flux.) 7235 \def\smallerbook{{\globaldefs = 1 7236 \parskip = 1.5pt plus 1pt 7237 \textleading = 12pt 7238 % 7239 \internalpagesizes{7.4in}{4.8in}% 7240 {-.2in}{-.4in}% 7241 {0pt}{14pt}% 7242 {9in}{6in}% 7243 % 7244 \lispnarrowing = 0.25in 7245 \tolerance = 700 7246 \hfuzz = 1pt 7247 \contentsrightmargin = 0pt 7248 \defbodyindent = .4cm 7249 }} 7250 6823 7251 % Use @afourpaper to print on European A4 paper. 6824 7252 \def\afourpaper{{\globaldefs = 1 6825 7253 \parskip = 3pt plus 2pt minus 1pt … … 6972 7400 6973 7401 \catcode`\_=\active 6974 7402 \def_{\ifusingtt\normalunderscore\_} 7403 \let\realunder=_ 6975 7404 % Subroutine for the previous macro. 6976 7405 \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } 6977 7406 … … 6994 7423 % \otherifyactive is called near the end of this file. 6995 7424 \def\otherifyactive{\catcode`+=\other \catcode`\_=\other} 6996 7425 7426 % Used sometimes to turn off (effectively) the active characters even after 7427 % parsing them. 7428 \def\turnoffactive{% 7429 \normalturnoffactive 7430 \otherbackslash 7431 } 7432 6997 7433 \catcode`\@=0 6998 7434 6999 7435 % \backslashcurfont outputs one backslash character in current font, … … 7001 7437 \global\chardef\backslashcurfont=`\\ 7002 7438 \global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work 7003 7439 7440 % \realbackslash is an actual character `\' with catcode other, and 7441 % \doublebackslash is two of them (for the pdf outlines). 7442 {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} 7443 7444 % In texinfo, backslash is an active character; it prints the backslash 7445 % in fixed width font. 7446 \catcode`\\=\active 7447 @def@normalbackslash{{@tt@backslashcurfont}} 7448 % On startup, @fixbackslash assigns: 7449 % @let \ = @normalbackslash 7450 7004 7451 % \rawbackslash defines an active \ to do \backslashcurfont. 7005 7452 % \otherbackslash defines an active \ to be a literal `\' character with 7006 7453 % catcode other. 7007 {\catcode`\\=\active 7008 @gdef@rawbackslash{@let\=@backslashcurfont} 7009 @gdef@otherbackslash{@let\=@realbackslash} 7010 } 7011 7012 % \realbackslash is an actual character `\' with catcode other. 7013 {\catcode`\\=\other @gdef@realbackslash{\}} 7454 @gdef@rawbackslash{@let\=@backslashcurfont} 7455 @gdef@otherbackslash{@let\=@realbackslash} 7014 7456 7015 % \normalbackslash outputs one backslash in fixed width font. 7016 \def\normalbackslash{{\tt\backslashcurfont}} 7017 7018 \catcode`\\=\active 7019 7020 % Used sometimes to turn off (effectively) the active characters 7021 % even after parsing them. 7022 @def@turnoffactive{% 7457 % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of 7458 % the literal character `\'. 7459 % 7460 @def@normalturnoffactive{% 7461 @let\=@normalbackslash 7023 7462 @let"=@normaldoublequote 7024 @let\=@realbackslash7025 7463 @let~=@normaltilde 7026 7464 @let^=@normalcaret 7027 7465 @let_=@normalunderscore … … 7033 7471 @unsepspaces 7034 7472 } 7035 7473 7036 % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of7037 % the literal character `\'. (Thus, \ is not expandable when this is in7038 % effect.)7039 %7040 @def@normalturnoffactive{@turnoffactive @let\=@normalbackslash}7041 7042 7474 % Make _ and + \other characters, temporarily. 7043 7475 % This is canceled by @fixbackslash. 7044 7476 @otherifyactive … … 7051 7483 @global@let\ = @eatinput 7052 7484 7053 7485 % On the other hand, perhaps the file did not have a `\input texinfo'. Then 7054 % the first `\ {in the file would cause an error. This macro tries to fix7486 % the first `\' in the file would cause an error. This macro tries to fix 7055 7487 % that, assuming it is called before the first `\' could plausibly occur. 7056 % Also back turnon active characters that might appear in the input7488 % Also turn back on active characters that might appear in the input 7057 7489 % file name, in case not using a pre-dumped format. 7058 7490 % 7059 7491 @gdef@fixbackslash{%
Note:
See TracBrowser
for help on using the repository browser.