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
0f5098ae
Commit
0f5098ae
authored
Feb 05, 2008
by
Joseph Myers
Committed by
Joseph Myers
Feb 05, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* doc/include/texinfo.tex: Update to version 2008-02-04.16.
From-SVN: r132116
parent
59d1426d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1735 additions
and
278 deletions
+1735
-278
gcc/ChangeLog
+4
-0
gcc/doc/include/texinfo.tex
+1731
-278
No files found.
gcc/ChangeLog
View file @
0f5098ae
2008-02-05 Joseph Myers <joseph@codesourcery.com>
* doc/include/texinfo.tex: Update to version 2008-02-04.16.
2008-02-05 Uros Bizjak <ubizjak@gmail.com>
PR target/35083
...
...
gcc/doc/include/texinfo.tex
View file @
0f5098ae
...
...
@@ -3,16 +3,16 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname
fmtname
\endcsname\relax\input
plain
\fi
%
\def\texinfoversion
{
200
6-11-08.17
}
\def\texinfoversion
{
200
8-02-04.16
}
%
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free
% Software Foundation, Inc.
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
,
%
2007, 2008 Free
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
% published by the Free Software Foundation
; either version 2, or (at
% your option) any later version.
% published by the Free Software Foundation
, either version 3 of the
%
License, or (at
your option) any later version.
%
% This texinfo.tex file is distributed in the hope that it will be
% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
...
...
@@ -20,9 +20,7 @@
% General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this texinfo.tex file; see the file COPYING. If not, write
% to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
% Boston, MA 02110-1301, USA.
% along with this program. If not, see <http://www.gnu.org/licenses/>.
%
% As a special exception, when this file is read by TeX when processing
% a Texinfo source document, you may use the result without
...
...
@@ -67,7 +65,7 @@
\everyjob
{
\message
{
[Texinfo version
\texinfoversion
]
}
%
\catcode
`+=
\active
\catcode
`
\_
=
\active
}
\message
{
Basics,
}
\chardef\other
=12
% We never want plain's \outer definition of \+ in Texinfo.
...
...
@@ -99,6 +97,7 @@
\let\ptexslash
=
\/
\let\ptexstar
=
\*
\let\ptext
=
\t
\let\ptextop
=
\top
% If this character appears in an error message or help string, it
% starts a new line in the output.
...
...
@@ -279,6 +278,50 @@
\newdimen\cornerthick
\cornerthick
=.3pt
\newdimen\topandbottommargin
\topandbottommargin
=.75in
% Output a mark which sets \thischapter, \thissection and \thiscolor.
% We dump everything together because we only have one kind of mark.
% This works because we only use \botmark / \topmark, not \firstmark.
%
% A mark contains a subexpression of the \ifcase ... \fi construct.
% \get*marks macros below extract the needed part using \ifcase.
%
% Another complication is to let the user choose whether \thischapter
% (\thissection) refers to the chapter (section) in effect at the top
% of a page, or that at the bottom of a page. The solution is
% described on page 260 of The TeXbook. It involves outputting two
% marks for the sectioning macros, one before the section break, and
% one after. I won't pretend I can describe this better than DEK...
\def\domark
{
%
\toks
0=
\expandafter
{
\lastchapterdefs
}
%
\toks
2=
\expandafter
{
\lastsectiondefs
}
%
\toks
4=
\expandafter
{
\prevchapterdefs
}
%
\toks
6=
\expandafter
{
\prevsectiondefs
}
%
\toks
8=
\expandafter
{
\lastcolordefs
}
%
\mark
{
%
\the\toks
0
\the\toks
2
\noexpand\or
\the\toks
4
\the\toks
6
\noexpand\else
\the\toks
8
}
%
}
% \topmark doesn't work for the very first chapter (after the title
% page or the contents), so we use \firstmark there -- this gets us
% the mark with the chapter defs, unless the user sneaks in, e.g.,
% @setcolor (or @url, or @link, etc.) between @contents and the very
% first @chapter.
\def\gettopheadingmarks
{
%
\ifcase
0
\topmark\fi
\ifx\thischapter\empty
\ifcase
0
\firstmark\fi
\fi
}
\def\getbottomheadingmarks
{
\ifcase
1
\botmark\fi
}
\def\getcolormarks
{
\ifcase
2
\topmark\fi
}
% Avoid "undefined control sequence" errors.
\def\lastchapterdefs
{}
\def\lastsectiondefs
{}
\def\prevchapterdefs
{}
\def\prevsectiondefs
{}
\def\lastcolordefs
{}
% Main output routine.
\chardef\PAGE
= 255
\output
=
{
\onepageout
{
\pagecontents\PAGE
}}
...
...
@@ -296,7 +339,9 @@
%
% Do this outside of the \shipout so @code etc. will be expanded in
% the headline as they should be, not taken literally (outputting ''code).
\ifodd\pageno
\getoddheadingmarks
\else
\getevenheadingmarks
\fi
\setbox\headlinebox
=
\vbox
{
\let\hsize
=
\pagewidth
\makeheadline
}
%
\ifodd\pageno
\getoddfootingmarks
\else
\getevenfootingmarks
\fi
\setbox\footlinebox
=
\vbox
{
\let\hsize
=
\pagewidth
\makefootline
}
%
%
{
%
...
...
@@ -375,7 +420,7 @@
% marginal hacks, juha@viisa.uucp (Juha Takala)
\ifvoid\margin\else
% marginal info is present
\rlap
{
\kern\hsize\vbox
to
\z
@
{
\kern
1pt
\box\margin
\vss
}}
\fi
\dimen
@=
\dp
#1
\unvbox
#1
\dimen
@=
\dp
#1
\relax
\unvbox
#1
\relax
\ifvoid\footins\else\vskip\skip\footins\footnoterule
\unvbox\footins\fi
\ifr
@ggedbottom
\kern
-
\dimen
@
\vfil
\fi
}
}
...
...
@@ -880,9 +925,8 @@ where each line of input produces a line of output.}
\def\thisfile
{
#1
}
%
{
%
\makevalueexpandable
\def\temp
{
\input
#1
}
%
\expandafter
}
\temp
\input
#1
}
%
\popthisfilestack
}
\def\filenamecatcodes
{
%
...
...
@@ -1225,8 +1269,9 @@ where each line of input produces a line of output.}
% To handle parens, we must adopt a different approach, since parens are
% not active characters. hyperref.dtx (which has the same problem as
% us) handles it with this amazing macro to replace tokens. I've
% tinkered with it a little for texinfo, but it's definitely from there.
% us) handles it with this amazing macro to replace tokens, with minor
% changes for Texinfo. It is included here under the GPL by permission
% from the author, Heiko Oberdiek.
%
% #1 is the tokens to replace.
% #2 is the replacement.
...
...
@@ -1261,8 +1306,48 @@ be supported due to the design of the PDF format; use regular TeX (DVI
output) for that.)
}
\ifpdf
\input
pdfcolor
\pdfcatalog
{
/PageMode /UseOutlines
}
%
%
% Color manipulation macros based on pdfcolor.tex.
\def\cmykDarkRed
{
0.28 1 1 0.35
}
\def\cmykBlack
{
0 0 0 1
}
%
\def\pdfsetcolor
#1
{
\pdfliteral
{
#1 k
}}
% Set color, and create a mark which defines \thiscolor accordingly,
% so that \makeheadline knows which color to restore.
\def\setcolor
#1
{
%
\xdef\lastcolordefs
{
\gdef\noexpand\thiscolor
{
#1
}}
%
\domark
\pdfsetcolor
{
#1
}
%
}
%
\def\maincolor
{
\cmykBlack
}
\pdfsetcolor
{
\maincolor
}
\edef\thiscolor
{
\maincolor
}
\def\lastcolordefs
{}
%
\def\makefootline
{
%
\baselineskip
24pt
\line
{
\pdfsetcolor
{
\maincolor
}
\the\footline
}
%
}
%
\def\makeheadline
{
%
\vbox
to 0pt
{
%
\vskip
-22.5pt
\line
{
%
\vbox
to8.5pt
{}
%
% Extract \thiscolor definition from the marks.
\getcolormarks
% Typeset the headline with \maincolor, then restore the color.
\pdfsetcolor
{
\maincolor
}
\the\headline\pdfsetcolor
{
\thiscolor
}
%
}
%
\vss
}
%
\nointerlineskip
}
%
%
\pdfcatalog
{
/PageMode /UseOutlines
}
%
% #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
\def\dopdfimage
#1#2#3
{
%
\def\imagewidth
{
#2
}
\setbox
0 =
\hbox
{
\ignorespaces
#2
}
%
...
...
@@ -1279,20 +1364,15 @@ output) for that.)}
\openin
1 #1.pdf
\ifeof
1
\errhelp
=
\nopdfimagehelp
\errmessage
{
Could not find image file #1 for pdf
}
%
\else
\gdef\pdfimgext
{
pdf
}
%
\else
\gdef\pdfimgext
{
pdf
}
%
\fi
\else
\gdef\pdfimgext
{
JPG
}
%
\else
\gdef\pdfimgext
{
JPG
}
%
\fi
\else
\gdef\pdfimgext
{
jpeg
}
%
\else
\gdef\pdfimgext
{
jpeg
}
%
\fi
\else
\gdef\pdfimgext
{
jpg
}
%
\else
\gdef\pdfimgext
{
jpg
}
%
\fi
\else
\gdef\pdfimgext
{
png
}
%
\else
\gdef\pdfimgext
{
png
}
%
\fi
\closein
1
\endgroup
...
...
@@ -1314,21 +1394,28 @@ output) for that.)}
\ifnum\pdftexversion
< 14
\else
\pdfrefximage
\pdflastximage
\fi
}
%
\def\pdfmkdest
#1
{{
%
% We have to set dummies so commands such as @code, and characters
% such as \, aren't expanded when present in a section title.
\atdummies
\indexnofonts
\turnoffactive
\activebackslashdouble
\makevalueexpandable
\def\pdfdestname
{
#1
}
%
\backslashparens\pdfdestname
\
pdfdest
name
{
\pdfdestname
}
xyz
%
}}
%
\
safewhatsit
{
\pdfdest
name
{
\pdfdestname
}
xyz
}
%
}}
%
% used to mark target names; must be expandable.
\def\pdfmkpgn
#1
{
#1
}
%
\def\pdfmkpgn
#1
{
#1
}
%
% by default, use a color that is dark enough to print on paper as
% nearly black, but still distinguishable for online viewing.
\def\urlcolor
{
\cmykDarkRed
}
\def\linkcolor
{
\cmykDarkRed
}
\def\endlink
{
\setcolor
{
\maincolor
}
\pdfendlink
}
%
\let\linkcolor
=
\Blue
% was Cyan, but that seems light?
\def\endlink
{
\Black\pdfendlink
}
% Adding outlines to PDF; macros for calculating structure of outlines
% come from Petr Olsak
\def\expnumber
#1
{
\expandafter\ifx\csname
#1
\endcsname\relax
0
%
...
...
@@ -1430,7 +1517,7 @@ output) for that.)}
\indexnofonts
\setupdatafile
\catcode
`
\\
=
\active
\otherbackslash
\input
\
jobname
.toc
\input
\
tocreadfilename
\endgroup
}
%
...
...
@@ -1460,7 +1547,7 @@ output) for that.)}
\def\@
{
@
}
%
\let\/
=
\empty
\makevalueexpandable
\leavevmode\
Red
\leavevmode\
setcolor
{
\urlcolor
}
%
\startlink
attr
{
/Border [0 0 0]
}
%
user
{
/Subtype /Link /A << /S /URI /URI (#1) >>
}
%
\endgroup
}
...
...
@@ -1487,13 +1574,14 @@ output) for that.)}
{
\noexpand\pdflink
{
\the\toksC
}}
\toksC
=
{}
\global\countA
=0
}
\def\pdflink
#1
{
%
\startlink
attr
{
/Border [0 0 0]
}
goto name
{
\pdfmkpgn
{
#1
}}
\
linkcolor
#1
\endlink
}
\
setcolor
{
\linkcolor
}
#1
\endlink
}
\def\done
{
\edef\st
{
\global\noexpand\toksA
=
{
\the\toksB
}}
\st
}
\else
\let\pdfmkdest
=
\gobble
\let\pdfurl
=
\gobble
\let\endlink
=
\relax
\let\linkcolor
=
\relax
\let\setcolor
=
\gobble
\let\pdfsetcolor
=
\gobble
\let\pdfmakeoutlines
=
\relax
\fi
% \ifx\pdfoutput
...
...
@@ -1540,8 +1628,12 @@ output) for that.)}
\def\strutheightpercent
{
.70833
}
\def\strutdepthpercent
{
.29167
}
%
% can get a sort of poor man's double spacing by redefining this.
\def\baselinefactor
{
1
}
%
\def\setleading
#1
{
%
\normalbaselineskip
= #1
\relax
\dimen
0 = #1
\relax
\normalbaselineskip
=
\baselinefactor\dimen
0
\normallineskip
=
\lineskipfactor\normalbaselineskip
\normalbaselines
\setbox\strutbox
=
\hbox
{
%
...
...
@@ -1550,12 +1642,279 @@ output) for that.)}
}
%
}
% PDF CMaps. See also LaTeX's t1.cmap.
%
% do nothing with this by default.
\expandafter\let\csname
cmapOT1
\endcsname\gobble
\expandafter\let\csname
cmapOT1IT
\endcsname\gobble
\expandafter\let\csname
cmapOT1TT
\endcsname\gobble
% if we are producing pdf, and we have \pdffontattr, then define cmaps.
% (\pdffontattr was introduced many years ago, but people still run
% older pdftex's; it's easy to conditionalize, so we do.)
\ifpdf
\ifx\pdffontattr\undefined
\else
\begingroup
\catcode
`
\^
^
M=
\active
\def
^^
M
{^^
J
}
% Output line endings as the ^^J char.
\catcode
`
\%
=12
\immediate\pdfobj
stream
{
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%IncludeResource: ProcSet (CIDInit)
%%BeginResource: CMap (TeX-OT1-0)
%%Title: (TeX-OT1-0 TeX OT1 0)
%%Version: 1.000
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<< /Registry (TeX)
/Ordering (OT1)
/Supplement 0
>> def
/CMapName /TeX-OT1-0 def
/CMapType 2 def
1 begincodespacerange
<00> <7F>
endcodespacerange
8 beginbfrange
<00> <01> <0393>
<09> <0A> <03A8>
<23> <26> <0023>
<28> <3B> <0028>
<3F> <5B> <003F>
<5D> <5E> <005D>
<61> <7A> <0061>
<7B> <7C> <2013>
endbfrange
40 beginbfchar
<02> <0398>
<03> <039B>
<04> <039E>
<05> <03A0>
<06> <03A3>
<07> <03D2>
<08> <03A6>
<0B> <00660066>
<0C> <00660069>
<0D> <0066006C>
<0E> <006600660069>
<0F> <00660066006C>
<10> <0131>
<11> <0237>
<12> <0060>
<13> <00B4>
<14> <02C7>
<15> <02D8>
<16> <00AF>
<17> <02DA>
<18> <00B8>
<19> <00DF>
<1A> <00E6>
<1B> <0153>
<1C> <00F8>
<1D> <00C6>
<1E> <0152>
<1F> <00D8>
<21> <0021>
<22> <201D>
<27> <2019>
<3C> <00A1>
<3D> <003D>
<3E> <00BF>
<5C> <201C>
<5F> <02D9>
<60> <2018>
<7D> <02DD>
<7E> <007E>
<7F> <00A8>
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
}
\endgroup
\expandafter\edef\csname
cmapOT1
\endcsname
#1
{
%
\pdffontattr
#1
{
/ToUnicode
\the\pdflastobj\space
0 R
}
%
}
%
%
% \cmapOT1IT
\begingroup
\catcode
`
\^
^
M=
\active
\def
^^
M
{^^
J
}
% Output line endings as the ^^J char.
\catcode
`
\%
=12
\immediate\pdfobj
stream
{
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%IncludeResource: ProcSet (CIDInit)
%%BeginResource: CMap (TeX-OT1IT-0)
%%Title: (TeX-OT1IT-0 TeX OT1IT 0)
%%Version: 1.000
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<< /Registry (TeX)
/Ordering (OT1IT)
/Supplement 0
>> def
/CMapName /TeX-OT1IT-0 def
/CMapType 2 def
1 begincodespacerange
<00> <7F>
endcodespacerange
8 beginbfrange
<00> <01> <0393>
<09> <0A> <03A8>
<25> <26> <0025>
<28> <3B> <0028>
<3F> <5B> <003F>
<5D> <5E> <005D>
<61> <7A> <0061>
<7B> <7C> <2013>
endbfrange
42 beginbfchar
<02> <0398>
<03> <039B>
<04> <039E>
<05> <03A0>
<06> <03A3>
<07> <03D2>
<08> <03A6>
<0B> <00660066>
<0C> <00660069>
<0D> <0066006C>
<0E> <006600660069>
<0F> <00660066006C>
<10> <0131>
<11> <0237>
<12> <0060>
<13> <00B4>
<14> <02C7>
<15> <02D8>
<16> <00AF>
<17> <02DA>
<18> <00B8>
<19> <00DF>
<1A> <00E6>
<1B> <0153>
<1C> <00F8>
<1D> <00C6>
<1E> <0152>
<1F> <00D8>
<21> <0021>
<22> <201D>
<23> <0023>
<24> <00A3>
<27> <2019>
<3C> <00A1>
<3D> <003D>
<3E> <00BF>
<5C> <201C>
<5F> <02D9>
<60> <2018>
<7D> <02DD>
<7E> <007E>
<7F> <00A8>
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
}
\endgroup
\expandafter\edef\csname
cmapOT1IT
\endcsname
#1
{
%
\pdffontattr
#1
{
/ToUnicode
\the\pdflastobj\space
0 R
}
%
}
%
%
% \cmapOT1TT
\begingroup
\catcode
`
\^
^
M=
\active
\def
^^
M
{^^
J
}
% Output line endings as the ^^J char.
\catcode
`
\%
=12
\immediate\pdfobj
stream
{
%!PS-Adobe-3.0 Resource-CMap
%%DocumentNeededResources: ProcSet (CIDInit)
%%IncludeResource: ProcSet (CIDInit)
%%BeginResource: CMap (TeX-OT1TT-0)
%%Title: (TeX-OT1TT-0 TeX OT1TT 0)
%%Version: 1.000
%%EndComments
/CIDInit /ProcSet findresource begin
12 dict begin
begincmap
/CIDSystemInfo
<< /Registry (TeX)
/Ordering (OT1TT)
/Supplement 0
>> def
/CMapName /TeX-OT1TT-0 def
/CMapType 2 def
1 begincodespacerange
<00> <7F>
endcodespacerange
5 beginbfrange
<00> <01> <0393>
<09> <0A> <03A8>
<21> <26> <0021>
<28> <5F> <0028>
<61> <7E> <0061>
endbfrange
32 beginbfchar
<02> <0398>
<03> <039B>
<04> <039E>
<05> <03A0>
<06> <03A3>
<07> <03D2>
<08> <03A6>
<0B> <2191>
<0C> <2193>
<0D> <0027>
<0E> <00A1>
<0F> <00BF>
<10> <0131>
<11> <0237>
<12> <0060>
<13> <00B4>
<14> <02C7>
<15> <02D8>
<16> <00AF>
<17> <02DA>
<18> <00B8>
<19> <00DF>
<1A> <00E6>
<1B> <0153>
<1C> <00F8>
<1D> <00C6>
<1E> <0152>
<1F> <00D8>
<20> <2423>
<27> <2019>
<60> <2018>
<7F> <00A8>
endbfchar
endcmap
CMapName currentdict /CMap defineresource pop
end
end
%%EndResource
%%EOF
}
\endgroup
\expandafter\edef\csname
cmapOT1TT
\endcsname
#1
{
%
\pdffontattr
#1
{
/ToUnicode
\the\pdflastobj\space
0 R
}
%
}
%
\fi\fi
% Set the font macro #1 to the font named #2, adding on the
% specified font prefix (normally `cm').
% #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
}
% #3 is the font's design size, #4 is a scale factor, #5 is the CMap
% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass
% empty to omit).
\def\setfont
#1#2#3#4#5
{
%
\font
#1=
\fontprefix
#2#3 scaled #4
\csname
cmap#5
\endcsname
#1
%
}
% This is what gets called when #5 of \setfont is empty.
\let\cmap\gobble
% emacs-page end of cmaps
% Use cm as the default font prefix.
% To specify the font prefix, you must define \fontprefix
...
...
@@ -1583,119 +1942,127 @@ output) for that.)}
% Definitions for a main text size of 11pt. This is the default in
% Texinfo.
%
\def\definetextfontsizexi
{
\def\definetextfontsizexi
{
%
% Text fonts (11.2pt, magstep1).
\def\textnominalsize
{
11pt
}
\edef\mainmagstep
{
\magstephalf
}
\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
}
\setfont\textrm\rmshape
{
10
}{
\mainmagstep
}
{
OT1
}
\setfont\texttt\ttshape
{
10
}{
\mainmagstep
}
{
OT1TT
}
\setfont\textbf\bfshape
{
10
}{
\mainmagstep
}
{
OT1
}
\setfont\textit\itshape
{
10
}{
\mainmagstep
}
{
OT1IT
}
\setfont\textsl\slshape
{
10
}{
\mainmagstep
}
{
OT1
}
\setfont\textsf\sfshape
{
10
}{
\mainmagstep
}
{
OT1
}
\setfont\textsc\scshape
{
10
}{
\mainmagstep
}
{
OT1
}
\setfont\textttsl\ttslshape
{
10
}{
\mainmagstep
}
{
OT1TT
}
\font\texti
=cmmi10 scaled
\mainmagstep
\font\textsy
=cmsy10 scaled
\mainmagstep
\def\textecsize
{
1095
}
% A few fonts for @defun names and args.
\setfont\defbf\bfshape
{
10
}{
\magstep
1
}
\setfont\deftt\ttshape
{
10
}{
\magstep
1
}
\setfont\defttsl\ttslshape
{
10
}{
\magstep
1
}
\setfont\defbf\bfshape
{
10
}{
\magstep
1
}
{
OT1
}
\setfont\deftt\ttshape
{
10
}{
\magstep
1
}
{
OT1TT
}
\setfont\defttsl\ttslshape
{
10
}{
\magstep
1
}
{
OT1TT
}
\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
}
\setfont\smallrm\rmshape
{
9
}{
1000
}
{
OT1
}
\setfont\smalltt\ttshape
{
9
}{
1000
}
{
OT1TT
}
\setfont\smallbf\bfshape
{
10
}{
900
}
{
OT1
}
\setfont\smallit\itshape
{
9
}{
1000
}
{
OT1IT
}
\setfont\smallsl\slshape
{
9
}{
1000
}
{
OT1
}
\setfont\smallsf\sfshape
{
9
}{
1000
}
{
OT1
}
\setfont\smallsc\scshape
{
10
}{
900
}
{
OT1
}
\setfont\smallttsl\ttslshape
{
10
}{
900
}
{
OT1TT
}
\font\smalli
=cmmi9
\font\smallsy
=cmsy9
\def\smallecsize
{
0900
}
% 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
}
\setfont\smallerrm\rmshape
{
8
}{
1000
}
{
OT1
}
\setfont\smallertt\ttshape
{
8
}{
1000
}
{
OT1TT
}
\setfont\smallerbf\bfshape
{
10
}{
800
}
{
OT1
}
\setfont\smallerit\itshape
{
8
}{
1000
}
{
OT1IT
}
\setfont\smallersl\slshape
{
8
}{
1000
}
{
OT1
}
\setfont\smallersf\sfshape
{
8
}{
1000
}
{
OT1
}
\setfont\smallersc\scshape
{
10
}{
800
}
{
OT1
}
\setfont\smallerttsl\ttslshape
{
10
}{
800
}
{
OT1TT
}
\font\smalleri
=cmmi8
\font\smallersy
=cmsy8
\def\smallerecsize
{
0800
}
% 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
}
\setfont\titlerm\rmbshape
{
12
}{
\magstep
3
}
{
OT1
}
\setfont\titleit\itbshape
{
10
}{
\magstep
4
}
{
OT1IT
}
\setfont\titlesl\slbshape
{
10
}{
\magstep
4
}
{
OT1
}
\setfont\titlett\ttbshape
{
12
}{
\magstep
3
}
{
OT1TT
}
\setfont\titlettsl\ttslshape
{
10
}{
\magstep
4
}
{
OT1TT
}
\setfont\titlesf\sfbshape
{
17
}{
\magstep
1
}
{
OT1
}
\let\titlebf
=
\titlerm
\setfont\titlesc\scbshape
{
10
}{
\magstep
4
}
\setfont\titlesc\scbshape
{
10
}{
\magstep
4
}
{
OT1
}
\font\titlei
=cmmi12 scaled
\magstep
3
\font\titlesy
=cmsy10 scaled
\magstep
4
\def\authorrm
{
\secrm
}
\def\authortt
{
\sectt
}
\def\titleecsize
{
2074
}
% Chapter (and unnumbered) fonts (17.28pt).
\def\chapnominalsize
{
17pt
}
\setfont\chaprm\rmbshape
{
12
}{
\magstep
2
}
\setfont\chapit\itbshape
{
10
}{
\magstep
3
}
\setfont\chapsl\slbshape
{
10
}{
\magstep
3
}
\setfont\chaptt\ttbshape
{
12
}{
\magstep
2
}
\setfont\chapttsl\ttslshape
{
10
}{
\magstep
3
}
\setfont\chapsf\sfbshape
{
17
}{
1000
}
\setfont\chaprm\rmbshape
{
12
}{
\magstep
2
}
{
OT1
}
\setfont\chapit\itbshape
{
10
}{
\magstep
3
}
{
OT1IT
}
\setfont\chapsl\slbshape
{
10
}{
\magstep
3
}
{
OT1
}
\setfont\chaptt\ttbshape
{
12
}{
\magstep
2
}
{
OT1TT
}
\setfont\chapttsl\ttslshape
{
10
}{
\magstep
3
}
{
OT1TT
}
\setfont\chapsf\sfbshape
{
17
}{
1000
}
{
OT1
}
\let\chapbf
=
\chaprm
\setfont\chapsc\scbshape
{
10
}{
\magstep
3
}
\setfont\chapsc\scbshape
{
10
}{
\magstep
3
}
{
OT1
}
\font\chapi
=cmmi12 scaled
\magstep
2
\font\chapsy
=cmsy10 scaled
\magstep
3
\def\chapecsize
{
1728
}
% Section fonts (14.4pt).
\def\secnominalsize
{
14pt
}
\setfont\secrm\rmbshape
{
12
}{
\magstep
1
}
\setfont\secit\itbshape
{
10
}{
\magstep
2
}
\setfont\secsl\slbshape
{
10
}{
\magstep
2
}
\setfont\sectt\ttbshape
{
12
}{
\magstep
1
}
\setfont\secttsl\ttslshape
{
10
}{
\magstep
2
}
\setfont\secsf\sfbshape
{
12
}{
\magstep
1
}
\setfont\secrm\rmbshape
{
12
}{
\magstep
1
}
{
OT1
}
\setfont\secit\itbshape
{
10
}{
\magstep
2
}
{
OT1IT
}
\setfont\secsl\slbshape
{
10
}{
\magstep
2
}
{
OT1
}
\setfont\sectt\ttbshape
{
12
}{
\magstep
1
}
{
OT1TT
}
\setfont\secttsl\ttslshape
{
10
}{
\magstep
2
}
{
OT1TT
}
\setfont\secsf\sfbshape
{
12
}{
\magstep
1
}
{
OT1
}
\let\secbf\secrm
\setfont\secsc\scbshape
{
10
}{
\magstep
2
}
\setfont\secsc\scbshape
{
10
}{
\magstep
2
}
{
OT1
}
\font\seci
=cmmi12 scaled
\magstep
1
\font\secsy
=cmsy10 scaled
\magstep
2
\def\sececsize
{
1440
}
% Subsection fonts (13.15pt).
\def\ssecnominalsize
{
13pt
}
\setfont\ssecrm\rmbshape
{
12
}{
\magstephalf
}
\setfont\ssecit\itbshape
{
10
}{
1315
}
\setfont\ssecsl\slbshape
{
10
}{
1315
}
\setfont\ssectt\ttbshape
{
12
}{
\magstephalf
}
\setfont\ssecttsl\ttslshape
{
10
}{
1315
}
\setfont\ssecsf\sfbshape
{
12
}{
\magstephalf
}
\setfont\ssecrm\rmbshape
{
12
}{
\magstephalf
}
{
OT1
}
\setfont\ssecit\itbshape
{
10
}{
1315
}
{
OT1IT
}
\setfont\ssecsl\slbshape
{
10
}{
1315
}
{
OT1
}
\setfont\ssectt\ttbshape
{
12
}{
\magstephalf
}
{
OT1TT
}
\setfont\ssecttsl\ttslshape
{
10
}{
1315
}
{
OT1TT
}
\setfont\ssecsf\sfbshape
{
12
}{
\magstephalf
}
{
OT1
}
\let\ssecbf\ssecrm
\setfont\ssecsc\scbshape
{
10
}{
1315
}
\setfont\ssecsc\scbshape
{
10
}{
1315
}
{
OT1
}
\font\sseci
=cmmi12 scaled
\magstephalf
\font\ssecsy
=cmsy10 scaled 1315
\def\ssececsize
{
1200
}
% Reduced fonts for @acro in text (10pt).
\def\reducednominalsize
{
10pt
}
\setfont\reducedrm\rmshape
{
10
}{
1000
}
\setfont\reducedtt\ttshape
{
10
}{
1000
}
\setfont\reducedbf\bfshape
{
10
}{
1000
}
\setfont\reducedit\itshape
{
10
}{
1000
}
\setfont\reducedsl\slshape
{
10
}{
1000
}
\setfont\reducedsf\sfshape
{
10
}{
1000
}
\setfont\reducedsc\scshape
{
10
}{
1000
}
\setfont\reducedttsl\ttslshape
{
10
}{
1000
}
\setfont\reducedrm\rmshape
{
10
}{
1000
}
{
OT1
}
\setfont\reducedtt\ttshape
{
10
}{
1000
}
{
OT1TT
}
\setfont\reducedbf\bfshape
{
10
}{
1000
}
{
OT1
}
\setfont\reducedit\itshape
{
10
}{
1000
}
{
OT1IT
}
\setfont\reducedsl\slshape
{
10
}{
1000
}
{
OT1
}
\setfont\reducedsf\sfshape
{
10
}{
1000
}
{
OT1
}
\setfont\reducedsc\scshape
{
10
}{
1000
}
{
OT1
}
\setfont\reducedttsl\ttslshape
{
10
}{
1000
}
{
OT1TT
}
\font\reducedi
=cmmi10
\font\reducedsy
=cmsy10
\def\reducedecsize
{
1000
}
% reset the current fonts
\textfonts
...
...
@@ -1712,115 +2079,123 @@ output) for that.)}
% 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
}
\setfont\textrm\rmshape
{
10
}{
\mainmagstep
}
{
OT1
}
\setfont\texttt\ttshape
{
10
}{
\mainmagstep
}
{
OT1TT
}
\setfont\textbf\bfshape
{
10
}{
\mainmagstep
}
{
OT1
}
\setfont\textit\itshape
{
10
}{
\mainmagstep
}
{
OT1IT
}
\setfont\textsl\slshape
{
10
}{
\mainmagstep
}
{
OT1
}
\setfont\textsf\sfshape
{
10
}{
\mainmagstep
}
{
OT1
}
\setfont\textsc\scshape
{
10
}{
\mainmagstep
}
{
OT1
}
\setfont\textttsl\ttslshape
{
10
}{
\mainmagstep
}
{
OT1TT
}
\font\texti
=cmmi10 scaled
\mainmagstep
\font\textsy
=cmsy10 scaled
\mainmagstep
\def\textecsize
{
1000
}
% A few fonts for @defun names and args.
\setfont\defbf\bfshape
{
10
}{
\magstephalf
}
\setfont\deftt\ttshape
{
10
}{
\magstephalf
}
\setfont\defttsl\ttslshape
{
10
}{
\magstephalf
}
\setfont\defbf\bfshape
{
10
}{
\magstephalf
}
{
OT1
}
\setfont\deftt\ttshape
{
10
}{
\magstephalf
}
{
OT1TT
}
\setfont\defttsl\ttslshape
{
10
}{
\magstephalf
}
{
OT1TT
}
\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
}
\setfont\smallrm\rmshape
{
9
}{
1000
}
{
OT1
}
\setfont\smalltt\ttshape
{
9
}{
1000
}
{
OT1TT
}
\setfont\smallbf\bfshape
{
10
}{
900
}
{
OT1
}
\setfont\smallit\itshape
{
9
}{
1000
}
{
OT1IT
}
\setfont\smallsl\slshape
{
9
}{
1000
}
{
OT1
}
\setfont\smallsf\sfshape
{
9
}{
1000
}
{
OT1
}
\setfont\smallsc\scshape
{
10
}{
900
}
{
OT1
}
\setfont\smallttsl\ttslshape
{
10
}{
900
}
{
OT1TT
}
\font\smalli
=cmmi9
\font\smallsy
=cmsy9
\def\smallecsize
{
0900
}
% 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
}
\setfont\smallerrm\rmshape
{
8
}{
1000
}
{
OT1
}
\setfont\smallertt\ttshape
{
8
}{
1000
}
{
OT1TT
}
\setfont\smallerbf\bfshape
{
10
}{
800
}
{
OT1
}
\setfont\smallerit\itshape
{
8
}{
1000
}
{
OT1IT
}
\setfont\smallersl\slshape
{
8
}{
1000
}
{
OT1
}
\setfont\smallersf\sfshape
{
8
}{
1000
}
{
OT1
}
\setfont\smallersc\scshape
{
10
}{
800
}
{
OT1
}
\setfont\smallerttsl\ttslshape
{
10
}{
800
}
{
OT1TT
}
\font\smalleri
=cmmi8
\font\smallersy
=cmsy8
\def\smallerecsize
{
0800
}
% 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
}
\setfont\titlerm\rmbshape
{
12
}{
\magstep
3
}
{
OT1
}
\setfont\titleit\itbshape
{
10
}{
\magstep
4
}
{
OT1IT
}
\setfont\titlesl\slbshape
{
10
}{
\magstep
4
}
{
OT1
}
\setfont\titlett\ttbshape
{
12
}{
\magstep
3
}
{
OT1TT
}
\setfont\titlettsl\ttslshape
{
10
}{
\magstep
4
}
{
OT1TT
}
\setfont\titlesf\sfbshape
{
17
}{
\magstep
1
}
{
OT1
}
\let\titlebf
=
\titlerm
\setfont\titlesc\scbshape
{
10
}{
\magstep
4
}
\setfont\titlesc\scbshape
{
10
}{
\magstep
4
}
{
OT1
}
\font\titlei
=cmmi12 scaled
\magstep
3
\font\titlesy
=cmsy10 scaled
\magstep
4
\def\authorrm
{
\secrm
}
\def\authortt
{
\sectt
}
\def\titleecsize
{
2074
}
% 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
}
\setfont\chaprm\rmbshape
{
12
}{
\magstep
1
}
{
OT1
}
\setfont\chapit\itbshape
{
10
}{
\magstep
2
}
{
OT1IT
}
\setfont\chapsl\slbshape
{
10
}{
\magstep
2
}
{
OT1
}
\setfont\chaptt\ttbshape
{
12
}{
\magstep
1
}
{
OT1TT
}
\setfont\chapttsl\ttslshape
{
10
}{
\magstep
2
}
{
OT1TT
}
\setfont\chapsf\sfbshape
{
12
}{
\magstep
1
}
{
OT1
}
\let\chapbf\chaprm
\setfont\chapsc\scbshape
{
10
}{
\magstep
2
}
\setfont\chapsc\scbshape
{
10
}{
\magstep
2
}
{
OT1
}
\font\chapi
=cmmi12 scaled
\magstep
1
\font\chapsy
=cmsy10 scaled
\magstep
2
\def\chapecsize
{
1440
}
% 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
}
\setfont\secrm\rmbshape
{
12
}{
1000
}
{
OT1
}
\setfont\secit\itbshape
{
10
}{
\magstep
1
}
{
OT1IT
}
\setfont\secsl\slbshape
{
10
}{
\magstep
1
}
{
OT1
}
\setfont\sectt\ttbshape
{
12
}{
1000
}
{
OT1TT
}
\setfont\secttsl\ttslshape
{
10
}{
\magstep
1
}
{
OT1TT
}
\setfont\secsf\sfbshape
{
12
}{
1000
}
{
OT1
}
\let\secbf\secrm
\setfont\secsc\scbshape
{
10
}{
\magstep
1
}
\setfont\secsc\scbshape
{
10
}{
\magstep
1
}
{
OT1
}
\font\seci
=cmmi12
\font\secsy
=cmsy10 scaled
\magstep
1
\def\sececsize
{
1200
}
% 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
}
\setfont\ssecrm\rmbshape
{
10
}{
1000
}
{
OT1
}
\setfont\ssecit\itbshape
{
10
}{
1000
}
{
OT1IT
}
\setfont\ssecsl\slbshape
{
10
}{
1000
}
{
OT1
}
\setfont\ssectt\ttbshape
{
10
}{
1000
}
{
OT1TT
}
\setfont\ssecttsl\ttslshape
{
10
}{
1000
}
{
OT1TT
}
\setfont\ssecsf\sfbshape
{
10
}{
1000
}
{
OT1
}
\let\ssecbf\ssecrm
\setfont\ssecsc\scbshape
{
10
}{
1000
}
\setfont\ssecsc\scbshape
{
10
}{
1000
}
{
OT1
}
\font\sseci
=cmmi10
\font\ssecsy
=cmsy10
\def\ssececsize
{
1000
}
% 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
}
\setfont\reducedrm\rmshape
{
9
}{
1000
}
{
OT1
}
\setfont\reducedtt\ttshape
{
9
}{
1000
}
{
OT1TT
}
\setfont\reducedbf\bfshape
{
10
}{
900
}
{
OT1
}
\setfont\reducedit\itshape
{
9
}{
1000
}
{
OT1IT
}
\setfont\reducedsl\slshape
{
9
}{
1000
}
{
OT1
}
\setfont\reducedsf\sfshape
{
9
}{
1000
}
{
OT1
}
\setfont\reducedsc\scshape
{
10
}{
900
}
{
OT1
}
\setfont\reducedttsl\ttslshape
{
10
}{
900
}
{
OT1TT
}
\font\reducedi
=cmmi9
\font\reducedsy
=cmsy9
\def\reducedecsize
{
0900
}
% reduce space between paragraphs
\divide\parskip
by 2
...
...
@@ -1976,10 +2351,10 @@ output) for that.)}
\newcount\fontdepth
\fontdepth
=0
% Fonts for short table of contents.
\setfont\shortcontrm\rmshape
{
12
}{
1000
}
\setfont\shortcontbf\bfshape
{
10
}{
\magstep
1
}
% no cmb12
\setfont\shortcontsl\slshape
{
12
}{
1000
}
\setfont\shortconttt\ttshape
{
12
}{
1000
}
\setfont\shortcontrm\rmshape
{
12
}{
1000
}
{
OT1
}
\setfont\shortcontbf\bfshape
{
10
}{
\magstep
1
}
{
OT1
}
% no cmb12
\setfont\shortcontsl\slshape
{
12
}{
1000
}
{
OT1
}
\setfont\shortconttt\ttshape
{
12
}{
1000
}
{
OT1TT
}
%% Add scribe-like font environments, plus @l for inline lisp (usually sans
%% serif) and @ii for TeX italic
...
...
@@ -2042,7 +2417,7 @@ output) for that.)}
\null
}
\def\samp
#1
{
`
\tclose
{
#1
}
'
\null
}
\setfont\keyrm\rmshape
{
8
}{
1000
}
\setfont\keyrm\rmshape
{
8
}{
1000
}
{
OT1
}
\font\keysy
=cmsy9
\def\key
#1
{{
\keyrm\textfont
2=
\keysy
\leavevmode\hbox
{
%
\raise
0.4pt
\hbox
{
\angleleft
}
\kern
-.08em
\vtop
{
%
...
...
@@ -2185,6 +2560,13 @@ output) for that.)}
\let\env
=
\code
\let\command
=
\code
% @clicksequence{File @click{} Open ...}
\def\clicksequence
#1
{
\begingroup
#1
\endgroup
}
% @clickstyle @arrow (by default)
\parseargdef\clickstyle
{
\def\click
{
#1
}}
\def\click
{
\arrow
}
% @uref (abbreviation for `urlref') takes an optional (comma-separated)
% second argument specifying the text to display and an optional third
% arg as text to display instead of (rather than in addition to) the url
...
...
@@ -2335,6 +2717,35 @@ output) for that.)}
\thiseurofont
}
% Hacks for glyphs from the EC fonts similar to \euro. We don't
% use \let for the aliases, because sometimes we redefine the original
% macro, and the alias should reflect the redefinition.
\def\guillemetleft
{{
\ecfont
\char
"13
}}
\def\guillemotleft
{
\guillemetleft
}
\def\guillemetright
{{
\ecfont
\char
"14
}}
\def\guillemotright
{
\guillemetright
}
\def\guilsinglleft
{{
\ecfont
\char
"0E
}}
\def\guilsinglright
{{
\ecfont
\char
"0F
}}
\def\quotedblbase
{{
\ecfont
\char
"12
}}
\def\quotesinglbase
{{
\ecfont
\char
"0D
}}
%
\def\ecfont
{
%
% We can't distinguish serif/sanserif and italic/slanted, but this
% is used for crude hacks anyway (like adding French and German
% quotes to documents typeset with CM, where we lose kerning), so
% hopefully nobody will notice/care.
\edef\ecsize
{
\csname\curfontsize
ecsize
\endcsname
}
%
\edef\nominalsize
{
\csname\curfontsize
nominalsize
\endcsname
}
%
\ifx\curfontstyle\bfstylename
% bold:
\font\thisecfont
= ecb
\ifusingit
{
i
}{
x
}
\ecsize
\space
at
\nominalsize
\else
% regular:
\font\thisecfont
= ec
\ifusingit
{
ti
}{
rm
}
\ecsize
\space
at
\nominalsize
\fi
\thisecfont
}
% @registeredsymbol - R in a circle. The font for the R should really
% be smaller yet, but lllsize is the best we can do for now.
% Adapted from the plain.tex definition of \copyright.
...
...
@@ -2357,6 +2768,12 @@ output) for that.)}
\def\Orb
{
\mathhexbox
20D
}
\fi
% Quotes.
\chardef\quotedblleft
="5C
\chardef\quotedblright
=`
\"
\chardef\quoteleft
=`
\`
\chardef\quoteright
=`
\'
\message
{
page headings,
}
...
...
@@ -2526,6 +2943,33 @@ output) for that.)}
\parseargdef\everyfooting
{
\oddfootingxxx
{
#1
}
\evenfootingxxx
{
#1
}}
% @evenheadingmarks top \thischapter <- chapter at the top of a page
% @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page
%
% The same set of arguments for:
%
% @oddheadingmarks
% @evenfootingmarks
% @oddfootingmarks
% @everyheadingmarks
% @everyfootingmarks
\def\evenheadingmarks
{
\headingmarks
{
even
}{
heading
}}
\def\oddheadingmarks
{
\headingmarks
{
odd
}{
heading
}}
\def\evenfootingmarks
{
\headingmarks
{
even
}{
footing
}}
\def\oddfootingmarks
{
\headingmarks
{
odd
}{
footing
}}
\def\everyheadingmarks
#1
{
\headingmarks
{
even
}{
heading
}{
#1
}
\headingmarks
{
odd
}{
heading
}{
#1
}
}
\def\everyfootingmarks
#1
{
\headingmarks
{
even
}{
footing
}{
#1
}
\headingmarks
{
odd
}{
footing
}{
#1
}
}
% #1 = even/odd, #2 = heading/footing, #3 = top/bottom.
\def\headingmarks
#1#2#3
{
%
\expandafter\let\expandafter\temp
\csname
get#3headingmarks
\endcsname
\global\expandafter\let\csname
get#1#2marks
\endcsname
\temp
}
\everyheadingmarks
bottom
\everyfootingmarks
bottom
% @headings double turns headings on for double-sided printing.
% @headings single turns headings on for single-sided printing.
...
...
@@ -3566,11 +4010,21 @@ output) for that.)}
\definedummyword\equiv
\definedummyword\error
\definedummyword\euro
\definedummyword\guillemetleft
\definedummyword\guillemetright
\definedummyword\guilsinglleft
\definedummyword\guilsinglright
\definedummyword\expansion
\definedummyword\minus
\definedummyword\pounds
\definedummyword\point
\definedummyword\print
\definedummyword\quotedblbase
\definedummyword\quotedblleft
\definedummyword\quotedblright
\definedummyword\quoteleft
\definedummyword\quoteright
\definedummyword\quotesinglbase
\definedummyword\result
\definedummyword\textdegree
%
...
...
@@ -3700,11 +4154,21 @@ output) for that.)}
\def\equiv
{
==
}
%
\def\error
{
error
}
%
\def\euro
{
euro
}
%
\def\guillemetleft
{
<<
}
%
\def\guillemetright
{
>>
}
%
\def\guilsinglleft
{
<
}
%
\def\guilsinglright
{
>
}
%
\def\expansion
{
==>
}
%
\def\minus
{
-
}
%
\def\pounds
{
pounds
}
%
\def\point
{
.
}
%
\def\print
{
-|
}
%
\def\quotedblbase
{
"
}
%
\def\quotedblleft
{
"
}
%
\def\quotedblright
{
"
}
%
\def\quoteleft
{
`
}
%
\def\quoteright
{
'
}
%
\def\quotesinglbase
{
,
}
%
\def\result
{
=>
}
%
\def\textdegree
{
degrees
}
%
%
...
...
@@ -3746,11 +4210,7 @@ output) for that.)}
%
\edef\writeto
{
\csname
#1indfile
\endcsname
}
%
%
\ifvmode
\dosubindsanitize
\else
\dosubindwrite
\fi
\safewhatsit\dosubindwrite
}
%
\fi
}
...
...
@@ -3787,13 +4247,13 @@ output) for that.)}
\temp
}
% Take care of unwanted page breaks:
% Take care of unwanted page breaks
/skips around a whatsit
:
%
% If a skip is the last thing on the list now, preserve it
% by backing up by \lastskip, doing the \write, then inserting
% the skip again. Otherwise, the whatsit generated by the
% \write
will make \lastskip zero. The result is that sequences
% like this:
% \write
or \pdfdest will make \lastskip zero. The result is that
%
sequences
like this:
% @end defun
% @tindex whatever
% @defun ...
...
...
@@ -3817,25 +4277,31 @@ output) for that.)}
%
\edef\zeroskipmacro
{
\expandafter\the\csname
z@skip
\endcsname
}
%
\newskip\whatsitskip
\newcount\whatsitpenalty
%
% ..., ready, GO:
%
\def\dosubindsanitize
{
%
\def\safewhatsit
#1
{
%
\ifhmode
#1
%
\else
% \lastskip and \lastpenalty cannot both be nonzero simultaneously.
\
skip
0
=
\lastskip
\
whatsitskip
=
\lastskip
\edef\lastskipmacro
{
\the\lastskip
}
%
\
count
255
=
\lastpenalty
\
whatsitpenalty
=
\lastpenalty
%
% If \lastskip is nonzero, that means the last item was a
% skip. And since a skip is discardable, that means this
% -\
skip0
glue we're inserting is preceded by a
% -\
whatsitskip
glue we're inserting is preceded by a
% non-discardable item, therefore it is not a potential
% breakpoint, therefore no \nobreak needed.
\ifx\lastskipmacro\zeroskipmacro
\else
\vskip
-
\
skip
0
\vskip
-
\
whatsitskip
\fi
%
\dosubindwrite
#1
%
%
\ifx\lastskipmacro\zeroskipmacro
% If \lastskip was zero, perhaps the last item was a penalty, and
...
...
@@ -3849,13 +4315,14 @@ output) for that.)}
% Description.
% would allow a break between the index-whatever whatsit
% and the "Description." paragraph.
\ifnum\
count
255>9999
\penalty\count
255
\fi
\ifnum\
whatsitpenalty
>9999
\penalty\whatsitpenalty
\fi
\else
% On the other hand, if we had a nonzero \lastskip,
% this make-up glue would be preceded by a non-discardable item
% (the whatsit from the \write), so we must insert a \nobreak.
\nobreak\vskip\
skip
0
\nobreak\vskip\
whatsitskip
\fi
\fi
}
% The index entry written in the file actually looks like
...
...
@@ -3898,6 +4365,7 @@ output) for that.)}
%
\smallfonts
\rm
\tolerance
= 9500
\plainfrenchspacing
\everypar
=
{}
% don't want the \kern\-parindent from indentation suppression.
%
% See if the index file exists and is nonempty.
...
...
@@ -4027,11 +4495,8 @@ output) for that.)}
% The following is kludged to not output a line of dots in the index if
% there are no page numbers. The next person who breaks this will be
% cursed by a Unix daemon.
\def\tempa
{{
\rm
}}
%
\def\tempb
{
#1
}
%
\edef\tempc
{
\tempa
}
%
\edef\tempd
{
\tempb
}
%
\ifx\tempc\tempd
\setbox\boxA
=
\hbox
{
#1
}
%
\ifdim\wd\boxA
= 0pt
\
%
\else
%
...
...
@@ -4167,6 +4632,34 @@ output) for that.)}
%
% All done with double columns.
\def\enddoublecolumns
{
%
% The following penalty ensures that the page builder is exercised
% _before_ we change the output routine. This is necessary in the
% following situation:
%
% The last section of the index consists only of a single entry.
% Before this section, \pagetotal is less than \pagegoal, so no
% break occurs before the last section starts. However, the last
% section, consisting of \initial and the single \entry, does not
% fit on the page and has to be broken off. Without the following
% penalty the page builder will not be exercised until \eject
% below, and by that time we'll already have changed the output
% routine to the \balancecolumns version, so the next-to-last
% double-column page will be processed with \balancecolumns, which
% is wrong: The two columns will go to the main vertical list, with
% the broken-off section in the recent contributions. As soon as
% the output routine finishes, TeX starts reconsidering the page
% break. The two columns and the broken-off section both fit on the
% page, because the two columns now take up only half of the page
% goal. When TeX sees \eject from below which follows the final
% section, it invokes the new output routine that we've set after
% \balancecolumns below; \onepageout will try to fit the two columns
% and the final section into the vbox of \pageheight (see
% \pagebody), causing an overfull box.
%
% Note that glue won't work here, because glue does not exercise the
% page builder, unlike penalties (see The TeXbook, pp. 280-281).
\penalty
0
%
\output
=
{
%
% Split the last of the double-column material. Leave it on the
% current page, no automatic page break.
...
...
@@ -4276,11 +4769,15 @@ output) for that.)}
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
}
% Each @chapter defines th
is as the name of the chapter.
%
page headings and footings can use it. @section does likewise.
%
However, they are not reliable, because we don't use marks
.
% Each @chapter defines th
ese (using marks) as the number+name, number
%
and name of the chapter. Page headings and footings can use
%
these. @section does likewise
.
\def\thischapter
{}
\def\thischapternum
{}
\def\thischaptername
{}
\def\thissection
{}
\def\thissectionnum
{}
\def\thissectionname
{}
\newcount\absseclevel
% used to calculate proper heading level
\newcount\secbase\secbase
=0
% @raisesections/@lowersections modify this count
...
...
@@ -4581,7 +5078,20 @@ output) for that.)}
\def\chapbreak
{
\dobreak
\chapheadingskip
{
-4000
}}
\def\chappager
{
\par\vfill\supereject
}
\def\chapoddpage
{
\chappager
\ifodd\pageno
\else
\hbox
to 0pt
{}
\chappager\fi
}
% Because \domark is called before \chapoddpage, the filler page will
% get the headings for the next chapter, which is wrong. But we don't
% care -- we just disable all headings on the filler page.
\def\chapoddpage
{
%
\chappager
\ifodd\pageno
\else
\begingroup
\evenheadline
=
{
\hfil
}
\evenfootline
=
{
\hfil
}
%
\oddheadline
=
{
\hfil
}
\oddfootline
=
{
\hfil
}
%
\hbox
to 0pt
{}
%
\chappager
\endgroup
\fi
}
\def\setchapternewpage
#1
{
\csname
CHAPPAG#1
\endcsname
}
...
...
@@ -4615,45 +5125,72 @@ output) for that.)}
\def\Yappendixkeyword
{
Yappendix
}
%
\def\chapmacro
#1#2#3
{
%
% Insert the first mark before the heading break (see notes for \domark).
\let\prevchapterdefs
=
\lastchapterdefs
\let\prevsectiondefs
=
\lastsectiondefs
\gdef\lastsectiondefs
{
\gdef\thissectionname
{}
\gdef\thissectionnum
{}
%
\gdef\thissection
{}}
%
%
\def\temptype
{
#2
}
%
\ifx\temptype\Ynothingkeyword
\gdef\lastchapterdefs
{
\gdef\thischaptername
{
#1
}
\gdef\thischapternum
{}
%
\gdef\thischapter
{
\thischaptername
}}
%
\else\ifx\temptype\Yomitfromtockeyword
\gdef\lastchapterdefs
{
\gdef\thischaptername
{
#1
}
\gdef\thischapternum
{}
%
\gdef\thischapter
{}}
%
\else\ifx\temptype\Yappendixkeyword
\toks
0=
{
#1
}
%
\xdef\lastchapterdefs
{
%
\gdef\noexpand\thischaptername
{
\the\toks
0
}
%
\gdef\noexpand\thischapternum
{
\appendixletter
}
%
\gdef\noexpand\thischapter
{
\putwordAppendix
{}
\noexpand\thischapternum
:
\noexpand\thischaptername
}
%
}
%
\else
\toks
0=
{
#1
}
%
\xdef\lastchapterdefs
{
%
\gdef\noexpand\thischaptername
{
\the\toks
0
}
%
\gdef\noexpand\thischapternum
{
\the\chapno
}
%
\gdef\noexpand\thischapter
{
\putwordChapter
{}
\noexpand\thischapternum
:
\noexpand\thischaptername
}
%
}
%
\fi\fi\fi
%
% Output the mark. Pass it through \safewhatsit, to take care of
% the preceding space.
\safewhatsit\domark
%
% Insert the chapter heading break.
\pchapsepmacro
%
% Now the second mark, after the heading break. No break points
% between here and the heading.
\let\prevchapterdefs
=
\lastchapterdefs
\let\prevsectiondefs
=
\lastsectiondefs
\domark
%
{
%
\chapfonts
\rm
%
% Have to define \
this
section before calling \donoderef, because the
% Have to define \
last
section before calling \donoderef, because the
% xref code eventually uses it. On the other hand, it has to be called
% after \pchapsepmacro, or the headline will change too soon.
\gdef\thissection
{
#1
}
%
\gdef\thischaptername
{
#1
}
%
\gdef\lastsection
{
#1
}
%
%
% Only insert the separating space if we have a chapter/appendix
% number, and don't print the unnumbered ``number''.
\def\temptype
{
#2
}
%
\ifx\temptype\Ynothingkeyword
\setbox
0 =
\hbox
{}
%
\def\toctype
{
unnchap
}
%
\gdef\thischapternum
{}
%
\gdef\thischapter
{
#1
}
%
\else\ifx\temptype\Yomitfromtockeyword
\setbox
0 =
\hbox
{}
% contents like unnumbered, but no toc entry
\def\toctype
{
omit
}
%
\gdef\thischapternum
{}
%
\gdef\thischapter
{}
%
\else\ifx\temptype\Yappendixkeyword
\setbox
0 =
\hbox
{
\putwordAppendix
{}
#3
\enspace
}
%
\def\toctype
{
app
}
%
\xdef\thischapternum
{
\appendixletter
}
%
% We don't substitute the actual chapter name into \thischapter
% because we don't want its macros evaluated now. And we don't
% use \thissection because that changes with each section.
%
\xdef\thischapter
{
\putwordAppendix
{}
\appendixletter
:
\noexpand\thischaptername
}
%
\else
\setbox
0 =
\hbox
{
#3
\enspace
}
%
\def\toctype
{
numchap
}
%
\xdef\thischapternum
{
\the\chapno
}
%
\xdef\thischapter
{
\putwordChapter
{}
\the\chapno
:
\noexpand\thischaptername
}
%
\fi\fi\fi
%
% Write the toc entry for this chapter. Must come before the
...
...
@@ -4669,6 +5206,7 @@ output) for that.)}
\donoderef
{
#2
}
%
%
% Typeset the actual heading.
\nobreak
% Avoid page breaks at the interline glue.
\vbox
{
\hyphenpenalty
=10000
\tolerance
=5000
\parindent
=0pt
\raggedright
\hangindent
=
\wd
0
\centerparametersmaybe
\unhbox
0 #1
\par
}
%
...
...
@@ -4731,36 +5269,78 @@ output) for that.)}
% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
% section number.
%
\def\seckeyword
{
sec
}
%
\def\sectionheading
#1#2#3#4
{
%
{
%
% Switch to the right set of fonts.
\csname
#2fonts
\endcsname
\rm
%
\def\sectionlevel
{
#2
}
%
\def\temptype
{
#3
}
%
%
% Insert first mark before the heading break (see notes for \domark).
\let\prevsectiondefs
=
\lastsectiondefs
\ifx\temptype\Ynothingkeyword
\ifx\sectionlevel\seckeyword
\gdef\lastsectiondefs
{
\gdef\thissectionname
{
#1
}
\gdef\thissectionnum
{}
%
\gdef\thissection
{
\thissectionname
}}
%
\fi
\else\ifx\temptype\Yomitfromtockeyword
% Don't redefine \thissection.
\else\ifx\temptype\Yappendixkeyword
\ifx\sectionlevel\seckeyword
\toks
0=
{
#1
}
%
\xdef\lastsectiondefs
{
%
\gdef\noexpand\thissectionname
{
\the\toks
0
}
%
\gdef\noexpand\thissectionnum
{
#4
}
%
\gdef\noexpand\thissection
{
\putwordSection
{}
\noexpand\thissectionnum
:
\noexpand\thissectionname
}
%
}
%
\fi
\else
\ifx\sectionlevel\seckeyword
\toks
0=
{
#1
}
%
\xdef\lastsectiondefs
{
%
\gdef\noexpand\thissectionname
{
\the\toks
0
}
%
\gdef\noexpand\thissectionnum
{
#4
}
%
\gdef\noexpand\thissection
{
\putwordSection
{}
\noexpand\thissectionnum
:
\noexpand\thissectionname
}
%
}
%
\fi
\fi\fi\fi
%
% Output the mark. Pass it through \safewhatsit, to take care of
% the preceding space.
\safewhatsit\domark
%
% Insert space above the heading.
\csname
#2headingbreak
\endcsname
%
% Only insert the space after the number if we have a section number.
\def\sectionlevel
{
#2
}
%
\def\temptype
{
#3
}
%
% Now the second mark, after the heading break. No break points
% between here and the heading.
\let\prevsectiondefs
=
\lastsectiondefs
\domark
%
% Only insert the space after the number if we have a section number.
\ifx\temptype\Ynothingkeyword
\setbox
0 =
\hbox
{}
%
\def\toctype
{
unn
}
%
\gdef\
this
section
{
#1
}
%
\gdef\
last
section
{
#1
}
%
\else\ifx\temptype\Yomitfromtockeyword
% for @headings -- no section number, don't include in toc,
% and don't redefine \
this
section.
% and don't redefine \
last
section.
\setbox
0 =
\hbox
{}
%
\def\toctype
{
omit
}
%
\let\sectionlevel
=
\empty
\else\ifx\temptype\Yappendixkeyword
\setbox
0 =
\hbox
{
#4
\enspace
}
%
\def\toctype
{
app
}
%
\gdef\
this
section
{
#1
}
%
\gdef\
last
section
{
#1
}
%
\else
\setbox
0 =
\hbox
{
#4
\enspace
}
%
\def\toctype
{
num
}
%
\gdef\
this
section
{
#1
}
%
\gdef\
last
section
{
#1
}
%
\fi\fi\fi
%
% Write the toc entry (before \donoderef). See comments in \chapmacro.
...
...
@@ -4875,7 +5455,7 @@ output) for that.)}
\def\readtocfile
{
%
\setupdatafile
\activecatcodes
\input
\
jobname
.toc
\input
\
tocreadfilename
}
\newskip\contentsrightmargin
\contentsrightmargin
=1in
...
...
@@ -4894,7 +5474,6 @@ output) for that.)}
%
% Don't need to put `Contents' or `Short Contents' in the headline.
% It is abundantly clear what they are.
\def\thischapter
{}
%
\chapmacro
{
#1
}{
Yomitfromtoc
}{}
%
%
\savepageno
=
\pageno
...
...
@@ -4906,11 +5485,16 @@ output) for that.)}
\ifnum
\pageno
>0
\global\pageno
=
\lastnegativepageno
\fi
}
% redefined for the two-volume lispref. We always output on
% \jobname.toc even if this is redefined.
%
\def\tocreadfilename
{
\jobname
.toc
}
% Normal (long) toc.
%
\def\contents
{
%
\startcontents
{
\putwordTOC
}
%
\openin
1
\
jobname
.toc
\openin
1
\
tocreadfilename\space
\ifeof
1
\else
\readtocfile
\fi
...
...
@@ -4948,7 +5532,7 @@ output) for that.)}
\let\numsubsubsecentry
=
\numsecentry
\let\appsubsubsecentry
=
\numsecentry
\let\unnsubsubsecentry
=
\numsecentry
\openin
1
\
jobname
.toc
\openin
1
\
tocreadfilename\space
\ifeof
1
\else
\readtocfile
\fi
...
...
@@ -5075,14 +5659,15 @@ output) for that.)}
% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
%
% Since these characters are used in examples,
it
should be an even number of
% Since these characters are used in examples,
they
should be an even number of
% \tt widths. Each \tt character is 1en, so two makes it 1em.
%
\def\point
{$
\star
$}
\def\result
{
\leavevmode\raise
.15ex
\hbox
to 1em
{
\hfil
$
\Rightarrow
$
\hfil
}}
\def\expansion
{
\leavevmode\raise
.1ex
\hbox
to 1em
{
\hfil
$
\mapsto
$
\hfil
}}
\def\arrow
{
\leavevmode\raise
.05ex
\hbox
to 1em
{
\hfil
$
\rightarrow
$
\hfil
}}
\def\result
{
\leavevmode\raise
.05ex
\hbox
to 1em
{
\hfil
$
\Rightarrow
$
\hfil
}}
\def\expansion
{
\leavevmode\hbox
to 1em
{
\hfil
$
\mapsto
$
\hfil
}}
\def\print
{
\leavevmode\lower
.1ex
\hbox
to 1em
{
\hfil
$
\dashv
$
\hfil
}}
\def\equiv
{
\leavevmode\
lower
.1ex
\
hbox
to 1em
{
\hfil
$
\ptexequiv
$
\hfil
}}
\def\equiv
{
\leavevmode\hbox
to 1em
{
\hfil
$
\ptexequiv
$
\hfil
}}
% The @error{} command.
% Adapted from the TeXbook's \boxit.
...
...
@@ -5140,6 +5725,7 @@ output) for that.)}
\let\/
=
\ptexslash
\let\*
=
\ptexstar
\let\t
=
\ptext
\expandafter
\let\csname
top
\endcsname
=
\ptextop
% outer
\let\frenchspacing
=
\plainfrenchspacing
%
\def\endldots
{
\mathinner
{
\ldots\ldots\ldots\ldots
}}
%
...
...
@@ -5283,12 +5869,18 @@ output) for that.)}
\let\SETdispenvsize\relax
\def\setnormaldispenv
{
%
\ifx\SETdispenvsize\smallword
% end paragraph for sake of leading, in case document has no blank
% line. This is redundant with what happens in \aboveenvbreak, but
% we need to do it before changing the fonts, and it's inconvenient
% to change the fonts afterward.
\ifnum
\lastpenalty
=10000
\else
\endgraf
\fi
\smallexamplefonts
\rm
\fi
}
\def\setsmalldispenv
{
%
\ifx\SETdispenvsize\nosmallword
\else
\ifnum
\lastpenalty
=10000
\else
\endgraf
\fi
\smallexamplefonts
\rm
\fi
}
...
...
@@ -5455,11 +6047,11 @@ output) for that.)}
% regular 0x27.
%
\def\codequoteright
{
%
\expandafter\ifx\csname
SETcodequoteundirected
\endcsname\relax
'
%
\else
\
char
'15
\fi
\expandafter\ifx\csname
SET
txi
codequoteundirected
\endcsname\relax
\expandafter\ifx\csname
SETcodequoteundirected
\endcsname\relax
'
%
\
else
\char
'15
\fi
\
else
\char
'15
\
fi
}
%
% and a similar option for the left quote char vs. a grave accent.
...
...
@@ -5467,11 +6059,11 @@ output) for that.)}
% the code environments to do likewise.
%
\def\codequoteleft
{
%
\expandafter\ifx\csname
SETcodequotebacktick
\endcsname\relax
`
%
\else
\
char
'22
\fi
\expandafter\ifx\csname
SET
txi
codequotebacktick
\endcsname\relax
\expandafter\ifx\csname
SETcodequotebacktick
\endcsname\relax
`
%
\
else
\char
'22
\fi
\
else
\char
'22
\
fi
}
%
\begingroup
...
...
@@ -5589,27 +6181,35 @@ output) for that.)}
\endgroup
}
\message
{
defuns,
}
% @defun etc.
\newskip\defbodyindent
\defbodyindent
=.4in
\newskip\defargsindent
\defargsindent
=50pt
\newskip\deflastargmargin
\deflastargmargin
=18pt
\newcount\defunpenalty
% Start the processing of @deffn:
\def\startdefun
{
%
\ifnum\lastpenalty
<10000
\medbreak
\defunpenalty
=10003
% Will keep this @deffn together with the
% following @def command, see below.
\else
% If there are two @def commands in a row, we'll have a \nobreak,
% which is there to keep the function description together with its
% header. But if there's nothing but headers, we need to allow a
% break somewhere. Check specifically for penalty 10002, inserted
% by \
defargscommonending
, instead of 10000, since the sectioning
% by \
printdefunline
, instead of 10000, since the sectioning
% commands also insert a nobreak penalty, and we don't want to allow
% a break between a section heading and a defun.
%
\ifnum\lastpenalty
=10002
\penalty
2000
\fi
%
% As a minor refinement, we avoid "club" headers by signalling
% with penalty of 10003 after the very first @deffn in the
% sequence (see above), and penalty of 10002 after any following
% @def command.
\ifnum\lastpenalty
=10002
\penalty
2000
\else
\defunpenalty
=10002
\fi
%
% Similarly, after a section heading, do not allow a break.
% But do insert the glue.
...
...
@@ -5627,7 +6227,7 @@ output) for that.)}
%
% As above, allow line break if we have multiple x headers in a row.
% It's not a great place, though.
\ifnum\lastpenalty
=10002
\penalty
3000
\fi
\ifnum\lastpenalty
=10002
\penalty
3000
\
else
\defunpenalty
=10002
\
fi
%
% And now, it's time to reuse the body of the original defun:
\expandafter\gobbledefun
#1
%
...
...
@@ -5645,7 +6245,7 @@ output) for that.)}
\advance\rightskip
by 0pt plus 1fil
\endgraf
\nobreak\vskip
-
\parskip
\penalty
10002
% signal to \startdefun and \dodefunx
\penalty
\defunpenalty
% signal to \startdefun and \dodefunx
% Some of the @defun-type tags do not enable magic parentheses,
% rendering the following check redundant. But we don't optimize.
\checkparencounts
...
...
@@ -5914,12 +6514,14 @@ output) for that.)}
\ifnum\parencount
=0
\else
\badparencount
\fi
\ifnum\brackcount
=0
\else
\badbrackcount
\fi
}
% these should not use \errmessage; the glibc manual, at least, actually
% has such constructs (when documenting function pointers).
\def\badparencount
{
%
\
errmessage
{
Unbalanced parentheses in @def
}
%
\
message
{
Warning: unbalanced parentheses in @def...
}
%
\global\parencount
=0
}
\def\badbrackcount
{
%
\
errmessage
{
Unbalanced square braces in @def
}
%
\
message
{
Warning: unbalanced square brackets in @def...
}
%
\global\brackcount
=0
}
...
...
@@ -6014,6 +6616,10 @@ output) for that.)}
% all characters are catcode 10, 11 or 12, except \ which is active
% (as in normal texinfo). It is necessary to change the definition of \.
% Non-ASCII encodings make 8-bit characters active, so un-activate
% them to avoid their expansion. Must do this non-globally, to
% confine the change to the current group.
% It's necessary to have hard CRs when the macro is executed. This is
% done by making ^^M (\endlinechar) catcode 12 when reading the macro
% body, and then making it the \newlinechar in \scanmacro.
...
...
@@ -6028,6 +6634,7 @@ output) for that.)}
\catcode
`
\_
=
\other
\catcode
`
\|
=
\other
\catcode
`
\~
=
\other
\ifx\declaredencoding\ascii
\else
\setnonasciicharscatcodenonglobal\other
\fi
}
\def\scanargctxt
{
%
...
...
@@ -6245,7 +6852,6 @@ output) for that.)}
\message
{
cross references,
}
\newwrite\auxfile
\newif\ifhavexrefs
% True if xref values are known.
\newif\ifwarnedxrefs
% True if we warned once that they aren't known.
...
...
@@ -6290,7 +6896,7 @@ output) for that.)}
% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
% anchor), which consists of three parts:
% 1) NAME-title - the current sectioning name taken from \
this
section,
% 1) NAME-title - the current sectioning name taken from \
last
section,
% or the anchor name.
% 2) NAME-snt - section number and type, passed as the SNT arg, or
% empty for anchors.
...
...
@@ -6309,10 +6915,10 @@ output) for that.)}
\write\auxfile
{
@xrdef
{
#1-
% #1 of \setref, expanded by the \edef
##1
}{
##2
}}
% these are parameters of \writexrdef
}
%
\toks
0 =
\expandafter
{
\
this
section
}
%
\toks
0 =
\expandafter
{
\
last
section
}
%
\immediate
\writexrdef
{
title
}{
\the\toks
0
}
%
\immediate
\writexrdef
{
snt
}{
\csname
#2
\endcsname
}
% \Ynumbered etc.
\
writexrdef
{
pg
}{
\folio
}
% will be written later, during \shipout
\
safewhatsit
{
\writexrdef
{
pg
}{
\folio
}
}
% will be written later, during \shipout
}
%
\fi
}
...
...
@@ -6358,7 +6964,8 @@ output) for that.)}
\ifpdf
\leavevmode
\getfilename
{
#4
}
%
{
\turnoffactive
{
\indexnofonts
\turnoffactive
% See comments at \activebackslashdouble.
{
\activebackslashdouble
\xdef\pdfxrefdest
{
#1
}
%
\backslashparens\pdfxrefdest
}
%
...
...
@@ -6371,7 +6978,7 @@ output) for that.)}
goto name
{
\pdfmkpgn
{
\pdfxrefdest
}}
%
\fi
}
%
\
linkcolor
\
setcolor
{
\linkcolor
}
%
\fi
%
% Float references are printed completely differently: "Figure 1.2"
...
...
@@ -6409,7 +7016,7 @@ output) for that.)}
% is a loss. Therefore, we give the text of the node name again, so it
% is as if TeX is seeing it for the first time.
\ifdim
\wd
1 > 0pt
\putword
s
ection
{}
``
\printedrefname
''
\putwordin
{}
\cite
{
\printedmanual
}
%
\putword
S
ection
{}
``
\printedrefname
''
\putwordin
{}
\cite
{
\printedmanual
}
%
\else
% _ (for example) has to be the character _ for the purposes of the
% control sequence corresponding to the node, but it has to expand
...
...
@@ -6505,10 +7112,18 @@ output) for that.)}
% collisions). But if this is a float type, we have more work to do.
%
\def\xrdef
#1#2
{
%
\expandafter\gdef\csname
XR#1
\endcsname
{
#2
}
% remember this xref value.
{
% The node name might contain 8-bit characters, which in our current
% implementation are changed to commands like @'e. Don't let these
% mess up the control sequence name.
\indexnofonts
\turnoffactive
\xdef\safexrefname
{
#1
}
%
}
%
%
\expandafter\gdef\csname
XR
\safexrefname\endcsname
{
#2
}
% remember this xref
%
% Was that xref control sequence that we just defined for a float?
\expandafter\iffloat\csname
XR
#1
\endcsname
\expandafter\iffloat\csname
XR
\safexrefname
\endcsname
% it was a float, and we have the (safe) float type in \iffloattype.
\expandafter\let\expandafter\floatlist
\csname
floatlist
\iffloattype\endcsname
...
...
@@ -6523,7 +7138,8 @@ output) for that.)}
%
% Remember this xref in the control sequence \floatlistFLOATTYPE,
% for later use in \listoffloats.
\expandafter\xdef\csname
floatlist
\iffloattype\endcsname
{
\the\toks
0
{
#1
}}
%
\expandafter\xdef\csname
floatlist
\iffloattype\endcsname
{
\the\toks
0
{
\safexrefname
}}
%
\fi
}
...
...
@@ -6627,6 +7243,7 @@ output) for that.)}
\input\jobname
.#1
\endgroup
}
\message
{
insertions,
}
% including footnotes.
...
...
@@ -6899,13 +7516,13 @@ output) for that.)}
\global\advance\floatno
by 1
%
{
%
% This magic value for \
this
section is output by \setref as the
% This magic value for \
last
section is output by \setref as the
% XREFLABEL-title value. \xrefX uses it to distinguish float
% labels (which have a completely different output format) from
% node and anchor labels. And \xrdef uses it to construct the
% lists of floats.
%
\edef\
this
section
{
\floatmagic
=
\safefloattype
}
%
\edef\
last
section
{
\floatmagic
=
\safefloattype
}
%
\setref
{
\floatlabel
}{
Yfloat
}
%
}
%
\fi
...
...
@@ -7040,7 +7657,7 @@ output) for that.)}
% #1 is the control sequence we are passed; we expand into a conditional
% which is true if #1 represents a float ref. That is, the magic
% \
this
section value which we \setref above.
% \
last
section value which we \setref above.
%
\def\iffloat
#1
{
\expandafter\doiffloat
#1==
\finish
}
%
...
...
@@ -7101,39 +7718,871 @@ output) for that.)}
\writeentry
}}
\message
{
localization,
}
% and i18n.
% @documentlanguage is usually given very early, just after
% @setfilename. If done too late, it may not override everything
% properly. Single argument is the language
abbreviation.
%
It would be nice if we could set up a hyphenation file her
e.
% properly. Single argument is the language
(de) or locale (de_DE)
%
abbreviation. It would be nice if we could set up a hyphenation fil
e.
%
\parseargdef\documentlanguage
{
%
{
\catcode
`
\_
=
\active
\globaldefs
=1
\parseargdef\documentlanguage
{
\begingroup
\let
_
=
\normalunderscore
% normal _ character for filenames
\tex
% read txi-??.tex file in plain TeX.
% Read the file if it exists.
% Read the file
by the name they passed
if it exists.
\openin
1 txi-#1.tex
\ifeof
1
\errhelp
=
\nolanghelp
\errmessage
{
Cannot read language file txi-#1.tex
}
%
\documentlanguagetrywithoutunderscore
{
#1
_
\finish
}
%
\else
\input
txi-#1.tex
\fi
\closein
1
\endgroup
\endgroup
}
}
%
% If they passed de_DE, and txi-de_DE.tex doesn't exist,
% try txi-de.tex.
%
\def\documentlanguagetrywithoutunderscore
#1
_
#2
\finish
{
%
\openin
1 txi-#1.tex
\ifeof
1
\errhelp
=
\nolanghelp
\errmessage
{
Cannot read language file txi-#1.tex
}
%
\else
\input
txi-#1.tex
\fi
\closein
1
}
%
\newhelp\nolanghelp
{
The given language definition file cannot be found or
is empty. Maybe you need to install it? In the current directory
should work if nowhere else does.
}
% Set the catcode of characters 128 through 255 to the specified number.
%
\def\setnonasciicharscatcode
#1
{
%
\count
255=128
\loop\ifnum\count
255<256
\global\catcode\count
255=#1
\relax
\advance\count
255 by 1
\repeat
}
% @documentencoding should change something in TeX eventually, most
% likely, but for now just recognize it.
\let\documentencoding
=
\comment
\def\setnonasciicharscatcodenonglobal
#1
{
%
\count
255=128
\loop\ifnum\count
255<256
\catcode\count
255=#1
\relax
\advance\count
255 by 1
\repeat
}
% @documentencoding sets the definition of non-ASCII characters
% according to the specified encoding.
%
\parseargdef\documentencoding
{
%
% Encoding being declared for the document.
\def\declaredencoding
{
\csname
#1.enc
\endcsname
}
%
%
% Supported encodings: names converted to tokens in order to be able
% to compare them with \ifx.
\def\ascii
{
\csname
US-ASCII.enc
\endcsname
}
%
\def\latnine
{
\csname
ISO-8859-15.enc
\endcsname
}
%
\def\latone
{
\csname
ISO-8859-1.enc
\endcsname
}
%
\def\lattwo
{
\csname
ISO-8859-2.enc
\endcsname
}
%
\def\utfeight
{
\csname
UTF-8.enc
\endcsname
}
%
%
\ifx
\declaredencoding
\ascii
\asciichardefs
%
\else
\ifx
\declaredencoding
\lattwo
\setnonasciicharscatcode\active
\lattwochardefs
%
\else
\ifx
\declaredencoding
\latone
\setnonasciicharscatcode\active
\latonechardefs
%
\else
\ifx
\declaredencoding
\latnine
\setnonasciicharscatcode\active
\latninechardefs
%
\else
\ifx
\declaredencoding
\utfeight
\setnonasciicharscatcode\active
\utfeightchardefs
%
\else
\message
{
Unknown document encoding #1, ignoring.
}
%
%
\fi
% utfeight
\fi
% latnine
\fi
% latone
\fi
% lattwo
\fi
% ascii
}
% A message to be logged when using a character that isn't available
% the default font encoding (OT1).
%
\def\missingcharmsg
#1
{
\message
{
Character missing in OT1 encoding: #1.
}}
% Take account of \c (plain) vs. \, (Texinfo) difference.
\def\cedilla
#1
{
\ifx\c\ptexc\c
{
#1
}
\else\,
{
#1
}
\fi
}
% First, make active non-ASCII characters in order for them to be
% correctly categorized when TeX reads the replacement text of
% macros containing the character definitions.
\setnonasciicharscatcode\active
%
% Latin1 (ISO-8859-1) character definitions.
\def\latonechardefs
{
%
\gdef
^^
a0
{
~
}
\gdef
^^
a1
{
\exclamdown
}
\gdef
^^
a2
{
\missingcharmsg
{
CENT SIGN
}}
\gdef
^^
a3
{{
\pounds
}}
\gdef
^^
a4
{
\missingcharmsg
{
CURRENCY SIGN
}}
\gdef
^^
a5
{
\missingcharmsg
{
YEN SIGN
}}
\gdef
^^
a6
{
\missingcharmsg
{
BROKEN BAR
}}
\gdef
^^
a7
{
\S
}
\gdef
^^
a8
{
\"
{}}
\gdef
^^
a9
{
\copyright
}
\gdef
^^
aa
{
\ordf
}
\gdef
^^
ab
{
\missingcharmsg
{
LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
}}
\gdef
^^
ac
{$
\lnot
$}
\gdef
^^
ad
{
\-
}
\gdef
^^
ae
{
\registeredsymbol
}
\gdef
^^
af
{
\=
{}}
%
\gdef
^^
b0
{
\textdegree
}
\gdef
^^
b1
{$
\pm
$}
\gdef
^^
b2
{$^
2
$}
\gdef
^^
b3
{$^
3
$}
\gdef
^^
b4
{
\'
{}}
\gdef
^^
b5
{$
\mu
$}
\gdef
^^
b6
{
\P
}
%
\gdef
^^
b7
{$^
.
$}
\gdef
^^
b8
{
\cedilla\
}
\gdef
^^
b9
{$^
1
$}
\gdef
^^
ba
{
\ordm
}
%
\gdef
^^
bb
{
\missingcharmsg
{
RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
}}
\gdef
^^
bc
{$
1
\over
4
$}
\gdef
^^
bd
{$
1
\over
2
$}
\gdef
^^
be
{$
3
\over
4
$}
\gdef
^^
bf
{
\questiondown
}
%
\gdef
^^
c0
{
\`
A
}
\gdef
^^
c1
{
\'
A
}
\gdef
^^
c2
{
\^
A
}
\gdef
^^
c3
{
\~
A
}
\gdef
^^
c4
{
\"
A
}
\gdef
^^
c5
{
\ringaccent
A
}
\gdef
^^
c6
{
\AE
}
\gdef
^^
c7
{
\cedilla
C
}
\gdef
^^
c8
{
\`
E
}
\gdef
^^
c9
{
\'
E
}
\gdef
^^
ca
{
\^
E
}
\gdef
^^
cb
{
\"
E
}
\gdef
^^
cc
{
\`
I
}
\gdef
^^
cd
{
\'
I
}
\gdef
^^
ce
{
\^
I
}
\gdef
^^
cf
{
\"
I
}
%
\gdef
^^
d0
{
\missingcharmsg
{
LATIN CAPITAL LETTER ETH
}}
\gdef
^^
d1
{
\~
N
}
\gdef
^^
d2
{
\`
O
}
\gdef
^^
d3
{
\'
O
}
\gdef
^^
d4
{
\^
O
}
\gdef
^^
d5
{
\~
O
}
\gdef
^^
d6
{
\"
O
}
\gdef
^^
d7
{$
\times
$}
\gdef
^^
d8
{
\O
}
\gdef
^^
d9
{
\`
U
}
\gdef
^^
da
{
\'
U
}
\gdef
^^
db
{
\^
U
}
\gdef
^^
dc
{
\"
U
}
\gdef
^^
dd
{
\'
Y
}
\gdef
^^
de
{
\missingcharmsg
{
LATIN CAPITAL LETTER THORN
}}
\gdef
^^
df
{
\ss
}
%
\gdef
^^
e0
{
\`
a
}
\gdef
^^
e1
{
\'
a
}
\gdef
^^
e2
{
\^
a
}
\gdef
^^
e3
{
\~
a
}
\gdef
^^
e4
{
\"
a
}
\gdef
^^
e5
{
\ringaccent
a
}
\gdef
^^
e6
{
\ae
}
\gdef
^^
e7
{
\cedilla
c
}
\gdef
^^
e8
{
\`
e
}
\gdef
^^
e9
{
\'
e
}
\gdef
^^
ea
{
\^
e
}
\gdef
^^
eb
{
\"
e
}
\gdef
^^
ec
{
\`
{
\dotless
i
}}
\gdef
^^
ed
{
\'
{
\dotless
i
}}
\gdef
^^
ee
{
\^
{
\dotless
i
}}
\gdef
^^
ef
{
\"
{
\dotless
i
}}
%
\gdef
^^
f0
{
\missingcharmsg
{
LATIN SMALL LETTER ETH
}}
\gdef
^^
f1
{
\~
n
}
\gdef
^^
f2
{
\`
o
}
\gdef
^^
f3
{
\'
o
}
\gdef
^^
f4
{
\^
o
}
\gdef
^^
f5
{
\~
o
}
\gdef
^^
f6
{
\"
o
}
\gdef
^^
f7
{$
\div
$}
\gdef
^^
f8
{
\o
}
\gdef
^^
f9
{
\`
u
}
\gdef
^^
fa
{
\'
u
}
\gdef
^^
fb
{
\^
u
}
\gdef
^^
fc
{
\"
u
}
\gdef
^^
fd
{
\'
y
}
\gdef
^^
fe
{
\missingcharmsg
{
LATIN SMALL LETTER THORN
}}
\gdef
^^
ff
{
\"
y
}
}
% Latin9 (ISO-8859-15) encoding character definitions.
\def\latninechardefs
{
%
% Encoding is almost identical to Latin1.
\latonechardefs
%
\gdef
^^
a4
{
\euro
}
\gdef
^^
a6
{
\v
S
}
\gdef
^^
a8
{
\v
s
}
\gdef
^^
b4
{
\v
Z
}
\gdef
^^
b8
{
\v
z
}
\gdef
^^
bc
{
\OE
}
\gdef
^^
bd
{
\oe
}
\gdef
^^
be
{
\"
Y
}
}
% Latin2 (ISO-8859-2) character definitions.
\def\lattwochardefs
{
%
\gdef
^^
a0
{
~
}
\gdef
^^
a1
{
\missingcharmsg
{
LATIN CAPITAL LETTER A WITH OGONEK
}}
\gdef
^^
a2
{
\u
{}}
\gdef
^^
a3
{
\L
}
\gdef
^^
a4
{
\missingcharmsg
{
CURRENCY SIGN
}}
\gdef
^^
a5
{
\v
L
}
\gdef
^^
a6
{
\'
S
}
\gdef
^^
a7
{
\S
}
\gdef
^^
a8
{
\"
{}}
\gdef
^^
a9
{
\v
S
}
\gdef
^^
aa
{
\cedilla
S
}
\gdef
^^
ab
{
\v
T
}
\gdef
^^
ac
{
\'
Z
}
\gdef
^^
ad
{
\-
}
\gdef
^^
ae
{
\v
Z
}
\gdef
^^
af
{
\dotaccent
Z
}
%
\gdef
^^
b0
{
\textdegree
}
\gdef
^^
b1
{
\missingcharmsg
{
LATIN SMALL LETTER A WITH OGONEK
}}
\gdef
^^
b2
{
\missingcharmsg
{
OGONEK
}}
\gdef
^^
b3
{
\l
}
\gdef
^^
b4
{
\'
{}}
\gdef
^^
b5
{
\v
l
}
\gdef
^^
b6
{
\'
s
}
\gdef
^^
b7
{
\v
{}}
\gdef
^^
b8
{
\cedilla\
}
\gdef
^^
b9
{
\v
s
}
\gdef
^^
ba
{
\cedilla
s
}
\gdef
^^
bb
{
\v
t
}
\gdef
^^
bc
{
\'
z
}
\gdef
^^
bd
{
\H
{}}
\gdef
^^
be
{
\v
z
}
\gdef
^^
bf
{
\dotaccent
z
}
%
\gdef
^^
c0
{
\'
R
}
\gdef
^^
c1
{
\'
A
}
\gdef
^^
c2
{
\^
A
}
\gdef
^^
c3
{
\u
A
}
\gdef
^^
c4
{
\"
A
}
\gdef
^^
c5
{
\'
L
}
\gdef
^^
c6
{
\'
C
}
\gdef
^^
c7
{
\cedilla
C
}
\gdef
^^
c8
{
\v
C
}
\gdef
^^
c9
{
\'
E
}
\gdef
^^
ca
{
\missingcharmsg
{
LATIN CAPITAL LETTER E WITH OGONEK
}}
\gdef
^^
cb
{
\"
E
}
\gdef
^^
cc
{
\v
E
}
\gdef
^^
cd
{
\'
I
}
\gdef
^^
ce
{
\^
I
}
\gdef
^^
cf
{
\v
D
}
%
\gdef
^^
d0
{
\missingcharmsg
{
LATIN CAPITAL LETTER D WITH STROKE
}}
\gdef
^^
d1
{
\'
N
}
\gdef
^^
d2
{
\v
N
}
\gdef
^^
d3
{
\'
O
}
\gdef
^^
d4
{
\^
O
}
\gdef
^^
d5
{
\H
O
}
\gdef
^^
d6
{
\"
O
}
\gdef
^^
d7
{$
\times
$}
\gdef
^^
d8
{
\v
R
}
\gdef
^^
d9
{
\ringaccent
U
}
\gdef
^^
da
{
\'
U
}
\gdef
^^
db
{
\H
U
}
\gdef
^^
dc
{
\"
U
}
\gdef
^^
dd
{
\'
Y
}
\gdef
^^
de
{
\cedilla
T
}
\gdef
^^
df
{
\ss
}
%
\gdef
^^
e0
{
\'
r
}
\gdef
^^
e1
{
\'
a
}
\gdef
^^
e2
{
\^
a
}
\gdef
^^
e3
{
\u
a
}
\gdef
^^
e4
{
\"
a
}
\gdef
^^
e5
{
\'
l
}
\gdef
^^
e6
{
\'
c
}
\gdef
^^
e7
{
\cedilla
c
}
\gdef
^^
e8
{
\v
c
}
\gdef
^^
e9
{
\'
e
}
\gdef
^^
ea
{
\missingcharmsg
{
LATIN SMALL LETTER E WITH OGONEK
}}
\gdef
^^
eb
{
\"
e
}
\gdef
^^
ec
{
\v
e
}
\gdef
^^
ed
{
\'\i
}
\gdef
^^
ee
{
\^\i
}
\gdef
^^
ef
{
\v
d
}
%
\gdef
^^
f0
{
\missingcharmsg
{
LATIN SMALL LETTER D WITH STROKE
}}
\gdef
^^
f1
{
\'
n
}
\gdef
^^
f2
{
\v
n
}
\gdef
^^
f3
{
\'
o
}
\gdef
^^
f4
{
\^
o
}
\gdef
^^
f5
{
\H
o
}
\gdef
^^
f6
{
\"
o
}
\gdef
^^
f7
{$
\div
$}
\gdef
^^
f8
{
\v
r
}
\gdef
^^
f9
{
\ringaccent
u
}
\gdef
^^
fa
{
\'
u
}
\gdef
^^
fb
{
\H
u
}
\gdef
^^
fc
{
\"
u
}
\gdef
^^
fd
{
\'
y
}
\gdef
^^
fe
{
\cedilla
t
}
\gdef
^^
ff
{
\dotaccent
{}}
}
% UTF-8 character definitions.
%
% This code to support UTF-8 is based on LaTeX's utf8.def, with some
% changes for Texinfo conventions. It is included here under the GPL by
% permission from Frank Mittelbach and the LaTeX team.
%
\newcount\countUTFx
\newcount\countUTFy
\newcount\countUTFz
% Page size parameters.
\gdef\UTFviiiTwoOctets
#1#2
{
\expandafter
\UTFviiiDefined\csname
u8:#1
\string
#2
\endcsname
}
%
\gdef\UTFviiiThreeOctets
#1#2#3
{
\expandafter
\UTFviiiDefined\csname
u8:#1
\string
#2
\string
#3
\endcsname
}
%
\gdef\UTFviiiFourOctets
#1#2#3#4
{
\expandafter
\UTFviiiDefined\csname
u8:#1
\string
#2
\string
#3
\string
#4
\endcsname
}
\gdef\UTFviiiDefined
#1
{
%
\ifx
#1
\relax
\message
{
\linenumber
Unicode char
\string
#1 not defined for Texinfo
}
%
\else
\expandafter
#1
%
\fi
}
\begingroup
\catcode
`
\~
13
\catcode
`
\"
12
\def\UTFviiiLoop
{
%
\global\catcode\countUTFx\active
\uccode
`
\~\countUTFx
\uppercase\expandafter
{
\UTFviiiTmp
}
%
\advance\countUTFx
by 1
\ifnum\countUTFx
<
\countUTFy
\expandafter\UTFviiiLoop
\fi
}
\countUTFx
= "C2
\countUTFy
= "E0
\def\UTFviiiTmp
{
%
\xdef
~
{
\noexpand\UTFviiiTwoOctets\string
~
}}
\UTFviiiLoop
\countUTFx
= "E0
\countUTFy
= "F0
\def\UTFviiiTmp
{
%
\xdef
~
{
\noexpand\UTFviiiThreeOctets\string
~
}}
\UTFviiiLoop
\countUTFx
= "F0
\countUTFy
= "F4
\def\UTFviiiTmp
{
%
\xdef
~
{
\noexpand\UTFviiiFourOctets\string
~
}}
\UTFviiiLoop
\endgroup
\begingroup
\catcode
`
\"
=12
\catcode
`
\<
=12
\catcode
`
\.
=12
\catcode
`
\,
=12
\catcode
`
\;
=12
\catcode
`
\!
=12
\catcode
`
\~
=13
\gdef\DeclareUnicodeCharacter
#1#2
{
%
\countUTFz
= "#1
\relax
\wlog
{
\space\space
defining Unicode char U+#1 (decimal
\the\countUTFz
)
}
%
\begingroup
\parseXMLCharref
\def\UTFviiiTwoOctets
##1##2
{
%
\csname
u8:##1
\string
##2
\endcsname
}
%
\def\UTFviiiThreeOctets
##1##2##3
{
%
\csname
u8:##1
\string
##2
\string
##3
\endcsname
}
%
\def\UTFviiiFourOctets
##1##2##3##4
{
%
\csname
u8:##1
\string
##2
\string
##3
\string
##4
\endcsname
}
%
\expandafter\expandafter\expandafter\expandafter
\expandafter\expandafter\expandafter
\gdef\UTFviiiTmp
{
#2
}
%
\endgroup
}
\gdef\parseXMLCharref
{
%
\ifnum\countUTFz
< "A0
\relax
\errhelp
=
\EMsimple
\errmessage
{
Cannot define Unicode char value < 00A0
}
%
\else\ifnum\countUTFz
< "800
\relax
\parseUTFviiiA
,
%
\parseUTFviiiB
C
\UTFviiiTwoOctets
.,
%
\else\ifnum\countUTFz
< "10000
\relax
\parseUTFviiiA
;
%
\parseUTFviiiA
,
%
\parseUTFviiiB
E
\UTFviiiThreeOctets
.
{
,;
}
%
\else
\parseUTFviiiA
;
%
\parseUTFviiiA
,
%
\parseUTFviiiA
!
%
\parseUTFviiiB
F
\UTFviiiFourOctets
.
{
!,;
}
%
\fi\fi\fi
}
\gdef\parseUTFviiiA
#1
{
%
\countUTFx
=
\countUTFz
\divide\countUTFz
by 64
\countUTFy
=
\countUTFz
\multiply\countUTFz
by 64
\advance\countUTFx
by -
\countUTFz
\advance\countUTFx
by 128
\uccode
`#1
\countUTFx
\countUTFz
=
\countUTFy
}
\gdef\parseUTFviiiB
#1#2#3#4
{
%
\advance\countUTFz
by "#10
\relax
\uccode
`#3
\countUTFz
\uppercase
{
\gdef\UTFviiiTmp
{
#2#3#4
}}}
\endgroup
\def\utfeightchardefs
{
%
\DeclareUnicodeCharacter
{
00A0
}{
\tie
}
\DeclareUnicodeCharacter
{
00A1
}{
\exclamdown
}
\DeclareUnicodeCharacter
{
00A3
}{
\pounds
}
\DeclareUnicodeCharacter
{
00A8
}{
\"
{
}}
\DeclareUnicodeCharacter
{
00A9
}{
\copyright
}
\DeclareUnicodeCharacter
{
00AA
}{
\ordf
}
\DeclareUnicodeCharacter
{
00AB
}{
\guillemetleft
}
\DeclareUnicodeCharacter
{
00AD
}{
\-
}
\DeclareUnicodeCharacter
{
00AE
}{
\registeredsymbol
}
\DeclareUnicodeCharacter
{
00AF
}{
\=
{
}}
\DeclareUnicodeCharacter
{
00B0
}{
\ringaccent
{
}}
\DeclareUnicodeCharacter
{
00B4
}{
\'
{
}}
\DeclareUnicodeCharacter
{
00B8
}{
\cedilla
{
}}
\DeclareUnicodeCharacter
{
00BA
}{
\ordm
}
\DeclareUnicodeCharacter
{
00BB
}{
\guillemetright
}
\DeclareUnicodeCharacter
{
00BF
}{
\questiondown
}
\DeclareUnicodeCharacter
{
00C0
}{
\`
A
}
\DeclareUnicodeCharacter
{
00C1
}{
\'
A
}
\DeclareUnicodeCharacter
{
00C2
}{
\^
A
}
\DeclareUnicodeCharacter
{
00C3
}{
\~
A
}
\DeclareUnicodeCharacter
{
00C4
}{
\"
A
}
\DeclareUnicodeCharacter
{
00C5
}{
\AA
}
\DeclareUnicodeCharacter
{
00C6
}{
\AE
}
\DeclareUnicodeCharacter
{
00C7
}{
\cedilla
{
C
}}
\DeclareUnicodeCharacter
{
00C8
}{
\`
E
}
\DeclareUnicodeCharacter
{
00C9
}{
\'
E
}
\DeclareUnicodeCharacter
{
00CA
}{
\^
E
}
\DeclareUnicodeCharacter
{
00CB
}{
\"
E
}
\DeclareUnicodeCharacter
{
00CC
}{
\`
I
}
\DeclareUnicodeCharacter
{
00CD
}{
\'
I
}
\DeclareUnicodeCharacter
{
00CE
}{
\^
I
}
\DeclareUnicodeCharacter
{
00CF
}{
\"
I
}
\DeclareUnicodeCharacter
{
00D1
}{
\~
N
}
\DeclareUnicodeCharacter
{
00D2
}{
\`
O
}
\DeclareUnicodeCharacter
{
00D3
}{
\'
O
}
\DeclareUnicodeCharacter
{
00D4
}{
\^
O
}
\DeclareUnicodeCharacter
{
00D5
}{
\~
O
}
\DeclareUnicodeCharacter
{
00D6
}{
\"
O
}
\DeclareUnicodeCharacter
{
00D8
}{
\O
}
\DeclareUnicodeCharacter
{
00D9
}{
\`
U
}
\DeclareUnicodeCharacter
{
00DA
}{
\'
U
}
\DeclareUnicodeCharacter
{
00DB
}{
\^
U
}
\DeclareUnicodeCharacter
{
00DC
}{
\"
U
}
\DeclareUnicodeCharacter
{
00DD
}{
\'
Y
}
\DeclareUnicodeCharacter
{
00DF
}{
\ss
}
\DeclareUnicodeCharacter
{
00E0
}{
\`
a
}
\DeclareUnicodeCharacter
{
00E1
}{
\'
a
}
\DeclareUnicodeCharacter
{
00E2
}{
\^
a
}
\DeclareUnicodeCharacter
{
00E3
}{
\~
a
}
\DeclareUnicodeCharacter
{
00E4
}{
\"
a
}
\DeclareUnicodeCharacter
{
00E5
}{
\aa
}
\DeclareUnicodeCharacter
{
00E6
}{
\ae
}
\DeclareUnicodeCharacter
{
00E7
}{
\cedilla
{
c
}}
\DeclareUnicodeCharacter
{
00E8
}{
\`
e
}
\DeclareUnicodeCharacter
{
00E9
}{
\'
e
}
\DeclareUnicodeCharacter
{
00EA
}{
\^
e
}
\DeclareUnicodeCharacter
{
00EB
}{
\"
e
}
\DeclareUnicodeCharacter
{
00EC
}{
\`
{
\dotless
{
i
}}}
\DeclareUnicodeCharacter
{
00ED
}{
\'
{
\dotless
{
i
}}}
\DeclareUnicodeCharacter
{
00EE
}{
\^
{
\dotless
{
i
}}}
\DeclareUnicodeCharacter
{
00EF
}{
\"
{
\dotless
{
i
}}}
\DeclareUnicodeCharacter
{
00F1
}{
\~
n
}
\DeclareUnicodeCharacter
{
00F2
}{
\`
o
}
\DeclareUnicodeCharacter
{
00F3
}{
\'
o
}
\DeclareUnicodeCharacter
{
00F4
}{
\^
o
}
\DeclareUnicodeCharacter
{
00F5
}{
\~
o
}
\DeclareUnicodeCharacter
{
00F6
}{
\"
o
}
\DeclareUnicodeCharacter
{
00F8
}{
\o
}
\DeclareUnicodeCharacter
{
00F9
}{
\`
u
}
\DeclareUnicodeCharacter
{
00FA
}{
\'
u
}
\DeclareUnicodeCharacter
{
00FB
}{
\^
u
}
\DeclareUnicodeCharacter
{
00FC
}{
\"
u
}
\DeclareUnicodeCharacter
{
00FD
}{
\'
y
}
\DeclareUnicodeCharacter
{
00FF
}{
\"
y
}
\DeclareUnicodeCharacter
{
0100
}{
\=
A
}
\DeclareUnicodeCharacter
{
0101
}{
\=
a
}
\DeclareUnicodeCharacter
{
0102
}{
\u
{
A
}}
\DeclareUnicodeCharacter
{
0103
}{
\u
{
a
}}
\DeclareUnicodeCharacter
{
0106
}{
\'
C
}
\DeclareUnicodeCharacter
{
0107
}{
\'
c
}
\DeclareUnicodeCharacter
{
0108
}{
\^
C
}
\DeclareUnicodeCharacter
{
0109
}{
\^
c
}
\DeclareUnicodeCharacter
{
010A
}{
\dotaccent
{
C
}}
\DeclareUnicodeCharacter
{
010B
}{
\dotaccent
{
c
}}
\DeclareUnicodeCharacter
{
010C
}{
\v
{
C
}}
\DeclareUnicodeCharacter
{
010D
}{
\v
{
c
}}
\DeclareUnicodeCharacter
{
010E
}{
\v
{
D
}}
\DeclareUnicodeCharacter
{
0112
}{
\=
E
}
\DeclareUnicodeCharacter
{
0113
}{
\=
e
}
\DeclareUnicodeCharacter
{
0114
}{
\u
{
E
}}
\DeclareUnicodeCharacter
{
0115
}{
\u
{
e
}}
\DeclareUnicodeCharacter
{
0116
}{
\dotaccent
{
E
}}
\DeclareUnicodeCharacter
{
0117
}{
\dotaccent
{
e
}}
\DeclareUnicodeCharacter
{
011A
}{
\v
{
E
}}
\DeclareUnicodeCharacter
{
011B
}{
\v
{
e
}}
\DeclareUnicodeCharacter
{
011C
}{
\^
G
}
\DeclareUnicodeCharacter
{
011D
}{
\^
g
}
\DeclareUnicodeCharacter
{
011E
}{
\u
{
G
}}
\DeclareUnicodeCharacter
{
011F
}{
\u
{
g
}}
\DeclareUnicodeCharacter
{
0120
}{
\dotaccent
{
G
}}
\DeclareUnicodeCharacter
{
0121
}{
\dotaccent
{
g
}}
\DeclareUnicodeCharacter
{
0124
}{
\^
H
}
\DeclareUnicodeCharacter
{
0125
}{
\^
h
}
\DeclareUnicodeCharacter
{
0128
}{
\~
I
}
\DeclareUnicodeCharacter
{
0129
}{
\~
{
\dotless
{
i
}}}
\DeclareUnicodeCharacter
{
012A
}{
\=
I
}
\DeclareUnicodeCharacter
{
012B
}{
\=
{
\dotless
{
i
}}}
\DeclareUnicodeCharacter
{
012C
}{
\u
{
I
}}
\DeclareUnicodeCharacter
{
012D
}{
\u
{
\dotless
{
i
}}}
\DeclareUnicodeCharacter
{
0130
}{
\dotaccent
{
I
}}
\DeclareUnicodeCharacter
{
0131
}{
\dotless
{
i
}}
\DeclareUnicodeCharacter
{
0132
}{
IJ
}
\DeclareUnicodeCharacter
{
0133
}{
ij
}
\DeclareUnicodeCharacter
{
0134
}{
\^
J
}
\DeclareUnicodeCharacter
{
0135
}{
\^
{
\dotless
{
j
}}}
\DeclareUnicodeCharacter
{
0139
}{
\'
L
}
\DeclareUnicodeCharacter
{
013A
}{
\'
l
}
\DeclareUnicodeCharacter
{
0141
}{
\L
}
\DeclareUnicodeCharacter
{
0142
}{
\l
}
\DeclareUnicodeCharacter
{
0143
}{
\'
N
}
\DeclareUnicodeCharacter
{
0144
}{
\'
n
}
\DeclareUnicodeCharacter
{
0147
}{
\v
{
N
}}
\DeclareUnicodeCharacter
{
0148
}{
\v
{
n
}}
\DeclareUnicodeCharacter
{
014C
}{
\=
O
}
\DeclareUnicodeCharacter
{
014D
}{
\=
o
}
\DeclareUnicodeCharacter
{
014E
}{
\u
{
O
}}
\DeclareUnicodeCharacter
{
014F
}{
\u
{
o
}}
\DeclareUnicodeCharacter
{
0150
}{
\H
{
O
}}
\DeclareUnicodeCharacter
{
0151
}{
\H
{
o
}}
\DeclareUnicodeCharacter
{
0152
}{
\OE
}
\DeclareUnicodeCharacter
{
0153
}{
\oe
}
\DeclareUnicodeCharacter
{
0154
}{
\'
R
}
\DeclareUnicodeCharacter
{
0155
}{
\'
r
}
\DeclareUnicodeCharacter
{
0158
}{
\v
{
R
}}
\DeclareUnicodeCharacter
{
0159
}{
\v
{
r
}}
\DeclareUnicodeCharacter
{
015A
}{
\'
S
}
\DeclareUnicodeCharacter
{
015B
}{
\'
s
}
\DeclareUnicodeCharacter
{
015C
}{
\^
S
}
\DeclareUnicodeCharacter
{
015D
}{
\^
s
}
\DeclareUnicodeCharacter
{
015E
}{
\cedilla
{
S
}}
\DeclareUnicodeCharacter
{
015F
}{
\cedilla
{
s
}}
\DeclareUnicodeCharacter
{
0160
}{
\v
{
S
}}
\DeclareUnicodeCharacter
{
0161
}{
\v
{
s
}}
\DeclareUnicodeCharacter
{
0162
}{
\cedilla
{
t
}}
\DeclareUnicodeCharacter
{
0163
}{
\cedilla
{
T
}}
\DeclareUnicodeCharacter
{
0164
}{
\v
{
T
}}
\DeclareUnicodeCharacter
{
0168
}{
\~
U
}
\DeclareUnicodeCharacter
{
0169
}{
\~
u
}
\DeclareUnicodeCharacter
{
016A
}{
\=
U
}
\DeclareUnicodeCharacter
{
016B
}{
\=
u
}
\DeclareUnicodeCharacter
{
016C
}{
\u
{
U
}}
\DeclareUnicodeCharacter
{
016D
}{
\u
{
u
}}
\DeclareUnicodeCharacter
{
016E
}{
\ringaccent
{
U
}}
\DeclareUnicodeCharacter
{
016F
}{
\ringaccent
{
u
}}
\DeclareUnicodeCharacter
{
0170
}{
\H
{
U
}}
\DeclareUnicodeCharacter
{
0171
}{
\H
{
u
}}
\DeclareUnicodeCharacter
{
0174
}{
\^
W
}
\DeclareUnicodeCharacter
{
0175
}{
\^
w
}
\DeclareUnicodeCharacter
{
0176
}{
\^
Y
}
\DeclareUnicodeCharacter
{
0177
}{
\^
y
}
\DeclareUnicodeCharacter
{
0178
}{
\"
Y
}
\DeclareUnicodeCharacter
{
0179
}{
\'
Z
}
\DeclareUnicodeCharacter
{
017A
}{
\'
z
}
\DeclareUnicodeCharacter
{
017B
}{
\dotaccent
{
Z
}}
\DeclareUnicodeCharacter
{
017C
}{
\dotaccent
{
z
}}
\DeclareUnicodeCharacter
{
017D
}{
\v
{
Z
}}
\DeclareUnicodeCharacter
{
017E
}{
\v
{
z
}}
\DeclareUnicodeCharacter
{
01C4
}{
D
\v
{
Z
}}
\DeclareUnicodeCharacter
{
01C5
}{
D
\v
{
z
}}
\DeclareUnicodeCharacter
{
01C6
}{
d
\v
{
z
}}
\DeclareUnicodeCharacter
{
01C7
}{
LJ
}
\DeclareUnicodeCharacter
{
01C8
}{
Lj
}
\DeclareUnicodeCharacter
{
01C9
}{
lj
}
\DeclareUnicodeCharacter
{
01CA
}{
NJ
}
\DeclareUnicodeCharacter
{
01CB
}{
Nj
}
\DeclareUnicodeCharacter
{
01CC
}{
nj
}
\DeclareUnicodeCharacter
{
01CD
}{
\v
{
A
}}
\DeclareUnicodeCharacter
{
01CE
}{
\v
{
a
}}
\DeclareUnicodeCharacter
{
01CF
}{
\v
{
I
}}
\DeclareUnicodeCharacter
{
01D0
}{
\v
{
\dotless
{
i
}}}
\DeclareUnicodeCharacter
{
01D1
}{
\v
{
O
}}
\DeclareUnicodeCharacter
{
01D2
}{
\v
{
o
}}
\DeclareUnicodeCharacter
{
01D3
}{
\v
{
U
}}
\DeclareUnicodeCharacter
{
01D4
}{
\v
{
u
}}
\DeclareUnicodeCharacter
{
01E2
}{
\=
{
\AE
}}
\DeclareUnicodeCharacter
{
01E3
}{
\=
{
\ae
}}
\DeclareUnicodeCharacter
{
01E6
}{
\v
{
G
}}
\DeclareUnicodeCharacter
{
01E7
}{
\v
{
g
}}
\DeclareUnicodeCharacter
{
01E8
}{
\v
{
K
}}
\DeclareUnicodeCharacter
{
01E9
}{
\v
{
k
}}
\DeclareUnicodeCharacter
{
01F0
}{
\v
{
\dotless
{
j
}}}
\DeclareUnicodeCharacter
{
01F1
}{
DZ
}
\DeclareUnicodeCharacter
{
01F2
}{
Dz
}
\DeclareUnicodeCharacter
{
01F3
}{
dz
}
\DeclareUnicodeCharacter
{
01F4
}{
\'
G
}
\DeclareUnicodeCharacter
{
01F5
}{
\'
g
}
\DeclareUnicodeCharacter
{
01F8
}{
\`
N
}
\DeclareUnicodeCharacter
{
01F9
}{
\`
n
}
\DeclareUnicodeCharacter
{
01FC
}{
\'
{
\AE
}}
\DeclareUnicodeCharacter
{
01FD
}{
\'
{
\ae
}}
\DeclareUnicodeCharacter
{
01FE
}{
\'
{
\O
}}
\DeclareUnicodeCharacter
{
01FF
}{
\'
{
\o
}}
\DeclareUnicodeCharacter
{
021E
}{
\v
{
H
}}
\DeclareUnicodeCharacter
{
021F
}{
\v
{
h
}}
\DeclareUnicodeCharacter
{
0226
}{
\dotaccent
{
A
}}
\DeclareUnicodeCharacter
{
0227
}{
\dotaccent
{
a
}}
\DeclareUnicodeCharacter
{
0228
}{
\cedilla
{
E
}}
\DeclareUnicodeCharacter
{
0229
}{
\cedilla
{
e
}}
\DeclareUnicodeCharacter
{
022E
}{
\dotaccent
{
O
}}
\DeclareUnicodeCharacter
{
022F
}{
\dotaccent
{
o
}}
\DeclareUnicodeCharacter
{
0232
}{
\=
Y
}
\DeclareUnicodeCharacter
{
0233
}{
\=
y
}
\DeclareUnicodeCharacter
{
0237
}{
\dotless
{
j
}}
\DeclareUnicodeCharacter
{
1E02
}{
\dotaccent
{
B
}}
\DeclareUnicodeCharacter
{
1E03
}{
\dotaccent
{
b
}}
\DeclareUnicodeCharacter
{
1E04
}{
\udotaccent
{
B
}}
\DeclareUnicodeCharacter
{
1E05
}{
\udotaccent
{
b
}}
\DeclareUnicodeCharacter
{
1E06
}{
\ubaraccent
{
B
}}
\DeclareUnicodeCharacter
{
1E07
}{
\ubaraccent
{
b
}}
\DeclareUnicodeCharacter
{
1E0A
}{
\dotaccent
{
D
}}
\DeclareUnicodeCharacter
{
1E0B
}{
\dotaccent
{
d
}}
\DeclareUnicodeCharacter
{
1E0C
}{
\udotaccent
{
D
}}
\DeclareUnicodeCharacter
{
1E0D
}{
\udotaccent
{
d
}}
\DeclareUnicodeCharacter
{
1E0E
}{
\ubaraccent
{
D
}}
\DeclareUnicodeCharacter
{
1E0F
}{
\ubaraccent
{
d
}}
\DeclareUnicodeCharacter
{
1E1E
}{
\dotaccent
{
F
}}
\DeclareUnicodeCharacter
{
1E1F
}{
\dotaccent
{
f
}}
\DeclareUnicodeCharacter
{
1E20
}{
\=
G
}
\DeclareUnicodeCharacter
{
1E21
}{
\=
g
}
\DeclareUnicodeCharacter
{
1E22
}{
\dotaccent
{
H
}}
\DeclareUnicodeCharacter
{
1E23
}{
\dotaccent
{
h
}}
\DeclareUnicodeCharacter
{
1E24
}{
\udotaccent
{
H
}}
\DeclareUnicodeCharacter
{
1E25
}{
\udotaccent
{
h
}}
\DeclareUnicodeCharacter
{
1E26
}{
\"
H
}
\DeclareUnicodeCharacter
{
1E27
}{
\"
h
}
\DeclareUnicodeCharacter
{
1E30
}{
\'
K
}
\DeclareUnicodeCharacter
{
1E31
}{
\'
k
}
\DeclareUnicodeCharacter
{
1E32
}{
\udotaccent
{
K
}}
\DeclareUnicodeCharacter
{
1E33
}{
\udotaccent
{
k
}}
\DeclareUnicodeCharacter
{
1E34
}{
\ubaraccent
{
K
}}
\DeclareUnicodeCharacter
{
1E35
}{
\ubaraccent
{
k
}}
\DeclareUnicodeCharacter
{
1E36
}{
\udotaccent
{
L
}}
\DeclareUnicodeCharacter
{
1E37
}{
\udotaccent
{
l
}}
\DeclareUnicodeCharacter
{
1E3A
}{
\ubaraccent
{
L
}}
\DeclareUnicodeCharacter
{
1E3B
}{
\ubaraccent
{
l
}}
\DeclareUnicodeCharacter
{
1E3E
}{
\'
M
}
\DeclareUnicodeCharacter
{
1E3F
}{
\'
m
}
\DeclareUnicodeCharacter
{
1E40
}{
\dotaccent
{
M
}}
\DeclareUnicodeCharacter
{
1E41
}{
\dotaccent
{
m
}}
\DeclareUnicodeCharacter
{
1E42
}{
\udotaccent
{
M
}}
\DeclareUnicodeCharacter
{
1E43
}{
\udotaccent
{
m
}}
\DeclareUnicodeCharacter
{
1E44
}{
\dotaccent
{
N
}}
\DeclareUnicodeCharacter
{
1E45
}{
\dotaccent
{
n
}}
\DeclareUnicodeCharacter
{
1E46
}{
\udotaccent
{
N
}}
\DeclareUnicodeCharacter
{
1E47
}{
\udotaccent
{
n
}}
\DeclareUnicodeCharacter
{
1E48
}{
\ubaraccent
{
N
}}
\DeclareUnicodeCharacter
{
1E49
}{
\ubaraccent
{
n
}}
\DeclareUnicodeCharacter
{
1E54
}{
\'
P
}
\DeclareUnicodeCharacter
{
1E55
}{
\'
p
}
\DeclareUnicodeCharacter
{
1E56
}{
\dotaccent
{
P
}}
\DeclareUnicodeCharacter
{
1E57
}{
\dotaccent
{
p
}}
\DeclareUnicodeCharacter
{
1E58
}{
\dotaccent
{
R
}}
\DeclareUnicodeCharacter
{
1E59
}{
\dotaccent
{
r
}}
\DeclareUnicodeCharacter
{
1E5A
}{
\udotaccent
{
R
}}
\DeclareUnicodeCharacter
{
1E5B
}{
\udotaccent
{
r
}}
\DeclareUnicodeCharacter
{
1E5E
}{
\ubaraccent
{
R
}}
\DeclareUnicodeCharacter
{
1E5F
}{
\ubaraccent
{
r
}}
\DeclareUnicodeCharacter
{
1E60
}{
\dotaccent
{
S
}}
\DeclareUnicodeCharacter
{
1E61
}{
\dotaccent
{
s
}}
\DeclareUnicodeCharacter
{
1E62
}{
\udotaccent
{
S
}}
\DeclareUnicodeCharacter
{
1E63
}{
\udotaccent
{
s
}}
\DeclareUnicodeCharacter
{
1E6A
}{
\dotaccent
{
T
}}
\DeclareUnicodeCharacter
{
1E6B
}{
\dotaccent
{
t
}}
\DeclareUnicodeCharacter
{
1E6C
}{
\udotaccent
{
T
}}
\DeclareUnicodeCharacter
{
1E6D
}{
\udotaccent
{
t
}}
\DeclareUnicodeCharacter
{
1E6E
}{
\ubaraccent
{
T
}}
\DeclareUnicodeCharacter
{
1E6F
}{
\ubaraccent
{
t
}}
\DeclareUnicodeCharacter
{
1E7C
}{
\~
V
}
\DeclareUnicodeCharacter
{
1E7D
}{
\~
v
}
\DeclareUnicodeCharacter
{
1E7E
}{
\udotaccent
{
V
}}
\DeclareUnicodeCharacter
{
1E7F
}{
\udotaccent
{
v
}}
\DeclareUnicodeCharacter
{
1E80
}{
\`
W
}
\DeclareUnicodeCharacter
{
1E81
}{
\`
w
}
\DeclareUnicodeCharacter
{
1E82
}{
\'
W
}
\DeclareUnicodeCharacter
{
1E83
}{
\'
w
}
\DeclareUnicodeCharacter
{
1E84
}{
\"
W
}
\DeclareUnicodeCharacter
{
1E85
}{
\"
w
}
\DeclareUnicodeCharacter
{
1E86
}{
\dotaccent
{
W
}}
\DeclareUnicodeCharacter
{
1E87
}{
\dotaccent
{
w
}}
\DeclareUnicodeCharacter
{
1E88
}{
\udotaccent
{
W
}}
\DeclareUnicodeCharacter
{
1E89
}{
\udotaccent
{
w
}}
\DeclareUnicodeCharacter
{
1E8A
}{
\dotaccent
{
X
}}
\DeclareUnicodeCharacter
{
1E8B
}{
\dotaccent
{
x
}}
\DeclareUnicodeCharacter
{
1E8C
}{
\"
X
}
\DeclareUnicodeCharacter
{
1E8D
}{
\"
x
}
\DeclareUnicodeCharacter
{
1E8E
}{
\dotaccent
{
Y
}}
\DeclareUnicodeCharacter
{
1E8F
}{
\dotaccent
{
y
}}
\DeclareUnicodeCharacter
{
1E90
}{
\^
Z
}
\DeclareUnicodeCharacter
{
1E91
}{
\^
z
}
\DeclareUnicodeCharacter
{
1E92
}{
\udotaccent
{
Z
}}
\DeclareUnicodeCharacter
{
1E93
}{
\udotaccent
{
z
}}
\DeclareUnicodeCharacter
{
1E94
}{
\ubaraccent
{
Z
}}
\DeclareUnicodeCharacter
{
1E95
}{
\ubaraccent
{
z
}}
\DeclareUnicodeCharacter
{
1E96
}{
\ubaraccent
{
h
}}
\DeclareUnicodeCharacter
{
1E97
}{
\"
t
}
\DeclareUnicodeCharacter
{
1E98
}{
\ringaccent
{
w
}}
\DeclareUnicodeCharacter
{
1E99
}{
\ringaccent
{
y
}}
\DeclareUnicodeCharacter
{
1EA0
}{
\udotaccent
{
A
}}
\DeclareUnicodeCharacter
{
1EA1
}{
\udotaccent
{
a
}}
\DeclareUnicodeCharacter
{
1EB8
}{
\udotaccent
{
E
}}
\DeclareUnicodeCharacter
{
1EB9
}{
\udotaccent
{
e
}}
\DeclareUnicodeCharacter
{
1EBC
}{
\~
E
}
\DeclareUnicodeCharacter
{
1EBD
}{
\~
e
}
\DeclareUnicodeCharacter
{
1ECA
}{
\udotaccent
{
I
}}
\DeclareUnicodeCharacter
{
1ECB
}{
\udotaccent
{
i
}}
\DeclareUnicodeCharacter
{
1ECC
}{
\udotaccent
{
O
}}
\DeclareUnicodeCharacter
{
1ECD
}{
\udotaccent
{
o
}}
\DeclareUnicodeCharacter
{
1EE4
}{
\udotaccent
{
U
}}
\DeclareUnicodeCharacter
{
1EE5
}{
\udotaccent
{
u
}}
\DeclareUnicodeCharacter
{
1EF2
}{
\`
Y
}
\DeclareUnicodeCharacter
{
1EF3
}{
\`
y
}
\DeclareUnicodeCharacter
{
1EF4
}{
\udotaccent
{
Y
}}
\DeclareUnicodeCharacter
{
1EF8
}{
\~
Y
}
\DeclareUnicodeCharacter
{
1EF9
}{
\~
y
}
\DeclareUnicodeCharacter
{
2013
}{
--
}
\DeclareUnicodeCharacter
{
2014
}{
---
}
\DeclareUnicodeCharacter
{
2018
}{
\quoteleft
}
\DeclareUnicodeCharacter
{
2019
}{
\quoteright
}
\DeclareUnicodeCharacter
{
201A
}{
\quotesinglbase
}
\DeclareUnicodeCharacter
{
201C
}{
\quotedblleft
}
\DeclareUnicodeCharacter
{
201D
}{
\quotedblright
}
\DeclareUnicodeCharacter
{
201E
}{
\quotedblbase
}
\DeclareUnicodeCharacter
{
2022
}{
\bullet
}
\DeclareUnicodeCharacter
{
2026
}{
\dots
}
\DeclareUnicodeCharacter
{
2039
}{
\guilsinglleft
}
\DeclareUnicodeCharacter
{
203A
}{
\guilsinglright
}
\DeclareUnicodeCharacter
{
20AC
}{
\euro
}
\DeclareUnicodeCharacter
{
2192
}{
\expansion
}
\DeclareUnicodeCharacter
{
21D2
}{
\result
}
\DeclareUnicodeCharacter
{
2212
}{
\minus
}
\DeclareUnicodeCharacter
{
2217
}{
\point
}
\DeclareUnicodeCharacter
{
2261
}{
\equiv
}
}
% end of \utfeightchardefs
% US-ASCII character definitions.
\def\asciichardefs
{
% nothing need be done
\relax
}
% Make non-ASCII characters printable again for compatibility with
% existing Texinfo documents that may use them, even without declaring a
% document encoding.
%
\setnonasciicharscatcode
\other
\message
{
formatting,
}
\newdimen\defaultparindent
\defaultparindent
= 15pt
\chapheadingskip
= 15pt plus 4pt minus 2pt
...
...
@@ -7146,7 +8595,7 @@ should work if nowhere else does.}
% Don't be so finicky about underfull hboxes, either.
\hbadness
= 2000
% Following George Bush,
just
get rid of widows and orphans.
% Following George Bush, get rid of widows and orphans.
\widowpenalty
=10000
\clubpenalty
=10000
...
...
@@ -7193,6 +8642,10 @@ should work if nowhere else does.}
\ifpdf
\pdfpageheight
#7
\relax
\pdfpagewidth
#8
\relax
% if we don't reset these, they will remain at "1 true in" of
% whatever layout pdftex was dumped with.
\pdfhorigin
= 1 true in
\pdfvorigin
= 1 true in
\fi
%
\setleading
{
\textleading
}
...
...
@@ -7207,7 +8660,7 @@ should work if nowhere else does.}
\textleading
= 13.2pt
%
% If page is nothing but text, make it come out even.
\internalpagesizes
{
46
\baselineskip
}{
6in
}
%
\internalpagesizes
{
607.2pt
}{
6in
}
% that's 46 lines
{
\voffset
}{
.25in
}
%
{
\bindingoffset
}{
36pt
}
%
{
11in
}{
8.5in
}
%
...
...
@@ -7219,7 +8672,7 @@ should work if nowhere else does.}
\textleading
= 12pt
%
\internalpagesizes
{
7.5in
}{
5in
}
%
{
\voffset
}{
.25
in
}
%
{
-.2in
}{
0
in
}
%
{
\bindingoffset
}{
16pt
}
%
{
9.25in
}{
7in
}
%
%
...
...
@@ -7263,7 +8716,7 @@ should work if nowhere else does.}
% \global\normaloffset = -6mm
% \global\bindingoffset = 10mm
% @end tex
\internalpagesizes
{
51
\baselineskip
}{
160mm
}
\internalpagesizes
{
673.2pt
}{
160mm
}
% that's 51 lines
{
\voffset
}{
\hoffset
}
%
{
\bindingoffset
}{
44pt
}
%
{
297mm
}{
210mm
}
%
...
...
@@ -7328,7 +8781,7 @@ should work if nowhere else does.}
\parskip
= 3pt plus 2pt minus 1pt
\setleading
{
\textleading
}
%
%
\dimen
0 = #1
\dimen
0 = #1
\relax
\advance\dimen
0 by
\voffset
%
\dimen
2 =
\hsize
...
...
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