/[emacs]/emacs/man/texinfo.tex
ViewVC logotype

Diff of /emacs/man/texinfo.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by pj, Fri Sep 6 10:03:59 2002 UTC revision 1.3 by lektu, Tue Feb 4 14:53:28 2003 UTC
# Line 35  Line 35 
35  %   ftp://tug.org/tex/texinfo.tex  %   ftp://tug.org/tex/texinfo.tex
36  %     (and all CTAN mirrors, see http://www.ctan.org),  %     (and all CTAN mirrors, see http://www.ctan.org),
37  %   and /home/gd/gnu/doc/texinfo.tex on the GNU machines.  %   and /home/gd/gnu/doc/texinfo.tex on the GNU machines.
38  %  %
39  % The texinfo.tex in any given Texinfo distribution could well be out  % The texinfo.tex in any given Texinfo distribution could well be out
40  % of date, so if that's what you're using, please check.  % of date, so if that's what you're using, please check.
41  %  %
42  % Texinfo has a small home page at http://texinfo.org/ and also  % Texinfo has a small home page at http://texinfo.org/ and also
43  % http://www.gnu.org/software/texinfo.  % http://www.gnu.org/software/texinfo.
44  %  %
# Line 175  Line 175 
175    
176  % add check for \lastpenalty to plain's definitions.  If the last thing  % add check for \lastpenalty to plain's definitions.  If the last thing
177  % we did was a \nobreak, we don't want to insert more space.  % we did was a \nobreak, we don't want to insert more space.
178  %  %
179  \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount  \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
180    \removelastskip\penalty-50\smallskip\fi\fi}    \removelastskip\penalty-50\smallskip\fi\fi}
181  \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount  \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
# Line 730  where each line of input produces a line Line 730  where each line of input produces a line
730  % @inmargin{TEXT [, RIGHT-TEXT]}  % @inmargin{TEXT [, RIGHT-TEXT]}
731  % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;  % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
732  % else use TEXT for both).  % else use TEXT for both).
733  %  %
734  \def\inmargin#1{\parseinmargin #1,,\finish}  \def\inmargin#1{\parseinmargin #1,,\finish}
735  \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.  \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
736    \setbox0 = \hbox{\ignorespaces #2}%    \setbox0 = \hbox{\ignorespaces #2}%
737    \ifdim\wd0 > 0pt    \ifdim\wd0 > 0pt
738      \def\lefttext{#1}%  have both texts      \def\lefttext{#1}%  have both texts
739      \def\righttext{#2}%      \def\righttext{#2}%
# Line 797  where each line of input produces a line Line 797  where each line of input produces a line
797  % @paragraphindent NCHARS  % @paragraphindent NCHARS
798  % We'll use ems for NCHARS, close enough.  % We'll use ems for NCHARS, close enough.
799  % We cannot implement @paragraphindent asis, though.  % We cannot implement @paragraphindent asis, though.
800  %  %
801  \def\asisword{asis} % no translation, these are keywords  \def\asisword{asis} % no translation, these are keywords
802  \def\noneword{none}  \def\noneword{none}
803  %  %
# Line 840  where each line of input produces a line Line 840  where each line of input produces a line
840  % We don't use $'s directly in the definition of \math because we need  % We don't use $'s directly in the definition of \math because we need
841  % to set catcodes according to plain TeX first, to allow for subscripts,  % to set catcodes according to plain TeX first, to allow for subscripts,
842  % superscripts, special math chars, etc.  % superscripts, special math chars, etc.
843  %  %
844  % @math does not do math typesetting in section titles, index  % @math does not do math typesetting in section titles, index
845  % entries, and other such contexts where the catcodes are set before  % entries, and other such contexts where the catcodes are set before
846  % @math gets a chance to work.  This could perhaps be fixed, but for now  % @math gets a chance to work.  This could perhaps be fixed, but for now
# Line 852  where each line of input produces a line Line 852  where each line of input produces a line
852  % an actual _ character, as in @math{@var{some_variable} + 1}.  So make  % an actual _ character, as in @math{@var{some_variable} + 1}.  So make
853  % _ within @math be active (mathcode "8000), and distinguish by seeing  % _ within @math be active (mathcode "8000), and distinguish by seeing
854  % if the current family is \slfam, which is what @var uses.  % if the current family is \slfam, which is what @var uses.
855  %  %
856  {\catcode95 = \active  % 95 = _  {\catcode95 = \active  % 95 = _
857  \gdef\mathunderscore{%  \gdef\mathunderscore{%
858    \catcode95=\active    \catcode95=\active
# Line 863  where each line of input produces a line Line 863  where each line of input produces a line
863  % FYI, plain.tex uses \\ as a temporary control sequence (why?), but  % FYI, plain.tex uses \\ as a temporary control sequence (why?), but
864  % this is not advertised and we don't care.  Texinfo does not  % this is not advertised and we don't care.  Texinfo does not
865  % otherwise define @\.  % otherwise define @\.
866  %  %
867  % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.  % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
868  \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}  \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
869  %  %
# Line 986  where each line of input produces a line Line 986  where each line of input produces a line
986    \def\pdfmakeoutlines{{%    \def\pdfmakeoutlines{{%
987      \openin 1 \jobname.toc      \openin 1 \jobname.toc
988      \ifeof 1\else\begingroup      \ifeof 1\else\begingroup
989        \closein 1        \closein 1
990        \indexnofonts        \indexnofonts
991        \def\tt{}        \def\tt{}
992        \let\_ = \normalunderscore        \let\_ = \normalunderscore
993        % Thanh's hack / proper braces in bookmarks          % Thanh's hack / proper braces in bookmarks
994        \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace        \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
995        \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace        \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
996        %        %
# Line 1032  where each line of input produces a line Line 1032  where each line of input produces a line
1032        \let\nextmakelinks=\makelinks        \let\nextmakelinks=\makelinks
1033        \ifnum\lnkcount>0,\fi        \ifnum\lnkcount>0,\fi
1034        \picknum{#1}%        \picknum{#1}%
1035        \startlink attr{/Border [0 0 0]}        \startlink attr{/Border [0 0 0]}
1036          goto name{\pdfmkpgn{\the\pgn}}%          goto name{\pdfmkpgn{\the\pgn}}%
1037        \linkcolor #1%        \linkcolor #1%
1038        \advance\lnkcount by 1%        \advance\lnkcount by 1%
# Line 1087  where each line of input produces a line Line 1087  where each line of input produces a line
1087      \ifx\first0\adn0      \ifx\first0\adn0
1088      \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3      \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
1089      \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6      \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
1090      \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9      \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
1091      \else      \else
1092        \ifnum0=\countA\else\makelink\fi        \ifnum0=\countA\else\makelink\fi
1093        \ifx\first.\let\next=\done\else        \ifx\first.\let\next=\done\else
# Line 1521  where each line of input produces a line Line 1521  where each line of input produces a line
1521    
1522  % rms does not like angle brackets --karl, 17may97.  % rms does not like angle brackets --karl, 17may97.
1523  % So now @email is just like @uref, unless we are pdf.  % So now @email is just like @uref, unless we are pdf.
1524  %  %
1525  %\def\email#1{\angleleft{\tt #1}\angleright}  %\def\email#1{\angleleft{\tt #1}\angleright}
1526  \ifpdf  \ifpdf
1527    \def\email#1{\doemail#1,,\finish}    \def\email#1{\doemail#1,,\finish}
# Line 2742  width0pt\relax} \fi Line 2742  width0pt\relax} \fi
2742    
2743  % @synindex foo bar    makes index foo feed into index bar.  % @synindex foo bar    makes index foo feed into index bar.
2744  % Do this instead of @defindex foo if you don't want it as a separate index.  % Do this instead of @defindex foo if you don't want it as a separate index.
2745  %  %
2746  % @syncodeindex foo bar   similar, but put all entries made for index foo  % @syncodeindex foo bar   similar, but put all entries made for index foo
2747  % inside @code.  % inside @code.
2748  %  %
2749  \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}  \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
2750  \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}  \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
2751    
# Line 2787  width0pt\relax} \fi Line 2787  width0pt\relax} \fi
2787  % Take care of texinfo commands likely to appear in an index entry.  % Take care of texinfo commands likely to appear in an index entry.
2788  % (Must be a way to avoid doing expansion at all, and thus not have to  % (Must be a way to avoid doing expansion at all, and thus not have to
2789  % laboriously list every single command here.)  % laboriously list every single command here.)
2790  %  %
2791  \def\indexdummies{%  \def\indexdummies{%
2792  \def\ { }%  \def\ { }%
2793  \def\@{@}% change to @@ when we switch to @ as escape char in aux files.  \def\@{@}% change to @@ when we switch to @ as escape char in aux files.
2794  % 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.
2795  % But can't use \lbracecmd and \rbracecmd because texindex assumes  % But can't use \lbracecmd and \rbracecmd because texindex assumes
2796  % braces and backslashes are used only as delimiters.    % braces and backslashes are used only as delimiters.
2797  \let\{ = \mylbrace  \let\{ = \mylbrace
2798  \let\} = \myrbrace  \let\} = \myrbrace
2799  \def\_{{\realbackslash _}}%  \def\_{{\realbackslash _}}%
# Line 3348  width0pt\relax} \fi Line 3348  width0pt\relax} \fi
3348    \wd0=\hsize \wd2=\hsize    \wd0=\hsize \wd2=\hsize
3349    \hbox to\pagewidth{\box0\hfil\box2}%    \hbox to\pagewidth{\box0\hfil\box2}%
3350  }  }
3351  %  %
3352  % All done with double columns.  % All done with double columns.
3353  \def\enddoublecolumns{%  \def\enddoublecolumns{%
3354    \output = {%    \output = {%
# Line 4149  width0pt\relax} \fi Line 4149  width0pt\relax} \fi
4149  % @foo ... @end foo.  % @foo ... @end foo.
4150    
4151  % @point{}, @result{}, @expansion{}, @print{}, @equiv{}.  % @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
4152  %  %
4153  % Since these characters are used in examples, it should be an even number of  % Since these characters are used in examples, it should be an even number of
4154  % \tt widths. Each \tt character is 1en, so two makes it 1em.  % \tt widths. Each \tt character is 1en, so two makes it 1em.
4155  %  %
# Line 4161  width0pt\relax} \fi Line 4161  width0pt\relax} \fi
4161    
4162  % The @error{} command.  % The @error{} command.
4163  % Adapted from the TeXbook's \boxit.  % Adapted from the TeXbook's \boxit.
4164  %  %
4165  \newbox\errorbox  \newbox\errorbox
4166  %  %
4167  {\tentt \global\dimen0 = 3em}% Width of the box.  {\tentt \global\dimen0 = 3em}% Width of the box.
# Line 4469  width0pt\relax} \fi Line 4469  width0pt\relax} \fi
4469    
4470    
4471  % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}  % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
4472  % If we want to allow any <char> as delimiter,  % If we want to allow any <char> as delimiter,
4473  % we need the curly braces so that makeinfo sees the @verb command, eg:  % we need the curly braces so that makeinfo sees the @verb command, eg:
4474  % `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org  % `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org
4475  %  %
# Line 4543  width0pt\relax} \fi Line 4543  width0pt\relax} \fi
4543    \everypar{\starttabbox}%    \everypar{\starttabbox}%
4544  }  }
4545    
4546  % Do the @verb magic: verbatim text is quoted by unique  % Do the @verb magic: verbatim text is quoted by unique
4547  % delimiter characters.  Before first delimiter expect a  % delimiter characters.  Before first delimiter expect a
4548  % right brace, after last delimiter expect closing brace:  % right brace, after last delimiter expect closing brace:
4549  %  %
4550  %    \def\doverb'{'<char>#1<char>'}'{#1}  %    \def\doverb'{'<char>#1<char>'}'{#1}
# Line 4563  width0pt\relax} \fi Line 4563  width0pt\relax} \fi
4563  %  %
4564  %     \def\doverbatim#1@end verbatim{#1}  %     \def\doverbatim#1@end verbatim{#1}
4565  %  %
4566  % For Texinfo it's a lot easier than for LaTeX,  % For Texinfo it's a lot easier than for LaTeX,
4567  % because texinfo's \verbatim doesn't stop at '\end{verbatim}':  % because texinfo's \verbatim doesn't stop at '\end{verbatim}':
4568  % we need not redefine '\', '{' and '}'  % we need not redefine '\', '{' and '}'
4569  %  %
# Line 4621  width0pt\relax} \fi Line 4621  width0pt\relax} \fi
4621    
4622  % @copying ... @end copying.  % @copying ... @end copying.
4623  % Save the text away for @insertcopying later.  % Save the text away for @insertcopying later.
4624  %  %
4625  \newbox\copyingbox  \newbox\copyingbox
4626  %  %
4627  \def\copying{\begingroup  \def\copying{\begingroup
# Line 4631  width0pt\relax} \fi Line 4631  width0pt\relax} \fi
4631  }  }
4632    
4633  % @insertcopying.  % @insertcopying.
4634  %  %
4635  \def\insertcopying{\unvcopy\copyingbox}  \def\insertcopying{\unvcopy\copyingbox}
4636    
4637    
# Line 4734  width0pt\relax} \fi Line 4734  width0pt\relax} \fi
4734  % #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).
4735  % #2 is the \...x control sequence (which our caller defines).  % #2 is the \...x control sequence (which our caller defines).
4736  % #3 is the control sequence to process the header, such as \defunheader.  % #3 is the control sequence to process the header, such as \defunheader.
4737  %  %
4738  \def\parsebodycommon#1#2#3{%  \def\parsebodycommon#1#2#3{%
4739    \begingroup\inENV    \begingroup\inENV
4740    % If there are two @def commands in a row, we'll have a \nobreak,    % If there are two @def commands in a row, we'll have a \nobreak,
# Line 4791  width0pt\relax} \fi Line 4791  width0pt\relax} \fi
4791  % to account for this both in the \...x definition and in parsing the  % to account for this both in the \...x definition and in parsing the
4792  % input at hand.  Thus also need a control sequence (passed as #5) for  % input at hand.  Thus also need a control sequence (passed as #5) for
4793  % the \E... definition to assign the category name to.  % the \E... definition to assign the category name to.
4794  %  %
4795  \def\deftypeopparsebody#1#2#3#4#5 #6 {%  \def\deftypeopparsebody#1#2#3#4#5 #6 {%
4796    \parsebodycommon{#1}{#2}{#3}%    \parsebodycommon{#1}{#2}{#3}%
4797    \def#2##1 ##2 ##3 {%    \def#2##1 ##2 ##3 {%
# Line 5148  width0pt\relax} \fi Line 5148  width0pt\relax} \fi
5148    
5149  % These definitions are used if you use @defunx (etc.)  % These definitions are used if you use @defunx (etc.)
5150  % anywhere other than immediately after a @defun or @defunx.  % anywhere other than immediately after a @defun or @defunx.
5151  %  %
5152  \def\defcvx#1 {\errmessage{@defcvx in invalid context}}  \def\defcvx#1 {\errmessage{@defcvx in invalid context}}
5153  \def\deffnx#1 {\errmessage{@deffnx in invalid context}}  \def\deffnx#1 {\errmessage{@deffnx in invalid context}}
5154  \def\defivarx#1 {\errmessage{@defivarx in invalid context}}  \def\defivarx#1 {\errmessage{@defivarx in invalid context}}
# Line 5949  width0pt\relax} \fi Line 5949  width0pt\relax} \fi
5949      \nobreak\bigskip      \nobreak\bigskip
5950      % Usually we'll have text after the image which will insert      % Usually we'll have text after the image which will insert
5951      % \parskip glue, so insert it here too to equalize the space      % \parskip glue, so insert it here too to equalize the space
5952      % above and below.      % above and below.
5953      \nobreak\vskip\parskip      \nobreak\vskip\parskip
5954      \nobreak      \nobreak
5955      \line\bgroup\hss      \line\bgroup\hss
# Line 6065  should work if nowhere else does.} Line 6065  should work if nowhere else does.}
6065  }  }
6066    
6067  % Use `small' versions.  % Use `small' versions.
6068  %  %
6069  \def\smallenvironments{%  \def\smallenvironments{%
6070    \let\smalldisplay = \smalldisplayx    \let\smalldisplay = \smalldisplayx
6071    \let\smallexample = \smalllispx    \let\smallexample = \smalllispx
# Line 6322  should work if nowhere else does.} Line 6322  should work if nowhere else does.}
6322  % Say @foo, not \foo, in error messages.  % Say @foo, not \foo, in error messages.
6323  @escapechar = `@@  @escapechar = `@@
6324    
6325  % These look ok in all fonts, so just make them not special.    % These look ok in all fonts, so just make them not special.
6326  @catcode`@& = @other  @catcode`@& = @other
6327  @catcode`@# = @other  @catcode`@# = @other
6328  @catcode`@% = @other  @catcode`@% = @other

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26