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

Diff of /emacs/lispintro/texinfo.tex

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

revision 1.2 by bob, Fri Aug 23 19:47:41 2002 UTC revision 1.3 by lektu, Tue Feb 4 14:44:45 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 1522  where each line of input produces a line Line 1522  where each line of input produces a line
1522    
1523  % rms does not like angle brackets --karl, 17may97.  % rms does not like angle brackets --karl, 17may97.
1524  % So now @email is just like @uref, unless we are pdf.  % So now @email is just like @uref, unless we are pdf.
1525  %  %
1526  %\def\email#1{\angleleft{\tt #1}\angleright}  %\def\email#1{\angleleft{\tt #1}\angleright}
1527  \ifpdf  \ifpdf
1528    \def\email#1{\doemail#1,,\finish}    \def\email#1{\doemail#1,,\finish}
# Line 2743  width0pt\relax} \fi Line 2743  width0pt\relax} \fi
2743    
2744  % @synindex foo bar    makes index foo feed into index bar.  % @synindex foo bar    makes index foo feed into index bar.
2745  % 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.
2746  %  %
2747  % @syncodeindex foo bar   similar, but put all entries made for index foo  % @syncodeindex foo bar   similar, but put all entries made for index foo
2748  % inside @code.  % inside @code.
2749  %  %
2750  \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}  \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
2751  \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}  \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
2752    
# Line 2788  width0pt\relax} \fi Line 2788  width0pt\relax} \fi
2788  % Take care of texinfo commands likely to appear in an index entry.  % Take care of texinfo commands likely to appear in an index entry.
2789  % (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
2790  % laboriously list every single command here.)  % laboriously list every single command here.)
2791  %  %
2792  \def\indexdummies{%  \def\indexdummies{%
2793  \def\ { }%  \def\ { }%
2794  \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.
2795  % 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.
2796  % But can't use \lbracecmd and \rbracecmd because texindex assumes  % But can't use \lbracecmd and \rbracecmd because texindex assumes
2797  % braces and backslashes are used only as delimiters.    % braces and backslashes are used only as delimiters.
2798  \let\{ = \mylbrace  \let\{ = \mylbrace
2799  \let\} = \myrbrace  \let\} = \myrbrace
2800  \def\_{{\realbackslash _}}%  \def\_{{\realbackslash _}}%
# Line 3349  width0pt\relax} \fi Line 3349  width0pt\relax} \fi
3349    \wd0=\hsize \wd2=\hsize    \wd0=\hsize \wd2=\hsize
3350    \hbox to\pagewidth{\box0\hfil\box2}%    \hbox to\pagewidth{\box0\hfil\box2}%
3351  }  }
3352  %  %
3353  % All done with double columns.  % All done with double columns.
3354  \def\enddoublecolumns{%  \def\enddoublecolumns{%
3355    \output = {%    \output = {%
# Line 4150  width0pt\relax} \fi Line 4150  width0pt\relax} \fi
4150  % @foo ... @end foo.  % @foo ... @end foo.
4151    
4152  % @point{}, @result{}, @expansion{}, @print{}, @equiv{}.  % @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
4153  %  %
4154  % 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
4155  % \tt widths. Each \tt character is 1en, so two makes it 1em.  % \tt widths. Each \tt character is 1en, so two makes it 1em.
4156  %  %
# Line 4162  width0pt\relax} \fi Line 4162  width0pt\relax} \fi
4162    
4163  % The @error{} command.  % The @error{} command.
4164  % Adapted from the TeXbook's \boxit.  % Adapted from the TeXbook's \boxit.
4165  %  %
4166  \newbox\errorbox  \newbox\errorbox
4167  %  %
4168  {\tentt \global\dimen0 = 3em}% Width of the box.  {\tentt \global\dimen0 = 3em}% Width of the box.
# Line 4470  width0pt\relax} \fi Line 4470  width0pt\relax} \fi
4470    
4471    
4472  % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}  % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
4473  % If we want to allow any <char> as delimiter,  % If we want to allow any <char> as delimiter,
4474  % 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:
4475  % `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org  % `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org
4476  %  %
# Line 4544  width0pt\relax} \fi Line 4544  width0pt\relax} \fi
4544    \everypar{\starttabbox}%    \everypar{\starttabbox}%
4545  }  }
4546    
4547  % Do the @verb magic: verbatim text is quoted by unique  % Do the @verb magic: verbatim text is quoted by unique
4548  % delimiter characters.  Before first delimiter expect a  % delimiter characters.  Before first delimiter expect a
4549  % right brace, after last delimiter expect closing brace:  % right brace, after last delimiter expect closing brace:
4550  %  %
4551  %    \def\doverb'{'<char>#1<char>'}'{#1}  %    \def\doverb'{'<char>#1<char>'}'{#1}
# Line 4564  width0pt\relax} \fi Line 4564  width0pt\relax} \fi
4564  %  %
4565  %     \def\doverbatim#1@end verbatim{#1}  %     \def\doverbatim#1@end verbatim{#1}
4566  %  %
4567  % For Texinfo it's a lot easier than for LaTeX,  % For Texinfo it's a lot easier than for LaTeX,
4568  % because texinfo's \verbatim doesn't stop at '\end{verbatim}':  % because texinfo's \verbatim doesn't stop at '\end{verbatim}':
4569  % we need not redefine '\', '{' and '}'  % we need not redefine '\', '{' and '}'
4570  %  %
# Line 4622  width0pt\relax} \fi Line 4622  width0pt\relax} \fi
4622    
4623  % @copying ... @end copying.  % @copying ... @end copying.
4624  % Save the text away for @insertcopying later.  % Save the text away for @insertcopying later.
4625  %  %
4626  \newbox\copyingbox  \newbox\copyingbox
4627  %  %
4628  \def\copying{\begingroup  \def\copying{\begingroup
# Line 4632  width0pt\relax} \fi Line 4632  width0pt\relax} \fi
4632  }  }
4633    
4634  % @insertcopying.  % @insertcopying.
4635  %  %
4636  \def\insertcopying{\unvcopy\copyingbox}  \def\insertcopying{\unvcopy\copyingbox}
4637    
4638    
# Line 4788  width0pt\relax} \fi Line 4788  width0pt\relax} \fi
4788  % 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
4789  % 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
4790  % the \E... definition to assign the category name to.  % the \E... definition to assign the category name to.
4791  %  %
4792  \def\deftypeopparsebody#1#2#3#4#5 #6 {\begingroup\inENV  \def\deftypeopparsebody#1#2#3#4#5 #6 {\begingroup\inENV
4793    \medbreak    \medbreak
4794    \def#1{\endgraf\endgroup\medbreak}%    \def#1{\endgraf\endgroup\medbreak}%
# Line 5172  width0pt\relax} \fi Line 5172  width0pt\relax} \fi
5172    
5173  % These definitions are used if you use @defunx (etc.)  % These definitions are used if you use @defunx (etc.)
5174  % anywhere other than immediately after a @defun or @defunx.  % anywhere other than immediately after a @defun or @defunx.
5175  %  %
5176  \def\defcvx#1 {\errmessage{@defcvx in invalid context}}  \def\defcvx#1 {\errmessage{@defcvx in invalid context}}
5177  \def\deffnx#1 {\errmessage{@deffnx in invalid context}}  \def\deffnx#1 {\errmessage{@deffnx in invalid context}}
5178  \def\defivarx#1 {\errmessage{@defivarx in invalid context}}  \def\defivarx#1 {\errmessage{@defivarx in invalid context}}
# Line 5973  width0pt\relax} \fi Line 5973  width0pt\relax} \fi
5973      \nobreak\bigskip      \nobreak\bigskip
5974      % Usually we'll have text after the image which will insert      % Usually we'll have text after the image which will insert
5975      % \parskip glue, so insert it here too to equalize the space      % \parskip glue, so insert it here too to equalize the space
5976      % above and below.      % above and below.
5977      \nobreak\vskip\parskip      \nobreak\vskip\parskip
5978      \nobreak      \nobreak
5979      \line\bgroup\hss      \line\bgroup\hss
# Line 6089  should work if nowhere else does.} Line 6089  should work if nowhere else does.}
6089  }  }
6090    
6091  % Use `small' versions.  % Use `small' versions.
6092  %  %
6093  \def\smallenvironments{%  \def\smallenvironments{%
6094    \let\smalldisplay = \smalldisplayx    \let\smalldisplay = \smalldisplayx
6095    \let\smallexample = \smalllispx    \let\smallexample = \smalllispx
# Line 6346  should work if nowhere else does.} Line 6346  should work if nowhere else does.}
6346  % Say @foo, not \foo, in error messages.  % Say @foo, not \foo, in error messages.
6347  @escapechar = `@@  @escapechar = `@@
6348    
6349  % These look ok in all fonts, so just make them not special.    % These look ok in all fonts, so just make them not special.
6350  @catcode`@& = @other  @catcode`@& = @other
6351  @catcode`@# = @other  @catcode`@# = @other
6352  @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