aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-09-08 19:18:42 +0000
committerChristian Grothoff <christian@grothoff.org>2012-09-08 19:18:42 +0000
commitc0a35aad4ccde1f8b940204c07e65507511ce656 (patch)
tree40a7e78b185149c6c26564abda0a8a57b5587c96 /doc
parentb59348b94e8397d74efacbd3b1d681e8af130db9 (diff)
downloadlibmicrohttpd-c0a35aad4ccde1f8b940204c07e65507511ce656.tar.gz
libmicrohttpd-c0a35aad4ccde1f8b940204c07e65507511ce656.zip
update distfiles
Diffstat (limited to 'doc')
-rw-r--r--doc/texinfo.tex293
1 files changed, 184 insertions, 109 deletions
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
index 85b68e79..9a2439c8 100644
--- a/doc/texinfo.tex
+++ b/doc/texinfo.tex
@@ -3,7 +3,7 @@
3% Load plain if necessary, i.e., if running under initex. 3% Load plain if necessary, i.e., if running under initex.
4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi 4\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5% 5%
6\def\texinfoversion{2012-03-11.15} 6\def\texinfoversion{2012-09-05.06}
7% 7%
8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 8% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 9% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -28,9 +28,9 @@
28% 28%
29% Please try the latest version of texinfo.tex before submitting bug 29% Please try the latest version of texinfo.tex before submitting bug
30% reports; you can get the latest version from: 30% reports; you can get the latest version from:
31% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or 31% http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or
32% ftp://tug.org/tex/texinfo.tex 32% http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or
33% (and all CTAN mirrors, see http://www.ctan.org). 33% http://www.gnu.org/software/texinfo/ (the Texinfo home page)
34% The texinfo.tex in any given distribution could well be out 34% The texinfo.tex in any given distribution could well be out
35% of date, so if that's what you're using, please check. 35% of date, so if that's what you're using, please check.
36% 36%
@@ -594,7 +594,7 @@
594\def\:{\spacefactor=1000 } 594\def\:{\spacefactor=1000 }
595 595
596% @* forces a line break. 596% @* forces a line break.
597\def\*{\hfil\break\hbox{}\ignorespaces} 597\def\*{\unskip\hfil\break\hbox{}\ignorespaces}
598 598
599% @/ allows a line break. 599% @/ allows a line break.
600\let\/=\allowbreak 600\let\/=\allowbreak
@@ -1117,7 +1117,7 @@ where each line of input produces a line of output.}
1117% #1 is a control sequence in which to do the replacements, 1117% #1 is a control sequence in which to do the replacements,
1118% which we \xdef. 1118% which we \xdef.
1119\def\txiescapepdf#1{% 1119\def\txiescapepdf#1{%
1120 \ifx\pdfescapestring\relax 1120 \ifx\pdfescapestring\thisisundefined
1121 % No primitive available; should we give a warning or log? 1121 % No primitive available; should we give a warning or log?
1122 % Many times it won't matter. 1122 % Many times it won't matter.
1123 \else 1123 \else
@@ -1367,9 +1367,8 @@ output) for that.)}
1367 \def\skipspaces#1{\def\PP{#1}\def\D{|}% 1367 \def\skipspaces#1{\def\PP{#1}\def\D{|}%
1368 \ifx\PP\D\let\nextsp\relax 1368 \ifx\PP\D\let\nextsp\relax
1369 \else\let\nextsp\skipspaces 1369 \else\let\nextsp\skipspaces
1370 \ifx\p\space\else\addtokens{\filename}{\PP}% 1370 \addtokens{\filename}{\PP}%
1371 \advance\filenamelength by 1 1371 \advance\filenamelength by 1
1372 \fi
1373 \fi 1372 \fi
1374 \nextsp} 1373 \nextsp}
1375 \def\getfilename#1{% 1374 \def\getfilename#1{%
@@ -1475,9 +1474,6 @@ output) for that.)}
1475\def\ttsl{\setfontstyle{ttsl}} 1474\def\ttsl{\setfontstyle{ttsl}}
1476 1475
1477 1476
1478% Default leading.
1479\newdimen\textleading \textleading = 13.2pt
1480
1481% Set the baselineskip to #1, and the lineskip and strut size 1477% Set the baselineskip to #1, and the lineskip and strut size
1482% correspondingly. There is no deep meaning behind these magic numbers 1478% correspondingly. There is no deep meaning behind these magic numbers
1483% used as factors; they just match (closely enough) what Knuth defined. 1479% used as factors; they just match (closely enough) what Knuth defined.
@@ -1489,6 +1485,7 @@ output) for that.)}
1489% can get a sort of poor man's double spacing by redefining this. 1485% can get a sort of poor man's double spacing by redefining this.
1490\def\baselinefactor{1} 1486\def\baselinefactor{1}
1491% 1487%
1488\newdimen\textleading
1492\def\setleading#1{% 1489\def\setleading#1{%
1493 \dimen0 = #1\relax 1490 \dimen0 = #1\relax
1494 \normalbaselineskip = \baselinefactor\dimen0 1491 \normalbaselineskip = \baselinefactor\dimen0
@@ -1761,18 +1758,24 @@ end
1761\fi\fi 1758\fi\fi
1762 1759
1763 1760
1764% Set the font macro #1 to the font named #2, adding on the 1761% Set the font macro #1 to the font named \fontprefix#2.
1765% specified font prefix (normally `cm').
1766% #3 is the font's design size, #4 is a scale factor, #5 is the CMap 1762% #3 is the font's design size, #4 is a scale factor, #5 is the CMap
1767% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass 1763% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit).
1768% empty to omit). 1764% Example:
1765% #1 = \textrm
1766% #2 = \rmshape
1767% #3 = 10
1768% #4 = \mainmagstep
1769% #5 = OT1
1770%
1769\def\setfont#1#2#3#4#5{% 1771\def\setfont#1#2#3#4#5{%
1770 \font#1=\fontprefix#2#3 scaled #4 1772 \font#1=\fontprefix#2#3 scaled #4
1771 \csname cmap#5\endcsname#1% 1773 \csname cmap#5\endcsname#1%
1772} 1774}
1773% This is what gets called when #5 of \setfont is empty. 1775% This is what gets called when #5 of \setfont is empty.
1774\let\cmap\gobble 1776\let\cmap\gobble
1775% emacs-page end of cmaps 1777%
1778% (end of cmaps)
1776 1779
1777% Use cm as the default font prefix. 1780% Use cm as the default font prefix.
1778% To specify the font prefix, you must define \fontprefix 1781% To specify the font prefix, you must define \fontprefix
@@ -1782,7 +1785,7 @@ end
1782\fi 1785\fi
1783% Support font families that don't use the same naming scheme as CM. 1786% Support font families that don't use the same naming scheme as CM.
1784\def\rmshape{r} 1787\def\rmshape{r}
1785\def\rmbshape{bx} %where the normal face is bold 1788\def\rmbshape{bx} % where the normal face is bold
1786\def\bfshape{b} 1789\def\bfshape{b}
1787\def\bxshape{bx} 1790\def\bxshape{bx}
1788\def\ttshape{tt} 1791\def\ttshape{tt}
@@ -1797,8 +1800,7 @@ end
1797\def\scshape{csc} 1800\def\scshape{csc}
1798\def\scbshape{csc} 1801\def\scbshape{csc}
1799 1802
1800% Definitions for a main text size of 11pt. This is the default in 1803% Definitions for a main text size of 11pt. (The default in Texinfo.)
1801% Texinfo.
1802% 1804%
1803\def\definetextfontsizexi{% 1805\def\definetextfontsizexi{%
1804% Text fonts (11.2pt, magstep1). 1806% Text fonts (11.2pt, magstep1).
@@ -1923,7 +1925,7 @@ end
1923\textleading = 13.2pt % line spacing for 11pt CM 1925\textleading = 13.2pt % line spacing for 11pt CM
1924\textfonts % reset the current fonts 1926\textfonts % reset the current fonts
1925\rm 1927\rm
1926} % end of 11pt text font size definitions 1928} % end of 11pt text font size definitions, \definetextfontsizexi
1927 1929
1928 1930
1929% Definitions to make the main text be 10pt Computer Modern, with 1931% Definitions to make the main text be 10pt Computer Modern, with
@@ -2055,7 +2057,7 @@ end
2055\textleading = 12pt % line spacing for 10pt CM 2057\textleading = 12pt % line spacing for 10pt CM
2056\textfonts % reset the current fonts 2058\textfonts % reset the current fonts
2057\rm 2059\rm
2058} % end of 10pt text font size definitions 2060} % end of 10pt text font size definitions, \definetextfontsizex
2059 2061
2060 2062
2061% We provide the user-level command 2063% We provide the user-level command
@@ -2446,34 +2448,12 @@ end
2446% @samp. 2448% @samp.
2447\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} 2449\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
2448 2450
2449% definition of @key that produces a lozenge. Doesn't adjust to text size. 2451% @indicateurl is \samp, that is, with quotes.
2450%\setfont\keyrm\rmshape{8}{1000}{OT1} 2452\let\indicateurl=\samp
2451%\font\keysy=cmsy9
2452%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
2453% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
2454% \vbox{\hrule\kern-0.4pt
2455% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
2456% \kern-0.4pt\hrule}%
2457% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
2458
2459% definition of @key with no lozenge. If the current font is already
2460% monospace, don't change it; that way, we respect @kbdinputstyle. But
2461% if it isn't monospace, then use \tt.
2462%
2463\def\key#1{{\setupmarkupstyle{key}%
2464 \nohyphenation
2465 \ifmonospace\else\tt\fi
2466 #1}\null}
2467
2468% ctrl is no longer a Texinfo command.
2469\def\ctrl #1{{\tt \rawbackslash \hat}#1}
2470
2471% @file, @option are the same as @samp.
2472\let\file=\samp
2473\let\option=\samp
2474 2453
2475% @code is a modification of @t, 2454% @code (and similar) prints in typewriter, but with spaces the same
2476% which makes spaces the same size as normal in the surrounding text. 2455% size as normal in the surrounding text, without hyphenation, etc.
2456% This is a subroutine for that.
2477\def\tclose#1{% 2457\def\tclose#1{%
2478 {% 2458 {%
2479 % Change normal interword space to be same as for the current font. 2459 % Change normal interword space to be same as for the current font.
@@ -2498,7 +2478,7 @@ end
2498% We *must* turn on hyphenation at `-' and `_' in @code. 2478% We *must* turn on hyphenation at `-' and `_' in @code.
2499% Otherwise, it is too hard to avoid overfull hboxes 2479% Otherwise, it is too hard to avoid overfull hboxes
2500% in the Emacs manual, the Library manual, etc. 2480% in the Emacs manual, the Library manual, etc.
2501 2481%
2502% Unfortunately, TeX uses one parameter (\hyphenchar) to control 2482% Unfortunately, TeX uses one parameter (\hyphenchar) to control
2503% both hyphenation at - and hyphenation within words. 2483% both hyphenation at - and hyphenation within words.
2504% We must therefore turn them both off (\tclose does that) 2484% We must therefore turn them both off (\tclose does that)
@@ -2562,6 +2542,13 @@ end
2562 \fi\fi 2542 \fi\fi
2563} 2543}
2564 2544
2545% For @command, @env, @file, @option quotes seem unnecessary,
2546% so use \code rather than \samp.
2547\let\command=\code
2548\let\env=\code
2549\let\file=\code
2550\let\option=\code
2551
2565% @uref (abbreviation for `urlref') takes an optional (comma-separated) 2552% @uref (abbreviation for `urlref') takes an optional (comma-separated)
2566% second argument specifying the text to display and an optional third 2553% second argument specifying the text to display and an optional third
2567% arg as text to display instead of (rather than in addition to) the url 2554% arg as text to display instead of (rather than in addition to) the url
@@ -2741,10 +2728,24 @@ end
2741\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi 2728\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
2742\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} 2729\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
2743 2730
2744% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. 2731% definition of @key that produces a lozenge. Doesn't adjust to text size.
2745\let\indicateurl=\code 2732%\setfont\keyrm\rmshape{8}{1000}{OT1}
2746\let\env=\code 2733%\font\keysy=cmsy9
2747\let\command=\code 2734%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
2735% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
2736% \vbox{\hrule\kern-0.4pt
2737% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
2738% \kern-0.4pt\hrule}%
2739% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
2740
2741% definition of @key with no lozenge. If the current font is already
2742% monospace, don't change it; that way, we respect @kbdinputstyle. But
2743% if it isn't monospace, then use \tt.
2744%
2745\def\key#1{{\setupmarkupstyle{key}%
2746 \nohyphenation
2747 \ifmonospace\else\tt\fi
2748 #1}\null}
2748 2749
2749% @clicksequence{File @click{} Open ...} 2750% @clicksequence{File @click{} Open ...}
2750\def\clicksequence#1{\begingroup #1\endgroup} 2751\def\clicksequence#1{\begingroup #1\endgroup}
@@ -2852,6 +2853,9 @@ end
2852 } 2853 }
2853} 2854}
2854 2855
2856% ctrl is no longer a Texinfo command, but leave this definition for fun.
2857\def\ctrl #1{{\tt \rawbackslash \hat}#1}
2858
2855% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. 2859% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
2856% Ignore unless FMTNAME == tex; then it is like @iftex and @tex, 2860% Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
2857% except specified as a normal braced arg, so no newlines to worry about. 2861% except specified as a normal braced arg, so no newlines to worry about.
@@ -3142,12 +3146,17 @@ end
3142 % hopefully nobody will notice/care. 3146 % hopefully nobody will notice/care.
3143 \edef\ecsize{\csname\curfontsize ecsize\endcsname}% 3147 \edef\ecsize{\csname\curfontsize ecsize\endcsname}%
3144 \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% 3148 \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
3145 \ifx\curfontstyle\bfstylename 3149 \ifmonospace
3146 % bold: 3150 % typewriter:
3147 \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize 3151 \font\thisecfont = ectt\ecsize \space at \nominalsize
3148 \else 3152 \else
3149 % regular: 3153 \ifx\curfontstyle\bfstylename
3150 \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize 3154 % bold:
3155 \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
3156 \else
3157 % regular:
3158 \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
3159 \fi
3151 \fi 3160 \fi
3152 \thisecfont 3161 \thisecfont
3153} 3162}
@@ -3260,6 +3269,20 @@ end
3260 \finishedtitlepagetrue 3269 \finishedtitlepagetrue
3261} 3270}
3262 3271
3272% Settings used for typesetting titles: no hyphenation, no indentation,
3273% don't worry much about spacing, ragged right. This should be used
3274% inside a \vbox, and fonts need to be set appropriately first. Because
3275% it is always used for titles, nothing else, we call \rmisbold. \par
3276% should be specified before the end of the \vbox, since a vbox is a group.
3277%
3278\def\raggedtitlesettings{%
3279 \rmisbold
3280 \hyphenpenalty=10000
3281 \parindent=0pt
3282 \tolerance=5000
3283 \ptexraggedright
3284}
3285
3263% Macros to be used within @titlepage: 3286% Macros to be used within @titlepage:
3264 3287
3265\let\subtitlerm=\tenrm 3288\let\subtitlerm=\tenrm
@@ -3267,7 +3290,7 @@ end
3267 3290
3268\parseargdef\title{% 3291\parseargdef\title{%
3269 \checkenv\titlepage 3292 \checkenv\titlepage
3270 \leftline{\titlefonts\rmisbold #1} 3293 \vbox{\titlefonts \raggedtitlesettings #1\par}%
3271 % print a rule at the page bottom also. 3294 % print a rule at the page bottom also.
3272 \finishedtitlepagefalse 3295 \finishedtitlepagefalse
3273 \vskip4pt \hrule height 4pt width \hsize \vskip4pt 3296 \vskip4pt \hrule height 4pt width \hsize \vskip4pt
@@ -4204,7 +4227,7 @@ end
4204} 4227}
4205\def\ifsetfail{\doignore{ifset}} 4228\def\ifsetfail{\doignore{ifset}}
4206 4229
4207% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been 4230% @ifclear VAR ... @end executes the `...' iff VAR has never been
4208% defined with @set, or has been undefined with @clear. 4231% defined with @set, or has been undefined with @clear.
4209% 4232%
4210% The `\else' inside the `\doifset' parameter is a trick to reuse the 4233% The `\else' inside the `\doifset' parameter is a trick to reuse the
@@ -4215,6 +4238,35 @@ end
4215\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} 4238\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
4216\def\ifclearfail{\doignore{ifclear}} 4239\def\ifclearfail{\doignore{ifclear}}
4217 4240
4241% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written
4242% without the @) is in fact defined. We can only feasibly check at the
4243% TeX level, so something like `mathcode' is going to considered
4244% defined even though it is not a Texinfo command.
4245%
4246\makecond{ifcommanddefined}
4247\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
4248%
4249\def\doifcmddefined#1#2{{%
4250 \makevalueexpandable
4251 \let\next=\empty
4252 \expandafter\ifx\csname #2\endcsname\relax
4253 #1% If not defined, \let\next as above.
4254 \fi
4255 \expandafter
4256 }\next
4257}
4258\def\ifcmddefinedfail{\doignore{ifcommanddefined}}
4259
4260% @ifcommandnotdefined CMD ... handlded similar to @ifclear above.
4261\makecond{ifcommandnotdefined}
4262\def\ifcommandnotdefined{%
4263 \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
4264\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}}
4265
4266% Set the `txicommandconditionals' variable, so documents have a way to
4267% test if the @ifcommand...defined conditionals are available.
4268\set txicommandconditionals
4269
4218% @dircategory CATEGORY -- specify a category of the dir file 4270% @dircategory CATEGORY -- specify a category of the dir file
4219% which this file should belong to. Ignore this in TeX. 4271% which this file should belong to. Ignore this in TeX.
4220\let\dircategory=\comment 4272\let\dircategory=\comment
@@ -4451,6 +4503,7 @@ end
4451 \definedummyword\guillemetright 4503 \definedummyword\guillemetright
4452 \definedummyword\guilsinglleft 4504 \definedummyword\guilsinglleft
4453 \definedummyword\guilsinglright 4505 \definedummyword\guilsinglright
4506 \definedummyword\lbracechar
4454 \definedummyword\leq 4507 \definedummyword\leq
4455 \definedummyword\minus 4508 \definedummyword\minus
4456 \definedummyword\ogonek 4509 \definedummyword\ogonek
@@ -4463,6 +4516,7 @@ end
4463 \definedummyword\quoteleft 4516 \definedummyword\quoteleft
4464 \definedummyword\quoteright 4517 \definedummyword\quoteright
4465 \definedummyword\quotesinglbase 4518 \definedummyword\quotesinglbase
4519 \definedummyword\rbracechar
4466 \definedummyword\result 4520 \definedummyword\result
4467 \definedummyword\textdegree 4521 \definedummyword\textdegree
4468 % 4522 %
@@ -4514,6 +4568,7 @@ end
4514 \definedummyword\t 4568 \definedummyword\t
4515 % 4569 %
4516 % Commands that take arguments. 4570 % Commands that take arguments.
4571 \definedummyword\abbr
4517 \definedummyword\acronym 4572 \definedummyword\acronym
4518 \definedummyword\anchor 4573 \definedummyword\anchor
4519 \definedummyword\cite 4574 \definedummyword\cite
@@ -4525,7 +4580,9 @@ end
4525 \definedummyword\emph 4580 \definedummyword\emph
4526 \definedummyword\env 4581 \definedummyword\env
4527 \definedummyword\file 4582 \definedummyword\file
4583 \definedummyword\image
4528 \definedummyword\indicateurl 4584 \definedummyword\indicateurl
4585 \definedummyword\inforef
4529 \definedummyword\kbd 4586 \definedummyword\kbd
4530 \definedummyword\key 4587 \definedummyword\key
4531 \definedummyword\math 4588 \definedummyword\math
@@ -4572,7 +4629,10 @@ end
4572 % content at all. So for index sorting, we map @{ and @} to strings 4629 % content at all. So for index sorting, we map @{ and @} to strings
4573 % starting with |, since that ASCII character is between ASCII { and }. 4630 % starting with |, since that ASCII character is between ASCII { and }.
4574 \def\{{|a}% 4631 \def\{{|a}%
4632 \def\lbracechar{|a}%
4633 %
4575 \def\}{|b}% 4634 \def\}{|b}%
4635 \def\rbracechar{|b}%
4576 % 4636 %
4577 % Non-English letters. 4637 % Non-English letters.
4578 \def\AA{AA}% 4638 \def\AA{AA}%
@@ -5533,14 +5593,6 @@ end
5533 5593
5534% Define @majorheading, @heading and @subheading 5594% Define @majorheading, @heading and @subheading
5535 5595
5536% NOTE on use of \vbox for chapter headings, section headings, and such:
5537% 1) We use \vbox rather than the earlier \line to permit
5538% overlong headings to fold.
5539% 2) \hyphenpenalty is set to 10000 because hyphenation in a
5540% heading is obnoxious; this forbids it.
5541% 3) Likewise, headings look best if no \parindent is used, and
5542% if justification is not attempted. Hence \raggedright.
5543
5544\def\majorheading{% 5596\def\majorheading{%
5545 {\advance\chapheadingskip by 10pt \chapbreak }% 5597 {\advance\chapheadingskip by 10pt \chapbreak }%
5546 \parsearg\chapheadingzzz 5598 \parsearg\chapheadingzzz
@@ -5548,10 +5600,8 @@ end
5548 5600
5549\def\chapheading{\chapbreak \parsearg\chapheadingzzz} 5601\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
5550\def\chapheadingzzz#1{% 5602\def\chapheadingzzz#1{%
5551 {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 5603 \vbox{\chapfonts \raggedtitlesettings #1\par}%
5552 \parindent=0pt\ptexraggedright 5604 \nobreak\bigskip \nobreak
5553 \rmisbold #1\hfill}}%
5554 \bigskip \par\penalty 200\relax
5555 \suppressfirstparagraphindent 5605 \suppressfirstparagraphindent
5556} 5606}
5557 5607
@@ -5710,8 +5760,7 @@ end
5710 % 5760 %
5711 % Typeset the actual heading. 5761 % Typeset the actual heading.
5712 \nobreak % Avoid page breaks at the interline glue. 5762 \nobreak % Avoid page breaks at the interline glue.
5713 \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright 5763 \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
5714 \hangindent=\wd0 \centerparametersmaybe
5715 \unhbox0 #1\par}% 5764 \unhbox0 #1\par}%
5716 }% 5765 }%
5717 \nobreak\bigskip % no page break after a chapter title 5766 \nobreak\bigskip % no page break after a chapter title
@@ -5733,18 +5782,18 @@ end
5733\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} 5782\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
5734% 5783%
5735\def\unnchfopen #1{% 5784\def\unnchfopen #1{%
5736\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 5785 \chapoddpage
5737 \parindent=0pt\ptexraggedright 5786 \vbox{\chapfonts \raggedtitlesettings #1\par}%
5738 \rmisbold #1\hfill}}\bigskip \par\nobreak 5787 \nobreak\bigskip\nobreak
5739} 5788}
5740\def\chfopen #1#2{\chapoddpage {\chapfonts 5789\def\chfopen #1#2{\chapoddpage {\chapfonts
5741\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% 5790\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
5742\par\penalty 5000 % 5791\par\penalty 5000 %
5743} 5792}
5744\def\centerchfopen #1{% 5793\def\centerchfopen #1{%
5745\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 5794 \chapoddpage
5746 \parindent=0pt 5795 \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
5747 \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak 5796 \nobreak\bigskip \nobreak
5748} 5797}
5749\def\CHAPFopen{% 5798\def\CHAPFopen{%
5750 \global\let\chapmacro=\chfopen 5799 \global\let\chapmacro=\chfopen
@@ -7807,7 +7856,7 @@ end
7807 \fi\fi 7856 \fi\fi
7808} 7857}
7809 7858
7810 7859%
7811% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is 7860% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
7812% the node name, #2 the name of the Info cross-reference, #3 the printed 7861% the node name, #2 the name of the Info cross-reference, #3 the printed
7813% node name, #4 the name of the Info file, #5 the name of the printed 7862% node name, #4 the name of the Info file, #5 the name of the printed
@@ -7817,16 +7866,21 @@ end
7817\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} 7866\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
7818\def\ref#1{\xrefX[#1,,,,,,,]} 7867\def\ref#1{\xrefX[#1,,,,,,,]}
7819% 7868%
7820\newbox\topbox 7869\newbox\toprefbox
7821\newbox\printedrefnamebox 7870\newbox\printedrefnamebox
7871\newbox\infofilenamebox
7822\newbox\printedmanualbox 7872\newbox\printedmanualbox
7823% 7873%
7824\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup 7874\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
7825 \unsepspaces 7875 \unsepspaces
7826 % 7876 %
7877 % Get args without leading/trailing spaces.
7827 \def\printedrefname{\ignorespaces #3}% 7878 \def\printedrefname{\ignorespaces #3}%
7828 \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}% 7879 \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}%
7829 % 7880 %
7881 \def\infofilename{\ignorespaces #4}%
7882 \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
7883 %
7830 \def\printedmanual{\ignorespaces #5}% 7884 \def\printedmanual{\ignorespaces #5}%
7831 \setbox\printedmanualbox = \hbox{\printedmanual\unskip}% 7885 \setbox\printedmanualbox = \hbox{\printedmanual\unskip}%
7832 % 7886 %
@@ -7861,11 +7915,18 @@ end
7861 \turnoffactive 7915 \turnoffactive
7862 \makevalueexpandable 7916 \makevalueexpandable
7863 % This expands tokens, so do it after making catcode changes, so _ 7917 % This expands tokens, so do it after making catcode changes, so _
7864 % etc. don't get their TeX definitions. 7918 % etc. don't get their TeX definitions. This ignores all spaces in
7919 % #4, including (wrongly) those in the middle of the filename.
7865 \getfilename{#4}% 7920 \getfilename{#4}%
7866 % 7921 %
7922 % This (wrongly) does not take account of leading or trailing
7923 % spaces in #1, which should be ignored.
7867 \edef\pdfxrefdest{#1}% 7924 \edef\pdfxrefdest{#1}%
7868 \txiescapepdf\pdfxrefdest 7925 \ifx\pdfxrefdest\empty
7926 \def\pdfxrefdest{Top}% no empty targets
7927 \else
7928 \txiescapepdf\pdfxrefdest % escape PDF special chars
7929 \fi
7869 % 7930 %
7870 \leavevmode 7931 \leavevmode
7871 \startlink attr{/Border [0 0 0]}% 7932 \startlink attr{/Border [0 0 0]}%
@@ -7898,7 +7959,7 @@ end
7898 \printedrefname 7959 \printedrefname
7899 \fi 7960 \fi
7900 % 7961 %
7901 % if the user also gave the printed manual name (fifth arg), append 7962 % If the user also gave the printed manual name (fifth arg), append
7902 % "in MANUALNAME". 7963 % "in MANUALNAME".
7903 \ifdim \wd\printedmanualbox > 0pt 7964 \ifdim \wd\printedmanualbox > 0pt
7904 \space \putwordin{} \cite{\printedmanual}% 7965 \space \putwordin{} \cite{\printedmanual}%
@@ -7913,32 +7974,20 @@ end
7913 % this is a loss. Therefore, we give the text of the node name 7974 % this is a loss. Therefore, we give the text of the node name
7914 % again, so it is as if TeX is seeing it for the first time. 7975 % again, so it is as if TeX is seeing it for the first time.
7915 % 7976 %
7916 % Cross-manual reference. Only include the "Section ``foo'' in" if
7917 % the foo is neither missing or Top. Thus, @xref{,,,foo,The Foo Manual}
7918 % outputs simply "see The Foo Manual".
7919 \ifdim \wd\printedmanualbox > 0pt 7977 \ifdim \wd\printedmanualbox > 0pt
7920 % What is the 7sp about? The idea is that we also want to omit 7978 % Cross-manual reference with a printed manual name.
7921 % the Section part if we would be printing "Top", since they are
7922 % clearly trying to refer to the whole manual. But, this being
7923 % TeX, we can't easily compare strings while ignoring the possible
7924 % spaces before and after in the input. By adding the arbitrary
7925 % 7sp, we make it much less likely that a real node name would
7926 % happen to have the same width as "Top" (e.g., in a monospaced font).
7927 % I hope it will never happen in practice.
7928 % 7979 %
7929 % For the same basic reason, we retypeset the "Top" at every 7980 \crossmanualxref{\cite{\printedmanual\unskip}}%
7930 % reference, since the current font is indeterminate. 7981 %
7982 \else\ifdim \wd\infofilenamebox > 0pt
7983 % Cross-manual reference with only an info filename (arg 4), no
7984 % printed manual name (arg 5). This is essentially the same as
7985 % the case above; we output the filename, since we have nothing else.
7931 % 7986 %
7932 \setbox\topbox = \hbox{Top\kern7sp}% 7987 \crossmanualxref{\code{\infofilename\unskip}}%
7933 \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% 7988 %
7934 \ifdim \wd2 > 7sp
7935 \ifdim \wd2 = \wd\topbox \else
7936 \putwordSection{} ``\printedrefname'' \putwordin{}\space
7937 \fi
7938 \fi
7939 \cite{\printedmanual}%
7940 \else 7989 \else
7941 % Reference in this manual. 7990 % Reference within this manual.
7942 % 7991 %
7943 % _ (for example) has to be the character _ for the purposes of the 7992 % _ (for example) has to be the character _ for the purposes of the
7944 % control sequence corresponding to the node, but it has to expand 7993 % control sequence corresponding to the node, but it has to expand
@@ -7959,11 +8008,37 @@ end
7959 % 8008 %
7960 % output the `page 3'. 8009 % output the `page 3'.
7961 \turnoffactive \putwordpage\tie\refx{#1-pg}{}% 8010 \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
7962 \fi 8011 \fi\fi
7963 \fi 8012 \fi
7964 \endlink 8013 \endlink
7965\endgroup} 8014\endgroup}
7966 8015
8016% Output a cross-manual xref to #1. Used just above (twice).
8017%
8018% Only include the text "Section ``foo'' in" if the foo is neither
8019% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply
8020% "see The Foo Manual", the idea being to refer to the whole manual.
8021%
8022% But, this being TeX, we can't easily compare our node name against the
8023% string "Top" while ignoring the possible spaces before and after in
8024% the input. By adding the arbitrary 7sp below, we make it much less
8025% likely that a real node name would have the same width as "Top" (e.g.,
8026% in a monospaced font). Hopefully it will never happen in practice.
8027%
8028% For the same basic reason, we retypeset the "Top" at every
8029% reference, since the current font is indeterminate.
8030%
8031\def\crossmanualxref#1{%
8032 \setbox\toprefbox = \hbox{Top\kern7sp}%
8033 \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
8034 \ifdim \wd2 > 7sp % nonempty?
8035 \ifdim \wd2 = \wd\toprefbox \else % same as Top?
8036 \putwordSection{} ``\printedrefname'' \putwordin{}\space
8037 \fi
8038 \fi
8039 #1%
8040}
8041
7967% This macro is called from \xrefX for the `[nodename]' part of xref 8042% This macro is called from \xrefX for the `[nodename]' part of xref
7968% output. It's a separate macro only so it can be changed more easily, 8043% output. It's a separate macro only so it can be changed more easily,
7969% since square brackets don't work well in some documents. Particularly 8044% since square brackets don't work well in some documents. Particularly