⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 texinfo.tex

📁 CORBA上的libIDL源代码
💻 TEX
📖 第 1 页 / 共 5 页
字号:
  \let\raisesections = \relax  \let\up = \relax  \let\set = \relax  \let\clear = \relax  \let\item = \relax}% Ignore @ignore ... @end ignore.%\def\ignore{\doignore{ignore}}% Ignore @ifinfo, @ifhtml, @ifnottex, @html, @menu, and @direntry text.%\def\ifinfo{\doignore{ifinfo}}\def\ifhtml{\doignore{ifhtml}}\def\ifnottex{\doignore{ifnottex}}\def\html{\doignore{html}}\def\menu{\doignore{menu}}\def\direntry{\doignore{direntry}}% @dircategory CATEGORY  -- specify a category of the dir file% which this file should belong to.  Ignore this in TeX.\let\dircategory = \comment% Ignore text until a line `@end #1'.%\def\doignore#1{\begingroup  % Don't complain about control sequences we have declared \outer.  \ignoresections  %  % Define a command to swallow text until we reach `@end #1'.  % This @ is a catcode 12 token (that is the normal catcode of @ in  % this texinfo.tex file).  We change the catcode of @ below to match.  \long\def\doignoretext##1@end #1{\enddoignore}%  %  % Make sure that spaces turn into tokens that match what \doignoretext wants.  \catcode32 = 10  %  % Ignore braces, too, so mismatched braces don't cause trouble.  \catcode`\{ = 9  \catcode`\} = 9  %  % We must not have @c interpreted as a control sequence.  \catcode`\@ = 12  %  % Make the letter c a comment character so that the rest of the line  % will be ignored. This way, the document can have (for example)  %   @c @end ifinfo  % and the @end ifinfo will be properly ignored.  % (We've just changed @ to catcode 12.)  \catcode`\c = 14  %  % And now expand that command.  \doignoretext}% What we do to finish off ignored text.%\def\enddoignore{\endgroup\ignorespaces}%\newif\ifwarnedobs\warnedobsfalse\def\obstexwarn{%  \ifwarnedobs\relax\else  % We need to warn folks that they may have trouble with TeX 3.0.  % This uses \immediate\write16 rather than \message to get newlines.    \immediate\write16{}    \immediate\write16{***WARNING*** for users of Unix TeX 3.0!}    \immediate\write16{This manual trips a bug in TeX version 3.0 (tex hangs).}    \immediate\write16{If you are running another version of TeX, relax.}    \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.}    \immediate\write16{  Then upgrade your TeX installation if you can.}    \immediate\write16{  (See ftp://ftp.gnu.org/pub/gnu/TeX.README.)}    \immediate\write16{If you are stuck with version 3.0, run the}    \immediate\write16{  script ``tex3patch'' from the Texinfo distribution}    \immediate\write16{  to use a workaround.}    \immediate\write16{}    \global\warnedobstrue    \fi}% **In TeX 3.0, setting text in \nullfont hangs tex.  For a% workaround (which requires the file ``dummy.tfm'' to be installed),% uncomment the following line:%%%%%\font\nullfont=dummy\let\obstexwarn=\relax% Ignore text, except that we keep track of conditional commands for% purposes of nesting, up to an `@end #1' command.%\def\nestedignore#1{%  \obstexwarn  % We must actually expand the ignored text to look for the @end  % command, so that nested ignore constructs work.  Thus, we put the  % text into a \vbox and then do nothing with the result.  To minimize  % the change of memory overflow, we follow the approach outlined on  % page 401 of the TeXbook: make the current font be a dummy font.  %  \setbox0 = \vbox\bgroup    % Don't complain about control sequences we have declared \outer.    \ignoresections    %    % Define `@end #1' to end the box, which will in turn undefine the    % @end command again.    \expandafter\def\csname E#1\endcsname{\egroup\ignorespaces}%    %    % We are going to be parsing Texinfo commands.  Most cause no    % trouble when they are used incorrectly, but some commands do    % complicated argument parsing or otherwise get confused, so we    % undefine them.    %    % We can't do anything about stray @-signs, unfortunately;    % they'll produce `undefined control sequence' errors.    \ignoremorecommands    %    % Set the current font to be \nullfont, a TeX primitive, and define    % all the font commands to also use \nullfont.  We don't use    % dummy.tfm, as suggested in the TeXbook, because not all sites    % might have that installed.  Therefore, math mode will still    % produce output, but that should be an extremely small amount of    % stuff compared to the main input.    %    \nullfont    \let\tenrm = \nullfont  \let\tenit = \nullfont  \let\tensl = \nullfont    \let\tenbf = \nullfont  \let\tentt = \nullfont  \let\smallcaps = \nullfont    \let\tensf = \nullfont    % Similarly for index fonts (mostly for their use in    % smallexample)    \let\indrm = \nullfont  \let\indit = \nullfont  \let\indsl = \nullfont    \let\indbf = \nullfont  \let\indtt = \nullfont  \let\indsc = \nullfont    \let\indsf = \nullfont    %    % Don't complain when characters are missing from the fonts.    \tracinglostchars = 0    %    % Don't bother to do space factor calculations.    \frenchspacing    %    % Don't report underfull hboxes.    \hbadness = 10000    %    % Do minimal line-breaking.    \pretolerance = 10000    %    % Do not execute instructions in @tex    \def\tex{\doignore{tex}}%    % Do not execute macro definitions.    % `c' is a comment character, so the word `macro' will get cut off.    \def\macro{\doignore{ma}}%}% @set VAR sets the variable VAR to an empty value.% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.%% Since we want to separate VAR from REST-OF-LINE (which might be% empty), we can't just use \parsearg; we have to insert a space of our% own to delimit the rest of the line, and then take it out again if we% didn't need it.  Make sure the catcode of space is correct to avoid% losing inside @example, for instance.%\def\set{\begingroup\catcode` =10  \catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR.  \parsearg\setxxx}\def\setxxx#1{\setyyy#1 \endsetyyy}\def\setyyy#1 #2\endsetyyy{%  \def\temp{#2}%  \ifx\temp\empty \global\expandafter\let\csname SET#1\endcsname = \empty  \else \setzzz{#1}#2\endsetzzz % Remove the trailing space \setxxx inserted.  \fi  \endgroup}% Can't use \xdef to pre-expand #2 and save some time, since \temp or% \next or other control sequences that we've defined might get us into% an infinite loop. Consider `@set foo @cite{bar}'.\def\setzzz#1#2 \endsetzzz{\expandafter\gdef\csname SET#1\endcsname{#2}}% @clear VAR clears (i.e., unsets) the variable VAR.%\def\clear{\parsearg\clearxxx}\def\clearxxx#1{\global\expandafter\let\csname SET#1\endcsname=\relax}% @value{foo} gets the text saved in variable foo.%{  \catcode`\_ = \active  %  % We might end up with active _ or - characters in the argument if  % we're called from @code, as @code{@value{foo-bar_}}.  So \let any  % such active characters to their normal equivalents.  \gdef\value{\begingroup    \catcode`\-=12 \catcode`\_=12    \indexbreaks \let_\normalunderscore    \valuexxx}}\def\valuexxx#1{\expandablevalue{#1}\endgroup}% We have this subroutine so that we can handle at least some @value's% properly in indexes (we \let\value to this in \indexdummies).  Ones% whose names contain - or _ still won't work, but we can't do anything% about that.  The command has to be fully expandable, since the result% winds up in the index file.  This means that if the variable's value% contains other Texinfo commands, it's almost certain it will fail% (although perhaps we could fix that with sufficient work to do a% one-level expansion on the result, instead of complete).% \def\expandablevalue#1{%  \expandafter\ifx\csname SET#1\endcsname\relax    {[No value for ``#1'']}%  \else    \csname SET#1\endcsname  \fi}% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined% with @set.%\def\ifset{\parsearg\ifsetxxx}\def\ifsetxxx #1{%  \expandafter\ifx\csname SET#1\endcsname\relax    \expandafter\ifsetfail  \else    \expandafter\ifsetsucceed  \fi}\def\ifsetsucceed{\conditionalsucceed{ifset}}\def\ifsetfail{\nestedignore{ifset}}\defineunmatchedend{ifset}% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been% defined with @set, or has been undefined with @clear.%\def\ifclear{\parsearg\ifclearxxx}\def\ifclearxxx #1{%  \expandafter\ifx\csname SET#1\endcsname\relax    \expandafter\ifclearsucceed  \else    \expandafter\ifclearfail  \fi}\def\ifclearsucceed{\conditionalsucceed{ifclear}}\def\ifclearfail{\nestedignore{ifclear}}\defineunmatchedend{ifclear}% @iftex, @ifnothtml, @ifnotinfo always succeed; we read the text% following, through the first @end iftex (etc.).  Make `@end iftex'% (etc.) valid only after an @iftex.%\def\iftex{\conditionalsucceed{iftex}}\def\ifnothtml{\conditionalsucceed{ifnothtml}}\def\ifnotinfo{\conditionalsucceed{ifnotinfo}}\defineunmatchedend{iftex}\defineunmatchedend{ifnothtml}\defineunmatchedend{ifnotinfo}% We can't just want to start a group at @iftex (for example) and end it% at @end iftex, since then @set commands inside the conditional have no% effect (they'd get reverted at the end of the group).  So we must% define \Eiftex to redefine itself to be its previous value.  (We can't% just define it to fail again with an ``unmatched end'' error, since% the @ifset might be nested.)%\def\conditionalsucceed#1{%  \edef\temp{%    % Remember the current value of \E#1.    \let\nece{prevE#1} = \nece{E#1}%    %    % At the `@end #1', redefine \E#1 to be its previous value.    \def\nece{E#1}{\let\nece{E#1} = \nece{prevE#1}}%  }%  \temp}% We need to expand lots of \csname's, but we don't want to expand the% control sequences after we've constructed them.%\def\nece#1{\expandafter\noexpand\csname#1\endcsname}% @asis just yields its argument.  Used with @table, for example.%\def\asis#1{#1}% @math means output in math mode.% We don't use $'s directly in the definition of \math because control% sequences like \math are expanded when the toc file is written.  Then,% we read the toc file back, the $'s will be normal characters (as they% should be, according to the definition of Texinfo).  So we must use a% control sequence to switch into and out of math mode.%% This isn't quite enough for @math to work properly in indices, but it% seems unlikely it will ever be needed there.%\let\implicitmath = $\def\math#1{\implicitmath #1\implicitmath}% @bullet and @minus need the same treatment as @math, just above.\def\bullet{\implicitmath\ptexbullet\implicitmath}\def\minus{\implicitmath-\implicitmath}% @refill is a no-op.\let\refill=\relax% If working on a large document in chapters, it is convenient to% be able to disable indexing, cross-referencing, and contents, for test runs.% This is done with @novalidate (before @setfilename).%\newif\iflinks \linkstrue % by default we want the aux files.\let\novalidate = \linksfalse% @setfilename is done at the beginning of every texinfo file.% So open here the files we need to have open while reading the input.% This makes it possible to make a .fmt file for texinfo.\def\setfilename{%   \iflinks      \readauxfile   \fi % \openindices needs to do some work in any case.   \openindices   \fixbackslash  % Turn off hack to swallow `\input texinfo'.   \global\let\setfilename=\comment % Ignore extra @setfilename cmds.   %   % If texinfo.cnf is present on the system, read it.   % Useful for site-wide @afourpaper, etc.   % Just to be on the safe side, close the input stream before the \input.   \openin 1 texinfo.cnf   \ifeof1 \let\temp=\relax \else \def\temp{\input texinfo.cnf }\fi   \closein1   \temp   %   \comment % Ignore the actual filename.}% Called from \setfilename.% \def\openindices{%  \newindex{cp}%  \newcodeindex{fn}%  \newcodeindex{vr}%  \newcodeindex{tp}%  \newcodeindex{ky}%  \newcodeindex{pg}%}% @bye.\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}\message{fonts,}% Font-change commands.% Texinfo sort of supports the sans serif font style, which plain TeX does not.% So we set up a \sf analogous to plain's \rm, etc.\newfam\sffam\def\sf{\fam=\sffam \tensf}\let\li = \sf % Sometimes we call it \li, not \sf.% We don't need math for this one.\def\ttsl{\tenttsl}% Use Computer Modern fonts at \magstephalf (11pt).\newcount\mainmagstep\mainmagstep=\magstephalf% Set the font macro #1 to the font named #2, adding on the% specified font prefix (normally `cm').% #3 is the font's design size, #4 is a scale factor\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}% Use cm as the default font prefix.% To specify the font prefix, you must define \fontprefix% before you read in texinfo.tex.\ifx\fontprefix\undefined\def\fontprefix{cm}\fi% Support font families that don't use the same naming scheme as CM.\def\rmshape{r}\def\rmbshape{bx}               %where the normal face is bold\def\bfshape{b}\def\bxshape{bx}\def\ttshape{tt}\def\ttbshape{tt}\def\ttslshape{sltt}\def\itshape{ti}\def\itbshape{bxti}\def\slshape{sl}\def\slbshape{bxsl}\def\sfshape{ss}\def\sfbshape{ss}\def\scshape{csc}\def\scbshape{csc}\ifx\bigger\relax\let\mainmagstep=\magstep1\setfont\textrm\rmshape{12}{1000}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -