📄 texinfo.tex
字号:
\let\var=\smartitalic\let\dfn=\smartitalic\let\emph=\smartitalic\let\cite=\smartitalic\def\b#1{{\bf #1}}\let\strong=\b% We can't just use \exhyphenpenalty, because that only has effect at% the end of a paragraph. Restore normal hyphenation at the end of the% group within which \nohyphenation is presumably called.%\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation}\def\restorehyphenation{\hyphenchar\font = `- }\def\t#1{% {\tt \rawbackslash \frenchspacing #1}% \null}\let\ttfont=\t\def\samp #1{`\tclose{#1}'\null}\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}\def\ctrl #1{{\tt \rawbackslash \hat}#1}\let\file=\samp\let\url=\samp % perhaps include a hypertex \special eventually% @code is a modification of @t,% which makes spaces the same size as normal in the surrounding text.\def\tclose#1{% {% % Change normal interword space to be same as for the current font. \spaceskip = \fontdimen2\font % % Switch to typewriter. \tt % % But `\ ' produces the large typewriter interword space. \def\ {{\spaceskip = 0pt{} }}% % % Turn off hyphenation. \nohyphenation % \rawbackslash \frenchspacing #1% }% \null}% We *must* turn on hyphenation at `-' and `_' in \code.% Otherwise, it is too hard to avoid overfull hboxes% in the Emacs manual, the Library manual, etc.% Unfortunately, TeX uses one parameter (\hyphenchar) to control% both hyphenation at - and hyphenation within words.% We must therefore turn them both off (\tclose does that)% and arrange explicitly to hyphenate an a dash.% -- rms.{\catcode`\-=\active\catcode`\_=\active\global\def\code{\begingroup \catcode`\-=\active \let-\codedash \catcode`\_=\active \let_\codeunder \codex}% The following is used by \doprintindex to insure that long function names% wrap around. It is necessary for - and _ to be active before the index is% read from the file, as \entry parses the arguments long before \code is% ever called. -- mycroft\global\def\indexbreaks{\catcode`\-=\active \let-\realdash \catcode`\_=\active \let_\realunder}}\def\realdash{-}\def\realunder{_}\def\codedash{-\discretionary{}{}{}}\def\codeunder{\normalunderscore\discretionary{}{}{}}\def\codex #1{\tclose{#1}\endgroup}%\let\exp=\tclose %Was temporary% @kbd is like @code, except that if the argument is just one @key command,% then @kbd has no effect.%\def\xkey{\key}\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%\ifx\one\xkey\ifx\threex\three \key{#2}%\else{\tclose{\ttsl\look}}\fi\else{\tclose{\ttsl\look}}\fi}% Check if we are currently using a typewriter font. Since all the% Computer Modern typewriter fonts have zero interword stretch (and% shrink), and it is reasonable to expect all typewriter fonts to have% this property, we can check that font parameter.% \def\ifmonospace{\ifdim\fontdimen3\font=0pt }% Typeset a dimension, e.g., `in' or `pt'. The only reason for the% argument is to make the input look right: @dmn{pt} instead of% @dmn{}pt.%\def\dmn#1{\thinspace #1}\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}\def\l#1{{\li #1}\null} %\def\r#1{{\rm #1}} % roman font% Use of \lowercase was suggested.\def\sc#1{{\smallcaps#1}} % smallcaps font\def\ii#1{{\it #1}} % italic font\message{page headings,}\newskip\titlepagetopglue \titlepagetopglue = 1.5in\newskip\titlepagebottomglue \titlepagebottomglue = 2pc% First the title page. Must do @settitle before @titlepage.\def\titlefont#1{{\titlerm #1}}\newif\ifseenauthor\newif\iffinishedtitlepage\def\shorttitlepage{\parsearg\shorttitlepagezzz}\def\shorttitlepagezzz #1{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% \endgroup\page\hbox{}\page}\def\titlepage{\begingroup \parindent=0pt \textfonts \let\subtitlerm=\tenrm% I deinstalled the following change because \cmr12 is undefined.% This change was not in the ChangeLog anyway. --rms.% \let\subtitlerm=\cmr12 \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}% % \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}% % % Leave some space at the very top of the page. \vglue\titlepagetopglue % % Now you can print the title using @title. \def\title{\parsearg\titlezzz}% \def\titlezzz##1{\leftline{\titlefont{##1}} % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt}% % No rule at page bottom unless we print one at the top with @title. \finishedtitlepagetrue % % Now you can put text using @subtitle. \def\subtitle{\parsearg\subtitlezzz}% \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}}% % % @author should come last, but may come many times. \def\author{\parsearg\authorzzz}% \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi {\authorfont \leftline{##1}}}% % % Most title ``pages'' are actually two pages long, with space % at the top of the second. We don't want the ragged left on the second. \let\oldpage = \page \def\page{% \iffinishedtitlepage\else \finishtitlepage \fi \oldpage \let\page = \oldpage \hbox{}}%% \def\page{\oldpage \hbox{}}}\def\Etitlepage{% \iffinishedtitlepage\else \finishtitlepage \fi % It is important to do the page break before ending the group, % because the headline and footline are only empty inside the group. % If we use the new definition of \page, we always get a blank page % after the title page, which we certainly don't want. \oldpage \endgroup \HEADINGSon}\def\finishtitlepage{% \vskip4pt \hrule height 2pt width \hsize \vskip\titlepagebottomglue \finishedtitlepagetrue}%%% Set up page headings and footings.\let\thispage=\folio\newtoks \evenheadline % Token sequence for heading line of even pages\newtoks \oddheadline % Token sequence for heading line of odd pages\newtoks \evenfootline % Token sequence for footing line of even pages\newtoks \oddfootline % Token sequence for footing line of odd pages% Now make Tex use those variables\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}}\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}\HEADINGShook}\let\HEADINGShook=\relax% Commands to set those variables.% For example, this is what @headings on does% @evenheading @thistitle|@thispage|@thischapter% @oddheading @thischapter|@thispage|@thistitle% @evenfooting @thisfile||% @oddfooting ||@thisfile\def\evenheading{\parsearg\evenheadingxxx}\def\oddheading{\parsearg\oddheadingxxx}\def\everyheading{\parsearg\everyheadingxxx}\def\evenfooting{\parsearg\evenfootingxxx}\def\oddfooting{\parsearg\oddfootingxxx}\def\everyfooting{\parsearg\everyfootingxxx}{\catcode`\@=0 %\gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish}\gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{%\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}\gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish}\gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{%\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}\gdef\everyheadingxxx #1{\everyheadingyyy #1@|@|@|@|\finish}\gdef\everyheadingyyy #1@|#2@|#3@|#4\finish{%\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}\gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish}\gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{%\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}\gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish}\gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{%\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}\gdef\everyfootingxxx #1{\everyfootingyyy #1@|@|@|@|\finish}\gdef\everyfootingyyy #1@|#2@|#3@|#4\finish{%\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}\global\oddfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}%}% unbind the catcode of @.% @headings double turns headings on for double-sided printing.% @headings single turns headings on for single-sided printing.% @headings off turns them off.% @headings on same as @headings double, retained for compatibility.% @headings after turns on double-sided headings after this page.% @headings doubleafter turns on double-sided headings after this page.% @headings singleafter turns on single-sided headings after this page.% By default, they are off.\def\headings #1 {\csname HEADINGS#1\endcsname}\def\HEADINGSoff{\global\evenheadline={\hfil} \global\evenfootline={\hfil}\global\oddheadline={\hfil} \global\oddfootline={\hfil}}\HEADINGSoff% When we turn headings on, set the page number to 1.% For double-sided printing, put current file name in lower left corner,% chapter name on inside top of right hand pages, document% title on inside top of left hand pages, and page numbers on outside top% edge of all pages.\def\HEADINGSdouble{%\pagealignmacro\global\pageno=1\global\evenfootline={\hfil}\global\oddfootline={\hfil}\global\evenheadline={\line{\folio\hfil\thistitle}}\global\oddheadline={\line{\thischapter\hfil\folio}}}% For single-sided printing, chapter title goes across top left of page,% page number on top right.\def\HEADINGSsingle{%\pagealignmacro\global\pageno=1\global\evenfootline={\hfil}\global\oddfootline={\hfil}\global\evenheadline={\line{\thischapter\hfil\folio}}\global\oddheadline={\line{\thischapter\hfil\folio}}}\def\HEADINGSon{\HEADINGSdouble}\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}\let\HEADINGSdoubleafter=\HEADINGSafter\def\HEADINGSdoublex{%\global\evenfootline={\hfil}\global\oddfootline={\hfil}\global\evenheadline={\line{\folio\hfil\thistitle}}\global\oddheadline={\line{\thischapter\hfil\folio}}}\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}\def\HEADINGSsinglex{%\global\evenfootline={\hfil}\global\oddfootline={\hfil}\global\evenheadline={\line{\thischapter\hfil\folio}}\global\oddheadline={\line{\thischapter\hfil\folio}}}% Subroutines used in generating headings% Produces Day Month Year style of output.\def\today{\number\day\space\ifcase\month\orJanuary\or February\or March\or April\or May\or June\orJuly\or August\or September\or October\or November\or December\fi\space\number\year}% Use this if you want the Month Day, Year style of output.%\def\today{\ifcase\month\or%January\or February\or March\or April\or May\or June\or%July\or August\or September\or October\or November\or December\fi%\space\number\day, \number\year}% @settitle line... specifies the title of the document, for headings% It generates no output of its own\def\thistitle{No Title}\def\settitle{\parsearg\settitlezzz}\def\settitlezzz #1{\gdef\thistitle{#1}}\message{tables,}% @tabs -- simple alignment% These don't work. For one thing, \+ is defined as outer.% So these macros cannot even be defined.%\def\tabs{\parsearg\tabszzz}%\def\tabszzz #1{\settabs\+#1\cr}%\def\tabline{\parsearg\tablinezzz}%\def\tablinezzz #1{\+#1\cr}%\def\&{&}% Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x).% default indentation of table text\newdimen\tableindent \tableindent=.8in% default indentation of @itemize and @enumerate text\newdimen\itemindent \itemindent=.3in% margin between end of table item and start of table text.\newdimen\itemmargin \itemmargin=.1in% used internally for \itemindent minus \itemmargin\newdimen\itemmax% Note @table, @vtable, and @vtable define @item, @itemx, etc., with% these defs.% They also define \itemindex% to index the item name in whatever manner is desired (perhaps none).\newif\ifitemxneedsnegativevskip\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}\def\internalBitem{\smallbreak \parsearg\itemzzz}\def\internalBitemx{\itemxpar \parsearg\itemzzz}\def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz}\def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \itemxpar \parsearg\xitemzzz}\def\internalBkitem{\smallbreak \parsearg\kitemzzz}\def\internalBkitemx{\itemxpar \parsearg\kitemzzz}\def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}% \itemzzz {#1}}\def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}% \itemzzz {#1}}\def\itemzzz #1{\begingroup % \advance\hsize by -\rightskip \advance\hsize by -\tableindent \setbox0=\hbox{\itemfont{#1}}% \itemindex{#1}% \nobreak % This prevents a break before @itemx. % % Be sure we are not still in the middle of a paragraph. %{\parskip = 0in %\par %}% % % If the item text does not fit in the space we have, put it on a line % by itself, and do not allow a page break either before or after that % line. We do not start a paragraph here because then if the next
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -