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

📄 texinfo.tex

📁 使用libscsi做的一系列cdrom操作工具程序。包含cdwrite,cdflush,cdda三个程序
💻 TEX
📖 第 1 页 / 共 5 页
字号:
    \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}}}% @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 \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.%\def\value#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 always succeeds; we read the text following, through @end% iftex).  But `@end iftex' should be valid only after an @iftex.%\def\iftex{\conditionalsucceed{iftex}}\defineunmatchedend{iftex}% 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}\def\node{\ENVcheck\parsearg\nodezzz}\def\nodezzz#1{\nodexxx [#1,]}\def\nodexxx[#1,#2]{\gdef\lastnode{#1}}\let\nwnode=\node\let\lastnode=\relax\def\donoderef{\ifx\lastnode\relax\else\expandafter\expandafter\expandafter\setref{\lastnode}\fi\global\let\lastnode=\relax}\def\unnumbnoderef{\ifx\lastnode\relax\else\expandafter\expandafter\expandafter\unnumbsetref{\lastnode}\fi\global\let\lastnode=\relax}\def\appendixnoderef{\ifx\lastnode\relax\else\expandafter\expandafter\expandafter\appendixsetref{\lastnode}\fi\global\let\lastnode=\relax}\let\refill=\relax% @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{%   \readauxfile   \opencontents   \openindices   \fixbackslash  % Turn off hack to swallow `\input texinfo'.   \global\let\setfilename=\comment % Ignore extra @setfilename cmds.   \comment % Ignore the actual filename.}\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}\def\inforef #1{\inforefzzz #1,,,,**}\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},  node \samp{\ignorespaces#1{}}}\def\macro#1{\begingroup\ignoresections\catcode`\#=6\def\macrotemp{#1}\parsearg\macroxxx}\def\macroxxx#1#2 \end macro{%\expandafter\gdef\macrotemp#1{#2}%\endgroup}%\def\linemacro#1{\begingroup\ignoresections\catcode`\#=6\def\macrotemp{#1}\parsearg\linemacroxxx}%\def\linemacroxxx#1#2 \end linemacro{%%\let\parsearg=\relax%\edef\macrotempx{\csname M\butfirst\expandafter\string\macrotemp\endcsname}%%\expandafter\xdef\macrotemp{\parsearg\macrotempx}%%\expandafter\gdef\macrotempx#1{#2}%%\endgroup}%\def\butfirst#1{}\message{fonts,}% Font-change commands.% Texinfo 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}%% Try out Computer Modern fonts at \magstephalf\let\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}\setfont\texttt\ttshape{12}{1000}\else\setfont\textrm\rmshape{10}{\mainmagstep}\setfont\texttt\ttshape{10}{\mainmagstep}\fi% Instead of cmb10, you many want to use cmbx10.% cmbx10 is a prettier font on its own, but cmb10% looks better when embedded in a line with cmr10.\setfont\textbf\bfshape{10}{\mainmagstep}\setfont\textit\itshape{10}{\mainmagstep}\setfont\textsl\slshape{10}{\mainmagstep}\setfont\textsf\sfshape{10}{\mainmagstep}\setfont\textsc\scshape{10}{\mainmagstep}\setfont\textttsl\ttslshape{10}{\mainmagstep}\font\texti=cmmi10 scaled \mainmagstep\font\textsy=cmsy10 scaled \mainmagstep% A few fonts for @defun, etc.\setfont\defbf\bxshape{10}{\magstep1} %was 1314\setfont\deftt\ttshape{10}{\magstep1}\def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf}% Fonts for indices and small examples.% We actually use the slanted font rather than the italic,% because texinfo normally uses the slanted fonts for that.% Do not make many font distinctions in general in the index, since they% aren't very useful.\setfont\ninett\ttshape{9}{1000}\setfont\indrm\rmshape{9}{1000}\setfont\indit\slshape{9}{1000}\let\indsl=\indit\let\indtt=\ninett\let\indttsl=\ninett\let\indsf=\indrm\let\indbf=\indrm\setfont\indsc\scshape{10}{900}\font\indi=cmmi9\font\indsy=cmsy9% Fonts for headings\setfont\chaprm\rmbshape{12}{\magstep2}\setfont\chapit\itbshape{10}{\magstep3}\setfont\chapsl\slbshape{10}{\magstep3}\setfont\chaptt\ttbshape{12}{\magstep2}\setfont\chapttsl\ttslshape{10}{\magstep3}\setfont\chapsf\sfbshape{12}{\magstep2}\let\chapbf=\chaprm\setfont\chapsc\scbshape{10}{\magstep3}\font\chapi=cmmi12 scaled \magstep2\font\chapsy=cmsy10 scaled \magstep3\setfont\secrm\rmbshape{12}{\magstep1}\setfont\secit\itbshape{10}{\magstep2}\setfont\secsl\slbshape{10}{\magstep2}\setfont\sectt\ttbshape{12}{\magstep1}\setfont\secttsl\ttslshape{10}{\magstep2}\setfont\secsf\sfbshape{12}{\magstep1}\let\secbf\secrm\setfont\secsc\scbshape{10}{\magstep2}\font\seci=cmmi12 scaled \magstep1\font\secsy=cmsy10 scaled \magstep2% \setfont\ssecrm\bxshape{10}{\magstep1}    % This size an font looked bad.% \setfont\ssecit\itshape{10}{\magstep1}    % The letters were too crowded.% \setfont\ssecsl\slshape{10}{\magstep1}% \setfont\ssectt\ttshape{10}{\magstep1}% \setfont\ssecsf\sfshape{10}{\magstep1}%\setfont\ssecrm\bfshape{10}{1315}	% Note the use of cmb rather than cmbx.%\setfont\ssecit\itshape{10}{1315}	% Also, the size is a little larger than%\setfont\ssecsl\slshape{10}{1315}	% being scaled magstep1.%\setfont\ssectt\ttshape{10}{1315}%\setfont\ssecsf\sfshape{10}{1315}%\let\ssecbf=\ssecrm\setfont\ssecrm\rmbshape{12}{\magstephalf}\setfont\ssecit\itbshape{10}{1315}\setfont\ssecsl\slbshape{10}{1315}\setfont\ssectt\ttbshape{12}{\magstephalf}\setfont\ssecttsl\ttslshape{10}{\magstep1}\setfont\ssecsf\sfbshape{12}{\magstephalf}\let\ssecbf\ssecrm\setfont\ssecsc\scbshape{10}{\magstep1}\font\sseci=cmmi12 scaled \magstephalf\font\ssecsy=cmsy10 scaled \magstep1% The smallcaps and symbol fonts should actually be scaled \magstep1.5,% but that is not a standard magnification.% Fonts for title page:\setfont\titlerm\rmbshape{12}{\magstep3}\let\authorrm = \secrm% In order for the font changes to affect most math symbols and letters,% we have to define the \textfont of the standard families.  Since% texinfo doesn't allow for producing subscripts and superscripts, we% don't bother to reset \scriptfont and \scriptscriptfont (which would% also require loading a lot more fonts).%\def\resetmathfonts{%  \textfont0 = \tenrm \textfont1 = \teni \textfont2 = \tensy  \textfont\itfam = \tenit \textfont\slfam = \tensl \textfont\bffam = \tenbf  \textfont\ttfam = \tentt \textfont\sffam = \tensf}% The font-changing commands redefine the meanings of \tenSTYLE, instead% of just \STYLE.  We do this so that font changes will continue to work% in math mode, where it is the current \fam that is relevant in most% cases, not the current font.  Plain TeX does \def\bf{\fam=\bffam% \tenbf}, for example.  By redefining \tenbf, we obviate the need to% redefine \bf itself.\def\textfonts{%  \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl  \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc  \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl  \resetmathfonts}\def\chapfonts{%  \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl  \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc  \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl  \resetmathfonts}\def\secfonts{%  \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl  \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc  \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl  \resetmathfonts}\def\subsecfonts{%  \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl  \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc  \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl  \resetmathfonts}\def\indexfonts{%  \let\tenrm=\indrm \let\tenit=\indit \let\tensl=\indsl  \let\tenbf=\indbf \let\tentt=\indtt \let\smallcaps=\indsc  \let\tensf=\indsf \let\teni=\indi \let\tensy=\indsy \let\tenttsl=\indttsl  \resetmathfonts}% Set up the default fonts, so we can use them for creating boxes.%\textfonts% Count depth in font-changes, for error checks\newcount\fontdepth \fontdepth=0% Fonts for short table of contents.\setfont\shortcontrm\rmshape{12}{1000}\setfont\shortcontbf\bxshape{12}{1000}\setfont\shortcontsl\slshape{12}{1000}%% Add scribe-like font environments, plus @l for inline lisp (usually sans%% serif) and @ii for TeX italic% \smartitalic{ARG} outputs arg in italics, followed by an italic correction% unless the following character is such as not to need one.\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi}\def\smartitalic#1{{\sl #1}\futurelet\next\smartitalicx}\let\i=\smartitalic

⌨️ 快捷键说明

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