mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
Update.
1999-11-01 Ulrich Drepper <drepper@cygnus.com> * manual/texinfo.tex: Updated.
This commit is contained in:
parent
2d52e86946
commit
3b82ab1c07
@ -1,3 +1,7 @@
|
|||||||
|
1999-11-01 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
* manual/texinfo.tex: Updated.
|
||||||
|
|
||||||
1999-11-01 Andreas Jaeger <aj@suse.de>
|
1999-11-01 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/sys/reboot.h: Remove K&R compatibility.
|
* sysdeps/unix/sysv/linux/sys/reboot.h: Remove K&R compatibility.
|
||||||
|
@ -25,6 +25,7 @@ libhurduser {
|
|||||||
libm {
|
libm {
|
||||||
GLIBC_2.0
|
GLIBC_2.0
|
||||||
GLIBC_2.1 GLIBC_2.0
|
GLIBC_2.1 GLIBC_2.0
|
||||||
|
GLIBC_2.1.3 GLIBC_2.1
|
||||||
}
|
}
|
||||||
libmachuser {
|
libmachuser {
|
||||||
GLIBC_2.0
|
GLIBC_2.0
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
% Load plain if necessary, i.e., if running under initex.
|
% Load plain if necessary, i.e., if running under initex.
|
||||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||||
%
|
%
|
||||||
\def\texinfoversion{1999-05-25.6}%
|
\def\texinfoversion{1999-09-25.10}
|
||||||
%
|
%
|
||||||
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
|
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
|
||||||
% Free Software Foundation, Inc.
|
% Free Software Foundation, Inc.
|
||||||
@ -29,15 +29,15 @@
|
|||||||
%
|
%
|
||||||
% Please try the latest version of texinfo.tex before submitting bug
|
% Please try the latest version of texinfo.tex before submitting bug
|
||||||
% reports; you can get the latest version from:
|
% reports; you can get the latest version from:
|
||||||
% ftp://ftp.gnu.org/pub/gnu/texinfo.tex
|
% ftp://ftp.gnu.org/gnu/texinfo.tex
|
||||||
% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
|
% (and all GNU mirrors, see http://www.gnu.org/order/ftp.html)
|
||||||
% ftp://tug.org/tex/texinfo.tex
|
% ftp://texinfo.org/tex/texinfo.tex
|
||||||
% ftp://ctan.org/macros/texinfo/texinfo.tex
|
% ftp://us.ctan.org/macros/texinfo/texinfo.tex
|
||||||
% (and all CTAN mirrors, finger ctan@ctan.org for a list).
|
% (and all CTAN mirrors, finger ctan@us.ctan.org for a list).
|
||||||
% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
|
% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
|
||||||
% The texinfo.tex in any given Texinfo distribution could well be out
|
% The texinfo.tex in any given Texinfo distribution could well be out
|
||||||
% of date, so if that's what you're using, please check.
|
% of date, so if that's what you're using, please check.
|
||||||
% There is a small home page for Texinfo at http://texinfo.org/.
|
% Texinfo has a small home page at http://texinfo.org/.
|
||||||
%
|
%
|
||||||
% Send bug reports to bug-texinfo@gnu.org. Please include including a
|
% Send bug reports to bug-texinfo@gnu.org. Please include including a
|
||||||
% complete document in each bug report with which we can reproduce the
|
% complete document in each bug report with which we can reproduce the
|
||||||
@ -86,14 +86,6 @@
|
|||||||
% For @tex, we can use \tabalign.
|
% For @tex, we can use \tabalign.
|
||||||
\let\+ = \relax
|
\let\+ = \relax
|
||||||
|
|
||||||
% Get ready for pdf.
|
|
||||||
\newif\ifpdf
|
|
||||||
\ifx\pdfoutput\undefined\else
|
|
||||||
\input pdfcolor
|
|
||||||
\pdfoutput=1
|
|
||||||
\pdftrue
|
|
||||||
\fi
|
|
||||||
|
|
||||||
\message{Basics,}
|
\message{Basics,}
|
||||||
\chardef\other=12
|
\chardef\other=12
|
||||||
|
|
||||||
@ -251,7 +243,7 @@
|
|||||||
\unvbox\footlinebox
|
\unvbox\footlinebox
|
||||||
\fi
|
\fi
|
||||||
%
|
%
|
||||||
\ifpdf\pdfmkdest{\the\pageno}\fi
|
\ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi
|
||||||
%
|
%
|
||||||
\ifcropmarks
|
\ifcropmarks
|
||||||
\egroup % end of \vbox\bgroup
|
\egroup % end of \vbox\bgroup
|
||||||
@ -607,36 +599,42 @@ where each line of input produces a line of output.}
|
|||||||
%}}
|
%}}
|
||||||
|
|
||||||
\def\needx#1{%
|
\def\needx#1{%
|
||||||
% Go into vertical mode, so we don't make a big box in the middle of a
|
% Ensure vertical mode, so we don't make a big box in the middle of a
|
||||||
% paragraph.
|
% paragraph.
|
||||||
\par
|
\par
|
||||||
%
|
%
|
||||||
% Don't add any leading before our big empty box, but allow a page
|
% If the @need value is less than one line space, it's useless.
|
||||||
% break, since the best break might be right here.
|
\dimen0 = #1\mil
|
||||||
\allowbreak
|
\dimen2 = \ht\strutbox
|
||||||
\nointerlineskip
|
\advance\dimen2 by \dp\strutbox
|
||||||
\vtop to #1\mil{\vfil}%
|
\ifdim\dimen0 > \dimen2
|
||||||
%
|
%
|
||||||
% TeX does not even consider page breaks if a penalty added to the
|
% Do a \strut just to make the height of this box be normal, so the
|
||||||
% main vertical list is 10000 or more. But in order to see if the
|
% normal leading is inserted relative to the preceding line.
|
||||||
% empty box we just added fits on the page, we must make it consider
|
% And a page break here is fine.
|
||||||
% page breaks. On the other hand, we don't want to actually break the
|
\vtop to #1\mil{\strut\vfil}%
|
||||||
% page after the empty box. So we use a penalty of 9999.
|
%
|
||||||
%
|
% TeX does not even consider page breaks if a penalty added to the
|
||||||
% There is an extremely small chance that TeX will actually break the
|
% main vertical list is 10000 or more. But in order to see if the
|
||||||
% page at this \penalty, if there are no other feasible breakpoints in
|
% empty box we just added fits on the page, we must make it consider
|
||||||
% sight. (If the user is using lots of big @group commands, which
|
% page breaks. On the other hand, we don't want to actually break the
|
||||||
% almost-but-not-quite fill up a page, TeX will have a hard time doing
|
% page after the empty box. So we use a penalty of 9999.
|
||||||
% good page breaking, for example.) However, I could not construct an
|
%
|
||||||
% example where a page broke at this \penalty; if it happens in a real
|
% There is an extremely small chance that TeX will actually break the
|
||||||
% document, then we can reconsider our strategy.
|
% page at this \penalty, if there are no other feasible breakpoints in
|
||||||
\penalty9999
|
% sight. (If the user is using lots of big @group commands, which
|
||||||
%
|
% almost-but-not-quite fill up a page, TeX will have a hard time doing
|
||||||
% Back up by the size of the box, whether we did a page break or not.
|
% good page breaking, for example.) However, I could not construct an
|
||||||
\kern -#1\mil
|
% example where a page broke at this \penalty; if it happens in a real
|
||||||
%
|
% document, then we can reconsider our strategy.
|
||||||
% Do not allow a page break right after this kern.
|
\penalty9999
|
||||||
\nobreak
|
%
|
||||||
|
% Back up by the size of the box, whether we did a page break or not.
|
||||||
|
\kern -#1\mil
|
||||||
|
%
|
||||||
|
% Do not allow a page break right after this kern.
|
||||||
|
\nobreak
|
||||||
|
\fi
|
||||||
}
|
}
|
||||||
|
|
||||||
% @br forces paragraph break
|
% @br forces paragraph break
|
||||||
@ -852,123 +850,175 @@ where each line of input produces a line of output.}
|
|||||||
|
|
||||||
\message{pdf,}
|
\message{pdf,}
|
||||||
% adobe `portable' document format
|
% adobe `portable' document format
|
||||||
|
|
||||||
\newcount\tempnum
|
\newcount\tempnum
|
||||||
\newcount\lnkcount
|
\newcount\lnkcount
|
||||||
\newtoks\filename
|
\newtoks\filename
|
||||||
\newcount\filenamelength
|
\newcount\filenamelength
|
||||||
\newcount\pgn
|
\newcount\pgn
|
||||||
|
\newtoks\toksA
|
||||||
|
\newtoks\toksB
|
||||||
|
\newtoks\toksC
|
||||||
|
\newtoks\toksD
|
||||||
|
\newbox\boxA
|
||||||
|
\newcount\countA
|
||||||
|
\newif\ifpdf
|
||||||
|
\newif\ifpdfmakepagedest
|
||||||
|
|
||||||
\ifpdf
|
\ifx\pdfoutput\undefined
|
||||||
\def\pdfmkdest#1{\pdfdest name{#1@} xyz}
|
\pdffalse
|
||||||
\def\pdfmkpgn#1{#1@}
|
\let\pdfmkdest = \gobble
|
||||||
|
\let\pdfurl = \gobble
|
||||||
% Adding outlines to PDF; macros for calculating structure of outlines
|
\let\endlink = \relax
|
||||||
% come from Petr Olsak
|
\let\linkcolor = \relax
|
||||||
\def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
|
\let\pdfmakeoutlines = \relax
|
||||||
\else \csname#1\endcsname \fi}
|
|
||||||
\def\advancenumber#1{\tempnum=\expnumber{#1}\relax
|
|
||||||
\advance\tempnum by1
|
|
||||||
\expandafter\xdef\csname#1\endcsname{\the\tempnum}}
|
|
||||||
\def\pdfmakeoutlines{{%
|
|
||||||
\openin 1 \jobname.toc
|
|
||||||
\ifeof 1\else\bgroup
|
|
||||||
\closein 1
|
|
||||||
\def\code##1{##1}
|
|
||||||
\def\file##1{##1}
|
|
||||||
\def\TeX##1{TeX}
|
|
||||||
\def\tt{}
|
|
||||||
\def\char{char}
|
|
||||||
\def\samp##1{##1}
|
|
||||||
\def\kbd##1{##1}
|
|
||||||
\def\key##1{##1}
|
|
||||||
\def\rawbackslashxx{\string\\}
|
|
||||||
\def\chapentry ##1##2##3{}
|
|
||||||
\def\unnumbchapentry ##1##2{}
|
|
||||||
\def\secentry ##1##2##3##4{\advancenumber{chap##2}}
|
|
||||||
\def\unnumbsecentry ##1##2{}
|
|
||||||
\def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}}
|
|
||||||
\def\unnumbsubsecentry ##1##2{}
|
|
||||||
\def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}}
|
|
||||||
\def\unnumbsubsubsecentry ##1##2{}
|
|
||||||
\input \jobname.toc
|
|
||||||
\def\chapentry ##1##2##3{%
|
|
||||||
\pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}}
|
|
||||||
\def\unnumbchapentry ##1##2{%
|
|
||||||
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
|
|
||||||
\def\secentry ##1##2##3##4{%
|
|
||||||
\pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}}
|
|
||||||
\def\unnumbsecentry ##1##2{%
|
|
||||||
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
|
|
||||||
\def\subsecentry ##1##2##3##4##5{%
|
|
||||||
\pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}}
|
|
||||||
\def\unnumbsubsecentry ##1##2{%
|
|
||||||
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
|
|
||||||
\def\subsubsecentry ##1##2##3##4##5##6{%
|
|
||||||
\pdfoutline goto name{\pdfmkpgn{##6}}{##1}}
|
|
||||||
\def\unnumbsubsubsecentry ##1##2{%
|
|
||||||
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
|
|
||||||
\input \jobname.toc
|
|
||||||
\egroup\fi
|
|
||||||
}}
|
|
||||||
\pdfmakeoutlines
|
|
||||||
|
|
||||||
\def\makelinks #1,{%
|
|
||||||
\def\params{#1}\def\E{END}%
|
|
||||||
\ifx\params\E
|
|
||||||
\let\nextmakelinks=\relax
|
|
||||||
\else
|
|
||||||
\let\nextmakelinks=\makelinks
|
|
||||||
\ifnum\lnkcount>0,\fi
|
|
||||||
\picknum{#1}%
|
|
||||||
\Blue\pdfannotlink attr{/Border [0 0 0]}
|
|
||||||
goto name{\pdfmkpgn{\the\pgn}}%
|
|
||||||
#1%
|
|
||||||
\advance\lnkcount by 1%
|
|
||||||
\Black\pdfendlink
|
|
||||||
\fi
|
|
||||||
\nextmakelinks
|
|
||||||
}
|
|
||||||
|
|
||||||
\def\picknum#1{\expandafter\pn#1}
|
|
||||||
\def\pn#1{%
|
|
||||||
\def\p{#1}%
|
|
||||||
\ifx\p\lbrace
|
|
||||||
\let\nextpn=\ppn
|
|
||||||
\else
|
|
||||||
\let\nextpn=\ppnn
|
|
||||||
\def\first{#1}
|
|
||||||
\fi
|
|
||||||
\nextpn
|
|
||||||
}
|
|
||||||
\def\ppn#1{\pgn=#1\gobble}
|
|
||||||
\def\ppnn{\pgn=\first}
|
|
||||||
\def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,}
|
|
||||||
|
|
||||||
\def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
|
|
||||||
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
|
|
||||||
\ifx\PP\D\let\nextsp\relax
|
|
||||||
\else\let\nextsp\skipspaces
|
|
||||||
\ifx\p\space\else\addtokens{\filename}{\PP}%
|
|
||||||
\advance\filenamelength by 1
|
|
||||||
\fi
|
|
||||||
\fi
|
|
||||||
\nextsp}
|
|
||||||
\def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
|
|
||||||
|
|
||||||
\def\pdflink#1{%
|
|
||||||
\leavevmode\Red
|
|
||||||
\begingroup
|
|
||||||
\normalturnoffactive\def\@{@}%
|
|
||||||
\pdfannotlink
|
|
||||||
attr{/Border [0 0 0]}%
|
|
||||||
user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
|
|
||||||
\endgroup
|
|
||||||
}
|
|
||||||
|
|
||||||
\else
|
\else
|
||||||
\let\pdflink = \gobble
|
\pdftrue
|
||||||
\fi % end \ifpdf
|
\pdfoutput = 1
|
||||||
|
\input pdfcolor
|
||||||
|
\def\dopdfimage#1#2#3{%
|
||||||
|
\def\imagewidth{#2}%
|
||||||
|
\def\imageheight{#3}%
|
||||||
|
\ifnum\pdftexversion < 14
|
||||||
|
\pdfimage
|
||||||
|
\else
|
||||||
|
\pdfximage
|
||||||
|
\fi
|
||||||
|
\ifx\empty\imagewidth\else width \imagewidth \fi
|
||||||
|
\ifx\empty\imageheight\else height \imageheight \fi
|
||||||
|
{#1.pdf}%
|
||||||
|
\ifnum\pdftexversion < 14 \else
|
||||||
|
\pdfrefximage \pdflastximage
|
||||||
|
\fi}
|
||||||
|
\def\pdfmkdest#1{\pdfdest name{#1@} xyz}
|
||||||
|
\def\pdfmkpgn#1{#1@}
|
||||||
|
\let\linkcolor = \Cyan
|
||||||
|
\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%
|
||||||
|
\else \csname#1\endcsname \fi}
|
||||||
|
\def\advancenumber#1{\tempnum=\expnumber{#1}\relax
|
||||||
|
\advance\tempnum by1
|
||||||
|
\expandafter\xdef\csname#1\endcsname{\the\tempnum}}
|
||||||
|
\def\pdfmakeoutlines{{%
|
||||||
|
\openin 1 \jobname.toc
|
||||||
|
\ifeof 1\else\bgroup
|
||||||
|
\closein 1
|
||||||
|
\indexnofonts
|
||||||
|
\def\tt{}
|
||||||
|
% thanh's hack / proper braces in bookmarks
|
||||||
|
\edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
|
||||||
|
\edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
|
||||||
|
%
|
||||||
|
\def\chapentry ##1##2##3{}
|
||||||
|
\def\unnumbchapentry ##1##2{}
|
||||||
|
\def\secentry ##1##2##3##4{\advancenumber{chap##2}}
|
||||||
|
\def\unnumbsecentry ##1##2{}
|
||||||
|
\def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}}
|
||||||
|
\def\unnumbsubsecentry ##1##2{}
|
||||||
|
\def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}}
|
||||||
|
\def\unnumbsubsubsecentry ##1##2{}
|
||||||
|
\input \jobname.toc
|
||||||
|
\def\chapentry ##1##2##3{%
|
||||||
|
\pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}}
|
||||||
|
\def\unnumbchapentry ##1##2{%
|
||||||
|
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
|
||||||
|
\def\secentry ##1##2##3##4{%
|
||||||
|
\pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}}
|
||||||
|
\def\unnumbsecentry ##1##2{%
|
||||||
|
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
|
||||||
|
\def\subsecentry ##1##2##3##4##5{%
|
||||||
|
\pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}}
|
||||||
|
\def\unnumbsubsecentry ##1##2{%
|
||||||
|
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
|
||||||
|
\def\subsubsecentry ##1##2##3##4##5##6{%
|
||||||
|
\pdfoutline goto name{\pdfmkpgn{##6}}{##1}}
|
||||||
|
\def\unnumbsubsubsecentry ##1##2{%
|
||||||
|
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
|
||||||
|
\input \jobname.toc
|
||||||
|
\egroup\fi
|
||||||
|
}}
|
||||||
|
\def\makelinks #1,{%
|
||||||
|
\def\params{#1}\def\E{END}%
|
||||||
|
\ifx\params\E
|
||||||
|
\let\nextmakelinks=\relax
|
||||||
|
\else
|
||||||
|
\let\nextmakelinks=\makelinks
|
||||||
|
\ifnum\lnkcount>0,\fi
|
||||||
|
\picknum{#1}%
|
||||||
|
\startlink attr{/Border [0 0 0]}
|
||||||
|
goto name{\pdfmkpgn{\the\pgn}}%
|
||||||
|
\linkcolor #1%
|
||||||
|
\advance\lnkcount by 1%
|
||||||
|
\endlink
|
||||||
|
\fi
|
||||||
|
\nextmakelinks
|
||||||
|
}
|
||||||
|
\def\picknum#1{\expandafter\pn#1}
|
||||||
|
\def\pn#1{%
|
||||||
|
\def\p{#1}%
|
||||||
|
\ifx\p\lbrace
|
||||||
|
\let\nextpn=\ppn
|
||||||
|
\else
|
||||||
|
\let\nextpn=\ppnn
|
||||||
|
\def\first{#1}
|
||||||
|
\fi
|
||||||
|
\nextpn
|
||||||
|
}
|
||||||
|
\def\ppn#1{\pgn=#1\gobble}
|
||||||
|
\def\ppnn{\pgn=\first}
|
||||||
|
\def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,}
|
||||||
|
\def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
|
||||||
|
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
|
||||||
|
\ifx\PP\D\let\nextsp\relax
|
||||||
|
\else\let\nextsp\skipspaces
|
||||||
|
\ifx\p\space\else\addtokens{\filename}{\PP}%
|
||||||
|
\advance\filenamelength by 1
|
||||||
|
\fi
|
||||||
|
\fi
|
||||||
|
\nextsp}
|
||||||
|
\def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
|
||||||
|
\ifnum\pdftexversion < 14
|
||||||
|
\let \startlink \pdfannotlink
|
||||||
|
\else
|
||||||
|
\let \startlink \pdfstartlink
|
||||||
|
\fi
|
||||||
|
\def\pdfurl#1{%
|
||||||
|
\begingroup
|
||||||
|
\normalturnoffactive\def\@{@}%
|
||||||
|
\leavevmode\Red
|
||||||
|
\startlink attr{/Border [0 0 0]}%
|
||||||
|
user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
|
||||||
|
% #1
|
||||||
|
\endgroup}
|
||||||
|
\def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
|
||||||
|
\def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
|
||||||
|
\def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
|
||||||
|
\def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
|
||||||
|
\def\maketoks{%
|
||||||
|
\expandafter\poptoks\the\toksA|ENDTOKS|
|
||||||
|
\ifx\first0\adn0
|
||||||
|
\else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
|
||||||
|
\else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
|
||||||
|
\else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
|
||||||
|
\else
|
||||||
|
\ifnum0=\countA\else\makelink\fi
|
||||||
|
\ifx\first.\let\next=\done\else
|
||||||
|
\let\next=\maketoks
|
||||||
|
\addtokens{\toksB}{\the\toksD}
|
||||||
|
\ifx\first,\addtokens{\toksB}{\space}\fi
|
||||||
|
\fi
|
||||||
|
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
|
||||||
|
\next}
|
||||||
|
\def\makelink{\addtokens{\toksB}%
|
||||||
|
{\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
|
||||||
|
\def\pdflink#1{%
|
||||||
|
\startlink attr{/Border [0 0 0]} goto name{\mkpgn{#1}}
|
||||||
|
\linkcolor #1\endlink}
|
||||||
|
\def\mkpgn#1{#1@}
|
||||||
|
\def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
|
||||||
|
\fi % \ifx\pdfoutput
|
||||||
|
|
||||||
|
|
||||||
\message{fonts,}
|
\message{fonts,}
|
||||||
% Font-change commands.
|
% Font-change commands.
|
||||||
@ -1039,23 +1089,17 @@ where each line of input produces a line of output.}
|
|||||||
\setfont\deftt\ttshape{10}{\magstep1}
|
\setfont\deftt\ttshape{10}{\magstep1}
|
||||||
\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}
|
\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}
|
||||||
|
|
||||||
% Fonts for indices and small examples (9pt).
|
% Fonts for indices, footnotes, small examples (9pt).
|
||||||
% We actually use the slanted font rather than the italic,
|
\setfont\smallrm\rmshape{9}{1000}
|
||||||
% because texinfo normally uses the slanted fonts for that.
|
\setfont\smalltt\ttshape{9}{1000}
|
||||||
% Do not make many font distinctions in general in the index, since they
|
\setfont\smallbf\bfshape{10}{900}
|
||||||
% aren't very useful.
|
\setfont\smallit\itshape{9}{1000}
|
||||||
\setfont\ninett\ttshape{9}{1000}
|
\setfont\smallsl\slshape{9}{1000}
|
||||||
\setfont\ninettsl\ttslshape{10}{900}
|
\setfont\smallsf\sfshape{9}{1000}
|
||||||
\setfont\indrm\rmshape{9}{1000}
|
\setfont\smallsc\scshape{10}{900}
|
||||||
\setfont\indit\itshape{9}{1000}
|
\setfont\smallttsl\ttslshape{10}{900}
|
||||||
\setfont\indsl\slshape{9}{1000}
|
\font\smalli=cmmi9
|
||||||
\let\indtt=\ninett
|
\font\smallsy=cmsy9
|
||||||
\let\indttsl=\ninettsl
|
|
||||||
\let\indsf=\indrm
|
|
||||||
\let\indbf=\indrm
|
|
||||||
\setfont\indsc\scshape{10}{900}
|
|
||||||
\font\indi=cmmi9
|
|
||||||
\font\indsy=cmsy9
|
|
||||||
|
|
||||||
% Fonts for title page:
|
% Fonts for title page:
|
||||||
\setfont\titlerm\rmbshape{12}{\magstep3}
|
\setfont\titlerm\rmbshape{12}{\magstep3}
|
||||||
@ -1169,11 +1213,12 @@ where each line of input produces a line of output.}
|
|||||||
\let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl
|
\let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl
|
||||||
\resetmathfonts \setleading{15pt}}
|
\resetmathfonts \setleading{15pt}}
|
||||||
\let\subsubsecfonts = \subsecfonts % Maybe make sssec fonts scaled magstephalf?
|
\let\subsubsecfonts = \subsecfonts % Maybe make sssec fonts scaled magstephalf?
|
||||||
\def\indexfonts{%
|
\def\smallfonts{%
|
||||||
\let\tenrm=\indrm \let\tenit=\indit \let\tensl=\indsl
|
\let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
|
||||||
\let\tenbf=\indbf \let\tentt=\indtt \let\smallcaps=\indsc
|
\let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
|
||||||
\let\tensf=\indsf \let\teni=\indi \let\tensy=\indsy \let\tenttsl=\indttsl
|
\let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
|
||||||
\resetmathfonts \setleading{12pt}}
|
\let\tenttsl=\smallttsl
|
||||||
|
\resetmathfonts \setleading{11pt}}
|
||||||
|
|
||||||
% Set up the default fonts, so we can use them for creating boxes.
|
% Set up the default fonts, so we can use them for creating boxes.
|
||||||
%
|
%
|
||||||
@ -1222,9 +1267,9 @@ where each line of input produces a line of output.}
|
|||||||
}
|
}
|
||||||
\let\ttfont=\t
|
\let\ttfont=\t
|
||||||
\def\samp#1{`\tclose{#1}'\null}
|
\def\samp#1{`\tclose{#1}'\null}
|
||||||
\setfont\smallrm\rmshape{8}{1000}
|
\setfont\keyrm\rmshape{8}{1000}
|
||||||
\font\smallsy=cmsy9
|
\font\keysy=cmsy9
|
||||||
\def\key#1{{\smallrm\textfont2=\smallsy \leavevmode\hbox{%
|
\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
|
||||||
\raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
|
\raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
|
||||||
\vbox{\hrule\kern-0.4pt
|
\vbox{\hrule\kern-0.4pt
|
||||||
\hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
|
\hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
|
||||||
@ -1335,8 +1380,9 @@ where each line of input produces a line of output.}
|
|||||||
% a hypertex \special here.
|
% a hypertex \special here.
|
||||||
%
|
%
|
||||||
\def\uref#1{\douref #1,,,\finish}
|
\def\uref#1{\douref #1,,,\finish}
|
||||||
\def\douref#1,#2,#3,#4\finish{%
|
\def\douref#1,#2,#3,#4\finish{\begingroup
|
||||||
\pdflink{#1}%
|
\unsepspaces
|
||||||
|
\pdfurl{#1}%
|
||||||
\setbox0 = \hbox{\ignorespaces #3}%
|
\setbox0 = \hbox{\ignorespaces #3}%
|
||||||
\ifdim\wd0 > 0pt
|
\ifdim\wd0 > 0pt
|
||||||
\unhbox0 % third arg given, show only that
|
\unhbox0 % third arg given, show only that
|
||||||
@ -1352,11 +1398,8 @@ where each line of input produces a line of output.}
|
|||||||
\code{#1}% only url given, so show it
|
\code{#1}% only url given, so show it
|
||||||
\fi
|
\fi
|
||||||
\fi
|
\fi
|
||||||
%
|
\endlink
|
||||||
\ifpdf
|
\endgroup}
|
||||||
\Black\pdfendlink
|
|
||||||
\fi
|
|
||||||
}
|
|
||||||
|
|
||||||
% rms does not like angle brackets --karl, 17may97.
|
% rms does not like angle brackets --karl, 17may97.
|
||||||
% So now @email is just like @uref, unless we are pdf.
|
% So now @email is just like @uref, unless we are pdf.
|
||||||
@ -1364,12 +1407,13 @@ where each line of input produces a line of output.}
|
|||||||
%\def\email#1{\angleleft{\tt #1}\angleright}
|
%\def\email#1{\angleleft{\tt #1}\angleright}
|
||||||
\ifpdf
|
\ifpdf
|
||||||
\def\email#1{\doemail#1,,\finish}
|
\def\email#1{\doemail#1,,\finish}
|
||||||
\def\doemail#1,#2,#3\finish{%
|
\def\doemail#1,#2,#3\finish{\begingroup
|
||||||
\pdflink{mailto:#1}%
|
\unsepspaces
|
||||||
|
\pdfurl{mailto:#1}%
|
||||||
\setbox0 = \hbox{\ignorespaces #2}%
|
\setbox0 = \hbox{\ignorespaces #2}%
|
||||||
\ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
|
\ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
|
||||||
\Black\pdfendlink
|
\endlink
|
||||||
}
|
\endgroup}
|
||||||
\else
|
\else
|
||||||
\let\email=\uref
|
\let\email=\uref
|
||||||
\fi
|
\fi
|
||||||
@ -1491,6 +1535,8 @@ where each line of input produces a line of output.}
|
|||||||
\global\let\shortcontents = \relax
|
\global\let\shortcontents = \relax
|
||||||
\fi
|
\fi
|
||||||
%
|
%
|
||||||
|
\ifpdf \pdfmakepagedesttrue \fi
|
||||||
|
%
|
||||||
\HEADINGSon
|
\HEADINGSon
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2141,15 +2187,18 @@ where each line of input produces a line of output.}
|
|||||||
% If so, do nothing. If not, give it an appropriate dimension based on
|
% If so, do nothing. If not, give it an appropriate dimension based on
|
||||||
% current baselineskip.
|
% current baselineskip.
|
||||||
\ifdim\multitablelinespace=0pt
|
\ifdim\multitablelinespace=0pt
|
||||||
|
\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
|
||||||
|
\global\advance\multitablelinespace by-\ht0
|
||||||
%% strut to put in table in case some entry doesn't have descenders,
|
%% strut to put in table in case some entry doesn't have descenders,
|
||||||
%% to keep lines equally spaced
|
%% to keep lines equally spaced
|
||||||
\let\multistrut = \strut
|
\let\multistrut = \strut
|
||||||
|
\else
|
||||||
|
%% FIXME: what is \box0 supposed to be?
|
||||||
|
\gdef\multistrut{\vrule height\multitablelinespace depth\dp0
|
||||||
|
width0pt\relax} \fi
|
||||||
%% Test to see if parskip is larger than space between lines of
|
%% Test to see if parskip is larger than space between lines of
|
||||||
%% table. If not, do nothing.
|
%% table. If not, do nothing.
|
||||||
%% If so, set to same dimension as multitablelinespace.
|
%% If so, set to same dimension as multitablelinespace.
|
||||||
\else
|
|
||||||
\gdef\multistrut{\vrule height\multitablelinespace depth\dp0
|
|
||||||
width0pt\relax} \fi
|
|
||||||
\ifdim\multitableparskip>\multitablelinespace
|
\ifdim\multitableparskip>\multitablelinespace
|
||||||
\global\multitableparskip=\multitablelinespace
|
\global\multitableparskip=\multitablelinespace
|
||||||
\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
|
\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
|
||||||
@ -2212,6 +2261,7 @@ width0pt\relax} \fi
|
|||||||
\let\deftypefn = \relax
|
\let\deftypefn = \relax
|
||||||
\let\deftypefun = \relax
|
\let\deftypefun = \relax
|
||||||
\let\deftypeivar = \relax
|
\let\deftypeivar = \relax
|
||||||
|
\let\deftypeop = \relax
|
||||||
\let\deftypevar = \relax
|
\let\deftypevar = \relax
|
||||||
\let\deftypevr = \relax
|
\let\deftypevr = \relax
|
||||||
\let\defun = \relax
|
\let\defun = \relax
|
||||||
@ -2355,14 +2405,13 @@ width0pt\relax} \fi
|
|||||||
% stuff compared to the main input.
|
% stuff compared to the main input.
|
||||||
%
|
%
|
||||||
\nullfont
|
\nullfont
|
||||||
\let\tenrm = \nullfont \let\tenit = \nullfont \let\tensl = \nullfont
|
\let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont
|
||||||
\let\tenbf = \nullfont \let\tentt = \nullfont \let\smallcaps = \nullfont
|
\let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont
|
||||||
\let\tensf = \nullfont
|
\let\tensf=\nullfont
|
||||||
% Similarly for index fonts (mostly for their use in
|
% Similarly for index fonts (mostly for their use in smallexample).
|
||||||
% smallexample)
|
\let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont
|
||||||
\let\indrm = \nullfont \let\indit = \nullfont \let\indsl = \nullfont
|
\let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont
|
||||||
\let\indbf = \nullfont \let\indtt = \nullfont \let\indsc = \nullfont
|
\let\smallsf=\nullfont
|
||||||
\let\indsf = \nullfont
|
|
||||||
%
|
%
|
||||||
% Don't complain when characters are missing from the fonts.
|
% Don't complain when characters are missing from the fonts.
|
||||||
\tracinglostchars = 0
|
\tracinglostchars = 0
|
||||||
@ -2626,7 +2675,7 @@ width0pt\relax} \fi
|
|||||||
\def\@{@}% will be @@ when we switch to @ as escape char.
|
\def\@{@}% will be @@ when we switch to @ as escape char.
|
||||||
% Need these in case \tex is in effect and \{ is a \delimiter again.
|
% Need these in case \tex is in effect and \{ is a \delimiter again.
|
||||||
% But can't use \lbracecmd and \rbracecmd because texindex assumes
|
% But can't use \lbracecmd and \rbracecmd because texindex assumes
|
||||||
% braces and backslashes are used only as delimiters.
|
% braces and backslashes are used only as delimiters.
|
||||||
\let\{ = \mylbrace
|
\let\{ = \mylbrace
|
||||||
\let\} = \myrbrace
|
\let\} = \myrbrace
|
||||||
\def\_{{\realbackslash _}}%
|
\def\_{{\realbackslash _}}%
|
||||||
@ -2739,6 +2788,7 @@ width0pt\relax} \fi
|
|||||||
\let\url=\indexdummyfont
|
\let\url=\indexdummyfont
|
||||||
\let\uref=\indexdummyfont
|
\let\uref=\indexdummyfont
|
||||||
\let\env=\indexdummyfont
|
\let\env=\indexdummyfont
|
||||||
|
\let\acronym=\indexdummyfont
|
||||||
\let\command=\indexdummyfont
|
\let\command=\indexdummyfont
|
||||||
\let\option=\indexdummyfont
|
\let\option=\indexdummyfont
|
||||||
\let\file=\indexdummyfont
|
\let\file=\indexdummyfont
|
||||||
@ -2892,7 +2942,7 @@ width0pt\relax} \fi
|
|||||||
\def\doprintindex#1{\begingroup
|
\def\doprintindex#1{\begingroup
|
||||||
\dobreak \chapheadingskip{10000}%
|
\dobreak \chapheadingskip{10000}%
|
||||||
%
|
%
|
||||||
\indexfonts \rm
|
\smallfonts \rm
|
||||||
\tolerance = 9500
|
\tolerance = 9500
|
||||||
\indexbreaks
|
\indexbreaks
|
||||||
%
|
%
|
||||||
@ -3019,7 +3069,11 @@ width0pt\relax} \fi
|
|||||||
% The `\ ' here is removed by the implicit \unskip that TeX does as
|
% The `\ ' here is removed by the implicit \unskip that TeX does as
|
||||||
% part of (the primitive) \par. Without it, a spurious underfull
|
% part of (the primitive) \par. Without it, a spurious underfull
|
||||||
% \hbox ensues.
|
% \hbox ensues.
|
||||||
\ #2% The page number ends the paragraph.
|
\ifpdf
|
||||||
|
\pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
|
||||||
|
\else
|
||||||
|
\ #2% The page number ends the paragraph.
|
||||||
|
\fi
|
||||||
\fi%
|
\fi%
|
||||||
\par
|
\par
|
||||||
\endgroup}
|
\endgroup}
|
||||||
@ -3186,12 +3240,44 @@ width0pt\relax} \fi
|
|||||||
\newcount\subsubsecno \subsubsecno=0
|
\newcount\subsubsecno \subsubsecno=0
|
||||||
|
|
||||||
% This counter is funny since it counts through charcodes of letters A, B, ...
|
% This counter is funny since it counts through charcodes of letters A, B, ...
|
||||||
% The \the is necessary, despite appearances, because \appendixletter is
|
|
||||||
% expanded while writing the .toc file. \char\appendixno is not
|
|
||||||
% expandable, thus it is written literally, thus all appendixes come out
|
|
||||||
% with the same letter (or @) in the toc without it.
|
|
||||||
\newcount\appendixno \appendixno = `\@
|
\newcount\appendixno \appendixno = `\@
|
||||||
\def\appendixletter{\char\the\appendixno}
|
% \def\appendixletter{\char\the\appendixno}
|
||||||
|
% We do the following for the sake of pdftex, which needs the actual
|
||||||
|
% letter in the expansion, not just typeset.
|
||||||
|
\def\appendixletter{%
|
||||||
|
\ifnum\appendixno=`A A%
|
||||||
|
\else\ifnum\appendixno=`B B%
|
||||||
|
\else\ifnum\appendixno=`C C%
|
||||||
|
\else\ifnum\appendixno=`D D%
|
||||||
|
\else\ifnum\appendixno=`E E%
|
||||||
|
\else\ifnum\appendixno=`F F%
|
||||||
|
\else\ifnum\appendixno=`G G%
|
||||||
|
\else\ifnum\appendixno=`H H%
|
||||||
|
\else\ifnum\appendixno=`I I%
|
||||||
|
\else\ifnum\appendixno=`J J%
|
||||||
|
\else\ifnum\appendixno=`K K%
|
||||||
|
\else\ifnum\appendixno=`L L%
|
||||||
|
\else\ifnum\appendixno=`M M%
|
||||||
|
\else\ifnum\appendixno=`N N%
|
||||||
|
\else\ifnum\appendixno=`O O%
|
||||||
|
\else\ifnum\appendixno=`P P%
|
||||||
|
\else\ifnum\appendixno=`Q Q%
|
||||||
|
\else\ifnum\appendixno=`R R%
|
||||||
|
\else\ifnum\appendixno=`S S%
|
||||||
|
\else\ifnum\appendixno=`T T%
|
||||||
|
\else\ifnum\appendixno=`U U%
|
||||||
|
\else\ifnum\appendixno=`V V%
|
||||||
|
\else\ifnum\appendixno=`W W%
|
||||||
|
\else\ifnum\appendixno=`X X%
|
||||||
|
\else\ifnum\appendixno=`Y Y%
|
||||||
|
\else\ifnum\appendixno=`Z Z%
|
||||||
|
% The \the is necessary, despite appearances, because \appendixletter is
|
||||||
|
% expanded while writing the .toc file. \char\appendixno is not
|
||||||
|
% expandable, thus it is written literally, thus all appendixes come out
|
||||||
|
% with the same letter (or @) in the toc without it.
|
||||||
|
\else\char\the\appendixno
|
||||||
|
\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 this as the name of the chapter.
|
% Each @chapter defines this as the name of the chapter.
|
||||||
% page headings and footings can use it. @section does likewise.
|
% page headings and footings can use it. @section does likewise.
|
||||||
@ -3725,6 +3811,7 @@ width0pt\relax} \fi
|
|||||||
\fi
|
\fi
|
||||||
\vfill \eject
|
\vfill \eject
|
||||||
\contentsalignmacro % in case @setchapternewpage odd is in effect
|
\contentsalignmacro % in case @setchapternewpage odd is in effect
|
||||||
|
\pdfmakeoutlines
|
||||||
\endgroup
|
\endgroup
|
||||||
\lastnegativepageno = \pageno
|
\lastnegativepageno = \pageno
|
||||||
\pageno = \savepageno
|
\pageno = \savepageno
|
||||||
@ -3775,7 +3862,7 @@ width0pt\relax} \fi
|
|||||||
|
|
||||||
% See comments in \dochapentry re vbox and related settings
|
% See comments in \dochapentry re vbox and related settings
|
||||||
\def\shortchapentry#1#2#3{%
|
\def\shortchapentry#1#2#3{%
|
||||||
\tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno{#3}}%
|
\tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#3\egroup}%
|
||||||
}
|
}
|
||||||
|
|
||||||
% Typeset the label for a chapter or appendix for the short contents.
|
% Typeset the label for a chapter or appendix for the short contents.
|
||||||
@ -3783,10 +3870,14 @@ width0pt\relax} \fi
|
|||||||
% We could simplify the code here by writing out an \appendixentry
|
% We could simplify the code here by writing out an \appendixentry
|
||||||
% command in the toc file for appendices, instead of using \chapentry
|
% command in the toc file for appendices, instead of using \chapentry
|
||||||
% for both, but it doesn't seem worth it.
|
% for both, but it doesn't seem worth it.
|
||||||
\setbox0 = \hbox{\shortcontrm \putwordAppendix }
|
%
|
||||||
\newdimen\shortappendixwidth \shortappendixwidth = \wd0
|
\newdimen\shortappendixwidth
|
||||||
|
%
|
||||||
\def\shortchaplabel#1{%
|
\def\shortchaplabel#1{%
|
||||||
|
% Compute width of word "Appendix", may change with language.
|
||||||
|
\setbox0 = \hbox{\shortcontrm \putwordAppendix}%
|
||||||
|
\shortappendixwidth = \wd0
|
||||||
|
%
|
||||||
% We typeset #1 in a box of constant width, regardless of the text of
|
% We typeset #1 in a box of constant width, regardless of the text of
|
||||||
% #1, so the chapter titles will come out aligned.
|
% #1, so the chapter titles will come out aligned.
|
||||||
\setbox0 = \hbox{#1}%
|
\setbox0 = \hbox{#1}%
|
||||||
@ -3801,7 +3892,7 @@ width0pt\relax} \fi
|
|||||||
}
|
}
|
||||||
|
|
||||||
\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}}
|
\def\unnumbchapentry#1#2{\dochapentry{#1}{#2}}
|
||||||
\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno{#2}}}
|
\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno\bgroup#2\egroup}}
|
||||||
|
|
||||||
% Sections.
|
% Sections.
|
||||||
\def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}}
|
\def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}}
|
||||||
@ -3828,24 +3919,24 @@ width0pt\relax} \fi
|
|||||||
\penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
|
\penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
|
||||||
\begingroup
|
\begingroup
|
||||||
\chapentryfonts
|
\chapentryfonts
|
||||||
\tocentry{#1}{\dopageno{#2}}%
|
\tocentry{#1}{\dopageno\bgroup#2\egroup}%
|
||||||
\endgroup
|
\endgroup
|
||||||
\nobreak\vskip .25\baselineskip plus.1\baselineskip
|
\nobreak\vskip .25\baselineskip plus.1\baselineskip
|
||||||
}
|
}
|
||||||
|
|
||||||
\def\dosecentry#1#2{\begingroup
|
\def\dosecentry#1#2{\begingroup
|
||||||
\secentryfonts \leftskip=\tocindent
|
\secentryfonts \leftskip=\tocindent
|
||||||
\tocentry{#1}{\dopageno{#2}}%
|
\tocentry{#1}{\dopageno\bgroup#2\egroup}%
|
||||||
\endgroup}
|
\endgroup}
|
||||||
|
|
||||||
\def\dosubsecentry#1#2{\begingroup
|
\def\dosubsecentry#1#2{\begingroup
|
||||||
\subsecentryfonts \leftskip=2\tocindent
|
\subsecentryfonts \leftskip=2\tocindent
|
||||||
\tocentry{#1}{\dopageno{#2}}%
|
\tocentry{#1}{\dopageno\bgroup#2\egroup}%
|
||||||
\endgroup}
|
\endgroup}
|
||||||
|
|
||||||
\def\dosubsubsecentry#1#2{\begingroup
|
\def\dosubsubsecentry#1#2{\begingroup
|
||||||
\subsubsecentryfonts \leftskip=3\tocindent
|
\subsubsecentryfonts \leftskip=3\tocindent
|
||||||
\tocentry{#1}{\dopageno{#2}}%
|
\tocentry{#1}{\dopageno\bgroup#2\egroup}%
|
||||||
\endgroup}
|
\endgroup}
|
||||||
|
|
||||||
% Final typesetting of a toc entry; we use the same \entry macro as for
|
% Final typesetting of a toc entry; we use the same \entry macro as for
|
||||||
@ -4123,7 +4214,7 @@ width0pt\relax} \fi
|
|||||||
\def\smalllispx{\begingroup
|
\def\smalllispx{\begingroup
|
||||||
\def\Esmalllisp{\nonfillfinish\endgroup}%
|
\def\Esmalllisp{\nonfillfinish\endgroup}%
|
||||||
\def\Esmallexample{\nonfillfinish\endgroup}%
|
\def\Esmallexample{\nonfillfinish\endgroup}%
|
||||||
\indexfonts
|
\smallfonts
|
||||||
\lisp
|
\lisp
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4139,7 +4230,7 @@ width0pt\relax} \fi
|
|||||||
%
|
%
|
||||||
\def\smalldisplayx{\begingroup
|
\def\smalldisplayx{\begingroup
|
||||||
\def\Esmalldisplay{\nonfillfinish\endgroup}%
|
\def\Esmalldisplay{\nonfillfinish\endgroup}%
|
||||||
\indexfonts \rm
|
\smallfonts \rm
|
||||||
\display
|
\display
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4156,7 +4247,7 @@ width0pt\relax} \fi
|
|||||||
%
|
%
|
||||||
\def\smallformatx{\begingroup
|
\def\smallformatx{\begingroup
|
||||||
\def\Esmallformat{\nonfillfinish\endgroup}%
|
\def\Esmallformat{\nonfillfinish\endgroup}%
|
||||||
\indexfonts \rm
|
\smallfonts \rm
|
||||||
\format
|
\format
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4326,23 +4417,39 @@ width0pt\relax} \fi
|
|||||||
\exdentamount=\defbodyindent
|
\exdentamount=\defbodyindent
|
||||||
\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
|
\begingroup\obeylines\activeparens\spacesplit{#3{#4}}}
|
||||||
|
|
||||||
% @deftypemethod has an extra argument that nothing else does. Sigh.
|
% Used for @deftypemethod and @deftypeivar.
|
||||||
% #1 is the \E... control sequence to end the definition (which we define).
|
% #1 is the \E... control sequence to end the definition (which we define).
|
||||||
% #2 is the \...x control sequence for consecutive fns (which we define).
|
% #2 is the \...x control sequence for consecutive fns (which we define).
|
||||||
% #3 is the control sequence to call to resume processing.
|
% #3 is the control sequence to call to resume processing.
|
||||||
% #4, delimited by the space, is the class name.
|
% #4, delimited by a space, is the class name.
|
||||||
% #5 is the method's return type.
|
% #5 is the method's return type.
|
||||||
%
|
%
|
||||||
\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV %
|
\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV
|
||||||
\medbreak %
|
\medbreak
|
||||||
% Define the end token that this defining construct specifies
|
\def#1{\endgraf\endgroup\medbreak}%
|
||||||
% so that it will exit this group.
|
\def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
|
||||||
\def#1{\endgraf\endgroup\medbreak}%
|
\parindent=0in
|
||||||
\def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
|
\advance\leftskip by \defbodyindent
|
||||||
\parindent=0in
|
\exdentamount=\defbodyindent
|
||||||
\advance\leftskip by \defbodyindent
|
\begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}}
|
||||||
\exdentamount=\defbodyindent
|
|
||||||
\begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}}
|
% Used for @deftypeop. The change from \deftypemethparsebody is an
|
||||||
|
% extra argument at the beginning which is the `category', instead of it
|
||||||
|
% being the hardwired string `Method' or `Instance Variable'. We have
|
||||||
|
% to account for this both in the \...x definition and in parsing the
|
||||||
|
% input at hand. Thus also need a control sequence (passed as #5) for
|
||||||
|
% the \E... definition to assign the category name to.
|
||||||
|
%
|
||||||
|
\def\deftypeopparsebody#1#2#3#4#5 #6 {\begingroup\inENV
|
||||||
|
\medbreak
|
||||||
|
\def#1{\endgraf\endgroup\medbreak}%
|
||||||
|
\def#2##1 ##2 ##3 {%
|
||||||
|
\def#4{##1}%
|
||||||
|
\begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}%
|
||||||
|
\parindent=0in
|
||||||
|
\advance\leftskip by \defbodyindent
|
||||||
|
\exdentamount=\defbodyindent
|
||||||
|
\begingroup\obeylines\activeparens\spacesplit{#3{#5}{#6}}}
|
||||||
|
|
||||||
\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %
|
\def\defopparsebody #1#2#3#4#5 {\begingroup\inENV %
|
||||||
\medbreak %
|
\medbreak %
|
||||||
@ -4558,13 +4665,29 @@ width0pt\relax} \fi
|
|||||||
\def\defop #1 {\def\defoptype{#1}%
|
\def\defop #1 {\def\defoptype{#1}%
|
||||||
\defopparsebody\Edefop\defopx\defopheader\defoptype}
|
\defopparsebody\Edefop\defopx\defopheader\defoptype}
|
||||||
%
|
%
|
||||||
\def\defopheader #1#2#3{%
|
\def\defopheader#1#2#3{%
|
||||||
\dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index
|
\dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index
|
||||||
\begingroup\defname {#2}{\defoptype\ \putwordon\ #1}%
|
\begingroup\defname {#2}{\defoptype\ \putwordon\ #1}%
|
||||||
\defunargs {#3}\endgroup %
|
\defunargs {#3}\endgroup %
|
||||||
}
|
}
|
||||||
|
|
||||||
% @deftypemethod CLASS RETURN-TYPE METHOD ARG...
|
% @deftypeop CATEGORY CLASS TYPE OPERATION ARG...
|
||||||
|
%
|
||||||
|
\def\deftypeop #1 {\def\deftypeopcategory{#1}%
|
||||||
|
\deftypeopparsebody\Edeftypeop\deftypeopx\deftypeopheader
|
||||||
|
\deftypeopcategory}
|
||||||
|
%
|
||||||
|
% #1 is the class name, #2 the data type, #3 the operation name, #4 the args.
|
||||||
|
\def\deftypeopheader#1#2#3#4{%
|
||||||
|
\dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index
|
||||||
|
\begingroup
|
||||||
|
\defname{\defheaderxcond#2\relax$$$#3}
|
||||||
|
{\deftypeopcategory\ \putwordon\ \code{#1}}%
|
||||||
|
\deftypefunargs{#4}%
|
||||||
|
\endgroup
|
||||||
|
}
|
||||||
|
|
||||||
|
% @deftypemethod CLASS TYPE METHOD ARG...
|
||||||
%
|
%
|
||||||
\def\deftypemethod{%
|
\def\deftypemethod{%
|
||||||
\deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
|
\deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
|
||||||
@ -4713,6 +4836,7 @@ width0pt\relax} \fi
|
|||||||
\def\deftypefunx#1 {\errmessage{@deftypefunx in invalid context}}
|
\def\deftypefunx#1 {\errmessage{@deftypefunx in invalid context}}
|
||||||
\def\deftypeivarx#1 {\errmessage{@deftypeivarx in invalid context}}
|
\def\deftypeivarx#1 {\errmessage{@deftypeivarx in invalid context}}
|
||||||
\def\deftypemethodx#1 {\errmessage{@deftypemethodx in invalid context}}
|
\def\deftypemethodx#1 {\errmessage{@deftypemethodx in invalid context}}
|
||||||
|
\def\deftypeopx#1 {\errmessage{@deftypeopx in invalid context}}
|
||||||
\def\deftypevarx#1 {\errmessage{@deftypevarx in invalid context}}
|
\def\deftypevarx#1 {\errmessage{@deftypevarx in invalid context}}
|
||||||
\def\deftypevrx#1 {\errmessage{@deftypevrx in invalid context}}
|
\def\deftypevrx#1 {\errmessage{@deftypevrx in invalid context}}
|
||||||
\def\defunx#1 {\errmessage{@defunx in invalid context}}
|
\def\defunx#1 {\errmessage{@defunx in invalid context}}
|
||||||
@ -5000,7 +5124,14 @@ width0pt\relax} \fi
|
|||||||
|
|
||||||
|
|
||||||
% @alias.
|
% @alias.
|
||||||
\def\alias#1=#2{\gdef#1{#2}}
|
% We need some trickery to remove the optional spaces around the equal
|
||||||
|
% sign. Just make them active and then expand them all to nothing.
|
||||||
|
\def\alias{\begingroup\obeyspaces\parsearg\aliasxxx}
|
||||||
|
\def\aliasxxx #1{\aliasyyy#1\relax}
|
||||||
|
\def\aliasyyy #1=#2\relax{\ignoreactivespaces
|
||||||
|
\edef\next{\global\let\expandafter\noexpand\csname#1\endcsname=%
|
||||||
|
\expandafter\noexpand\csname#2\endcsname}%
|
||||||
|
\expandafter\endgroup\next}
|
||||||
|
|
||||||
|
|
||||||
\message{cross references,}
|
\message{cross references,}
|
||||||
@ -5048,20 +5179,10 @@ width0pt\relax} \fi
|
|||||||
|
|
||||||
% @anchor{NAME} -- define xref target at arbitrary point.
|
% @anchor{NAME} -- define xref target at arbitrary point.
|
||||||
%
|
%
|
||||||
{ \catcode`\@ = 11
|
\newcount\savesfregister
|
||||||
% From latex.ltx, to make @anchor truely invisible.
|
\gdef\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
|
||||||
\newdimen\@savsk
|
\gdef\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
|
||||||
\newcount\@savsf
|
\gdef\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
|
||||||
\gdef\@bsphack{\relax
|
|
||||||
\ifhmode \@savsk\lastskip \@savsf\spacefactor \fi
|
|
||||||
}
|
|
||||||
\gdef\@esphack{\relax
|
|
||||||
\ifhmode \spacefactor\@savsf
|
|
||||||
\ifdim\@savsk>\z@ \ignorespaces \fi
|
|
||||||
\fi
|
|
||||||
}
|
|
||||||
\gdef\anchor#1{\@bsphack \setref{#1}{Ynothing}\@esphack}
|
|
||||||
}
|
|
||||||
|
|
||||||
% \setref{NAME}{SNT} defines a cross-reference point NAME, namely
|
% \setref{NAME}{SNT} defines a cross-reference point NAME, namely
|
||||||
% NAME-title, NAME-pg, and NAME-SNT. Called from \foonoderef. We have
|
% NAME-title, NAME-pg, and NAME-SNT. Called from \foonoderef. We have
|
||||||
@ -5071,7 +5192,7 @@ width0pt\relax} \fi
|
|||||||
%
|
%
|
||||||
\def\setref#1#2{{%
|
\def\setref#1#2{{%
|
||||||
\indexdummies
|
\indexdummies
|
||||||
\ifpdf \pdfmkdest{#1}\fi
|
\pdfmkdest{#1}%
|
||||||
\dosetq{#1-title}{Ytitle}%
|
\dosetq{#1-title}{Ytitle}%
|
||||||
\dosetq{#1-pg}{Ypagenumber}%
|
\dosetq{#1-pg}{Ypagenumber}%
|
||||||
\dosetq{#1-snt}{#2}%
|
\dosetq{#1-snt}{#2}%
|
||||||
@ -5086,6 +5207,7 @@ width0pt\relax} \fi
|
|||||||
\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
|
\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
|
||||||
\def\ref#1{\xrefX[#1,,,,,,,]}
|
\def\ref#1{\xrefX[#1,,,,,,,]}
|
||||||
\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
|
\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
|
||||||
|
\unsepspaces
|
||||||
\def\printedmanual{\ignorespaces #5}%
|
\def\printedmanual{\ignorespaces #5}%
|
||||||
\def\printednodename{\ignorespaces #3}%
|
\def\printednodename{\ignorespaces #3}%
|
||||||
\setbox1=\hbox{\printedmanual}%
|
\setbox1=\hbox{\printedmanual}%
|
||||||
@ -5123,13 +5245,13 @@ width0pt\relax} \fi
|
|||||||
\leavevmode
|
\leavevmode
|
||||||
\getfilename{#4}%
|
\getfilename{#4}%
|
||||||
\ifnum\filenamelength>0
|
\ifnum\filenamelength>0
|
||||||
\pdfannotlink attr{/Border [0 0 0]}%
|
\startlink attr{/Border [0 0 0]}%
|
||||||
goto file{\the\filename.pdf} name{#1@}%
|
goto file{\the\filename.pdf} name{#1@}%
|
||||||
\else
|
\else
|
||||||
\pdfannotlink attr{/Border [0 0 0]}%
|
\startlink attr{/Border [0 0 0]}%
|
||||||
goto name{#1@}%
|
goto name{#1@}%
|
||||||
\fi
|
\fi
|
||||||
\BlueGreen
|
\linkcolor
|
||||||
\fi
|
\fi
|
||||||
%
|
%
|
||||||
\ifdim \wd1 > 0pt
|
\ifdim \wd1 > 0pt
|
||||||
@ -5151,7 +5273,7 @@ width0pt\relax} \fi
|
|||||||
% page 3
|
% page 3
|
||||||
\turnoffactive \putwordpage\tie\refx{#1-pg}{}%
|
\turnoffactive \putwordpage\tie\refx{#1-pg}{}%
|
||||||
\fi
|
\fi
|
||||||
\ifpdf \Black\pdfendlink \fi
|
\endlink
|
||||||
\endgroup}
|
\endgroup}
|
||||||
|
|
||||||
% \dosetq is the interface for calls from other macros
|
% \dosetq is the interface for calls from other macros
|
||||||
@ -5388,6 +5510,8 @@ width0pt\relax} \fi
|
|||||||
\xspaceskip\z@skip
|
\xspaceskip\z@skip
|
||||||
\parindent\defaultparindent
|
\parindent\defaultparindent
|
||||||
%
|
%
|
||||||
|
\smallfonts \rm
|
||||||
|
%
|
||||||
% Hang the footnote text off the number.
|
% Hang the footnote text off the number.
|
||||||
\hang
|
\hang
|
||||||
\textindent{\thisfootno}%
|
\textindent{\thisfootno}%
|
||||||
@ -5402,7 +5526,7 @@ width0pt\relax} \fi
|
|||||||
\else\let\next\f@t\fi \next}
|
\else\let\next\f@t\fi \next}
|
||||||
\def\f@@t{\bgroup\aftergroup\@foot\let\next}
|
\def\f@@t{\bgroup\aftergroup\@foot\let\next}
|
||||||
\def\f@t#1{#1\@foot}
|
\def\f@t#1{#1\@foot}
|
||||||
\def\@foot{\strut\egroup}
|
\def\@foot{\strut\par\egroup}
|
||||||
|
|
||||||
}%end \catcode `\@=11
|
}%end \catcode `\@=11
|
||||||
|
|
||||||
@ -5497,7 +5621,9 @@ width0pt\relax} \fi
|
|||||||
% #2 is (optional) width, #3 is (optional) height.
|
% #2 is (optional) width, #3 is (optional) height.
|
||||||
% #4 is just the usual extra ignored arg for parsing this stuff.
|
% #4 is just the usual extra ignored arg for parsing this stuff.
|
||||||
\def\imagexxx#1,#2,#3,#4\finish{%
|
\def\imagexxx#1,#2,#3,#4\finish{%
|
||||||
\ifx\pdfoutput\undefined
|
\ifpdf
|
||||||
|
\centerline{\dopdfimage{#1}{#2}{#3}}%
|
||||||
|
\else
|
||||||
% \epsfbox itself resets \epsf?size at each figure.
|
% \epsfbox itself resets \epsf?size at each figure.
|
||||||
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
|
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
|
||||||
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
|
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
|
||||||
@ -5518,8 +5644,6 @@ width0pt\relax} \fi
|
|||||||
\epsfbox{#1.eps}%
|
\epsfbox{#1.eps}%
|
||||||
\fi
|
\fi
|
||||||
\endgroup
|
\endgroup
|
||||||
\else
|
|
||||||
\centerline{\pdfimage #1.pdf}%
|
|
||||||
\fi
|
\fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5863,6 +5987,6 @@ should work if nowhere else does.}
|
|||||||
@c eval: (add-hook 'write-file-hooks 'time-stamp)
|
@c eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
@c page-delimiter: "^\\\\message"
|
@c page-delimiter: "^\\\\message"
|
||||||
@c time-stamp-start: "def\\\\texinfoversion{"
|
@c time-stamp-start: "def\\\\texinfoversion{"
|
||||||
@c time-stamp-format: "%:y-%02m-%02d.%H"
|
@c time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
@c time-stamp-end: "}"
|
@c time-stamp-end: "}"
|
||||||
@c End:
|
@c End:
|
||||||
|
Loading…
Reference in New Issue
Block a user