mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 13:33:15 +00:00
2005-01-10 Paul Jakma <paul@dishone.st>
* texinfo.tex: Updated to a version which understands @{ and @} * vtysh.texi: Add node name for @section * quagga.info: updated build of autogenerated file
This commit is contained in:
parent
86f1fd9615
commit
afc1e2ddf2
@ -1,3 +1,9 @@
|
|||||||
|
2005-01-10 Paul Jakma <paul@dishone.st>
|
||||||
|
|
||||||
|
* texinfo.tex: Updated to a version which understands @{ and @}
|
||||||
|
* vtysh.texi: Add node name for @section
|
||||||
|
* quagga.info: updated build of autogenerated file
|
||||||
|
|
||||||
2005-01-07 Paul Jakma <paul@dishone.st>
|
2005-01-07 Paul Jakma <paul@dishone.st>
|
||||||
|
|
||||||
* quagga.info: Version bump (autogenerated)
|
* quagga.info: Version bump (autogenerated)
|
||||||
|
@ -4347,8 +4347,8 @@ File: quagga.info, Node: VTY shell username, Next: VTY shell integrated config
|
|||||||
|
|
||||||
File: quagga.info, Node: VTY shell integrated configuration, Prev: VTY shell username, Up: VTY shell
|
File: quagga.info, Node: VTY shell integrated configuration, Prev: VTY shell username, Up: VTY shell
|
||||||
|
|
||||||
11.2
|
11.2 VTY shell integrated configuration
|
||||||
====
|
=======================================
|
||||||
|
|
||||||
-- Command: service integrated-vtysh-config
|
-- Command: service integrated-vtysh-config
|
||||||
Write out integrated Quagga.conf file when 'write file' is issued.
|
Write out integrated Quagga.conf file when 'write file' is issued.
|
||||||
@ -6130,27 +6130,27 @@ Node: Further considerations about Import and Export route-maps152284
|
|||||||
Node: VTY shell155328
|
Node: VTY shell155328
|
||||||
Node: VTY shell username155997
|
Node: VTY shell username155997
|
||||||
Node: VTY shell integrated configuration156629
|
Node: VTY shell integrated configuration156629
|
||||||
Node: Filtering158007
|
Node: Filtering158077
|
||||||
Node: IP Access List158360
|
Node: IP Access List158430
|
||||||
Node: IP Prefix List158746
|
Node: IP Prefix List158816
|
||||||
Node: ip prefix-list description161765
|
Node: ip prefix-list description161835
|
||||||
Node: ip prefix-list sequential number control162292
|
Node: ip prefix-list sequential number control162362
|
||||||
Node: Showing ip prefix-list162834
|
Node: Showing ip prefix-list162904
|
||||||
Node: Clear counter of ip prefix-list163942
|
Node: Clear counter of ip prefix-list164012
|
||||||
Node: Route Map164381
|
Node: Route Map164451
|
||||||
Node: Route Map Command164886
|
Node: Route Map Command164956
|
||||||
Node: Route Map Match Command165083
|
Node: Route Map Match Command165153
|
||||||
Node: Route Map Set Command165707
|
Node: Route Map Set Command165777
|
||||||
Node: IPv6 Support166584
|
Node: IPv6 Support166654
|
||||||
Node: Router Advertisement167156
|
Node: Router Advertisement167226
|
||||||
Node: Kernel Interface170957
|
Node: Kernel Interface171027
|
||||||
Node: SNMP Support172914
|
Node: SNMP Support172984
|
||||||
Node: Getting and installing an SNMP agent173486
|
Node: Getting and installing an SNMP agent173556
|
||||||
Node: SMUX configuration174059
|
Node: SMUX configuration174129
|
||||||
Node: MIB and command reference176195
|
Node: MIB and command reference176265
|
||||||
Node: Zebra Protocol177582
|
Node: Zebra Protocol177652
|
||||||
Node: Packet Binary Dump Format179496
|
Node: Packet Binary Dump Format179566
|
||||||
Node: Command Index191106
|
Node: Command Index191176
|
||||||
Node: VTY Key Index247299
|
Node: VTY Key Index247369
|
||||||
|
|
||||||
End Tag Table
|
End Tag Table
|
||||||
|
391
doc/texinfo.tex
391
doc/texinfo.tex
@ -3,7 +3,7 @@
|
|||||||
% Load plain if necessary, i.e., if running under initex.
|
% Load plain if necessary, i.e., if running under initex.
|
||||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||||
%
|
%
|
||||||
\def\texinfoversion{2004-02-25.17}
|
\def\texinfoversion{2004-09-06.16}
|
||||||
%
|
%
|
||||||
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
||||||
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
|
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
|
||||||
@ -175,10 +175,12 @@
|
|||||||
|
|
||||||
% Hyphenation fixes.
|
% Hyphenation fixes.
|
||||||
\hyphenation{
|
\hyphenation{
|
||||||
Flor-i-da Ghost-script Ghost-view Mac-OS ap-pen-dix bit-map bit-maps
|
Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
|
||||||
|
ap-pen-dix bit-map bit-maps
|
||||||
data-base data-bases eshell fall-ing half-way long-est man-u-script
|
data-base data-bases eshell fall-ing half-way long-est man-u-script
|
||||||
man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
|
man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
|
||||||
par-a-digms rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
|
par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
|
||||||
|
spell-ing spell-ings
|
||||||
stand-alone strong-est time-stamp time-stamps which-ever white-space
|
stand-alone strong-est time-stamp time-stamps which-ever white-space
|
||||||
wide-spread wrap-around
|
wide-spread wrap-around
|
||||||
}
|
}
|
||||||
@ -606,7 +608,7 @@
|
|||||||
% The \TeX{} logo, as in plain, but resetting the spacing so that a
|
% The \TeX{} logo, as in plain, but resetting the spacing so that a
|
||||||
% period following counts as ending a sentence. (Idea found in latex.)
|
% period following counts as ending a sentence. (Idea found in latex.)
|
||||||
%
|
%
|
||||||
\edef\TeX{\TeX \spacefactor=3000 }
|
\edef\TeX{\TeX \spacefactor=1000 }
|
||||||
|
|
||||||
% @LaTeX{} logo. Not quite the same results as the definition in
|
% @LaTeX{} logo. Not quite the same results as the definition in
|
||||||
% latex.ltx, since we use a different font for the raised A; it's most
|
% latex.ltx, since we use a different font for the raised A; it's most
|
||||||
@ -1160,16 +1162,21 @@ where each line of input produces a line of output.}
|
|||||||
\newif\ifpdf
|
\newif\ifpdf
|
||||||
\newif\ifpdfmakepagedest
|
\newif\ifpdfmakepagedest
|
||||||
|
|
||||||
|
% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
|
||||||
|
% can be set). So we test for \relax and 0 as well as \undefined,
|
||||||
|
% borrowed from ifpdf.sty.
|
||||||
\ifx\pdfoutput\undefined
|
\ifx\pdfoutput\undefined
|
||||||
\pdffalse
|
|
||||||
\let\pdfmkdest = \gobble
|
|
||||||
\let\pdfurl = \gobble
|
|
||||||
\let\endlink = \relax
|
|
||||||
\let\linkcolor = \relax
|
|
||||||
\let\pdfmakeoutlines = \relax
|
|
||||||
\else
|
\else
|
||||||
|
\ifx\pdfoutput\relax
|
||||||
|
\else
|
||||||
|
\ifcase\pdfoutput
|
||||||
|
\else
|
||||||
\pdftrue
|
\pdftrue
|
||||||
\pdfoutput = 1
|
\fi
|
||||||
|
\fi
|
||||||
|
\fi
|
||||||
|
%
|
||||||
|
\ifpdf
|
||||||
\input pdfcolor
|
\input pdfcolor
|
||||||
\pdfcatalog{/PageMode /UseOutlines}%
|
\pdfcatalog{/PageMode /UseOutlines}%
|
||||||
\def\dopdfimage#1#2#3{%
|
\def\dopdfimage#1#2#3{%
|
||||||
@ -1372,6 +1379,12 @@ where each line of input produces a line of output.}
|
|||||||
\startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
|
\startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
|
||||||
\linkcolor #1\endlink}
|
\linkcolor #1\endlink}
|
||||||
\def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
|
\def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
|
||||||
|
\else
|
||||||
|
\let\pdfmkdest = \gobble
|
||||||
|
\let\pdfurl = \gobble
|
||||||
|
\let\endlink = \relax
|
||||||
|
\let\linkcolor = \relax
|
||||||
|
\let\pdfmakeoutlines = \relax
|
||||||
\fi % \ifx\pdfoutput
|
\fi % \ifx\pdfoutput
|
||||||
|
|
||||||
|
|
||||||
@ -1702,6 +1715,7 @@ where each line of input produces a line of output.}
|
|||||||
\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
|
\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
|
||||||
|
|
||||||
\let\i=\smartitalic
|
\let\i=\smartitalic
|
||||||
|
\let\slanted=\smartslanted
|
||||||
\let\var=\smartslanted
|
\let\var=\smartslanted
|
||||||
\let\dfn=\smartslanted
|
\let\dfn=\smartslanted
|
||||||
\let\emph=\smartitalic
|
\let\emph=\smartitalic
|
||||||
@ -1838,8 +1852,8 @@ where each line of input produces a line of output.}
|
|||||||
\else{\tclose{\kbdfont\look}}\fi
|
\else{\tclose{\kbdfont\look}}\fi
|
||||||
\else{\tclose{\kbdfont\look}}\fi}
|
\else{\tclose{\kbdfont\look}}\fi}
|
||||||
|
|
||||||
% For @url, @env, @command quotes seem unnecessary, so use \code.
|
% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
|
||||||
\let\url=\code
|
\let\indicateurl=\code
|
||||||
\let\env=\code
|
\let\env=\code
|
||||||
\let\command=\code
|
\let\command=\code
|
||||||
|
|
||||||
@ -1871,6 +1885,10 @@ where each line of input produces a line of output.}
|
|||||||
\endlink
|
\endlink
|
||||||
\endgroup}
|
\endgroup}
|
||||||
|
|
||||||
|
% @url synonym for @uref, since that's how everyone uses it.
|
||||||
|
%
|
||||||
|
\let\url=\uref
|
||||||
|
|
||||||
% rms does not like angle brackets --karl, 17may97.
|
% rms does not like angle brackets --karl, 17may97.
|
||||||
% So now @email is just like @uref, unless we are pdf.
|
% So now @email is just like @uref, unless we are pdf.
|
||||||
%
|
%
|
||||||
@ -1912,6 +1930,10 @@ where each line of input produces a line of output.}
|
|||||||
\def\sc#1{{\smallcaps#1}} % smallcaps font
|
\def\sc#1{{\smallcaps#1}} % smallcaps font
|
||||||
\def\ii#1{{\it #1}} % italic font
|
\def\ii#1{{\it #1}} % italic font
|
||||||
|
|
||||||
|
% @acronym for "FBI", "NATO", and the like.
|
||||||
|
% We print this one point size smaller, since it's intended for
|
||||||
|
% all-uppercase.
|
||||||
|
%
|
||||||
\def\acronym#1{\doacronym #1,,\finish}
|
\def\acronym#1{\doacronym #1,,\finish}
|
||||||
\def\doacronym#1,#2,#3\finish{%
|
\def\doacronym#1,#2,#3\finish{%
|
||||||
{\selectfonts\lsize #1}%
|
{\selectfonts\lsize #1}%
|
||||||
@ -1921,7 +1943,19 @@ where each line of input produces a line of output.}
|
|||||||
\fi
|
\fi
|
||||||
}
|
}
|
||||||
|
|
||||||
% @pounds{} is a sterling sign, which is in the CM italic font.
|
% @abbr for "Comput. J." and the like.
|
||||||
|
% No font change, but don't do end-of-sentence spacing.
|
||||||
|
%
|
||||||
|
\def\abbr#1{\doabbr #1,,\finish}
|
||||||
|
\def\doabbr#1,#2,#3\finish{%
|
||||||
|
{\frenchspacing #1}%
|
||||||
|
\def\temp{#2}%
|
||||||
|
\ifx\temp\empty \else
|
||||||
|
\space ({\unsepspaces \ignorespaces \temp \unskip})%
|
||||||
|
\fi
|
||||||
|
}
|
||||||
|
|
||||||
|
% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
|
||||||
%
|
%
|
||||||
\def\pounds{{\it\$}}
|
\def\pounds{{\it\$}}
|
||||||
|
|
||||||
@ -1935,6 +1969,14 @@ where each line of input produces a line of output.}
|
|||||||
}$%
|
}$%
|
||||||
}
|
}
|
||||||
|
|
||||||
|
% Laurent Siebenmann reports \Orb undefined with:
|
||||||
|
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
|
||||||
|
% so we'll define it if necessary.
|
||||||
|
%
|
||||||
|
\ifx\Orb\undefined
|
||||||
|
\def\Orb{\mathhexbox20D}
|
||||||
|
\fi
|
||||||
|
|
||||||
|
|
||||||
\message{page headings,}
|
\message{page headings,}
|
||||||
|
|
||||||
@ -2240,17 +2282,13 @@ where each line of input produces a line of output.}
|
|||||||
% \parskip glue -- logically it's part of the @item we just started.
|
% \parskip glue -- logically it's part of the @item we just started.
|
||||||
\nobreak \vskip-\parskip
|
\nobreak \vskip-\parskip
|
||||||
%
|
%
|
||||||
% Stop a page break at the \parskip glue coming up. (Unfortunately
|
% Stop a page break at the \parskip glue coming up. However, if
|
||||||
% we can't prevent a possible page break at the following
|
% what follows is an environment such as @example, there will be no
|
||||||
% \baselineskip glue.) However, if what follows is an environment
|
% \parskip glue; then the negative vskip we just inserted would
|
||||||
% such as @example, there will be no \parskip glue; then
|
% cause the example and the item to crash together. So we use this
|
||||||
% the negative vskip we just would cause the example and the item to
|
% bizarre value of 10001 as a signal to \aboveenvbreak to insert
|
||||||
% crash together. So we use this bizarre value of 10001 as a signal
|
% \parskip glue after all. Section titles are handled this way also.
|
||||||
% to \aboveenvbreak to insert \parskip glue after all.
|
%
|
||||||
% (Possibly there are other commands that could be followed by
|
|
||||||
% @example which need the same treatment, but not section titles; or
|
|
||||||
% maybe section titles are the only special case and they should be
|
|
||||||
% penalty 10001...)
|
|
||||||
\penalty 10001
|
\penalty 10001
|
||||||
\endgroup
|
\endgroup
|
||||||
\itemxneedsnegativevskipfalse
|
\itemxneedsnegativevskipfalse
|
||||||
@ -2595,7 +2633,10 @@ where each line of input produces a line of output.}
|
|||||||
\startsavinginserts
|
\startsavinginserts
|
||||||
%
|
%
|
||||||
% @item within a multitable starts a normal row.
|
% @item within a multitable starts a normal row.
|
||||||
\let\item\crcr
|
% We use \def instead of \let so that if one of the multitable entries
|
||||||
|
% contains an @itemize, we don't choke on the \item (seen as \crcr aka
|
||||||
|
% \endtemplate) expanding \doitemize.
|
||||||
|
\def\item{\crcr}%
|
||||||
%
|
%
|
||||||
\tolerance=9500
|
\tolerance=9500
|
||||||
\hbadness=9500
|
\hbadness=9500
|
||||||
@ -2761,14 +2802,14 @@ width0pt\relax} \fi
|
|||||||
\doignorecount = 0
|
\doignorecount = 0
|
||||||
%
|
%
|
||||||
% Swallow text until we reach the matching `@end #1'.
|
% Swallow text until we reach the matching `@end #1'.
|
||||||
\dodoignore {#1}%
|
\dodoignore{#1}%
|
||||||
}
|
}
|
||||||
|
|
||||||
{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
|
{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
|
||||||
\obeylines %
|
\obeylines %
|
||||||
%
|
%
|
||||||
\gdef\dodoignore#1{%
|
\gdef\dodoignore#1{%
|
||||||
% #1 contains the string `ifinfo'.
|
% #1 contains the command name as a string, e.g., `ifinfo'.
|
||||||
%
|
%
|
||||||
% Define a command to find the next `@end #1', which must be on a line
|
% Define a command to find the next `@end #1', which must be on a line
|
||||||
% by itself.
|
% by itself.
|
||||||
@ -3037,6 +3078,7 @@ width0pt\relax} \fi
|
|||||||
\def\definedummyletter##1{%
|
\def\definedummyletter##1{%
|
||||||
\expandafter\def\csname ##1\endcsname{\realbackslash ##1}%
|
\expandafter\def\csname ##1\endcsname{\realbackslash ##1}%
|
||||||
}%
|
}%
|
||||||
|
\let\definedummyaccent\definedummyletter
|
||||||
%
|
%
|
||||||
% Do the redefinitions.
|
% Do the redefinitions.
|
||||||
\commondummies
|
\commondummies
|
||||||
@ -3059,6 +3101,7 @@ width0pt\relax} \fi
|
|||||||
\def\definedummyletter##1{%
|
\def\definedummyletter##1{%
|
||||||
\expandafter\def\csname ##1\endcsname{@##1}%
|
\expandafter\def\csname ##1\endcsname{@##1}%
|
||||||
}%
|
}%
|
||||||
|
\let\definedummyaccent\definedummyletter
|
||||||
%
|
%
|
||||||
% Do the redefinitions.
|
% Do the redefinitions.
|
||||||
\commondummies
|
\commondummies
|
||||||
@ -3107,6 +3150,7 @@ width0pt\relax} \fi
|
|||||||
%
|
%
|
||||||
% Assorted special characters.
|
% Assorted special characters.
|
||||||
\definedummyword{bullet}%
|
\definedummyword{bullet}%
|
||||||
|
\definedummyword{comma}%
|
||||||
\definedummyword{copyright}%
|
\definedummyword{copyright}%
|
||||||
\definedummyword{registeredsymbol}%
|
\definedummyword{registeredsymbol}%
|
||||||
\definedummyword{dots}%
|
\definedummyword{dots}%
|
||||||
@ -3139,18 +3183,18 @@ width0pt\relax} \fi
|
|||||||
\gdef\commondummiesnofonts{%
|
\gdef\commondummiesnofonts{%
|
||||||
% Control letters and accents.
|
% Control letters and accents.
|
||||||
\definedummyletter{!}%
|
\definedummyletter{!}%
|
||||||
\definedummyletter{"}%
|
\definedummyaccent{"}%
|
||||||
\definedummyletter{'}%
|
\definedummyaccent{'}%
|
||||||
\definedummyletter{*}%
|
\definedummyletter{*}%
|
||||||
\definedummyletter{,}%
|
\definedummyaccent{,}%
|
||||||
\definedummyletter{.}%
|
\definedummyletter{.}%
|
||||||
\definedummyletter{/}%
|
\definedummyletter{/}%
|
||||||
\definedummyletter{:}%
|
\definedummyletter{:}%
|
||||||
\definedummyletter{=}%
|
\definedummyaccent{=}%
|
||||||
\definedummyletter{?}%
|
\definedummyletter{?}%
|
||||||
\definedummyletter{^}%
|
\definedummyaccent{^}%
|
||||||
\definedummyletter{`}%
|
\definedummyaccent{`}%
|
||||||
\definedummyletter{~}%
|
\definedummyaccent{~}%
|
||||||
\definedummyword{u}%
|
\definedummyword{u}%
|
||||||
\definedummyword{v}%
|
\definedummyword{v}%
|
||||||
\definedummyword{H}%
|
\definedummyword{H}%
|
||||||
@ -3198,10 +3242,16 @@ width0pt\relax} \fi
|
|||||||
% would be for a given command (usually its argument).
|
% would be for a given command (usually its argument).
|
||||||
%
|
%
|
||||||
\def\indexnofonts{%
|
\def\indexnofonts{%
|
||||||
\def\definedummyword##1{%
|
% Accent commands should become @asis.
|
||||||
|
\def\definedummyaccent##1{%
|
||||||
\expandafter\let\csname ##1\endcsname\asis
|
\expandafter\let\csname ##1\endcsname\asis
|
||||||
}%
|
}%
|
||||||
\let\definedummyletter=\definedummyword
|
% We can just ignore other control letters.
|
||||||
|
\def\definedummyletter##1{%
|
||||||
|
\expandafter\def\csname ##1\endcsname{}%
|
||||||
|
}%
|
||||||
|
% Hopefully, all control words can become @asis.
|
||||||
|
\let\definedummyword\definedummyaccent
|
||||||
%
|
%
|
||||||
\commondummiesnofonts
|
\commondummiesnofonts
|
||||||
%
|
%
|
||||||
@ -3238,6 +3288,7 @@ width0pt\relax} \fi
|
|||||||
% Assorted special characters.
|
% Assorted special characters.
|
||||||
% (The following {} will end up in the sort string, but that's ok.)
|
% (The following {} will end up in the sort string, but that's ok.)
|
||||||
\def\bullet{bullet}%
|
\def\bullet{bullet}%
|
||||||
|
\def\comma{,}%
|
||||||
\def\copyright{copyright}%
|
\def\copyright{copyright}%
|
||||||
\def\registeredsymbol{R}%
|
\def\registeredsymbol{R}%
|
||||||
\def\dots{...}%
|
\def\dots{...}%
|
||||||
@ -3250,6 +3301,9 @@ width0pt\relax} \fi
|
|||||||
\def\point{.}%
|
\def\point{.}%
|
||||||
\def\print{-|}%
|
\def\print{-|}%
|
||||||
\def\result{=>}%
|
\def\result{=>}%
|
||||||
|
%
|
||||||
|
% Don't write macro names.
|
||||||
|
\emptyusermacros
|
||||||
}
|
}
|
||||||
|
|
||||||
\let\indexbackslash=0 %overridden during \printindex.
|
\let\indexbackslash=0 %overridden during \printindex.
|
||||||
@ -3370,17 +3424,18 @@ width0pt\relax} \fi
|
|||||||
\dosubindwrite
|
\dosubindwrite
|
||||||
%
|
%
|
||||||
\ifx\lastskipmacro\zeroskipmacro
|
\ifx\lastskipmacro\zeroskipmacro
|
||||||
% if \lastskip was zero, perhaps the last item was a
|
% If \lastskip was zero, perhaps the last item was a penalty, and
|
||||||
% penalty, and perhaps it was >=10000, e.g., a \nobreak.
|
% perhaps it was >=10000, e.g., a \nobreak. In that case, we want
|
||||||
% In that case, we want to re-insert the penalty; since we
|
% to re-insert the same penalty (values >10000 are used for various
|
||||||
% just inserted a non-discardable item, any following glue
|
% signals); since we just inserted a non-discardable item, any
|
||||||
% (such as a \parskip) would be a breakpoint. For example:
|
% following glue (such as a \parskip) would be a breakpoint. For example:
|
||||||
|
%
|
||||||
% @deffn deffn-whatever
|
% @deffn deffn-whatever
|
||||||
% @vindex index-whatever
|
% @vindex index-whatever
|
||||||
% Description.
|
% Description.
|
||||||
% would allow a break between the index-whatever whatsit
|
% would allow a break between the index-whatever whatsit
|
||||||
% and the "Description." paragraph.
|
% and the "Description." paragraph.
|
||||||
\ifnum\count255>9999 \nobreak \fi
|
\ifnum\count255>9999 \penalty\count255 \fi
|
||||||
\else
|
\else
|
||||||
% On the other hand, if we had a nonzero \lastskip,
|
% On the other hand, if we had a nonzero \lastskip,
|
||||||
% this make-up glue would be preceded by a non-discardable item
|
% this make-up glue would be preceded by a non-discardable item
|
||||||
@ -3478,7 +3533,10 @@ width0pt\relax} \fi
|
|||||||
\removelastskip
|
\removelastskip
|
||||||
%
|
%
|
||||||
% We like breaks before the index initials, so insert a bonus.
|
% We like breaks before the index initials, so insert a bonus.
|
||||||
\penalty -300
|
\nobreak
|
||||||
|
\vskip 0pt plus 3\baselineskip
|
||||||
|
\penalty 0
|
||||||
|
\vskip 0pt plus -3\baselineskip
|
||||||
%
|
%
|
||||||
% Typeset the initial. Making this add up to a whole number of
|
% Typeset the initial. Making this add up to a whole number of
|
||||||
% baselineskips increases the chance of the dots lining up from column
|
% baselineskips increases the chance of the dots lining up from column
|
||||||
@ -3488,10 +3546,9 @@ width0pt\relax} \fi
|
|||||||
% No shrink because it confuses \balancecolumns.
|
% No shrink because it confuses \balancecolumns.
|
||||||
\vskip 1.67\baselineskip plus .5\baselineskip
|
\vskip 1.67\baselineskip plus .5\baselineskip
|
||||||
\leftline{\secbf #1}%
|
\leftline{\secbf #1}%
|
||||||
\vskip .33\baselineskip plus .1\baselineskip
|
|
||||||
%
|
|
||||||
% Do our best not to break after the initial.
|
% Do our best not to break after the initial.
|
||||||
\nobreak
|
\nobreak
|
||||||
|
\vskip .33\baselineskip plus .1\baselineskip
|
||||||
}}
|
}}
|
||||||
|
|
||||||
% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
|
% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
|
||||||
@ -4313,13 +4370,13 @@ width0pt\relax} \fi
|
|||||||
% discardable item.)
|
% discardable item.)
|
||||||
\vskip-\parskip
|
\vskip-\parskip
|
||||||
%
|
%
|
||||||
% This \nobreak is purely so the last item on the list is a \penalty
|
% This is purely so the last item on the list is a known \penalty >
|
||||||
% of 10000. This is so other code, for instance \parsebodycommon, can
|
% 10000. This is so \startdefun can avoid allowing breakpoints after
|
||||||
% check for and avoid allowing breakpoints. Otherwise, it would
|
% section headings. Otherwise, it would insert a valid breakpoint between:
|
||||||
% insert a valid breakpoint between:
|
%
|
||||||
% @section sec-whatever
|
% @section sec-whatever
|
||||||
% @deffn def-whatever
|
% @deffn def-whatever
|
||||||
\nobreak
|
\penalty 10001
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -4664,7 +4721,8 @@ width0pt\relax} \fi
|
|||||||
% start of the next paragraph will insert \parskip.
|
% start of the next paragraph will insert \parskip.
|
||||||
%
|
%
|
||||||
\def\aboveenvbreak{{%
|
\def\aboveenvbreak{{%
|
||||||
% =10000 instead of <10000 because of a special case in \itemzzz, q.v.
|
% =10000 instead of <10000 because of a special case in \itemzzz and
|
||||||
|
% \sectionheading, q.v.
|
||||||
\ifnum \lastpenalty=10000 \else
|
\ifnum \lastpenalty=10000 \else
|
||||||
\advance\envskipamount by \parskip
|
\advance\envskipamount by \parskip
|
||||||
\endgraf
|
\endgraf
|
||||||
@ -5025,8 +5083,7 @@ width0pt\relax} \fi
|
|||||||
}
|
}
|
||||||
|
|
||||||
% @copying ... @end copying.
|
% @copying ... @end copying.
|
||||||
% Save the text away for @insertcopying later. Many commands won't be
|
% Save the text away for @insertcopying later.
|
||||||
% allowed in this context, but that's ok.
|
|
||||||
%
|
%
|
||||||
% We save the uninterpreted tokens, rather than creating a box.
|
% We save the uninterpreted tokens, rather than creating a box.
|
||||||
% Saving the text in a box would be much easier, but then all the
|
% Saving the text in a box would be much easier, but then all the
|
||||||
@ -5035,62 +5092,14 @@ width0pt\relax} \fi
|
|||||||
% file; b) letting users define the frontmatter in as flexible order as
|
% file; b) letting users define the frontmatter in as flexible order as
|
||||||
% possible is very desirable.
|
% possible is very desirable.
|
||||||
%
|
%
|
||||||
\def\copying{\begingroup
|
\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
|
||||||
% Define a command to swallow text until we reach `@end copying'.
|
\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
|
||||||
% \ is the escape char in this texinfo.tex file, so it is the
|
|
||||||
% delimiter for the command; @ will be the escape char when we read
|
|
||||||
% it, but that doesn't matter.
|
|
||||||
\long\def\docopying##1\end copying{\gdef\copyingtext{##1}\enddocopying}%
|
|
||||||
%
|
|
||||||
% We must preserve ^^M's in the input file; see \insertcopying below.
|
|
||||||
\catcode`\^^M = \active
|
|
||||||
\docopying
|
|
||||||
}
|
|
||||||
|
|
||||||
% What we do to finish off the copying text.
|
|
||||||
%
|
%
|
||||||
\def\enddocopying{\endgroup\ignorespaces}
|
\def\insertcopying{%
|
||||||
|
\begingroup
|
||||||
% @insertcopying. Here we must play games with ^^M's. On the one hand,
|
\parindent = 0pt % paragraph indentation looks wrong on title page
|
||||||
% we need them to delimit commands such as `@end quotation', so they
|
\scanexp\copyingtext
|
||||||
% must be active. On the other hand, we certainly don't want every
|
\endgroup
|
||||||
% end-of-line to be a \par, as would happen with the normal active
|
|
||||||
% definition of ^^M. On the third hand, two ^^M's in a row should still
|
|
||||||
% generate a \par.
|
|
||||||
%
|
|
||||||
% Our approach is to make ^^M insert a space and a penalty1 normally;
|
|
||||||
% then it can also check if \lastpenalty=1. If it does, then manually
|
|
||||||
% do \par.
|
|
||||||
%
|
|
||||||
% This messes up the normal definitions of @c[omment], so we redefine
|
|
||||||
% it. Similarly for @ignore. (These commands are used in the gcc
|
|
||||||
% manual for man page generation.)
|
|
||||||
%
|
|
||||||
% Seems pretty fragile, most line-oriented commands will presumably
|
|
||||||
% fail, but for the limited use of getting the copying text (which
|
|
||||||
% should be quite simple) inserted, we can hope it's ok.
|
|
||||||
%
|
|
||||||
{\catcode`\^^M=\active %
|
|
||||||
\gdef\insertcopying{\begingroup %
|
|
||||||
\parindent = 0pt % looks wrong on title page
|
|
||||||
\def^^M{%
|
|
||||||
\ifnum \lastpenalty=1 %
|
|
||||||
\par %
|
|
||||||
\else %
|
|
||||||
\space \penalty 1 %
|
|
||||||
\fi %
|
|
||||||
}%
|
|
||||||
%
|
|
||||||
% Fix @c[omment] for catcode 13 ^^M's.
|
|
||||||
\def\c##1^^M{\ignorespaces}%
|
|
||||||
\let\comment = \c %
|
|
||||||
%
|
|
||||||
% Don't bother jumping through all the hoops that \doignore does, it
|
|
||||||
% would be very hard since the catcodes are already set.
|
|
||||||
\long\def\ignore##1\end ignore{\ignorespaces}%
|
|
||||||
%
|
|
||||||
\copyingtext %
|
|
||||||
\endgroup}%
|
|
||||||
}
|
}
|
||||||
|
|
||||||
\message{defuns,}
|
\message{defuns,}
|
||||||
@ -5108,10 +5117,11 @@ width0pt\relax} \fi
|
|||||||
% 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,
|
||||||
% which is there to keep the function description together with its
|
% which is there to keep the function description together with its
|
||||||
% header. But if there's nothing but headers, we need to allow a
|
% header. But if there's nothing but headers, we need to allow a
|
||||||
% break somewhere. Check for penalty 10002 (inserted by
|
% break somewhere. Check specifically for penalty 10002, inserted
|
||||||
% \defargscommonending) instead of 10000, since the sectioning
|
% by \defargscommonending, instead of 10000, since the sectioning
|
||||||
% commands insert a \penalty10000, and we don't want to allow a break
|
% commands also insert a nobreak penalty, and we don't want to allow
|
||||||
% between a section heading and a defun.
|
% a break between a section heading and a defun.
|
||||||
|
%
|
||||||
\ifnum\lastpenalty=10002 \penalty2000 \fi
|
\ifnum\lastpenalty=10002 \penalty2000 \fi
|
||||||
%
|
%
|
||||||
% Similarly, after a section heading, do not allow a break.
|
% Similarly, after a section heading, do not allow a break.
|
||||||
@ -5435,7 +5445,7 @@ width0pt\relax} \fi
|
|||||||
\ifx\eTeXversion\undefined
|
\ifx\eTeXversion\undefined
|
||||||
\newwrite\macscribble
|
\newwrite\macscribble
|
||||||
\def\scantokens#1{%
|
\def\scantokens#1{%
|
||||||
\toks0={#1\endinput}%
|
\toks0={#1}%
|
||||||
\immediate\openout\macscribble=\jobname.tmp
|
\immediate\openout\macscribble=\jobname.tmp
|
||||||
\immediate\write\macscribble{\the\toks0}%
|
\immediate\write\macscribble{\the\toks0}%
|
||||||
\immediate\closeout\macscribble
|
\immediate\closeout\macscribble
|
||||||
@ -5448,7 +5458,11 @@ width0pt\relax} \fi
|
|||||||
\newlinechar`\^^M
|
\newlinechar`\^^M
|
||||||
\let\xeatspaces\eatspaces
|
\let\xeatspaces\eatspaces
|
||||||
% Undo catcode changes of \startcontents and \doprintindex
|
% Undo catcode changes of \startcontents and \doprintindex
|
||||||
\catcode`\@=0 \catcode`\\=\other \escapechar=`\@
|
% When called from @insertcopying or (short)caption, we need active
|
||||||
|
% backslash to get it printed correctly. Previously, we had
|
||||||
|
% \catcode`\\=\other instead. We'll see whether a problem appears
|
||||||
|
% with macro expansion. --kasal, 19aug04
|
||||||
|
\catcode`\@=0 \catcode`\\=\active \escapechar=`\@
|
||||||
% ... and \example
|
% ... and \example
|
||||||
\spaceisspace
|
\spaceisspace
|
||||||
%
|
%
|
||||||
@ -5460,6 +5474,11 @@ width0pt\relax} \fi
|
|||||||
\endgroup
|
\endgroup
|
||||||
}
|
}
|
||||||
|
|
||||||
|
\def\scanexp#1{%
|
||||||
|
\edef\temp{\noexpand\scanmacro{#1}}%
|
||||||
|
\temp
|
||||||
|
}
|
||||||
|
|
||||||
\newcount\paramno % Count of parameters
|
\newcount\paramno % Count of parameters
|
||||||
\newtoks\macname % Macro name
|
\newtoks\macname % Macro name
|
||||||
\newif\ifrecursive % Is it recursive?
|
\newif\ifrecursive % Is it recursive?
|
||||||
@ -5467,13 +5486,15 @@ width0pt\relax} \fi
|
|||||||
% \do\macro1\do\macro2...
|
% \do\macro1\do\macro2...
|
||||||
|
|
||||||
% Utility routines.
|
% Utility routines.
|
||||||
% This does \let #1 = #2, except with \csnames.
|
% This does \let #1 = #2, with \csnames; that is,
|
||||||
|
% \let \csname#1\endcsname = \csname#2\endcsname
|
||||||
|
% (except of course we have to play expansion games).
|
||||||
|
%
|
||||||
\def\cslet#1#2{%
|
\def\cslet#1#2{%
|
||||||
\expandafter\expandafter
|
\expandafter\let
|
||||||
\expandafter\let
|
\csname#1\expandafter\endcsname
|
||||||
\expandafter\expandafter
|
\csname#2\endcsname
|
||||||
\csname#1\endcsname
|
}
|
||||||
\csname#2\endcsname}
|
|
||||||
|
|
||||||
% Trim leading and trailing spaces off a string.
|
% Trim leading and trailing spaces off a string.
|
||||||
% Concepts from aro-bend problem 15 (see CTAN).
|
% Concepts from aro-bend problem 15 (see CTAN).
|
||||||
@ -5500,30 +5521,36 @@ width0pt\relax} \fi
|
|||||||
% done by making ^^M (\endlinechar) catcode 12 when reading the macro
|
% done by making ^^M (\endlinechar) catcode 12 when reading the macro
|
||||||
% body, and then making it the \newlinechar in \scanmacro.
|
% body, and then making it the \newlinechar in \scanmacro.
|
||||||
|
|
||||||
\def\macrobodyctxt{%
|
\def\scanctxt{%
|
||||||
\catcode`\~=\other
|
\catcode`\"=\other
|
||||||
|
\catcode`\+=\other
|
||||||
|
\catcode`\<=\other
|
||||||
|
\catcode`\>=\other
|
||||||
|
\catcode`\@=\other
|
||||||
\catcode`\^=\other
|
\catcode`\^=\other
|
||||||
\catcode`\_=\other
|
\catcode`\_=\other
|
||||||
\catcode`\|=\other
|
\catcode`\|=\other
|
||||||
\catcode`\<=\other
|
\catcode`\~=\other
|
||||||
\catcode`\>=\other
|
}
|
||||||
\catcode`\+=\other
|
|
||||||
|
\def\scanargctxt{%
|
||||||
|
\scanctxt
|
||||||
|
\catcode`\\=\other
|
||||||
|
\catcode`\^^M=\other
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\macrobodyctxt{%
|
||||||
|
\scanctxt
|
||||||
\catcode`\{=\other
|
\catcode`\{=\other
|
||||||
\catcode`\}=\other
|
\catcode`\}=\other
|
||||||
\catcode`\@=\other
|
|
||||||
\catcode`\^^M=\other
|
\catcode`\^^M=\other
|
||||||
\usembodybackslash}
|
\usembodybackslash
|
||||||
|
}
|
||||||
|
|
||||||
\def\macroargctxt{%
|
\def\macroargctxt{%
|
||||||
\catcode`\~=\other
|
\scanctxt
|
||||||
\catcode`\^=\other
|
\catcode`\\=\other
|
||||||
\catcode`\_=\other
|
}
|
||||||
\catcode`\|=\other
|
|
||||||
\catcode`\<=\other
|
|
||||||
\catcode`\>=\other
|
|
||||||
\catcode`\+=\other
|
|
||||||
\catcode`\@=\other
|
|
||||||
\catcode`\\=\other}
|
|
||||||
|
|
||||||
% \mbodybackslash is the definition of \ in @macro bodies.
|
% \mbodybackslash is the definition of \ in @macro bodies.
|
||||||
% It maps \foo\ => \csname macarg.foo\endcsname => #N
|
% It maps \foo\ => \csname macarg.foo\endcsname => #N
|
||||||
@ -5705,11 +5732,25 @@ width0pt\relax} \fi
|
|||||||
\expandafter\parsearg
|
\expandafter\parsearg
|
||||||
\fi \next}
|
\fi \next}
|
||||||
|
|
||||||
% We mant to disable all macros during \shipout so that they are not
|
% We want to disable all macros during \shipout so that they are not
|
||||||
% expanded by \write.
|
% expanded by \write.
|
||||||
\def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}%
|
\def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}%
|
||||||
\edef\next{\macrolist}\expandafter\endgroup\next}
|
\edef\next{\macrolist}\expandafter\endgroup\next}
|
||||||
|
|
||||||
|
% For \indexnofonts, we need to get rid of all macros, leaving only the
|
||||||
|
% arguments (if present). Of course this is not nearly correct, but it
|
||||||
|
% is the best we can do for now. makeinfo does not expand macros in the
|
||||||
|
% argument to @deffn, which ends up writing an index entry, and texindex
|
||||||
|
% isn't prepared for an index sort entry that starts with \.
|
||||||
|
%
|
||||||
|
% Since macro invocations are followed by braces, we can just redefine them
|
||||||
|
% to take a single TeX argument. The case of a macro invocation that
|
||||||
|
% goes to end-of-line is not handled.
|
||||||
|
%
|
||||||
|
\def\emptyusermacros{\begingroup
|
||||||
|
\def\do##1{\let\noexpand##1=\noexpand\asis}%
|
||||||
|
\edef\next{\macrolist}\expandafter\endgroup\next}
|
||||||
|
|
||||||
|
|
||||||
% @alias.
|
% @alias.
|
||||||
% We need some trickery to remove the optional spaces around the equal
|
% We need some trickery to remove the optional spaces around the equal
|
||||||
@ -5738,9 +5779,18 @@ width0pt\relax} \fi
|
|||||||
node \samp{\ignorespaces#1{}}}
|
node \samp{\ignorespaces#1{}}}
|
||||||
|
|
||||||
% @node's only job in TeX is to define \lastnode, which is used in
|
% @node's only job in TeX is to define \lastnode, which is used in
|
||||||
% cross-references.
|
% cross-references. The @node line might or might not have commas, and
|
||||||
\parseargdef\node{\checkenv{}\nodexxx #1,\finishnodeparse}
|
% might or might not have spaces before the first comma, like:
|
||||||
\def\nodexxx#1,#2\finishnodeparse{\gdef\lastnode{#1}}
|
% @node foo , bar , ...
|
||||||
|
% We don't want such trailing spaces in the node name.
|
||||||
|
%
|
||||||
|
\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
|
||||||
|
%
|
||||||
|
% also remove a trailing comma, in case of something like this:
|
||||||
|
% @node Help-Cross, , , Cross-refs
|
||||||
|
\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
|
||||||
|
\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
|
||||||
|
|
||||||
\let\nwnode=\node
|
\let\nwnode=\node
|
||||||
\let\lastnode=\empty
|
\let\lastnode=\empty
|
||||||
|
|
||||||
@ -6306,11 +6356,14 @@ width0pt\relax} \fi
|
|||||||
\endgroup}
|
\endgroup}
|
||||||
|
|
||||||
|
|
||||||
% @float FLOATTYPE,LOC ... @end float for displayed figures, tables, etc.
|
% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
|
||||||
% We don't actually implement floating yet, we just plop the float "here".
|
% etc. We don't actually implement floating yet, we always include the
|
||||||
% But it seemed the best name for the future.
|
% float "here". But it seemed the best name for the future.
|
||||||
%
|
%
|
||||||
\envparseargdef\float{\dofloat #1,,,\finish}
|
\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
|
||||||
|
|
||||||
|
% There may be a space before second and/or third parameter; delete it.
|
||||||
|
\def\eatcommaspace#1, {#1,}
|
||||||
|
|
||||||
% #1 is the optional FLOATTYPE, the text label for this float, typically
|
% #1 is the optional FLOATTYPE, the text label for this float, typically
|
||||||
% "Figure", "Table", "Example", etc. Can't contain commas. If omitted,
|
% "Figure", "Table", "Example", etc. Can't contain commas. If omitted,
|
||||||
@ -6331,6 +6384,10 @@ width0pt\relax} \fi
|
|||||||
\let\thisshortcaption=\empty
|
\let\thisshortcaption=\empty
|
||||||
%
|
%
|
||||||
% don't lose footnotes inside @float.
|
% don't lose footnotes inside @float.
|
||||||
|
%
|
||||||
|
% BEWARE: when the floats start float, we have to issue warning whenever an
|
||||||
|
% insert appears inside a float which could possibly float. --kasal, 26may04
|
||||||
|
%
|
||||||
\startsavinginserts
|
\startsavinginserts
|
||||||
%
|
%
|
||||||
% We can't be used inside a paragraph.
|
% We can't be used inside a paragraph.
|
||||||
@ -6415,7 +6472,7 @@ width0pt\relax} \fi
|
|||||||
\fi
|
\fi
|
||||||
%
|
%
|
||||||
% caption text.
|
% caption text.
|
||||||
\appendtomacro\captionline\thiscaption
|
\appendtomacro\captionline{\scanexp\thiscaption}%
|
||||||
\fi
|
\fi
|
||||||
%
|
%
|
||||||
% If we have anything to print, print it, with space before.
|
% If we have anything to print, print it, with space before.
|
||||||
@ -6423,6 +6480,9 @@ width0pt\relax} \fi
|
|||||||
\ifx\captionline\empty \else
|
\ifx\captionline\empty \else
|
||||||
\vskip.5\parskip
|
\vskip.5\parskip
|
||||||
\captionline
|
\captionline
|
||||||
|
%
|
||||||
|
% Space below caption.
|
||||||
|
\vskip\parskip
|
||||||
\fi
|
\fi
|
||||||
%
|
%
|
||||||
% If have an xref label, write the list of floats info. Do this
|
% If have an xref label, write the list of floats info. Do this
|
||||||
@ -6433,37 +6493,44 @@ width0pt\relax} \fi
|
|||||||
% caption if specified, else the full caption if specified, else nothing.
|
% caption if specified, else the full caption if specified, else nothing.
|
||||||
{%
|
{%
|
||||||
\atdummies \turnoffactive \otherbackslash
|
\atdummies \turnoffactive \otherbackslash
|
||||||
\immediate\write\auxfile{@xrdef{\floatlabel-lof}{%
|
% since we read the caption text in the macro world, where ^^M
|
||||||
\floatident
|
% is turned into a normal character, we have to scan it back, so
|
||||||
|
% we don't write the literal three characters "^^M" into the aux file.
|
||||||
|
\scanexp{%
|
||||||
|
\xdef\noexpand\gtemp{%
|
||||||
\ifx\thisshortcaption\empty
|
\ifx\thisshortcaption\empty
|
||||||
\ifx\thiscaption\empty \else : \thiscaption \fi
|
\thiscaption
|
||||||
\else
|
\else
|
||||||
: \thisshortcaption
|
\thisshortcaption
|
||||||
\fi
|
\fi
|
||||||
}}%
|
}%
|
||||||
|
}%
|
||||||
|
\immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
|
||||||
|
\ifx\gtemp\empty \else : \gtemp \fi}}%
|
||||||
}%
|
}%
|
||||||
\fi
|
\fi
|
||||||
%
|
|
||||||
% Space below caption, if we printed anything.
|
|
||||||
\ifx\printedsomething\empty \else \vskip\parskip \fi
|
|
||||||
\egroup % end of \vtop
|
\egroup % end of \vtop
|
||||||
|
%
|
||||||
|
% place the captured inserts
|
||||||
|
%
|
||||||
|
% BEWARE: when the floats start float, we have to issue warning whenever an
|
||||||
|
% insert appears inside a float which could possibly float. --kasal, 26may04
|
||||||
|
%
|
||||||
\checkinserts
|
\checkinserts
|
||||||
}
|
}
|
||||||
|
|
||||||
% Append the tokens #2 to the definition of macro #1, not expanding either.
|
% Append the tokens #2 to the definition of macro #1, not expanding either.
|
||||||
%
|
%
|
||||||
\newtoks\appendtomacroAtoks
|
|
||||||
\newtoks\appendtomacroBtoks
|
|
||||||
\def\appendtomacro#1#2{%
|
\def\appendtomacro#1#2{%
|
||||||
\appendtomacroAtoks = \expandafter{#1}%
|
\expandafter\def\expandafter#1\expandafter{#1#2}%
|
||||||
\appendtomacroBtoks = {#2}%
|
|
||||||
\edef#1{\the\appendtomacroAtoks \the\appendtomacroBtoks}%
|
|
||||||
}
|
}
|
||||||
|
|
||||||
% @caption, @shortcaption are easy.
|
% @caption, @shortcaption
|
||||||
%
|
%
|
||||||
\long\def\caption#1{\checkenv\float \def\thiscaption{#1}}
|
\def\caption{\docaption\thiscaption}
|
||||||
\def\shortcaption#1{\checkenv\float \def\thisshortcaption{#1}}
|
\def\shortcaption{\docaption\thisshortcaption}
|
||||||
|
\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
|
||||||
|
\def\defcaption#1#2{\egroup \def#1{#2}}
|
||||||
|
|
||||||
% The parameter is the control sequence identifying the counter we are
|
% The parameter is the control sequence identifying the counter we are
|
||||||
% going to use. Create it if it doesn't exist and assign it to \floatno.
|
% going to use. Create it if it doesn't exist and assign it to \floatno.
|
||||||
|
@ -34,7 +34,7 @@ of unix groups and the --enable-vty-group configure option.
|
|||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@node VTY shell integrated configuration
|
@node VTY shell integrated configuration
|
||||||
@section
|
@section VTY shell integrated configuration
|
||||||
|
|
||||||
@deffn {Command} {service integrated-vtysh-config} {}
|
@deffn {Command} {service integrated-vtysh-config} {}
|
||||||
Write out integrated Quagga.conf file when 'write file' is issued.
|
Write out integrated Quagga.conf file when 'write file' is issued.
|
||||||
|
Loading…
Reference in New Issue
Block a user