Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
58660eb3
Commit
58660eb3
authored
Dec 05, 2006
by
Brooks Moses
Committed by
Brooks Moses
Dec 05, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* doc/include/texinfo.tex: Update to version 2006-11-08.17.
From-SVN: r119551
parent
ae07b463
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
572 additions
and
285 deletions
+572
-285
gcc/ChangeLog
+4
-0
gcc/doc/include/texinfo.tex
+568
-285
No files found.
gcc/ChangeLog
View file @
58660eb3
2006
-
12
-
05
Brooks
Moses
<
brooks
.
moses
@codesourcery
.
com
>
*
doc
/
include
/
texinfo
.
tex
:
Update
to
version
2006
-
11
-
08
.
17
.
2006
-
12
-
05
Zdenek
Dvorak
<
dvorakz
@suse
.
cz
>
2006
-
12
-
05
Zdenek
Dvorak
<
dvorakz
@suse
.
cz
>
PR
tree
-
optimization
/
14784
PR
tree
-
optimization
/
14784
...
...
gcc/doc/include/texinfo.tex
View file @
58660eb3
...
@@ -3,11 +3,11 @@
...
@@ -3,11 +3,11 @@
% Load plain if necessary, i.e., if running under initex.
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname
fmtname
\endcsname\relax\input
plain
\fi
\expandafter\ifx\csname
fmtname
\endcsname\relax\input
plain
\fi
%
%
\def\texinfoversion
{
200
5-06-10.0
7
}
\def\texinfoversion
{
200
6-11-08.1
7
}
%
%
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Softwar
e
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
, 2006 Fre
e
% Foundation, Inc.
%
Software
Foundation, Inc.
%
%
% This texinfo.tex file is free software; you can redistribute it and/or
% This texinfo.tex file is free software; you can redistribute it and/or
% modify it under the terms of the GNU General Public License as
% modify it under the terms of the GNU General Public License as
...
@@ -153,28 +153,22 @@
...
@@ -153,28 +153,22 @@
\ifx\putwordDefopt\undefined
\gdef\putwordDefopt
{
User Option
}
\fi
\ifx\putwordDefopt\undefined
\gdef\putwordDefopt
{
User Option
}
\fi
\ifx\putwordDeffunc\undefined
\gdef\putwordDeffunc
{
Function
}
\fi
\ifx\putwordDeffunc\undefined
\gdef\putwordDeffunc
{
Function
}
\fi
% In some macros, we cannot use the `\? notation---the left quote is
% Since the category of space is not known, we have to be careful.
% in some cases the escape char.
\chardef\spacecat
= 10
\chardef\backChar
= `
\\
\def\spaceisspace
{
\catcode
`
\
=
\spacecat
}
% sometimes characters are active, so we need control sequences.
\chardef\colonChar
= `
\:
\chardef\colonChar
= `
\:
\chardef\commaChar
= `
\,
\chardef\commaChar
= `
\,
\chardef\dashChar
= `
\-
\chardef\dotChar
= `
\.
\chardef\dotChar
= `
\.
\chardef\exclamChar
= `
\!
\chardef\exclamChar
= `
\!
\chardef\
plusChar
= `
\+
\chardef\
lquoteChar
= `
\`
\chardef\questChar
= `
\?
\chardef\questChar
= `
\?
\chardef\rquoteChar
= `
\'
\chardef\semiChar
= `
\;
\chardef\semiChar
= `
\;
\chardef\underChar
= `
\_
\chardef\underChar
= `
\_
\chardef\spaceChar
= `
\
%
\chardef\spacecat
= 10
\def\spaceisspace
{
\catcode\spaceChar
=
\spacecat
}
{
% for help with debugging.
% example usage: \expandafter\show\activebackslash
\catcode
`
\!
= 0
\catcode
`
\\
=
\active
!global!def!activebackslash
{
\}
}
% Ignore a token.
% Ignore a token.
%
%
\def\gobble
#1
{}
\def\gobble
#1
{}
...
@@ -310,10 +304,14 @@
...
@@ -310,10 +304,14 @@
% take effect in \write's, yet the group defined by the \vbox ends
% take effect in \write's, yet the group defined by the \vbox ends
% before the \shipout runs.
% before the \shipout runs.
%
%
\escapechar
= `
\\
% use backslash in output files.
\indexdummies
% don't expand commands in the output.
\indexdummies
% don't expand commands in the output.
\normalturnoffactive
% \ in index entries must not stay \, e.g., if
\normalturnoffactive
% \ in index entries must not stay \, e.g., if
% the page break happens to be in the middle of an example.
% the page break happens to be in the middle of an example.
% We don't want .vr (or whatever) entries like this:
% \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
% "\acronym" won't work when it's read back in;
% it needs to be
% {\code {{\tt \backslashcurfont }acronym}
\shipout\vbox
{
%
\shipout\vbox
{
%
% Do this early so pdf references go to the beginning of the page.
% Do this early so pdf references go to the beginning of the page.
\ifpdfmakepagedest
\pdfdest
name
{
\the\pageno
}
xyz
\fi
\ifpdfmakepagedest
\pdfdest
name
{
\the\pageno
}
xyz
\fi
...
@@ -341,9 +339,9 @@
...
@@ -341,9 +339,9 @@
\pagebody
{
#1
}
%
\pagebody
{
#1
}
%
\ifdim\ht\footlinebox
> 0pt
\ifdim\ht\footlinebox
> 0pt
% Only leave this space if the footline is nonempty.
% Only leave this space if the footline is nonempty.
% (We lessened \vsize for it in \oddfooting
xxx
.)
% (We lessened \vsize for it in \oddfooting
yyy
.)
% The \baselineskip=24pt in plain's \makefootline has no effect.
% The \baselineskip=24pt in plain's \makefootline has no effect.
\vskip
2
\baselineskip
\vskip
2
4pt
\unvbox\footlinebox
\unvbox\footlinebox
\fi
\fi
%
%
...
@@ -364,7 +362,7 @@
...
@@ -364,7 +362,7 @@
\egroup
% \vbox from first cropmarks clause
\egroup
% \vbox from first cropmarks clause
\fi
\fi
}
% end of \shipout\vbox
}
% end of \shipout\vbox
}
% end of group with \
normalturnoffactive
}
% end of group with \
indexdummies
\advancepageno
\advancepageno
\ifnum\outputpenalty
>-20000
\else\dosupereject\fi
\ifnum\outputpenalty
>-20000
\else\dosupereject\fi
}
}
...
@@ -399,7 +397,7 @@
...
@@ -399,7 +397,7 @@
%
%
\def\parsearg
{
\parseargusing
{}}
\def\parsearg
{
\parseargusing
{}}
\def\parseargusing
#1#2
{
%
\def\parseargusing
#1#2
{
%
\def\
next
{
#2
}
%
\def\
argtorun
{
#2
}
%
\begingroup
\begingroup
\obeylines
\obeylines
\spaceisspace
\spaceisspace
...
@@ -430,8 +428,7 @@
...
@@ -430,8 +428,7 @@
\def\argcheckspacesY
#1
\^
^
M#2
\^
^
M#3
\ArgTerm
{
%
\def\argcheckspacesY
#1
\^
^
M#2
\^
^
M#3
\ArgTerm
{
%
\def\temp
{
#3
}
%
\def\temp
{
#3
}
%
\ifx\temp\empty
\ifx\temp\empty
% We cannot use \next here, as it holds the macro to run;
% Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp:
% thus we reuse \temp.
\let\temp\finishparsearg
\let\temp\finishparsearg
\else
\else
\let\temp\argcheckspaces
\let\temp\argcheckspaces
...
@@ -443,14 +440,14 @@
...
@@ -443,14 +440,14 @@
% If a _delimited_ argument is enclosed in braces, they get stripped; so
% If a _delimited_ argument is enclosed in braces, they get stripped; so
% to get _exactly_ the rest of the line, we had to prevent such situation.
% to get _exactly_ the rest of the line, we had to prevent such situation.
% We prepended an \empty token at the very beginning and we expand it now,
% We prepended an \empty token at the very beginning and we expand it now,
% just before passing the control to \
next
.
% just before passing the control to \
argtorun
.
% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
% either the null string, or it ends with \^^M---thus there is no danger
% either the null string, or it ends with \^^M---thus there is no danger
% that a pair of braces would be stripped.
% that a pair of braces would be stripped.
%
%
% But first, we have to remove the trailing space token.
% But first, we have to remove the trailing space token.
%
%
\def\finishparsearg
#1
\ArgTerm
{
\expandafter\
next
\expandafter
{
#1
}}
\def\finishparsearg
#1
\ArgTerm
{
\expandafter\
argtorun
\expandafter
{
#1
}}
% \parseargdef\foo{...}
% \parseargdef\foo{...}
% is roughly equivalent to
% is roughly equivalent to
...
@@ -1054,9 +1051,9 @@ where each line of input produces a line of output.}
...
@@ -1054,9 +1051,9 @@ where each line of input produces a line of output.}
% _ active, and distinguish by seeing if the current family is \slfam,
% _ active, and distinguish by seeing if the current family is \slfam,
% which is what @var uses.
% which is what @var uses.
{
{
\catcode
\underChar
=
\active
\catcode
`
\_
=
\active
\gdef\mathunderscore
{
%
\gdef\mathunderscore
{
%
\catcode
\underChar
=
\active
\catcode
`
\_
=
\active
\def
_{
\ifnum\fam
=
\slfam
\_\else\sb\fi
}
%
\def
_{
\ifnum\fam
=
\slfam
\_\else\sb\fi
}
%
}
}
}
}
...
@@ -1099,15 +1096,24 @@ where each line of input produces a line of output.}
...
@@ -1099,15 +1096,24 @@ where each line of input produces a line of output.}
\def\minus
{$
-
$}
\def\minus
{$
-
$}
% @dots{} outputs an ellipsis using the current font.
% @dots{} outputs an ellipsis using the current font.
% We do .5em per period so that it has the same spacing in a typewriter
% We do .5em per period so that it has the same spacing in the cm
% font as three actual period characters.
% typewriter fonts as three actual period characters; on the other hand,
% in other typewriter fonts three periods are wider than 1.5em. So do
% whichever is larger.
%
%
\def\dots
{
%
\def\dots
{
%
\leavevmode
\leavevmode
\hbox
to 1.5em
{
%
\setbox
0=
\hbox
{
...
}
% get width of three periods
\hskip
0pt plus 0.25fil
\ifdim\wd
0 > 1.5em
.
\hfil
.
\hfil
.
%
\dimen
0 =
\wd
0
\hskip
0pt plus 0.5fil
\else
\dimen
0 = 1.5em
\fi
\hbox
to
\dimen
0
{
%
\hskip
0pt plus.25fil
.
\hskip
0pt plus1fil
.
\hskip
0pt plus1fil
.
\hskip
0pt plus.5fil
}
%
}
%
}
}
...
@@ -1200,21 +1206,20 @@ where each line of input produces a line of output.}
...
@@ -1200,21 +1206,20 @@ where each line of input produces a line of output.}
\fi
\fi
\fi
\fi
% PDF uses PostScript string constants for the names of xref targets,
to
% PDF uses PostScript string constants for the names of xref targets,
% for display in the outlines, and in other places. Thus, we have to
% for display in the outlines, and in other places. Thus, we have to
% double any backslashes. Otherwise, a name like "\node" will be
% double any backslashes. Otherwise, a name like "\node" will be
% interpreted as a newline (\n), followed by o, d, e. Not good.
% interpreted as a newline (\n), followed by o, d, e. Not good.
% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
% (and related messages, the final outcome is that it is up to the TeX
% (and related messages, the final outcome is that it is up to the TeX
% user to double the backslashes and otherwise make the string valid, so
% user to double the backslashes and otherwise make the string valid, so
% that's we do).
% that's w
hat w
e do).
% double active backslashes.
% double active backslashes.
%
%
{
\catcode
`
\@
=0
\catcode
`
\\
=
\active
{
\catcode
`
\@
=0
\catcode
`
\\
=
\active
@gdef@activebackslash
{
@catcode`@
\=
@active @otherbackslash
}
@gdef@activebackslashdouble
{
%
@gdef@activebackslashdouble
{
%
@catcode
@backChar
=@active
@catcode
`@
\
=
@active
@let
\=
@doublebackslash
}
@let
\=
@doublebackslash
}
}
}
...
@@ -1246,21 +1251,52 @@ where each line of input produces a line of output.}
...
@@ -1246,21 +1251,52 @@ where each line of input produces a line of output.}
\def\backslashparens
#1
{
%
\def\backslashparens
#1
{
%
\xdef
#1
{
#1
}
% redefine it as its expansion; the definition is simply
\xdef
#1
{
#1
}
% redefine it as its expansion; the definition is simply
% \lastnode when called from \setref -> \pdfmkdest.
% \lastnode when called from \setref -> \pdfmkdest.
\HyPsdSubst
{
(
}{
\
backslashlparen
}{
#1
}
%
\HyPsdSubst
{
(
}{
\
realbackslash
(
}{
#1
}
%
\HyPsdSubst
{
)
}{
\
backslashrparen
}{
#1
}
%
\HyPsdSubst
{
)
}{
\
realbackslash
)
}{
#1
}
%
}
}
{
\catcode\exclamChar
= 0
\catcode\backChar
=
\other
\newhelp\nopdfimagehelp
{
Texinfo supports .png, .jpg, .jpeg, and .pdf images
!gdef!backslashlparen
{\(}
%
with PDF output, and none of those formats could be found. (.eps cannot
!
gdef
!
backslashrparen
{\)}
%
be supported due to the design of the PDF format; use regular TeX (DVI
}
output) for that.)
}
\ifpdf
\ifpdf
\input
pdfcolor
\input
pdfcolor
\pdfcatalog
{
/PageMode /UseOutlines
}
%
\pdfcatalog
{
/PageMode /UseOutlines
}
%
% #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
\def\dopdfimage
#1#2#3
{
%
\def\dopdfimage
#1#2#3
{
%
\def\imagewidth
{
#2
}
%
\def\imagewidth
{
#2
}
\setbox
0 =
\hbox
{
\ignorespaces
#2
}
%
\def\imageheight
{
#3
}
%
\def\imageheight
{
#3
}
\setbox
2 =
\hbox
{
\ignorespaces
#3
}
%
%
% pdftex (and the PDF format) support .png, .jpg, .pdf (among
% others). Let's try in that order.
\let\pdfimgext
=
\empty
\begingroup
\openin
1 #1.png
\ifeof
1
\openin
1 #1.jpg
\ifeof
1
\openin
1 #1.jpeg
\ifeof
1
\openin
1 #1.JPG
\ifeof
1
\openin
1 #1.pdf
\ifeof
1
\errhelp
=
\nopdfimagehelp
\errmessage
{
Could not find image file #1 for pdf
}
%
\else
\gdef\pdfimgext
{
pdf
}
%
\fi
\else
\gdef\pdfimgext
{
JPG
}
%
\fi
\else
\gdef\pdfimgext
{
jpeg
}
%
\fi
\else
\gdef\pdfimgext
{
jpg
}
%
\fi
\else
\gdef\pdfimgext
{
png
}
%
\fi
\closein
1
\endgroup
%
% without \immediate, pdftex seg faults when the same image is
% without \immediate, pdftex seg faults when the same image is
% included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
% included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
\ifnum\pdftexversion
< 14
\ifnum\pdftexversion
< 14
...
@@ -1268,12 +1304,12 @@ where each line of input produces a line of output.}
...
@@ -1268,12 +1304,12 @@ where each line of input produces a line of output.}
\else
\else
\immediate\pdfximage
\immediate\pdfximage
\fi
\fi
\if
x\empty\imagewidth\else
width
\imagewidth
\fi
\if
dim
\wd
0 >0pt
width
\imagewidth
\fi
\if
x\empty\imageheight\else
height
\imageheight
\fi
\if
dim
\wd
2 >0pt
height
\imageheight
\fi
\ifnum\pdftexversion
<13
\ifnum\pdftexversion
<13
#1.
pdf
%
#1.
\pdfimgext
\else
\else
{
#1.
pdf
}
%
{
#1.
\pdfimgext
}
%
\fi
\fi
\ifnum\pdftexversion
< 14
\else
\ifnum\pdftexversion
< 14
\else
\pdfrefximage
\pdflastximage
\pdfrefximage
\pdflastximage
...
@@ -1282,7 +1318,6 @@ where each line of input produces a line of output.}
...
@@ -1282,7 +1318,6 @@ where each line of input produces a line of output.}
% We have to set dummies so commands such as @code, and characters
% We have to set dummies so commands such as @code, and characters
% such as \, aren't expanded when present in a section title.
% such as \, aren't expanded when present in a section title.
\atdummies
\atdummies
\turnoffactive
\activebackslashdouble
\activebackslashdouble
\def\pdfdestname
{
#1
}
%
\def\pdfdestname
{
#1
}
%
\backslashparens\pdfdestname
\backslashparens\pdfdestname
...
@@ -1394,7 +1429,7 @@ where each line of input produces a line of output.}
...
@@ -1394,7 +1429,7 @@ where each line of input produces a line of output.}
% now, I guess we'll just let the pdf reader have its way.
% now, I guess we'll just let the pdf reader have its way.
\indexnofonts
\indexnofonts
\setupdatafile
\setupdatafile
\
active
backslash
\
catcode
`
\\
=
\active
\other
backslash
\input
\jobname
.toc
\input
\jobname
.toc
\endgroup
\endgroup
}
}
...
@@ -1413,9 +1448,17 @@ where each line of input produces a line of output.}
...
@@ -1413,9 +1448,17 @@ where each line of input produces a line of output.}
\else
\else
\let
\startlink
\pdfstartlink
\let
\startlink
\pdfstartlink
\fi
\fi
% make a live url in pdf output.
\def\pdfurl
#1
{
%
\def\pdfurl
#1
{
%
\begingroup
\begingroup
\normalturnoffactive\def\@
{
@
}
%
% it seems we really need yet another set of dummies; have not
% tried to figure out what each command should do in the context
% of @url. for now, just make @/ a no-op, that's the only one
% people have actually reported a problem with.
%
\normalturnoffactive
\def\@
{
@
}
%
\let\/
=
\empty
\makevalueexpandable
\makevalueexpandable
\leavevmode\Red
\leavevmode\Red
\startlink
attr
{
/Border [0 0 0]
}
%
\startlink
attr
{
/Border [0 0 0]
}
%
...
@@ -1485,6 +1528,7 @@ where each line of input produces a line of output.}
...
@@ -1485,6 +1528,7 @@ where each line of input produces a line of output.}
% We don't need math for this font style.
% We don't need math for this font style.
\def\ttsl
{
\setfontstyle
{
ttsl
}}
\def\ttsl
{
\setfontstyle
{
ttsl
}}
% Default leading.
% Default leading.
\newdimen\textleading
\textleading
= 13.2pt
\newdimen\textleading
\textleading
= 13.2pt
...
@@ -1506,11 +1550,13 @@ where each line of input produces a line of output.}
...
@@ -1506,11 +1550,13 @@ where each line of input produces a line of output.}
}
%
}
%
}
}
% Set the font macro #1 to the font named #2, adding on the
% Set the font macro #1 to the font named #2, adding on the
% specified font prefix (normally `cm').
% specified font prefix (normally `cm').
% #3 is the font's design size, #4 is a scale factor
% #3 is the font's design size, #4 is a scale factor
\def\setfont
#1#2#3#4
{
\font
#1=
\fontprefix
#2#3 scaled #4
}
\def\setfont
#1#2#3#4
{
\font
#1=
\fontprefix
#2#3 scaled #4
}
% Use cm as the default font prefix.
% Use cm as the default font prefix.
% To specify the font prefix, you must define \fontprefix
% To specify the font prefix, you must define \fontprefix
% before you read in texinfo.tex.
% before you read in texinfo.tex.
...
@@ -1534,6 +1580,10 @@ where each line of input produces a line of output.}
...
@@ -1534,6 +1580,10 @@ where each line of input produces a line of output.}
\def\scshape
{
csc
}
\def\scshape
{
csc
}
\def\scbshape
{
csc
}
\def\scbshape
{
csc
}
% Definitions for a main text size of 11pt. This is the default in
% Texinfo.
%
\def\definetextfontsizexi
{
% Text fonts (11.2pt, magstep1).
% Text fonts (11.2pt, magstep1).
\def\textnominalsize
{
11pt
}
\def\textnominalsize
{
11pt
}
\edef\mainmagstep
{
\magstephalf
}
\edef\mainmagstep
{
\magstephalf
}
...
@@ -1647,6 +1697,165 @@ where each line of input produces a line of output.}
...
@@ -1647,6 +1697,165 @@ where each line of input produces a line of output.}
\font\reducedi
=cmmi10
\font\reducedi
=cmmi10
\font\reducedsy
=cmsy10
\font\reducedsy
=cmsy10
% reset the current fonts
\textfonts
\rm
}
% end of 11pt text font size definitions
% Definitions to make the main text be 10pt Computer Modern, with
% section, chapter, etc., sizes following suit. This is for the GNU
% Press printing of the Emacs 22 manual. Maybe other manuals in the
% future. Used with @smallbook, which sets the leading to 12pt.
%
\def\definetextfontsizex
{
%
% Text fonts (10pt).
\def\textnominalsize
{
10pt
}
\edef\mainmagstep
{
1000
}
\setfont\textrm\rmshape
{
10
}{
\mainmagstep
}
\setfont\texttt\ttshape
{
10
}{
\mainmagstep
}
\setfont\textbf\bfshape
{
10
}{
\mainmagstep
}
\setfont\textit\itshape
{
10
}{
\mainmagstep
}
\setfont\textsl\slshape
{
10
}{
\mainmagstep
}
\setfont\textsf\sfshape
{
10
}{
\mainmagstep
}
\setfont\textsc\scshape
{
10
}{
\mainmagstep
}
\setfont\textttsl\ttslshape
{
10
}{
\mainmagstep
}
\font\texti
=cmmi10 scaled
\mainmagstep
\font\textsy
=cmsy10 scaled
\mainmagstep
% A few fonts for @defun names and args.
\setfont\defbf\bfshape
{
10
}{
\magstephalf
}
\setfont\deftt\ttshape
{
10
}{
\magstephalf
}
\setfont\defttsl\ttslshape
{
10
}{
\magstephalf
}
\def\df
{
\let\tentt
=
\deftt
\let\tenbf
=
\defbf
\let\tenttsl
=
\defttsl
\bf
}
% Fonts for indices, footnotes, small examples (9pt).
\def\smallnominalsize
{
9pt
}
\setfont\smallrm\rmshape
{
9
}{
1000
}
\setfont\smalltt\ttshape
{
9
}{
1000
}
\setfont\smallbf\bfshape
{
10
}{
900
}
\setfont\smallit\itshape
{
9
}{
1000
}
\setfont\smallsl\slshape
{
9
}{
1000
}
\setfont\smallsf\sfshape
{
9
}{
1000
}
\setfont\smallsc\scshape
{
10
}{
900
}
\setfont\smallttsl\ttslshape
{
10
}{
900
}
\font\smalli
=cmmi9
\font\smallsy
=cmsy9
% Fonts for small examples (8pt).
\def\smallernominalsize
{
8pt
}
\setfont\smallerrm\rmshape
{
8
}{
1000
}
\setfont\smallertt\ttshape
{
8
}{
1000
}
\setfont\smallerbf\bfshape
{
10
}{
800
}
\setfont\smallerit\itshape
{
8
}{
1000
}
\setfont\smallersl\slshape
{
8
}{
1000
}
\setfont\smallersf\sfshape
{
8
}{
1000
}
\setfont\smallersc\scshape
{
10
}{
800
}
\setfont\smallerttsl\ttslshape
{
10
}{
800
}
\font\smalleri
=cmmi8
\font\smallersy
=cmsy8
% Fonts for title page (20.4pt):
\def\titlenominalsize
{
20pt
}
\setfont\titlerm\rmbshape
{
12
}{
\magstep
3
}
\setfont\titleit\itbshape
{
10
}{
\magstep
4
}
\setfont\titlesl\slbshape
{
10
}{
\magstep
4
}
\setfont\titlett\ttbshape
{
12
}{
\magstep
3
}
\setfont\titlettsl\ttslshape
{
10
}{
\magstep
4
}
\setfont\titlesf\sfbshape
{
17
}{
\magstep
1
}
\let\titlebf
=
\titlerm
\setfont\titlesc\scbshape
{
10
}{
\magstep
4
}
\font\titlei
=cmmi12 scaled
\magstep
3
\font\titlesy
=cmsy10 scaled
\magstep
4
\def\authorrm
{
\secrm
}
\def\authortt
{
\sectt
}
% Chapter fonts (14.4pt).
\def\chapnominalsize
{
14pt
}
\setfont\chaprm\rmbshape
{
12
}{
\magstep
1
}
\setfont\chapit\itbshape
{
10
}{
\magstep
2
}
\setfont\chapsl\slbshape
{
10
}{
\magstep
2
}
\setfont\chaptt\ttbshape
{
12
}{
\magstep
1
}
\setfont\chapttsl\ttslshape
{
10
}{
\magstep
2
}
\setfont\chapsf\sfbshape
{
12
}{
\magstep
1
}
\let\chapbf\chaprm
\setfont\chapsc\scbshape
{
10
}{
\magstep
2
}
\font\chapi
=cmmi12 scaled
\magstep
1
\font\chapsy
=cmsy10 scaled
\magstep
2
% Section fonts (12pt).
\def\secnominalsize
{
12pt
}
\setfont\secrm\rmbshape
{
12
}{
1000
}
\setfont\secit\itbshape
{
10
}{
\magstep
1
}
\setfont\secsl\slbshape
{
10
}{
\magstep
1
}
\setfont\sectt\ttbshape
{
12
}{
1000
}
\setfont\secttsl\ttslshape
{
10
}{
\magstep
1
}
\setfont\secsf\sfbshape
{
12
}{
1000
}
\let\secbf\secrm
\setfont\secsc\scbshape
{
10
}{
\magstep
1
}
\font\seci
=cmmi12
\font\secsy
=cmsy10 scaled
\magstep
1
% Subsection fonts (10pt).
\def\ssecnominalsize
{
10pt
}
\setfont\ssecrm\rmbshape
{
10
}{
1000
}
\setfont\ssecit\itbshape
{
10
}{
1000
}
\setfont\ssecsl\slbshape
{
10
}{
1000
}
\setfont\ssectt\ttbshape
{
10
}{
1000
}
\setfont\ssecttsl\ttslshape
{
10
}{
1000
}
\setfont\ssecsf\sfbshape
{
10
}{
1000
}
\let\ssecbf\ssecrm
\setfont\ssecsc\scbshape
{
10
}{
1000
}
\font\sseci
=cmmi10
\font\ssecsy
=cmsy10
% Reduced fonts for @acro in text (9pt).
\def\reducednominalsize
{
9pt
}
\setfont\reducedrm\rmshape
{
9
}{
1000
}
\setfont\reducedtt\ttshape
{
9
}{
1000
}
\setfont\reducedbf\bfshape
{
10
}{
900
}
\setfont\reducedit\itshape
{
9
}{
1000
}
\setfont\reducedsl\slshape
{
9
}{
1000
}
\setfont\reducedsf\sfshape
{
9
}{
1000
}
\setfont\reducedsc\scshape
{
10
}{
900
}
\setfont\reducedttsl\ttslshape
{
10
}{
900
}
\font\reducedi
=cmmi9
\font\reducedsy
=cmsy9
% reduce space between paragraphs
\divide\parskip
by 2
% reset the current fonts
\textfonts
\rm
}
% end of 10pt text font size definitions
% We provide the user-level command
% @fonttextsize 10
% (or 11) to redefine the text font size. pt is assumed.
%
\def\xword
{
10
}
\def\xiword
{
11
}
%
\parseargdef\fonttextsize
{
%
\def\textsizearg
{
#1
}
%
\wlog
{
doing @fonttextsize
\textsizearg
}
%
%
% Set \globaldefs so that documents can use this inside @tex, since
% makeinfo 4.8 does not support it, but we need it nonetheless.
%
\begingroup
\globaldefs
=1
\ifx\textsizearg\xword
\definetextfontsizex
\else
\ifx\textsizearg\xiword
\definetextfontsizexi
\else
\errhelp
=
\EMsimple
\errmessage
{
@fonttextsize only supports `10' or `11', not `
\textsizearg
'
}
\fi\fi
\endgroup
}
% In order for the font changes to affect most math symbols and letters,
% In order for the font changes to affect most math symbols and letters,
% we have to define the \textfont of the standard families. Since
% we have to define the \textfont of the standard families. Since
% texinfo doesn't allow for producing subscripts and superscripts except
% texinfo doesn't allow for producing subscripts and superscripts except
...
@@ -1757,7 +1966,7 @@ where each line of input produces a line of output.}
...
@@ -1757,7 +1966,7 @@ where each line of input produces a line of output.}
% Set up the default fonts, so we can use them for creating boxes.
% Set up the default fonts, so we can use them for creating boxes.
%
%
\
textfonts
\rm
\
definetextfontsizexi
% Define these so they can be easily changed for other fonts.
% Define these so they can be easily changed for other fonts.
\def\angleleft
{$
\langle
$}
\def\angleleft
{$
\langle
$}
...
@@ -1841,6 +2050,7 @@ where each line of input produces a line of output.}
...
@@ -1841,6 +2050,7 @@ where each line of input produces a line of output.}
\hbox
{
\raise
0.4pt
\hbox
{
\vphantom
{
\angleleft
}}
#1
}}
%
\hbox
{
\raise
0.4pt
\hbox
{
\vphantom
{
\angleleft
}}
#1
}}
%
\kern
-0.4pt
\hrule
}
%
\kern
-0.4pt
\hrule
}
%
\kern
-.06em
\raise
0.4pt
\hbox
{
\angleright
}}}}
\kern
-.06em
\raise
0.4pt
\hbox
{
\angleright
}}}}
\def\key
#1
{{
\nohyphenation
\uppercase
{
#1
}}
\null
}
% The old definition, with no lozenge:
% The old definition, with no lozenge:
%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
\def\ctrl
#1
{{
\tt
\rawbackslash
\hat
}
#1
}
\def\ctrl
#1
{{
\tt
\rawbackslash
\hat
}
#1
}
...
@@ -1882,11 +2092,14 @@ where each line of input produces a line of output.}
...
@@ -1882,11 +2092,14 @@ where each line of input produces a line of output.}
% and arrange explicitly to hyphenate at a dash.
% and arrange explicitly to hyphenate at a dash.
% -- rms.
% -- rms.
{
{
\catcode
`
\-
=
\active
\catcode
`
\-
=
\active
\catcode
`
\_
=
\active
\catcode
`
\
_
=
\active
\catcode
`
\
'
=
\active
\catcode
`
\`
=
\active
%
%
\global\def\code
{
\begingroup
\global\def\code
{
\begingroup
\catcode
`
\-
=
\active
\catcode
`
\_
=
\active
\catcode\rquoteChar
=
\active
\catcode\lquoteChar
=
\active
\let
'
\codequoteright
\let
`
\codequoteleft
%
\catcode\dashChar
=
\active
\catcode\underChar
=
\active
\ifallowcodebreaks
\ifallowcodebreaks
\let
-
\codedash
\let
-
\codedash
\let
_
\codeunder
\let
_
\codeunder
...
@@ -2132,6 +2345,10 @@ where each line of input produces a line of output.}
...
@@ -2132,6 +2345,10 @@ where each line of input produces a line of output.}
}$
%
}$
%
}
}
% @textdegree - the normal degrees sign.
%
\def\textdegree
{$^
\circ
$}
% Laurent Siebenmann reports \Orb undefined with:
% Laurent Siebenmann reports \Orb undefined with:
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
% so we'll define it if necessary.
% so we'll define it if necessary.
...
@@ -2303,8 +2520,8 @@ where each line of input produces a line of output.}
...
@@ -2303,8 +2520,8 @@ where each line of input produces a line of output.}
%
%
% Leave some space for the footline. Hopefully ok to assume
% Leave some space for the footline. Hopefully ok to assume
% @evenfooting will not be used by itself.
% @evenfooting will not be used by itself.
\global\advance\pageheight
by -
\baselineskip
\global\advance\pageheight
by -
12pt
\global\advance\vsize
by -
\baselineskip
\global\advance\vsize
by -
12pt
}
}
\parseargdef\everyfooting
{
\oddfootingxxx
{
#1
}
\evenfootingxxx
{
#1
}}
\parseargdef\everyfooting
{
\oddfootingxxx
{
#1
}
\evenfootingxxx
{
#1
}}
...
@@ -2963,6 +3180,7 @@ where each line of input produces a line of output.}
...
@@ -2963,6 +3180,7 @@ where each line of input produces a line of output.}
\def\doignore
#1
{
\begingroup
\def\doignore
#1
{
\begingroup
% Scan in ``verbatim'' mode:
% Scan in ``verbatim'' mode:
\obeylines
\catcode
`
\@
=
\other
\catcode
`
\@
=
\other
\catcode
`
\{
=
\other
\catcode
`
\{
=
\other
\catcode
`
\}
=
\other
\catcode
`
\}
=
\other
...
@@ -2983,16 +3201,16 @@ where each line of input produces a line of output.}
...
@@ -2983,16 +3201,16 @@ where each line of input produces a line of output.}
\gdef\dodoignore
#1
{
%
\gdef\dodoignore
#1
{
%
% #1 contains the command name as a string, e.g., `ifinfo'.
% #1 contains the command name as a string, e.g., `ifinfo'.
%
%
% Define a command to find the next `@end #1', which must be on a line
% Define a command to find the next `@end #1'.
% by itself.
\long\def\doignoretext
##1
^^
M@end #1
{
%
\long\def\doignoretext
##1
^^
M@end #1
{
\doignoretextyyy
##1
^^
M@#1
\_
STOP
_}
%
\doignoretextyyy
##1
^^
M@#1
\_
STOP
_}
%
%
% And this command to find another #1 command, at the beginning of a
% And this command to find another #1 command, at the beginning of a
% line. (Otherwise, we would consider a line `@c @ifset', for
% line. (Otherwise, we would consider a line `@c @ifset', for
% example, to count as an @ifset for nesting.)
% example, to count as an @ifset for nesting.)
\long\def\doignoretextyyy
##1
^^
M@#1##2
\_
STOP
_{
\doignoreyyy
{
##2
}
\_
STOP
_}
%
\long\def\doignoretextyyy
##1
^^
M@#1##2
\_
STOP
_{
\doignoreyyy
{
##2
}
\_
STOP
_}
%
%
%
% And now expand that command.
% And now expand that command.
\obeylines
%
\doignoretext
^^
M
%
\doignoretext
^^
M
%
}
%
}
%
}
}
...
@@ -3022,7 +3240,12 @@ where each line of input produces a line of output.}
...
@@ -3022,7 +3240,12 @@ where each line of input produces a line of output.}
}
}
% Finish off ignored text.
% Finish off ignored text.
\def\enddoignore
{
\endgroup\ignorespaces
}
{
\obeylines
%
% Ignore anything after the last `@end #1'; this matters in verbatim
% environments, where otherwise the newline after an ignored conditional
% would result in a blank line in the output.
\gdef\enddoignore
#1
^^
M
{
\endgroup\ignorespaces
}
%
}
% @set VAR sets the variable VAR to an empty value.
% @set VAR sets the variable VAR to an empty value.
...
@@ -3222,34 +3445,41 @@ where each line of input produces a line of output.}
...
@@ -3222,34 +3445,41 @@ where each line of input produces a line of output.}
% we have to laboriously prevent expansion for those that we don't.
% we have to laboriously prevent expansion for those that we don't.
%
%
\def\indexdummies
{
%
\def\indexdummies
{
%
\escapechar
= `
\\
% use backslash in output files.
\def\@
{
@
}
% change to @@ when we switch to @ as escape char in index files.
\def\@
{
@
}
% change to @@ when we switch to @ as escape char in index files.
\def\
{
\realbackslash\space
}
%
\def\
{
\realbackslash\space
}
%
%
% Need these in case \tex is in effect and \{ is a \delimiter again.
% Need these in case \tex is in effect and \{ is a \delimiter again.
% But can't use \lbracecmd and \rbracecmd because texindex assumes
% But can't use \lbracecmd and \rbracecmd because texindex assumes
% braces and backslashes are used only as delimiters.
% braces and backslashes are used only as delimiters.
\let\{
=
\mylbrace
\let\{
=
\mylbrace
\let\}
=
\myrbrace
\let\}
=
\myrbrace
%
%
% \definedummyword defines \#1 as \realbackslash #1\space, thus
% I don't entirely understand this, but when an index entry is
% effectively preventing its expansion. This is used only for control
% generated from a macro call, the \endinput which \scanmacro inserts
% words, not control letters, because the \space would be incorrect
% causes processing to be prematurely terminated. This is,
% for control characters, but is needed to separate the control word
% apparently, because \indexsorttmp is fully expanded, and \endinput
% from whatever follows.
% is an expandable command. The redefinition below makes \endinput
%
% disappear altogether for that purpose -- although logging shows that
% For control letters, we have \definedummyletter, which omits the
% processing continues to some further point. On the other hand, it
% space.
% seems \endinput does not hurt in the printed index arg, since that
%
% is still getting written without apparent harm.
% These can be used both for control words that take an argument and
%
% those that do not. If it is followed by {arg} in the input, then
% Sample source (mac-idx3.tex, reported by Graham Percival to
% that will dutifully get written to the index (or wherever).
% help-texinfo, 22may06):
%
% @macro funindex {WORD}
\def\definedummyword
##1
{
%
% @findex xyz
\expandafter\def\csname
##1
\endcsname
{
\realbackslash
##1
\space
}
%
% @end macro
}
%
% ...
\def\definedummyletter
##1
{
%
% @funindex commtest
\expandafter\def\csname
##1
\endcsname
{
\realbackslash
##1
}
%
%
}
%
% The above is not enough to reproduce the bug, but it gives the flavor.
\let\definedummyaccent\definedummyletter
%
% Sample whatsit resulting:
% .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
%
% So:
\let\endinput
=
\empty
%
%
% Do the redefinitions.
% Do the redefinitions.
\commondummies
\commondummies
...
@@ -3266,147 +3496,152 @@ where each line of input produces a line of output.}
...
@@ -3266,147 +3496,152 @@ where each line of input produces a line of output.}
\let\{
=
\lbraceatcmd
\let\{
=
\lbraceatcmd
\let\}
=
\rbraceatcmd
\let\}
=
\rbraceatcmd
%
%
% (See comments in \indexdummies.)
\def\definedummyword
##1
{
%
\expandafter\def\csname
##1
\endcsname
{
@##1
\space
}
%
}
%
\def\definedummyletter
##1
{
%
\expandafter\def\csname
##1
\endcsname
{
@##1
}
%
}
%
\let\definedummyaccent\definedummyletter
%
% Do the redefinitions.
% Do the redefinitions.
\commondummies
\commondummies
\otherbackslash
}
}
% Called from \indexdummies and \atdummies. \definedummyword and
% Called from \indexdummies and \atdummies.
% \definedummyletter must be defined first.
%
%
\def\commondummies
{
%
\def\commondummies
{
%
%
%
\normalturnoffactive
% \definedummyword defines \#1 as \string\#1\space, thus effectively
% preventing its expansion. This is used only for control% words,
% not control letters, because the \space would be incorrect for
% control characters, but is needed to separate the control word
% from whatever follows.
%
% For control letters, we have \definedummyletter, which omits the
% space.
%
% These can be used both for control words that take an argument and
% those that do not. If it is followed by {arg} in the input, then
% that will dutifully get written to the index (or wherever).
%
\def\definedummyword
##1
{
\def
##1
{
\string
##1
\space
}}
%
\def\definedummyletter
##1
{
\def
##1
{
\string
##1
}}
%
\let\definedummyaccent\definedummyletter
%
%
\commondummiesnofonts
\commondummiesnofonts
%
%
\definedummyletter
{_}
%
\definedummyletter
\_
%
%
%
% Non-English letters.
% Non-English letters.
\definedummyword
{
AA
}
%
\definedummyword
\AA
\definedummyword
{
AE
}
%
\definedummyword
\AE
\definedummyword
{
L
}
%
\definedummyword
\L
\definedummyword
{
OE
}
%
\definedummyword
\OE
\definedummyword
{
O
}
%
\definedummyword
\O
\definedummyword
{
aa
}
%
\definedummyword
\aa
\definedummyword
{
ae
}
%
\definedummyword
\ae
\definedummyword
{
l
}
%
\definedummyword
\l
\definedummyword
{
oe
}
%
\definedummyword
\oe
\definedummyword
{
o
}
%
\definedummyword
\o
\definedummyword
{
ss
}
%
\definedummyword
\ss
\definedummyword
{
exclamdown
}
%
\definedummyword
\exclamdown
\definedummyword
{
questiondown
}
%
\definedummyword
\questiondown
\definedummyword
{
ordf
}
%
\definedummyword
\ordf
\definedummyword
{
ordm
}
%
\definedummyword
\ordm
%
%
% Although these internal commands shouldn't show up, sometimes they do.
% Although these internal commands shouldn't show up, sometimes they do.
\definedummyword
{
bf
}
%
\definedummyword
\bf
\definedummyword
{
gtr
}
%
\definedummyword
\gtr
\definedummyword
{
hat
}
%
\definedummyword
\hat
\definedummyword
{
less
}
%
\definedummyword
\less
\definedummyword
{
sf
}
%
\definedummyword
\sf
\definedummyword
{
sl
}
%
\definedummyword
\sl
\definedummyword
{
tclose
}
%
\definedummyword
\tclose
\definedummyword
{
tt
}
%
\definedummyword
\tt
%
%
\definedummyword
{
LaTeX
}
%
\definedummyword
\LaTeX
\definedummyword
{
TeX
}
%
\definedummyword
\TeX
%
%
% Assorted special characters.
% Assorted special characters.
\definedummyword
{
bullet
}
%
\definedummyword\bullet
\definedummyword
{
comma
}
%
\definedummyword\comma
\definedummyword
{
copyright
}
%
\definedummyword\copyright
\definedummyword
{
registeredsymbol
}
%
\definedummyword\registeredsymbol
\definedummyword
{
dots
}
%
\definedummyword\dots
\definedummyword
{
enddots
}
%
\definedummyword\enddots
\definedummyword
{
equiv
}
%
\definedummyword\equiv
\definedummyword
{
error
}
%
\definedummyword\error
\definedummyword
{
euro
}
%
\definedummyword\euro
\definedummyword
{
expansion
}
%
\definedummyword\expansion
\definedummyword
{
minus
}
%
\definedummyword\minus
\definedummyword
{
pounds
}
%
\definedummyword\pounds
\definedummyword
{
point
}
%
\definedummyword\point
\definedummyword
{
print
}
%
\definedummyword\print
\definedummyword
{
result
}
%
\definedummyword\result
\definedummyword\textdegree
%
% We want to disable all macros so that they are not expanded by \write.
\macrolist
%
\normalturnoffactive
%
%
% Handle some cases of @value -- where it does not contain any
% Handle some cases of @value -- where it does not contain any
% (non-fully-expandable) commands.
% (non-fully-expandable) commands.
\makevalueexpandable
\makevalueexpandable
%
% Normal spaces, not active ones.
\unsepspaces
%
% No macro expansion.
\turnoffmacros
}
}
% \commondummiesnofonts: common to \commondummies and \indexnofonts.
% \commondummiesnofonts: common to \commondummies and \indexnofonts.
%
%
% Better have this without active chars.
\def\commondummiesnofonts
{
%
{
% Control letters and accents.
\catcode
`
\~
=
\other
\definedummyletter\!
%
\gdef\commondummiesnofonts
{
%
\definedummyaccent\"
%
% Control letters and accents.
\definedummyaccent\'
%
\definedummyletter
{
!
}
%
\definedummyletter\*
%
\definedummyaccent
{
"
}
%
\definedummyaccent\,
%
\definedummyaccent
{
'
}
%
\definedummyletter\.
%
\definedummyletter
{
*
}
%
\definedummyletter\/
%
\definedummyaccent
{
,
}
%
\definedummyletter\:
%
\definedummyletter
{
.
}
%
\definedummyaccent\=
%
\definedummyletter
{
/
}
%
\definedummyletter\?
%
\definedummyletter
{
:
}
%
\definedummyaccent\^
%
\definedummyaccent
{
=
}
%
\definedummyaccent\`
%
\definedummyletter
{
?
}
%
\definedummyaccent\~
%
\definedummyaccent
{^}
%
\definedummyword\u
\definedummyaccent
{
`
}
%
\definedummyword\v
\definedummyaccent
{
~
}
%
\definedummyword\H
\definedummyword
{
u
}
%
\definedummyword\dotaccent
\definedummyword
{
v
}
%
\definedummyword\ringaccent
\definedummyword
{
H
}
%
\definedummyword\tieaccent
\definedummyword
{
dotaccent
}
%
\definedummyword\ubaraccent
\definedummyword
{
ringaccent
}
%
\definedummyword\udotaccent
\definedummyword
{
tieaccent
}
%
\definedummyword\dotless
\definedummyword
{
ubaraccent
}
%
%
\definedummyword
{
udotaccent
}
%
% Texinfo font commands.
\definedummyword
{
dotless
}
%
\definedummyword\b
%
\definedummyword\i
% Texinfo font commands.
\definedummyword\r
\definedummyword
{
b
}
%
\definedummyword\sc
\definedummyword
{
i
}
%
\definedummyword\t
\definedummyword
{
r
}
%
%
\definedummyword
{
sc
}
%
% Commands that take arguments.
\definedummyword
{
t
}
%
\definedummyword\acronym
%
\definedummyword\cite
% Commands that take arguments.
\definedummyword\code
\definedummyword
{
acronym
}
%
\definedummyword\command
\definedummyword
{
cite
}
%
\definedummyword\dfn
\definedummyword
{
code
}
%
\definedummyword\emph
\definedummyword
{
command
}
%
\definedummyword\env
\definedummyword
{
dfn
}
%
\definedummyword\file
\definedummyword
{
emph
}
%
\definedummyword\kbd
\definedummyword
{
env
}
%
\definedummyword\key
\definedummyword
{
file
}
%
\definedummyword\math
\definedummyword
{
kbd
}
%
\definedummyword\option
\definedummyword
{
key
}
%
\definedummyword\pxref
\definedummyword
{
math
}
%
\definedummyword\ref
\definedummyword
{
option
}
%
\definedummyword\samp
\definedummyword
{
samp
}
%
\definedummyword\strong
\definedummyword
{
strong
}
%
\definedummyword\tie
\definedummyword
{
tie
}
%
\definedummyword\uref
\definedummyword
{
uref
}
%
\definedummyword\url
\definedummyword
{
url
}
%
\definedummyword\var
\definedummyword
{
var
}
%
\definedummyword\verb
\definedummyword
{
verb
}
%
\definedummyword\w
\definedummyword
{
w
}
%
\definedummyword\xref
}
}
}
% \indexnofonts is used when outputting the strings to sort the index
% \indexnofonts is used when outputting the strings to sort the index
...
@@ -3416,13 +3651,9 @@ where each line of input produces a line of output.}
...
@@ -3416,13 +3651,9 @@ where each line of input produces a line of output.}
%
%
\def\indexnofonts
{
%
\def\indexnofonts
{
%
% Accent commands should become @asis.
% Accent commands should become @asis.
\def\definedummyaccent
##1
{
%
\def\definedummyaccent
##1
{
\let
##1
\asis
}
%
\expandafter\let\csname
##1
\endcsname\asis
}
%
% We can just ignore other control letters.
% We can just ignore other control letters.
\def\definedummyletter
##1
{
%
\def\definedummyletter
##1
{
\let
##1
\empty
}
%
\expandafter\def\csname
##1
\endcsname
{}
%
}
%
% Hopefully, all control words can become @asis.
% Hopefully, all control words can become @asis.
\let\definedummyword\definedummyaccent
\let\definedummyword\definedummyaccent
%
%
...
@@ -3475,9 +3706,19 @@ where each line of input produces a line of output.}
...
@@ -3475,9 +3706,19 @@ where each line of input produces a line of output.}
\def\point
{
.
}
%
\def\point
{
.
}
%
\def\print
{
-|
}
%
\def\print
{
-|
}
%
\def\result
{
=>
}
%
\def\result
{
=>
}
%
\def\textdegree
{
degrees
}
%
%
%
% Don't write macro names.
% We need to get rid of all macros, leaving only the arguments (if present).
\emptyusermacros
% Of course this is not nearly correct, but it is the best we can do for now.
% makeinfo does not expand macros in the argument to @deffn, which ends up
% writing an index entry, and texindex isn't prepared for an index sort entry
% that starts with \.
%
% Since macro invocations are followed by braces, we can just redefine them
% to take a single TeX argument. The case of a macro invocation that
% goes to end-of-line is not handled.
%
\macrolist
}
}
\let\indexbackslash
=0
%overridden during \printindex.
\let\indexbackslash
=0
%overridden during \printindex.
...
@@ -3524,7 +3765,6 @@ where each line of input produces a line of output.}
...
@@ -3524,7 +3765,6 @@ where each line of input produces a line of output.}
%
%
% Remember, we are within a group.
% Remember, we are within a group.
\indexdummies
% Must do this here, since \bf, etc expand at this stage
\indexdummies
% Must do this here, since \bf, etc expand at this stage
\escapechar
=`
\\
\def\backslashcurfont
{
\indexbackslash
}
% \indexbackslash isn't defined now
\def\backslashcurfont
{
\indexbackslash
}
% \indexbackslash isn't defined now
% so it will be output as is; and it will print as backslash.
% so it will be output as is; and it will print as backslash.
%
%
...
@@ -3815,9 +4055,9 @@ where each line of input produces a line of output.}
...
@@ -3815,9 +4055,9 @@ where each line of input produces a line of output.}
\endgroup
\endgroup
}
}
% Like
\dotfill except takes
at least 1 em.
% Like
plain.tex's \dotfill, except uses up
at least 1 em.
\def\indexdotfill
{
\cleaders
\def\indexdotfill
{
\cleaders
\hbox
{$
\mathsurround
=
0
pt
\mkern
1
.
5
mu
${
\it
.
}$
\mkern
1
.
5
mu
$}
\hskip
1em plus 1fill
}
\hbox
{$
\mathsurround
=
0
pt
\mkern
1
.
5
mu
.
\mkern
1
.
5
mu
$}
\hskip
1em plus 1fill
}
\def\primary
#1
{
\line
{
#1
\hfil
}}
\def\primary
#1
{
\line
{
#1
\hfil
}}
...
@@ -4391,14 +4631,17 @@ where each line of input produces a line of output.}
...
@@ -4391,14 +4631,17 @@ where each line of input produces a line of output.}
\ifx\temptype\Ynothingkeyword
\ifx\temptype\Ynothingkeyword
\setbox
0 =
\hbox
{}
%
\setbox
0 =
\hbox
{}
%
\def\toctype
{
unnchap
}
%
\def\toctype
{
unnchap
}
%
\gdef\thischapternum
{}
%
\gdef\thischapter
{
#1
}
%
\gdef\thischapter
{
#1
}
%
\else\ifx\temptype\Yomitfromtockeyword
\else\ifx\temptype\Yomitfromtockeyword
\setbox
0 =
\hbox
{}
% contents like unnumbered, but no toc entry
\setbox
0 =
\hbox
{}
% contents like unnumbered, but no toc entry
\def\toctype
{
omit
}
%
\def\toctype
{
omit
}
%
\gdef\thischapternum
{}
%
\gdef\thischapter
{}
%
\gdef\thischapter
{}
%
\else\ifx\temptype\Yappendixkeyword
\else\ifx\temptype\Yappendixkeyword
\setbox
0 =
\hbox
{
\putwordAppendix
{}
#3
\enspace
}
%
\setbox
0 =
\hbox
{
\putwordAppendix
{}
#3
\enspace
}
%
\def\toctype
{
app
}
%
\def\toctype
{
app
}
%
\xdef\thischapternum
{
\appendixletter
}
%
% We don't substitute the actual chapter name into \thischapter
% We don't substitute the actual chapter name into \thischapter
% because we don't want its macros evaluated now. And we don't
% because we don't want its macros evaluated now. And we don't
% use \thissection because that changes with each section.
% use \thissection because that changes with each section.
...
@@ -4408,6 +4651,7 @@ where each line of input produces a line of output.}
...
@@ -4408,6 +4651,7 @@ where each line of input produces a line of output.}
\else
\else
\setbox
0 =
\hbox
{
#3
\enspace
}
%
\setbox
0 =
\hbox
{
#3
\enspace
}
%
\def\toctype
{
numchap
}
%
\def\toctype
{
numchap
}
%
\xdef\thischapternum
{
\the\chapno
}
%
\xdef\thischapter
{
\putwordChapter
{}
\the\chapno
:
\xdef\thischapter
{
\putwordChapter
{}
\the\chapno
:
\noexpand\thischaptername
}
%
\noexpand\thischaptername
}
%
\fi\fi\fi
\fi\fi\fi
...
@@ -4519,13 +4763,21 @@ where each line of input produces a line of output.}
...
@@ -4519,13 +4763,21 @@ where each line of input produces a line of output.}
\gdef\thissection
{
#1
}
%
\gdef\thissection
{
#1
}
%
\fi\fi\fi
\fi\fi\fi
%
%
% Write the toc entry (before \donoderef). See comments in \ch
fplain
.
% Write the toc entry (before \donoderef). See comments in \ch
apmacro
.
\writetocentry
{
\toctype\sectionlevel
}{
#1
}{
#4
}
%
\writetocentry
{
\toctype\sectionlevel
}{
#1
}{
#4
}
%
%
%
% Write the node reference (= pdf destination for pdftex).
% Write the node reference (= pdf destination for pdftex).
% Again, see comments in \ch
fplain
.
% Again, see comments in \ch
apmacro
.
\donoderef
{
#3
}
%
\donoderef
{
#3
}
%
%
%
% Interline glue will be inserted when the vbox is completed.
% That glue will be a valid breakpoint for the page, since it'll be
% preceded by a whatsit (usually from the \donoderef, or from the
% \writetocentry if there was no node). We don't want to allow that
% break, since then the whatsits could end up on page n while the
% section is on page n+1, thus toc/etc. are wrong. Debian bug 276000.
\nobreak
%
% Output the actual section heading.
% Output the actual section heading.
\vbox
{
\hyphenpenalty
=10000
\tolerance
=5000
\parindent
=0pt
\raggedright
\vbox
{
\hyphenpenalty
=10000
\tolerance
=5000
\parindent
=0pt
\raggedright
\hangindent
=
\wd
0
% zero if no section number
\hangindent
=
\wd
0
% zero if no section number
...
@@ -4584,11 +4836,11 @@ where each line of input produces a line of output.}
...
@@ -4584,11 +4836,11 @@ where each line of input produces a line of output.}
\fi
\fi
%
%
\iflinks
\iflinks
{
\atdummies
\turnoffactive
{
\atdummies
\edef\temp
{
%
\edef\temp
{
%
\write\tocfile
{
@#1entry
{
#2
}{
#3
}{
\lastnode
}{
\noexpand\folio
}}}
%
\write\tocfile
{
@#1entry
{
#2
}{
#3
}{
\lastnode
}{
\noexpand\folio
}}}
%
\temp
\temp
}
}
%
\fi
\fi
\fi
\fi
%
%
...
@@ -4840,7 +5092,7 @@ where each line of input produces a line of output.}
...
@@ -4840,7 +5092,7 @@ where each line of input produces a line of output.}
{
\tentt
\global\dimen
0 = 3em
}
% Width of the box.
{
\tentt
\global\dimen
0 = 3em
}
% Width of the box.
\dimen
2 = .55pt
% Thickness of rules
\dimen
2 = .55pt
% Thickness of rules
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
% The text. (`r' is open on the right, `e' somewhat less so on the left.)
\setbox
0 =
\hbox
{
\kern
-.75pt
\
ten
sf
error
\kern
-1.5pt
}
\setbox
0 =
\hbox
{
\kern
-.75pt
\
reduced
sf
error
\kern
-1.5pt
}
%
%
\setbox\errorbox
=
\hbox
to
\dimen
0
{
\hfil
\setbox\errorbox
=
\hbox
to
\dimen
0
{
\hfil
\hsize
=
\dimen
0
\advance\hsize
by -5.8pt
% Space to left+right.
\hsize
=
\dimen
0
\advance\hsize
by -5.8pt
% Space to left+right.
...
@@ -4934,7 +5186,8 @@ where each line of input produces a line of output.}
...
@@ -4934,7 +5186,8 @@ where each line of input produces a line of output.}
\let\afterenvbreak
=
\aboveenvbreak
\let\afterenvbreak
=
\aboveenvbreak
% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins.
% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will
% also clear it, so that its embedded environments do the narrowing again.
\let\nonarrowing
=
\relax
\let\nonarrowing
=
\relax
% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
...
@@ -4971,7 +5224,7 @@ where each line of input produces a line of output.}
...
@@ -4971,7 +5224,7 @@ where each line of input produces a line of output.}
% each corner char, and rule thickness
% each corner char, and rule thickness
\normbskip
=
\baselineskip
\normpskip
=
\parskip
\normlskip
=
\lineskip
\normbskip
=
\baselineskip
\normpskip
=
\parskip
\normlskip
=
\lineskip
% Flag to tell @lisp, etc., not to narrow margin.
% Flag to tell @lisp, etc., not to narrow margin.
\let\nonarrowing
=
\comment
\let\nonarrowing
= t
%
\vbox\bgroup
\vbox\bgroup
\baselineskip
=0pt
\parskip
=0pt
\lineskip
=0pt
\baselineskip
=0pt
\parskip
=0pt
\lineskip
=0pt
\carttop
\carttop
...
@@ -5011,11 +5264,11 @@ where each line of input produces a line of output.}
...
@@ -5011,11 +5264,11 @@ where each line of input produces a line of output.}
\parskip
= 0pt
\parskip
= 0pt
\parindent
= 0pt
\parindent
= 0pt
\emergencystretch
= 0pt
% don't try to avoid overfull boxes
\emergencystretch
= 0pt
% don't try to avoid overfull boxes
% @cartouche defines \nonarrowing to inhibit narrowing
% at next level down.
\ifx\nonarrowing\relax
\ifx\nonarrowing\relax
\advance
\leftskip
by
\lispnarrowing
\advance
\leftskip
by
\lispnarrowing
\exdentamount
=
\lispnarrowing
\exdentamount
=
\lispnarrowing
\else
\let\nonarrowing
=
\relax
\fi
\fi
\let\exdent
=
\nofillexdent
\let\exdent
=
\nofillexdent
}
}
...
@@ -5062,11 +5315,10 @@ where each line of input produces a line of output.}
...
@@ -5062,11 +5315,10 @@ where each line of input produces a line of output.}
%
%
\maketwodispenvs
{
lisp
}{
example
}{
%
\maketwodispenvs
{
lisp
}{
example
}{
%
\nonfillstart
\nonfillstart
\tt
\tt
\quoteexpand
\let\kbdfont
=
\kbdexamplefont
% Allow @kbd to do something special.
\let\kbdfont
=
\kbdexamplefont
% Allow @kbd to do something special.
\gobble
% eat return
\gobble
% eat return
}
}
% @display/@smalldisplay: same as @lisp except keep current font.
% @display/@smalldisplay: same as @lisp except keep current font.
%
%
\makedispenv
{
display
}{
%
\makedispenv
{
display
}{
%
...
@@ -5115,6 +5367,7 @@ where each line of input produces a line of output.}
...
@@ -5115,6 +5367,7 @@ where each line of input produces a line of output.}
\advance\leftskip
by
\lispnarrowing
\advance\leftskip
by
\lispnarrowing
\advance\rightskip
by
\lispnarrowing
\advance\rightskip
by
\lispnarrowing
\exdentamount
=
\lispnarrowing
\exdentamount
=
\lispnarrowing
\else
\let\nonarrowing
=
\relax
\let\nonarrowing
=
\relax
\fi
\fi
\parsearg\quotationlabel
\parsearg\quotationlabel
...
@@ -5193,6 +5446,34 @@ where each line of input produces a line of output.}
...
@@ -5193,6 +5446,34 @@ where each line of input produces a line of output.}
\newdimen\tabw
\setbox
0=
\hbox
{
\tt\space
}
\tabw
=8
\wd
0
% tab amount
\newdimen\tabw
\setbox
0=
\hbox
{
\tt\space
}
\tabw
=8
\wd
0
% tab amount
%
%
\def\starttabbox
{
\setbox
0=
\hbox\bgroup
}
\def\starttabbox
{
\setbox
0=
\hbox\bgroup
}
% Allow an option to not replace quotes with a regular directed right
% quote/apostrophe (char 0x27), but instead use the undirected quote
% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it
% the default, but it works for pasting with more pdf viewers (at least
% evince), the lilypond developers report. xpdf does work with the
% regular 0x27.
%
\def\codequoteright
{
%
\expandafter\ifx\csname
SETcodequoteundirected
\endcsname\relax
'
%
\else
\char
'15
\fi
}
%
% and a similar option for the left quote char vs. a grave accent.
% Modern fonts display ASCII 0x60 as a grave accent, so some people like
% the code environments to do likewise.
%
\def\codequoteleft
{
%
\expandafter\ifx\csname
SETcodequotebacktick
\endcsname\relax
`
%
\else
\char
'22
\fi
}
%
\begingroup
\begingroup
\catcode
`
\^
^
I=
\active
\catcode
`
\^
^
I=
\active
\gdef\tabexpand
{
%
\gdef\tabexpand
{
%
...
@@ -5205,15 +5486,25 @@ where each line of input produces a line of output.}
...
@@ -5205,15 +5486,25 @@ where each line of input produces a line of output.}
\wd
0=
\dimen
0
\box
0
\starttabbox
\wd
0=
\dimen
0
\box
0
\starttabbox
}
%
}
%
}
}
\catcode
`
\'
=
\active
\gdef\rquoteexpand
{
\catcode\rquoteChar
=
\active
\def
'
{
\codequoteright
}}
%
%
\catcode
`
\`
=
\active
\gdef\lquoteexpand
{
\catcode\lquoteChar
=
\active
\def
`
{
\codequoteleft
}}
%
%
\gdef\quoteexpand
{
\rquoteexpand
\lquoteexpand
}
%
\endgroup
\endgroup
% start the verbatim environment.
\def\setupverbatim
{
%
\def\setupverbatim
{
%
\let\nonarrowing
= t
%
\nonfillstart
\nonfillstart
\advance\leftskip
by -
\defbodyindent
% Easiest (and conventionally used) font for verbatim
% Easiest (and conventionally used) font for verbatim
\tt
\tt
\def\par
{
\leavevmode\egroup\box
0
\endgraf
}
%
\def\par
{
\leavevmode\egroup\box
0
\endgraf
}
%
\catcode
`
\`
=
\active
\catcode
`
\`
=
\active
\tabexpand
\tabexpand
\quoteexpand
% Respect line breaks,
% Respect line breaks,
% print special symbols as themselves, and
% print special symbols as themselves, and
% make each space count
% make each space count
...
@@ -5663,7 +5954,6 @@ where each line of input produces a line of output.}
...
@@ -5663,7 +5954,6 @@ where each line of input produces a line of output.}
\spaceisspace
\spaceisspace
%
%
% Append \endinput to make sure that TeX does not see the ending newline.
% Append \endinput to make sure that TeX does not see the ending newline.
%
% I've verified that it is necessary both for e-TeX and for ordinary TeX
% I've verified that it is necessary both for e-TeX and for ordinary TeX
% --kasal, 29nov03
% --kasal, 29nov03
\scantokens
{
#1
\endinput
}
%
\scantokens
{
#1
\endinput
}
%
...
@@ -5678,8 +5968,19 @@ where each line of input produces a line of output.}
...
@@ -5678,8 +5968,19 @@ where each line of input produces a line of output.}
\newcount\paramno
% Count of parameters
\newcount\paramno
% Count of parameters
\newtoks\macname
% Macro name
\newtoks\macname
% Macro name
\newif\ifrecursive
% Is it recursive?
\newif\ifrecursive
% Is it recursive?
\def\macrolist
{}
% List of all defined macros in the form
% \do\macro1\do\macro2...
% List of all defined macros in the form
% \definedummyword\macro1\definedummyword\macro2...
% Currently is also contains all @aliases; the list can be split
% if there is a need.
\def\macrolist
{}
% Add the macro to \macrolist
\def\addtomacrolist
#1
{
\expandafter
\addtomacrolistxxx
\csname
#1
\endcsname
}
\def\addtomacrolistxxx
#1
{
%
\toks
0 =
\expandafter
{
\macrolist\definedummyword
#1
}
%
\xdef\macrolist
{
\the\toks
0
}
%
}
% Utility routines.
% Utility routines.
% This does \let #1 = #2, with \csnames; that is,
% This does \let #1 = #2, with \csnames; that is,
...
@@ -5777,10 +6078,7 @@ where each line of input produces a line of output.}
...
@@ -5777,10 +6078,7 @@ where each line of input produces a line of output.}
\else
\errmessage
{
Macro name
\the\macname\space
already defined
}
\fi
\else
\errmessage
{
Macro name
\the\macname\space
already defined
}
\fi
\global\cslet
{
macsave.
\the\macname
}{
\the\macname
}
%
\global\cslet
{
macsave.
\the\macname
}{
\the\macname
}
%
\global\expandafter\let\csname
ismacro.
\the\macname\endcsname
=1
%
\global\expandafter\let\csname
ismacro.
\the\macname\endcsname
=1
%
% Add the macroname to \macrolist
\addtomacrolist
{
\the\macname
}
%
\toks
0 =
\expandafter
{
\macrolist\do
}
%
\xdef\macrolist
{
\the\toks
0
\expandafter\noexpand\csname\the\macname\endcsname
}
%
\fi
\fi
\begingroup
\macrobodyctxt
\begingroup
\macrobodyctxt
\ifrecursive
\expandafter\parsermacbody
\ifrecursive
\expandafter\parsermacbody
...
@@ -5794,7 +6092,7 @@ where each line of input produces a line of output.}
...
@@ -5794,7 +6092,7 @@ where each line of input produces a line of output.}
% Remove the macro name from \macrolist:
% Remove the macro name from \macrolist:
\begingroup
\begingroup
\expandafter\let\csname
#1
\endcsname
\relax
\expandafter\let\csname
#1
\endcsname
\relax
\let\d
o
\unmacrodo
\let\d
efinedummyword
\unmacrodo
\xdef\macrolist
{
\macrolist
}
%
\xdef\macrolist
{
\macrolist
}
%
\endgroup
\endgroup
\else
\else
...
@@ -5806,10 +6104,10 @@ where each line of input produces a line of output.}
...
@@ -5806,10 +6104,10 @@ where each line of input produces a line of output.}
% macro definitions that have been changed to \relax.
% macro definitions that have been changed to \relax.
%
%
\def\unmacrodo
#1
{
%
\def\unmacrodo
#1
{
%
\ifx
#1
\relax
\ifx
#1
\relax
% remove this
% remove this
\else
\else
\noexpand\d
o
\noexpand
#1
%
\noexpand\d
efinedummyword
\noexpand
#1
%
\fi
\fi
}
}
...
@@ -5922,30 +6220,11 @@ where each line of input produces a line of output.}
...
@@ -5922,30 +6220,11 @@ where each line of input produces a line of output.}
% {. If so it reads up to the closing }, if not, it reads the whole
% {. If so it reads up to the closing }, if not, it reads the whole
% line. Whatever was read is then fed to the next control sequence
% line. Whatever was read is then fed to the next control sequence
% as an argument (by \parsebrace or \parsearg)
% as an argument (by \parsebrace or \parsearg)
\def\braceorline
#1
{
\let\
next
=#1
\futurelet\nchar\braceorlinexxx
}
\def\braceorline
#1
{
\let\
macnamexxx
=#1
\futurelet\nchar\braceorlinexxx
}
\def\braceorlinexxx
{
%
\def\braceorlinexxx
{
%
\ifx\nchar\bgroup\else
\ifx\nchar\bgroup\else
\expandafter\parsearg
\expandafter\parsearg
\fi
\next
}
\fi
\macnamexxx
}
% We want to disable all macros during \shipout so that they are not
% expanded by \write.
\def\turnoffmacros
{
\begingroup
\def\do
##1
{
\let\noexpand
##1=
\relax
}
%
\edef\next
{
\macrolist
}
\expandafter\endgroup\next
}
% For \indexnofonts, we need to get rid of all macros, leaving only the
% arguments (if present). Of course this is not nearly correct, but it
% is the best we can do for now. makeinfo does not expand macros in the
% argument to @deffn, which ends up writing an index entry, and texindex
% isn't prepared for an index sort entry that starts with \.
%
% Since macro invocations are followed by braces, we can just redefine them
% to take a single TeX argument. The case of a macro invocation that
% goes to end-of-line is not handled.
%
\def\emptyusermacros
{
\begingroup
\def\do
##1
{
\let\noexpand
##1=
\noexpand\asis
}
%
\edef\next
{
\macrolist
}
\expandafter\endgroup\next
}
% @alias.
% @alias.
...
@@ -5956,6 +6235,7 @@ where each line of input produces a line of output.}
...
@@ -5956,6 +6235,7 @@ where each line of input produces a line of output.}
\def\aliasyyy
#1=#2
\relax
{
%
\def\aliasyyy
#1=#2
\relax
{
%
{
%
{
%
\expandafter\let\obeyedspace
=
\empty
\expandafter\let\obeyedspace
=
\empty
\addtomacrolist
{
#1
}
%
\xdef\next
{
\global\let\makecsname
{
#1
}
=
\makecsname
{
#2
}}
%
\xdef\next
{
\global\let\makecsname
{
#1
}
=
\makecsname
{
#2
}}
%
}
%
}
%
\next
\next
...
@@ -6025,7 +6305,6 @@ where each line of input produces a line of output.}
...
@@ -6025,7 +6305,6 @@ where each line of input produces a line of output.}
\iflinks
\iflinks
{
%
{
%
\atdummies
% preserve commands, but don't expand them
\atdummies
% preserve commands, but don't expand them
\turnoffactive
\edef\writexrdef
##1##2
{
%
\edef\writexrdef
##1##2
{
%
\write\auxfile
{
@xrdef
{
#1-
% #1 of \setref, expanded by the \edef
\write\auxfile
{
@xrdef
{
#1-
% #1 of \setref, expanded by the \edef
##1
}{
##2
}}
% these are parameters of \writexrdef
##1
}{
##2
}}
% these are parameters of \writexrdef
...
@@ -6110,7 +6389,7 @@ where each line of input produces a line of output.}
...
@@ -6110,7 +6389,7 @@ where each line of input produces a line of output.}
% If the user specified the print name (third arg) to the ref,
% If the user specified the print name (third arg) to the ref,
% print it instead of our usual "Figure 1.2".
% print it instead of our usual "Figure 1.2".
\ifdim\wd
0 = 0pt
\ifdim\wd
0 = 0pt
\refx
{
#1-snt
}
%
\refx
{
#1-snt
}
{}
%
\else
\else
\printedrefname
\printedrefname
\fi
\fi
...
@@ -6540,7 +6819,7 @@ where each line of input produces a line of output.}
...
@@ -6540,7 +6819,7 @@ where each line of input produces a line of output.}
% above and below.
% above and below.
\nobreak\vskip\parskip
\nobreak\vskip\parskip
\nobreak
\nobreak
\line\bgroup
\hss
\line\bgroup
\fi
\fi
%
%
% Output the image.
% Output the image.
...
@@ -6553,7 +6832,7 @@ where each line of input produces a line of output.}
...
@@ -6553,7 +6832,7 @@ where each line of input produces a line of output.}
\epsfbox
{
#1.eps
}
%
\epsfbox
{
#1.eps
}
%
\fi
\fi
%
%
\ifimagevmode
\
hss
\
egroup
\bigbreak
\fi
% space after the image
\ifimagevmode
\egroup
\bigbreak
\fi
% space after the image
\endgroup
}
\endgroup
}
...
@@ -6693,7 +6972,8 @@ where each line of input produces a line of output.}
...
@@ -6693,7 +6972,8 @@ where each line of input produces a line of output.}
% \floatlabel-lof. Besides \floatident, we include the short
% \floatlabel-lof. Besides \floatident, we include the short
% caption if specified, else the full caption if specified, else nothing.
% caption if specified, else the full caption if specified, else nothing.
{
%
{
%
\atdummies
\turnoffactive
\atdummies
%
% since we read the caption text in the macro world, where ^^M
% since we read the caption text in the macro world, where ^^M
% is turned into a normal character, we have to scan it back, so
% is turned into a normal character, we have to scan it back, so
% we don't write the literal three characters "^^M" into the aux file.
% we don't write the literal three characters "^^M" into the aux file.
...
@@ -6714,8 +6994,9 @@ where each line of input produces a line of output.}
...
@@ -6714,8 +6994,9 @@ where each line of input produces a line of output.}
%
%
% place the captured inserts
% place the captured inserts
%
%
% BEWARE: when the floats start float, we have to issue warning whenever an
% BEWARE: when the floats start floating, we have to issue warning
% insert appears inside a float which could possibly float. --kasal, 26may04
% whenever an insert appears inside a float which could possibly
% float. --kasal, 26may04
%
%
\checkinserts
\checkinserts
}
}
...
@@ -7142,6 +7423,13 @@ should work if nowhere else does.}
...
@@ -7142,6 +7423,13 @@ should work if nowhere else does.}
% \otherifyactive is called near the end of this file.
% \otherifyactive is called near the end of this file.
\def\otherifyactive
{
\catcode
`+=
\other
\catcode
`
\_
=
\other
}
\def\otherifyactive
{
\catcode
`+=
\other
\catcode
`
\_
=
\other
}
% Used sometimes to turn off (effectively) the active characters even after
% parsing them.
\def\turnoffactive
{
%
\normalturnoffactive
\otherbackslash
}
\catcode
`
\@
=0
\catcode
`
\@
=0
% \backslashcurfont outputs one backslash character in current font,
% \backslashcurfont outputs one backslash character in current font,
...
@@ -7149,28 +7437,29 @@ should work if nowhere else does.}
...
@@ -7149,28 +7437,29 @@ should work if nowhere else does.}
\global\chardef\backslashcurfont
=`
\\
\global\chardef\backslashcurfont
=`
\\
\global\let\rawbackslashxx
=
\backslashcurfont
% let existing .??s files work
\global\let\rawbackslashxx
=
\backslashcurfont
% let existing .??s files work
% \rawbackslash defines an active \ to do \backslashcurfont.
% \otherbackslash defines an active \ to be a literal `\' character with
% catcode other.
{
\catcode
`
\\
=
\active
@gdef@rawbackslash
{
@let
\=
@backslashcurfont
}
@gdef@otherbackslash
{
@let
\=
@realbackslash
}
}
% \realbackslash is an actual character `\' with catcode other, and
% \realbackslash is an actual character `\' with catcode other, and
% \doublebackslash is two of them (for the pdf outlines).
% \doublebackslash is two of them (for the pdf outlines).
{
\catcode
`
\\
=
\other
@gdef@realbackslash
{
\}
@gdef@doublebackslash
{
\\
}}
{
\catcode
`
\\
=
\other
@gdef@realbackslash
{
\}
@gdef@doublebackslash
{
\\
}}
% \normalbackslash outputs one backslash in fixed width font.
% In texinfo, backslash is an active character; it prints the backslash
\def\normalbackslash
{{
\tt\backslashcurfont
}}
% in fixed width font.
\catcode
`
\\
=
\active
\catcode
`
\\
=
\active
@def@normalbackslash
{{
@tt@backslashcurfont
}}
% On startup, @fixbackslash assigns:
% @let \ = @normalbackslash
% \rawbackslash defines an active \ to do \backslashcurfont.
% \otherbackslash defines an active \ to be a literal `\' character with
% catcode other.
@gdef@rawbackslash
{
@let
\=
@backslashcurfont
}
@gdef@otherbackslash
{
@let
\=
@realbackslash
}
% Used sometimes to turn off (effectively) the active characters
% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
% even after parsing them.
% the literal character `\'.
@def@turnoffactive
{
%
%
@def@normalturnoffactive
{
%
@let
\=
@normalbackslash
@let"=@normaldoublequote
@let"=@normaldoublequote
@let
\=
@realbackslash
@let~=@normaltilde
@let~=@normaltilde
@let
^
=@normalcaret
@let
^
=@normalcaret
@let
_
=@normalunderscore
@let
_
=@normalunderscore
...
@@ -7182,12 +7471,6 @@ should work if nowhere else does.}
...
@@ -7182,12 +7471,6 @@ should work if nowhere else does.}
@unsepspaces
@unsepspaces
}
}
% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
% the literal character `\'. (Thus, \ is not expandable when this is in
% effect.)
%
@def@normalturnoffactive
{
@turnoffactive @let
\=
@normalbackslash
}
% Make _ and + \other characters, temporarily.
% Make _ and + \other characters, temporarily.
% This is canceled by @fixbackslash.
% This is canceled by @fixbackslash.
@otherifyactive
@otherifyactive
...
@@ -7200,7 +7483,7 @@ should work if nowhere else does.}
...
@@ -7200,7 +7483,7 @@ should work if nowhere else does.}
@global@let
\
=
@eatinput
@global@let
\
=
@eatinput
% On the other hand, perhaps the file did not have a `\input texinfo'. Then
% On the other hand, perhaps the file did not have a `\input texinfo'. Then
% the first `\
{
in the file would cause an error. This macro tries to fix
% the first `\
'
in the file would cause an error. This macro tries to fix
% that, assuming it is called before the first `\' could plausibly occur.
% that, assuming it is called before the first `\' could plausibly occur.
% Also turn back on active characters that might appear in the input
% Also turn back on active characters that might appear in the input
% file name, in case not using a pre-dumped format.
% file name, in case not using a pre-dumped format.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment