📄 texinfo.tex
字号:
\def\kbdinputstylexxx#1{% \def\arg{#1}% \ifx\arg\worddistinct \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% \else\ifx\arg\wordexample \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% \else\ifx\arg\wordcode \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \else \errhelp = \EMsimple \errmessage{Unknown @kbdinputstyle `\arg'}% \fi\fi\fi}\def\worddistinct{distinct}\def\wordexample{example}\def\wordcode{code}% Default is `distinct.'\kbdinputstyle distinct\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{\kbdfont\look}}\fi\else{\tclose{\kbdfont\look}}\fi}% For @url, @env, @command quotes seem unnecessary, so use \code.\let\url=\code\let\env=\code\let\command=\code% @uref (abbreviation for `urlref') takes an optional (comma-separated)% second argument specifying the text to display and an optional third% arg as text to display instead of (rather than in addition to) the url% itself. First (mandatory) arg is the url. Perhaps eventually put in% a hypertex \special here.%\def\uref#1{\douref #1,,,\finish}\def\douref#1,#2,#3,#4\finish{\begingroup \unsepspaces \pdfurl{#1}% \setbox0 = \hbox{\ignorespaces #3}% \ifdim\wd0 > 0pt \unhbox0 % third arg given, show only that \else \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \ifpdf \unhbox0 % PDF: 2nd arg given, show only it \else \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url \fi \else \code{#1}% only url given, so show it \fi \fi \endlink\endgroup}% rms does not like angle brackets --karl, 17may97.% So now @email is just like @uref, unless we are pdf.% %\def\email#1{\angleleft{\tt #1}\angleright}\ifpdf \def\email#1{\doemail#1,,\finish} \def\doemail#1,#2,#3\finish{\begingroup \unsepspaces \pdfurl{mailto:#1}% \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi \endlink \endgroup}\else \let\email=\uref\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}% @l was never documented to mean ``switch to the Lisp font'',% and it is not used as such in any manual I can find. We need it for% Polish suppressed-l. --karl, 22sep96.%\def\l#1{{\li #1}\null}% Explicit font changes: @r, @sc, undocumented @ii.\def\r#1{{\rm #1}} % roman font\def\sc#1{{\smallcaps#1}} % smallcaps font\def\ii#1{{\it #1}} % italic font% @acronym downcases the argument and prints in smallcaps.\def\acronym#1{{\smallcaps \lowercase{#1}}}% @pounds{} is a sterling sign.\def\pounds{{\it\$}}% @registeredsymbol - R in a circle. For now, only works in text size;% we'd have to redo the font mechanism to change the \scriptstyle and% \scriptscriptstyle font sizes to make it look right in headings.% Adapted from the plain.tex definition of \copyright.% \def\registeredsymbol{% $^{{\ooalign{\hfil\raise.07ex\hbox{$\scriptstyle\rm R$}\hfil\crcr\Orb}}% }$%}\message{page headings,}\newskip\titlepagetopglue \titlepagetopglue = 1.5in\newskip\titlepagebottomglue \titlepagebottomglue = 2pc% First the title page. Must do @settitle before @titlepage.\newif\ifseenauthor\newif\iffinishedtitlepage% Do an implicit @contents or @shortcontents after @end titlepage if the% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.%\newif\ifsetcontentsaftertitlepage \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue\newif\ifsetshortcontentsaftertitlepage \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue\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 \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}% % \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines \let\tt=\authortt}% % % 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{\titlefonts\rm ##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 % % Need this before the \...aftertitlepage checks so that if they are % in effect the toc pages will come out with page numbers. \HEADINGSon % % If they want short, they certainly want long too. \ifsetshortcontentsaftertitlepage \shortcontents \contents \global\let\shortcontents = \relax \global\let\contents = \relax \fi % \ifsetcontentsaftertitlepage \contents \global\let\contents = \relax \global\let\shortcontents = \relax \fi}\def\finishtitlepage{% \vskip4pt \hrule height 2pt width \hsize \vskip\titlepagebottomglue \finishedtitlepagetrue}%%% Set up page headings and footings.\let\thispage=\folio\newtoks\evenheadline % headline on even pages\newtoks\oddheadline % headline on odd pages\newtoks\evenfootline % footline on even pages\newtoks\oddfootline % footline on 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{\oddheadingxxx{#1}\evenheadingxxx{#1}}%\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}}% % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. \global\advance\pageheight by -\baselineskip \global\advance\vsize by -\baselineskip}\gdef\everyfootingxxx#1{\oddfootingxxx{#1}\evenfootingxxx{#1}}%}% 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 at the start of a document,% and turned `on' after @end titlepage.\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{\global\pageno=1\global\evenfootline={\hfil}\global\oddfootline={\hfil}\global\evenheadline={\line{\folio\hfil\thistitle}}\global\oddheadline={\line{\thischapter\hfil\folio}}\global\let\contentsalignmacro = \chapoddpage}\let\contentsalignmacro = \chappager% For single-sided printing, chapter title goes across top left of page,% page number on top right.\def\HEADINGSsingle{\global\pageno=1\global\evenfootline={\hfil}\global\oddfootline={\hfil}\global\evenheadline={\line{\thischapter\hfil\folio}}\global\oddheadline={\line{\thischapter\hfil\folio}}\global\let\contentsalignmacro = \chappager}\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}}\global\let\contentsalignmacro = \chapoddpage}\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}}\global\let\contentsalignmacro = \chappager}% Subroutines used in generating headings% This produces Day Month Year style of output.% Only define if not already defined, in case a txi-??.tex file has set% up a different format (e.g., txi-cs.tex does this).\ifx\today\undefined\def\today{% \number\day\space \ifcase\month \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec \fi \space\number\year}\fi% @settitle line... specifies the title of the document, for headings.% It generates no output of its own.\def\thistitle{\putwordNoTitle}\def\settitle{\parsearg\settitlezzz}\def\settitlezzz #1{\gdef\thistitle{#1}}\message{tables,}% 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -