Mercurial > emacs
comparison man/texinfo.tex @ 49600:23a1cea22d13
Trailing whitespace deleted.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Tue, 04 Feb 2003 14:56:31 +0000 |
parents | efec044efb3a |
children | 695cf19ef79e d7ddb3e565de |
comparison
equal
deleted
inserted
replaced
49599:5ade352e8d1c | 49600:23a1cea22d13 |
---|---|
33 % (and all GNU mirrors, see http://www.gnu.org/order/ftp.html) | 33 % (and all GNU mirrors, see http://www.gnu.org/order/ftp.html) |
34 % ftp://texinfo.org/texinfo/texinfo.tex | 34 % ftp://texinfo.org/texinfo/texinfo.tex |
35 % ftp://tug.org/tex/texinfo.tex | 35 % ftp://tug.org/tex/texinfo.tex |
36 % (and all CTAN mirrors, see http://www.ctan.org), | 36 % (and all CTAN mirrors, see http://www.ctan.org), |
37 % and /home/gd/gnu/doc/texinfo.tex on the GNU machines. | 37 % and /home/gd/gnu/doc/texinfo.tex on the GNU machines. |
38 % | 38 % |
39 % The texinfo.tex in any given Texinfo distribution could well be out | 39 % 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. | 40 % of date, so if that's what you're using, please check. |
41 % | 41 % |
42 % Texinfo has a small home page at http://texinfo.org/ and also | 42 % Texinfo has a small home page at http://texinfo.org/ and also |
43 % http://www.gnu.org/software/texinfo. | 43 % http://www.gnu.org/software/texinfo. |
44 % | 44 % |
45 % Send bug reports to bug-texinfo@gnu.org. Please include including a | 45 % Send bug reports to bug-texinfo@gnu.org. Please include including a |
46 % complete document in each bug report with which we can reproduce the | 46 % complete document in each bug report with which we can reproduce the |
173 }% | 173 }% |
174 \fi | 174 \fi |
175 | 175 |
176 % add check for \lastpenalty to plain's definitions. If the last thing | 176 % 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. | 177 % we did was a \nobreak, we don't want to insert more space. |
178 % | 178 % |
179 \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount | 179 \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount |
180 \removelastskip\penalty-50\smallskip\fi\fi} | 180 \removelastskip\penalty-50\smallskip\fi\fi} |
181 \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount | 181 \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount |
182 \removelastskip\penalty-100\medskip\fi\fi} | 182 \removelastskip\penalty-100\medskip\fi\fi} |
183 \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount | 183 \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount |
728 \def\inrightmargin{\doinmargin r} | 728 \def\inrightmargin{\doinmargin r} |
729 % | 729 % |
730 % @inmargin{TEXT [, RIGHT-TEXT]} | 730 % @inmargin{TEXT [, RIGHT-TEXT]} |
731 % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; | 731 % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; |
732 % else use TEXT for both). | 732 % else use TEXT for both). |
733 % | 733 % |
734 \def\inmargin#1{\parseinmargin #1,,\finish} | 734 \def\inmargin#1{\parseinmargin #1,,\finish} |
735 \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. | 735 \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. |
736 \setbox0 = \hbox{\ignorespaces #2}% | 736 \setbox0 = \hbox{\ignorespaces #2}% |
737 \ifdim\wd0 > 0pt | 737 \ifdim\wd0 > 0pt |
738 \def\lefttext{#1}% have both texts | 738 \def\lefttext{#1}% have both texts |
739 \def\righttext{#2}% | 739 \def\righttext{#2}% |
740 \else | 740 \else |
741 \def\lefttext{#1}% have only one text | 741 \def\lefttext{#1}% have only one text |
795 \let\c=\comment | 795 \let\c=\comment |
796 | 796 |
797 % @paragraphindent NCHARS | 797 % @paragraphindent NCHARS |
798 % We'll use ems for NCHARS, close enough. | 798 % We'll use ems for NCHARS, close enough. |
799 % We cannot implement @paragraphindent asis, though. | 799 % We cannot implement @paragraphindent asis, though. |
800 % | 800 % |
801 \def\asisword{asis} % no translation, these are keywords | 801 \def\asisword{asis} % no translation, these are keywords |
802 \def\noneword{none} | 802 \def\noneword{none} |
803 % | 803 % |
804 \def\paragraphindent{\parsearg\doparagraphindent} | 804 \def\paragraphindent{\parsearg\doparagraphindent} |
805 \def\doparagraphindent#1{% | 805 \def\doparagraphindent#1{% |
838 | 838 |
839 % @math outputs its argument in math mode. | 839 % @math outputs its argument in math mode. |
840 % We don't use $'s directly in the definition of \math because we need | 840 % 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, | 841 % to set catcodes according to plain TeX first, to allow for subscripts, |
842 % superscripts, special math chars, etc. | 842 % superscripts, special math chars, etc. |
843 % | 843 % |
844 % @math does not do math typesetting in section titles, index | 844 % @math does not do math typesetting in section titles, index |
845 % entries, and other such contexts where the catcodes are set before | 845 % 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 | 846 % @math gets a chance to work. This could perhaps be fixed, but for now |
847 % at least we can have real math in the main text, where it's needed most. | 847 % at least we can have real math in the main text, where it's needed most. |
848 % | 848 % |
850 % | 850 % |
851 % One complication: _ usually means subscripts, but it could also mean | 851 % One complication: _ usually means subscripts, but it could also mean |
852 % an actual _ character, as in @math{@var{some_variable} + 1}. So make | 852 % an actual _ character, as in @math{@var{some_variable} + 1}. So make |
853 % _ within @math be active (mathcode "8000), and distinguish by seeing | 853 % _ within @math be active (mathcode "8000), and distinguish by seeing |
854 % if the current family is \slfam, which is what @var uses. | 854 % if the current family is \slfam, which is what @var uses. |
855 % | 855 % |
856 {\catcode95 = \active % 95 = _ | 856 {\catcode95 = \active % 95 = _ |
857 \gdef\mathunderscore{% | 857 \gdef\mathunderscore{% |
858 \catcode95=\active | 858 \catcode95=\active |
859 \def_{\ifnum\fam=\slfam \_\else\sb\fi}% | 859 \def_{\ifnum\fam=\slfam \_\else\sb\fi}% |
860 }} | 860 }} |
861 % | 861 % |
862 % Another complication: we want \\ (and @\) to output a \ character. | 862 % Another complication: we want \\ (and @\) to output a \ character. |
863 % FYI, plain.tex uses \\ as a temporary control sequence (why?), but | 863 % FYI, plain.tex uses \\ as a temporary control sequence (why?), but |
864 % this is not advertised and we don't care. Texinfo does not | 864 % this is not advertised and we don't care. Texinfo does not |
865 % otherwise define @\. | 865 % otherwise define @\. |
866 % | 866 % |
867 % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. | 867 % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. |
868 \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} | 868 \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} |
869 % | 869 % |
870 \def\math{% | 870 \def\math{% |
871 \tex | 871 \tex |
984 \advance\tempnum by1 | 984 \advance\tempnum by1 |
985 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} | 985 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} |
986 \def\pdfmakeoutlines{{% | 986 \def\pdfmakeoutlines{{% |
987 \openin 1 \jobname.toc | 987 \openin 1 \jobname.toc |
988 \ifeof 1\else\begingroup | 988 \ifeof 1\else\begingroup |
989 \closein 1 | 989 \closein 1 |
990 \indexnofonts | 990 \indexnofonts |
991 \def\tt{} | 991 \def\tt{} |
992 \let\_ = \normalunderscore | 992 \let\_ = \normalunderscore |
993 % Thanh's hack / proper braces in bookmarks | 993 % Thanh's hack / proper braces in bookmarks |
994 \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace | 994 \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace |
995 \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace | 995 \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace |
996 % | 996 % |
997 \def\chapentry ##1##2##3{} | 997 \def\chapentry ##1##2##3{} |
998 \let\appendixentry = \chapentry | 998 \let\appendixentry = \chapentry |
1030 \let\nextmakelinks=\relax | 1030 \let\nextmakelinks=\relax |
1031 \else | 1031 \else |
1032 \let\nextmakelinks=\makelinks | 1032 \let\nextmakelinks=\makelinks |
1033 \ifnum\lnkcount>0,\fi | 1033 \ifnum\lnkcount>0,\fi |
1034 \picknum{#1}% | 1034 \picknum{#1}% |
1035 \startlink attr{/Border [0 0 0]} | 1035 \startlink attr{/Border [0 0 0]} |
1036 goto name{\pdfmkpgn{\the\pgn}}% | 1036 goto name{\pdfmkpgn{\the\pgn}}% |
1037 \linkcolor #1% | 1037 \linkcolor #1% |
1038 \advance\lnkcount by 1% | 1038 \advance\lnkcount by 1% |
1039 \endlink | 1039 \endlink |
1040 \fi | 1040 \fi |
1085 \def\maketoks{% | 1085 \def\maketoks{% |
1086 \expandafter\poptoks\the\toksA|ENDTOKS| | 1086 \expandafter\poptoks\the\toksA|ENDTOKS| |
1087 \ifx\first0\adn0 | 1087 \ifx\first0\adn0 |
1088 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 | 1088 \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 | 1089 \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 | 1090 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 |
1091 \else | 1091 \else |
1092 \ifnum0=\countA\else\makelink\fi | 1092 \ifnum0=\countA\else\makelink\fi |
1093 \ifx\first.\let\next=\done\else | 1093 \ifx\first.\let\next=\done\else |
1094 \let\next=\maketoks | 1094 \let\next=\maketoks |
1095 \addtokens{\toksB}{\the\toksD} | 1095 \addtokens{\toksB}{\the\toksD} |
1519 \endlink | 1519 \endlink |
1520 \endgroup} | 1520 \endgroup} |
1521 | 1521 |
1522 % rms does not like angle brackets --karl, 17may97. | 1522 % rms does not like angle brackets --karl, 17may97. |
1523 % So now @email is just like @uref, unless we are pdf. | 1523 % So now @email is just like @uref, unless we are pdf. |
1524 % | 1524 % |
1525 %\def\email#1{\angleleft{\tt #1}\angleright} | 1525 %\def\email#1{\angleleft{\tt #1}\angleright} |
1526 \ifpdf | 1526 \ifpdf |
1527 \def\email#1{\doemail#1,,\finish} | 1527 \def\email#1{\doemail#1,,\finish} |
1528 \def\doemail#1,#2,#3\finish{\begingroup | 1528 \def\doemail#1,#2,#3\finish{\begingroup |
1529 \unsepspaces | 1529 \unsepspaces |
2740 } | 2740 } |
2741 | 2741 |
2742 | 2742 |
2743 % @synindex foo bar makes index foo feed into index bar. | 2743 % @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. | 2744 % Do this instead of @defindex foo if you don't want it as a separate index. |
2745 % | 2745 % |
2746 % @syncodeindex foo bar similar, but put all entries made for index foo | 2746 % @syncodeindex foo bar similar, but put all entries made for index foo |
2747 % inside @code. | 2747 % inside @code. |
2748 % | 2748 % |
2749 \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} | 2749 \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} |
2750 \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} | 2750 \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} |
2751 | 2751 |
2752 % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), | 2752 % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), |
2753 % #3 the target index (bar). | 2753 % #3 the target index (bar). |
2785 \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} | 2785 \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} |
2786 | 2786 |
2787 % Take care of texinfo commands likely to appear in an index entry. | 2787 % 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 | 2788 % (Must be a way to avoid doing expansion at all, and thus not have to |
2789 % laboriously list every single command here.) | 2789 % laboriously list every single command here.) |
2790 % | 2790 % |
2791 \def\indexdummies{% | 2791 \def\indexdummies{% |
2792 \def\ { }% | 2792 \def\ { }% |
2793 \def\@{@}% change to @@ when we switch to @ as escape char in aux files. | 2793 \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. | 2794 % Need these in case \tex is in effect and \{ is a \delimiter again. |
2795 % But can't use \lbracecmd and \rbracecmd because texindex assumes | 2795 % But can't use \lbracecmd and \rbracecmd because texindex assumes |
2796 % braces and backslashes are used only as delimiters. | 2796 % braces and backslashes are used only as delimiters. |
2797 \let\{ = \mylbrace | 2797 \let\{ = \mylbrace |
2798 \let\} = \myrbrace | 2798 \let\} = \myrbrace |
2799 \def\_{{\realbackslash _}}% | 2799 \def\_{{\realbackslash _}}% |
2800 \normalturnoffactive | 2800 \normalturnoffactive |
2801 % | 2801 % |
3346 % | 3346 % |
3347 \hsize = \doublecolumnhsize | 3347 \hsize = \doublecolumnhsize |
3348 \wd0=\hsize \wd2=\hsize | 3348 \wd0=\hsize \wd2=\hsize |
3349 \hbox to\pagewidth{\box0\hfil\box2}% | 3349 \hbox to\pagewidth{\box0\hfil\box2}% |
3350 } | 3350 } |
3351 % | 3351 % |
3352 % All done with double columns. | 3352 % All done with double columns. |
3353 \def\enddoublecolumns{% | 3353 \def\enddoublecolumns{% |
3354 \output = {% | 3354 \output = {% |
3355 % Split the last of the double-column material. Leave it on the | 3355 % Split the last of the double-column material. Leave it on the |
3356 % current page, no automatic page break. | 3356 % current page, no automatic page break. |
4147 | 4147 |
4148 \message{environments,} | 4148 \message{environments,} |
4149 % @foo ... @end foo. | 4149 % @foo ... @end foo. |
4150 | 4150 |
4151 % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. | 4151 % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. |
4152 % | 4152 % |
4153 % Since these characters are used in examples, it should be an even number of | 4153 % 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. | 4154 % \tt widths. Each \tt character is 1en, so two makes it 1em. |
4155 % | 4155 % |
4156 \def\point{$\star$} | 4156 \def\point{$\star$} |
4157 \def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} | 4157 \def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} |
4159 \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} | 4159 \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} |
4160 \def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} | 4160 \def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} |
4161 | 4161 |
4162 % The @error{} command. | 4162 % The @error{} command. |
4163 % Adapted from the TeXbook's \boxit. | 4163 % Adapted from the TeXbook's \boxit. |
4164 % | 4164 % |
4165 \newbox\errorbox | 4165 \newbox\errorbox |
4166 % | 4166 % |
4167 {\tentt \global\dimen0 = 3em}% Width of the box. | 4167 {\tentt \global\dimen0 = 3em}% Width of the box. |
4168 \dimen2 = .55pt % Thickness of rules | 4168 \dimen2 = .55pt % Thickness of rules |
4169 % The text. (`r' is open on the right, `e' somewhat less so on the left.) | 4169 % The text. (`r' is open on the right, `e' somewhat less so on the left.) |
4467 \fi | 4467 \fi |
4468 } | 4468 } |
4469 | 4469 |
4470 | 4470 |
4471 % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>} | 4471 % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>} |
4472 % If we want to allow any <char> as delimiter, | 4472 % If we want to allow any <char> as delimiter, |
4473 % we need the curly braces so that makeinfo sees the @verb command, eg: | 4473 % 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 | 4474 % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org |
4475 % | 4475 % |
4476 % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. | 4476 % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. |
4477 % | 4477 % |
4541 % must do in this order: | 4541 % must do in this order: |
4542 \obeylines \uncatcodespecials \sepspaces | 4542 \obeylines \uncatcodespecials \sepspaces |
4543 \everypar{\starttabbox}% | 4543 \everypar{\starttabbox}% |
4544 } | 4544 } |
4545 | 4545 |
4546 % Do the @verb magic: verbatim text is quoted by unique | 4546 % Do the @verb magic: verbatim text is quoted by unique |
4547 % delimiter characters. Before first delimiter expect a | 4547 % delimiter characters. Before first delimiter expect a |
4548 % right brace, after last delimiter expect closing brace: | 4548 % right brace, after last delimiter expect closing brace: |
4549 % | 4549 % |
4550 % \def\doverb'{'<char>#1<char>'}'{#1} | 4550 % \def\doverb'{'<char>#1<char>'}'{#1} |
4551 % | 4551 % |
4552 % [Knuth] p. 382; only eat outer {} | 4552 % [Knuth] p. 382; only eat outer {} |
4561 % Do the @verbatim magic: define the macro \doverbatim so that | 4561 % Do the @verbatim magic: define the macro \doverbatim so that |
4562 % the (first) argument ends when '@end verbatim' is reached, ie: | 4562 % the (first) argument ends when '@end verbatim' is reached, ie: |
4563 % | 4563 % |
4564 % \def\doverbatim#1@end verbatim{#1} | 4564 % \def\doverbatim#1@end verbatim{#1} |
4565 % | 4565 % |
4566 % For Texinfo it's a lot easier than for LaTeX, | 4566 % For Texinfo it's a lot easier than for LaTeX, |
4567 % because texinfo's \verbatim doesn't stop at '\end{verbatim}': | 4567 % because texinfo's \verbatim doesn't stop at '\end{verbatim}': |
4568 % we need not redefine '\', '{' and '}' | 4568 % we need not redefine '\', '{' and '}' |
4569 % | 4569 % |
4570 % Inspired by LaTeX's verbatim command set [latex.ltx] | 4570 % Inspired by LaTeX's verbatim command set [latex.ltx] |
4571 %% Include LaTeX hack for completeness -- never know | 4571 %% Include LaTeX hack for completeness -- never know |
4619 \endgroup\nonfillfinish\endgroup | 4619 \endgroup\nonfillfinish\endgroup |
4620 } | 4620 } |
4621 | 4621 |
4622 % @copying ... @end copying. | 4622 % @copying ... @end copying. |
4623 % Save the text away for @insertcopying later. | 4623 % Save the text away for @insertcopying later. |
4624 % | 4624 % |
4625 \newbox\copyingbox | 4625 \newbox\copyingbox |
4626 % | 4626 % |
4627 \def\copying{\begingroup | 4627 \def\copying{\begingroup |
4628 \parindent = 0pt % looks wrong on title page | 4628 \parindent = 0pt % looks wrong on title page |
4629 \def\Ecopying{\egroup\endgroup}% | 4629 \def\Ecopying{\egroup\endgroup}% |
4630 \global\setbox\copyingbox = \vbox\bgroup | 4630 \global\setbox\copyingbox = \vbox\bgroup |
4631 } | 4631 } |
4632 | 4632 |
4633 % @insertcopying. | 4633 % @insertcopying. |
4634 % | 4634 % |
4635 \def\insertcopying{\unvcopy\copyingbox} | 4635 \def\insertcopying{\unvcopy\copyingbox} |
4636 | 4636 |
4637 | 4637 |
4638 \message{defuns,} | 4638 \message{defuns,} |
4639 % @defun etc. | 4639 % @defun etc. |
4732 | 4732 |
4733 % Common pieces to start any @def... | 4733 % Common pieces to start any @def... |
4734 % #1 is the \E... control sequence to end the definition (which we define). | 4734 % #1 is the \E... control sequence to end the definition (which we define). |
4735 % #2 is the \...x control sequence (which our caller defines). | 4735 % #2 is the \...x control sequence (which our caller defines). |
4736 % #3 is the control sequence to process the header, such as \defunheader. | 4736 % #3 is the control sequence to process the header, such as \defunheader. |
4737 % | 4737 % |
4738 \def\parsebodycommon#1#2#3{% | 4738 \def\parsebodycommon#1#2#3{% |
4739 \begingroup\inENV | 4739 \begingroup\inENV |
4740 % If there are two @def commands in a row, we'll have a \nobreak, | 4740 % If there are two @def commands in a row, we'll have a \nobreak, |
4741 % which is there to keep the function description together with its | 4741 % which is there to keep the function description together with its |
4742 % header. But if there's nothing but headers, we want to allow a | 4742 % header. But if there's nothing but headers, we want to allow a |
4789 % extra argument at the beginning which is the `category', instead of it | 4789 % extra argument at the beginning which is the `category', instead of it |
4790 % being the hardwired string `Method' or `Instance Variable'. We have | 4790 % being the hardwired string `Method' or `Instance Variable'. We have |
4791 % to account for this both in the \...x definition and in parsing the | 4791 % 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 | 4792 % input at hand. Thus also need a control sequence (passed as #5) for |
4793 % the \E... definition to assign the category name to. | 4793 % the \E... definition to assign the category name to. |
4794 % | 4794 % |
4795 \def\deftypeopparsebody#1#2#3#4#5 #6 {% | 4795 \def\deftypeopparsebody#1#2#3#4#5 #6 {% |
4796 \parsebodycommon{#1}{#2}{#3}% | 4796 \parsebodycommon{#1}{#2}{#3}% |
4797 \def#2##1 ##2 ##3 {% | 4797 \def#2##1 ##2 ##3 {% |
4798 \def#4{##1}% | 4798 \def#4{##1}% |
4799 \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}% | 4799 \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}% |
5146 \def\deftpheader #1#2#3{\doind {tp}{\code{#2}}% | 5146 \def\deftpheader #1#2#3{\doind {tp}{\code{#2}}% |
5147 \begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup} | 5147 \begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup} |
5148 | 5148 |
5149 % These definitions are used if you use @defunx (etc.) | 5149 % These definitions are used if you use @defunx (etc.) |
5150 % anywhere other than immediately after a @defun or @defunx. | 5150 % anywhere other than immediately after a @defun or @defunx. |
5151 % | 5151 % |
5152 \def\defcvx#1 {\errmessage{@defcvx in invalid context}} | 5152 \def\defcvx#1 {\errmessage{@defcvx in invalid context}} |
5153 \def\deffnx#1 {\errmessage{@deffnx in invalid context}} | 5153 \def\deffnx#1 {\errmessage{@deffnx in invalid context}} |
5154 \def\defivarx#1 {\errmessage{@defivarx in invalid context}} | 5154 \def\defivarx#1 {\errmessage{@defivarx in invalid context}} |
5155 \def\defmacx#1 {\errmessage{@defmacx in invalid context}} | 5155 \def\defmacx#1 {\errmessage{@defmacx in invalid context}} |
5156 \def\defmethodx#1 {\errmessage{@defmethodx in invalid context}} | 5156 \def\defmethodx#1 {\errmessage{@defmethodx in invalid context}} |
5947 \ifvmode | 5947 \ifvmode |
5948 \imagevmodetrue | 5948 \imagevmodetrue |
5949 \nobreak\bigskip | 5949 \nobreak\bigskip |
5950 % Usually we'll have text after the image which will insert | 5950 % Usually we'll have text after the image which will insert |
5951 % \parskip glue, so insert it here too to equalize the space | 5951 % \parskip glue, so insert it here too to equalize the space |
5952 % above and below. | 5952 % above and below. |
5953 \nobreak\vskip\parskip | 5953 \nobreak\vskip\parskip |
5954 \nobreak | 5954 \nobreak |
5955 \line\bgroup\hss | 5955 \line\bgroup\hss |
5956 \fi | 5956 \fi |
5957 % | 5957 % |
6063 \parindent = \defaultparindent | 6063 \parindent = \defaultparindent |
6064 \setemergencystretch | 6064 \setemergencystretch |
6065 } | 6065 } |
6066 | 6066 |
6067 % Use `small' versions. | 6067 % Use `small' versions. |
6068 % | 6068 % |
6069 \def\smallenvironments{% | 6069 \def\smallenvironments{% |
6070 \let\smalldisplay = \smalldisplayx | 6070 \let\smalldisplay = \smalldisplayx |
6071 \let\smallexample = \smalllispx | 6071 \let\smallexample = \smalllispx |
6072 \let\smallformat = \smallformatx | 6072 \let\smallformat = \smallformatx |
6073 \let\smalllisp = \smalllispx | 6073 \let\smalllisp = \smalllispx |
6320 } | 6320 } |
6321 | 6321 |
6322 % Say @foo, not \foo, in error messages. | 6322 % Say @foo, not \foo, in error messages. |
6323 @escapechar = `@@ | 6323 @escapechar = `@@ |
6324 | 6324 |
6325 % These look ok in all fonts, so just make them not special. | 6325 % These look ok in all fonts, so just make them not special. |
6326 @catcode`@& = @other | 6326 @catcode`@& = @other |
6327 @catcode`@# = @other | 6327 @catcode`@# = @other |
6328 @catcode`@% = @other | 6328 @catcode`@% = @other |
6329 | 6329 |
6330 @c Set initial fonts. | 6330 @c Set initial fonts. |