mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-13 23:00:22 +00:00
Update.
This commit is contained in:
parent
1474476638
commit
9169c8a8ef
@ -1,5 +1,7 @@
|
||||
2000-01-05 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* manual/texinfo.tex: Updated from latest official version.
|
||||
|
||||
* debug/Makefile (distribute): Add frame.h.
|
||||
|
||||
2000-01-05 Philip Blundell <philb@gnu.org>
|
||||
|
@ -3,7 +3,7 @@
|
||||
% Load plain if necessary, i.e., if running under initex.
|
||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||
%
|
||||
\def\texinfoversion{1999-05-25.6}%
|
||||
\def\texinfoversion{1999-10-01.07}
|
||||
%
|
||||
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
|
||||
% Free Software Foundation, Inc.
|
||||
@ -29,15 +29,15 @@
|
||||
%
|
||||
% Please try the latest version of texinfo.tex before submitting bug
|
||||
% 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)
|
||||
% ftp://tug.org/tex/texinfo.tex
|
||||
% ftp://ctan.org/macros/texinfo/texinfo.tex
|
||||
% (and all CTAN mirrors, finger ctan@ctan.org for a list).
|
||||
% ftp://texinfo.org/tex/texinfo.tex
|
||||
% ftp://us.ctan.org/macros/texinfo/texinfo.tex
|
||||
% (and all CTAN mirrors, finger ctan@us.ctan.org for a list).
|
||||
% /home/gd/gnu/doc/texinfo.tex on the GNU machines.
|
||||
% The texinfo.tex in any given Texinfo distribution could well be out
|
||||
% 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
|
||||
% complete document in each bug report with which we can reproduce the
|
||||
@ -86,14 +86,6 @@
|
||||
% For @tex, we can use \tabalign.
|
||||
\let\+ = \relax
|
||||
|
||||
% Get ready for pdf.
|
||||
\newif\ifpdf
|
||||
\ifx\pdfoutput\undefined\else
|
||||
\input pdfcolor
|
||||
\pdfoutput=1
|
||||
\pdftrue
|
||||
\fi
|
||||
|
||||
\message{Basics,}
|
||||
\chardef\other=12
|
||||
|
||||
@ -251,7 +243,7 @@
|
||||
\unvbox\footlinebox
|
||||
\fi
|
||||
%
|
||||
\ifpdf\pdfmkdest{\the\pageno}\fi
|
||||
\ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi
|
||||
%
|
||||
\ifcropmarks
|
||||
\egroup % end of \vbox\bgroup
|
||||
@ -607,36 +599,42 @@ where each line of input produces a line of output.}
|
||||
%}}
|
||||
|
||||
\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.
|
||||
\par
|
||||
%
|
||||
% Don't add any leading before our big empty box, but allow a page
|
||||
% break, since the best break might be right here.
|
||||
\allowbreak
|
||||
\nointerlineskip
|
||||
\vtop to #1\mil{\vfil}%
|
||||
%
|
||||
% TeX does not even consider page breaks if a penalty added to the
|
||||
% main vertical list is 10000 or more. But in order to see if the
|
||||
% empty box we just added fits on the page, we must make it consider
|
||||
% page breaks. On the other hand, we don't want to actually break the
|
||||
% page after the empty box. So we use a penalty of 9999.
|
||||
%
|
||||
% There is an extremely small chance that TeX will actually break the
|
||||
% page at this \penalty, if there are no other feasible breakpoints in
|
||||
% 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
|
||||
% 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
|
||||
% document, then we can reconsider our strategy.
|
||||
\penalty9999
|
||||
%
|
||||
% 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
|
||||
% If the @need value is less than one line space, it's useless.
|
||||
\dimen0 = #1\mil
|
||||
\dimen2 = \ht\strutbox
|
||||
\advance\dimen2 by \dp\strutbox
|
||||
\ifdim\dimen0 > \dimen2
|
||||
%
|
||||
% Do a \strut just to make the height of this box be normal, so the
|
||||
% normal leading is inserted relative to the preceding line.
|
||||
% And a page break here is fine.
|
||||
\vtop to #1\mil{\strut\vfil}%
|
||||
%
|
||||
% TeX does not even consider page breaks if a penalty added to the
|
||||
% main vertical list is 10000 or more. But in order to see if the
|
||||
% empty box we just added fits on the page, we must make it consider
|
||||
% page breaks. On the other hand, we don't want to actually break the
|
||||
% page after the empty box. So we use a penalty of 9999.
|
||||
%
|
||||
% There is an extremely small chance that TeX will actually break the
|
||||
% page at this \penalty, if there are no other feasible breakpoints in
|
||||
% 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
|
||||
% 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
|
||||
% document, then we can reconsider our strategy.
|
||||
\penalty9999
|
||||
%
|
||||
% 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
|
||||
@ -852,123 +850,175 @@ where each line of input produces a line of output.}
|
||||
|
||||
\message{pdf,}
|
||||
% adobe `portable' document format
|
||||
|
||||
\newcount\tempnum
|
||||
\newcount\lnkcount
|
||||
\newtoks\filename
|
||||
\newcount\filenamelength
|
||||
\newcount\pgn
|
||||
\newtoks\toksA
|
||||
\newtoks\toksB
|
||||
\newtoks\toksC
|
||||
\newtoks\toksD
|
||||
\newbox\boxA
|
||||
\newcount\countA
|
||||
\newif\ifpdf
|
||||
\newif\ifpdfmakepagedest
|
||||
|
||||
\ifpdf
|
||||
\def\pdfmkdest#1{\pdfdest name{#1@} xyz}
|
||||
\def\pdfmkpgn#1{#1@}
|
||||
|
||||
% 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
|
||||
\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
|
||||
}
|
||||
|
||||
\ifx\pdfoutput\undefined
|
||||
\pdffalse
|
||||
\let\pdfmkdest = \gobble
|
||||
\let\pdfurl = \gobble
|
||||
\let\endlink = \relax
|
||||
\let\linkcolor = \relax
|
||||
\let\pdfmakeoutlines = \relax
|
||||
\else
|
||||
\let\pdflink = \gobble
|
||||
\fi % end \ifpdf
|
||||
\pdftrue
|
||||
\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,}
|
||||
% Font-change commands.
|
||||
@ -1039,23 +1089,17 @@ where each line of input produces a line of output.}
|
||||
\setfont\deftt\ttshape{10}{\magstep1}
|
||||
\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}
|
||||
|
||||
% Fonts for indices and small examples (9pt).
|
||||
% We actually use the slanted font rather than the italic,
|
||||
% because texinfo normally uses the slanted fonts for that.
|
||||
% Do not make many font distinctions in general in the index, since they
|
||||
% aren't very useful.
|
||||
\setfont\ninett\ttshape{9}{1000}
|
||||
\setfont\ninettsl\ttslshape{10}{900}
|
||||
\setfont\indrm\rmshape{9}{1000}
|
||||
\setfont\indit\itshape{9}{1000}
|
||||
\setfont\indsl\slshape{9}{1000}
|
||||
\let\indtt=\ninett
|
||||
\let\indttsl=\ninettsl
|
||||
\let\indsf=\indrm
|
||||
\let\indbf=\indrm
|
||||
\setfont\indsc\scshape{10}{900}
|
||||
\font\indi=cmmi9
|
||||
\font\indsy=cmsy9
|
||||
% Fonts for indices, footnotes, small examples (9pt).
|
||||
\setfont\smallrm\rmshape{9}{1000}
|
||||
\setfont\smalltt\ttshape{9}{1000}
|
||||
\setfont\smallbf\bfshape{10}{900}
|
||||
\setfont\smallit\itshape{9}{1000}
|
||||
\setfont\smallsl\slshape{9}{1000}
|
||||
\setfont\smallsf\sfshape{9}{1000}
|
||||
\setfont\smallsc\scshape{10}{900}
|
||||
\setfont\smallttsl\ttslshape{10}{900}
|
||||
\font\smalli=cmmi9
|
||||
\font\smallsy=cmsy9
|
||||
|
||||
% Fonts for title page:
|
||||
\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
|
||||
\resetmathfonts \setleading{15pt}}
|
||||
\let\subsubsecfonts = \subsecfonts % Maybe make sssec fonts scaled magstephalf?
|
||||
\def\indexfonts{%
|
||||
\let\tenrm=\indrm \let\tenit=\indit \let\tensl=\indsl
|
||||
\let\tenbf=\indbf \let\tentt=\indtt \let\smallcaps=\indsc
|
||||
\let\tensf=\indsf \let\teni=\indi \let\tensy=\indsy \let\tenttsl=\indttsl
|
||||
\resetmathfonts \setleading{12pt}}
|
||||
\def\smallfonts{%
|
||||
\let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
|
||||
\let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
|
||||
\let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
|
||||
\let\tenttsl=\smallttsl
|
||||
\resetmathfonts \setleading{11pt}}
|
||||
|
||||
% 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
|
||||
\def\samp#1{`\tclose{#1}'\null}
|
||||
\setfont\smallrm\rmshape{8}{1000}
|
||||
\font\smallsy=cmsy9
|
||||
\def\key#1{{\smallrm\textfont2=\smallsy \leavevmode\hbox{%
|
||||
\setfont\keyrm\rmshape{8}{1000}
|
||||
\font\keysy=cmsy9
|
||||
\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
|
||||
\raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
|
||||
\vbox{\hrule\kern-0.4pt
|
||||
\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.
|
||||
%
|
||||
\def\uref#1{\douref #1,,,\finish}
|
||||
\def\douref#1,#2,#3,#4\finish{%
|
||||
\pdflink{#1}%
|
||||
\def\douref#1,#2,#3,#4\finish{\begingroup
|
||||
\unsepspaces
|
||||
\pdfurl{#1}%
|
||||
\setbox0 = \hbox{\ignorespaces #3}%
|
||||
\ifdim\wd0 > 0pt
|
||||
\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
|
||||
\fi
|
||||
\fi
|
||||
%
|
||||
\ifpdf
|
||||
\Black\pdfendlink
|
||||
\fi
|
||||
}
|
||||
\endlink
|
||||
\endgroup}
|
||||
|
||||
% rms does not like angle brackets --karl, 17may97.
|
||||
% 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}
|
||||
\ifpdf
|
||||
\def\email#1{\doemail#1,,\finish}
|
||||
\def\doemail#1,#2,#3\finish{%
|
||||
\pdflink{mailto:#1}%
|
||||
\def\doemail#1,#2,#3\finish{\begingroup
|
||||
\unsepspaces
|
||||
\pdfurl{mailto:#1}%
|
||||
\setbox0 = \hbox{\ignorespaces #2}%
|
||||
\ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
|
||||
\Black\pdfendlink
|
||||
}
|
||||
\endlink
|
||||
\endgroup}
|
||||
\else
|
||||
\let\email=\uref
|
||||
\fi
|
||||
@ -1491,6 +1535,8 @@ where each line of input produces a line of output.}
|
||||
\global\let\shortcontents = \relax
|
||||
\fi
|
||||
%
|
||||
\ifpdf \pdfmakepagedesttrue \fi
|
||||
%
|
||||
\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
|
||||
% current baselineskip.
|
||||
\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,
|
||||
%% to keep lines equally spaced
|
||||
\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
|
||||
%% table. If not, do nothing.
|
||||
%% If so, set to same dimension as multitablelinespace.
|
||||
\else
|
||||
\gdef\multistrut{\vrule height\multitablelinespace depth\dp0
|
||||
width0pt\relax} \fi
|
||||
\ifdim\multitableparskip>\multitablelinespace
|
||||
\global\multitableparskip=\multitablelinespace
|
||||
\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
|
||||
@ -2212,6 +2261,7 @@ width0pt\relax} \fi
|
||||
\let\deftypefn = \relax
|
||||
\let\deftypefun = \relax
|
||||
\let\deftypeivar = \relax
|
||||
\let\deftypeop = \relax
|
||||
\let\deftypevar = \relax
|
||||
\let\deftypevr = \relax
|
||||
\let\defun = \relax
|
||||
@ -2355,14 +2405,13 @@ width0pt\relax} \fi
|
||||
% stuff compared to the main input.
|
||||
%
|
||||
\nullfont
|
||||
\let\tenrm = \nullfont \let\tenit = \nullfont \let\tensl = \nullfont
|
||||
\let\tenbf = \nullfont \let\tentt = \nullfont \let\smallcaps = \nullfont
|
||||
\let\tensf = \nullfont
|
||||
% Similarly for index fonts (mostly for their use in
|
||||
% smallexample)
|
||||
\let\indrm = \nullfont \let\indit = \nullfont \let\indsl = \nullfont
|
||||
\let\indbf = \nullfont \let\indtt = \nullfont \let\indsc = \nullfont
|
||||
\let\indsf = \nullfont
|
||||
\let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont
|
||||
\let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont
|
||||
\let\tensf=\nullfont
|
||||
% Similarly for index fonts (mostly for their use in smallexample).
|
||||
\let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont
|
||||
\let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont
|
||||
\let\smallsf=\nullfont
|
||||
%
|
||||
% Don't complain when characters are missing from the fonts.
|
||||
\tracinglostchars = 0
|
||||
@ -2626,7 +2675,7 @@ width0pt\relax} \fi
|
||||
\def\@{@}% will be @@ when we switch to @ as escape char.
|
||||
% Need these in case \tex is in effect and \{ is a \delimiter again.
|
||||
% 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\} = \myrbrace
|
||||
\def\_{{\realbackslash _}}%
|
||||
@ -2739,6 +2788,7 @@ width0pt\relax} \fi
|
||||
\let\url=\indexdummyfont
|
||||
\let\uref=\indexdummyfont
|
||||
\let\env=\indexdummyfont
|
||||
\let\acronym=\indexdummyfont
|
||||
\let\command=\indexdummyfont
|
||||
\let\option=\indexdummyfont
|
||||
\let\file=\indexdummyfont
|
||||
@ -2892,7 +2942,7 @@ width0pt\relax} \fi
|
||||
\def\doprintindex#1{\begingroup
|
||||
\dobreak \chapheadingskip{10000}%
|
||||
%
|
||||
\indexfonts \rm
|
||||
\smallfonts \rm
|
||||
\tolerance = 9500
|
||||
\indexbreaks
|
||||
%
|
||||
@ -3019,7 +3069,11 @@ width0pt\relax} \fi
|
||||
% The `\ ' here is removed by the implicit \unskip that TeX does as
|
||||
% part of (the primitive) \par. Without it, a spurious underfull
|
||||
% \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%
|
||||
\par
|
||||
\endgroup}
|
||||
@ -3186,12 +3240,44 @@ width0pt\relax} \fi
|
||||
\newcount\subsubsecno \subsubsecno=0
|
||||
|
||||
% 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 = `\@
|
||||
\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.
|
||||
% page headings and footings can use it. @section does likewise.
|
||||
@ -3725,6 +3811,7 @@ width0pt\relax} \fi
|
||||
\fi
|
||||
\vfill \eject
|
||||
\contentsalignmacro % in case @setchapternewpage odd is in effect
|
||||
\pdfmakeoutlines
|
||||
\endgroup
|
||||
\lastnegativepageno = \pageno
|
||||
\pageno = \savepageno
|
||||
@ -3775,7 +3862,7 @@ width0pt\relax} \fi
|
||||
|
||||
% See comments in \dochapentry re vbox and related settings
|
||||
\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.
|
||||
@ -3783,10 +3870,14 @@ width0pt\relax} \fi
|
||||
% We could simplify the code here by writing out an \appendixentry
|
||||
% command in the toc file for appendices, instead of using \chapentry
|
||||
% for both, but it doesn't seem worth it.
|
||||
\setbox0 = \hbox{\shortcontrm \putwordAppendix }
|
||||
\newdimen\shortappendixwidth \shortappendixwidth = \wd0
|
||||
|
||||
%
|
||||
\newdimen\shortappendixwidth
|
||||
%
|
||||
\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
|
||||
% #1, so the chapter titles will come out aligned.
|
||||
\setbox0 = \hbox{#1}%
|
||||
@ -3801,7 +3892,7 @@ width0pt\relax} \fi
|
||||
}
|
||||
|
||||
\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.
|
||||
\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
|
||||
\begingroup
|
||||
\chapentryfonts
|
||||
\tocentry{#1}{\dopageno{#2}}%
|
||||
\tocentry{#1}{\dopageno\bgroup#2\egroup}%
|
||||
\endgroup
|
||||
\nobreak\vskip .25\baselineskip plus.1\baselineskip
|
||||
}
|
||||
|
||||
\def\dosecentry#1#2{\begingroup
|
||||
\secentryfonts \leftskip=\tocindent
|
||||
\tocentry{#1}{\dopageno{#2}}%
|
||||
\tocentry{#1}{\dopageno\bgroup#2\egroup}%
|
||||
\endgroup}
|
||||
|
||||
\def\dosubsecentry#1#2{\begingroup
|
||||
\subsecentryfonts \leftskip=2\tocindent
|
||||
\tocentry{#1}{\dopageno{#2}}%
|
||||
\tocentry{#1}{\dopageno\bgroup#2\egroup}%
|
||||
\endgroup}
|
||||
|
||||
\def\dosubsubsecentry#1#2{\begingroup
|
||||
\subsubsecentryfonts \leftskip=3\tocindent
|
||||
\tocentry{#1}{\dopageno{#2}}%
|
||||
\tocentry{#1}{\dopageno\bgroup#2\egroup}%
|
||||
\endgroup}
|
||||
|
||||
% 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\Esmalllisp{\nonfillfinish\endgroup}%
|
||||
\def\Esmallexample{\nonfillfinish\endgroup}%
|
||||
\indexfonts
|
||||
\smallfonts
|
||||
\lisp
|
||||
}
|
||||
|
||||
@ -4139,7 +4230,7 @@ width0pt\relax} \fi
|
||||
%
|
||||
\def\smalldisplayx{\begingroup
|
||||
\def\Esmalldisplay{\nonfillfinish\endgroup}%
|
||||
\indexfonts \rm
|
||||
\smallfonts \rm
|
||||
\display
|
||||
}
|
||||
|
||||
@ -4156,7 +4247,7 @@ width0pt\relax} \fi
|
||||
%
|
||||
\def\smallformatx{\begingroup
|
||||
\def\Esmallformat{\nonfillfinish\endgroup}%
|
||||
\indexfonts \rm
|
||||
\smallfonts \rm
|
||||
\format
|
||||
}
|
||||
|
||||
@ -4326,23 +4417,39 @@ width0pt\relax} \fi
|
||||
\exdentamount=\defbodyindent
|
||||
\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).
|
||||
% #2 is the \...x control sequence for consecutive fns (which we define).
|
||||
% #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.
|
||||
%
|
||||
\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV %
|
||||
\medbreak %
|
||||
% Define the end token that this defining construct specifies
|
||||
% so that it will exit this group.
|
||||
\def#1{\endgraf\endgroup\medbreak}%
|
||||
\def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
|
||||
\parindent=0in
|
||||
\advance\leftskip by \defbodyindent
|
||||
\exdentamount=\defbodyindent
|
||||
\begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}}
|
||||
\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV
|
||||
\medbreak
|
||||
\def#1{\endgraf\endgroup\medbreak}%
|
||||
\def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}%
|
||||
\parindent=0in
|
||||
\advance\leftskip by \defbodyindent
|
||||
\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 %
|
||||
\medbreak %
|
||||
@ -4558,13 +4665,29 @@ width0pt\relax} \fi
|
||||
\def\defop #1 {\def\defoptype{#1}%
|
||||
\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
|
||||
\begingroup\defname {#2}{\defoptype\ \putwordon\ #1}%
|
||||
\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{%
|
||||
\deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader}
|
||||
@ -4713,6 +4836,7 @@ width0pt\relax} \fi
|
||||
\def\deftypefunx#1 {\errmessage{@deftypefunx in invalid context}}
|
||||
\def\deftypeivarx#1 {\errmessage{@deftypeivarx 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\deftypevrx#1 {\errmessage{@deftypevrx in invalid context}}
|
||||
\def\defunx#1 {\errmessage{@defunx in invalid context}}
|
||||
@ -5000,7 +5124,14 @@ width0pt\relax} \fi
|
||||
|
||||
|
||||
% @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,}
|
||||
@ -5048,20 +5179,10 @@ width0pt\relax} \fi
|
||||
|
||||
% @anchor{NAME} -- define xref target at arbitrary point.
|
||||
%
|
||||
{ \catcode`\@ = 11
|
||||
% From latex.ltx, to make @anchor truely invisible.
|
||||
\newdimen\@savsk
|
||||
\newcount\@savsf
|
||||
\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}
|
||||
}
|
||||
\newcount\savesfregister
|
||||
\gdef\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
|
||||
\gdef\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
|
||||
\gdef\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
|
||||
|
||||
% \setref{NAME}{SNT} defines a cross-reference point NAME, namely
|
||||
% NAME-title, NAME-pg, and NAME-SNT. Called from \foonoderef. We have
|
||||
@ -5071,7 +5192,7 @@ width0pt\relax} \fi
|
||||
%
|
||||
\def\setref#1#2{{%
|
||||
\indexdummies
|
||||
\ifpdf \pdfmkdest{#1}\fi
|
||||
\pdfmkdest{#1}%
|
||||
\dosetq{#1-title}{Ytitle}%
|
||||
\dosetq{#1-pg}{Ypagenumber}%
|
||||
\dosetq{#1-snt}{#2}%
|
||||
@ -5086,6 +5207,7 @@ width0pt\relax} \fi
|
||||
\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
|
||||
\def\ref#1{\xrefX[#1,,,,,,,]}
|
||||
\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
|
||||
\unsepspaces
|
||||
\def\printedmanual{\ignorespaces #5}%
|
||||
\def\printednodename{\ignorespaces #3}%
|
||||
\setbox1=\hbox{\printedmanual}%
|
||||
@ -5123,13 +5245,13 @@ width0pt\relax} \fi
|
||||
\leavevmode
|
||||
\getfilename{#4}%
|
||||
\ifnum\filenamelength>0
|
||||
\pdfannotlink attr{/Border [0 0 0]}%
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
goto file{\the\filename.pdf} name{#1@}%
|
||||
\else
|
||||
\pdfannotlink attr{/Border [0 0 0]}%
|
||||
\startlink attr{/Border [0 0 0]}%
|
||||
goto name{#1@}%
|
||||
\fi
|
||||
\BlueGreen
|
||||
\linkcolor
|
||||
\fi
|
||||
%
|
||||
\ifdim \wd1 > 0pt
|
||||
@ -5151,7 +5273,7 @@ width0pt\relax} \fi
|
||||
% page 3
|
||||
\turnoffactive \putwordpage\tie\refx{#1-pg}{}%
|
||||
\fi
|
||||
\ifpdf \Black\pdfendlink \fi
|
||||
\endlink
|
||||
\endgroup}
|
||||
|
||||
% \dosetq is the interface for calls from other macros
|
||||
@ -5388,6 +5510,8 @@ width0pt\relax} \fi
|
||||
\xspaceskip\z@skip
|
||||
\parindent\defaultparindent
|
||||
%
|
||||
\smallfonts \rm
|
||||
%
|
||||
% Hang the footnote text off the number.
|
||||
\hang
|
||||
\textindent{\thisfootno}%
|
||||
@ -5402,7 +5526,7 @@ width0pt\relax} \fi
|
||||
\else\let\next\f@t\fi \next}
|
||||
\def\f@@t{\bgroup\aftergroup\@foot\let\next}
|
||||
\def\f@t#1{#1\@foot}
|
||||
\def\@foot{\strut\egroup}
|
||||
\def\@foot{\strut\par\egroup}
|
||||
|
||||
}%end \catcode `\@=11
|
||||
|
||||
@ -5497,7 +5621,9 @@ width0pt\relax} \fi
|
||||
% #2 is (optional) width, #3 is (optional) height.
|
||||
% #4 is just the usual extra ignored arg for parsing this stuff.
|
||||
\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.
|
||||
\setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
|
||||
\setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
|
||||
@ -5518,8 +5644,6 @@ width0pt\relax} \fi
|
||||
\epsfbox{#1.eps}%
|
||||
\fi
|
||||
\endgroup
|
||||
\else
|
||||
\centerline{\pdfimage #1.pdf}%
|
||||
\fi
|
||||
}
|
||||
|
||||
@ -5670,7 +5794,7 @@ should work if nowhere else does.}
|
||||
% Use @afourwide to print on European A4 paper in wide format.
|
||||
\def\afourwide{%
|
||||
\afourpaper
|
||||
\internalpagesizes{9.5in}{6.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}%
|
||||
\internalpagesizes{6.5in}{9.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}%
|
||||
%
|
||||
\globaldefs = 0
|
||||
}
|
||||
@ -5863,6 +5987,6 @@ should work if nowhere else does.}
|
||||
@c eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
@c page-delimiter: "^\\\\message"
|
||||
@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 End:
|
||||
|
Loading…
Reference in New Issue
Block a user