<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% -*- coding: utf-8 -*-
% This is part of the book TeX for the Impatient.
% Copyright (C) 2003 Paul W. Abrahams, Kathryn A. Hargreaves, Karl Berry.
% See file fdl.tex for copying conditions.

\input macros
%\chapter{Concepts}
\chapter{æ¦‚å¿µ}

\chapterdef{concepts}

%This part of the book contains definitions and explanations of
%the concepts that we use in describing \TeX.
%The concepts include both
%technical terms that we use in explaining the commands and
%important topics that don't fit elsewhere in the book.
æœ¬ä¹¦çš„è¿™éƒ¨åˆ†åŒ…å«äº†ä½¿ç”¨ \TeX\ æ—¶æ‰€éœ€è¦äº†è§£çš„æ¦‚å¿µã€‚
å®ƒåŒ…æ‹¬æˆ‘ä»¬åœ¨è§£é‡Šå‘½ä»¤æ—¶æ‰€ä½¿ç”¨çš„æŠ€æœ¯è¯æ±‡ä»¥åŠé‡ç‚¹å†…å®¹ï¼Œ
è¿™äº›å†…å®¹å¹¶ä¸é€‚åˆæ”¾åœ¨æœ¬ä¹¦çš„å…¶å®ƒåœ°æ–¹ã€‚

%The concepts are arranged alphabetically.
%The inside back cover of the book contains a complete list of
%concepts and the pages on which they are explained.
%We suggest that you make a copy of the inside back cover and keep it nearby
%so that you'll be able to identify and look up an unfamiliar
%concept immediately.
%As far as possible, we've kept our terminology consistent with that of
%\texbook.\idxref{\texbook}
è¿™äº›æ¦‚å¿µä½¿ç”¨è‹±æ–‡å­—æ¯é¡ºåºè¿›è¡ŒæŽ’åˆ—ï¼Œ
ä¹¦èƒŒå†…é¡µåŒ…å«äº†ä¸€ä»½è¯¦ç»†çš„åœ¨æ­¤æåŠçš„æ¦‚å¿µåˆ—è¡¨ï¼Œä»¥åŠä»–ä»¬è¢«æåŠæ—¶æ‰€åœ¨çš„é¡µæ•°ã€‚
æˆ‘ä»¬å»ºè®®ä½&nbsp;æŠŠä¹¦èƒŒå†…é¡µå¤å°ä¸‹æ¥ï¼Œæ”¾åœ¨æ—è¾¹ï¼Œ
è¿™æ&nbsp;·ä½&nbsp;å°±èƒ½åœ¨é‡åˆ°ä¸ç†Ÿæ‚‰çš„æ¦‚å¿µæ—¶é©¬ä¸ŠæŸ¥æ‰¾åˆ°å®ƒä»¬ã€‚
æˆ‘ä»¬å°½å¯èƒ½åœ°ä½¿ç”¨å’Œ \texbook\ ç›¸ä¸€è‡´çš„æœ¯è¯­ã€‚\idxref{\texbook}

\beginconcepts

\bookmark{2}{ä»¥Aå¼€å¤´}
%\conceptindex{active characters}
%\concept {active character}
\conceptindex{æ´»åŠ¨å­—ç¬¦}
\concept {æ´»åŠ¨å­—ç¬¦}

%An \defterm{active character} is a \refterm{character}
%that has a definition, e.g., a macro definition, associated with it.
%^^{macros//named by active characters}
%You can think of an active character as a special kind of control sequence.
%When \TeX\ encounters an active character, it
%executes the definition associated with the character.
%If \TeX\ encounters an active character that does not have
%an associated definition, it will complain about an
%undefined control sequence.
\defterm{æ´»åŠ¨å­—ç¬¦}ï¼ˆactive characterï¼‰æ˜¯ä¸€ä¸ªæœ‰å®šä¹‰çš„\refterm{å­—ç¬¦}ã€‚
æ¯”å¦‚ä¸€ä¸ªæ´»åŠ¨å­—ç¬¦å¯èƒ½è¡¨ç¤ºç€ä¸€ä¸ªå®å®šä¹‰ã€‚
^^{å®//ç”±æ´»åŠ¨å­—ç¬¦å‘½å}
ä½&nbsp;å¯ä»¥æŠŠæ´»åŠ¨å­—ç¬¦ç†è§£ä¸ºä¸€ç§æŽ§åˆ¶åºåˆ—ã€‚
å½“ \TeX\ ç¢°åˆ°äº†ä¸€ä¸ªæ´»åŠ¨å­—ç¬¦ï¼Œå®ƒå°±æ‰§è¡Œè¿™ä¸ªå­—ç¬¦æ‰€è¡¨ç¤ºçš„å®šä¹‰ã€‚
å¦‚æžœ \TeX\ ç¢°åˆ°çš„æ´»åŠ¨å­—ç¬¦å¹¶æ²¡æœ‰è¡¨ç¤ºä¸€ä¸ªå®šä¹‰ï¼Œ
åˆ™å®ƒä¼šæŠ¥é”™è¯´è¿™æ˜¯ä¸€ä¸ªæ²¡æœ‰å®šä¹‰çš„æŽ§åˆ¶åºåˆ—ã€‚

%An active character has a \refterm{category code} of $13$ (the value
%of ^|\active|).
%To define an active character, you should first
%use the ^|\catcode| command
%\ctsref{\catcode} to make it active
%and then provide the definition of the character, using
%a command such as |\def|, |\let|, or |\chardef|.
%The definition of an active character has the same form as
%the definition of a \refterm{control sequence}.
%^^{category codes//of active characters}
%If you try to define the macro for an active character
%before you make the character active, \TeX\ will complain about a
%missing control sequence.
ä¸€ä¸ªæ´»åŠ¨å­—ç¬¦çš„\refterm{ç±»åˆ«ç&nbsp;}ä¸º $13$ (^|\active|çš„å€¼)ã€‚
å½“ä½&nbsp;å®šä¹‰ä¸€ä¸ªæ´»åŠ¨å­—ç¬¦æ—¶ï¼Œ
ä½&nbsp;å¿…é¡»å…ˆä½¿ç”¨ ^|\catcode| å‘½ä»¤ \ctsref{\catcode} æ¥ä½¿è¿™ä¸ªå­—ç¬¦æ´»åŠ¨ï¼Œ
ç„¶åŽå†ä½¿ç”¨ç±»ä¼¼ |\def|ï¼Œ|\let| æˆ–è€… |\chardef| ä¹‹ç±»çš„å‘½ä»¤æŒ‡å®šè¿™ä¸ªå­—ç¬¦çš„å®šä¹‰ã€‚
å®šä¹‰æ´»åŠ¨å­—ç¬¦å’Œå®šä¹‰\refterm{æŽ§åˆ¶åºåˆ—}æ‰€ä½¿ç”¨çš„æ–¹æ³•æ˜¯ç›¸åŒçš„ã€‚
^^{ç±»åˆ«ç&nbsp;//æ´»åŠ¨å­—ç¬¦çš„ç±»åˆ«ç&nbsp;}
å¦‚å›&nbsp;ä½&nbsp;å°è¯•å…ˆå¯¹å­—ç¬¦æŒ‡å®šå®šä¹‰åŽæŠŠå®ƒè®¾ç½®æˆæ´»åŠ¨çš„ï¼Œ
\TeX\ ä¼šæŠ¥é”™è¯´è¿™æ˜¯ä¸€ä¸ªä¸æ˜Žçš„æŽ§åˆ¶åºåˆ—ã€‚

%For example, the tilde character (|~|) is defined as an active character
%in \plainTeX.  It
%produces a space between two words but links those words so that
%\TeX\ will not turn the space into a \refterm{line break}.
%\refterm{\PlainTeX:\plainTeX} defines `|~|' by the commands:
æ¯”å¦‚ï¼Œåœ¨ \PlainTeX\ ä¸­ï¼Œæ³¢æµªå· (|~|) è¢«å®šä¹‰æˆä¸€ä¸ªæ´»åŠ¨å­—ç¬¦ã€‚
å®ƒå¯ä»¥åœ¨æ‰€è¿žæŽ¥çš„ä¸¤ä¸ªå•è¯å½“ä¸­äº§ç”Ÿä¸€ä¸ªç©ºæ&nbsp;¼ï¼Œå¹¶ä¸”ä¸è®© \TeX\ æŠŠè¿™ä¸ªç©ºæ&nbsp;¼è½¬ä¸º \refterm{æ–­è¡Œ}ã€‚
\refterm{\PlainTeX:\plainTeX} é€šè¿‡ä»¥ä¸‹æ–¹å¼æ¥å®šä¹‰ `|~|'ï¼š

\csdisplay
\catcode `~ = \active \def~{\penalty10000\!visiblespace}
|
%(The |\penalty| inhibits a line break and the `|\!visiblespace|'
%inserts a space.)
ï¼ˆè¿™é‡Œçš„ |\penalty| å¯ä»¥é˜»æ­¢æ–­è¡Œï¼Œ`|\!visiblespace|' å¯ä»¥æ’å…¥ä¸€ä¸ªç©ºæ&nbsp;¼ã€‚ï¼‰
\endconcept


%\conceptindex{alignments}
%\concept alignment
\conceptindex{é˜µåˆ—}
\concept é˜µåˆ—

%\bix^^{tables}
%An \defterm{alignment} is a construct for aligning material, such as a
%table, in columns or rows.  To form an alignment you need to
%(a)~describe the layout of the columns or rows and (b)~tell \TeX\ what
%material goes into the columns or rows.  A tabbing alignment or a
%horizontal alignment is organized as a sequence of rows; a vertical
%alignment is organized as a sequence of columns.  We first describe
%tabbing and horizontal alignments and then more briefly describe
%vertical alignments.
\bix^^{è¡¨æ&nbsp;¼}
\defterm{é˜µåˆ—}ï¼ˆalignmentï¼‰æ˜¯ä¸€ä¸ªæŠŠç´&nbsp;ææœ‰åºæŽ’å°çš„ç»“æž„ï¼Œ
å°±å¦‚ä¸€å¼&nbsp;æœ‰è¡Œæœ‰åˆ—çš„è¡¨æ&nbsp;¼ã€‚å½“ä½&nbsp;éœ€è¦æž„é€&nbsp;ä¸€ä¸ªé˜µåˆ—æ—¶ï¼Œ
ä½&nbsp;è¦ (a)~æè¿°è¡Œå’Œåˆ—çš„å¸ƒå±€ï¼Œå¹¶ä¸” (b)~å‘Šè¯‰ \TeX\ å„è¡Œæˆ–å„åˆ—ä¸­çš„å†…å®¹ã€‚
åˆ¶è¡¨é˜µåˆ—å’Œæ°´å¹³é˜µåˆ—æ˜¯ç”±ä¸€ç³»åˆ—çš„è¡Œç»„æˆï¼›ç«–ç›´é˜µåˆ—åˆ™ç”±ä¸€ç³»åˆ—çš„åˆ—ç»„æˆã€‚
æˆ‘ä»¬é¦–å…ˆè®²è¿°åˆ¶è¡¨é˜µåˆ—å’Œæ°´å¹³é˜µåˆ—ï¼Œç„¶åŽç®€è¦åœ°ä»‹ç»ä¸€ä¸‹ç«–ç›´é˜µåˆ—ã€‚

%Tabbing alignments are defined by \plainTeX.  They are simpler but less
%flexible than horizontal alignments.  Tabbing and horizontal alignments
%differ principally in how you describe their layouts.
åˆ¶è¡¨é˜µåˆ—æ˜¯åœ¨ \PlainTeX\ ä¸­å®šä¹‰çš„ã€‚å®ƒå¾ˆç®€å•ï¼Œå›&nbsp;æ­¤ä¸å¦‚æ°´å¹³é˜µåˆ—é‚£æ&nbsp;·çµæ´»ã€‚
åˆ¶è¡¨é˜µåˆ—å’Œæ°´å¹³é˜µåˆ—çš„ä¸»è¦åŒºåˆ«åœ¨äºŽä½&nbsp;å¦‚ä½•å®šä¹‰å®ƒä»¬çš„å¸ƒå±€ã€‚

\bix^^|\settabs|
\bix\ifoldeplain\ctsidxref{+}\fi
\bix\ctsidxref{cr}

%To construct a tabbing alignment you first issue a |\settabs| command
%\ctsref{\settabs} that specifies how \TeX\ should divide the available
%horizontal space into columns.  Then you provide a sequence of rows for
%the table.  Each row consists of a |\+| control sequence \ctsref{\@plus}
%followed by a list of ``entries'', i.e., row\slash column intersections.
%^^{entry (column or row)}
%Adjacent entries in a row are separated by an ampersand (|&amp;|).
%\xrdef{@and}
%\ttidxref{&amp;}
%The end of a row is indicated by ^|\cr| after its
%last entry.
%If a row has fewer entries than there are columns in the alignment,
%\TeX\ effectively fills out the row with blank entries.
è¦æž„é€&nbsp;ä¸€ä¸ªåˆ¶è¡¨é˜µåˆ—ï¼Œä½&nbsp;é¦–å…ˆéœ€è¦ç”¨ |\settabs| å‘½ä»¤
\ctsref{\settabs} ç¡®å®š \TeX\ å¦‚ä½•å°†å¯ç”¨ç©ºç™½æ°´å¹³åœ°åˆ†ä¸ºå¤šåˆ—ã€‚
ç„¶åŽä½&nbsp;å°±å¯ä»¥é€è¡Œåœ°å¡«å……è¡¨æ&nbsp;¼çš„å„è¡Œã€‚
æ¯è¡Œç”±æŽ§åˆ¶åºåˆ—|\+|\ctsref{\@plus}åŠå…¶åŽçš„ä¸€æŽ’ç”¨ |&amp;| éš”å¼€çš„â€œæ¡ç›®â€ç»„æˆ%
^^{æ¡ç›®ï¼ˆåœ¨è¡Œæˆ–åˆ—ä¸­ï¼‰}
\xrdef{@and}
\ifoldeplain\ttidxref{&amp;}\fi
ï¼ˆæ¡ç›®æ˜¯è¡Œå’Œåˆ—çš„äº¤å‰éƒ¨åˆ†ï¼‰ï¼Œå¹¶ä»¥ ^|\cr| ç»“æŸã€‚
å¦‚æžœæŸè¡Œçš„æ¡ç›®æ•°ç›®æ¯”è¯¥é˜µåˆ—çš„åˆ—æ•°å°‘ï¼Œ\TeX\ å°±ç”¨ç©ºç™½æ¡ç›®å¡«å……å®ƒä»¬ã€‚

%As long as it's preceded by a |\settabs| command, you can put a row of a
%tabbing alignment anywhere in your document.  In particular, you can put
%other things between the rows of a tabbing alignment or describe several
%tabbing alignments with a single |\settabs|.  Here's an example of a
%tabbing alignment:
ä½&nbsp;å¯ä»¥å°†åˆ¶è¡¨é˜µåˆ—çš„è¡Œæ”¾åœ¨æ–‡æ¡£çš„ä»»ä½•åœ°æ–¹ï¼Œåªè¦å‰é¢æœ‰ |\settabs| å‘½ä»¤ã€‚
ç‰¹åˆ«åœ°ï¼Œä½&nbsp;å¯ä»¥åœ¨åˆ¶è¡¨é˜µåˆ—çš„å„è¡Œä¹‹é—´æ·»åŠ&nbsp;å…¶ä»–å†…å®¹ï¼Œ
æˆ–è€…ç”¨åŒä¸€ä¸ª  |\settabs| æè¿°å¤šä¸ªåˆ¶è¡¨é˜µåˆ—ã€‚
è¿™é‡Œæœ‰ä¸€ä¸ªåˆ¶è¡¨é˜µåˆ—çš„ä¾‹å­ï¼š

%\xrdef{tabbedexample}\csdisplay
%{\hsize = 1.7 in \settabs 2 \columns
%\+cattle&amp;herd\cr
%\+fish&amp;school\cr
%\+lions&amp;pride\cr}
%|
%The |\settabs 2 \columns| command in this example \ctsref{\settabs}
%tells \TeX\ to produce two equally wide columns.
%The line length is $1.7$ inches.
%The typeset alignment looks like this:
\xrdef{tabbedexample}\csdisplay
{\hsize = 1.7 in \settabs 2 \columns
\+cattle&amp;herd\cr
\+fish&amp;school\cr
\+lions&amp;pride\cr}
|
è¿™ä¸ªä¾‹å­ä¸­çš„ |\settabs 2 \columns| å‘½ä»¤\ctsref{\settabs}%
è®© \TeX\ ç”Ÿæˆæ€»å®½åº¦ä¸º $1.7$ è‹±å¯¸çš„ç­‰å®½ä¸¤åˆ—ã€‚
æ‰€æŽ’ç‰ˆå‡ºçš„é˜µåˆ—å¦‚ä¸‹ï¼š

%{\def\+{\tabalign}% so it isn't \outer.
%\vdisplay{%
%\hsize 1.7 in \settabs 2 \columns
%\+cattle&amp;herd\cr
%\+fish&amp;school\cr
%\+lions&amp;pride\cr}
%}%
{\def\+{\tabalign}% so it isn't \outer.
\vdisplay{%
\hsize 1.7 in \settabs 2 \columns
\+cattle&amp;herd\cr
\+fish&amp;school\cr
\+lions&amp;pride\cr}
}%

%\margin{Missing explanation added here.}
%There's another form of tabbing alignment in which you specify the column
%widths with a template.  The column widths in the template
%determine the column widths in the rest of the alignment:
%\csdisplay
%{\settabs\+cattle\quad&amp;school\cr
%\+cattle&amp;herd\cr
%\+fish&amp;school\cr
%\+lions&amp;pride\cr}
%|
%Here's the result:
%{\def\+{\tabalign}% so it isn't \outer.
%\vdisplay{%
%\settabs\+cattle\quad&amp;school\cr
%\+cattle&amp;herd\cr
%\+fish&amp;school\cr
%\+lions&amp;pride\cr}
%}%
\margin{Missing explanation added here.}
åˆ¶è¡¨é˜µåˆ—è¿˜æœ‰å¦ä¸€ç§ç”¨æ¨¡æ¿æŒ‡æ˜Žå„åˆ—å®½åº¦çš„ç”¨æ³•ã€‚
æ¨¡æ¿çš„å„åˆ—å®½åº¦å†³å®šäº†è¯¥é˜µåˆ—å…¶åŽçš„å„åˆ—å®½åº¦ï¼š
\csdisplay
{\settabs\+cattle\quad&amp;school\cr
\+cattle&amp;herd\cr
\+fish&amp;school\cr
\+lions&amp;pride\cr}
|
è¿™æ˜¯ä¸Šé¢ä¾‹å­ç”Ÿæˆçš„ç»“æžœï¼š
{\def\+{\tabalign}% so it isn't \outer.
\vdisplay{%
\settabs\+cattle\quad&amp;school\cr
\+cattle&amp;herd\cr
\+fish&amp;school\cr
\+lions&amp;pride\cr}
}%

\eix^^|\settabs|
\eix\ifoldeplain\ctsidxref{+}\fi
\bix^^|\halign|
%Horizontal alignments are constructed with |\halign| \ctsref\halign.
%\TeX\ adjusts the column widths of a horizontal alignment according to
%what is in the columns.  When \TeX\ encounters the |\halign| command
%that begins a horizontal alignment, it first examines all the rows of
%the alignment to see how wide the entries are.  It then sets each column
%width to accommodate the widest entry in that column.
æ°´å¹³é˜µåˆ—ç”¨ |\halign| \ctsref\halign å‘½ä»¤æž„é€&nbsp;ã€‚
\TeX\ å°†æ&nbsp;¹æ®å„åˆ—å†…å®¹è°ƒæ•´æ°´å¹³é˜µåˆ—çš„åˆ—å®½ã€‚
å½“ \TeX\ ç¢°åˆ° |\halign| å‘½ä»¤è¦å¼€å§‹ä¸€ä¸ªæ°´å¹³é˜µåˆ—æ—¶ï¼Œ
å®ƒé¦–å…ˆæ£€æŸ¥è¯¥é˜µåˆ—çš„å„è¡Œï¼Œçœ‹çœ‹å„æ¡ç›®éƒ½æœ‰å¤šå®½ã€‚
ç„¶åŽè®¾å®šå„åˆ—å®½åº¦ä»¥å®¹çº³è¯¥åˆ—ä¸­æœ€å®½çš„æ¡ç›®ã€‚

%A horizontal alignment governed by |\halign| consists of a
%``\pix^{preamble}'' that indicates the row layout followed by the rows
%themselves.
%\ulist
%\li The preamble consists of a sequence of \pix^{template}s, one for each
%column.  The template for a column specifies how the text for that
%column should be typeset.  Each template must include a single |#|
%character
%\ttidxref{#}\xrdef{@asharp}
%to indicate where \TeX\ should substitute the text of an entry into the
%template.  The templates are separated by ampersands (|&amp;|), \ttidxref{&amp;}
%and the end of the preamble is indicated by |\cr|.  By providing an
%appropriate template you can obtain effects such as centering a column,
%left or right justifying a column, or setting a column in a particular
%\refterm{font}.
ç”± |\halign| å‘½ä»¤æž„é€&nbsp;çš„æ°´å¹³é˜µåˆ—åŒ…å«ä¸€ä¸ªâ€œ\pix^{å¯¼è¨€}â€ï¼Œ
è¯¥å¯¼è¨€è¯´æ˜Žäº†éšåŽå„è¡Œçš„å¸ƒå±€ã€‚
\ulist
\li å¯¼è¨€ç”±ä¸€ç³»åˆ—\pix^{æ¨¡æ¿}ç»„æˆï¼Œä¸€ä¸ªæ¨¡æ¿å¯¹åº”ä¸€åˆ—ï¼Œ
æŒ‡æ˜Žè¯¥åˆ—çš„æ–‡æœ¬åº”è¯¥å¦‚ä½•æŽ’ç‰ˆã€‚
æ¯ä¸ªæ¨¡æ¿ä¸­éƒ½å¿…é¡»åŒ…å«ä¸€ä¸ª|#|å­—ç¬¦ï¼Œ
\ifoldeplain\ttidxref{#}\fi\xrdef{@asharp}
ç”¨äºŽç»™å‡º \TeX\ å°†æ¡ç›®çš„æ–‡æœ¬æ”¾å…¥æ¨¡æ¿çš„ä½ç½®ã€‚
å„ä¸ªæ¨¡æ¿ä¹‹é—´ç”¨ |&amp;| åˆ†éš”ï¼Œ\ifoldeplain\ttidxref{&amp;}\fi å¹¶ä»¥ |\cr| ç»“æŸè¯¥å¯¼è¨€ã€‚
åˆ©ç”¨åˆé€‚çš„æ¨¡æ¿ä½&nbsp;å¯ä»¥è®©æŸåˆ—å±…ä¸­ï¼Œå·¦å¯¹é½æˆ–å³å¯¹é½ï¼Œ
æˆ–è€…ä½¿ç”¨æŸä¸ªç‰¹å®šçš„\refterm{å­—ä½“}ã€‚

%\li The rows have the same form as in a tabbing alignment, except that
%you omit the |\+| at the beginning of each row.
%As before, entries are separated by |&amp;| and the end of the row
%is indicated by |\cr|.
%\TeX\ treats each entry as a
%\refterm{group}, so any
%font-setting command or other \refterm{assignment}
%in a column template is in effect only for the entries in that column.
%\endulist
%\noindent The preamble and the rows must all be enclosed in the braces
%that follow |\halign|.  Each |\halign| alignment must include
%its own preamble.
\li é™¤äº†è¦çœç•¥å„è¡Œå¼€å¤´çš„ |\+|ï¼Œå„è¡Œçš„å†™æ³•éƒ½å’Œåˆ¶è¡¨é˜µåˆ—ä¸€æ&nbsp;·ï¼š
ä¸€è¡Œçš„å„æ¡ç›®ä¹‹é—´ç”¨ |&amp;| åˆ†éš”ï¼Œå¹¶ä»¥ |\cr| ç»“æŸè¯¥è¡Œã€‚
\TeX\ å°†å„ä¸ªæ¡ç›®éƒ½çœ‹ä½œä¸€ä¸ª\refterm{ç¼–ç»„}ï¼Œ
å›&nbsp;æ­¤å¯¹æŸåˆ—æ¨¡æ¿çš„å­—ä½“è®¾å®šæˆ–å…¶ä»–\refterm{èµ‹å€¼}éƒ½åªå¯¹è¯¥åˆ—å„ä¸ªæ¡ç›®æœ‰æ•ˆã€‚
\endulist
\noindent å¯¼è¨€å’Œå„è¡Œéƒ½å¿…é¡»æ”¾åœ¨ |\halign| åŽçš„èŠ±æ‹¬å·é‡Œé¢ã€‚
æ¯ä¸ª |\halign| é˜µåˆ—éƒ½å¿…é¡»åŒ…å«å„è‡ªçš„å¯¼è¨€ã€‚

%For example, the horizontal alignment:
%\csdisplay
%\tabskip=2pc
%\halign{\hfil#\hfil &amp;\hfil#\hfil &amp;\hfil#\hfil \cr
%  &amp;&amp;\it Table\cr
%\noalign{\kern -2pt}
%  \it Creature&amp;\it Victual&amp;\it Position\cr
%\noalign{\kern 2pt}
%  Alice&amp;crumpet&amp;left\cr
%  Dormouse&amp;muffin&amp;middle\cr
%  Hatter&amp;tea&amp;right\cr}
%|
ä¾‹å¦‚ï¼Œä¸‹é¢è¿™ä¸ªæ°´å¹³é˜µåˆ—ï¼š
\csdisplay
\tabskip=2pc
\halign{\hfil#\hfil &amp;\hfil#\hfil &amp;\hfil#\hfil \cr
  &amp;&amp;\it Table\cr
\noalign{\kern -2pt}
  \it Creature&amp;\it Victual&amp;\it Position\cr
\noalign{\kern 2pt}
  Alice&amp;crumpet&amp;left\cr
  Dormouse&amp;muffin&amp;middle\cr
  Hatter&amp;tea&amp;right\cr}
|

%\noindent produces the result:
\noindent ç”Ÿæˆä¸‹é¢çš„ç»“æžœï¼š

%\xrdef{halignexample}
%\vdisplay{%
%\tabskip=2pc \halign{\hfil#\hfil &amp;\hfil#\hfil &amp;\hfil#\hfil \cr
%  &amp;&amp;\it Table\cr
%\noalign{\kern -2pt}
%  \it Creature&amp;\it Victual&amp;\it Position\cr
%\noalign{\kern 2pt}
%  Alice&amp;crumpet&amp;left\cr
%  Dormouse&amp;muffin&amp;middle\cr
%  Hatter&amp;tea&amp;right\cr}
%}%
%\noindent The ^|\tabskip| \ctsref{\tabskip} in this example
%tells \TeX\ to insert |2pc| of
%\refterm{glue} between the columns.
%The ^|\noalign| \ctsref{\noalign} commands tell \TeX\ to insert
%\refterm{vertical mode} material between two rows.
%In this example we've
%used |\noalign| to produce some extra space between the title rows and
%the data rows, and also to bring ``Table'' and ``Position'' closer together.
%(You can also use |\noalign| before the first row or after the
%last row.)
%\eix^^|\halign|
\xrdef{halignexample}
\vdisplay{%
\tabskip=2pc \halign{\hfil#\hfil &amp;\hfil#\hfil &amp;\hfil#\hfil \cr
  &amp;&amp;\it Table\cr
\noalign{\kern -2pt}
  \it Creature&amp;\it Victual&amp;\it Position\cr
\noalign{\kern 2pt}
  Alice&amp;crumpet&amp;left\cr
  Dormouse&amp;muffin&amp;middle\cr
  Hatter&amp;tea&amp;right\cr}
}%
\noindent è¿™ä¸ªä¾‹å­ä¸­çš„ ^|\tabskip| \ctsref{\tabskip}
å‘½ä»¤è®© \TeX\ åœ¨å„åˆ—é—´æ’å…¥ |2pc| çš„\refterm{ç²˜è¿ž}ã€‚
^|\noalign| \ctsref{\noalign} å‘½ä»¤%
è®© \TeX\ åœ¨ä¸¤è¡Œé—´æ’å…¥\refterm{ç«–ç›´æ¨¡å¼}ç´&nbsp;æã€‚
åœ¨æ­¤ä¾‹å­ä¸­æˆ‘ä»¬ç”¨ |\noalign| ç”Ÿæˆæ&nbsp;‡é¢˜è¡Œå’Œæ•°æ®è¡Œä¹‹é—´çš„é¢å¤–é—´è·ï¼Œ
è¿˜è®©â€œTableâ€å’Œâ€œPositionâ€ç´§æŒ¨åœ¨ä¸€èµ·ã€‚%
ï¼ˆåœ¨é¦–è¡Œä¹‹å‰æˆ–è€…æœ«è¡Œä¹‹åŽä½&nbsp;åŒæ&nbsp;·å¯ä»¥ä½¿ç”¨ |\noalign| å‘½ä»¤ã€‚ï¼‰
\eix^^|\halign|

%You can construct a vertical alignment with the ^|\valign| command
%\ctsref{\valign}.  A vertical alignment is organized as a series of
%columns rather than as a series of rows.  A vertical alignment follows
%the same rules as a horizontal alignment except that the roles of rows
%and columns are interchanged.  For example, the vertical alignment:
ç”¨ ^|\valign| å‘½ä»¤
\ctsref{\valign}å¯ä»¥æž„é€&nbsp;ä¸€ä¸ªç«–ç›´é˜µåˆ—ã€‚
ç«–ç›´é˜µåˆ—æŒ‰ç…§åˆ—è€Œä¸æŒ‰ç…§è¡Œç»„ç»‡ã€‚
å®ƒéµå¾ªå’Œæ°´å¹³é˜µåˆ—ç›¸åŒçš„æ³•åˆ™ï¼Œ
åªæ˜¯æ­¤æ—¶è¡Œå’Œåˆ—çš„åœ°ä½äº¤æ¢äº†ã€‚
ä¾‹å¦‚ï¼Œä¸‹é¢çš„ç«–ç›´é˜µåˆ—ï¼š

%\csdisplay
%{\hsize=0.6in \parindent=0pt
%\valign{#\strut&amp;#\strut&amp;#\strut\cr
%  one&amp;two&amp;three\cr
%  four&amp;five&amp;six\cr
%  seven&amp;eight&amp;nine\cr
%  ten&amp;eleven\cr}}
%|
%\noindent yields:
%\vdisplay{%
%{\hsize=0.6in \parindent=\listleftindent % Because lists and displays
%                                         % are not indented just by \parindent.
%\valign{#\strut&amp;#\strut&amp;#\strut\cr
%  one&amp;two&amp;three\cr
%  four&amp;five&amp;six\cr
%  seven&amp;eight&amp;nine\cr
%  ten&amp;eleven\cr}}
%}
%The ^|\strut| commands \ctsref{\strut}
%in the template are necessary to get the entries in each row
%to line up properly, i.e., to have a common \refterm{baseline},
%and to keep the distance between baselines uniform.
%\eix\ctsidxref{cr}
%\eix^^{tables}
\csdisplay
{\hsize=0.6in \parindent=0pt
\valign{#\strut&amp;#\strut&amp;#\strut\cr
  one&amp;two&amp;three\cr
  four&amp;five&amp;six\cr
  seven&amp;eight&amp;nine\cr
  ten&amp;eleven\cr}}
|
\noindent å¾—åˆ°çš„ç»“æžœä¸ºï¼š
\vdisplay{%
{\hsize=0.6in \parindent=\listleftindent % Because lists and displays
                                         % are not indented just by \parindent.
\valign{#\strut&amp;#\strut&amp;#\strut\cr
  one&amp;two&amp;three\cr
  four&amp;five&amp;six\cr
  seven&amp;eight&amp;nine\cr
  ten&amp;eleven\cr}}
}
æ¨¡æ¿ä¸­çš„ ^|\strut| å‘½ä»¤ \ctsref{\strut} æ˜¯å¿…ä¸å¯å°‘çš„ï¼Œ
å›&nbsp;ä¸ºå®ƒè®©ä¸€è¡Œçš„å„æ¡ç›®åˆé€‚åœ°æŽ’æˆä¸€è¡Œï¼Œ
å³è®©å®ƒä»¬æœ‰å…±åŒçš„\refterm{åŸºçº¿}ï¼Œå¹¶è®©åŸºçº¿é—´çš„è·ç¦»ä¿æŒä¸€è‡´ã€‚
\eix\ctsidxref{cr}
\eix^^{è¡¨æ&nbsp;¼}

\endconcept


\concept{\anatomy}

%\texbook\ describes the way that {\TeX} processes its input in terms of \TeX's
%``digestive tract''---its ``^{eyes}'', ``^{mouth}'',
%``^{gullet}'', ``^{stomach}'', and ``^{intestines}''.  Knowing how this
%processing works can be helpful when you're trying to understand subtle
%aspects of \TeX's behavior as it's digesting a document.
\texbook\ å°† {\TeX} å¤„ç†è¾“å…¥çš„è¿‡ç¨‹ç”¨ \TeX\ çš„â€œæ¶ˆåŒ–é“â€æ¥æè¿°ï¼Œ
åŒ…æ‹¬â€œ^{çœ¼ç›}â€ï¼Œâ€œ^{å˜´å·´}â€ï¼Œâ€œ^{é£Ÿé“}â€ï¼Œâ€œ^{èƒƒ}â€ å’Œâ€œ^{è‚&nbsp;é“}â€ã€‚
çŸ¥é“è¿™ä¸ªå¤„ç†è¿‡ç¨‹å¦‚ä½•è¿è½¬ï¼Œå°†æœ‰åŠ©äºŽä½&nbsp;ç†è§£\TeX\ æ¶ˆåŒ–æ–‡æ¡£æ—¶çš„è¡Œä¸ºç»†èŠ‚ã€‚

\ulist

%\li Using its ``\pix^{eyes}'', \TeX\ reads \refterm{characters:character} from
%^{input files} and passes them to its mouth.  Since an input file
%can contain ^|\input| commands \ctsref{\input},
%\TeX\ can in effect ``shift its gaze'' from one file to another.
\li ä½¿ç”¨â€œ\pix^{çœ¼ç›}â€ï¼Œ\TeX\ ä»Ž^{è¾“å…¥æ–‡ä»¶}ä¸­è¯»å–\refterm{å­—ç¬¦}å¹¶ä¼&nbsp;ç»™å®ƒçš„å˜´å·´ã€‚
ç”±äºŽè¾“å…¥æ–‡ä»¶ä¸­å¯èƒ½åŒ…å« ^|\input| å‘½ä»¤\ctsref{\input}ï¼Œ
\TeX\ å®žé™…ä¸Šèƒ½å¤Ÿä»Žä¸€ä¸ªæ–‡ä»¶â€œè½¬ç§»è§†çº¿â€åˆ°å¦ä¸€ä¸ªæ–‡ä»¶ã€‚

%\li Using its ``\pix^{mouth}'', {\TeX} assembles the characters into
%\refterm{tokens:token} and passes them to its gullet.
%Each token is either a \refterm{control sequence} or a single
%character.  A control sequence always starts with an \refterm{escape
%character}.  Note that spaces and ends-of-line are characters in their
%own right, although \TeX\ compresses a sequence of input spaces into a single
%space token.  See \knuth{pages~46--47} for the rules by which \TeX\ assembles
%characters into tokens.
%^^{tokens//assembled from characters}
\li ä½¿ç”¨â€œ\pix^{å˜´å·´}â€ï¼Œ{\TeX} å°†å­—ç¬¦ç»„åˆä¸º\refterm{è®°å·}å¹¶ä¼&nbsp;ç»™å®ƒçš„é£Ÿé“ã€‚
æ¯ä¸ªè®°å·è¦ä¹ˆæ˜¯ä¸€ä¸ª\refterm{æŽ§åˆ¶åºåˆ—}è¦ä¹ˆæ˜¯å•ä¸ªå­—ç¬¦ï¼Œ
å…¶ä¸­æŽ§åˆ¶åºåˆ—æ€»æ˜¯ä»¥\refterm{è½¬ä¹‰ç¬¦}å¼€å§‹ã€‚
æ³¨æ„ç©ºæ&nbsp;¼ç¬¦ä»¥åŠè¡Œå°¾ç¬¦è‡ªèº«ä¹Ÿæ˜¯å­—ç¬¦ï¼Œ
åªæ˜¯ \TeX\ å°†è¾“å…¥ä¸­çš„å¤šä¸ªç©ºæ&nbsp;¼åˆå¹¶ä¸ºä¸€ä¸ªç©ºæ&nbsp;¼è®°å·ã€‚
åœ¨\knuth{ç¬¬~46--47~é¡µ}
ä¸­ä»‹ç»äº† \TeX\ å°†å­—ç¬¦ç»„åˆä¸ºè®°å·çš„è§„åˆ™ã€‚
^^{è®°å·//å°†å­—ç¬¦ç»„åˆä¸ºè®°å·}

%\li Using its ``\pix^{gullet}'', {\TeX} expands any macros, conditionals, and
%^^{macros//expanded in \TeX's stomach}
%^^{tokens//passed to \TeX's stomach}
%similar constructs that it finds (see \knuth{pages~212--216}) and passes
%the resulting sequence of \refterm{tokens:token}
%to \TeX's stomach.  Expanding one token
%may yield other tokens that in turn need to be expanded.  {\TeX} carries
%out this expansion from left to right unless the order is modified by
%a command such as |\expandafter| \ctsref{\expandafter}.
%In other words, \TeX's gullet always expands the leftmost un\-ex\-panded
%token that it has not yet sent to \TeX's stomach.
\li ä½¿ç”¨â€œ\pix^{é£Ÿé“}â€ï¼Œ{\TeX} å±•å¼€ä»»ä½•å®ã€æ¡ä»¶å¥ï¼Œ
^^{å®//åœ¨ \TeX\ çš„èƒƒå±•å¼€}
^^{è®°å·//ä¼&nbsp;ç»™ \TeX\ çš„èƒƒ}
ä»¥åŠå®ƒæ‰¾åˆ°çš„ç±»ä¼¼ç»“æž„ï¼ˆè§\knuth{ç¬¬~212--216~é¡µ}ï¼Œ
å¹¶å°†å¾—åˆ°çš„ä¸€ç³»åˆ—\refterm{è®°å·}ä¼&nbsp;ç»™ \TeX\ çš„èƒƒã€‚
å±•å¼€ä¸€ä¸ªè®°å·ä¹Ÿè®¸ä¼šå¾—åˆ°æœ¬èº«ä¹Ÿéœ€è¦å±•å¼€çš„å…¶ä»–è®°å·ã€‚
{\TeX} æŒ‰ç…§ä»Žå·¦åˆ°å³çš„é¡ºåºæ‰§è¡Œè®°å·å±•å¼€ï¼Œ
é™¤éžä½&nbsp;ç”¨ç±»ä¼¼ |\expandafter| \ctsref{\expandafter} çš„å‘½ä»¤æ”¹å˜å…¶é¡ºåºã€‚
æ¢è¨€ä¹‹ï¼Œ\TeX\ çš„é£Ÿé“æ€»æ˜¯å±•å¼€æœªé€å…¥èƒƒä¸­çš„è®°å·ä¸­æœ€å·¦è¾¹çš„æœªå±•å¼€è®°å·ã€‚

%\li Using its ``\pix^{stomach}'', {\TeX} processes the tokens in
%groups.
%Each group contains a primitive command followed by its arguments, if any.
%Most of the commands are of the ``typeset this character'' variety,
%so their groups consist of just one token.
%Obeying the instructions given by the commands,
%\TeX's stomach assembles larger and larger
%units, starting with
%characters and ending with pages,
%and passes the pages to \TeX's intestines.
%^^{pages//assembled in \TeX's stomach}
%\TeX's stomach handles the tasks of \refterm{line break}ing---%
%^^{line breaking}
%i.e., breaking each paragraph into a sequence of lines---%
%and of \refterm{page break}ing---i.e., breaking a continuous sequence of lines
%and other vertical mode material
%into pages.
\li ä½¿ç”¨â€œ\pix^{èƒƒ}â€ï¼Œ{\TeX} ä¸€ç»„ä¸€ç»„åœ°å¤„ç†è®°å·ã€‚
æ¯ä¸ªåˆ†ç»„é‡Œé¢åŒ…å«ä¸€ä¸ªåŽŸå§‹å‘½ä»¤åŠå¯èƒ½è·Ÿéšç€çš„å‘½ä»¤å‚é‡ã€‚
å¤§å¤šæ•°å‘½ä»¤å±žäºŽâ€œæŽ’ç‰ˆæ­¤å­—ç¬¦â€è¿™ç§ï¼Œå›&nbsp;æ­¤å®ƒä»¬çš„åˆ†ç»„ä¸­ä»…åŒ…å«ä¸€ä¸ªè®°å·ã€‚
æŒ‰ç…§å‘½ä»¤çš„æŒ‡ç¤ºï¼Œ
\TeX\ çš„èƒƒä»Žå­—ç¬¦åˆ°é¡µé¢é€æ­¥ç»„è£…å‡ºè¶Šæ¥è¶Šå¤§çš„éƒ¨ä»¶ï¼Œ
å¹¶å°†ç”Ÿæˆçš„é¡µé¢ä¼&nbsp;ç»™ \TeX\ çš„è‚&nbsp;é“ã€‚
^^{é¡µé¢//åœ¨ \TeX\ çš„èƒƒä¸­ç»„è£…}
\TeX\ çš„èƒƒæ‰§è¡Œ\refterm{æ–­è¡Œ}ä»»åŠ¡%
^^{æ–­è¡Œ}
â€”â€”å³å°†æ¯ä¸ªæ®µè½åˆ†ä¸ºè‹¥å¹²è¡Œï¼Œ
ä»¥åŠ\refterm{åˆ†é¡µ}ä»»åŠ¡%
â€”â€”å³å°†è¿žç»­è‹¥å¹²è¡Œå’Œå…¶ä»–ç«–ç›´æ¨¡å¼ç´&nbsp;æåˆ†ä¸ºå¤šä¸ªé¡µé¢ã€‚

%\li Using its ``\pix^{intestines}'', \TeX\ transforms the pages produced by its
%stomach into a form intended for processing
%by other programs.  It then sends the transformed output to the
%\dvifile.
%^^{\dvifile//created by \TeX's intestines}
\li ä½¿ç”¨â€œ\pix^{è‚&nbsp;é“}â€ï¼Œ\TeX\ å°†å®ƒçš„èƒƒç”Ÿæˆçš„é¡µé¢è½¬æ¢ä¸ºé€‚åˆå…¶ä»–ç¨‹åºå¤„ç†çš„å½¢å¼ï¼Œ
å¹¶å°†è½¬æ¢å‡ºçš„ç»“æžœé€åˆ° \dvifile ã€‚
^^{\dvifile//ç”± \TeX\ çš„è‚&nbsp;é“ç”Ÿæˆ}

\endulist

%Most of the time you can think of the processes that take place in \TeX's
%eyes, mouth, gullet, stomach, and intestines
%as happening one after the other.  But the
%truth of the matter is that commands executed in \TeX's stomach can
%influence the earlier stages of digestion.  For instance, when \TeX's stomach
%encounters the |\input| command \ctsref{\input},
%its eyes start reading from a different
%file; when \TeX's stomach encounters a |\catcode| command
% \ctsref{\catcode} specifying a category code
%for a character $c$, the interpretation of $c$ by \TeX's mouth is affected.
%And when
%\TeX's stomach encounters a \refterm{macro} definition, the expansions carried
%out in \TeX's gullet are affected.
å¤šæ•°æ—¶å€™ä½&nbsp;éƒ½å¯ä»¥è®¤ä¸ºåœ¨ \TeX\ çš„çœ¼ç›ï¼Œå˜´å·´ï¼Œé£Ÿé“ï¼Œ
èƒƒå’Œè‚&nbsp;é“ä¸­çš„æ“ä½œæ˜¯ä¸€ä¸ªæŽ¥ä¸€ä¸ªè¿›è¡Œçš„ã€‚
ä½†äº‹å®žçœŸç›¸æ˜¯ï¼Œåœ¨ \TeX\ çš„èƒƒä¸­æ‰§è¡Œçš„å‘½ä»¤å¯èƒ½ä¼šå½±å“å‰é¢æ­¥éª¤çš„æ¶ˆåŒ–è¿‡ç¨‹ã€‚
ä¸¾ä¾‹æ¥è¯´ï¼Œå½“ \TeX\ çš„èƒƒç¢°åˆ° |\input| å‘½ä»¤\ctsref{\input}æ—¶ï¼Œ
å®ƒçš„çœ¼ç›å°†å¼€å§‹è¯»å–å¦ä¸€ä¸ªæ–‡ä»¶ï¼›
å½“ \TeX\ çš„èƒƒç¢°åˆ°æŒ‡å®šå­—ç¬¦$c$çš„ç±»åˆ«ç&nbsp;çš„ |\catcode| å‘½ä»¤\ctsref{\catcode}æ—¶ï¼Œ
\TeX\ çš„å˜´å·´å¯¹ $c$ çš„è§£é‡Šå°±ä¼šå—å½±å“ï¼›
è€Œå½“ \TeX\ çš„èƒƒç¢°åˆ°\refterm{å®}å®šä¹‰æ—¶ï¼Œ
åœ¨ \TeX\ çš„é£Ÿé“è¿›è¡Œçš„å®å±•å¼€ä¹Ÿä¼šå—åˆ°å½±å“ã€‚

%You can understand how the processes interact by imagining that each
%process eagerly gobbles up the output of its predecessor as soon as it
%becomes available.  For instance, once \TeX's stomach has seen
%the last character of the filename in an |\input| command, \TeX's gaze
%immediately shifts to the first character of the specified input file.
%\endconcept
ä¸ºæ›´å¥½åœ°ç†è§£å„ä¸ªå™¨å®˜çš„ç›¸äº’å½±å“ï¼Œä½&nbsp;å¯ä»¥æŠŠå„ä¸ªå™¨å®˜éƒ½æƒ³è±¡ä¸ºæ€¥æ€§å­ï¼Œ
å‰ä»»å™¨å®˜ä¸€æœ‰è¾“å‡ºï¼ŒåŽé¢çš„å™¨å®˜å°±æ€¥åˆ‡åœ°åžé£Ÿè¯¥è¾“å‡ºã€‚
æ¯”å¦‚ï¼Œ\TeX\ çš„èƒƒä¸€çœ‹åˆ° |\input| å‘½ä»¤çš„æ–‡ä»¶åçš„æœ€åŽä¸€ä¸ªå­—ç¬¦ï¼Œ
å®ƒçš„çœ¼ç›å°±ç«‹å³è½¬ç§»è§†çº¿åˆ°æ‰€æŒ‡å®šè¾“å…¥æ–‡ä»¶çš„ç¬¬ä¸€ä¸ªå­—ç¬¦ã€‚
\endconcept

%\pagebreak
%\conceptindex{arguments}
%\concept argument
\conceptindex{å‚é‡}
\concept å‚é‡

%^^{commands//arguments of}
%An \defterm{argument} contains text that is passed to a
%\refterm{command}.
%The arguments of a command complete the description of what
%the command is supposed to do.
%The command can either be a \refterm{primitive} command or a
%\refterm{macro}.
^^{å‘½ä»¤//å‘½ä»¤çš„å‚é‡}
å‘½ä»¤çš„\defterm{å‚é‡}ï¼ˆargumentï¼‰åŒ…å«ä¼&nbsp;é€’ç»™\refterm{å‘½ä»¤}çš„æ–‡æœ¬ï¼Œ
å®ƒè¡¥å…¨äº†è¯¥å‘½ä»¤æ­£å¸¸è¿è¡Œæ‰€éœ€çš„ä¿¡æ¯ã€‚
è¿™é‡Œçš„å‘½ä»¤å¯ä»¥æ˜¯\refterm{åŽŸå§‹å‘½ä»¤}æˆ–è€…\refterm{å®}.

%Each primitive command ^^{primitive//command}
%has its own convention about the form of its
%arguments.  For instance, the sequence of \refterm{tokens:token}:
åŽŸå§‹å‘½ä»¤^^{åŽŸå§‹çš„//åŽŸå§‹å‘½ä»¤}çš„å‚é‡æœ‰å„è‡ªè§„å®šçš„å½¢å¼ã€‚
ä¾‹å¦‚ï¼Œä¸‹é¢çš„ä¸€ç³»åˆ—\refterm{è®°å·}ï¼š

%\csdisplay
%\hskip 3pc plus 1em
%|
%consists of the command `|\hskip|' and the arguments
%`|3pc plus 1em|'.  But if you were to write:
\csdisplay
\hskip 3pc plus 1em
|
ç”± `|\hskip|' å‘½ä»¤åŠå…¶å‚é‡ `|3pc plus 1em|' ç»„æˆã€‚
ä½†è‹¥ä½&nbsp;è¿™æ&nbsp;·å†™ï¼š

%\csdisplay
%\count11 3pc plus 1em
%|
%you'd get an entirely different effect.
%\TeX\ would treat `|\count11|' as a command with argument `|3|',
%followed by the ordinary text tokens `|pc plus 1em|'
%(because count registers expect a number to be assigned to them)%
%---probably not what
%you intended.  The effect of the command, by the way, would be to
%assign $3$ to count register $11$ (see the discussion of ^|\count|,
%\xref\count).
\csdisplay
\count11 3pc plus 1em
|
ä½&nbsp;å°†å¾—åˆ°å®Œå…¨ä¸åŒçš„ç»“æžœã€‚
\TeX\ å°†è®¤ä¸º `|\count11|' ä¸ºå‘½ä»¤ï¼Œå…¶å‚é‡ä¸º`|3|'ï¼Œ
è€ŒåŽé¢çš„ `|pc plus 1em|' æ˜¯æ™®é€šçš„æ–‡æœ¬è®°å·%
ï¼ˆå›&nbsp;ä¸ºè®¡æ•°å¯„å­˜å™¨è¦æ±‚ä¸€ä¸ªæ•´æ•°å€¼ä½œä¸ºå‚é‡ï¼‰â€”â€”è¿™å¤šåŠä¸æ˜¯ä½&nbsp;æƒ³è¦çš„ã€‚
é¡ºä¾¿è¯´ä¸€ä¸‹ï¼Œè¯¥å‘½ä»¤å°†ç»™ç¬¬$11$å·è®¡æ•°å¯„å­˜å™¨èµ‹å€¼$3$
ï¼ˆè§ ^|\count| è¿™é‡Œçš„è®¨è®ºï¼Œ\xref\count ï¼‰ã€‚

%Macros, on the other hand, all follow the same convention
%for their arguments.
%^^{macros//arguments of}
%Each argument passed to a macro
%corresponds to a \refterm{parameter}
%^^{parameters//and arguments}
%in the definition of that
%macro. ^^{macros//parameters of}
%A macro parameter is either ``delimited'' or ``undelimited''.
%The macro definition determines the number and nature of the macro parameters
%and therefore the number and nature of the macro arguments.
å¦ä¸€æ–¹é¢ï¼Œæ‰€æœ‰å®éƒ½éµå¾ªç›¸åŒçš„å‚é‡çº¦å®šã€‚
^^{å®//å®çš„å‚é‡}
ä¼&nbsp;é€’ç»™å®çš„æ¯ä¸ªå‚é‡éƒ½å¯¹åº”å®å®šä¹‰ä¸­çš„ä¸€ä¸ª\refterm{å‚æ•°}ã€‚
^^{å‚æ•°//ä¸Žå‚é‡å¯¹åº”}^^{å®//å®çš„å‚æ•°}
å®çš„å‚æ•°å¯ä»¥æ˜¯â€œå®šç•Œçš„â€æˆ–æ˜¯â€œéžå®šç•Œçš„â€ã€‚
åœ¨å®çš„å®šä¹‰ä¸­ç¡®å®šäº†å®å‚æ•°çš„ä¸ªæ•°å’Œç±»åž‹ï¼Œ
ä»Žè€Œç¡®å®šäº†å®å‚é‡çš„ä¸ªæ•°å’Œç±»åž‹ã€‚

%The difference between a delimited argument and an undelimited argument
%lies in the way that \TeX\ decides where the argument ends.
%^^{delimited arguments}
%^^{undelimited arguments}
%\ulist
%\li A delimited argument consists of the tokens
%from the start of the argument up to, but not including, the
%particular sequence of tokens that serves as the delimiter for that argument.
%The delimiter is specified in the macro definition.  Thus you
%supply a delimited argument to a macro by writing the argument itself
%followed by the delimiter.  A delimited argument can be empty, i.e., have
%no text at all in it.  Any braces in a delimited argument must be paired
%properly, i.e., every left brace must have a corresponding right brace
%and vice versa.
å®šç•Œå‚é‡å’Œéžå®šç•Œå‚é‡çš„åŒºåˆ«åœ¨äºŽï¼Œ
\TeX\ ç”¨ä¸åŒæ–¹å¼ç¡®å®šè¯¥å‚é‡çš„ç»“æŸä½ç½®ã€‚
^^{å®šç•Œå‚é‡}
^^{éžå®šç•Œå‚é‡}
\ulist
\li å®šç•Œå‚é‡ç”±è¯¥å‚é‡å¼€å§‹å¤„å’Œä½œä¸ºè¯¥å‚é‡å®šç•Œå­çš„ç‰¹å®šè®°å·åºåˆ—ä¹‹é—´çš„æ‰€æœ‰è®°å·ç»„æˆï¼Œ
ä½†ä¸åŒ…å«è¯¥å®šç•Œå­åºåˆ—ã€‚å…¶ä¸­çš„å®šç•Œå­æ˜¯åœ¨å®çš„å®šä¹‰ä¸­è§„å®šçš„ã€‚
å›&nbsp;æ­¤è¦ç»™å‡ºå®šç•Œå‚é‡ï¼Œä½&nbsp;éœ€è¦å†™ä¸Šè¯¥å‚é‡å¹¶åœ¨å…¶åŽåŠ&nbsp;ä¸Šå®šç•Œå­ã€‚
å®šç•Œå‚é‡ä¹Ÿå¯ä»¥æ˜¯ç©ºçš„ï¼Œå³ä¸åŒ…å«ä»»ä½•æ–‡æœ¬ã€‚
å®šç•Œå‚é‡é‡Œé¢çš„ä»»ä½•èŠ±æ‹¬å·éƒ½å¿…é¡»é…å¥½å¯¹ï¼Œ
å³æ¯ä¸ªå·¦èŠ±æ‹¬å·å¿…é¡»æœ‰å¯¹åº”çš„å³èŠ±æ‹¬å·ï¼Œåä¹‹äº¦ç„¶ã€‚

%\li An undelimited argument consists of a single token or a sequence of
%tokens enclosed in braces, like this:
%`|{Here is {the} text.}|'.  Despite appearances, the outer braces don't
%form a \refterm{group}---\TeX\ uses them only to determine what the
%argument is.  Any inner braces, such as the ones around `|the|', must be
%paired properly.  If you make a mistake and put in too many right
%braces, \TeX\ will complain about an unexpected right brace.  \TeX\ will
%also complain if you put in too many left braces, but you'll probably
%get \emph{that} complaint long after the place where you intended to
%end the argument (see \xref{mismatched}).
%\endulist
%\noindent
%See \conceptcit{macro} for more information
%about parameters and arguments.  You'll find the precise rules pertaining
%to delimited and undelimited arguments in \knuth{pages~203--204}.
%\endconcept
\li éžå®šç•Œå‚é‡ç”±å•ä¸ªè®°å·æˆ–è€…åŒ…å«åœ¨èŠ±æ‹¬å·çš„ä¸€ç³»åˆ—è®°å·ç»„æˆï¼Œ
æ¯”å¦‚`|{Here is {the} text.}|'ã€‚
å¤–é¢çš„ä¸€å¯¹èŠ±æ‹¬å·ï¼Œè™½ç„¶çœ‹èµ·æ¥åƒï¼Œå®žé™…ä¸Šå¹¶ä¸ç»„æˆä¸€ä¸ª\refterm{ç¼–ç»„}%
â€”â€”\TeX\ åªæ˜¯ç”¨å®ƒä»¬ç¡®å®šå‚é‡çš„èŒƒå›´ã€‚
è€Œå‚é‡å†…éƒ¨çš„èŠ±æ‹¬å·ï¼Œæ¯”å¦‚`|the|'ä¸¤è¾¹çš„ï¼Œå¿…é¡»æ­£ç¡®é…å¯¹ã€‚
è‹¥ä½&nbsp;è¯¯å°†å¤ªå¤šå³èŠ±æ‹¬å·æ”¾åœ¨é‡Œé¢ï¼Œ
\TeX\ å°†æŠ¥é”™è¯´æœ‰å¤šä½™çš„å³èŠ±æ‹¬å·ã€‚
è‹¥å·¦èŠ±æ‹¬å·å¤ªå¤šï¼Œ\TeX\ åŒæ&nbsp;·ä¼šæŠ¥é”™ï¼›
ä½†\emph{è¿™ä¸ªé”™è¯¯}å¯èƒ½å‡ºçŽ°åœ¨è¯¥å‚é‡æ‰€æœŸæœ›çš„ç»“æŸä½ç½®ä¹‹åŽå¾ˆè¿œçš„åœ°æ–¹
ï¼ˆè§ \xref{mismatched}ï¼‰ã€‚
\endulist
\noindent
è¯·å‚é˜…\conceptcit{å®}è¿™é‡Œçš„æ›´å¤šå…³äºŽå‚æ•°å’Œå‚é‡çš„å†…å®¹ã€‚
åœ¨\knuth{ç¬¬~203--204~é¡µ}ä½&nbsp;èƒ½æ‰¾åˆ°å®šç•Œå‚é‡å’Œéžå®šç•Œå‚é‡çš„ç²¾ç¡®è§„åˆ™ã€‚
\endconcept


\concept{ASCII}

%\defterm{\ascii} is the abbreviation of ``American Standard Code for
%Information Interchange''.  There are $256$ \ascii\
%^{characters}, each with its own code number, but
%the meanings of only the first~$128$ have been standardized.  You can
%find these meanings in an \ascii\ ``code table'' such as the one on
%\knuth{page~367}.  Characters $32$--$126$ are ``printable characters'',
%^^{printable characters} such as letters, numbers, and punctuation
%marks. The remaining characters are ``^{control characters}'' that are
%typically used (in the computer industry, not in \TeX) to control
%input\slash output and data communications devices.  For instance,
%\ascii\ code $84$ corresponds to the letter `T', while \ascii\
%code~$12$ corresponds to the ``form feed'' function (interpreted by most
%printers as ``start a new page'').  Although the \ascii\ standard
%specifies meanings for the control characters, many manufacturers of
%equipment such as modems and printers have used the control characters
%for purposes other than the standard ones.
\defterm{\ascii} æ˜¯â€œç¾Žå›½ä¿¡æ¯äº¤æ¢æ&nbsp;‡å‡†ç¼–ç&nbsp;â€ï¼ˆAmerican Standard Code for
Information Interchangeï¼‰çš„ç¼©å†™ã€‚æ€»å…±æœ‰ $256$ ä¸ª \ascii\ ^{å­—ç¬¦}ï¼Œ
æ¯ä¸ªéƒ½æœ‰è‡ªå·±çš„ç¼–ç&nbsp;ï¼Œä½†åªæœ‰å‰é¢ $128$ ä¸ªæ˜¯æ&nbsp;‡å‡†ç¼–ç&nbsp;ã€‚
åœ¨ \ascii\ â€œç¼–ç&nbsp;è¡¨â€ï¼Œæ¯”å¦‚\knuth{ç¬¬~367~é¡µ}é‡Œé¢ï¼Œä½&nbsp;å¯ä»¥æ‰¾åˆ°è¿™äº›ç¼–ç&nbsp;çš„å«ä¹‰ã€‚
ç¼–ç&nbsp;åœ¨ $32$--$126$ ä¹‹é—´çš„å­—ç¬¦ä¸ºâ€œå¯æ‰“å°å­—ç¬¦^^{å¯æ‰“å°å­—ç¬¦}â€ï¼Œ
æ¯”å¦‚å­—æ¯ï¼Œæ•°å­—å’Œæ&nbsp;‡ç‚¹ç¬¦å·ã€‚
å…¶ä½™å­—ç¬¦ä¸ºâ€œ^{æŽ§åˆ¶å­—ç¬¦}â€ï¼Œé€šå¸¸ç”¨äºŽï¼ˆåœ¨è®¡ç®—æœºå·¥ä¸šä¸­ï¼Œè€Œä¸æ˜¯ \TeX\ ä¸­ï¼‰
æŽ§åˆ¶è¾“å…¥\slash è¾“å‡ºå’Œæ•°æ®äº¤æ¢è®¾å¤‡ã€‚
æ¯”å¦‚ï¼Œ\ascii\ ç&nbsp; $84$ å¯¹åº”äºŽå­—ç¬¦`T'ï¼Œ
è€Œ \ascii\ ç&nbsp; $12$ å¯¹åº”äºŽâ€œæ¢é¡µâ€åŠŸèƒ½ï¼ˆå¤§å¤šæ•°æ‰“å°æœºéƒ½å°†å®ƒè§£é‡Šä¸ºâ€œå¼€å§‹æ–°é¡µâ€ï¼‰ã€‚
è™½ç„¶ \ascii\ æ&nbsp;‡å‡†æŒ‡å®šäº†æŽ§åˆ¶å­—ç¬¦çš„å«ä¹‰ï¼Œ
ä½†å¾ˆå¤šè®¾å¤‡ï¼Œæ¯”å¦‚è°ƒåˆ¶è§£è°ƒå™¨å’Œæ‰“å°æœºï¼Œéƒ½å°†æŽ§åˆ¶å­—ç¬¦ç”¨äºŽæ&nbsp;‡å‡†è§„å®šä¹‹å¤–çš„ç›®çš„ã€‚

%The meaning of a
%character in \TeX\ is usually consistent with its meaning in standard \ascii,
%and \refterm{fonts:font} that contain \ascii\
%printable characters usually have those characters in the same positions as
%their \ascii\ counterparts.
%But some fonts, notably those used for math, replace the \ascii\
%printable characters by other characters unrelated to the \ascii\ characters.
%For instance, the Computer Modern math font
%^^{Computer Modern fonts}
%|cmsy10| has the math symbol
%`{$\forall$}' in place of the \ascii\ digit `8'.
\TeX\ ä¸­å­—ç¬¦çš„å«ä¹‰é€šå¸¸å’Œæ&nbsp;‡å‡† \ascii ä¸­çš„å«ä¹‰ä¸€è‡´ã€‚
è€Œä¸”åœ¨åŒ…å« \ascii\ å¯æ‰“å°å­—ç¬¦çš„\refterm{å­—ä½“}ä¸­ï¼Œ
è¿™äº›å­—ç¬¦æ‰€åœ¨çš„ä½ç½®ä¹Ÿå’Œ \ascii\ ä¸­çš„ä¸€æ&nbsp;·ã€‚
ä½†æœ‰äº›å­—ä½“ï¼Œç‰¹åˆ«æ˜¯æ•°å­¦å­—ä½“ï¼Œ
å°† \ascii\ å¯æ‰“å°å­—ç¬¦æ›¿æ¢ä¸ºä¸Ž \ascii\ æ—&nbsp;å…³çš„å­—ç¬¦ã€‚
æ¯”å¦‚ï¼Œè®¡ç®—æœºçŽ°ä»£æ•°å­¦å­—ä½“ ^^{è®¡ç®—æœºçŽ°ä»£å­—ä½“} |cmsy10|
åœ¨ \ascii\ æ•°å­— `8' çš„ä½ç½®ä¸Šæ˜¯æ•°å­¦ç¬¦å· `{$\forall$}'ã€‚

\endconcept

%\conceptindex{assignments}
%\concept assignment
\conceptindex{èµ‹å€¼}
\concept èµ‹å€¼

%An \defterm{assignment} is a construct that tells \TeX\ to assign a
%value to a register,
%^^{registers//assignment to}
%to one of its internal
%\refterm{parameters:parameter},
%^^{parameters//assignments to}
%to an entry in one of its internal tables,
%or to a \refterm{control sequence}. Some examples of assignments are:
\defterm{èµ‹å€¼}ï¼ˆassignmentï¼‰æ˜¯ä¸€ç§ä¸º \TeX\ çš„å¯„å­˜å™¨ï¼Œ
å†…éƒ¨\refterm{å‚æ•°}ï¼Œå†…éƒ¨è¡¨æ&nbsp;¼é¡¹ï¼Œæˆ–è€…\refterm{æŽ§åˆ¶åºåˆ—}åˆ†é…å€¼çš„ç»“æž„ã€‚
^^{å¯„å­˜å™¨//ç»™å¯„å­˜å™¨èµ‹å€¼}^^{å‚æ•°//ç»™å‚æ•°èµ‹å€¼}
èµ‹å€¼çš„ä¸€äº›ä¾‹å­å¦‚ä¸‹ï¼š

\csdisplay
\tolerance = 2000
\advance\count12 by 17
\lineskip = 4pt plus 2pt
\everycr = {\hskip 3pt \relax}
\catcode\`@ = 11
\let\graf = \par
\font\myfont = cmbx12
|

%The first assignment indicates that \TeX\ should assign the numeric value
%|2000| to the numeric parameter |\tolerance|, i.e., make the value of
%|\tolerance| be $2000$.  The other assignments are similar.  The `|=|'
%and the spaces are optional, so you could also write the first
%assignment more tersely as:
ç¬¬ä¸€ä¸ªèµ‹å€¼è¦æ±‚ \TeX\ åˆ†é…æ•°å€¼ |2000| ç»™æ•°å€¼å‚æ•° |\tolerance|ï¼Œ
å³è®© |\tolerance| çš„å€¼ç­‰äºŽ $2000$ã€‚å…¶ä»–èµ‹å€¼ç±»ä¼¼ã€‚
èµ‹å€¼ä¸­çš„ `|=|' å’Œç©ºæ&nbsp;¼æ˜¯å¯çœç•¥çš„ï¼Œ
å›&nbsp;æ­¤ä½&nbsp;ä¹Ÿå¯ä»¥æŠŠç¬¬ä¸€ä¸ªèµ‹å€¼æ”¹å†™ä¸ºä¸‹é¢æ›´ç´§å‡‘çš„å½¢å¼ï¼š

\csdisplay
\tolerance2000
|

%See \knuth{pages~276--277} for the detailed syntax of assignments.
%\endconcept
åœ¨ \knuth{ç¬¬~276--277~é¡µ}ä¸­å¯¹èµ‹å€¼è¯­æ³•æœ‰è¯¦ç»†ä»‹ç»ã€‚
\endconcept


\bookmark{2}{ä»¥Bå¼€å¤´}
%\concept badness
\concept åŠ£åº¦

%The \defterm{badness} of a line is a measure of how far the interword
%spaces ^^{interword spacing}
%in the line deviate from their natural values,
%i.e., the values specified in the \refterm{fonts:font} used in the line.
%The greater the
%deviation, the greater the badness.  Similarly, the badness of a page is
%a measure of how far the spaces between the boxes that
%make up the page deviate from their ideal values.  (Ordinarily, most of these
%boxes are single lines of paragraphs.)
æ–‡æœ¬è¡Œçš„\defterm{åŠ£åº¦}ï¼ˆbadnessï¼‰å€¼æµ‹é‡è¯¥è¡Œçš„å­—é—´éš”åç¦»å®ƒä»¬çš„è‡ªç„¶å€¼å¤šè¿œï¼Œ
^^{å•è¯é—´è·}
å…¶ä¸­è‡ªç„¶å€¼å°±æ˜¯æ–‡æœ¬è¡Œæ‰€ç”¨\refterm{å­—ä½“}ä¸­æŒ‡å®šçš„å€¼ã€‚
åç¦»è¶Šå¤§ï¼ŒåŠ£åº¦å°±è¶Šå¤§ã€‚ç±»ä¼¼åœ°ï¼Œé¡µé¢çš„åŠ£åº¦æµ‹é‡é¡µé¢ç›’å­çš„é—´éš”åç¦»å®ƒä»¬çš„ç†æƒ³å€¼å¤šè¿œã€‚%
ï¼ˆä¸€èˆ¬åœ°ï¼Œè¿™äº›ç›’å­å¤§å¤šæ•°æ˜¯æ®µè½çš„æ–‡æœ¬è¡Œã€‚ï¼‰

%More precisely, the badness
%is a measure of how much the \refterm{glue} associated with these spaces needs
%to stretch or shrink to fill the line or page exactly.
%\TeX\ computes the badness as approximately $100$
%times the cube of the ratio by which it must stretch or shrink the glue
%in order to compose a line or a page of the required size.
%^^{line breaks//badness for}^^{page breaks//badness for}
%For example, stretching the glue by twice its stated stretch yields a ratio of
%$2$ and a badness of $800$; stretching it by half its stated stretch yields
%a ratio of $.5$ and a badness of $13$.
%\TeX\ treats a badness greater than $10000$ as
%equal to $10000$.
æ›´å‡†ç¡®åœ°è¯´ï¼ŒåŠ£åº¦æµ‹é‡è¿™äº›é—´éš”å¯¹åº”çš„\refterm{ç²˜è¿ž}è¦ä¼¸ç¼©å¤šå°‘æ‰èƒ½æ­£å¥½å¡«æ»¡æ–‡æœ¬è¡Œæˆ–é¡µé¢ã€‚
\TeX\ è®©åŠ£åº¦è¿‘ä¼¼ç­‰äºŽï¼Œä¸ºç»„æˆæ‰€éœ€å°ºå¯¸çš„è¡Œæˆ–é¡µï¼Œç²˜è¿žå¿…é¡»ä¼¸ç¼©çš„æ¯”ä¾‹çš„ç«‹æ–¹çš„ $100$ å€ã€‚
^^{æ–­è¡Œ//æ–­è¡Œçš„åŠ£åº¦}^^{åˆ†é¡µ//åˆ†é¡µçš„åŠ£åº¦}
ä¾‹å¦‚ï¼Œç²˜è¿žä¼¸é•¿äº†ç»™å®šä¼¸é•¿é‡çš„ä¸¤å€å¾—åˆ°çš„æ¯”ä¾‹ä¸º $2$ è€ŒåŠ£åº¦ä¸º $800$ï¼›
ç²˜è¿žä¼¸é•¿äº†ç»™å®šä¼¸é•¿é‡çš„ä¸€åŠå¾—åˆ°çš„æ¯”ä¾‹ä¸º $.5$ è€ŒåŠ£åº¦ä¸º $13$ã€‚
\TeX\ å°†è¶…è¿‡ $10000$ çš„åŠ£åº¦è§†ä¸ºç­‰äºŽ $10000$ã€‚

%\TeX\ uses the badness of a line when it's breaking a paragraph into lines
%\seeconcept{line break}.  It uses this information in two stages:
\TeX\ åˆ†æ®µä¸ºè¡Œæ—¶ä½¿ç”¨è¡ŒåŠ£åº¦\seeconcept{æ–­è¡Œç‚¹}ã€‚
å®ƒåœ¨ä¸‹é¢ä¸¤ä¸ªæ­¥éª¤ä¸­ä½¿ç”¨è¡ŒåŠ£åº¦ï¼š

%\olist
%\li When \TeX\ is choosing line breaks,
%it will eventually accept lines whose badness is less than or equal to
%the value of |\tolerance| (\xref \tolerance).  If \TeX\ cannot avoid setting
%a line whose badness exceeds this
%value, it will set it as an underfull or overfull \refterm{hbox}.
%\TeX\ will set
%an overfull or underfull hbox only as a last resort, i.e., only if there's no
%other way to break the paragraph into lines.
%\li Assuming that all lines are tolerably bad, \TeX\ uses the badness of lines
%in order to evaluate the different ways of breaking the paragraph into lines.
%During this evaluation it associates ``demerits'' with each potential line.
%The badness increases the number of \refterm{demerits}.
%\TeX\ then
%breaks the paragraph into lines in a way that minimizes the
%total demerits for the paragraph.
%Most
%often \TeX\ arranges the paragraph in a way that minimizes the badness of the
%worst line.  See \knuth{pages~97--98} for the details of how \TeX\
%breaks a paragraph into lines.
%\endolist
\olist
\li åœ¨é€‰æ‹©æ–­è¡Œç‚¹æ—¶ï¼Œ\TeX\ è¦æ±‚å„è¡ŒåŠ£åº¦å°äºŽæˆ–ç­‰äºŽ |\tolerance| å€¼ï¼ˆ\xref \tolerance ï¼‰ã€‚
å¦‚æžœä¸å¾—ä¸æ”¾ç½®ä¸€ä¸ªåŠ£åº¦è¶…è¿‡æ­¤å€¼çš„è¡Œï¼Œ\TeX\ å°†æŠŠå®ƒè®¾å®šä¸ºæœªæ»¡æˆ–è¿‡æ»¡\refterm{æ°´å¹³ç›’å­}ã€‚
\TeX\ ä»…åœ¨ä¸‡ä¸å¾—å·²æ—¶æ‰ä¼šæ”¾ç½®æœªæ»¡æˆ–è¿‡æ»¡æ°´å¹³ç›’å­ï¼Œå³ä»…åœ¨æ²¡æœ‰å…¶ä»–æ–¹æ³•åˆ†æ®µä¸ºè¡Œæ—¶ã€‚
\li å‡è®¾å„è¡Œéƒ½ç›¸å½“ç³Ÿç³•ï¼Œ\TeX\ ç”¨è¡ŒåŠ£åº¦è¯„ä»·ä¸åŒçš„åˆ†æ®µä¸ºè¡Œæ–¹å¼ã€‚
åœ¨è¯„ä»·è¿‡ç¨‹ä¸­å®ƒå¯¹æ¯ä¸ªå¯èƒ½çš„è¡Œç»“åˆä¸€ä¸ª``ç¼ºé™·''ã€‚åŠ£åº¦ä¼šå¢žåŠ&nbsp;\refterm{ç¼ºé™·}å€¼ã€‚
ç„¶åŽ \TeX\ é€‰æ‹©è®©æ®µè½æ€»ç¼ºé™·æœ€å°çš„æ–¹å¼æ¥åˆ†æ®µä¸ºè¡Œã€‚
åœ¨å¤šæ•°æƒ…å†µä¸‹ï¼Œ\TeX\ ä½¿ç”¨è®©æœ€ç³Ÿç³•è¡Œçš„åŠ£åº¦æœ€å°çš„æ–¹å¼å®‰æŽ’æ®µè½ã€‚
è¯·å‚é˜…\knuth{ç¬¬~97--98~é¡µ}ä¸­ \TeX\ å¦‚ä½•åˆ†æ®µä¸ºè¡Œçš„ç»†èŠ‚ã€‚
\endolist

%\TeX's procedure for assembling a sequence of lines and other vertical
%mode material into pages is similar to its procedure for line breaking.
%However, assembling pages is
%not as complicated because \TeX\ only considers one page at a time
%when it looks for page breaks.
%Thus the only decision it must make is where to end the current page.
%In contrast, when \TeX\ is choosing line breaks it
%considers several of them simultaneously.
%(Most word processors choose line breaks one at a time,
%and thus don't do as good a job at it as \TeX\ does.)
%See \knuth{pages~111--113} for the details of how \TeX\ chooses its
%page breaks.
%\endconcept
\TeX å°†ä¸€ç³»åˆ—æ–‡æœ¬è¡Œå’Œå…¶ä»–ç«–ç›´æ¨¡å¼ç´&nbsp;æç»„è£…ä¸ºé¡µé¢çš„è¿‡ç¨‹ä¸Žæ–­è¡Œçš„è¿‡ç¨‹ç±»ä¼¼ã€‚
ä½†æ˜¯ç»„è£…é¡µé¢æ²¡é‚£ä¹ˆå¤æ‚ï¼Œè¿™æ˜¯ç”±äºŽ \TeX\ å¯»æ‰¾åˆ†é¡µç‚¹æ—¶æ¯æ¬¡åªè€ƒè™‘ä¸€ä¸ªé¡µé¢ï¼Œ
å›&nbsp;æ­¤åªéœ€è¦å†³å®šåœ¨å“ªé‡Œç»“æŸå½“å‰é¡µé¢ã€‚
ä¸Žæ­¤ç›¸åï¼Œå½“é€‰æ‹©æ–­è¡Œç‚¹æ—¶ \TeX\ è¦åŒæ—¶è€ƒè™‘å¤šè¡Œã€‚%
ï¼ˆå¤§å¤šæ•°æ–‡å­—å¤„ç†å™¨æ¯æ¬¡åªé€‰æ‹©ä¸€ä¸ªæ–­è¡Œç‚¹ï¼Œå›&nbsp;è€Œæ–­è¡Œåšå¾—ä¸å¦‚ \TeX\ ã€‚ï¼‰%
è¯·å‚é˜…\knuth{ç¬¬~111--113~é¡µ}ä¸­ \TeX\ å¦‚ä½•é€‰æ‹©åˆ†é¡µç‚¹çš„ç»†èŠ‚ã€‚
\endconcept


%\conceptindex{baselines}
%\concept baseline
\concept åŸºçº¿

%The \defterm{baseline} of a \refterm{box} is an imaginary line that runs
%across the box.
%^^{boxes//baselines of}
%When \TeX\ is
%assembling the boxes of a \refterm{horizontal list} into a larger box,
%it lines up the boxes in the list so that their baselines coincide.
%As an analogy, think of writing on a pad of ruled paper.  Each letter
%that you write has
%an implicit baseline.
%In order to line up the letters horizontally,
%you place them on the pad so that their baselines
%agree with the light guidelines that are printed on the pad.
ç›’å­çš„\defterm{åŸºçº¿}ï¼ˆbaselineï¼‰æ˜¯ä¸€æ¡æƒ³è±¡ä¸­çš„æ¨ªç©¿ç›’å­çš„çº¿ã€‚
^^{ç›’å­//ç›’å­çš„åŸºçº¿}
åœ¨å°†\refterm{æ°´å¹³åˆ—è¡¨}çš„ç›’å­ç»„è£…ä¸ºæ›´å¤§çš„ç›’å­æ—¶ï¼Œ
\TeX\ å°†åˆ—è¡¨ä¸­å„ç›’å­å¯¹é½ï¼Œä»¥è®©å®ƒä»¬çš„åŸºçº¿é‡åˆã€‚
æ‰“ä¸ªæ¯”æ–¹ï¼Œæƒ³è±¡ä½&nbsp;åœ¨æ&nbsp;‡çº¿æœ¬ä¸Šå†™å­—ï¼Œä½&nbsp;æ‰€å†™çš„æ¯ä¸ªå­—æ¯éƒ½æœ‰ä¸€æ¡éšå«åŸºçº¿ã€‚
ä¸ºè®©å„å­—æ¯æ°´å¹³å¯¹é½ï¼Œä½&nbsp;ä¼šè®©å®ƒä»¬çš„åŸºçº¿å’Œæœ¬å­ä¸Šå°åˆ·çš„æµ…è‰²æç¤ºçº¿é‡åˆã€‚

%A box can and often does extend below its baseline.
%For instance, the letter `g' extends below the baseline of its box because
%it has a descender (the bottom loop of the `g').
%\endconcept
ç›’å­å¯ä»¥è€Œä¸”ä¹Ÿç»å¸¸ä¼šå»¶ä¼¸åˆ°åŸºçº¿ä¸‹è¾¹ã€‚
æ¯”å¦‚ï¼Œå­—æ¯ `g' å°±å»¶ä¼¸åˆ°å…¶ç›’å­çš„åŸºçº¿ä¸‹è¾¹ï¼Œå›&nbsp;ä¸ºå®ƒæœ‰ä¸€ä¸ªé™éƒ¨ï¼ˆ`g' åº•éƒ¨å¼¯æ›²éƒ¨åˆ†ï¼‰ã€‚
\endconcept


%\conceptindex{boxes}
%\concept box
\concept ç›’å­

%A \defterm{box}  is a rectangle of material to be typeset.  A single
%\refterm{character} is a box by itself,
%and an entire page is also a box.
%\TeX\ forms a page as a nest of boxes within boxes within boxes. The
%outermost box is the page itself, the innermost boxes are mostly
%single characters, and single lines are boxes that are
%somewhere in the middle.
\defterm{ç›’å­}ï¼ˆboxï¼‰æ˜¯è¦æŽ’ç‰ˆçš„çŸ©é˜µç´&nbsp;æã€‚
å•ä¸ª\refterm{å­—ç¬¦}è‡ªèº«å°±æ˜¯ä¸€ä¸ªç›’å­ï¼Œæ•´ä¸ªé¡µé¢åŒæ&nbsp;·ä¹Ÿæ˜¯ä¸€ä¸ªç›’å­ã€‚
\TeX\ ç”¨ç›’å­å¥—ç›’å­å¥—ç›’å­ä»¥å½¢æˆé¡µé¢ã€‚æœ€å¤–å±‚ç›’å­å°±æ˜¯é¡µé¢è‡ªèº«ï¼Œ
æœ€å†…å±‚ç›’å­å¤šåŠæ˜¯å•ä¸ªå­—ç¬¦ï¼Œè€Œå•ä¸ªæ–‡æœ¬è¡Œçš„ç›’å­åœ¨ä¸­é—´æŸä¸ªåœ°æ–¹ã€‚

%\TeX\ carries out most of its box-building activities implicitly as it
%constructs paragraphs and pages.
%You can construct boxes explicitly
%using a number of \TeX\ \refterm{commands}, notably
%^|\hbox| \ctsref{\hbox},
%^|\vbox| \ctsref{\vbox}, and
%^|\vtop| \ctsref{\vtop}.
%The ^|\hbox| command
%constructs a box by appending smaller boxes horizontally from left to right;
%it operates on a \refterm{horizontal list} and yields
%an \refterm{hbox} ^^{hboxes} (horizontal box).
%^^{horizontal lists}
%The ^|\vbox| and |\vtop| commands
%construct a box by appending smaller boxes vertically from top to bottom;
%^^{vboxes}
%they operate on a \refterm{vertical list}
%and yield a \refterm{vbox} ^^{vboxes} (vertical box).
%^^{vertical lists}
%These horizontal and vertical lists can include not just smaller boxes but
%several other kinds of entities as well, e.g.,  \refterm{glue} and
%kerns.
%^^{kerns//as list items}
\TeX\ åœ¨æž„é€&nbsp;æ®µè½å’Œé¡µé¢æ—¶éšå¼æ‰§è¡Œå¤§å¤šæ•°ç›’å­æž„å»ºæ´»åŠ¨ã€‚
åˆ©ç”¨ä¸€äº› \TeX\ \refterm{å‘½ä»¤}ï¼Œæ¯”å¦‚ ^|\hbox|\ctsref{\hbox}ã€
^|\vbox|\ctsref{\vbox}å’Œ ^|\vtop|\ctsref{\vtop}ï¼Œä½&nbsp;å¯ä»¥æ˜¾å¼æž„é€&nbsp;ç›’å­ã€‚
^|\hbox| å‘½ä»¤é€šè¿‡ä»Žå·¦åˆ°å³æ°´å¹³æ·»åŠ&nbsp;è¾ƒå°çš„ç›’å­æž„é€&nbsp;ä¸€ä¸ªç›’å­ï¼›
å®ƒå¯¹ä¸€ä¸ª\refterm{æ°´å¹³åˆ—è¡¨}è¿›è¡Œæ“ä½œä»¥ç”Ÿæˆä¸€ä¸ª\refterm{æ°´å¹³ç›’å­}^^{æ°´å¹³ç›’å­}ï¼ˆhorizontal boxï¼‰ã€‚
^^{æ°´å¹³åˆ—è¡¨}
^|\vbox| å’Œ |\vtop| å‘½ä»¤é€šè¿‡ä»Žä¸Šåˆ°ä¸‹ç«–ç›´æ·»åŠ&nbsp;è¾ƒå°çš„ç›’å­æž„é€&nbsp;ä¸€ä¸ªç›’å­ï¼›
å®ƒä»¬å¯¹ä¸€ä¸ª\refterm{ç«–ç›´åˆ—è¡¨}è¿›è¡Œæ“ä½œä»¥ç”Ÿæˆä¸€ä¸ª\refterm{ç«–ç›´ç›’å­}^^{ç«–ç›´ç›’å­}ï¼ˆvertical boxï¼‰ã€‚
^^{ç«–ç›´åˆ—è¡¨}
è¿™äº›æ°´å¹³åˆ—è¡¨å’Œç«–ç›´åˆ—è¡¨ä¸ä»…å¯ä»¥åŒ…å«è¾ƒå°çš„ç›’å­ï¼Œ
è¿˜å¯ä»¥åŒ…å«å…¶ä»–å‡&nbsp;ç§å®žä½“ï¼Œæ¯”å¦‚\refterm{ç²˜è¿ž}å’Œç´§æŽ’ã€‚
^^{ç´§æŽ’//ä½œä¸ºåˆ—è¡¨é¡¹ç›®}

%A box has \refterm{height}, \refterm{depth}, and \refterm{width},
%^^{height} ^^{depth} ^^{width}
%like this:
%\vdisplay{\offinterlineskip\sevenrm
%   \halign{#&amp;#&amp;\kern3pt \hfil#\hfil\cr
%      &amp;\hrulefill\cr
%      &amp;\vrule
%         \vtop to .7in{\vss \hbox to .9in{\hss baseline\hss}\vskip4pt}%
%       \vrule
%      &amp;\labelledheight{.7in}{height}\cr
%      %
%       \vbox to 0pt{
%          \vss
%          \hbox{reference point \hbox to 15pt{\rightarrowfill}%
%          \hskip3pt}%
%       \kern-4.5pt}&amp;{\box\refpoint}\hrulefill\cr
%      %
%      \omit
%      &amp;\vrule\hfil\vrule
%      &amp;\labelledheight{.4in}{depth}\cr
%      %
%      &amp;\hrulefill\cr
%      %
%   \noalign{\vskip3pt}%
%      &amp;\leftarrowfill { width }\rightarrowfill\cr
%}}
ç›’å­æœ‰\refterm{é«˜åº¦}ã€\refterm{æ·±åº¦}å’Œ\refterm{å®½åº¦}ï¼Œ
^^{é«˜åº¦} ^^{æ·±åº¦} ^^{å®½åº¦}
å¦‚ä¸‹æ‰€ç¤º
\vdisplay{\offinterlineskip\sevenrm
   \halign{#&amp;#&amp;\kern3pt \hfil#\hfil\cr
      &amp;\hrulefill\cr
      &amp;\vrule
         \vtop to .7in{\vss \hbox to .9in{\hss baseline\hss}\vskip4pt}%
       \vrule
      &amp;\labelledheight{.7in}{height}\cr
      %
       \vbox to 0pt{
          \vss
          \hbox{reference point \hbox to 15pt{\rightarrowfill}%
          \hskip3pt}%
       \kern-4.5pt}&amp;{\box\refpoint}\hrulefill\cr
      %
      \omit
      &amp;\vrule\hfil\vrule
      &amp;\labelledheight{.4in}{depth}\cr
      %
      &amp;\hrulefill\cr
      %
   \noalign{\vskip3pt}%
      &amp;\leftarrowfill { width }\rightarrowfill\cr
}}

%^^{baselines}
%The \refterm{baseline} is like one of
%the light guidelines on a pad of ruled paper.
%The boxes for letters such as `g'
%extend below the baseline; the boxes for letters such as `h' don't.
%The height of a box is the distance that the box extends above its
%baseline, while its depth is the distance that it extends below its
%baseline. \bix^^{reference point}
%The \minref{reference point}
%of a box is the place where its baseline intersects its left edge.
^^{åŸºçº¿}
\refterm{åŸºçº¿}ï¼ˆbaselineï¼‰å¦‚åŒæ&nbsp;‡çº¿æœ¬ä¸Šçš„æµ…è‰²æç¤ºçº¿ã€‚
åƒ `g' è¿™æ&nbsp;·çš„å­—æ¯ç›’å­å»¶ä¼¸åˆ°åŸºçº¿ä¸‹è¾¹ï¼›è€Œåƒ `h' è¿™æ&nbsp;·çš„å­—æ¯ç›’å­å´ä¸ä¼šã€‚
ç›’å­çš„é«˜åº¦æ˜¯ç›’å­åœ¨åŸºçº¿ä¸Šè¾¹çš„å»¶ä¼¸è·ç¦»ï¼Œè€Œå®ƒçš„æ·±åº¦æ˜¯åœ¨åŸºçº¿ä¸‹è¾¹çš„å»¶ä¼¸è·ç¦»ã€‚
\bix^^{åŸºå‡†ç‚¹}
ç›’å­çš„\minref{åŸºå‡†ç‚¹}ï¼ˆreference pointï¼‰æ˜¯å®ƒçš„åŸºçº¿ä¸Žå·¦è¾¹ç¼˜çš„äº¤ç‚¹ã€‚

%{\tighten
%\TeX\ builds an hbox $H$ from a horizontal list by assuming
%a reference point for $H$ and then appending the items in the list to $H$
%one by one from left to right.
%Each box in the list is placed so that its baseline coincides with the
%baseline of $H$\kern-2pt,
%i.e., the component boxes are lined up horizontally.%
%\footnote{If a box is moved up or down with ^|\raise| or
%^|\lower|, \TeX\ uses its reference point before the move when
%placing it.}
%The height of $H$ is the
%height of the tallest box in the list, and the depth of $H$ is the depth
%of the deepest box in the list.
%The width of $H$ is the sum of the
%widths of all the items in the list.
%If any of these items are \refterm{glue} and \TeX\ needs to stretch or shrink
%the glue,
%the width of $H$ will be larger or smaller accordingly.
%See \knuth{page~77} for the~details.
%\par}
åœ¨ä»Žæ°´å¹³åˆ—è¡¨æž„å»ºæ°´å¹³ç›’å­ $H$ æ—¶ï¼Œ\TeX\ å…ˆè®¾å®š $H$ çš„åŸºå‡†ç‚¹ï¼Œ
ç„¶åŽä»Žå·¦åˆ°å³é€ä¸ªæ·»åŠ&nbsp;åˆ—è¡¨ä¸­çš„é¡¹ç›®åˆ° $H$ ä¸­ã€‚
åˆ—è¡¨ä¸­çš„æ¯ä¸ªç›’å­æŒ‰ç…§å…¶åŸºçº¿ä¸Ž $H$ çš„åŸºçº¿é‡åˆçš„æ–¹å¼æ”¾ç½®ï¼Œ
å³è®©ç»„æˆç›’å­æ°´å¹³æŽ’æˆä¸€æŽ’ã€‚%
\footnote{è‹¥ç›’å­è¢« ^|\raise| æˆ– ^|\lower| å‡é«˜æˆ–é™ä½Žäº†ï¼Œ
\TeX\ æ”¾ç½®æ—¶ä½¿ç”¨å®ƒç§»åŠ¨ä¹‹å‰çš„åŸºå‡†ç‚¹ã€‚}
$H$ çš„é«˜åº¦ç­‰äºŽåˆ—è¡¨ä¸­æœ€é«˜ç›’å­çš„é«˜åº¦ï¼Œè€Œæ·±åº¦ç­‰äºŽåˆ—è¡¨ä¸­æœ€æ·±ç›’å­çš„æ·±åº¦ã€‚
$H$ çš„å®½åº¦ç­‰äºŽåˆ—è¡¨ä¸­æ‰€æœ‰é¡¹ç›®çš„å®½åº¦ä¹‹å’Œã€‚
å¦‚æžœè¿™äº›é¡¹ç›®ä¸­æœ‰çš„æ˜¯\refterm{ç²˜è¿ž}ï¼Œ\TeX\ éœ€è¦ä¼¸ç¼©ç²˜è¿žï¼Œ
ä»Žè€Œ $H$ çš„å®½åº¦å°†ç›¸åº”åœ°å˜å¤§æˆ–å˜å°ã€‚è¯·å‚é˜…\knuth{ç¬¬~77~é¡µ}çš„ç»†èŠ‚æè¿°ã€‚

%Similarly, \TeX\ builds a vbox $V$ from a vertical list by assuming a
%temporary reference point for $V$ and then appending the items in the
%list to $V$ one by one from top to bottom.  Each box in the list is
%placed so that its reference point is lined up vertically with the
%reference point of \Vperiod.\footnote{If a box is moved left or right with
%^|\moveleft| or ^|\moveright|, \TeX\ uses its reference point before the
%move when placing it.} As each box other than the first one is added to
%\Vcomma, \TeX\ puts \minref{interline glue} just above it.  (This
%^{interline glue} has no analogue for hboxes.)  The width of $V$ is the
%width of the widest box in the list, and the vertical extent (height
%plus depth) of $V$ is the sum of the vertical extents of all the
%items in the list.
ç±»ä¼¼åœ°ï¼Œåœ¨ä»Žç«–ç›´åˆ—è¡¨æž„å»ºç«–ç›´ç›’å­ $V$ æ—¶ï¼Œ\TeX\ å…ˆè®¾å®š $H$ çš„ä¸´æ—¶åŸºå‡†ç‚¹ï¼Œ
ç„¶åŽä»Žä¸Šåˆ°ä¸‹é€ä¸ªæ·»åŠ&nbsp;åˆ—è¡¨ä¸­çš„é¡¹ç›®åˆ° $V$ ä¸­ã€‚
åˆ—è¡¨ä¸­çš„æ¯ä¸ªç›’å­æŒ‰ç…§å…¶åŸºå‡†ç‚¹ä¸Ž $V$ çš„åŸºå‡†ç‚¹ç«–ç›´å¯¹é½çš„æ–¹å¼æ”¾ç½®ã€‚%
\footnote{å¦‚æžœç›’å­è¢« ^|\moveleft| æˆ– ^|\moveright| å·¦ç§»æˆ–å³ç§»äº†ï¼Œ
\TeX\ æ”¾ç½®æ—¶ä½¿ç”¨å®ƒç§»åŠ¨ä¹‹å‰çš„åŸºå‡†ç‚¹ã€‚}
åœ¨ç¬¬ä¸€ä¸ªé™¤å¤–çš„æ¯ä¸ªç›’å­åŠ&nbsp;åˆ° $V$ æ—¶ï¼Œ\TeX\ åœ¨å®ƒä¹‹å‰æ”¾ç½®\minref{è¡Œé—´ç²˜è¿ž}ã€‚%
ï¼ˆåœ¨æ°´å¹³ç›’å­ä¸­æ²¡æœ‰å’Œ^{è¡Œé—´ç²˜è¿ž}å¯¹åº”çš„ä¸œè¥¿ã€‚ï¼‰%
$V$ çš„å®½åº¦ç­‰äºŽåˆ—è¡¨ä¸­æœ€å®½ç›’å­çš„å®½åº¦ï¼Œ
è€Œ $V$ çš„ç«–ç›´é•¿åº¦ï¼ˆé«˜åº¦åŠ&nbsp;æ·±åº¦ï¼‰ç­‰äºŽåˆ—è¡¨ä¸­æ‰€æœ‰é¡¹ç›®çš„ç«–ç›´é•¿åº¦ä¹‹å’Œã€‚

%\bix^^|\vbox|
%\bix^^|\vtop|
%The difference between |\vbox| and |\vtop| is in how they partition
%the vertical extent of $V$ into a height and a depth.
%Choosing the reference point of $V$ determines that partition.
%\ulist
%\li For |\vbox|, \TeX\ places the reference point on a horizontal line
%with the reference point of the last component box
%or rule of \Vcomma, except
%that if the last box (or rule) is followed by glue or a kern, \TeX\ places the
%reference point at the very bottom of \Vperiod.%
%\footnote{The depth is limited by
%the parameter ^|\boxmaxdepth| \ctsref{\boxmaxdepth}.}
\bix^^|\vbox|
\bix^^|\vtop|
|\vbox| å’Œ |\vtop| çš„åŒºåˆ«åœ¨äºŽå®ƒä»¬å¦‚ä½•å°† $V$ çš„ç«–ç›´é•¿åº¦åˆ’åˆ†ä¸ºé«˜åº¦å’Œæ·±åº¦ã€‚
é€‰å®šäº† $V$ çš„åŸºå‡†ç‚¹å°±å†³å®šäº†åˆ’åˆ†æ–¹å¼ã€‚
\ulist
\li å¯¹äºŽ |\vbox|ï¼Œ\TeX\ å°†åŸºå‡†ç‚¹æ”¾åœ¨ $V$ çš„æœ€åŽä¸€ä¸ªç»„æˆç›’å­æˆ–æ&nbsp;‡çº¿çš„åŸºå‡†ç‚¹æ‰€åœ¨çš„æ°´å¹³çº¿ä¸Šï¼Œ
é™¤éžæœ€åŽä¸€ä¸ªç›’å­ï¼ˆæˆ–æ&nbsp;‡çº¿ï¼‰ä¹‹åŽè¿˜æœ‰ç²˜è¿žæˆ–ç´§æŽ’ï¼Œæ­¤æ—¶ \TeX\ å°†åŸºå‡†ç‚¹æ”¾åœ¨ $V$ çš„æœ€åº•ç«¯ã€‚
\footnote{æ·±åº¦è¿˜å— ^|\boxmaxdepth| å‚æ•°\ctsref{\boxmaxdepth}é™åˆ¶ã€‚}

%\li For |\vtop|, \TeX\ places the reference point on a horizontal line
%with the reference point of the first component box or rule of \Vcomma,
%except that if the first box (or rule)
%is preceded by glue or a kern, \TeX\ places
%the reference point at the very top of \Vperiod.
\li å¯¹äºŽ |\vtop|ï¼Œ\TeX\ å°†åŸºå‡†ç‚¹æ”¾åœ¨ $V$ çš„ç¬¬ä¸€ä¸ªç»„æˆç›’å­æˆ–æ&nbsp;‡çº¿çš„åŸºå‡†ç‚¹æ‰€åœ¨çš„æ°´å¹³çº¿ä¸Šï¼Œ
é™¤éžç¬¬ä¸€ä¸ªç›’å­ï¼ˆæˆ–æ&nbsp;‡çº¿ï¼‰ä¹‹å‰è¿˜æœ‰ç²˜è¿žæˆ–ç´§æŽ’ï¼Œæ­¤æ—¶ \TeX\ å°†åŸºå‡†ç‚¹æ”¾åœ¨ $V$ çš„æœ€é¡¶ç«¯ã€‚

%\endulist
%\noindent
%Roughly speaking, then, |\vbox| puts the reference point near the bottom
%of the vbox and |\vtop| puts it near the top.
%When you want to align a
%row of vboxes so that their tops line up horizontally,
%you should usually use |\vtop| rather than |\vbox|.
%See \knuth{pages~78 and 80--81} for the
%details of how \TeX\ builds vboxes.
%\eix^^|\vbox|
%\eix^^|\vtop|
%\eix^^{reference point}
\endulist
\noindent
ç²—ç•¥åœ°è¯´ï¼Œ|\vbox| å°†åŸºå‡†ç‚¹æ”¾åœ¨é&nbsp;è¿‘ç«–ç›´ç›’å­åº•éƒ¨å¤„ï¼Œè€Œ|\vtop| å°†åŸºå‡†ç‚¹æ”¾åœ¨é&nbsp;è¿‘é¡¶éƒ¨å¤„ã€‚
åœ¨ä½&nbsp;æƒ³å¯¹é½ä¸€è¡Œç«–ç›´ç›’å­ï¼Œè®©å®ƒä»¬çš„é¡¶éƒ¨æ°´å¹³æŽ’æˆä¸€æŽ’æ—¶ï¼Œä½&nbsp;é€šå¸¸åº”è¯¥ä½¿ç”¨ |\vtop| è€Œä¸æ˜¯ |\vbox|ã€‚
è¯·å‚é˜…\knuth{ç¬¬~78 å’Œ 80--81~é¡µ}ä¸­ \TeX\ å¦‚ä½•æž„å»ºç«–ç›´ç›’å­çš„è¯¦ç»†ä¿¡æ¯ã€‚
\eix^^|\vbox|
\eix^^|\vtop|
\eix^^{åŸºå‡†ç‚¹}

%You have quite a lot of freedom in constructing boxes.  The typeset
%material in a box can extend beyond the boundaries of the box as it does
%for some letters (mostly italic or slanted ones).  The component boxes
%of a larger box can overlap.  A box can have negative width, depth, or
%height, though boxes like that are not often needed.
åœ¨æž„é€&nbsp;ç›’å­æ—¶ä½&nbsp;æœ‰æžå¤§çš„è‡ªç”±åº¦ã€‚ç›’å­ä¸­æŽ’ç‰ˆçš„ç´&nbsp;æå¯ä»¥è¶…å‡ºç›’å­çš„è¾¹ç•Œï¼Œ
å°±åƒæŸäº›å­—æ¯é‚£æ&nbsp;·ï¼ˆå¤šåŠæ˜¯é‚£äº›æ„å¤§åˆ©ä½“æˆ–æ–œä½“å­—æ¯ï¼‰ã€‚
å¤§ç›’å­çš„ç»„æˆç›’å­å¯ä»¥ç›¸äº’é‡å&nbsp;ã€‚
ç›’å­å¯ä»¥æœ‰è´Ÿçš„å®½åº¦ã€æ·±åº¦æˆ–é«˜åº¦ï¼Œå°½ç®¡è¿™ç§ç›’å­ä¸å¸¸ç”¨åˆ°ã€‚

%You can save a box in a box \refterm{register} and retrieve it later.
%Before using a box register,
%^^{box registers}
%you should reserve it and give it a name
%with the ^|\newbox| command \ctsref{\@newbox}.  See
%\conceptcit{register} for more information about box
%registers.
%\endconcept
ä½&nbsp;å¯ä»¥æŠŠä¸€ä¸ªç›’å­ä¿å­˜åœ¨ç›’å­\refterm{å¯„å­˜å™¨}ä¸­å¹¶åœ¨ç¨åŽå–å›žå®ƒã€‚
åœ¨ä½¿ç”¨ç›’å­å¯„å­˜å™¨ä¹‹å‰ï¼Œ
^^{ç›’å­å¯„å­˜å™¨}
ä½&nbsp;åº”å½“ç”¨ ^|\newbox| å‘½ä»¤\ctsref{\@newbox}é¢„ç•™å®ƒå¹¶ç»™å®ƒå‘½åã€‚
è¯·å‚é˜…\conceptcit{å¯„å­˜å™¨}ä¸­çš„å…³äºŽç›’å­å¯„å­˜å™¨çš„æ›´å¤šä¿¡æ¯ã€‚
\endconcept

\bookmark{2}{ä»¥Cå¼€å¤´}
%\conceptindex{category codes}
%\concept {category code}
\conceptindex{ç±»åˆ«ç&nbsp;}
\concept {ç±»åˆ«ç&nbsp;}

%The \defterm{category code} of a \refterm{character} determines that
%character's role in \TeX.
%^^{characters//category code of}
%For instance, \TeX\ assigns a certain role to
%letters, another to space characters, and so forth.  \TeX\ attaches a
%code to each character that it reads.  When \TeX\ reads the
%letter `|r|', for example, it ordinarily
%attaches the category code $11$ (letter)
%to it. For simple \TeX\ applications you won't need to worry about
%category codes, but they become important when you are trying to achieve
%special effects.
å­—ç¬¦çš„\defterm{ç±»åˆ«ç&nbsp;}ï¼ˆcategory codeï¼‰å†³å®šå®ƒåœ¨ \TeX\ ä¸­æ‰®æ¼”çš„è§’è‰²ã€‚
^^{å­—ç¬¦//å­—ç¬¦çš„ç±»åˆ«ç&nbsp;}
ä¾‹å¦‚ï¼Œ\TeX\ èµ‹äºˆæŸä¸ªè§’è‰²ç»™å­—æ¯ï¼Œå¦ä¸€ä¸ªè§’è‰²ç»™ç©ºæ&nbsp;¼ç¬¦ï¼Œè¯¸å¦‚æ­¤ç±»ã€‚
\TeX\ ç»™è¯»åˆ°çš„æ¯ä¸ªå­—ç¬¦éƒ½é™„åŠ&nbsp;ä¸€ä¸ªä»£ç&nbsp;ã€‚
ä¾‹å¦‚ï¼Œ\TeX\ è¯»åˆ°å­—æ¯ `|r|' æ—¶é™„åŠ&nbsp;ç±»åˆ«ç&nbsp; $11$ï¼ˆå­—æ¯ç¬¦ï¼‰ç»™å®ƒã€‚
åœ¨ç®€å•åœ°ä½¿ç”¨ \TeX\ æ—¶ä½&nbsp;æ—&nbsp;éœ€è€ƒè™‘åˆ°ç±»åˆ«ç&nbsp;ï¼Œ
ä½†å½“ä½&nbsp;è¯•å›¾è¾¾åˆ°ç‰¹åˆ«æ•ˆæžœæ—¶å®ƒä»¬å°±å˜å¾—å¾ˆé‡è¦ã€‚

%Category codes apply only to characters that \TeX\ reads from input
%files.  Once a character has gotten past \TeX's ^{gullet}
%\seeconcept{\anatomy} and been interpreted, its category code no
%longer matters.  A character that you produce with the ^|\char| command
%\ctsref{\char} does not have a category code because |\char|
%is an instruction to \TeX\ to produce a certain character in a certain
%\refterm{font}.  For instance, the ^{\ascii} code for `|\|'
%(the usual escape character) is $92$.  If
%you type `|\char92 grok|', it is \emph{not} equivalent to |\grok|.
%Instead it tells \TeX\ to
%typeset `$c$grok', where $c$ is the character in position $92$
%of the code table for the current font.
ç±»åˆ«ç&nbsp;åªé™„åŠ&nbsp;åˆ° \TeX\ ä»Žè¾“å…¥æ–‡ä»¶ä¸­è¯»å–çš„å­—ç¬¦ä¸­ã€‚
åªè¦å­—ç¬¦åˆ°è¾¾ \TeX\ çš„^{é£Ÿé“}\seeconcept{\anatomy}å¹¶è¢«è§£é‡Šå®Œï¼Œå®ƒçš„ç±»åˆ«ç&nbsp;å°±ä¸å†æ”¹å˜ã€‚
ç”¨ ^|\char| å‘½ä»¤\ctsref{\char}ç”Ÿæˆçš„å­—ç¬¦æ²¡æœ‰ç±»åˆ«ç&nbsp;ï¼Œ
å›&nbsp;ä¸º |\char| å‘½ä»¤æ˜¯ä¸€ä¸ªè®© \TeX\ ç”Ÿæˆç‰¹å®š\refterm{å­—ä½“}ä¸­çš„æŸä¸ªç‰¹å®šå­—ç¬¦çš„æŒ‡ä»¤ã€‚
ä¾‹å¦‚ï¼Œ`|\|'ï¼ˆé€šå¸¸çš„è½¬ä¹‰å­—ç¬¦ï¼‰çš„^{\ascii} ç&nbsp;æ˜¯ $92$ã€‚
å¦‚æžœä½&nbsp;é”®å…¥ `|\char92 grok|'ï¼Œå´\emph{å¹¶ä¸}ç­‰åŒäºŽ |\grok|ã€‚
å®žé™…ä¸Šå®ƒè®© \TeX\ æŽ’ç‰ˆå‡º `$c$grok'ï¼Œå…¶ä¸­ $c$ æ˜¯å½“å‰å­—ä½“çš„ç¼–ç&nbsp;è¡¨ä¸­ä½ç½®ä¸º $92$ çš„å­—ç¬¦ã€‚

%You can use the ^|\catcode| command \ctsref{\catcode} to reassign the
%category code of any character.  By changing category codes you can
%change the roles of various characters.  For instance, if you type
%`|\catcode`\@ = 11|', the category code of the at sign (|@|) will be set
%to ``letter''.  You then can use `|@|' in the name of a control
%sequence.
ä½&nbsp;å¯ä»¥ç”¨ ^|\catcode| å‘½ä»¤\ctsref{\catcode}é‡æ–°è®¾å®šä»»ä½•å­—ç¬¦çš„ç±»åˆ«ç&nbsp;ã€‚
æ”¹å˜äº†ç±»åˆ«ç&nbsp;å°±æ”¹å˜äº†å„ç§å­—ç¬¦æ‰€æ‰®æ¼”çš„è§’è‰²ã€‚
ä¾‹å¦‚ï¼Œå¦‚æžœä½&nbsp;é”®å…¥ `|\catcode`\@ = 11|'ï¼Œ|@| ç¬¦å·çš„ç±»åˆ«ç&nbsp;å°±è¢«è®¾å®šä¸ºâ€œå­—æ¯ç¬¦â€ã€‚
è¿™æ&nbsp;·ä½&nbsp;å°±å¯ä»¥åœ¨æŽ§åˆ¶åºåˆ—åç§°ä¸­ä½¿ç”¨ `|@|' ã€‚

%Here is a list of the category codes as they're defined in
%\refterm{\plainTeX} (see \xref{twocarets} for an explanation of
%the |^^| notation),
%together with the characters in each category:
è¿™é‡Œç»™å‡º\refterm{\plainTeX} å®šä¹‰çš„ç±»åˆ«ç&nbsp;åˆ—è¡¨ï¼Œä»¥åŠæ¯ä¸ªç±»åˆ«ä¸­çš„å­—ç¬¦ï¼ˆ\xref{twocarets}æœ‰|^^|è®°æ³•çš„è§£é‡Šï¼‰ï¼š

%\xrdef{catcodes}
%\vskip\abovedisplayskip
%%k \vskip 0pt plus 2pt % to fix bad page break
%{%k \interlinepenalty = 10000
%\halign{\indent\hfil\strut#&amp;\qquad#\hfil\cr
%\it Code&amp;\it Meaning\cr
%\noalign{\vskip\tinyskipamount}
%0&amp;Escape character \quad |\| ^^{escape character//category code of}
%   {\recat!ttidxref[\//category code of]]
%   \cr
%1&amp;Beginning of group \quad |{| ^^{groups}
%   {\recat!ttidxref[{//category code of]]
%   \cr
%2&amp;End of group   \quad |}|
%   {\recat!ttidxref[}//category code of]]
%   \cr
%3&amp;Math shift   \quad |$| ^^{math shift}
%   {\recat!ttidxref[$//category code of]]
%   \cr
%4&amp;Alignment tab   \quad |&amp;| ^^{tabs} ^^{alignments//tab character for}
%   \ttidxref{&amp;//category code of} \cr
%5&amp;End of line   \quad |^^M| \tequiv \ascii\ \asciichar{return}
%   ^^{end of line} \ttidxref{^^M//category code of}\cr
%6&amp;Macro parameter   \quad |#|
%   ^^{macros//parameters of}
%   ^^{parameters//indicated by \b\tt\#\e}
%   \ttidxref{#//category code of} \cr
%7&amp;Superscript   \quad |^| and |^^K| ^^{superscripts}
%   \ttidxref{^^K}
%   \ttidxref{^//category code of} \cr
%8&amp;Subscript   \quad |_| and |^^A| ^^{subscripts}
%   \ttidxref{^^A}
%   \ttidxref{_//category code of} \cr
%9&amp;Ignored character  \quad |^^@| \tequiv \ascii\ \asciichar{null}
%  ^^{ignored characters} \indexchar ^^@ \cr
%10&amp;Space  \quad \visiblespace\ and |^^I| \tequiv \ascii\
%  \asciichar{horizontal\ tab}
%  ^^{horizontal tab}
%  ^^{space characters//category code of} \indexchar ^^I
%  {\recat!ttidxref[ ]]
%  \cr
%11&amp;Letter  \quad |A| \dots |Z| and |a| \dots |z| ^^{letter}\cr
%12&amp;Other character \quad (everything not listed above or below)
%  ^^{other characters}\cr
%13&amp;Active character  \quad |~| and |^^L| \tequiv\ascii\ \asciichar{form\ feed}
%   ^^{active characters} ^^{form feed} \indexchar ~ \indexchar ^^L \cr
%14&amp;Comment character  \quad |%| ^^{comments}
%   {\recat!ttidxref[%//category code of]]
%   \cr
%15&amp;Invalid character  \quad |^^?| \tequiv \ascii\ \asciichar{delete}
%  ^^{invalid character} \indexchar ^^? \cr
%}}
%\vskip\belowdisplayskip
%%k \vskip 0pt plus 2pt % to fix bad page break
\xrdef{catcodes}
\vskip\abovedisplayskip
%k \vskip 0pt plus 2pt % to fix bad page break
{%k \interlinepenalty = 10000
\halign{\indent\hfil\strut#&amp;\qquad#\hfil&amp;\qquad#\hfil\cr
\it ç¼–ç&nbsp;&amp;\it æ„ä¹‰&amp;\it å­—ç¬¦\cr
\noalign{\vskip\tinyskipamount}
0&amp;è½¬ä¹‰ç¬¦    &amp; |\| ^^{è½¬ä¹‰ç¬¦//è½¬ä¹‰ç¬¦çš„ç±»åˆ«ç&nbsp;}
   %{\recat!ttidxref[\//å…¶ç±»åˆ«ç&nbsp;]]
   \cr
1&amp;ç¼–ç»„å¼€å§‹ç¬¦&amp; |{| ^^{ç¼–ç»„}
   %{\recat!ttidxref[{//å…¶ç±»åˆ«ç&nbsp;]]
   \cr
2&amp;ç¼–ç»„ç»“æŸç¬¦&amp; |}|
   %{\recat!ttidxref[}//å…¶ç±»åˆ«ç&nbsp;]]
   \cr
3&amp;æ•°å­¦çŽ¯å¢ƒç¬¦&amp; |$| ^^{æ•°å­¦å¼€å…³}
   %{\recat!ttidxref[$//å…¶ç±»åˆ«ç&nbsp;]]
   \cr
4&amp;é˜µåˆ—åˆ¶è¡¨ç¬¦&amp; |&amp;| ^^{åˆ¶è¡¨} ^^{é˜µåˆ—//é˜µåˆ—çš„åˆ¶è¡¨ç¬¦}
   \ifoldeplain\ttidxref{&amp;//å…¶ç±»åˆ«ç&nbsp;}\fi \cr
5&amp;è¡Œç»“æŸç¬¦  &amp; |^^M| \tequiv \ascii\ \asciichar{return}
   ^^{è¡Œç»“æŸç¬¦} \ifoldeplain\ttidxref{^^M//å…¶ç±»åˆ«ç&nbsp;}\fi\cr
6&amp;å®å‚æ•°ç¬¦  &amp; |#|
   ^^{å®//å®çš„å‚æ•°}
   ^^{å‚æ•°//ç”¨ \b\tt\#\e æŒ‡æ˜Ž}
   \ifoldeplain\ttidxref{#//å…¶ç±»åˆ«ç&nbsp;}\fi \cr
7&amp;ä¸Šæ&nbsp;‡ç¬¦    &amp; |^| å’Œ |^^K| ^^{ä¸Šæ&nbsp;‡}
   \ttidxref{^^K}
   \ifoldeplain\ttidxref{^//å…¶ç±»åˆ«ç&nbsp;}\fi \cr
8&amp;ä¸‹æ&nbsp;‡ç¬¦    &amp; |_| å’Œ |^^A| ^^{ä¸‹æ&nbsp;‡}
   \ttidxref{^^A}
   \ifoldeplain\ttidxref{_//å…¶ç±»åˆ«ç&nbsp;}\fi \cr
9&amp;å¯å¿½ç•¥ç¬¦  &amp; |^^@| \tequiv \ascii\ \asciichar{null}
  ^^{å¯å¿½ç•¥ç¬¦} \indexchar ^^@ \cr
10&amp;ç©ºæ&nbsp;¼ç¬¦   &amp; \visiblespace\ å’Œ |^^I| \tequiv \ascii\
  \asciichar{horizontal\ tab}
  ^^{æ°´å¹³åˆ¶è¡¨ç¬¦}
  ^^{ç©ºæ&nbsp;¼ç¬¦//å…¶ç±»åˆ«ç&nbsp;} \indexchar ^^I
  %{\recat!ttidxref[ ]]
  \cr
11&amp;å­—æ¯ç¬¦   &amp; |A| \dots |Z| å’Œ |a| \dots |z| ^^{å­—æ¯}\cr
12&amp;å…¶ä»–å­—ç¬¦ &amp;ï¼ˆä¸å±žäºŽå…¶ä»–ç±»åˆ«çš„å­—ç¬¦ï¼‰
  ^^{å…¶ä»–å­—ç¬¦}\cr
13&amp;æ´»åŠ¨å­—ç¬¦ &amp; |~| å’Œ |^^L| \tequiv\ascii\ \asciichar{form\ feed}
   ^^{æ´»åŠ¨å­—ç¬¦} ^^{æ¢é¡µç¬¦} \indexchar ~ \indexchar ^^L \cr
14&amp;æ³¨é‡Šç¬¦   &amp; |%| ^^{æ³¨é‡Š}
   %{\recat!ttidxref[%//å…¶ç±»åˆ«ç&nbsp;]]
   \cr
15&amp;æ—&nbsp;æ•ˆå­—ç¬¦ &amp; |^^?| \tequiv \ascii\ \asciichar{delete}
  ^^{æ—&nbsp;æ•ˆå­—ç¬¦} \indexchar ^^? \cr
}}
\vskip\belowdisplayskip
%k \vskip 0pt plus 2pt % to fix bad page break

%\noindent Except for categories $11$--$13$,
%all the characters in a particular category produce the same effect.
%\margin{Misleading material removed.}
%For instance, suppose
%that you type:
%\csdisplay
%\catcode`\[ = 1 \catcode`\] = 2
%|
%Then the left and right bracket characters become
%beginning-of-group and end-of-group characters equivalent to
%the left and right brace characters.  With these definitions `|[a b]|'
%is a valid group, and so are \hbox{`|[a b}|'} and~\hbox{`|{a b]|'}.
\noindent é™¤äº†ç¬¬ $11$--$13$ ç±»åˆ«ï¼Œä¸€ä¸ªç±»åˆ«ä¸­çš„æ‰€æœ‰å­—ç¬¦äº§ç”Ÿçš„æ•ˆæžœéƒ½ç›¸åŒã€‚
\margin{Misleading material removed.}
ä¾‹å¦‚ï¼Œå‡è®¾ä½&nbsp;é”®å…¥ï¼š
\csdisplay
\catcode`\[ = 1 \catcode`\] = 2
|
åˆ™å·¦æ–¹æ‹¬å·å’Œå³æ–¹æ‹¬å·åˆ†åˆ«å°±å˜æˆç¼–ç»„å¼€å§‹ç¬¦å’Œç¼–ç»„ç»“æŸç¬¦ï¼Œå³å®ƒä»¬åˆ†åˆ«å’Œå·¦èŠ±æ‹¬å·å’Œå³èŠ±æ‹¬å·ç­‰ä»·ã€‚
åœ¨è¿™äº›å®šä¹‰ä¹‹ä¸‹ï¼Œ`|[a b]|' æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„ç¼–ç»„ï¼Œ\hbox{`|[a b}|'} å’Œ \hbox{`|{a b]|'} åŒæ&nbsp;·ä¹Ÿæ˜¯ã€‚

%The characters in categories $11$ (letter) and $12$
%(other character) act as \refterm{commands:command}
%that mean
%``produce a \refterm{box} containing this character
%typeset in the current font''.
%The only distinction between letters and ``other'' characters is
%that letters can appear in \refterm{control word}s but
%``other'' characters~can't.
ç±»åˆ«ä¸º $11$ï¼ˆå­—æ¯ç¬¦ï¼‰æˆ– $12$ï¼ˆå…¶ä»–å­—ç¬¦ï¼‰çš„å­—ç¬¦æˆä¸ºä¸€ä¸ª\refterm{å‘½ä»¤}ï¼Œ
å®ƒè¡¨ç¤ºâ€œç”¨å½“å‰å­—ä½“æŽ’ç‰ˆè¿™ä¸ªå­—ç¬¦å¹¶æ”¾åœ¨ä¸€ä¸ª\refterm{ç›’å­}ä¸­â€ã€‚
å­—æ¯ç¬¦å’Œâ€œå…¶ä»–å­—ç¬¦â€çš„æƒŸä¸€åŒºåˆ«æ˜¯ï¼Œå­—æ¯ç¬¦å¯ä»¥å‡ºçŽ°åœ¨\refterm{æŽ§åˆ¶è¯}ä¸­è€Œâ€œå…¶ä»–å­—ç¬¦â€ä¸èƒ½ã€‚

%A character in category $13$ (active) acts like a control sequence
%all by itself.  \TeX\ complains if it encounters an active character that
%doesn't have a definition associated with it.
%^^{active characters}
ç±»åˆ«ä¸º $13$ï¼ˆæ´»åŠ¨å­—ç¬¦ï¼‰çš„å­—ç¬¦å•ç‹¬ä½œä¸ºæŽ§åˆ¶åºåˆ—ã€‚
å¦‚æžœ \TeX\ ç¢°åˆ°ä¸€ä¸ªæœªå®šä¹‰çš„æ´»åŠ¨å­—ç¬¦ï¼Œå®ƒå°†ä¼šæŠ¥é”™ã€‚
^^{æ´»åŠ¨å­—ç¬¦}

%If \TeX\ encounters an ^{invalid character} (category $15$)
%in your input, it will complain about it.
å¦‚æžœ \TeX\ åœ¨è¾“å…¥ä¸­ç¢°åˆ°ä¸€ä¸ª^{æ—&nbsp;æ•ˆå­—ç¬¦}ï¼ˆç±»åˆ«ä¸º$15$ï¼‰ï¼Œå®ƒä¹Ÿä¼šæŠ¥é”™ã€‚

%The `|^^K|' and `|^^A|' characters have been included in categories
%$8$ (subscript) and $9$ (superscript), even though these meanings
%don't follow the standard \refterm{\ascii} interpretation.
%That's because some keyboards, notably some at Stanford
%University where \TeX\ originated,
%have down arrow and up arrow keys that generate these characters.
%\ttidxref{^^A}
%\ttidxref{^^K}
å­—ç¬¦ `|^^K|' å’Œ `|^^A|' è¢«åŒ…å«åœ¨ç±»åˆ«$7$ï¼ˆä¸Šæ&nbsp;‡ç¬¦ï¼‰å’Œ $8$ï¼ˆä¸‹æ&nbsp;‡ç¬¦ï¼‰ä¸­ï¼Œ
å³ä½¿å®ƒä»¬çš„æ„ä¹‰å¹¶ä¸ç¬¦åˆæ&nbsp;‡å‡†\refterm{\ascii} ä¸­çš„è§£é‡Šã€‚
è¿™æ˜¯å›&nbsp;ä¸ºæŸäº›é”®ç›˜ï¼Œå°¤å…¶æ˜¯ \TeX\ èµ·æºåœ°å“ˆä½›å¤§å­¦çš„é”®ç›˜ï¼Œç”¨ä¸Šæ–¹å‘é”®å’Œä¸‹æ–¹å‘é”®ç”Ÿæˆè¿™ä¸¤ä¸ªå­—ç¬¦ã€‚
\ttidxref{^^A}
\ttidxref{^^K}

%There's a subtle point about the way \TeX\ assigns category codes that
%can trip you up if you're not aware of it.  \TeX\ sometimes needs to
%look at a character twice as it does its initial scan: first to find the
%end of some preceding construct, e.g., a control sequence, and later to
%turn that character into a token.  \TeX\ doesn't assign the category
%code until its \emph{second} look at the character.  For example:
åœ¨ \TeX\ åˆ†é…ç±»åˆ«ç&nbsp;çš„æ–¹å¼ä¸­æœ‰ä¸ªç»†å¾®ä¹‹å¤„ï¼Œå¦‚æžœæ²¡æ³¨æ„åˆ°å®ƒä½&nbsp;å°±ä¼šçŠ¯é”™è¯¯ã€‚
\TeX\ åœ¨åˆæ­¥æ‰«ææ—¶æœ‰æ—¶å€™éœ€è¦æŸ¥çœ‹ä¸€ä¸ªå­—ç¬¦ä¸¤æ¬¡ï¼š
ç¬¬ä¸€æ¬¡æ‰¾åˆ°å‰é¢çš„æŽ§åˆ¶åºåˆ—ç­‰ç»“æž„çš„ç»“æŸä½ç½®ï¼Œç¬¬äºŒæ¬¡æ‰å°†è¯¥å­—ç¬¦è½¬æ¢ä¸ºè®°å·ã€‚
\TeX\ åœ¨\emph{ç¬¬äºŒæ¬¡}æŸ¥çœ‹è¯¥å­—ç¬¦æ—¶æ‰ä¼šç»™å®ƒåˆ†é…ç±»åˆ«ç&nbsp;ã€‚ä¾‹å¦‚ï¼š

%\csdisplay
%\def\foo{\catcode`\$ = 11 }% Make $ be a letter.
%\foo$ % Produces a `$'.
%\foo$ % Undefined control sequence `foo$'.
%|
%\noindent
%This bit of \TeX\ code produces `\$' in the typeset output.  When
%\TeX\ first sees the `|$|' on the second line,
%it's looking for the end of a control sequence name.  Since
%the `|$|' isn't yet a letter, it marks the end of `|\foo|'.  Next,
%\TeX\ expands the `|\foo|' macro and changes the category code of `|$|'
%to $11$ (letter).  Then \TeX\ reads the `|$|' ``for real''.  Since
%`|$|' is now a letter, \TeX\ produces a box
%containing the `|$|' character in the current font.
%When \TeX\ sees the third line, it treats `|$|' as a letter and thus
%considers it to be part of the control sequence name.
%As a result it complains about an undefined control sequence |\foo$|.
\csdisplay
\def\foo{\catcode`\$ = 11 } % å°† $ å˜æˆå­—æ¯ç¬¦ã€‚
\foo$ % ç”Ÿæˆä¸€ä¸ª `$'ã€‚
\foo$ % æœªå®šä¹‰çš„æŽ§åˆ¶åºåˆ— `foo$'ã€‚
|
\noindent
è¿™æ®µ \TeX\ ä»£ç&nbsp;åœ¨è¾“å‡ºä¸­ç”Ÿæˆ `\$'ã€‚
åœ¨ç¬¬äºŒè¡Œï¼Œå½“ \TeX\ é¦–æ¬¡æŸ¥çœ‹ `|$|' æ—¶ï¼Œå®ƒæ˜¯åœ¨å¯»æ‰¾æŽ§åˆ¶åºåˆ—åç§°çš„ç»“æŸä½ç½®ã€‚
ç”±äºŽ `|$|' è¿˜ä¸æ˜¯å­—æ¯ç¬¦ï¼Œå®ƒè¡¨ç¤º `|\foo|' å·²ç»“æŸã€‚
æŽ¥ä¸‹æ¥ï¼Œ\TeX\ å±•å¼€ `|\foo|' å®å¹¶å°† `|$|' çš„ç±»åˆ«ç&nbsp;æ”¹ä¸º $11$ï¼ˆå­—æ¯ç¬¦ï¼‰ã€‚
ç„¶åŽ \TeX\ æ‰â€œçœŸæ­£åœ°â€è¯»å– `|$|'ã€‚
ç”±äºŽ `|$|' å·²ç»æ˜¯å­—æ¯ç¬¦ï¼Œ\TeX\ ç”¨å½“å‰å­—ä½“ç”ŸæˆåŒ…å« `|$|' çš„ç›’å­ã€‚
å½“ \TeX\ çœ‹åˆ°ç¬¬ä¸‰è¡Œæ—¶ï¼Œå®ƒå°† `|$|' è§†ä¸ºå­—æ¯ç¬¦ï¼Œå›&nbsp;æ­¤è®¤ä¸ºå®ƒæ˜¯æŽ§åˆ¶åºåˆ—åç§°çš„ä¸€éƒ¨åˆ†ã€‚
ç»“æžœå®ƒæŠ±æ€¨ |\foo$| æ˜¯ä¸€ä¸ªæœªå®šä¹‰çš„æŽ§åˆ¶åºåˆ—ã€‚

%\TeX\ behaves this way even when the terminating character is an
%end of line.  For example, suppose that the macro |\fum| activates the
%end-of-line character.  Then if |\fum| appears on a line $\ell$ by
%itself, \TeX\ will first interpret the end of line of $\ell$ as
%the end of the |\fum| control sequence and then will \emph{reinterpret}
%the end of line of $\ell$ as an active character.
%\endconcept
å³ä½¿å½“ç»“æŸç¬¦å·æ˜¯è¡Œå°¾ç¬¦æ—¶ï¼Œ\TeX\ ä¹Ÿæ˜¯è¿™æ&nbsp;·å¤„ç†çš„ã€‚
ä¸¾ä¸ªä¾‹å­ï¼Œå‡è®¾ä½&nbsp;ç”¨ |\fum| å®æ¿€æ´»è¡Œå°¾ç¬¦ã€‚
é‚£ä¹ˆï¼Œå¦‚æžœ |\fum| å•ç‹¬å‡ºçŽ°åœ¨ç¬¬ $\ell$ è¡Œä¸­ï¼Œ
\TeX\ å°†é¦–å…ˆå°†ç¬¬$\ell$è¡Œçš„è¡Œå°¾ç¬¦è§£é‡Šä¸º |\fum| æŽ§åˆ¶åºåˆ—çš„ç»“æŸï¼Œ
ç„¶åŽå°†è¯¥è¡Œå°¾ç¬¦\emph{é‡æ–°è§£é‡Š}ä¸ºæ´»åŠ¨å­—ç¬¦ã€‚
\endconcept


%\conceptindex{characters}
%\concept character
\concept å­—ç¬¦

%{\tighten
%\TeX\ works with \defterm{å­—ç¬¦} in two contexts:
%as input characters, which it reads, and as output characters,
%which it typesets.
%\TeX\ transforms most input characters
%into the output characters that depict them.
%For example, it normally
%transforms the input letter `|h|' into the letter `h' typeset in the current
%font.
%That is not the case, however, for an input character such as `|$|' that has a
%special meaning.
%\par}
\TeX\ åœ¨ä¸¤ä¸ªæ–¹é¢ç”¨åˆ°\defterm{å­—ç¬¦}ï¼ˆcharacterï¼‰ï¼š
ä½œä¸ºè¯»å–çš„è¾“å…¥å­—ç¬¦ï¼Œä»¥åŠä½œä¸ºæŽ’ç‰ˆçš„è¾“å‡ºå­—ç¬¦ã€‚
\TeX\ å°†å¤§å¤šæ•°è¾“å…¥å­—ç¬¦è½¬å˜æˆè¾“å‡ºå­—ç¬¦ä»¥æ˜¾ç¤ºå®ƒä»¬ã€‚
ä¾‹å¦‚ï¼Œå®ƒé€šå¸¸å°†è¾“å…¥å­—æ¯ `|h|' è½¬æ¢ä¸ºç”¨å½“å‰å­—ä½“æŽ’ç‰ˆçš„å­—æ¯ `h'ã€‚
ä½†æ˜¯ï¼Œå¯¹äºŽç±»ä¼¼ `|$|' è¿™äº›æœ‰ç‰¹åˆ«æ„ä¹‰çš„å­—ç¬¦ï¼Œå´ä¸æ˜¯è¿™ä¹ˆå›žäº‹ã€‚

%\TeX\ gets its input characters by reading them from input files (or from your
%terminal) and by expanding \refterm{macros:macro}.  These are the
%\emph{only} ways that \TeX\ can acquire an input character.
%Each input character has a code number corresponding to its position in the
%\refterm{\ascii} code table.  ^^{\ascii}
%For instance, the letter `|T|' has \ascii\ code~$84$.
\TeX\ é€šè¿‡è¯»å–è¾“å…¥æ–‡ä»¶ï¼ˆæˆ–ç»ˆç«¯ï¼‰å’Œå±•å¼€\refterm{å®}å¾—åˆ°è¾“å…¥å­—ç¬¦ã€‚
å®ƒä»¬æ˜¯ \TeX\ èŽ·å–è¾“å…¥å­—ç¬¦çš„\emph{ä»…æœ‰çš„}é€”å¾„ã€‚
æ¯ä¸ªè¾“å…¥å­—ç¬¦æœ‰ä¸€ä¸ªç¼–ç&nbsp;ï¼Œå®ƒè¡¨ç¤ºè¯¥å­—ç¬¦åœ¨\refterm{\ascii} ç&nbsp;è¡¨çš„ä½ç½®ã€‚
^^{\ascii}
ä¾‹å¦‚ï¼Œå­—æ¯ `|T|' çš„ \ascii\ ç¼–ç&nbsp;ä¸º $84$ã€‚

%When \TeX\ reads
%a character, it attaches a \refterm{category code}
%^^{category codes//attached during input}
%to it.  The category code affects how \TeX\ interprets the
%character once it has been read in.  \TeX\ determines
%(and remembers) the category codes of the characters in a macro when it
%reads the macro's definition.  As \TeX\ reads characters with its eyes
%\seeconcept{\anatomy} it does some ``filtering'',
%such as condensing
%sequences of spaces to a single space.  See \knuth{pages~46--48} for the
%details of this filtering.
åœ¨è¯»å–å­—ç¬¦æ—¶ï¼Œ\TeX\ ç»™å®ƒé™„åŠ&nbsp;ä¸€ä¸ª\refterm{ç±»åˆ«ç&nbsp;}ã€‚
^^{ç±»åˆ«ç&nbsp;//åœ¨è¯»å–æ—¶é™„åŠ&nbsp;}
ç±»åˆ«ç&nbsp;å½±å“ \TeX\ è¯»å–å­—ç¬¦æ—¶å¯¹è¯¥å­—ç¬¦çš„è§£é‡Šã€‚
åœ¨è¯»å–å®å®šä¹‰æ—¶ï¼Œ\TeX\ åˆ¤å®šï¼ˆå¹¶è®°ä½ï¼‰å®é‡Œé¢çš„å­—ç¬¦çš„ç±»åˆ«ç&nbsp;ã€‚
åœ¨ç”¨å®ƒçš„çœ¼ç›è¯»å–å­—ç¬¦æ—¶\seeconcept{\anatomy}ï¼Œ\TeX\ æ‰§è¡Œä¸€äº›â€œè¿‡æ»¤â€ï¼Œ
æ¯”å¦‚å°†è¿žç»­å¤šä¸ªç©ºæ&nbsp;¼åŽ‹ç¼©ä¸ºä¸€ä¸ªã€‚åœ¨\knuth{ç¬¬~46--48~é¡µ}ä¸­æè¿°äº†è¿‡æ»¤çš„ç»†èŠ‚ã€‚

%The \ascii\
%``^{control characters}'' have codes $0$--$31$ and $127$--$255$.
%They either don't
%show up or cause strange behavior on most terminals if you try to
%display them.  Nonetheless they are sometimes needed in \TeX\ input,
%so \TeX\ has a special notation for them.
%\xrdef{twocarets}
%If you type `|^^|$c$', where $c$ is any character, you get the character
%whose \ascii\ code is either $64$ greater or $64$ less than $c$'s
%\ascii\ code.  The largest acceptable code value using this notation
%is $127$, so the notation is unambiguous.
%Three particularly common instances of this
%notation are `|^^M|' (the \ascii\ \asciichar{return} character),
%`|^^J|' (the \ascii\ \asciichar{line\ feed} character) and `|^^I|'
%(the \ascii\ \asciichar{horizontal\ tab} character).
%\ttidxref{^^M}\ttidxref{^^J}\ttidxref{^^I}
\ascii{}â€œ^{æŽ§åˆ¶å­—ç¬¦}â€çš„ç¼–ç&nbsp;ä¸º $0$--$31$ å’Œ $127$--$255$ã€‚
å€˜è‹¥ä½&nbsp;è¯•å›¾åœ¨ç»ˆç«¯ä¸­æ˜¾ç¤ºå®ƒä»¬ï¼Œåœ¨å¤šæ•°ç»ˆç«¯ä¸­å®ƒä»¬å°†æ˜¾ç¤ºä¸å‡ºæ¥æˆ–å¯¼è‡´å¥‡æ€ªè¡Œä¸ºã€‚
å³ä¾¿å¦‚æ­¤ï¼Œæœ‰æ—¶å€™å®ƒä»¬è¿˜æ˜¯éœ€è¦åœ¨ \TeX\ è¾“å…¥ä¸­å‡ºçŽ°ï¼Œ
å›&nbsp;æ­¤å¯¹è¿™äº›å­—ç¬¦ \TeX\ ç»™å‡ºäº†ä¸€ç§ç‰¹åˆ«çš„è¡¨ç¤ºæ³•ã€‚
\xrdef{twocarets}
å¦‚æžœä½&nbsp;é”®å…¥ `|^^|$c$'ï¼Œå…¶ä¸­ $c$ ä¸ºä»»ä½•å­—ç¬¦ï¼Œ
ä½&nbsp;å°†å¾—åˆ°ä¸€ä¸ªæ¯” $c$ çš„\ascii\ ç&nbsp;å¤§ $64$ æˆ–å° $64$ çš„å­—ç¬¦ã€‚
è¿™ç§è¡¨ç¤ºæ³•å¾—åˆ°çš„ç¼–ç&nbsp;ä¸èƒ½è¶…è¿‡ $127$ï¼Œå›&nbsp;æ­¤å®ƒæ˜¯æ—&nbsp;æ­§ä¹‰çš„ã€‚
è¿™ç§è¡¨ç¤ºæ³•çš„ä¸‰ä¸ªæœ€å¸¸è§ä¾‹å­æ˜¯ `|^^M|'ï¼ˆ\ascii\ \asciichar{return}å­—ç¬¦ï¼‰ï¼Œ
`|^^J|'ï¼ˆ\ascii\ \asciichar{line\ feed}å­—ç¬¦ï¼‰å’Œ
`|^^I|'ï¼ˆ\ascii\ \asciichar{horizontal\ tab}å­—ç¬¦ï¼‰ã€‚
\ttidxref{^^M}\ttidxref{^^J}\ttidxref{^^I}

%{\tighten
%\TeX\ also has another notation for indicating \ascii\ code values
%that works for all character codes from $0$ to $255$.
%\xrdef{hexchars}
%If you type `|^^|$xy$', where $x$
%and $y$ are any of the ^{hexadecimal digit}s `|0123456789abcdef|',
%you get the single character with the specified code.
%(Lowercase letters are required here.)
%\TeX\ opts for the ``hexadecimal digits''
%interpretation whenever it has a choice, so you must not follow a character
%like `|^^a|' with a lowercase hexadecimal digit---if you do, you'll get the
%wrong interpretation.
%If you need to use this
%notation you'll find it handy to have a table of \ascii\ codes.
%\par}
\TeX\ è¿˜æœ‰å¦ä¸€ç§æŒ‡æ˜Ž \ascii\ ç¼–ç&nbsp;çš„è¡¨ç¤ºæ³•ï¼Œå®ƒèƒ½å¤Ÿè¡¨ç¤ºä»Ž $0$ åˆ° $255$ çš„æ‰€æœ‰å­—ç¬¦ã€‚
\xrdef{hexchars}
å¦‚æžœä½&nbsp;é”®å…¥ `|^^|$xy$'ï¼Œå…¶ä¸­ $x$ å’Œ $y$ æ˜¯ä»»ä½•^{åå…­è¿›åˆ¶æ•°å­—} `|0123456789abcdef|'ï¼Œ
ä½&nbsp;å°±å¾—åˆ°è¯¥ç¼–ç&nbsp;å¯¹åº”çš„å­—ç¬¦ï¼ˆè¿™é‡Œåªèƒ½ä½¿ç”¨å°å†™å­—ç¬¦ã€‚ï¼‰
\TeX\ ä¼˜å…ˆé€‰æ‹©â€œåå…­è¿›åˆ¶æ•°å­—â€è¿™ç§è§£é‡Šï¼Œ
å›&nbsp;æ­¤åœ¨ç±»ä¼¼ `|^^a|' çš„å­—ç¬¦åŽé¢ä¸è¦è·Ÿç€ä¸€ä¸ªå°å†™åå…­è¿›åˆ¶æ•°å­—â€”â€”è¿™æ&nbsp;·å°†ä¼šå¾—åˆ°é”™è¯¯çš„è§£é‡Šã€‚
åœ¨éœ€è¦ä½¿ç”¨è¿™ç§è¡¨ç¤ºæ³•æ—¶ï¼Œä½&nbsp;ä¼šå‘çŽ°æœ‰ä¸ª\ascii\ ç¼–ç&nbsp;è¡¨æ›´æ–¹ä¾¿äº›ã€‚

%An output character is a character to be typeset.
%A command for producing an output character has the meaning
%``Produce a \refterm{box} containing
%character number $n$ from the current \refterm{font}'',
%where $n$ is determined by the command.
%\TeX\ produces your typeset document by combining such boxes with
%other typographical \hbox{elements} and arranging them
%on the page.
è¾“å‡ºå­—ç¬¦å°±æ˜¯å¾…æŽ’ç‰ˆçš„å­—ç¬¦ã€‚ç”Ÿæˆè¾“å‡ºå­—ç¬¦çš„å‘½ä»¤æœ‰è¿™æ&nbsp;·çš„æ„ä¹‰ï¼š
â€œç”Ÿæˆä¸€ä¸ªåŒ…å«å½“å‰\refterm{å­—ä½“}ç¬¬$n$ä¸ªå­—ç¬¦çš„ç›’å­â€ï¼Œå…¶ä¸­$n$ç”±è¯¥å‘½ä»¤ç»™å‡ºã€‚
\TeX\ å°†è¿™äº›ç›’å­å’Œå…¶ä»–æŽ’ç‰ˆ\hbox{å…ƒç´&nbsp;}ç»„åˆèµ·æ¥å¹¶åœ¨é¡µé¢ä¸ŠæŽ’å¥½ï¼Œä»¥ç”Ÿæˆä½&nbsp;æŽ’ç‰ˆçš„æ–‡æ¡£ã€‚

%An input character whose category code is $11$ (^{letter}) or $12$ (other)
%^^{other characters}
%acts as a command to produce the corresponding output character.  In
%addition you can get \TeX\ to produce character $n$ by issuing the
%command `|\char |$n$' \ctsref{\char}, ^^|\char| where $n$ is a
%\refterm{number} between $0$ and $255$.  The commands `|h|',
%|\char`h|, and |\char104| all have the same effect.  ($104$ is the
%\ascii\ code for `h'.)
ç±»åˆ«ç&nbsp;ä¸º $11$ï¼ˆ^{å­—æ¯}ï¼‰æˆ– $12$ï¼ˆå…¶ä»–ï¼‰^^{å…¶ä»–å­—ç¬¦}çš„è¾“å…¥å­—ç¬¦ï¼Œ
æ˜¯ä¸€ä¸ªç”Ÿæˆå¯¹åº”è¾“å‡ºå­—ç¬¦çš„å‘½ä»¤ã€‚
å¦å¤–ï¼Œä½&nbsp;ä¹Ÿå¯ä»¥ç”¨ `|\char |$n$'\ctsref{\char}^^|\char| è®© \TeX\ ç”Ÿæˆå­—ç¬¦ $n$ï¼Œ
å…¶ä¸­$n$æ˜¯ä»‹äºŽ$0$å’Œ$255$ä¹‹é—´çš„\refterm{æ•°}ã€‚
å‘½ä»¤ `|h|'ï¼Œ|\char`h| å’Œ |\char104| çš„ç»“æžœç›¸åŒï¼ˆ$104$ æ˜¯`h' çš„\ascii\ ç¼–ç&nbsp;ã€‚ï¼‰

\endconcept


%\concept class
\concept ç±»

%The \defterm{class} of a \refterm{character} specifies that character's
%role in math formulas.  The class of a character is encoded in its
%\refterm{mathcode}.  ^^{mathcodes//class encoded in} For example, the
%equals sign `|=|' is in class $3$ (Relation).  \TeX\ uses its knowledge
%of character classes to decide how much space to put between different
%components of a math formula.  \margin{clarifying material added} For
%example, here's a math formula shown first as \TeX\ normally prints it
%and then with the class of each character randomly changed:
%$$\strut a+(b-a)=a \qquad
%   \mathopen{a}\mathord{+}\mathrel{(}\mathclose{b}\mathclose{-}
%   \mathop{a}\mathopen{)}\mathord{=}\mathopen{a}$$
\refterm{å­—ç¬¦}æ‰€å±žçš„\defterm{ç±»}ï¼ˆclassï¼‰æŒ‡æ˜Žè¯¥å­—ç¬¦åœ¨æ•°å­¦å…¬å¼ä¸­çš„è§’è‰²ã€‚
å­—ç¬¦çš„ç±»è®°å½•åœ¨å®ƒçš„\refterm{æ•°å­¦ç&nbsp;}ä¸­ã€‚^^{æ•°å­¦ç&nbsp;//æ•°å­¦ç&nbsp;ä¸­çš„ç±»}
ä¾‹å¦‚ï¼Œç­‰å· `|=|' å±žäºŽç¬¬ $3$ ç±»ï¼ˆå…³ç³»ç¬¦å·ï¼‰ã€‚
\TeX\ åˆ©ç”¨å­—ç¬¦ç±»çš„çŸ¥è¯†ç¡®å®šæ•°å­¦å…¬å¼çš„å„éƒ¨åˆ†çš„é—´éš”çš„å¤§å°ã€‚
\margin{clarifying material added}
ä¾‹å¦‚ï¼Œä¸‹é¢è¿™ä¸ªå…¬å¼é¦–å…ˆç”¨æ­£å¸¸æ–¹å¼æ˜¾ç¤ºï¼Œç„¶åŽç”¨éšæœºä¿®æ”¹å„å­—ç¬¦ç±»çš„æ–¹å¼æ˜¾ç¤ºï¼š
$$\strut a+(b-a)=a \qquad
   \mathopen{a}\mathord{+}\mathrel{(}\mathclose{b}\mathclose{-}
   \mathop{a}\mathopen{)}\mathord{=}\mathopen{a}$$

%See \xrefpg\mathord\ of this book for a list of the classes and
%\knuth{page~154} for their meanings.
å‚è§æœ¬ä¹¦\xrefpg\mathord ä¸­å„ç§ç±»çš„åˆ—è¡¨ï¼Œ
ä»¥åŠ\knuth{ç¬¬~154~é¡µ}ä¸­å„ç§ç±»çš„å«ä¹‰ã€‚

\endconcept


%\conceptindex{commands}
%\concept command
\concept å‘½ä»¤

%A \defterm{command} instructs \TeX\ to carry out a certain action.
%Every \refterm{token} that reaches \TeX's stomach \seeconcept{\anatomy}
%acts as a command, except for those that are parts of arguments to
%other commands (see below).
%^^{tokens//as commands}
%A command can be invoked by a
%\refterm{control sequence}, by an \refterm{active character}, or by an
%ordinary character.  It might seem odd that \TeX\ treats an ordinary
%character as a command, but in fact that's what it does:
%when \TeX\ sees
%an ordinary character
%it constructs a \refterm{box} containing that character typeset in
%the current font.
\defterm{å‘½ä»¤}ï¼ˆcommandï¼‰æŒ‡å¯¼ \TeX\ æ‰§è¡ŒæŸç§åŠ¨ä½œã€‚
åˆ°è¾¾\TeX\ çš„èƒƒ\seeconcept{\anatomy}çš„æ¯ä¸ª\refterm{è®°å·}éƒ½ä½œä¸ºä¸€ä¸ªå‘½ä»¤ï¼Œ
é‚£äº›ä½œä¸ºå…¶ä»–å‘½ä»¤çš„å‚é‡ï¼ˆè§ä¸‹é¢ï¼‰çš„è®°å·é™¤å¤–ã€‚
^^{è®°å·//ä½œä¸ºå‘½ä»¤}
å‘½ä»¤å¯ä»¥ç”±\refterm{æŽ§åˆ¶åºåˆ—}ï¼Œç”±\refterm{æ´»åŠ¨å­—ç¬¦}ï¼Œæˆ–è€…ç”±æ™®é€šå­—ç¬¦äº§ç”Ÿã€‚
\TeX\ å°†æ™®é€šå­—ç¬¦è§†ä¸ºå‘½ä»¤è¿™äº‹çœ‹æ¥æœ‰äº›å¥‡æ€ªï¼Œä½†å®žé™…ä¸Šå®ƒæ˜¯è¿™æ&nbsp;·åšçš„ï¼š
å½“ \TeX\ çœ‹åˆ°ä¸€ä¸ªæ™®é€šå­—ç¬¦æ—¶ï¼Œå®ƒæž„é€&nbsp;ä¸€ä¸ªç”¨å½“å‰å­—ä½“æŽ’ç‰ˆè¯¥å­—ç¬¦çš„\refterm{ç›’å­}ã€‚

%A command can have arguments.
%The arguments of a command are single tokens or
%groups of tokens that complete the description of what
%the command is supposed to do.
%For example, the command `|\vskip 1in|' tells \TeX\ to skip
%$1$ inch vertically.  It has an argument `|1in|',
%which consists of three tokens.
%The description of what |\vskip| is supposed to do would be incomplete
%without specifying how far it is supposed to skip.
%The tokens in the arguments to a command are not themselves considered
%to be commands.
å‘½ä»¤å¯ä»¥æœ‰å‚é‡ã€‚å‘½ä»¤çš„å‚é‡ä¸ºå•ä¸ªè®°å·æˆ–ä¸€ç»„è®°å·ï¼Œ
å®ƒä»¬å®Œæˆå¯¹å‘½ä»¤è¯¥å¦‚ä½•æ‰§è¡Œçš„è¯´æ˜Žã€‚
ä¾‹å¦‚ï¼Œå‘½ä»¤ `|\vskip 1in|' å‘Šè¯‰ \TeX\ ç«–ç›´è·³è¿‡ $1$ è‹±å¯¸ã€‚
å®ƒæœ‰ä¸€ä¸ªå‚é‡ `|1in|' åŒ…å«ä¸‰ä¸ªè®°å·ã€‚
å¦‚æžœä¸æŒ‡æ˜Žè·³è¿‡çš„è·ç¦»ï¼Œå¯¹ |\vskip| å¦‚ä½•æ‰§è¡Œçš„è¯´æ˜Žå°±æ˜¯ä¸å®Œæ•´çš„ã€‚
è¿™äº›å‡ºçŽ°åœ¨å‘½ä»¤å‚é‡ä¸­çš„è®°å·ä¸è¢«çœ‹æˆå‘½ä»¤ã€‚

%Some examples of different kinds of \TeX\ commands are:
%\ulist\compact
%\li Ordinary characters, such as `|W|', which instructs \TeX\
%to produce a box containing a typeset `W'
%\li Font-setting commands,
%such as |\bf|, which begins boldface type
%\li Accents, such as |\`|, which produces a grave accent as in `\`e'
%\li Special symbols and ligatures, such as |\P| (\P) and |\ae| (\ae)
%\li Parameters, such as |\parskip|, the amount of glue that
%\TeX\ puts between paragraphs
%\li Math symbols, such as |\alpha| ($\alpha$) and |\in| ($\in$)
%\li Math operators, such as |\over|, which produces a fraction
%\endulist
%\endconcept
å„ç§ç±»åž‹çš„ \TeX\ å‘½ä»¤çš„ä¸€äº›ä¾‹å­å¦‚ä¸‹ï¼š
\ulist\compact
\li æ™®é€šå­—ç¬¦ï¼Œæ¯”å¦‚ `|W|' æŒ‡å¯¼ \TeX\ ç”ŸæˆåŒ…å«æŽ’ç‰ˆå¥½çš„ `W' çš„ç›’å­
\li å­—ä½“è®¾ç½®å‘½ä»¤ï¼Œæ¯”å¦‚ |\bf| å¼€å§‹ç²—ä½“å½¢å¼
\li é‡éŸ³ç¬¦ï¼Œæ¯”å¦‚ |\`| ç”Ÿæˆä¸€ä¸ªå¦‚åŒ `\`e' çš„é’éŸ³ç¬¦
\li ç‰¹æ®Šç¬¦å·å’Œè¿žå†™ï¼Œæ¯”å¦‚ |\P|ï¼ˆ\P ï¼‰å’Œ |\ae|ï¼ˆ\ae ï¼‰
\li å‚æ•°ï¼Œæ¯”å¦‚ |\parskip| è¯´æ˜Ž \TeX\ åœ¨æ®µè½é—´æ·»åŠ&nbsp;çš„ç²˜è¿žçš„å¤§å°
\li æ•°å­¦ç¬¦å·ï¼Œæ¯”å¦‚ |\alpha|ï¼ˆ$\alpha$ï¼‰å’Œ |\in|ï¼ˆ$\in$ï¼‰
\li æ•°å­¦è¿ç®—ç¬¦ï¼Œæ¯”å¦‚ |\over| ç”Ÿæˆä¸€ä¸ªåˆ†å¼
\endulist
\endconcept


%\conceptindex{conditional tests}
%\concept {conditional test}
\concept {æ¡ä»¶æµ‹è¯•}

%A \defterm{conditional test} is a command that tests whether or not a certain
%condition is true and
%causes \TeX\ either to expand or to skip some text, depending on
%the outcome.
%The general form of a conditional test is either:
%\display{
%{\tt \\if}$\alpha$\&lt;true text&gt;{\tt \\else}\&lt;false text&gt;{\tt \\fi}}
%^^|\else|^^|\fi|
%\noindent or:\hfil\
%\display{
%{\tt \\if}$\alpha$\&lt;true text&gt;{\tt \\fi}}
%\noindent where $\alpha$ specifies the particular test.
%For example, |\ifvmode| tests the condition that \TeX\
%is currently in a \refterm{vertical mode}.
%If the condition is true, \TeX\ expands \&lt;true text&gt;.
%If the condition is false, \TeX\ expands \&lt;false text&gt; (if it's present).
%Conditional tests are interpreted in \TeX's gullet
%\seeconcept{\anatomy}, so any expandable \minref{token}s in
%the interpreted text are expanded after the test has been resolved.
%The
%various conditional tests are explained in \headcit{Conditional tests}%
%{conds}.
%
%\endconcept
\defterm{æ¡ä»¶æµ‹è¯•}ï¼ˆconditional testï¼‰æ˜¯ä¸€ä¸ªå‘½ä»¤ï¼Œå®ƒæµ‹è¯•æŸä¸ªæ¡ä»¶æ˜¯å¦æˆç«‹ï¼Œ
å¹¶ä¾æ­¤è®© \TeX\ å±•å¼€æˆ–å¿½ç•¥æŸäº›æ–‡æœ¬ã€‚æ¡ä»¶æµ‹è¯•çš„ä¸€èˆ¬å½¢å¼æ˜¯ï¼š
\display{
{\tt \\if}$\alpha$\&lt;true text&gt;{\tt \\else}\&lt;false text&gt;{\tt \\fi}}
^^|\else|^^|\fi|
\noindent æˆ–è€…ï¼š\hfil\
\display{
{\tt \\if}$\alpha$\&lt;true text&gt;{\tt \\fi}}
\noindent å…¶ä¸­ $\alpha$ æŒ‡å®šæŸä¸ªç‰¹å®šçš„æµ‹è¯•ã€‚
ä¾‹å¦‚ï¼Œ|\ifvmode| æµ‹è¯• \TeX\ æ˜¯å¦ä½äºŽ\refterm{ç«–ç›´æ¨¡å¼}ä¸­ã€‚
å¦‚æžœæ¡ä»¶æˆç«‹ï¼Œ\TeX\ å±•å¼€ \&lt;true text&gt;ã€‚
å¦‚æžœæ¡ä»¶ä¸æˆç«‹ï¼Œ\TeX\ å±•å¼€ \&lt;false text&gt;ï¼ˆå¦‚æžœå®ƒå­˜åœ¨ï¼‰ã€‚
æ¡ä»¶æµ‹è¯•åœ¨ \TeX\ çš„é£Ÿé“\seeconcept{\anatomy}ä¸­è§£é‡Šï¼Œ
å›&nbsp;æ­¤åœ¨è§£é‡Šå‡ºçš„æ–‡æœ¬ä¸­ï¼Œä»»ä½•å¯å±•å¼€\minref{è®°å·}éƒ½è¢«å±•å¼€äº†ã€‚
åœ¨\headcit{æ¡ä»¶æµ‹è¯•}{conds}ä¸­è§£é‡Šäº†å„ç§æ¡ä»¶æµ‹è¯•ã€‚
\endconcept


%\conceptindex{control sequences}
%\concept{control sequence}
\concept{æŽ§åˆ¶åºåˆ—}

%A \defterm{control sequence} is a name for a \TeX\ \refterm{command}.
%A control sequence always starts with an ^{escape character}, usually
%a backslash (|\|).
%\indexchar \
%A control sequence takes one of two forms:
\defterm{æŽ§åˆ¶åºåˆ—}ï¼ˆcontrol sequenceï¼‰æ˜¯ \TeX\ \refterm{å‘½ä»¤}çš„åç§°ã€‚
æŽ§åˆ¶åºåˆ—æ€»æ˜¯ä»¥^{è½¬ä¹‰ç¬¦}å¼€å¤´ï¼Œå³ä»¥åæ–œæ&nbsp;ï¼ˆ|\|ï¼‰å¼€å¤´ã€‚
\indexchar \
æŽ§åˆ¶åºåˆ—å¿…ä¸ºå¦‚ä¸‹ä¸¤ç§å½¢å¼ä¸­çš„ä¸€ç§ï¼š

%\ulist
%
%\li A \refterm{control word} is a control sequence consisting of an
%\refterm{escape character} followed by one or more letters.
%^^{control words}
%The control
%word ends when \TeX\ sees a nonletter.  For instance, when \TeX\ reads
%`\hbox{|\hfill!visiblespace,!visiblespace!.the|}', it sees six
%\refterm{tokens:token}:
%the control sequence `|\hfill|', comma, space, `|t|', `|h|', `|e|'.  The
%space after `|\hfill|' ends the control sequence and
%is absorbed by \TeX\ when it scans the control sequence.
%(For the text `|\hfill,!visiblespace!.the|', on the other hand,
%the comma both ends the control sequence and counts as a character in its
%own right.)
\ulist
\li \refterm{æŽ§åˆ¶è¯}æ˜¯ç”±\refterm{è½¬ä¹‰ç¬¦}ç´§è·Ÿä¸€ä¸ªæˆ–å¤šä¸ªå­—æ¯ç»„æˆçš„æŽ§åˆ¶åºåˆ—ã€‚
^^{æŽ§åˆ¶è¯}
æŽ§åˆ¶è¯åœ¨ \TeX\ ç¢°åˆ°éžå­—æ¯ç¬¦æ—¶ç»“æŸã€‚
ä¾‹å¦‚ï¼Œå½“ \TeX\ è¯»å– `\hbox{|\hfill!visiblespace,!visiblespace!.the|}' æ—¶ï¼Œ
å®ƒçœ‹åˆ°å…­ä¸ª\refterm{è®°å·}ï¼šæŽ§åˆ¶åºåˆ— `|\hfill|'ã€é€—å·ã€ç©ºæ&nbsp;¼ã€`|t|'ã€`|h|'ã€`|e|'ã€‚
åœ¨ \TeX\ æ‰«ææŽ§åˆ¶åºåˆ—æ—¶ï¼Œ`|\hfill|'ä¹‹åŽçš„ç©ºæ&nbsp;¼ç»“æŸè¯¥æŽ§åˆ¶åºåˆ—å¹¶è¢«å¸æ”¶æŽ‰ã€‚%
ï¼ˆå¦ä¸€æ–¹é¢ï¼Œå¯¹äºŽ `|\hfill,!visiblespace!.the|'ï¼Œ
é€—å·ä¸ä»…ç»“æŸæŽ§åˆ¶åºåˆ—ï¼Œè€Œä¸”è‡ªèº«ä¹Ÿç®—ä½œä¸€ä¸ªå­—ç¬¦ã€‚ï¼‰
%\li A \refterm{control symbol}
%^^{control symbols}
%is a control sequence consisting of an
%^{escape character} followed by any character other than a letter---%
%even a space or an end of line.
%A control symbol is self-delimited, i.e., \TeX\ knows where it ends without
%having to look at what character comes after it.
%The character after a control symbol is never absorbed by
%the control symbol.
%\endulist
%\noindent See \xrefpg{spaces} for more information about spaces after control
%sequences.
\li \refterm{æŽ§åˆ¶ç¬¦}æ˜¯ç”±^{è½¬ä¹‰ç¬¦}ç´§è·Ÿå•ä¸ªéžå­—æ¯ç¬¦ç»„æˆçš„æŽ§åˆ¶åºåˆ—%
â€”â€”éžå­—æ¯ç¬¦ä¹Ÿå¯ä»¥æ˜¯ç©ºæ&nbsp;¼ç¬¦æˆ–è€…è¡Œå°¾ç¬¦ã€‚
^^{æŽ§åˆ¶ç¬¦}
æŽ§åˆ¶ç¬¦æ˜¯è‡ªå®šç•Œçš„ï¼Œå³ \TeX\ æ—&nbsp;éœ€è¯»å–åŽé¢çš„å­—ç¬¦å°±çŸ¥é“å®ƒåœ¨å“ªé‡Œç»“æŸã€‚
æŽ§åˆ¶ç¬¦ä¹‹åŽçš„å­—ç¬¦æ°¸è¿œä¸ä¼šè¢«å¸æ”¶æŽ‰ã€‚
\endulist
\noindent ä½&nbsp;å¯ä»¥å‚è€ƒ\xrefpg{spaces}ï¼Œå…¶ä¸­æœ‰å¯¹æŽ§åˆ¶åºåˆ—åŽçš„ç©ºæ&nbsp;¼çš„ä»‹ç»ã€‚

%\TeX\ provides a great many predefined control sequences.  The
%\refterm{primitive} control sequences are built into the \TeX\ computer
%program and thus are available in all forms of \TeX.
%^^{primitive//control sequence}
%Other
%predefined control sequences are provided by \refterm{\plainTeX}, the
%form of \TeX\ described in this book.
\TeX\ æä¾›äº†è®¸å¤šé¢„å®šä¹‰çš„æŽ§åˆ¶åºåˆ—ã€‚
\refterm{åŽŸå§‹çš„}æŽ§åˆ¶åºåˆ—å†…å»ºäºŽ \TeX\ ç¨‹åºä¸­ï¼Œå›&nbsp;æ­¤å¯ä»¥åœ¨å„ç§ \TeX\ å½¢å¼ä¸­ä½¿ç”¨ã€‚
^^{åŽŸå§‹çš„//åŽŸå§‹æŽ§åˆ¶åºåˆ—}
å…¶ä»–é¢„å®šä¹‰çš„æŽ§åˆ¶åºåˆ—ç”±\refterm{\plainTeX}ï¼ˆå³æœ¬ä¹¦æè¿°çš„ \TeX\ å½¢å¼ï¼‰æä¾›ã€‚

%You can augment the predefined control sequences with ones of your own,
%using commands such as ^|\def| and ^|\let| to define them.
%\chapterref{eplain} of this book contains a
%collection of control sequence definitions that you may find
%useful.  In addition, your computing facility may
%be able to provide a collection of
%locally developed \TeX\ macros.
%\endconcept
ä½&nbsp;å¯ä»¥ç”¨è‡ªå·±çš„æŽ§åˆ¶åºåˆ—æ‰©å……é¢„å®šä¹‰çš„æŽ§åˆ¶åºåˆ—ï¼Œåªéœ€ç”¨ ^|\def| å’Œ ^|\let| ç­‰å‘½ä»¤å®šä¹‰å®ƒä»¬ã€‚
æœ¬ä¹¦\chapterref{eplain}åŒ…å«äº†ä¸€æ‰¹å®žç”¨çš„æŽ§åˆ¶åºåˆ—å®šä¹‰ã€‚
æ­¤å¤–ï¼Œä½&nbsp;çš„è®¡ç®—è®¾å¤‡ä¹Ÿå¯èƒ½æä¾›ä¸€æ‰¹æœ¬åœ°å¼€å‘çš„ \TeX\ å®ã€‚
\endconcept


%\conceptindex{control symbols}
%\concept{control symbol}
\concept{æŽ§åˆ¶ç¬¦}

%A \defterm{control symbol} is a \refterm{control sequence} that consists
%of an \refterm{escape character} followed by any character other than a
%letter---even a space or end of line.
%^^{escape character}
%\endconcept
\defterm{æŽ§åˆ¶ç¬¦}ï¼ˆcontrol symbolï¼‰æ˜¯ç”±\refterm{è½¬ä¹‰ç¬¦}ç´§è·Ÿå•ä¸ªéžå­—æ¯ç¬¦ç»„æˆçš„%
\refterm{æŽ§åˆ¶åºåˆ—}â€”â€”éžå­—æ¯ç¬¦ä¹Ÿå¯ä»¥æ˜¯ç©ºæ&nbsp;¼ç¬¦æˆ–è€…è¡Œå°¾ç¬¦ã€‚
^^{è½¬ä¹‰ç¬¦}
\endconcept


%\conceptindex{control words}
%\concept{control word}
\concept{æŽ§åˆ¶è¯}

%A \defterm{control word} is a \refterm{control sequence} that consists
%of an \refterm{escape character} followed by one or more
%letters.\footnote{A ``letter'' here has the strict meaning of a
%character with category code $11$.}
%\TeX\
%ignores any spaces or ends-of-line that follow a control word, except to
%note that they end the control word.
%^^{escape character}
%\endconcept
\defterm{æŽ§åˆ¶è¯}ï¼ˆcontrol wordï¼‰æ˜¯ç”±\refterm{è½¬ä¹‰ç¬¦}ç´§è·Ÿä¸€ä¸ªæˆ–å¤šä¸ªå­—æ¯
ç»„æˆçš„\refterm{æŽ§åˆ¶åºåˆ—}ã€‚\footnote{å…¶ä¸­â€œå­—æ¯â€çš„ç¡®åˆ‡å«ä¹‰æ˜¯æŒ‡ç±»åˆ«ç&nbsp;ä¸º $11$ çš„å­—ç¬¦ã€‚}
\TeX\ å¿½ç•¥æŽ§åˆ¶è¯ä¹‹åŽçš„ç©ºæ&nbsp;¼ç¬¦æˆ–è¡Œå°¾ç¬¦ï¼Œä»…ä»…ç”¨å®ƒä»¬è¡¨ç¤ºæŽ§åˆ¶è¯çš„ç»“æŸã€‚
^^{è½¬ä¹‰ç¬¦}
\endconcept


\bookmark{2}{ä»¥Då¼€å¤´}
%\concept {decimal constant}
\concept {å°æ•°}

è§\conceptcit{æ•°}ã€‚
\endconcept


%\conceptindex{delimiters}
%\concept delimiter
\concept å®šç•Œç¬¦

%A \defterm{delimiter} is a character
%that is intended to be used as
%a visible boundary of a math formula.
%The essential property of a delimiter is that \TeX\ can adjust
%its size according
%to the vertical size (\refterm{height} plus \refterm{depth})
%of the subformula.
%However, \TeX\ performs the adjustment only if the delimiter
%appears in a ``delimiter context'', namely, as an argument to
%one of the commands ^|\left|,
%^|\right|,
%|\over!-with!-delims|,
%|\atop!-with!-delims|,
%or |\above!-with!-delims|
%^^|\overwithdelims|
%^^|\atopwithdelims|
%^^|abovewithdelims|
%\margin{Footnote deleted}
%(see \pp\xrefn{\overwithdelims},~\xrefn{\left}).
%The delimiter contexts also include any \refterm{argument}
%to a \refterm{macro} that uses the argument in a delimiter context.
\defterm{å®šç•Œç¬¦}ï¼ˆdelimiterï¼‰æ˜¯ä¸€ä¸ªä½œä¸ºæ•°å­¦å…¬å¼çš„å¯è§è¾¹ç•Œçš„å­—ç¬¦ã€‚
\TeX\ å¯ä»¥æ&nbsp;¹æ®å­å…¬å¼çš„ç«–ç›´å°ºå¯¸ï¼ˆ\refterm{é«˜åº¦}åŠ&nbsp;\refterm{æ·±åº¦}ï¼‰è°ƒæ•´å®šç•Œç¬¦å¤§å°ï¼Œ
è¿™å°±æ˜¯å®šç•Œç¬¦çš„æœ¬è´¨ç‰¹æ€§ã€‚
ç„¶è€Œï¼Œè¦è®© \TeX\ å¯¹å®šç•Œç¬¦ä½œè°ƒæ•´ï¼Œå®šç•Œç¬¦å¿…é¡»å‡ºçŽ°åœ¨â€œå®šç•ŒçŽ¯å¢ƒâ€ä¸­ï¼Œ
å³ä½œä¸º ^|\left|ã€^|\right|ã€|\overwithdelims|ã€|\atopwithdelims|æˆ– |\abovewithdelims|%
ï¼ˆè§\xrefn{\overwithdelims}ï¼Œ\xrefn{\left}é¡µï¼‰è¿™äº›å‘½ä»¤ä¹‹ä¸€çš„å‚é‡ã€‚
^^|\overwithdelims|
^^|\atopwithdelims|
^^|\abovewithdelims|
\margin{Footnote deleted}
å®šç•ŒçŽ¯å¢ƒä¹ŸåŒ…æ‹¬åœ¨å®šç•ŒçŽ¯å¢ƒä¸­ä½¿ç”¨å‚é‡çš„\refterm{å®}çš„ä»»ä½•\refterm{å‚é‡}ã€‚

%For example, the left and right
%parentheses are delimiters.
%If you use ^{parentheses} in a delimiter context
%around a formula, \TeX\ makes the parentheses big
%enough to enclose the \refterm{box} that contains the formula (as long as the
%\refterm{fonts:font} you're using have big enough parentheses).
%For example:
%\csdisplay
%$$ \left( a \over b \right) $$
%|
%yields:
%\centereddisplays $$\left (a \over b \right ) $$
%Here \TeX\ has made the parentheses big enough to accommodate the fraction.
%But if you write, instead:
%\csdisplay
%$$({a \over b})$$
%|
%you'll get:
%$$({a \over b})$$
%Since the parentheses aren't in a delimiter context,
%they are \emph{not} enlarged.
ä¸¾ä¾‹è¯´ï¼Œå·¦åœ†æ‹¬å·å’Œå³åœ†æ‹¬å·æ˜¯å®šç•Œç¬¦ã€‚
å¦‚æžœä½&nbsp;åœ¨å®šç•ŒçŽ¯å¢ƒä¸­ç”¨^{åœ†æ‹¬å·}å›´ä½ä¸€ä¸ªå…¬å¼ï¼Œ
\TeX\ å°†å¢žåŠ&nbsp;åœ†æ‹¬å·çš„å¤§å°ä»¥è®©å®ƒä»¬æ¡†ä½åŒ…å«è¯¥å…¬å¼çš„\refterm{ç›’å­}%
ï¼ˆåªè¦ä½&nbsp;æ‰€ä½¿ç”¨çš„\refterm{å­—ä½“}æœ‰è¶³å¤Ÿå¤§çš„åœ†æ‹¬å·ï¼‰ã€‚
ä¾‹å¦‚ï¼š
\csdisplay
$$ \left( a \over b \right) $$
|
å¾—åˆ°ä¸‹é¢çš„ç»“æžœï¼š
\centereddisplays $$\left (a \over b \right ) $$
è¿™é‡Œ \TeX\ å·²ç»è°ƒæ•´äº†åœ†æ‹¬å·çš„å¤§å°ä»¥æ¡†ä½åˆ†æ•°ã€‚
ä½†æ˜¯å¦‚æžœä½&nbsp;æ”¹ä¸ºè¿™æ&nbsp;·å†™ï¼š
\csdisplay
$$({a \over b})$$
|
å°†ä¼šå¾—åˆ°ä¸‹é¢çš„ç»“æžœï¼š
$$({a \over b})$$
ç”±äºŽåœ†æ‹¬å·ä¸åœ¨å®šç•ŒçŽ¯å¢ƒä¸­ï¼Œ\TeX\ \emph{ä¸ä¼š}å¢žåŠ&nbsp;å®ƒä»¬çš„å¤§å°ã€‚

%Delimiters come in pairs:
%an opening delimiter at the left of the subformula
%and a closing delimiter at its right.
%You can explicitly choose a larger height for a
%delimiter with the commands ^|\bigl|, ^|\bigr|, and their
%relatives \ctsref{\bigl}.\footnote
%{\PlainTeX\ defines the various |\big| commands by using |\left| and |\right|
%to provide a delimiter context.  It sets the size by
%constructing an empty formula with the desired height.}
%For instance, in order to get the
%displayed formula:
%$$\bigl(f(x) - x \bigr) \bigl(f(y) - y \bigr)$$
å®šç•Œç¬¦å¿…é¡»æˆå¯¹å‡ºçŽ°ï¼šä¸€ä¸ªå¼€å®šç•Œç¬¦æ”¾åœ¨å­å…¬å¼å·¦è¾¹ï¼Œ
å¦ä¸€ä¸ªé—­å®šç•Œç¬¦æ”¾åœ¨å­å…¬å¼å³è¾¹ã€‚
ä½&nbsp;å¯ä»¥ç”¨ ^|\bigl|ï¼Œ^|\bigr| åŠå…¶ä»–ç›¸å…³å‘½ä»¤\ctsref{\bigl}ç›´æŽ¥é€‰æ‹©è¾ƒå¤§å·çš„å®šç•Œç¬¦ã€‚
\footnote
{\PlainTeX\ å®šä¹‰äº†å„ç§ |\big| å‘½ä»¤ï¼Œå…¶ä¸­ç”¨ |\left| å’Œ |\right| æä¾›å®šç•ŒçŽ¯å¢ƒã€‚
å®ƒé€šè¿‡æž„é€&nbsp;æ‰€éœ€å°ºå¯¸çš„ç©ºå…¬å¼æ¥è®¾å®šå°ºå¯¸ã€‚}
ä¾‹å¦‚ï¼Œè¦å¾—åˆ°ä¸‹é¢çš„é™ˆåˆ—å…¬å¼ï¼š
$$\bigl(f(x) - x \bigr) \bigl(f(y) - y \bigr)$$

%\noindent in which the outer parentheses are a little bigger than the inner
%ones, you should write:
\noindent å…¶ä¸­å¤–å±‚çš„åœ†æ‹¬å·æ¯”å†…å±‚çš„ç¨å¾®å¤§ä¸€ç‚¹ï¼Œä½&nbsp;åº”è¯¥è¿™æ&nbsp;·å†™ï¼š

%\csdisplay
%$$\bigl( f(x) - x \bigr) \bigl( f(y) - y \bigr)$$
%|
\csdisplay
$$\bigl( f(x) - x \bigr) \bigl( f(y) - y \bigr)$$
|

%The $22$ \plainTeX\ delimiters, shown at their normal size, are:
%\display{%
%$( \&gt;) \&gt;[ \&gt;] \&gt;\{ \&gt;\}
%\&gt;\lfloor \&gt;\rfloor \&gt;\lceil \&gt;\rceil
%\&gt;\langle \&gt;\rangle \&gt;/ \&gt;\backslash
%\&gt;\vert \&gt;\Vert
%\&gt;\uparrow \&gt;\downarrow \&gt;\updownarrow
%\&gt;\Uparrow \&gt;\Downarrow \&gt;\Updownarrow$}
%^^|)| ^^|)| ^^|[| ^^|]| ^^|\lbrack| ^^|\rbrack|
%^^|\{| ^^|\}| ^^|\lbrace| ^^|\rbrace|
%^^|\lfloor| ^^|\rfloor|  ^^|\lceil|  ^^|\rceil|
%^^|\langle|  ^^|\rangle|  ^^|/|  ^^|\backslash|
%^^|\vert|  ^^|\Vert|
%^^|\uparrow|  ^^|\downarrow|  ^^|\updownarrow|
%^^|\Uparrow|  ^^|\Downarrow|  ^^|\Updownarrow|
%\noindent
%Here they are at the largest size provided explicitly by \plainTeX\
% (the |\Biggl|, |\Biggr|, etc., versions):
%\nobreak\vskip .5\abovedisplayskip
%\display{%
%$\Biggl( \&gt;\Biggr) \&gt;\Biggl[ \&gt;\Biggr]
%\&gt;\Biggl\{ \&gt;\Biggr\} \&gt;\Biggl\lfloor \&gt;\Biggr\rfloor
%\&gt;\Biggl\lceil \&gt;\Biggr\rceil
%\&gt;\Biggl\langle \&gt;\Biggr\rangle
%\&gt;\Biggm/ \&gt;\Biggm\backslash
%\&gt;\Biggm\vert \&gt;\Biggm\Vert
%\&gt;\Biggm\uparrow \&gt;\Biggm\downarrow \&gt;\Biggm\updownarrow
%\&gt;\Biggm\Uparrow \&gt;\Biggm\Downarrow \&gt;\Biggm\Updownarrow$}
%\vskip .5\belowdisplayskip
%\noindent
%The delimiters (except for `|(|', `|)|', and
%`|/|')
%are among the symbols listed on
%pages~\xrefn{\lbrace}--\xrefn{\Uparrow}.
%They are listed in one place on \knuth{page~146}.
\PlainTeX\ ä¸­æœ‰ $22$ ä¸ªå®šç•Œç¬¦ï¼Œç”¨å®ƒä»¬çš„è‡ªç„¶å°ºå¯¸æ˜¾ç¤ºå¦‚ä¸‹ï¼š
\display{%
$( \&gt;) \&gt;[ \&gt;] \&gt;\{ \&gt;\}
\&gt;\lfloor \&gt;\rfloor \&gt;\lceil \&gt;\rceil
\&gt;\langle \&gt;\rangle \&gt;/ \&gt;\backslash
\&gt;\vert \&gt;\Vert
\&gt;\uparrow \&gt;\downarrow \&gt;\updownarrow
\&gt;\Uparrow \&gt;\Downarrow \&gt;\Updownarrow$}
\ifoldeplain ^^|(| ^^|)| ^^|[| ^^|]| ^^|\{| ^^|\}| ^^|/| ^^|\backslash| \fi
^^|\lbrack| ^^|\rbrack| ^^|\lbrace| ^^|\rbrace|
^^|\lfloor| ^^|\rfloor| ^^|\lceil|  ^^|\rceil|
^^|\langle| ^^|\rangle| ^^|\vert|   ^^|\Vert|
^^|\uparrow|  ^^|\downarrow|  ^^|\updownarrow|
^^|\Uparrow|  ^^|\Downarrow|  ^^|\Updownarrow|
\noindent
è€Œç”¨ \plainTeX\ æä¾›çš„æœ€å¤§å°ºå¯¸ï¼ˆ|\Biggl|ï¼Œ|\Biggr| å½¢å¼ï¼‰æ˜¾ç¤ºå¦‚ä¸‹ï¼š
\nobreak\vskip .5\abovedisplayskip
\display{%
$\Biggl( \&gt;\Biggr) \&gt;\Biggl[ \&gt;\Biggr]
\&gt;\Biggl\{ \&gt;\Biggr\} \&gt;\Biggl\lfloor \&gt;\Biggr\rfloor
\&gt;\Biggl\lceil \&gt;\Biggr\rceil
\&gt;\Biggl\langle \&gt;\Biggr\rangle
\&gt;\Biggm/ \&gt;\Biggm\backslash
\&gt;\Biggm\vert \&gt;\Biggm\Vert
\&gt;\Biggm\uparrow \&gt;\Biggm\downarrow \&gt;\Biggm\updownarrow
\&gt;\Biggm\Uparrow \&gt;\Biggm\Downarrow \&gt;\Biggm\Updownarrow$}
\vskip .5\belowdisplayskip
\noindent
è¿™äº›å®šç•Œç¬¦ï¼ˆ`|(|'ï¼Œ`|)|' å’Œ `|/|' é™¤å¤–ï¼‰éƒ½å‡ºçŽ°åœ¨%
ç¬¬~\xrefn{\lbrace}--\xrefn{\Uparrow}é¡µçš„ç¬¦å·åˆ—è¡¨ä¸­ã€‚
å®ƒä»¬ä¹Ÿéƒ½å‡ºçŽ°åœ¨\knuth{ç¬¬~146~é¡µ}çš„åˆ—è¡¨ä¸­ã€‚

%A delimiter can belong to any class.
%^^{class//of a delimiter}
%For a delimiter that you enlarge with
%|\bigl|, |\bigr|, etc., the class is determined by the command:
%``opener'' for |l|-commands, ``closer'' for |r|-commands,
%``relation'' for |m|-commands, and ``ordinary symbol'' for |g|-commands,
%e.g., |\Big|.
å®šç•Œç¬¦å¯ä»¥å±žäºŽä»»ä½•ç±»ã€‚
^^{ç±»//å®šç•Œç¬¦çš„ç±»}
å¯¹äºŽç”¨ |\bigl| å’Œ |\bigr| ç­‰å‘½ä»¤å¢žåŠ&nbsp;å¤§å°çš„å®šç•Œç¬¦ï¼Œå®ƒæ‰€å±žçš„ç±»ç”±è¯¥å‘½ä»¤å†³å®šï¼š
|l|-å‘½ä»¤å±žäºŽâ€œå¼€ç¬¦å·â€ï¼Œ|r|-å‘½ä»¤å±žäºŽâ€œé—­ç¬¦å·â€ï¼Œ
|m|-å‘½ä»¤å±žäºŽâ€œå…³ç³»ç¬¦å·â€ï¼Œ|g|-å‘½ä»¤æ¯”å¦‚ |\Big| å±žäºŽâ€œæ™®é€šç¬¦å·â€ã€‚

%You can obtain a delimiter in two different ways:
%\olist
%\li You can make a character be a delimiter by assigning it a
%nonnegative delimiter code
%\bix^^{delimiter codes}
%(see below) with the ^|\delcode| command (\xref\delcode).
%Thereafter the character acts as a delimiter whenever you use it in a
%delimiter context.\footnote{%
%It's possible to use a character with a nonnegative delimiter code in
%a context where it isn't a delimiter. In this case \TeX\ doesn't perform the
%search; instead it just uses the character in the ordinary way
%(see \knuth{page~156}).}
%\li You can produce a delimiter explicitly with the ^|\delimiter| command
%(\xref\delimiter), in analogy to the way that you can produce an ordinary
%character with the |\char| command or a math character with the |\mathchar|
%command.
%The |\delimiter| command uses the same delimiter codes that are used in a
%|\delcode| table entry, but with an extra digit in front to indicate a
%class.
%It's rare to use |\delimiter| outside of a macro definition.
%\endolist
ä½&nbsp;å¯ä»¥ç”¨ä¸¤ç§ä¸åŒæ–¹æ³•å¾—åˆ°ä¸€ä¸ªå®šç•Œç¬¦ï¼š
\olist
\li é€šè¿‡ç”¨ ^|\delcode| å‘½ä»¤ï¼ˆ\xref\delcode ï¼‰ç»™ä¸€ä¸ªå­—ç¬¦èµ‹äºˆéžè´Ÿå®šç•Œç&nbsp;ï¼ˆè§ä¸‹é¢ï¼‰ï¼Œ
\bix^^{å®šç•Œç&nbsp;}
ä½&nbsp;å¯ä»¥å°†è¿™ä¸ªå­—ç¬¦å˜æˆå®šç•Œç¬¦ã€‚
è¿™æ&nbsp;·ï¼Œå¦‚æžœä½&nbsp;åœ¨å®šç•ŒçŽ¯å¢ƒä¸­ä½¿ç”¨è¿™ä¸ªå­—ç¬¦ï¼Œå®ƒå°±å’Œå®šç•Œç¬¦ä¸€æ&nbsp;·ã€‚\footnote{%
åœ¨éžå®šç•ŒçŽ¯å¢ƒä¸­ä½¿ç”¨å®šç•Œç&nbsp;éžè´Ÿçš„å­—ç¬¦ä¹Ÿæ˜¯å¯ä»¥çš„ã€‚
æ­¤æ—¶ \TeX\ å°†ä¸ä¼šæ‰§è¡Œæœç´¢ï¼Œè€Œä»…ä»…ä»¥æ™®é€šæ–¹å¼ä½¿ç”¨è¯¥å­—ç¬¦ï¼ˆè§\knuth{ç¬¬~156~é¡µ}ï¼‰ã€‚}
\li ä½&nbsp;å¯ä»¥ç”¨ ^|\delimiter| å‘½ä»¤ï¼ˆ\xref\delimiter ï¼‰ç›´æŽ¥ç”Ÿæˆä¸€ä¸ªå®šç•Œç¬¦ï¼Œ
è¿™ä¸Žä½&nbsp;ç”¨ |\char| å‘½ä»¤ç”Ÿæˆä¸€ä¸ªæ™®é€šå­—ç¬¦æˆ–è€…ç”¨ |\mathchar| å‘½ä»¤ç”Ÿæˆä¸€ä¸ªæ•°å­¦å­—ç¬¦ç±»ä¼¼ã€‚
|\delimiter| å‘½ä»¤ä½¿ç”¨çš„å®šç•Œç&nbsp;å’Œ |\delcode| è¡¨æ&nbsp;¼é¡¹ç”¨åˆ°çš„ä¸€æ&nbsp;·ï¼Œ
ä½†å‰é¢å¤šäº†ä¸€ä¸ªæ•°å­—ç”¨äºŽæ&nbsp;‡ç¤ºæ‰€å±žçš„ç±»ã€‚
é™¤äº†åœ¨å®å®šä¹‰ä¸­ï¼Œå…¶ä»–åœ°æ–¹å¾ˆå°‘ç”¨åˆ° |\delimiter| å‘½ä»¤ã€‚
\endolist

%A delimiter code tells
%\TeX\ how to search for an appropriate output character to represent
%a delimiter.
%The rules for this search are rather complicated
%(see \knuth{pages~156 and 442}).
%A complete understanding of these rules requires knowing
%about the organization of font ^{metrics file}s, a topic that is not just beyond
%the scope of this book but beyond the scope of \texbook\ as well.
å®šç•Œç&nbsp;ï¼ˆdelimiter codeï¼‰å‘Šè¯‰ \TeX\ å¦‚ä½•æœç´¢åˆé€‚çš„è¾“å‡ºå­—ç¬¦æ¥è¡¨ç¤ºä¸€ä¸ªå®šç•Œç¬¦ã€‚
è¿™äº›æœç´¢è§„åˆ™ç›¸å½“å¤æ‚ï¼ˆè§\knuth{ç¬¬~156 å’Œ 442~é¡µ}ã€‚
è¦å®Œå…¨ç†è§£è¿™äº›è§„åˆ™éœ€è¦ç†Ÿæ‚‰å­—ä½“^{åº¦é‡æ–‡ä»¶}çš„ç»“æž„ï¼Œ
è€Œè¿™ä¸ªä¸»é¢˜ä¸ä»…è¶…å‡ºæœ¬ä¹¦èŒƒå›´ï¼Œä¹Ÿè¶…å‡º \texbook\ çš„èŒƒå›´ã€‚

%In essence the search works like this.  The delimiter code specifies a
%``small'' output character and a ``large'' output character by
%providing a \refterm{font} position and a font \refterm{family} for each
%(see \xref\delcode).
%Using this information, \TeX\ can find (or construct)
%larger and larger versions of the delimiter.  \TeX\ first tries
%different sizes (from small to large)
%of the ``small'' character in the ``small'' font
%and then
%different sizes (also from small to large)
%of the ``large'' character in the ``large'' font,
%seeking one whose height plus depth is sufficiently large.
%If none of the characters it finds are large
%enough, it uses the largest one that it finds.
%It's possible that
%the small character, the large character, or both have been left unspecified
%(indicated by a zero in the appropriate part of the delimiter code).
%If only one character
%has been specified, \TeX\ uses that one. If neither has been specified,
%it replaces the delimiter by a space of width ^|\nulldelimiterspace|.
%\eix^^{delimiter codes}
æœ¬è´¨ä¸Šæœç´¢è¿‡ç¨‹æ˜¯è¿™æ&nbsp;·è¿è¡Œçš„ã€‚å®šç•Œç&nbsp;ç»™å‡ºäº†å­—ä½“\refterm{æ—}å’Œ\refterm{å­—ä½“}ä½ç½®ï¼Œ
ä»Žè€ŒæŒ‡å®šäº†ä¸€ä¸ªâ€œå°å·â€è¾“å‡ºå­—ç¬¦å’Œä¸€ä¸ªâ€œå¤§å·â€è¾“å‡ºå­—ç¬¦ï¼ˆè§\xref\delcode ï¼‰ã€‚
åˆ©ç”¨è¿™äº›ä¿¡æ¯ï¼Œ\TeX\ èƒ½å¤Ÿæ‰¾åˆ°ï¼ˆæˆ–è€…æž„é€&nbsp;ï¼‰å®šç•Œç¬¦çš„è¶Šæ¥è¶Šå¤§çš„ç‰ˆæœ¬ã€‚
\TeX\ é¦–å…ˆå°è¯•â€œå°å·â€å­—ä½“çš„â€œå°å·â€å­—ç¬¦çš„ä¸åŒå°ºå¯¸ï¼ˆä»Žå°åˆ°å¤§ï¼‰ï¼Œ
ç„¶åŽæ˜¯â€œå¤§å·â€å­—ä½“çš„â€œå¤§å·â€å­—ç¬¦çš„ä¸åŒå°ºå¯¸ï¼ˆåŒæ&nbsp;·æ˜¯ä»Žå°åˆ°å¤§ï¼‰ï¼Œ
å¯»æ‰¾ä¸€ä¸ªé«˜åº¦åŠ&nbsp;ä¸Šæ·±åº¦è¶³å¤Ÿå¤§çš„å­—ç¬¦ã€‚
å¦‚æžœæ‰€æ‰¾åˆ°çš„å­—ç¬¦éƒ½ä¸å¤Ÿå¤§ï¼Œå®ƒå°±ç”¨æœ€å¤§é‚£ä¸ªã€‚
ä¹Ÿæœ‰å¯èƒ½å°å·å­—ç¬¦æˆ–å¤§å·å­—ç¬¦ï¼Œæˆ–ä¸¤è€…éƒ½æ²¡æŒ‡å®šï¼ˆå³å®šç•Œç&nbsp;çš„å¯¹åº”éƒ¨åˆ†ä¸ºé›¶ï¼‰ã€‚
å¦‚æžœåªæŒ‡å®šäº†ä¸€ä¸ªå­—ç¬¦ï¼Œ\TeX\ ä½¿ç”¨é‚£ä¸€ä¸ªã€‚å¦‚æžœä¸¤ä¸ªå­—ç¬¦éƒ½æ²¡æŒ‡å®šï¼Œ
å®ƒå°±å°†å®šç•Œç¬¦æ›¿æ¢ä¸ºå®½åº¦ä¸º ^|\nulldelimiterspace| é—´éš”ã€‚
\eix^^{å®šç•Œç&nbsp;}

\endconcept


%\concept demerits
\concept ç¼ºé™·

%\TeX\ uses \refterm{demerits} as a measure of how undesirable a line is
%when it's breaking a paragraph into lines \seeconcept{line break}.
%^^{line breaks//demerits for}
%The demerits of a line are affected both by the \refterm{badness} of the line
%and by \refterm{penalties:penalty} associated with the line.
%^^{badness}
%\TeX's goal in choosing a particular arrangement of lines is to minimize the
%total demerits for the paragraph, which it computes by adding up the demerits
%for the individual lines.
%See \knuth{pages~97--98} for the details of how \TeX\
%breaks a paragraph into lines.
%\TeX\ does not use demerits when it's choosing page breaks; instead, it uses
%a similar measure known as the ``cost'' of a particular page break.
%\endconcept
\TeX\ ç”¨\refterm{ç¼ºé™·}ï¼ˆdemeritsï¼‰åº¦é‡å®ƒåˆ†æ®µä¸ºè¡Œæ—¶æ–‡æœ¬è¡Œçš„ä¸è‰¯åº¦\seeconcept{æ–­è¡Œç‚¹}ã€‚
^^{æ–­è¡Œ//æ–­è¡Œçš„ç¼ºé™·}
æ–‡æœ¬è¡Œçš„ç¼ºé™·åŒæ—¶å—è¯¥è¡Œçš„\refterm{åŠ£åº¦}å’Œå®ƒå¸¦æœ‰çš„\refterm{æƒ©ç½š}å½±å“ã€‚
^^{åŠ£åº¦}
\TeX\ çš„ç›®æ&nbsp;‡æ˜¯åˆç†åœ°åˆ†é…å„è¡Œæ–‡æœ¬ï¼Œä»¥è®©æ®µè½çš„æ€»ç¼ºé™·æœ€å°ï¼Œ
å…¶ä¸­æ€»ç¼ºé™·ç”±å„è¡Œçš„ç¼ºé™·åŠ&nbsp;èµ·æ¥ã€‚
å‚è§ \knuth{ç¬¬~97--98~é¡µ}ä»¥äº†è§£ \TeX\ åˆ†æ®µä¸ºè¡Œçš„ç»†èŠ‚ã€‚
\TeX\ é€‰æ‹©åˆ†é¡µç‚¹æ—¶ä¸ä½¿ç”¨ç¼ºé™·ï¼›å®ƒä½¿ç”¨çš„æ˜¯è¢«ç§°ä¸ºåˆ†é¡µâ€œä»£ä»·â€çš„ç±»ä¼¼æ¦‚å¿µã€‚
\endconcept


%\concept depth
\concept æ·±åº¦

%^^{boxes//depth of}
%The \defterm{depth} of a \refterm{box} is the distance that the box extends
%below its \refterm{baseline}.
%\endconcept
^^{ç›’å­//ç›’å­çš„æ·±åº¦}
ç›’å­çš„\defterm{æ·±åº¦}ï¼ˆdepthï¼‰æ˜¯ç›’å­åœ¨\refterm{åŸºçº¿}ä¹‹ä¸‹çš„è·ç¦»ã€‚
\endconcept


%\conceptindex{dimensions}
%\concept dimension
\conceptindex{å°ºå¯¸}
\concept å°ºå¯¸

%A \defterm{dimension} specifies a distance, that is, a linear measure of
%space.  You use dimensions to specify sizes of things, such as the length
%of a line.  Printers in English-speaking countries traditionally measure
%distance in points and picas, while printers in continental Europe
%traditionally measure distance in did\^ot points and ciceros.  You can
%use these units or others, such as inches, that may be more
%familiar to you.  The font-independent
%^{units of measure} that \TeX\ understands are:
\defterm{å°ºå¯¸}ï¼ˆdimensionï¼‰æŒ‡å®šäº†ä¸€ä¸ªè·ç¦»ï¼Œå³å¯¹ç©ºé—´çš„é•¿åº¦æµ‹é‡ã€‚
ä½&nbsp;ç”¨å°ºå¯¸æŒ‡å®šäº‹ç‰©çš„å¤§å°ï¼Œæ¯”å¦‚æ–‡æœ¬è¡Œçš„é•¿åº¦ã€‚
è‹±è¯­å›½å®¶çš„æ‰“å°æœºä¹&nbsp;æƒ¯ç”¨ç‚¹ï¼ˆpointï¼‰å’Œæ´¾å¡ï¼ˆpicaï¼‰æ¥æµ‹é‡è·ç¦»ï¼Œ
è€Œæ¬§æ´²å¤§é™†çš„æ‰“å°æœºä¹&nbsp;æƒ¯ç”¨è¿ªå¤šç‚¹ï¼ˆ did\^ot pointsï¼‰å’Œè¥¿å¡žç½—ï¼ˆciceroï¼‰ã€‚
ä½&nbsp;å¯ä»¥ä½¿ç”¨è¿™äº›å•ä½ï¼Œæˆ–è€…å…¶ä»–ä½&nbsp;æ›´ç†Ÿæ‚‰çš„å•ä½ï¼Œæ¯”å¦‚è‹±å¯¸ã€‚
\TeX\ èƒ½å¤Ÿè¯†åˆ«çš„ä¸Žå­—ä½“æ—&nbsp;å…³çš„^{åº¦é‡å•ä½}æœ‰å¦‚ä¸‹è¿™äº›ï¼š

%\xrdef{dimdefs}
%\nobreak\vskip\abovedisplayskip
%\halign{\indent\hfil\tt #\qquad&amp;#\hfil\cr
%pt&amp;^{point} (72.27 points = 1 inch)\cr
%pc&amp;^{pica} (1 pica = 12 points)\cr
%bp&amp;big point (72 big points = 1 inch)\cr
%in&amp;^{inch}\cr
%cm&amp;^{centimeter} (2.54 centimeters = 1 inch)\cr
%mm&amp;^{millimeter} (10 millimeters = 1 centimeter)\cr
%dd&amp;^{\didotpt} (1157 {\didotpt}s = 1238 points)\cr
%cc&amp;^{cicero} (1 cicero = 12 {\didotpt}s)\cr
%sp&amp;^{scaled point} (65536 scaled points = 1 point)\cr
%}
%\vskip\belowdisplayskip
\xrdef{dimdefs}
\nobreak\vskip\abovedisplayskip
\halign{\indent\hfil\tt #\qquad&amp;#\ \hfil&amp;#\qquad\hfil&amp;#\hfil\cr
pt&amp; point        &amp; ^{ç‚¹} &amp; 72.27 points = 1 inch\cr
pc&amp; pica         &amp; ^{æ´¾å¡} &amp;1 pica = 12 points\cr
bp&amp; big point    &amp; ^{å¤§ç‚¹} &amp; 72 big points = 1 inch\cr
in&amp; inch         &amp; ^{è‹±å¯¸} &amp;\cr
cm&amp; centimeter   &amp; ^{åŽ˜ç±³} &amp; 2.54 centimeters = 1 inch\cr
mm&amp; millimeter   &amp; ^{æ¯«ç±³}  &amp; 10 millimeters = 1 centimeter\cr
dd&amp; \didotpt     &amp; ^{è¿ªå¤šç‚¹}  &amp; 1157 {\didotpt}s = 1238 points\cr
cc&amp; cicero       &amp; ^{è¥¿å¡žç½—} &amp; 1 cicero = 12 {\didotpt}s\cr
sp&amp; scaled point &amp; ^{ç¼©ç‚¹}  &amp; 65536 scaled points = 1 point\cr
}
\vskip\belowdisplayskip

%Two additional units of measure are associated with every font: `^|ex|',
%a vertical measure usually about the height of the letter `x'
%in the font, and `^|em|', a
%horizontal measure usually equal to the point size of the font and
%about the width of the letter `M' in the font. Finally,
%\TeX\ provides three ``infinite'' units of measure: `^|fil|', `^|fill|', and
%`^|filll|', in increasing order of~strength.
è¿˜æœ‰ä¸¤ä¸ªä¸Žå­—ä½“ç›¸å…³çš„åº¦é‡å•ä½ï¼š
`^|ex|' æ˜¯ä¸€ä¸ªçºµå‘å°ºå¯¸ï¼Œé€šå¸¸ä¸Žå­—ä½“ä¸­å­—æ¯ `x' çš„é«˜åº¦ç›¸å…³ï¼›
`^|em|' æ˜¯ä¸€ä¸ªæ¨ªå‘å°ºå¯¸ï¼Œé€šå¸¸ç­‰äºŽå­—ä½“çš„å¤§å°ï¼Œä¸Žå­—ä½“ä¸­å­—æ¯ `M' çš„å®½åº¦ç›¸å…³ã€‚
æœ€åŽï¼Œ\TeX\ è¿˜æä¾›äº†ä¸‰ä¸ªâ€œæ—&nbsp;é™çš„â€åº¦é‡å•ä½ï¼š`^|fil|'ï¼Œ`^|fill|' å’Œ `^|filll|'ï¼Œ
å®ƒä»¬çš„å¼ºåº¦çš„é˜¶ä¾æ¬¡å¢žå¤§ã€‚

%A dimension is written as a ^{factor}, i.e, a multiplier,
%followed by a unit of measure.
%^^{units of measure}
%The factor can be either a whole \refterm{number} or
%a \refterm{decimal constant} containing a decimal point
%or decimal comma.
%The factor can be preceded by a plus or minus sign, so a dimension
%can be positive or negative.
%^^{dimensions//negative}
%The unit of measure must be there, even if the number is
%zero.  Spaces between the number and the unit of measure are permitted
%but not required.  You'll find a precise definition of a
%dimension on \knuth{page~270}.  Here are some examples of dimensions:
å°ºå¯¸å¯ä»¥ç”¨ä¸€ä¸ª^{å›&nbsp;å­}ï¼Œå³ä¹˜æ•°ï¼ŒåŽé¢åŠ&nbsp;ä¸Šåº¦é‡å•ä½æ¥è¡¨ç¤ºã€‚
^^{åº¦é‡å•ä½}
å›&nbsp;å­å¯ä»¥æ˜¯ä¸€ä¸ªæ•´\refterm{æ•°}ï¼Œæˆ–æ˜¯ä¸€ä¸ªå¸¦æœ‰å°æ•°ç‚¹æˆ–å°æ•°é€—å·çš„\refterm{å°æ•°}ã€‚
å›&nbsp;å­ä¹‹å‰å¯ä»¥å¸¦æœ‰åŠ&nbsp;å·æˆ–å‡å·ï¼Œå›&nbsp;æ­¤å°ºå¯¸å¯æ­£å¯è´Ÿã€‚
^^{å°ºå¯¸//è´Ÿå°ºå¯¸}
å³ä½¿æ•°å€¼ä¸ºé›¶ï¼Œåº¦é‡å•ä½ä¹Ÿå¿…é¡»å†™ä¸Šã€‚æ•°å€¼å’Œåº¦é‡å•ä½ä¹‹é—´å¯ä»¥æœ‰ä¹Ÿå¯ä»¥æ²¡æœ‰ç©ºæ&nbsp;¼ã€‚
åœ¨\knuth{ç¬¬~270~é¡µ}ä¸­æœ‰å°ºå¯¸çš„ç²¾ç¡®å®šä¹‰ã€‚ä¸‹é¢è¿™äº›æ˜¯å°ºå¯¸çš„ä¾‹å­ï¼š

%\csdisplay
%5.9in    0pt    -2,5 pc    2fil
%|
%The last of these represents a first-order infinite distance.
\csdisplay
5.9in    0pt    -2,5 pc    2fil
|
å…¶ä¸­æœ€åŽä¸€ä¸ªå°ºå¯¸è¡¨ç¤ºä¸€ä¸ªä¸€é˜¶æ—&nbsp;é™è·ç¦»ã€‚

%An infinite distance outweighs any finite distance or any weaker infinite
%distance.  If you add |10in| to |.001fil|, you get |.001fil|; if you add
%|2fil| to |-1fill| you get |-1fill|; and so forth.
%\TeX\ accepts infinite distances
%only when you are specifying the \refterm{stretch} and \refterm{shrink}
%of \refterm{glue}.
æ—&nbsp;é™è·ç¦»è¿œè¿œå¤§äºŽä»»ä½•æœ‰é™è·ç¦»æˆ–è€…ä»»ä½•ä½Žé˜¶çš„æ—&nbsp;é™è·ç¦»ã€‚
å¦‚æžœä½&nbsp;ç»™ |.001fil| åŠ&nbsp;ä¸Š |10in|ï¼Œä½&nbsp;å¾—åˆ° |.001fil|ï¼›
å¦‚æžœä½&nbsp;ç»™ |-1fill| åŠ&nbsp;ä¸Š |2fil|ï¼Œä½&nbsp;å¾—åˆ° |-1fill|ï¼Œä¾æ­¤ç±»æŽ¨ã€‚
åªæœ‰åœ¨æŒ‡å®š\refterm{ç²˜è¿ž}çš„\refterm{ä¼¸é•¿é‡}å’Œ\refterm{æ”¶ç¼©é‡}æ—¶ï¼Œ
æ‰å¯ä»¥ä½¿ç”¨æ—&nbsp;é™è·ç¦»ã€‚

%\TeX\ multiplies all dimensions in your document by a
%\refterm{magnification} factor $f/1000$,
%where $f$ is the value of the ^|\mag| parameter.
%^^{magnification}
%Since the default value of
%|\mag| is $1000$, the normal case is that your document is
%typeset just as specified.  You can specify a dimension as it will be
%measured in the final document independent of magnification by putting
%`|true|' in front of the unit.  For instance, `|\kern 8 true pt|'
%produces a kern of $8$ points whatever the magnification.
%\endconcept
\TeX\ å¯¹æ–‡æ¡£ä¸­çš„æ‰€æœ‰å°ºå¯¸éƒ½ä¹˜ä»¥ä¸€ä¸ª\refterm{æ”¾å¤§çŽ‡}å›&nbsp;å­$f/1000$ï¼Œ
å…¶ä¸­ $f$ æ˜¯ ^|\mag| å‚æ•°çš„å€¼ã€‚
^^{æ”¾å¤§çŽ‡}
ç”±äºŽ |\mag| çš„é»˜è®¤å€¼ä¸º $1000$ï¼Œåœ¨ä¸€èˆ¬æƒ…å½¢ä¸‹æ–‡æ¡£æ˜¯ç…§å¸¸æŽ’ç‰ˆçš„ã€‚
ä½&nbsp;å¯ä»¥æŒ‡å®šä¸€ä¸ªä¸Žæ”¾å¤§çŽ‡æ—&nbsp;å…³çš„æœ€ç»ˆæ–‡æ¡£å°ºå¯¸ï¼Œ
åªè¦åœ¨åº¦é‡å•ä½å‰åŠ&nbsp;ä¸Š `|true|'ã€‚
ä¾‹å¦‚ï¼Œ`|\kern 8 true pt|' ç”Ÿæˆäº†ä¸€ä¸ªä¸Žæ”¾å¤§çŽ‡æ—&nbsp;å…³çš„ $8$ ç‚¹å¤§å°çš„ç´§æŽ’ã€‚
\endconcept


%\concept {display math}
\concept {é™ˆåˆ—å…¬å¼}

%The term \defterm{display math} refers to a math formula that \TeX\
%places on a line by itself with extra space above and below
%so as to set it off from the surrounding text.
%A display math formula is enclosed by `|$$|'s.
%\ttidxref{$$}
%\TeX\ reads display math in display math \refterm{mode}.
%\endconcept
\defterm{é™ˆåˆ—å…¬å¼}ï¼ˆdisplay mathï¼‰è¡¨ç¤ºåœ¨å•ç‹¬ä¸€è¡Œæ˜¾ç¤ºçš„å…¬å¼ï¼›
\TeX åœ¨é™ˆåˆ—å…¬å¼ä¸Šè¾¹å’Œä¸‹è¾¹æ·»åŠ&nbsp;é¢å¤–é—´éš”ï¼Œä»¥éš”å¼€å‘¨å›´æ–‡æœ¬ã€‚
é™ˆåˆ—å…¬å¼ä¸¤è¾¹ç”¨ `|$$|' æ‹¬èµ·æ¥ã€‚
\ifoldeplain\ttidxref{$$}\fi
\TeX\ åœ¨é™ˆåˆ—æ•°å­¦\refterm{æ¨¡å¼}ä¸­è¯»å–é™ˆåˆ—å…¬å¼ã€‚
\endconcept


\bookmark{2}{ä»¥Eå¼€å¤´}
%\concept{escape character}
\concept{è½¬ä¹‰ç¬¦}

%An \defterm{escape character} introduces a control sequence.  The escape
%character in \refterm{\plainTeX} is the backslash (|\|).
%\indexchar \
%You can change the escape character from $c_1$ to $c_2$
%by reassigning the category codes of $c_1$ and $c_2$
%with the ^|\catcode| command \ctsref{\catcode}.
%You can also define additional escape characters similarly.
%If you want to typeset material containing literal escape characters, you must
%either
%(a) define a control sequence that stands for the printed escape character or
%(b) temporarily
%disable the escape character by changing its category code, using the
%method shown on \xrefpg{verbatim}.  The definition:
\defterm{è½¬ä¹‰ç¬¦}ï¼ˆescape characterï¼‰å¼•å…¥ä¸€ä¸ªæŽ§åˆ¶åºåˆ—ã€‚
\refterm{\PlainTeX} çš„è½¬ä¹‰ç¬¦æ˜¯åæ–œæ&nbsp;(|\|)ã€‚
\indexchar \
åˆ©ç”¨ ^|\catcode| å‘½ä»¤\ctsref{\catcode}é‡æ–°å®šä¹‰ $c_1$ å’Œ $c_2$ çš„ç±»åˆ«ç&nbsp;ï¼Œ
ä½&nbsp;å¯ä»¥å°†è½¬ä¹‰ç¬¦ä»Ž $c_1$ æ”¹ä¸º $c_2$ã€‚ç±»ä¼¼åœ°ä½&nbsp;å¯ä»¥å®šä¹‰é¢å¤–çš„è½¬ä¹‰ç¬¦ã€‚
å¦‚æžœä½&nbsp;æƒ³æŽ’ç‰ˆåŒ…å«å­—é¢è½¬ä¹‰ç¬¦çš„ææ–™ï¼Œä½&nbsp;å¿…é¡»æˆ–è€…
(a) å®šä¹‰ä¸€ä¸ªè¡¨ç¤ºæ‰“å°è½¬ä¹‰ç¬¦çš„æŽ§åˆ¶åºåˆ—ï¼Œæˆ–è€…
(b) ä½¿ç”¨\xrefpg{verbatim}ä»‹ç»çš„æ–¹æ³•ï¼Œæ”¹å˜è½¬ä¹‰ç¬¦çš„ç±»åˆ«ç&nbsp;ä»¥ä¸´æ—¶å–æ¶ˆè½¬ä¹‰ã€‚
% è¯‘æ³¨ï¼šè¿™é‡Œç»™å‡ºçš„é¡µç&nbsp;ä¼¼ä¹Žæœ‰è¯¯ã€‚
ä¸‹è¿°å®šä¹‰ï¼š

%\csdisplay
%\def\\{$\backslash$}
%|
%is one way of creating a control sequence that stands for `$\backslash$'
%(a backslash typeset in a math font).
\csdisplay
\def\\{$\backslash$}
|
æ˜¯ä¸€ç§ç”Ÿæˆè¡¨ç¤º `$\backslash$' çš„æŽ§åˆ¶åºåˆ—çš„æ–¹æ³•ï¼ˆç”¨æ•°å­¦å­—ä½“æŽ’ç‰ˆåæ–œæ&nbsp;ï¼‰ã€‚

%You can use the ^|\escapechar| parameter \ctsref{\escapechar} to specify
%how the escape character is represented in synthesized control sequences,
%e.g., those created by |\string| and |\message|.
%
%\endconcept
å¯¹äºŽåˆæˆæŽ§åˆ¶åºåˆ—ï¼Œæ¯”å¦‚é‚£äº›ç”± |\string| å’Œ |\message| ç”Ÿæˆçš„æŽ§åˆ¶åºåˆ—ï¼Œ
ä½&nbsp;å¯ä»¥ç”¨ ^|\escapechar| å‚æ•°\ctsref{\escapechar}æŒ‡å®šå…¶ä¸­çš„è½¬ä¹‰ç¬¦ç”¨å“ªä¸ªå­—ç¬¦è¡¨ç¤ºã€‚
\endconcept


\bookmark{2}{ä»¥Få¼€å¤´}
%\concept family
\concept æ—

%A \defterm{family} is a group of three related \refterm{fonts:font} used
%when \TeX\ is in \refterm{math mode}.
%^^{fonts//families of}
%Outside of math mode, families
%have no effect.  The three fonts in a family are used for normal symbols
%(\refterm{text size}), subscripts and superscripts (\refterm{script
%size}), and sub-subscripts, super-superscripts, etc.\
%(\refterm{scriptscript size}).
%^^{text size}
%^^{script size}
%^^{scriptscript size}
%For example, the numeral `|2|' set in
%these three fonts would give you `$2$', `$\scriptstyle 2$', and
%`$\scriptscriptstyle 2$' (in \plainTeX).
%Ordinarily you would set up the
%three fonts in a family as different point sizes of the same typeface,
%but nothing prevents you from using different typefaces for the three
%fonts as well or using the same font twice in a family.
\defterm{æ—}ï¼ˆfamilyï¼‰æ˜¯ç”¨äºŽ\refterm{æ•°å­¦æ¨¡å¼}çš„ï¼Œç”±ä¸‰ä¸ªç›¸å…³\refterm{å­—ä½“}ç»„æˆçš„é›†åˆã€‚
^^{å­—ä½“//å­—ä½“æ—}
åœ¨æ•°å­¦æ¨¡å¼ä¹‹å¤–ï¼Œæ—æ²¡æœ‰ä»»ä½•ä½œç”¨ã€‚
ä¸€ä¸ªæ—çš„ä¸‰ä¸ªå­—ä½“åˆ†åˆ«ç”¨äºŽæ­£å¸¸ç¬¦å·ï¼ˆ\refterm{æ–‡æœ¬å°ºå¯¸}ï¼‰ï¼Œ
ä¸Šæ&nbsp;‡å’Œä¸‹æ&nbsp;‡ï¼ˆ\refterm{æ&nbsp;‡å·å°ºå¯¸}ï¼‰ï¼Œä»¥åŠæ¬¡ä¸Šæ&nbsp;‡å’Œæ¬¡ä¸‹æ&nbsp;‡ç­‰ï¼ˆ\refterm{å°æ&nbsp;‡å·å°ºå¯¸}ï¼‰ã€‚
^^{æ–‡æœ¬å°ºå¯¸}
^^{æ&nbsp;‡å·å°ºå¯¸}
^^{å°æ&nbsp;‡å·å°ºå¯¸}
ä¾‹å¦‚ï¼Œæ•°å­— `|2|' ç”¨è¿™ä¸‰ä¸ªå­—ä½“åˆ†åˆ«æ˜¾ç¤ºä¸º `$2$'ã€`$\scriptstyle 2$' å’Œ
`$\scriptscriptstyle 2$'ï¼ˆåœ¨ \plainTeX\ ä¸­ï¼‰ã€‚
é€šå¸¸ä½&nbsp;ä¼šå°†ä¸€ä¸ªæ—çš„ä¸‰ä¸ªå­—ä½“è®¾å®šä¸ºç›¸åŒå­—åž‹ä¸”ä¸åŒç‚¹æ•°ï¼Œ
ä½†æ²¡äººé˜»æ­¢ä½&nbsp;å°†è¿™ä¸‰ä¸ªå­—ä½“ä¹Ÿè®¾å®šä¸ºä¸åŒå­—åž‹ï¼Œæˆ–è€…å°†å…¶ä¸­ä¸¤ä¸ªå­—ä½“è®¾å®šä¸ºå®Œå…¨ä¸€æ&nbsp;·ã€‚

%{\tighten
%\TeX\ provides for up to sixteen families, numbered $0$--$15$.  For
%example, family $0$ in \refterm{\plainTeX} consists of $10$-point roman
%for text, $7$-point roman for script, and $5$-point roman for
%scriptscript.
%^^{\plainTeX//font families in}
%\PlainTeX\ also defines family $1$ to consist of math
%italic fonts and reserves families $2$ and $3$ for ^{special symbols} and
%^{math extensions} respectively.\footnote{Families $2$ and $3$ are special
%in that their font metric files must include parameters for math
%spacing.} If you need to define a family for yourself, you should use
%the ^|\newfam| command \ctsref{\@newfam} to get the number of a family that
%isn't in use, and the ^|\textfont|, ^|\scriptfont|,
%and ^|\scriptscriptfont| commands \ctsref{\scriptscriptfont}
%to assign fonts to that family.
%\par}
%
%\endconcept
\TeX\ æä¾›å¤šè¾¾åå…­ä¸ªå­—ä½“æ—ï¼Œå®ƒä»¬ç”¨ $0$--$15$ ç¼–å·ã€‚
æ¯”å¦‚åœ¨\refterm{\plainTeX} ä¸­ï¼Œç¬¬ $0$ æ—ç”±ç”¨äºŽæ–‡æœ¬å°ºå¯¸çš„ $10$ ç‚¹ç½—é©¬å­—ä½“ï¼Œ
ç”¨äºŽæ&nbsp;‡å·å°ºå¯¸çš„ $7$ ç‚¹ç½—é©¬å­—ä½“ï¼Œä»¥åŠç”¨äºŽå°æ&nbsp;‡å·å°ºå¯¸çš„ $5$ ç‚¹ç½—é©¬å­—ä½“ç»„æˆã€‚
^^{\plainTeX//å…¶ä¸­çš„å­—ä½“æ—}
\PlainTeX\ è¿˜å°†ç¬¬ $1$ æ—å®šä¹‰ä¸ºç”±æ•°å­¦æ„å¤§åˆ©å­—ä½“ç»„æˆï¼Œ
å¹¶å°†ç¬¬ $2$ æ—å’Œç¬¬ $3$ æ—åˆ†åˆ«ä¿ç•™ç»™^{ç‰¹æ®Šç¬¦å·}å’Œ^{æ•°å­¦æ‰©å±•ç¬¦å·}ã€‚
\footnote{ç¬¬ $2$ æ—å’Œç¬¬ $3$ æ—çš„ç‰¹æ®Šä¹‹å¤„åœ¨äºŽï¼Œå®ƒä»¬çš„å­—ä½“åº¦é‡æ–‡ä»¶å¿…é¡»åŒ…å«æ•°å­¦é—´éš”å‚æ•°ã€‚}
\footnote{è¯‘æ³¨ï¼šç¬¬ $4$--$7$ æ—åˆ†åˆ«å®šä¹‰ä¸º |\itfam|ã€|\slfam|ã€|\bffam| å’Œ |\ttfam|ã€‚}
å¦‚æžœä½&nbsp;éœ€è¦è‡ªå·±å®šä¹‰å­—ä½“æ—ï¼Œä½&nbsp;åº”è¯¥ä½¿ç”¨ ^|\newfam| å‘½ä»¤\ctsref{\@newfam}èŽ·å–æœªä½¿ç”¨çš„æ—ç¼–å·ï¼Œ
å†ç”¨ ^|\textfont|ã€^|\scriptfont| å’Œ ^|\scriptscriptfont|
å‘½ä»¤\ctsref{\scriptscriptfont}åˆ†åˆ«è®¾å®šè¯¥æ—çš„å„ä¸ªå­—ä½“ã€‚
\endconcept


%\conceptindex{files}
%\concept file
\concept æ–‡ä»¶

%A \defterm{file} is a stream of information that \TeX\ interprets or
%creates.  Files are managed by the ^{operating system} that supervises your
%\TeX\ run.  \TeX\ deals with files in four different contexts:
%\olist
%\li A ``^{source file}'' is one that \TeX\ reads with its ``eyes''
%\seeconcept{\anatomy} and interprets according to its ordinary rules.
%Your primary input file---the one you specify after `|**|' or
%on the command line when
%you invoke \TeX---is a source file, and so is any file that you call for
%with an ^|\input| command \ctsref \input.
\defterm{æ–‡ä»¶}ï¼ˆfileï¼‰æ˜¯ \TeX\ è§£é‡Šæˆ–è€…åˆ›å»ºçš„ä¿¡æ¯æµã€‚
æ–‡ä»¶ç”±ç›‘ç£ \TeX\ è¿è¡Œçš„^{æ“ä½œç³»ç»Ÿ}ç®¡ç†ã€‚
\TeX\ åœ¨å››ç§ä¸åŒçš„èƒŒæ™¯ä¸­ç”¨åˆ°æ–‡ä»¶ï¼š
\olist
\li â€œ^{æºç&nbsp;æ–‡ä»¶}â€æ˜¯ \TeX\ â€œçœ¼ç›â€è¯»å–\seeconcept{\anatomy}ï¼Œå¹¶æ&nbsp;¹æ®å®ƒçš„ä¸€èˆ¬æ³•åˆ™è§£é‡Šçš„æ–‡ä»¶ã€‚
ä½&nbsp;çš„ä¸»è¦è¾“å…¥æ–‡ä»¶â€”â€”å³è°ƒç”¨ \TeX\ æ—¶åœ¨ `|**|' ä¹‹åŽæˆ–è€…åœ¨å‘½ä»¤è¡Œä¸­æŒ‡å®šçš„æ–‡ä»¶%
â€”â€”æ˜¯ä¸€ä¸ªæºç&nbsp;æ–‡ä»¶ï¼Œä½&nbsp;ç”¨ ^|\input|å‘½ä»¤\ctsref \input è¯·æ±‚çš„ä»»ä½•æ–‡ä»¶åŒæ&nbsp;·ä¹Ÿæ˜¯ã€‚

%\li A ``^{result file}'' is one that contains the results of
%running \TeX.  A \TeX\ run creates two result files: the
%\dvifile\ and the log file.
%^^{\dvifile//as a result file}
%^^{log file//as a result file}
%The \dvifile\ contains the information needed to print your document;
%the
%log file contains a record of what happened during the run, including any
%error messages that \TeX\ generated.
%If your primary source file is named
%|screed.tex|, your \dvifile\ and log file will be named |screed.dvi|
%and |screed.log|.\footnote{This is the usual convention, but
%particular implementations of \TeX\ are free to change it.}
\li â€œ^{ç»“æžœæ–‡ä»¶}â€æ˜¯åŒ…å« \TeX\ è¿è¡Œç»“æžœçš„æ–‡ä»¶ã€‚
\TeX\ è¿è¡ŒåŽäº§ç”Ÿä¸¤ä¸ªç»“æžœæ–‡ä»¶ï¼š\dvifile å’Œæ—¥å¿—æ–‡ä»¶ã€‚
^^{\dvifile//ä½œä¸ºç»“æžœæ–‡ä»¶}
^^{æ—¥å¿—æ–‡ä»¶//ä½œä¸ºç»“æžœæ–‡ä»¶}
\dvifile åŒ…å«æ‰“å°æ–‡æ¡£æ‰€éœ€çš„ä¿¡æ¯ï¼Œè€Œæ—¥å¿—æ–‡ä»¶åŒ…å«è¿è¡Œè®°å½•ï¼ŒåŒ…æ‹¬ \TeX\ ç”Ÿæˆçš„ä»»ä½•é”™è¯¯ä¿¡æ¯ã€‚
è‹¥ä¸»è¦è¾“å…¥æ–‡ä»¶çš„åç§°æ˜¯ |screed.tex|ï¼Œåˆ™ \dvifile å’Œæ—¥å¿—æ–‡ä»¶çš„åç§°åˆ†åˆ«æ˜¯
|screed.dvi| å’Œ |screed.log|ã€‚\footnote{è¿™æ˜¯é€šå¸¸çš„çº¦å®šï¼Œ
ä½†ç‰¹å®šçš„ \TeX\ å®žçŽ°å¯ä»¥è‡ªç”±åœ°ä¿®æ”¹å®ƒã€‚}

%\li To read from a file with the ^|\read|
%command \ctsref{\read} you need to associate the file with an input stream.
%^^{input streams//reading with \b\tt\\read\e}
%You can have up to $16$ input streams active
%at once, numbered $0$--$15$.
%The |\read| command reads a single line and makes it the value of a
%designated \refterm{control sequence}, so reading with
%|\read| is very different from reading with ^|\input| (which brings in an
%entire file).
%\TeX\ takes any input stream number not between
%$0$ and $15$ to refer to the terminal,
%so `|\read16|', say, reads the next line that you type at the terminal.
\li è¦ç”¨ ^|\read| å‘½ä»¤\ctsref{\read}è¯»å–ä¸€ä¸ªæ–‡ä»¶ï¼Œä½&nbsp;éœ€è¦å°†è¿™ä¸ªæ–‡ä»¶å’Œä¸€ä¸ªè¾“å…¥æµå…³è”èµ·æ¥ã€‚
^^{è¾“å…¥æµ//ç”¨ \b\tt\\read\e è¯»å–}
ä½&nbsp;æœ€å¤šå¯ä»¥æœ‰ $16$ ä¸ªåŒæ—¶æ´»åŠ¨çš„è¾“å…¥æµï¼Œå®ƒä»¬ä»¥ $0$--$15$ ç¼–å·ã€‚
|\read| å‘½ä»¤è¯»å–ä¸€è¡Œå¹¶æŠŠå®ƒä½œä¸ºæŒ‡å®š\refterm{æŽ§åˆ¶åºåˆ—}çš„å€¼ï¼Œ
å›&nbsp;æ­¤ç”¨ |\read| è¯»å–å’Œç”¨ ^|\input| è¯»å–æ˜¯å¤§ä¸ç›¸åŒçš„ï¼ˆåŽè€…è¯»å…¥æ•´ä¸ªæ–‡ä»¶ï¼‰ã€‚
\TeX\ å°†ç¼–å·ä¸åœ¨ $0$ å’Œ $15$ ä¹‹é—´çš„è¾“å…¥æµè§†ä¸ºç»ˆç«¯ï¼Œ
å›&nbsp;æ­¤ï¼Œæ¯”å¦‚è¯´ `|\read16|'ï¼Œå°†è¯»å–ä½&nbsp;åœ¨ç»ˆç«¯ä¸­é”®å…¥çš„ä¸‹ä¸€è¡Œæ–‡æœ¬ã€‚

%\li To write to a file with the |\write|
%command \ctsref \write\ you need to associate the file
%with an output stream.
%^^|\write//output stream for|
%^^{output streams}
%You can have up to $16$ output streams active
%at once, numbered $0$--$15$.
%Input and output streams are independent.
%Anything sent to an output stream with a negative number goes to the log
%file; anything sent to an output stream with a number greater than $15$
%goes both to the log file and to the terminal.
%Thus `|\write16|', say, writes a line on the terminal and also sends
%that line
%to the log~file.
%
%\endolist
\li è¦ç”¨ |\write| å‘½ä»¤\ctsref \write å†™å…¥ä¸€ä¸ªæ–‡ä»¶ï¼Œä½&nbsp;éœ€è¦å°†è¿™ä¸ªæ–‡ä»¶å’Œä¸€ä¸ªè¾“å‡ºæµå…³è”èµ·æ¥ã€‚
^^|\write//ç”¨äºŽè¾“å‡ºæµ|
^^{è¾“å‡ºæµ}
ä½&nbsp;æœ€å¤šå¯ä»¥æœ‰ $16$ ä¸ªåŒæ—¶æ´»åŠ¨çš„è¾“å‡ºæµï¼Œå®ƒä»¬ä»¥ $0$--$15$ ç¼–å·ã€‚è¾“å…¥æµå’Œè¾“å‡ºæµæ˜¯ç›¸äº’ç‹¬ç«‹çš„ã€‚
ä»»ä½•é€åˆ°ç¼–å·ä¸ºè´Ÿæ•°çš„è¾“å‡ºæµçš„ä¸œè¥¿ï¼Œå°†è¢«å†™åˆ°æ—¥å¿—æ–‡ä»¶ä¸­ï¼›
è€Œä»»ä½•é€åˆ°ç¼–å·å¤§äºŽ $15$ çš„è¾“å‡ºæµçš„ä¸œè¥¿ï¼Œå°†åŒæ—¶è¢«å†™åˆ°æ—¥å¿—æ–‡ä»¶å’Œç»ˆç«¯ä¸­ã€‚
å›&nbsp;æ­¤ï¼Œæ¯”å¦‚è¯´ `|\write16|'ï¼Œå°†åœ¨ç»ˆç«¯ä¸­å†™ä¸Šä¸€è¡Œæ–‡æœ¬å¹¶å°†å®ƒé€åˆ°æ—¥å¿—æ–‡ä»¶ä¸­ã€‚
\endolist

%You must open a stream file before you can use it.
%An input stream file is opened with an ^|\openin|
%command  \ctsref \openin\ and an output stream file is opened with an
%^|\openout| command \ctsref\openout.
%For tidiness
%you should close a stream file when you're done with it, although
%\TeX\ will do that at the end of the run if you don't.
%The two commands for closing a stream file are ^|\closein| \ctsref\closein\
%and ^|\closeout| \ctsref\closeout.
%An advantage of closing a stream when
%you're done with it is that you can then reuse the stream for a different file.
%Doing this can be essential when you're reading a long sequence of files.
åœ¨ä½¿ç”¨æµæ–‡ä»¶ä¹‹å‰ï¼Œä½&nbsp;å¿…é¡»å…ˆæ‰“å¼€å®ƒã€‚è¾“å…¥æµæ–‡ä»¶ç”¨ ^|\openin| å‘½ä»¤\ctsref \openin æ‰“å¼€ï¼Œ
è€Œè¾“å‡ºæµæ–‡ä»¶ç”¨ ^|\openout| å‘½ä»¤\ctsref\openout æ‰“å¼€ã€‚
ä¸ºä¿æŒæ•´æ´ï¼Œä½&nbsp;åº”è¯¥åœ¨å®ŒæˆåŽå…³é—­æµæ–‡ä»¶ï¼›
ç„¶è€Œå³ä½¿ä½&nbsp;ä¸è¿™ä¹ˆåšï¼Œ\TeX\ åœ¨è¿è¡Œç»“æŸæ—¶ä¹Ÿä¼šå¸®ä½&nbsp;å…³é—­å®ƒã€‚
ç”¨äºŽå…³é—­æµæ–‡ä»¶çš„ä¸¤ä¸ªå‘½ä»¤åˆ†åˆ«æ˜¯ ^|\closein|\ctsref\closein å’Œ ^|\closeout|\ctsref{\closeout}ã€‚
åœ¨å®ŒæˆåŽå…³é—­æµæ–‡ä»¶çš„ä¼˜ç‚¹æ˜¯ï¼Œä½&nbsp;å¯ä»¥æŠŠå®ƒé‡æ–°ç”¨åˆ°å¦ä¸€ä¸ªæ–‡ä»¶åŽ»ã€‚
åœ¨è¯»å–ä¸€é•¿ä¸²æ–‡ä»¶æ—¶ï¼Œè¿™æ&nbsp;·åšæ˜¯å¾ˆæœ‰å¿…è¦çš„ã€‚

%Although you can assign numbers yourself to input and output streams,
%it's better to do it with the ^|\newread| and
%^|\newwrite| \ctsref{\@newwrite} commands.
%You can have more than one stream associated with a particular file,
%but you'll get (probably undiagnosed) garbage unless all of the streams
%are input streams.  Associating more than one stream with an input file
%can be useful when you want to use the same input file for two different
%purposes.
è™½ç„¶ä½&nbsp;å¯ä»¥è‡ªå·±ç»™è¾“å…¥æµå’Œè¾“å‡ºæµç¼–å·ï¼Œ
ä½†æœ€å¥½è¿˜æ˜¯ç”¨ ^|\newread| å’Œ ^|\newwrite|\ctsref{\@newwrite}å‘½ä»¤å¤„ç†æµç¼–å·ã€‚
ä¸€ä¸ªç‰¹å®šæ–‡ä»¶å¯ä»¥å…³è”åˆ°å¤šä¸ªæµï¼Œ
ä½†é™¤éžæ‰€æœ‰æµéƒ½æ˜¯è¾“å…¥æµï¼Œå¦åˆ™ä½&nbsp;å°†ä¼šå¾—åˆ°ï¼ˆä¹Ÿè®¸æ˜¯åŽŸå›&nbsp;ä¸æ˜Žçš„ï¼‰åžƒåœ¾ã€‚
å½“ä½&nbsp;æƒ³æŠŠåŒä¸ªè¾“å…¥æ–‡ä»¶ç”¨äºŽä¸¤ä¸ªä¸åŒç›®çš„æ—¶ï¼Œä¸€ä¸ªè¾“å…¥æ–‡ä»¶å…³è”å¤šä¸ªæµå°±å¾ˆæœ‰ç”¨ã€‚

%\TeX\ ordinarily defers the actions of opening, writing to, or closing
%an output stream until it ships out a page with ^|\shipout|
%(see \knuth{page~227}
%for the details).  This behavior applies even to messages written to the
%terminal with |\write|.  But you can get \TeX\ to perform an action
%on an output stream immediately by preceding the action command with
%^|\immediate| \ctsref\immediate.  For example:
%\csdisplay
%\immediate\write16{Do not pass GO!! Do not collect $200!!}
%|
%\endconcept
ä¸€èˆ¬åœ°ï¼Œ\TeX\ ä¼šæŽ¨è¿Ÿè¾“å‡ºæµçš„æ‰“å¼€ã€å†™å…¥å’Œå…³é—­æ“ä½œï¼Œ
ç›´åˆ°å®ƒç”¨ ^|\shipout|é€å‡ºä¸€ä¸ªé¡µé¢ï¼ˆè¯¦æƒ…å¯è§\knuth{ç¬¬~227~é¡µ}ã€‚
ç”šè‡³ç”¨ |\write| è¾“å‡ºæ¶ˆæ¯åˆ°ç»ˆç«¯æ—¶ä¹Ÿæ˜¯è¿™æ&nbsp;·çš„ã€‚
ç„¶è€Œï¼Œé€šè¿‡åœ¨æ“ä½œå‘½ä»¤ä¹‹å‰åŠ&nbsp;ä¸Š ^|\immediate|\ctsref\immediate ï¼Œ
ä½&nbsp;å¯ä»¥è®© \TeX\ ç«‹å³æ‰§è¡Œè¾“å‡ºæµæ“ä½œã€‚æ¯”å¦‚ï¼š
\csdisplay
\immediate\write16{Do not pass GO!! Do not collect $200!!}
|
\endconcept


%\conceptindex{file names}
%\concept {file name}
\concept {æ–‡ä»¶å}

%A \defterm{file name} names a
%\refterm{file} that is known to the ^{operating system}
%that in turn
%supervises your \TeX\ run.  The syntax of a file name does \emph{not}
%follow the usual rules of \TeX\ syntax, and in fact it is different
%in different implementations of \TeX.
%In particular, most \TeX\ implementations consider a file name to be
%terminated by a blank or an end of line.  Thus \TeX\ is likely to
%misinterpret `|{\input chapter2}|'
%by taking the right brace as part of the file name.
%As a general rule, you should follow a file name by a blank or the
%end of the line as in `|{\input chapter2!visiblespace}|'.
\defterm{æ–‡ä»¶å}ï¼ˆfile nameï¼‰æ˜¯\refterm{æ–‡ä»¶}åœ¨ç›‘ç£ \TeX\ è¿è¡Œçš„^{æ“ä½œç³»ç»Ÿ}ä¸­çš„åç§°ã€‚
æ–‡ä»¶åçš„è¯­æ³•\emph{å¹¶ä¸}éµå¾ª \TeX\ è¯­æ³•çš„ä¸€èˆ¬è§„åˆ™ï¼Œ
è€Œä¸”å®žé™…ä¸Šåœ¨ä¸åŒçš„ \TeX\ å®žçŽ°ä¸­å®ƒä»¬å„ä¸ç›¸åŒã€‚
ç‰¹åˆ«åœ°ï¼Œå¤§å¤šæ•° \TeX\ å®žçŽ°éƒ½è®¤ä¸ºæ–‡ä»¶ååœ¨ç©ºæ&nbsp;¼ç¬¦æˆ–è¡Œå°¾ç¬¦å¤„ç»“æŸã€‚
å›&nbsp;æ­¤ \TeX\ æœ‰å¯èƒ½æ›²è§£ `|{\input chapter2}|'ï¼Œå°†å³æ‹¬å·è§†ä¸ºåç§°çš„ä¸€éƒ¨åˆ†ã€‚
ä¸€èˆ¬æ¥è¯´ï¼Œä½&nbsp;åº”è¯¥åœ¨æ–‡ä»¶ååŽé¢æ·»åŠ&nbsp;ä¸€ä¸ªç©ºæ&nbsp;¼ç¬¦æˆ–è¡Œå°¾ç¬¦ï¼Œ
å°±åƒ `|{\input chapter2!visiblespace}|' è¿™æ&nbsp;·ã€‚

\endconcept


%\eject
%\conceptindex{fonts}
%\concept font
\concept å­—ä½“

%A \defterm{font} in \TeX\ is a collection of up to $256$ output
%characters, usually having the same typeface design, style (roman,
%italic, bold, condensed, etc.),
%and point size.\footnote{\PlainTeX\ uses a special
%font for constructing ^{math symbols} in which the characters have
%different sizes.  Other special fonts are often useful for applications
%such as typesetting ^{logos}.} The ^{Computer Modern fonts} that
%generally come with \TeX\ have only $128$ characters. The colophon on
%the last page of this book describes the typefaces that we used to set
%this book.
åœ¨ \TeX\ ä¸­ï¼Œ\defterm{å­—ä½“}ï¼ˆfontï¼‰æ˜¯ç”±ä¸è¶…è¿‡ $256$ ä¸ªè¾“å‡ºå­—ç¬¦ç»„æˆçš„é›†åˆï¼Œ
è¿™äº›å­—ç¬¦é€šå¸¸æœ‰ç›¸åŒçš„è®¾è®¡ã€æ&nbsp;·å¼ï¼ˆç½—é©¬ä½“ã€æ„å¤§åˆ©ä½“ã€ç²—ä½“ã€çª„ä½“ç­‰ï¼‰å’Œç‚¹æ•°ã€‚
\footnote{\PlainTeX\ ç”¨äºŽæž„é€&nbsp;^{æ•°å­¦ç¬¦å·}çš„ç‰¹æ®Šå­—ä½“åŒ…å«ç‚¹æ•°ä¸åŒçš„å­—ç¬¦ã€‚
åœ¨æŽ’ç‰ˆ^{æ&nbsp;‡è¯†}ï¼ˆlogoï¼‰ç­‰åº”ç”¨ä¸­ä¹Ÿç»å¸¸ä½¿ç”¨å…¶ä»–çš„ç‰¹æ®Šå­—ä½“ã€‚}
\TeX\ è‡ªå¸¦çš„^{è®¡ç®—æœºçŽ°ä»£å­—ä½“}ä¸€èˆ¬åªæœ‰ $128$ ä¸ªå­—ç¬¦ã€‚
åœ¨æœ¬ä¹¦æœ€åŽé¢çš„ä¹¦å°¾é¡µä¸­æè¿°äº†æŽ’ç‰ˆæœ¬ä¹¦æ‰€ç”¨çš„å­—ä½“ã€‚

%For instance, here is the alphabet in the Palatino Roman $10$ point font:
%^^{Palatino fonts}
%\vskip\abovedisplayskip{\narrower\tenpal
%\noindent ABCDEFGHIJKLMNOPQRSTUVWXYZ\hfil\break
%abcdefghijklmnopqrstuvwxyz\par
%}\vskip\belowdisplayskip
%\noindent
%And here it is in the Computer Modern Bold Extended $12$
%point font:
%^^{Computer Modern fonts}
%\vskip\abovedisplayskip{\narrower\font\twelvebf=cmbx12\twelvebf
%\noindent ABCDEFGHIJKLMNOPQRSTUVWXYZ\hfil\break
%abcdefghijklmnopqrstuvwxyz\par
%}\vskip\belowdisplayskip
%The characters in a font are numbered.
%The numbering usually agrees with the ^{\ascii} numbering
%for those characters that exist in the \ascii\ character set.
%The code table for each font indicates what the character
%with code $n$ looks like in that font.
%Some fonts, such as the ones used for mathematical symbols, have no
%letters at all in them.  You can produce a \refterm{box} containing the
%character numbered $n$, typeset in the current font, by writing `|\char |$n$'
% \ctsref{\char}.
ä¸¾ä¸ªä¾‹å­ï¼Œè¿™é‡Œæ˜¯ $10$ ç‚¹ Palatino ç½—é©¬å­—ä½“çš„å­—æ¯è¡¨ï¼š
^^{Palatino å­—ä½“}
\vskip\abovedisplayskip{\narrower\tenpal
\noindent ABCDEFGHIJKLMNOPQRSTUVWXYZ\hfil\break
abcdefghijklmnopqrstuvwxyz\par
}\vskip\belowdisplayskip
\noindent
è€Œè¿™é‡Œæ˜¯ $12$ ç‚¹è®¡ç®—æœºçŽ°ä»£ç²—ä½“æ‰©å±•å­—ä½“çš„å­—æ¯è¡¨ï¼š
^^{è®¡ç®—æœºçŽ°ä»£å­—ä½“}
\vskip\abovedisplayskip{\narrower\font\twelvebf=cmbx12\twelvebf
\noindent ABCDEFGHIJKLMNOPQRSTUVWXYZ\hfil\break
abcdefghijklmnopqrstuvwxyz\par
}\vskip\belowdisplayskip
å­—ä½“ä¸­çš„å­—ç¬¦éƒ½æ˜¯ç¼–å¥½å·çš„ã€‚å¯¹äºŽåœ¨ \ascii\ å­—ç¬¦è¡¨ä¸­å­˜åœ¨çš„å­—ç¬¦ï¼Œ
å®ƒä»¬çš„ç¼–å·ä¸€èˆ¬ä¸Žå…¶ ^{\ascii} ç¼–ç&nbsp;ä¸€è‡´ã€‚
æ¯ä¸ªå­—ä½“çš„ç¼–ç&nbsp;è¡¨æŒ‡æ˜Žè¯¥å­—ä½“çš„ç¬¬ $n$ ä¸ªå­—ç¬¦æ˜¯æ€Žæ&nbsp;·çš„ã€‚
æœ‰äº›å­—ä½“ï¼Œæ¯”å¦‚é‚£äº›ç”¨äºŽæ•°å­¦ç¬¦å·çš„å­—ä½“ï¼Œæ&nbsp;¹æœ¬ä¸åŒ…å«ä»»ä½•å­—æ¯å­—ç¬¦ã€‚
ä½&nbsp;å¯ä»¥ç”¨ `|\char |$n$'\ctsref{\char}ç”ŸæˆåŒ…å«ç¬¬ $n$ ä¸ªå­—ç¬¦çš„ç›’å­ï¼Œ
è¯¥å­—ç¬¦ç”¨å½“å‰å­—ä½“æŽ’ç‰ˆã€‚

%In order to use a font in your document,
%you must first name it with a control sequence and load it.  Thereafter you
%can select it by typing
%that control sequence whenever you want to use it.
%\PlainTeX\ provides a number of fonts that are already named and~loaded.
è¦åœ¨æ–‡æ¡£ä¸­ä½¿ç”¨æŸä¸ªå­—ä½“ï¼Œä½&nbsp;å¿…é¡»å…ˆç”¨æŽ§åˆ¶åºåˆ—ç»™å®ƒå‘½åå†è½½å…¥å®ƒã€‚
æ­¤åŽï¼Œåœ¨éœ€è¦ç”¨åˆ°å®ƒçš„åœ°æ–¹ï¼Œä½&nbsp;å°±å¯ä»¥é”®å…¥è¯¥æŽ§åˆ¶åºåˆ—æ¥é€‰æ‹©å®ƒã€‚
\PlainTeX\ æä¾›äº†è‹¥å¹²å·²ç»å‘½åå’Œè½½å…¥çš„å­—ä½“ã€‚

%You name and load a font as a single operation, using a
%command such as `|\font\twelvebf=cmbx12|'.  Here `|\twelvebf|' is the
%control sequence that you use to name the font
%and `|cmbx12|' identifies the font metrics file
%|cmbx12.tfm|
%in your computer's file system.
%You then can start to use the font by typing
%`|\twelvebf|'.  After that, the font will be in effect until
%either (a)~you select another font or (b)~you terminate the
%\refterm{group}, if any, in which you started the
%font.  For example, the input:
ä½&nbsp;å¯ä»¥ç”¨åƒ `|\font\twelvebf=cmbx12|' è¿™æ&nbsp;·çš„å‘½ä»¤åœ¨åŒä¸€ä¸ªæ“ä½œä¸­å‘½åå¹¶è½½å…¥å­—ä½“ã€‚
è¿™é‡Œçš„ `|\twelvebf|' æ˜¯ç”¨äºŽå‘½åè¯¥å­—ä½“çš„æŽ§åˆ¶åºåˆ—ï¼Œ
è€Œ `|cmbx12|' è¡¨ç¤ºè®¡ç®—æœºæ–‡ä»¶ç³»ç»Ÿä¸­çš„å­—ä½“åº¦é‡æ–‡ä»¶ |cmbx12.tfm|ã€‚
çŽ°åœ¨ä½&nbsp;å¯ä»¥é€šè¿‡é”®å…¥ `|\twelvebf|' å¼€å§‹ä½¿ç”¨è¿™ä¸ªå­—ä½“ã€‚
åœ¨æ­¤ä¹‹åŽï¼Œè¿™ä¸ªå­—ä½“å°†ä¸€ç›´ç”Ÿæ•ˆï¼Œç›´åˆ°
(a)~ä½&nbsp;é€‰æ‹©äº†å¦ä¸€ä¸ªå­—ä½“ï¼Œæˆ–è€… (b)~ä½&nbsp;ç»“æŸäº†\refterm{ç¼–ç»„}ï¼Œ
å¦‚æžœåœ¨å¼€å§‹å­—ä½“æ—¶å°±ä½äºŽè¿™ä¸ªç¼–ç»„ä¸­ã€‚ä¾‹å¦‚ä¸‹é¢çš„è¾“å…¥ï¼š

%\csdisplay
%{\twelvebf white rabbits like carrots}
%|
%will cause the |cmbx12| font to be in effect just for the
%text `|white rabbits like carrots|'.
\csdisplay
{\twelvebf white rabbits like carrots}
|
å°†ä½¿å¾— |cmbx12| å­—ä½“åªå¯¹æ–‡æœ¬ `|white rabbits like carrots|' ç”Ÿæ•ˆã€‚

%You can use \TeX\ with fonts other than
%Computer Modern (look at the example on \xrefpg{palatino} and
%at the page headers).
%The files for such fonts need to be
%installed in your computer's file system in a place where \TeX\ can find
%them.  \TeX\ and its companion programs generally need two files for each font:
%one to give its metrics (|cmbx12.tfm|,
%^^{\tfmfile}
%for example) and another to
%give the shape of the characters (|cmbx12.pk|, for example).
%\TeX\ itself uses only the metrics
%file.  Another program, the device driver,
%^^{device drivers}
%converts the \dvifile\
%^^{\dvifile//converted by driver}
%produced by \TeX\ to a form that your printer
%or other output device can handle.  The driver
%uses the shape file (if it exists).
åœ¨ \TeX\ ä¸­ä½&nbsp;å¯ä»¥ä½¿ç”¨ä¸Žè®¡ç®—æœºçŽ°ä»£ä¸åŒçš„å­—ä½“ï¼ˆè§\xrefpg{palatino}çš„ä¾‹å­ä»¥åŠé¡µçœ‰ï¼‰ã€‚
è¿™äº›å­—ä½“çš„æ–‡ä»¶éœ€è¦å®‰è£…åœ¨è®¡ç®—æœºæ–‡ä»¶ç³»ç»Ÿçš„æŸä¸ª \TeX\ èƒ½æ‰¾åˆ°çš„ä½ç½®ä¸­ã€‚
å¯¹æ¯ä¸ªå­—ä½“ï¼Œ\TeX\ åŠç›¸å…³ç¨‹åºä¸€èˆ¬éœ€è¦ä¸¤ä¸ªæ–‡ä»¶ï¼š
ä¸€ä¸ªç»™å‡ºå„å­—ç¬¦çš„åº¦é‡ï¼ˆæ¯”å¦‚ |cmbx12.tfm|ï¼‰ï¼Œ
^^{\tfmfile}
å¦ä¸€ä¸ªç»™å‡ºå„å­—ç¬¦çš„å½¢çŠ¶ï¼ˆæ¯”å¦‚ |cmbx12.pk|ï¼‰ã€‚
\TeX\ æœ¬èº«ä»…ç”¨åˆ°åº¦é‡æ–‡ä»¶ã€‚å¦ä¸€ä¸ªç¨‹åºï¼Œè®¾å¤‡é©±åŠ¨ç¨‹åºï¼Œ
^^{è®¾å¤‡é©±åŠ¨}
æŠŠ \TeX\ ç”Ÿæˆçš„ \dvifile è½¬æ¢ä¸ºèƒ½è¢«æ‰“å°æœºæˆ–å…¶ä»–è¾“å‡ºè®¾å¤‡å¤„ç†çš„æ&nbsp;¼å¼ã€‚
^^{\dvifile//ç”±é©±åŠ¨ç¨‹åºè½¬æ¢}
è®¾å¤‡é©±åŠ¨ç¨‹åºè¦ç”¨åˆ°å½¢çŠ¶æ–‡ä»¶ï¼ˆå¦‚æžœè¯¥æ–‡ä»¶å­˜åœ¨ï¼‰ã€‚

%The font metrics file contains the information that \TeX\ needs in
%order to allocate space for each typeset character.
%Thus it includes the size of each character, the ligatures and
%kerns that pertain to sequences of adjacent characters, and so on.
%What the metrics file
%\emph{doesn't} include is any information about the shapes
%of the characters in the font.
å­—ä½“åº¦é‡æ–‡ä»¶åŒ…å« \TeX\ å¯¹æ¯ä¸ªæŽ’ç‰ˆå­—ç¬¦æ‰€åˆ†é…ç©ºé—´çš„ä¿¡æ¯ã€‚
å³å®ƒåŒ…å«å„ä¸ªå­—ç¬¦çš„å°ºå¯¸ï¼Œå¯¹ç›¸é‚»å­—ç¬¦çš„è¿žå­—å’Œç´§æŽ’ï¼Œç­‰ç­‰ã€‚
å­—ä½“åº¦é‡æ–‡ä»¶\emph{å¹¶ä¸}åŒ…å«å…³äºŽå…¶å­—ç¬¦çš„å½¢çŠ¶çš„ä»»ä½•ä¿¡æ¯ã€‚

%{\tighten
%The shape (pixel) file \xrdef{shape}
%^^{pixel file}^^{shape file}
%may be in any of several
%formats. The extension part of the name (the part after the dot)
%tells the driver which format the shape file is in.  For example,
%|cmbx12.pk| ^^{\pkfile} might be the shape file for font |cmbx12| in
%packed format, while |cmbx12.gf| ^^{\gffile} might be the shape file
%for font |cmbx12| in generic font format.
%A shape file may not be needed for a font that's resident in your
%output device.
%\par}
{\tighten
å½¢çŠ¶ï¼ˆåƒç´&nbsp;ï¼‰æ–‡ä»¶\xrdef{shape}å¯ä»¥æœ‰å¤šç§æ&nbsp;¼å¼ã€‚
^^{åƒç´&nbsp;æ–‡ä»¶}^^{è½®å»“æ–‡ä»¶}
æ–‡ä»¶çš„æ‰©å±•åï¼ˆç‚¹å·ä¹‹åŽéƒ¨åˆ†ï¼‰å‘Šè¯‰é©±åŠ¨æ–‡ä»¶è¯¥å½¢çŠ¶æ–‡ä»¶çš„æ&nbsp;¼å¼ã€‚
ä¾‹å¦‚ï¼Œ|cmbx12| å­—ä½“çš„å½¢çŠ¶æ–‡ä»¶ å¯ä»¥æ˜¯åŽ‹ç¼©æ&nbsp;¼å¼çš„ |cmbx12.pk| ^^{\pkfile}ï¼Œ
ä¹Ÿå¯ä»¥æ˜¯ä¸€èˆ¬æ&nbsp;¼å¼çš„ |cmbx12.gf| ^^{\gffile}ã€‚
å¯¹å­˜åœ¨äºŽè¾“å‡ºè®¾å¤‡ä¸­çš„å­—ä½“ï¼Œå…¶å½¢çŠ¶æ–‡ä»¶ä¹Ÿè®¸ä¸æ˜¯å¿…éœ€çš„ã€‚
\par}

\endconcept


%\conceptindex{footers}
%\concept footer
\concept é¡µè„š

%A \defterm{footer} is material that \TeX\ puts at the bottom of every page,
%below the text of that page.
%The default footer in \plainTeX\ is a centered page number.
%Ordinarily a footer consists of a single line, which you can set by
%assigning a token list to ^|\footline| \ctsref\footline.
%See \xrefpg{bighead} for a method of producing multiline footers.
\defterm{é¡µè„š}ï¼ˆfooterï¼‰æ˜¯æ”¾åœ¨æ¯ä¸ªé¡µé¢åº•éƒ¨ï¼Œä½äºŽæ­£æ–‡ä¹‹ä¸‹çš„ç´&nbsp;æã€‚
åœ¨ \plainTeX\ ä¸­é»˜è®¤é¡µè„šæ˜¯å±…ä¸­çš„é¡µç&nbsp;ã€‚é€šå¸¸é¡µè„šåªåŒ…å«ä¸€è¡Œæ–‡æœ¬ï¼Œ
ä½&nbsp;å¯ä»¥é€šè¿‡ç»™ ^|\footline|\ctsref\footline æŒ‡å®šä¸€ä¸ªè®°å·åˆ—æ¥è®¾å®šé¡µè„šã€‚
è¯·å‚é˜…\xrefpg{bighead}ä¸­ä»‹ç»çš„ç”Ÿæˆå¤šè¡Œé¡µè„šçš„æ–¹æ³•ã€‚

\endconcept

%k \vskip 0pt plus 2pt % to solve page break problem

%\concept {format file}
\concept {æ&nbsp;¼å¼æ–‡ä»¶}

%{\tighten
%A \defterm{format file} is a file that contains an image of
%\TeX's memory in a form in which it can be reloaded quickly.
%A format file can be created with the ^|\dump| command \ctsref\dump.
%The image contains a complete record
%of the definitions (of \refterm{fonts:font}, \refterm{macros:macro}, etc.)
%that were present when the dump took place.
%By using ^|virtex|, a special ``virgin'' form of \TeX,
%you can then reload the format file at high speed and
%continue in the same state that \TeX\ was in at the time of the dump.
%The advantage of a format file over an ordinary input
%file containing the same information is that \TeX\ can load it much
%faster.
%\par}
\defterm{æ&nbsp;¼å¼æ–‡ä»¶}ï¼ˆformat fileï¼‰æ˜¯ä¸€ä¸ªåŒ…å« \TeX\ çš„å†…å­˜æ˜&nbsp;åƒçš„æ–‡ä»¶ï¼Œ
è¯¥æ–‡ä»¶ä»¥ä¸€ç§èƒ½å¤Ÿå¿«é€Ÿé‡æ–°è½½å…¥çš„å½¢å¼å­˜å‚¨ã€‚
æ&nbsp;¼å¼æ–‡ä»¶å¯ä»¥ç”¨ ^|\dump| å‘½ä»¤\ctsref\dump å»ºç«‹ã€‚
æ˜&nbsp;åƒæ–‡ä»¶åŒ…å«è½¬å‚¨å‘ç”Ÿæ—¶å­˜åœ¨çš„ï¼ˆ\refterm{å­—ä½“}å’Œ\refterm{å®}ç­‰ï¼‰å®šä¹‰çš„å®Œæ•´è®°å½•ã€‚
ç„¶åŽåˆ©ç”¨ ^|virtex|ï¼Œ\TeX\ çš„ä¸€ç§ç‰¹åˆ«çš„â€œåŽŸç”Ÿâ€å½¢å¼,
ä½&nbsp;å¯ä»¥å¿«é€Ÿåœ°é‡æ–°è½½å…¥è¯¥æ&nbsp;¼å¼æ–‡ä»¶ï¼Œå¹¶ä»Ž \TeX\ è½¬å‚¨æ—¶æ‰€åœ¨çš„çŠ¶æ€ä¸­ç»§ç»­ã€‚
ç›¸å¯¹äºŽåŒ…å«ç›¸åŒä¿¡æ¯çš„æ™®é€šè¾“å…¥æ–‡ä»¶ï¼Œæ&nbsp;¼å¼æ–‡ä»¶çš„ä¼˜ç‚¹æ˜¯ \TeX\ èƒ½å¤Ÿæ›´å¿«åœ°è½½å…¥å®ƒã€‚

%Format files can only be created by ^|initex|, another special
%form of \TeX\ intended just for that purpose.
%Neither |virtex| nor |initex| has any
%facilities other than the primitives built into the
%\TeX\ program itself.
æ&nbsp;¼å¼æ–‡ä»¶ä»…å¯ä»¥ç”¨ ^|initex| å»ºç«‹ï¼Œ|initex| æ˜¯ä¸“ç”¨äºŽæ­¤ç›®çš„çš„å¦ä¸€ç§ \TeX\ å½¢å¼ã€‚
é™¤äº†å†…å»ºäºŽ \TeX\ æœ¬èº«çš„åŽŸå§‹å‘½ä»¤ï¼Œ|virtex| å’Œ |initex| å‡ä¸åŒ…å«å…¶ä»–ä»»ä½•å‘½ä»¤ã€‚

%A ^{preloaded} form of \TeX\ is one that has a format file already
%loaded and is ready to accept user input.
%The form of \TeX\ that's called |tex|
%often has the \plainTeX\ definitions preloaded.
%(\PlainTeX\ is ordinarily  available in two other forms as well:
%as a format file and as a \TeX\ source file.
%In some environments, |tex| is equivalent to calling |virtex|
%and then loading |plain|.)
%Creating preloaded forms of \TeX\ requires a special program;
%it cannot be done using only the facilities of \TeX\ itself.
\TeX\ çš„^{é¢„è½½å…¥}å½¢å¼æ˜¯ä¸€ç§å·²è½½å…¥æŸä¸ªæ&nbsp;¼å¼æ–‡ä»¶ ï¼Œå¹¶å‡†å¤‡æŽ¥æ”¶ç”¨æˆ·è¾“å…¥çš„å½¢å¼ã€‚
ç§°ä¸º |tex| çš„ \TeX\ å½¢å¼é€šå¸¸éƒ½é¢„è½½å…¥äº† \plainTeX\ å®šä¹‰ã€‚%
ï¼ˆ\PlainTeX\ é€šå¸¸è¿˜ä»¥å¦å¤–ä¸¤ç§å½¢å¼å‡ºçŽ°ï¼šä½œä¸ºæ&nbsp;¼å¼æ–‡ä»¶ä¸Žä½œä¸º\TeX\ æºç&nbsp;æ–‡ä»¶ã€‚
åœ¨æŸäº›çŽ¯å¢ƒä¸­ï¼Œ|tex| ç­‰ä»·äºŽè°ƒç”¨ |virtex| ç„¶åŽè½½å…¥ |plain|ã€‚ï¼‰%
ä»…ä»…ç”¨ \TeX\ æœ¬èº«æ—&nbsp;æ³•å»ºç«‹ \TeX\ çš„é¢„è½½å…¥å½¢å¼ï¼Œå®ƒéœ€è¦ä¸€ä¸ªç‰¹åˆ«çš„ç¨‹åºã€‚

\endconcept

\bookmark{2}{ä»¥Gå¼€å¤´}
%\concept global
\concept å…¨å±€çš„

%A \defterm{global} definition is effective
%until the end of the
%document or until it is overridden by another definition,
%even when it occurs within a \refterm{group}.
%Thus a global definition is unaffected by group boundaries.
%You can make any definition global by prefixing it with the |\global|
%command \ctsref{\global} unless ^|\globaldefs| \ctsref\globaldefs{}
%is negative.
%^^|\global|
ä¸€ä¸ª\defterm{å…¨å±€çš„}ï¼ˆglobalï¼‰å®šä¹‰åœ¨æ–‡æ¡£ç»“æŸå‰å§‹ç»ˆæœ‰æ•ˆï¼Œ
å³ä½¿å®ƒå‡ºçŽ°åœ¨ä¸€ä¸ª\refterm{ç¼–ç»„}é‡Œé¢ï¼ˆé™¤éžå®ƒè¢«å…¶ä»–å®šä¹‰è¦†ç›–ï¼‰ã€‚
å³å…¨å±€å®šä¹‰ä¸å—ç¼–ç»„èŒƒå›´çš„å½±å“ã€‚
è¦è®©ä»»ä½•å®šä¹‰æˆä¸ºå…¨å±€çš„ï¼Œä½&nbsp;å¯ä»¥åœ¨å®ƒå‰é¢åŠ&nbsp;ä¸Š |\global| å‘½ä»¤\ctsref{\global}ï¼Œ
é™¤éž ^|\globaldefs|\ctsref\globaldefs{} ä¸ºè´Ÿå€¼ã€‚
^^|\global|

%There's a special way of making a \refterm{macro} definition global.
%^^{macros//global}
%Normally you define a macro using either the |\def| command
%or the |\edef| command \ctsref{\edef}.
%^^|\edef//making global|
%^^|\def//making global|
%If you use |\gdef| or |\xdef|
%instead of |\def| and |\edef| respectively, the macro definition will
%be global.  That is, `^|\gdef|' is equivalent to `|\global\def|' and
%`^|\xdef|' is equivalent to `|\global\edef|'.
%\endconcept
è¿˜æœ‰ç§ç‰¹æ®Šæ–¹æ³•å°†ä¸€ä¸ª\refterm{å®}å®šä¹‰ä¸ºå…¨å±€çš„ã€‚
^^{å®//å…¨å±€å®}
é€šå¸¸ä½&nbsp;ç”¨ |\def| å‘½ä»¤æˆ–è€… |\edef| å‘½ä»¤\ctsref{\edef}æ¥å®šä¹‰ä¸€ä¸ªå®ã€‚
^^|\edef//å˜æˆå…¨å±€çš„|
^^|\def//å˜æˆå…¨å±€çš„|
å¦‚æžœä½&nbsp;å°† |\def| å’Œ |\edef| åˆ†åˆ«æ¢ä¸º |\gdef| å’Œ |\xdef|ï¼Œ
è¿™ä¸ªå®å®šä¹‰å°±ä¼šæ˜¯å…¨å±€çš„ã€‚ä¹Ÿå°±æ˜¯è¯´ï¼Œ`^|\gdef|'ç­‰ä»·äºŽ`|\global\def|'ï¼Œ
è€Œ`^|\xdef|'ç­‰ä»·äºŽ`|\global\edef|'ã€‚
\endconcept


%\concept glue
\concept ç²˜è¿ž

%\bix^^{stretch}
%\bix^^{shrink}
%\defterm{Glue} is blank space that can stretch or shrink.
%Glue gives \TeX\ the flexibility that it needs in order to produce
%handsome
%documents.  Glue comes in two flavors: horizontal glue and vertical glue.
%Horizontal glue occurs within \refterm{horizontal lists:horizontal list},
%while vertical glue occurs within \refterm{vertical lists:vertical list}.
%^^{horizontal lists}
%^^{vertical lists}
%You
%can produce a glue item either implicitly, e.g., with an interword space, or
%explicitly, e.g., with the ^|\hskip| command.
%^^{spaces//interword}
%\TeX\ itself produces many glue
%items as it typesets your document.
%We'll just describe horizontal glue---vertical glue is analogous.
\bix^^{ä¼¸é•¿é‡}
\bix^^{æ”¶ç¼©é‡}
\defterm{ç²˜è¿ž}ï¼ˆglueï¼‰æ˜¯å¯ä»¥ä¼¸é•¿æˆ–è€…æ”¶ç¼©çš„ç©ºç™½é—´è·ã€‚
ç²˜è¿žç»™ \TeX\ æä¾›äº†ç”Ÿæˆæ¼‚äº®æ–‡æ¡£æ‰€éœ€çš„çµæ´»æ€§ã€‚
ç²˜è¿žæœ‰ä¸¤ç§ç±»åž‹ï¼šæ°´å¹³ç²˜è¿žå’Œç«–ç›´ç²˜è¿žã€‚
æ°´å¹³ç²˜è¿žå‡ºçŽ°åœ¨\refterm{æ°´å¹³åˆ—è¡¨}ä¸­ï¼Œè€Œç«–ç›´ç²˜è¿žå‡ºçŽ°åœ¨\refterm{ç«–ç›´åˆ—è¡¨}ä¸­ã€‚
^^{æ°´å¹³åˆ—è¡¨}
^^{ç«–ç›´åˆ—è¡¨}
ä½&nbsp;å¯ä»¥éšå¼åœ°ç”Ÿæˆä¸€ä¸ªç²˜è¿žé¡¹ï¼Œæ¯”å¦‚ç”¨å•è¯é—´ç©ºæ&nbsp;¼ï¼Œ
æˆ–è€…æ˜¾å¼åœ°ç”Ÿæˆä¸€ä¸ªç²˜è¿žé¡¹ï¼Œæ¯”å¦‚ç”¨ ^|\hskip| å‘½ä»¤ã€‚
^^{é—´éš”//å•è¯é—´è·}
åœ¨æŽ’ç‰ˆæ–‡æ¡£æ—¶ \TeX\ æœ¬èº«ä¹Ÿç”Ÿæˆå¾ˆå¤šç²˜è¿žé¡¹ã€‚
è¿™é‡Œæˆ‘ä»¬åªæè¿°æ°´å¹³ç²˜è¿žâ€”â€”ç«–ç›´ç²˜è¿žä¸Žä¹‹ç±»ä¼¼ã€‚

%When \TeX\ assembles a list of boxes and glue into a larger
%unit,
%^^{boxes//glue with}
%it adjusts the size of the glue to meet the space requirements of the
%larger unit.  For instance, \TeX\ ensures that the ^{right margin} of a page
%is uniform by adjusting the horizontal glue within lines.
%Similarly, it ensures that different pages have the
%same ^{bottom margin}
%by adjusting the glue between blocks of text such as paragraphs and
%math displays
%(where the change is least likely to be conspicuous).
åœ¨ \TeX\ å°†ä¸€ç³»åˆ—ç›’å­å’Œç²˜è¿žç»„è£…æˆä¸€ä¸ªè¾ƒå¤§å•å…ƒæ—¶ï¼Œ
^^{ç›’å­//ç›’å­ä¸Žç²˜è¿ž}
å®ƒè°ƒæ•´å„ä¸ªç²˜è¿žçš„å°ºå¯¸ä»¥é€‚åˆè¾ƒå¤§å•å…ƒçš„ç©ºé—´è¦æ±‚ã€‚
ä¾‹å¦‚ï¼Œä¸ºäº†è®©é¡µé¢çš„^{å³è¾¹è·}ä¿æŒä¸€è‡´ï¼Œ\TeX\ è°ƒæ•´äº†å„è¡Œçš„æ°´å¹³ç²˜è¿žã€‚
ç±»ä¼¼åœ°ï¼Œä¸ºäº†è®©å„é¡µçš„^{ä¸‹è¾¹è·}ä¿æŒç›¸åŒï¼Œ
å®ƒè°ƒæ•´äº†å„ä¸ªæ–‡æœ¬å—æ¯”å¦‚æ®µè½å’Œé™ˆåˆ—å…¬å¼ä¹‹é—´çš„ç²˜è¿ž%
ï¼ˆè¿™ç§ä¿®æ”¹æ˜¯æœ€ä¸å¯èƒ½å¼•äººæ³¨æ„çš„ï¼‰ã€‚

%A glue item has a natural space---the size it ``wants to be''.  Glue
%also has two other attributes: its \refterm{stretch} and its
%\refterm{shrink}.  You can produce a specific amount of horizontal glue
%with the ^|\hskip| \refterm{command} \ctsref{\hskip}.  The command
%|\hskip 6pt plus 2pt minus 3pt|
%produces a horizontal glue item whose natural
%size is $6$ points, whose stretch is $2$ points, and whose shrink is
%$3$ points.  Similarly, you can produce a specific amount of vertical
%glue with the ^|\vskip| command \ctsref{\vskip}.
æ¯ä¸ªç²˜è¿žé¡¹æœ‰å®ƒçš„è‡ªç„¶é—´è·â€”â€”å³å®ƒâ€œæ‰€æœŸæœ›çš„â€å°ºå¯¸ã€‚ç²˜è¿žè¿˜æœ‰å¦å¤–ä¸¤ä¸ªå±žæ€§ï¼š
å®ƒçš„\refterm{ä¼¸é•¿é‡}ï¼ˆstretchï¼‰å’Œå®ƒçš„\refterm{æ”¶ç¼©é‡}ï¼ˆshrinkï¼‰ã€‚
ä½&nbsp;å¯ä»¥ç”¨^|\hskip| \refterm{å‘½ä»¤}\ctsref{\hskip}ç”Ÿæˆç‰¹å®šå¤§å°çš„æ°´å¹³ç²˜è¿žã€‚
å‘½ä»¤ |\hskip 6pt plus 2pt minus 3pt| ç”Ÿæˆä¸€ä¸ªæ°´å¹³ç²˜è¿žï¼Œ
å…¶è‡ªç„¶å°ºå¯¸ä¸º$6$ç‚¹ï¼Œä¼¸é•¿é‡ä¸º$2$ç‚¹ï¼Œæ”¶ç¼©é‡ä¸º$3$ç‚¹ã€‚
ç±»ä¼¼åœ°ï¼Œä½&nbsp;å¯ä»¥ç”¨ ^|\vskip| å‘½ä»¤\ctsref{\vskip}ç”Ÿæˆç‰¹å®šå¤§å°çš„ç«–ç›´ç²˜è¿žã€‚

%The best way to understand what stretch and shrink are about
%is to see an example of glue at work.
%Suppose you're constructing an \refterm{hbox} from three boxes and two glue
%items, as in this picture:
%\gluepicture
%   29 {\picbox 4 \gluebox 6 4 1 6 \picbox 5 \gluebox 10 8 3 10 \picbox 4 }
%\noindent
%The units of measurement here could be points, millimeters, or anything else.
%If the hbox is allowed to assume its natural width, then each glue item in the
%box also assumes its natural width.  The total width of the hbox is then the
%sum of the widths of its parts, namely, $29$ units.
è¦ç†è§£ä»€ä¹ˆæ˜¯ä¼¸é•¿é‡å’Œæ”¶ç¼©é‡ï¼Œæœ€å¥½æ–¹æ³•æ˜¯çœ‹ç²˜è¿žçš„ä¸€ä¸ªå®žé™…ä¾‹å­ã€‚
å‡è®¾ä½&nbsp;è¦ç”¨ä¸‰ä¸ªç›’å­å’Œä¸¤ä¸ªç²˜è¿žé¡¹æž„é€&nbsp;ä¸€ä¸ª\refterm{æ°´å¹³ç›’å­}é¡¹ç›®ï¼Œ
å¦‚ä¸‹å›¾ï¼š
\gluepicture
   29 {\picbox 4 \gluebox 6 4 1 6 \picbox 5 \gluebox 10 8 3 10 \picbox 4 }
\noindent
è¿™é‡Œçš„åº¦é‡å•ä½å¯ä»¥æ˜¯ç‚¹ï¼Œæ¯«ç±³ï¼Œæˆ–å…¶ä»–ä»»ä½•å•ä½ã€‚
å¦‚æžœæ°´å¹³ç›’å­å¯ä»¥å‘ˆçŽ°å®ƒçš„è‡ªç„¶å®½åº¦ï¼Œ
é‚£ä¹ˆç›’å­å†…çš„æ¯ä¸ªç²˜è¿žé¡¹ä¹Ÿå‘ˆçŽ°å®ƒçš„è‡ªç„¶å®½åº¦ã€‚
ä»Žè€Œæ°´å¹³ç›’å­çš„æ€»å®½åº¦å°±æ˜¯å®ƒä¸ªå„éƒ¨åˆ†å®½åº¦ä¹‹å’Œï¼Œå³$29$ç‚¹ã€‚

%Next, suppose that the hbox is required to be wider than $29$ units, say
%$35$ units.  This
%could happen, for example, if the hbox is required to occupy an entire
%line and the line width is $35$ units.
%Since the boxes can't change their width,
%\TeX\ produces the necessary extra space by making the glue items wider.
%The picture now looks like this:
%\gluepicture
%   35 {\picbox 4 \gluebox 6 4 2 8 \picbox 5 \gluebox 10 8 6 14 \picbox 4 }
%The glue items don't become wider equally; they became wider in proportion to
%their stretch.  Since the second glue item
%has twice as much stretch as the first one,
%it gets wider by four units while the first glue item gets wider by only
%two units.
%Glue can be stretched as far as necessary, although \TeX\ is
%somewhat reluctant to
%stretch it beyond the amount of stretch given in its definition.
æŽ¥ä¸‹æ¥ï¼Œå‡è®¾è¿™ä¸ªæ°´å¹³ç›’å­éœ€è¦æ¯” $29$ å•ä½è¿˜å®½ï¼Œæ¯”æ–¹è¯´ $35$ å•ä½ã€‚
è¿™æ˜¯å¯èƒ½å‡ºçŽ°çš„ï¼Œæ¯”å¦‚æ°´å¹³ç›’å­å¯èƒ½éœ€è¦å&nbsp;æ®è¡Œå®½ä¸º $35$ å•ä½çš„æ•´è¡Œã€‚
ç”±äºŽ \TeX\ ä¸å¯èƒ½æ”¹å˜ç›’å­çš„å®½åº¦ï¼Œ
å®ƒé€šè¿‡å¢žåŠ&nbsp;ç²˜è¿žé¡¹çš„å®½åº¦ç”Ÿæˆæ‰€éœ€çš„é¢å¤–é—´è·ã€‚
çŽ°åœ¨çš„å›¾å½¢çœ‹èµ·æ¥æ˜¯è¿™æ&nbsp;·çš„ï¼š
\gluepicture
   35 {\picbox 4 \gluebox 6 4 2 8 \picbox 5 \gluebox 10 8 6 14 \picbox 4 }
å„ç²˜è¿žé¡¹å¢žåŠ&nbsp;çš„å®½åº¦å¹¶ä¸ç›¸ç­‰ï¼›å¢žåŠ&nbsp;çš„å®½åº¦ä¸Žå®ƒä»¬çš„ä¼¸é•¿é‡æˆæ¯”ä¾‹ã€‚
ç”±äºŽç¬¬äºŒä¸ªç²˜è¿žé¡¹çš„ä¼¸é•¿é‡æ˜¯ç¬¬ä¸€ä¸ªçš„ä¸¤å€ï¼Œ
å®ƒçš„å®½åº¦å¢žåŠ&nbsp;äº†å››ä¸ªå•ä½ï¼Œè€ŒåŽè€…åªå¢žåŠ&nbsp;äº†ä¸¤ä¸ªå•ä½ã€‚
ç²˜è¿žå…è®¸ä»»æ„ä¼¸é•¿ï¼Œ
å°½ç®¡ \TeX\ æœ‰æ—¶ä¸æ„¿æ„è¶…å‡ºå®šä¹‰ä¸­ç»™å‡ºçš„ä¼¸é•¿é‡ã€‚

%Finally, suppose that the hbox is required to be narrower than $29$ units, say
%$25$ units.  In this case \TeX\ makes the glue items narrower.
%The picture looks like this:
%\gluepicture
%   25 {\picbox 4 \gluebox 6 4 2 5 \picbox 5 \gluebox 10 8 6 7 \picbox 4 }
%The glue items become narrower in proportion to their shrink.
%The first glue item becomes narrower by one unit, while the second glue item
%becomes narrower by three units.  Glue cannot shrink by a distance
%less than the amount of shrink
%given in its definition even though the distance it can stretch is
%unlimited.  In this important sense the shrink and
%the stretch behave differently.
æœ€åŽï¼Œå‡è®¾è¿™ä¸ªæ°´å¹³ç›’å­éœ€è¦æ¯” $29$ å•ä½è¿˜çª„ï¼Œæ¯”å¦‚è¯´ $25$ å•ä½ã€‚
æ­¤æ—¶ \TeX\ å°†å‡å°‘ç²˜è¿žé¡¹çš„å®½åº¦ã€‚å›¾å½¢çœ‹èµ·æ¥æ˜¯è¿™æ&nbsp;·çš„ï¼š
\gluepicture
   25 {\picbox 4 \gluebox 6 4 2 5 \picbox 5 \gluebox 10 8 6 7 \picbox 4 }
å„ç²˜è¿žé¡¹å‡å°‘çš„å®½åº¦äºŽå®ƒä»¬çš„æ”¶ç¼©é‡æˆæ¯”ä¾‹ã€‚
ç¬¬ä¸€ä¸ªç²˜è¿žé¡¹çš„å®½åº¦å‡å°‘äº†ä¸€ä¸ªå•ä½ï¼Œè€Œç¬¬äºŒä¸ªç²˜è¿žé¡¹å‡å°‘äº†ä¸‰ä¸ªå•ä½ã€‚
ç²˜è¿žæ”¶ç¼©æ—¶ä¸èƒ½è¶…å‡ºå®šä¹‰ä¸­ç»™å‡ºçš„æ”¶ç¼©é‡ï¼Œè€Œä¼¸é•¿æ—¶å´ä¸å—é™åˆ¶ã€‚
ä»Žè¿™ä¸ªé‡è¦æ„ä¹‰ä¸Šè¯´ï¼Œæ”¶ç¼©å’Œä¼¸é•¿æœ‰ä¸åŒçš„è¡¨çŽ°ã€‚

%A good rule of thumb for glue is to set the natural size to the amount
%of space that looks best, the stretch to the largest amount of space
%that \TeX\ can add before the document starts to look bad, and the
%shrink to the largest amount of space that \TeX\ can take away before
%the document starts to look bad.  You may need to set the values by
%experiment.
æœ‰ä¸€ä¸ªä¸é”™çš„ç»éªŒæ³•åˆ™å¯ç”¨äºŽè®¾å®šç²˜è¿žï¼Œ
å³å–å®ƒçš„è‡ªç„¶å°ºå¯¸ä¸ºæ–‡æ¡£æœ€ç¾Žè§‚æ—¶çš„é—´è·å¤§å°ï¼Œ
å–å®ƒçš„ä¼¸é•¿é‡ä¸ºæ–‡æ¡£å¼€å§‹å˜éš¾çœ‹ä¹‹å‰ \TeX\ èƒ½æ·»åŠ&nbsp;çš„æœ€å¤§é—´è·ï¼Œ
å–å®ƒçš„æ”¶ç¼©é‡ä¸ºæ–‡æ¡£å¼€å§‹å˜éš¾çœ‹ä¹‹å‰ \TeX\ èƒ½åŽ»æŽ‰çš„æœ€å¤§é—´è·ã€‚
ä½&nbsp;ä¹Ÿè®¸éœ€è¦é€šè¿‡è¯•éªŒç¡®å®šè¿™äº›å€¼ã€‚

%You can produce glue that is infinitely stretchable  by specifying
%its stretch in units of `^|fil|', `^|fill|', or `^|filll|'.   Glue measured in
%`|fill|' is infinitely more stretchable than glue measured in `|fil|', and
%glue measured in `|filll|'  is infinitely more stretchable than glue measured
%in `|fill|'.  You should rarely have any need for `|filll|' glue.  Glue whose
%stretch is |2fil| has twice as much stretch as glue whose stretch is |1fil|,
%and similarly for the other kinds of infinitely stretchable glue.
ä»¥ `^|fil|'ï¼Œ`^|fill|'ï¼Œæˆ– `^|filll|' ä¸ºå•ä½è®¾å®šç²˜è¿žçš„ä¼¸é•¿é‡ï¼Œ
å°±å¯ä»¥ç”Ÿæˆå¯æ—&nbsp;é™ä¼¸é•¿çš„ç²˜è¿žã€‚
ä»¥ `|fill|' ä¸ºå•ä½çš„ç²˜è¿žç›¸æ¯”ä»¥ `|fil|' ä¸ºå•ä½çš„ç²˜è¿žæœ‰æ›´åŠ&nbsp;æ—&nbsp;é™çš„ä¼¸é•¿èƒ½åŠ›ï¼Œ
ä»¥ `|filll|' ä¸ºå•ä½çš„ç²˜è¿žç›¸æ¯”ä»¥ `|fill|' ä¸ºå•ä½çš„ç²˜è¿žæœ‰æ›´åŠ&nbsp;æ—&nbsp;é™çš„ä¼¸é•¿èƒ½åŠ›ã€‚
ä½&nbsp;å¾ˆå°‘éœ€è¦ä½¿ç”¨ `|filll|' ç²˜è¿žã€‚
ä¼¸é•¿é‡ä¸º |2fil| çš„ç²˜è¿žï¼Œå…¶ä¼¸é•¿èƒ½åŠ›æ˜¯ä¼¸é•¿é‡ä¸º |1fil| çš„ç²˜è¿žçš„ä¸¤å€ï¼Œ
å¯¹å…¶ä»–ç±»åž‹çš„å¯æ—&nbsp;é™ä¼¸é•¿ç²˜è¿žæƒ…å½¢ç±»ä¼¼ã€‚

%When \TeX\ is
%apportioning extra space among glue items, the infinitely stretchable
%ones, if there
%are any, get all of it.  Infinitely stretchable glue is particularly useful for
%setting text flush left, flush right, or centered:
åœ¨ \TeX\ ç»™å„ä¸ªç²˜è¿žé¡¹åˆ†é…é¢å¤–é—´è·æ—¶ï¼Œ
å¦‚æžœå­˜åœ¨å¯æ—&nbsp;é™ä¼¸é•¿çš„ç²˜è¿žï¼Œå®ƒä»¬å°†åˆ†åˆ°å…¨éƒ¨é—´è·ã€‚
å¯æ—&nbsp;é™ä¼¸é•¿çš„ç²˜è¿žåœ¨è®¾å®šæ–‡æœ¬å·¦å¯¹é½ï¼Œå³å¯¹é½æˆ–è€…å±…ä¸­æ—¶ç‰¹åˆ«æœ‰ç”¨ï¼š

%\ulist\compact
%\li To set text ^{flush left}, put infinitely stretchable
%horizontal glue to the right of it.
%That glue will consume all the
%extra space that's available on the line.
%You can use the ^|\leftline| command \ctsref{\leftline}
%or the |\raggedright| command \ctsref{\raggedright} to do~this.
%\li To set text ^{flush right}, put infinitely
%stretchable horizontal glue to the left of it.
%As before, that glue will consume all the extra space on the line.
%You can use the ^|\rightline| command \ctsref{\rightline} to do~this.
%\li To set ^{centered text}, put identical infinitely stretchable
%horizontal glue items
%on both sides of it.
%These two glue items will divide all the extra space on the line
%equally between them.
%You can use the ^|\centerline| command \ctsref{\centerline} to do~this.
%\endulist
\ulist\compact
\li è¦è®©æ–‡æœ¬^{å·¦å¯¹é½}ï¼Œå¯ä»¥åœ¨å®ƒå³è¾¹æ”¾ä¸Šä¸€ä¸ªå¯æ—&nbsp;é™ä¼¸é•¿çš„æ°´å¹³ç²˜è¿žã€‚
è¿™ä¸ªç²˜è¿žå°†å&nbsp;ç”¨è¯¥è¡Œæ‰€æœ‰å¯ç”¨çš„å¤šä½™é—´è·ã€‚
ä½&nbsp;å¯ä»¥ç”¨ ^|\leftline| å‘½ä»¤\ctsref{\leftline}æˆ–
|\raggedright| å‘½ä»¤\ctsref{\raggedright}è¾¾åˆ°æ­¤ç›®çš„ã€‚
\li è¦è®©æ–‡æœ¬^{å³å¯¹é½}ï¼Œå¯ä»¥åœ¨å®ƒå·¦è¾¹æ”¾ä¸Šä¸€ä¸ªå¯æ—&nbsp;é™ä¼¸é•¿çš„æ°´å¹³ç²˜è¿žã€‚
å¦‚åŒä¸Šé¢ï¼Œè¿™ä¸ªç²˜è¿žå°†å&nbsp;ç”¨è¯¥è¡Œæ‰€æœ‰å¯ç”¨çš„å¤šä½™é—´è·ã€‚
ä½&nbsp;å¯ä»¥ç”¨ ^|\rightline| å‘½ä»¤\ctsref{\rightline}è¾¾åˆ°æ­¤ç›®çš„ã€‚
\li è¦è®¾å®š^{å±…ä¸­æ–‡æœ¬}ï¼Œå¯ä»¥åœ¨å®ƒä¸¤è¾¹å„æ”¾ä¸Šä¸€ä¸ªåŒæ&nbsp;·çš„å¯æ—&nbsp;é™ä¼¸é•¿çš„æ°´å¹³ç²˜è¿žã€‚
è¿™ä¸¤ä¸ªç²˜è¿žé¡¹å°†å¹³åˆ†è¯¥è¡Œçš„å¤šä½™é—´è·ã€‚
ä½&nbsp;å¯ä»¥ç”¨ ^|\centerline| å‘½ä»¤\ctsref{\centerline}è¾¾åˆ°æ­¤ç›®çš„ã€‚
\endulist

%You can also specify infinitely shrinkable glue
%^^{glue//infinitely shrinkable}
%in a similar way.  Infinitely shrinkable glue can act as negative space.
%Note that |fil|, etc., can be used only
%to specify the stretch and shrink of glue---they can't be used to specify
%its natural size.
%\eix^^{stretch}
%\eix^^{shrink}
%\endconcept
ç±»ä¼¼åœ°ï¼Œä½&nbsp;ä¹Ÿå¯ä»¥æŒ‡å®šå¯æ—&nbsp;é™æ”¶ç¼©çš„ç²˜è¿žã€‚
^^{ç²˜è¿ž//å¯æ—&nbsp;é™æ”¶ç¼©çš„ç²˜è¿ž}
å¯æ—&nbsp;é™æ”¶ç¼©ç²˜è¿žå¯ä»¥ä½œä¸ºè´Ÿé—´è·ã€‚
æ³¨æ„ |fil| ç­‰åªå¯ç”¨äºŽæŒ‡å®šç²˜è¿žçš„ä¼¸é•¿é‡å’Œæ”¶ç¼©é‡â€”â€”%
å®ƒä»¬ä¸èƒ½ç”¨äºŽæŒ‡å®šè‡ªç„¶å°ºå¯¸ã€‚
\eix^^{ä¼¸é•¿é‡}
\eix^^{æ”¶ç¼©é‡}
\endconcept


%\conceptindex{groups}
%\concept group
\conceptindex{ç¼–ç»„}
\concept ç¼–ç»„

%A \defterm{group} is a part of your manuscript that \TeX\ treats as a unit.
%You indicate a group by enclosing it in the braces
%`|{|' and `|}|' (or any other characters with the appropriate
%\refterm{category codes}).
%^^|{//starting a group|
%^^|}//ending a group|
\defterm{ç¼–ç»„}ï¼ˆgroupï¼‰æ˜¯æ–‡ç¨¿ä¸­ \TeX\ è§†ä¸ºä¸€ä¸ªå•å…ƒçš„ä¸€éƒ¨åˆ†ã€‚
è¦è¡¨ç¤ºä¸€ä¸ªç¼–ç»„ï¼Œä½&nbsp;å¯ä»¥ç”¨æ‹¬å· `|{|' å’Œ `|}|'%
ï¼ˆæˆ–è€…\refterm{ç±»åˆ«ç&nbsp;}åˆé€‚çš„å…¶ä»–å­—ç¬¦ï¼‰å°†å®ƒæ‹¬èµ·æ¥ã€‚
^^|{//å¼€å§‹ç¼–ç»„|
^^|}//ç»“æŸç¼–ç»„|

%The most important property of a group is that any nonglobal
%definition or assignment that you make inside a group disappears when
%the group ends.  For instance, if you write:
ç¼–ç»„çš„é‡è¦ç‰¹æ€§åœ¨äºŽï¼Œå½“ä¸€ä¸ªç¼–ç»„ç»“æŸæ—¶ï¼Œ
åœ¨å…¶ä¸­æ‰€ä½œçš„ä»»ä½•éžå…¨å±€çš„å®šä¹‰æˆ–èµ‹å€¼éƒ½æ¶ˆå¤±äº†ã€‚å‡å¦‚ä½&nbsp;è¿™æ&nbsp;·å†™ï¼š

%\csdisplay
%Please don't pour {\it any} more tea into my hat.
%|
%the |\it| \refterm{control sequence} causes \TeX\ to set the word
%`|any|' in italic type but does not affect the rest of the text.
%As another example, if you use the |\hsize| parameter
%\ctsref{\hsize} to change the line length within a group, the line length
%reverts to its previous value once \TeX\ has gotten past the group.
\csdisplay
Please don't pour {\it any} more tea into my hat.
|
|\it| \refterm{æŽ§åˆ¶åºåˆ—}è®© \TeX\ è®¾å®š `|any|' ä¸ºæ„å¤§åˆ©ä½“ï¼Œ
ä½†å®ƒä¸ä¼šå½±å“å…¶ä»–æ–‡æœ¬ã€‚
å†ä¸¾ä¸€ä¸ªä¾‹å­ï¼Œå¦‚æžœä½&nbsp;åœ¨ç¼–ç»„ä¸­ç”¨ |\hsize| å‘½ä»¤\ctsref{\hsize}æ”¹å˜è¡Œå®½ï¼Œ
åœ¨ \TeX\ å®Œæˆè¿™ä¸ªç¼–ç»„åŽï¼Œè¡Œå®½å°†æ¢å¤ä¸ºä¹‹å‰çš„å–å€¼ã€‚

%Groups are also useful as a way of controlling spacing.  For instance, if you
%write:
ç¼–ç»„ä¹Ÿå¯ä»¥ä½œä¸ºä¸€ç§æŽ§åˆ¶é—´è·çš„æ–¹æ³•ã€‚ä¸¾ä¸ªä¾‹å­ï¼Œå¦‚æžœä½&nbsp;è¿™æ&nbsp;·å†™ï¼š

%\csdisplay
%\TeX for the Impatient and the Outpatient too.
%|
%\noindent
%you'll get:
%\display{%
%\TeX for the Impatient and the Outpatient too.
%}
%\noindent
%since the control sequence |\TeX| (which produces the \TeX\
%logo) absorbs the following space.
%What you probably want is:
%\display{%
%{\TeX} for the Impatient and the Outpatient too.
%}
%\noindent
%One way to get it is to enclose `|\TeX|' in a group:
%\csdisplay
%{\TeX} for the Impatient and the Outpatient too.
%|
%The right brace prevents the control sequence from absorbing the space.
%\endconcept
\csdisplay
\TeX for the Impatient and the Outpatient too.
|
\noindent
ä½&nbsp;å°†ä¼šå¾—åˆ°ä¸‹åˆ—ç»“æžœï¼š
\display{%
\TeX for the Impatient and the Outpatient too.
}
\noindent
è¿™æ˜¯ç”±äºŽæŽ§åˆ¶åºåˆ— |\TeX|ï¼ˆå®ƒç”Ÿæˆ \TeX\ æ&nbsp;‡è¯†ï¼‰å¸æ”¶äº†å…¶åŽçš„ç©ºæ&nbsp;¼ã€‚
ä½&nbsp;æ‰€éœ€è¦çš„ä¹Ÿè®¸æ˜¯è¿™æ&nbsp;·ï¼š
\display{%
{\TeX} for the Impatient and the Outpatient too.
}
\noindent
è¦å¾—åˆ°è¿™ç§ç»“æžœï¼Œå…¶ä¸­ä¸€ç§æ–¹æ³•å°±æ˜¯å°† `|\TeX|' æ‹¬åˆ°ä¸€ä¸ªç¼–ç»„é‡Œé¢ï¼š
\csdisplay
{\TeX} for the Impatient and the Outpatient too.
|
å…¶ä¸­çš„å³èŠ±æ‹¬å·é˜»æ­¢äº†æŽ§åˆ¶åºåˆ—å¸æ”¶ç©ºæ&nbsp;¼ã€‚
\endconcept


\bookmark{2}{ä»¥Hå¼€å¤´}
%\conceptindex{hboxes}
%\concept hbox
\concept æ°´å¹³ç›’å­

%An \defterm{hbox} (horizontal box) is a \refterm{box} that \TeX\
%constructs by placing the items of a \refterm{horizontal list} one after
%another, left to right.
%^^{horizontal lists//hboxes formed from}
%An hbox, taken as a unit, is neither
%inherently horizontal nor inherently vertical, i.e., it can appear as an
%item of either a horizontal list or a \refterm{vertical list}.  You can
%construct an hbox with the |\hbox| command \ctsref{\hbox}.
%\endconcept
\defterm{æ°´å¹³ç›’å­}ï¼ˆhboxï¼Œhorizontal boxï¼‰æ˜¯ \TeX\
ä»Žå·¦åˆ°å³é€ä¸ªæ”¾ç½®\refterm{æ°´å¹³åˆ—è¡¨}çš„é¡¹ç›®è€Œæž„é€&nbsp;å‡ºæ¥çš„\refterm{ç›’å­}ã€‚
^^{æ°´å¹³åˆ—è¡¨//ç»„æˆæ°´å¹³ç›’å­}
æ°´å¹³ç›’å­ï¼Œä½œä¸ºä¸€ä¸ªå•å…ƒï¼Œæ—¢ä¸æ˜¯æœ¬è´¨ä¸Šæ°´å¹³çš„ä¹Ÿä¸æ˜¯æœ¬è´¨ä¸Šç«–ç›´çš„ï¼Œ
å³å®ƒå¯ä»¥å‡ºçŽ°åœ¨æ°´å¹³åˆ—è¡¨æˆ–\refterm{ç«–ç›´åˆ—è¡¨}ä¸­ã€‚
ä½&nbsp;å¯ä»¥ç”¨ |\hbox| å‘½ä»¤\ctsref{\hbox}æž„é€&nbsp;æ°´å¹³ç›’å­ã€‚
\endconcept


%\conceptindex{headers}
%\concept header
\concept é¡µçœ‰

%A \defterm{header} is material that \TeX\ puts at the top of every page,
%above the text of that page.
%The header for a simple report
%might consist of the title on the left side of
%the page and the text ``Page $n$'' on the right side of the page.
%Ordinarily a header consists of a single line, which you can set by
%assigning a token list to ^|\headline| \ctsref\headline.
%The default \plainTeX\ header is blank.
%It's possible to produce multiline headers too; see \xrefpg{bighead} for
%how to do it.
%\endconcept
\defterm{é¡µçœ‰}ï¼ˆheaderï¼‰æ˜¯æ”¾åœ¨æ¯ä¸ªé¡µé¢é¡¶éƒ¨ï¼Œä½äºŽæ­£æ–‡ä¹‹ä¸Šçš„ç´&nbsp;æã€‚
ä¸€ä¸ªç®€å•æŠ¥å‘Šçš„é¡µçœ‰å¯èƒ½ç”±å·¦ä¾§çš„æ&nbsp;‡é¢˜å’Œå³ä¾§çš„`ç¬¬ $n$ é¡µ''ç»„æˆã€‚
é€šå¸¸é¡µçœ‰åªåŒ…å«ä¸€è¡Œæ–‡æœ¬ï¼Œä½&nbsp;å¯ä»¥é€šè¿‡ç»™ ^|\headline|\ctsref\headline æŒ‡å®šä¸€ä¸ªè®°å·åˆ—æ¥è®¾å®šé¡µçœ‰ã€‚
åœ¨ \plainTeX\ ä¸­é»˜è®¤é¡µçœ‰æ˜¯ç©ºç™½çš„ã€‚
ä½&nbsp;ä¹Ÿå¯ä»¥ç”Ÿæˆå¤šè¡Œé¡µçœ‰ï¼›è¯·å‚é˜…\xrefpg{bighead}ä¸­ä»‹ç»çš„æ–¹æ³•ã€‚
\endconcept


%\concept height
\concept é«˜åº¦

%The \defterm{height} of a \refterm{box} is the distance that the box
%extends above its \refterm{baseline}.
%^^{boxes//height of}
%\endconcept
\refterm{ç›’å­}çš„\defterm{é«˜åº¦}ï¼ˆheightï¼‰æ˜¯ç›’å­åœ¨\refterm{åŸºçº¿}ä¹‹ä¸Šçš„è·ç¦»ã€‚
^^{ç›’å­//ç›’å­çš„é«˜åº¦}
\endconcept


%\conceptindex{horizontal lists}
%\concept{horizontal list}
\concept{æ°´å¹³åˆ—è¡¨}

%A \defterm{horizontal list} is a list of items
%that \TeX\ has produced while it is
%in one of its \refterm{horizontal modes:horizontal mode}, i.e., assembling
%either a paragraph or an hbox.  See ``horizontal mode'' below.
%\endconcept
\defterm{æ°´å¹³åˆ—è¡¨}ï¼ˆhorizontal listï¼‰æ˜¯ \TeX\ ä½äºŽæŸç§\refterm{æ°´å¹³æ¨¡å¼}æ—¶
ï¼ˆå³ç»„è£…æ®µè½æˆ–æ°´å¹³ç›’å­æ—¶ï¼‰ç”Ÿæˆçš„ä¸€åˆ—é¡¹ç›®ã€‚è§ä¸‹é¢çš„``æ°´å¹³æ¨¡å¼''ã€‚
\endconcept


%\concept {horizontal mode}
\concept {æ°´å¹³æ¨¡å¼}

%^^{hboxes//horizontal mode for}
%When \TeX\ is assembling a paragraph or an \refterm{hbox}, it is in one
%of two \defterm{horizontal modes}: ^{ordinary horizontal
%mode} for assembling paragraphs and ^{restricted horizontal mode} for
%assembling hboxes.  Whenever \TeX\ is in a horizontal mode its stomach
%\seeconcept{\anatomy} is constructing a \refterm{horizontal
%list} of items (boxes, glue, penalties, etc.).
%\TeX\ typesets the items in the list
%one after another, left to right.
^^{æ°´å¹³ç›’å­//å¤„äºŽæ°´å¹³æ¨¡å¼ä¸­}
åœ¨ç»„è£…æ®µè½æˆ–è€…\refterm{æ°´å¹³ç›’å­}æ—¶ï¼Œ
\TeX\ ä½äºŽä¸¤ç§\defterm{æ°´å¹³æ¨¡å¼}ï¼ˆhorizontal modeï¼‰ä¹‹ä¸€:
^{æ™®é€šæ°´å¹³æ¨¡å¼}ç”¨äºŽç»„è£…æ®µè½ï¼Œè€Œ^{å—é™æ°´å¹³æ¨¡å¼}ç”¨äºŽç»„è£…æ°´å¹³ç›’å­ã€‚
åªè¦ \TeX\ ä½äºŽæ°´å¹³æ¨¡å¼ä¸­ï¼Œå®ƒçš„èƒƒ\seeconcept{\anatomy}å°±åœ¨æž„é€&nbsp;é¡¹ç›®%
ï¼ˆç›’å­ã€ç²˜è¿žã€æƒ©ç½šç­‰ï¼‰çš„\refterm{æ°´å¹³åˆ—è¡¨}ã€‚
\TeX\ é€ä¸ªæŽ’ç‰ˆåˆ—è¡¨ä¸­çš„é¡¹ç›®ï¼Œä»Žå·¦åˆ°å³ã€‚

%A horizontal list can't contain any
%items produced by inherently vertical commands, e.g., |\vskip|.
%^^{horizontal lists//can't contain vertical commands}
æ°´å¹³åˆ—è¡¨ä¸èƒ½åŒ…å«ä»»ä½•ç”¨æœ¬è´¨ä¸Šçš„ç«–ç›´å‘½ä»¤ï¼Œæ¯”å¦‚ |\vskip|ï¼Œç”Ÿæˆçš„é¡¹ç›®ã€‚
^^{æ°´å¹³åˆ—è¡¨//ä¸èƒ½åŒ…å«ç«–ç›´å‘½ä»¤}

%\ulist
%\li If \TeX\ is  assembling a horizontal list in ordinary horizontal mode and
%encounters an inherently vertical command, \TeX\ ends the paragraph and
%enters \refterm{vertical mode}.
\ulist
\li å¦‚æžœ \TeX\ æ­£åœ¨æ™®é€šæ°´å¹³æ¨¡å¼ä¸­ç»„è£…æ°´å¹³åˆ—è¡¨ï¼Œå¹¶ç¢°åˆ°ä¸€ä¸ªæœ¬è´¨ä¸Šçš„ç«–ç›´å‘½ä»¤ï¼Œ
å®ƒå°†ç»“æŸå½“å‰æ®µè½å¹¶è¿›å…¥\refterm{ç«–ç›´æ¨¡å¼}ã€‚

%\li If \TeX\ is assembling a horizontal list in restricted horizontal
%mode and encounters an inherently vertical command, it complains.
%\endulist Two commands that you might at first think are inherently
%horizontal are in fact inherently vertical: |\halign| \ctsref{\halign}
%and |\hrule| \ctsref{\hrule}.
%^^|\hrule//inherently vertical|
%^^|\halign//inherently vertical|
%See \knuth{page~286} for a list
%of the inherently vertical commands.
\li å¦‚æžœ \TeX\ æ­£åœ¨å—é™æ°´å¹³æ¨¡å¼ä¸­ç»„è£…æ°´å¹³åˆ—è¡¨ï¼Œå¹¶ç¢°åˆ°ä¸€ä¸ªæœ¬è´¨ä¸Šçš„ç«–ç›´å‘½ä»¤ï¼Œ
å®ƒå°†æŠ¥é”™ã€‚
\endulist è¿™ä¸¤ä¸ªå‘½ä»¤ä½&nbsp;ä¹Ÿè®¸ä¼šè®¤ä¸ºæ˜¯æœ¬è´¨ä¸Šæ°´å¹³çš„ï¼Œå®žé™…ä¸Šå´æ˜¯æœ¬è´¨ä¸Šç«–ç›´çš„ï¼š
|\halign|\ctsref{\halign}å’Œ |\hrule|\ctsref{\hrule}ã€‚
^^|\hrule//æœ¬è´¨ä¸Šç«–ç›´çš„|
^^|\halign//æœ¬è´¨ä¸Šç«–ç›´çš„|
åœ¨\knuth{ç¬¬~286~é¡µ}ä¸­åˆ—å‡ºäº†æ‰€æœ‰æœ¬è´¨ä¸Šçš„ç«–ç›´å‘½ä»¤ã€‚

%{\tighten
%You should be aware of a subtle but important property of restricted
%horizontal mode: \emph{you can't enter restricted horizontal mode
%when you're in ordinary horizontal mode}.  What this means in practice is that
%when \TeX\ is assembling an hbox it
%won't handle paragraph-like text, i.e., text for which it does
%\refterm{line breaking}.  You can get
%around this restriction by enclosing the paragraph-like text in a
%\refterm{vbox} within the hbox.  The same method works if you want to
%put, say, a horizontal \refterm{alignment} inside an~hbox.
%}% end scope of tighten
å¯¹äºŽå—é™æ°´å¹³æ¨¡å¼ï¼Œä½&nbsp;è¦çŸ¥é“è¿™ä¸ªå¾®å°ä½†æ˜¯é‡è¦çš„ç‰¹æ€§ï¼š
\emph{ä½&nbsp;æ—&nbsp;æ³•ä»Žæ™®é€šæ°´å¹³æ¨¡å¼è¿›å…¥å—é™æ°´å¹³æ¨¡å¼}ã€‚%
\footnote{è¯‘æ³¨ï¼šæ­¤å¤„ä¼¼ä¹Žæœ‰è¯¯ï¼Œåº”ä¸ºâ€œä½&nbsp;æ—&nbsp;æ³•ä»Žå—é™æ°´å¹³æ¨¡å¼è¿›å…¥æ™®é€šæ°´å¹³æ¨¡å¼â€ã€‚}
åœ¨å®žè·µä¸Šï¼Œè¿™æ„å‘³ç€åœ¨ç»„è£…æ°´å¹³ç›’å­æ—¶ \TeX\ æ—&nbsp;æ³•å¤„ç†ç±»ä¼¼æ®µè½çš„æ–‡æœ¬ï¼Œ
å³éœ€è¦\refterm{æ–­è¡Œ:æ–­è¡Œç‚¹}çš„æ–‡æœ¬ã€‚åœ¨æ°´å¹³ç›’å­å†…éƒ¨ï¼Œ
é€šè¿‡æŠŠç±»ä¼¼æ®µè½çš„æ–‡æœ¬æ”¾å…¥ä¸€ä¸ª\refterm{ç«–ç›´ç›’å­}ä¸­ï¼Œä½&nbsp;å°±å¯ä»¥ç»•è¿‡æ­¤é™åˆ¶ã€‚
å…¶ä»–ç±»ä¼¼æ–¹æ³•ä¹Ÿå¯è¡Œï¼Œæ¯”å¦‚å°†ä¸€ä¸ªæ°´å¹³\refterm{é˜µåˆ—}æ”¾åœ¨æ°´å¹³ç›’å­å†…éƒ¨ã€‚

\endconcept


%\concept{hyphenation}
\concept{è¿žå­—}

%\TeX\ automatically hyphenates words as it is processing your document.
%\TeX\ is not eager to insert hyphens, preferring instead to find good
%line breaks by adjusting the spacing between words and moving words
%from one line to another.
%\TeX\ is clever enough to understand
%hyphens that are already in words.
åœ¨å¤„ç†æ–‡æ¡£æ—¶ï¼Œ\TeX\ è‡ªåŠ¨å°†å•è¯è¿žå­—åŒ–ï¼ˆhyphenationï¼‰ã€‚
\TeX\ å¹¶ä¸æ€¥äºŽæ’å…¥è¿žå­—ç¬¦ï¼Œå®ƒæ›´å–œæ¬¢é€šè¿‡è°ƒæ•´å•è¯é—´éš”æ‰¾åˆ°åˆé€‚æ–­è¡Œç‚¹ï¼Œ
ä»Žè€Œå°†å•è¯ç”¨ä¸€è¡Œç§»åŠ¨åˆ°å¦ä¸€è¡Œã€‚
\TeX\ è¶³å¤Ÿèªæ˜Žï¼Œå®ƒå¯ä»¥ç†è§£å·²ç»å‡ºçŽ°åœ¨å•è¯ä¸­çš„è¿žå­—ç¬¦ã€‚

%You can control \TeX's hyphenation in several ways:
%\ulist
%\li You can tell \TeX\ to
%allow a hyphen in a particular place by inserting a
%discretionary hyphen
%^^{discretionary hyphens}
%with the ^|\-| command \ctsref{\@minus}.
%\li You can tell \TeX\ how to
%hyphenate particular words throughout your document with the ^|\hyphenation|
%command \ctsref{\hyphenation}.
%\li You can enclose a word in an \refterm{hbox}, thus preventing \TeX\
%from hyphenating it.
%\li You can set the value of penalties such as |\hyphenpenalty|
%\ctsref\hyphenpenalty.
%\endulist
%\noindent If a word contains an explicit or discretionary hyphen,
%\TeX\ will never break it elsewhere.
%\endconcept
ä½&nbsp;å¯ä»¥ç”¨å¦‚ä¸‹å‡&nbsp;ç§æ–¹å¼æŽ§åˆ¶ \TeX\ çš„è¿žå­—ï¼š
\ulist
\li ä½&nbsp;å¯ä»¥ç”¨ \writeidxfalse^|\-|\writeidxtrue å‘½ä»¤\ctsref{\@minus} æ’å…¥è‡ªå®šè¿žå­—ç¬¦ï¼Œ
ä»¥å…è®¸ \TeX\ åœ¨ç‰¹å®šä½ç½®è¿žå­—åŒ–ã€‚
^^{è‡ªå®šè¿žå­—ç¬¦}
\li ä½&nbsp;å¯ä»¥ç”¨ ^|\hyphenation| å‘½ä»¤\ctsref{\hyphenation}%
å‘Šè¯‰ \TeX\ åœ¨æ•´ä¸ªæ–‡æ¡£ä¸­å¦‚ä½•å¯¹æŸä¸ªå•è¯è¿žå­—åŒ–ã€‚
\li ä½&nbsp;å¯ä»¥å°†å•è¯æ”¾å…¥ä¸€ä¸ª\refterm{æ°´å¹³ç›’å­}ä¸­ï¼Œä»¥é˜»æ­¢ \TeX\ å°†å®ƒè¿žå­—åŒ–ã€‚
\li ä½&nbsp;å¯ä»¥è®¾å®šä¸€äº›æƒ©ç½šå€¼ï¼Œæ¯”å¦‚ |\hyphenpenalty|\ctsref\hyphenpenalty ã€‚
\endulist
\noindent å¦‚æžœå•è¯ä¸­åŒ…å«æ˜¾å¼æˆ–è‡ªå®šè¿žå­—ç¬¦ï¼Œ\TeX\ å°†ä¸ä¼šåœ¨å…¶ä»–ä½ç½®æ–­å¼€ã€‚
\endconcept


\bookmark{2}{ä»¥Iå¼€å¤´}
%\conceptindex{input streams}
%\concept {input stream}
\concept {è¾“å…¥æµ}

%See \conceptcit{file}.
%\endconcept
è§\conceptcit{æ–‡ä»¶}ã€‚
\endconcept

%\conceptindex{insertions}
%\concept insertion
\concept æ’å…¥é¡¹

%\looseness = -1
%An \defterm{insertion} is a vertical list containing material
%to be inserted into
%a page when \TeX\ has finished building that page.\footnote
%{\tighten
%\TeX\ itself doesn't
%insert the material---it just makes the material available to
%the output routine, which is then responsible for transferring
%it to the composed page.
%^^{output routine//insertions, treatment of}
%The only immediate effect of the ^|\insert| command
%\ctsref{\insert} is to change \TeX's page break calculations so that it
%will leave room on the page for the inserted material.  Later, when
%\TeX\ actually breaks the page, it divides the inserted material into
%two groups: the material that fits on the current page and the material
%that doesn't.
%^^{page breaks//insertions at}
%The material that fits on the page is placed into box registers,
%one per insertion,
%and the material that doesn't fit is carried over to the next page.
%This procedure allows \TeX\ to do such
%things as distributing parts of a long footnote over several consecutive
%pages.} Examples of such insertions are footnotes and figures.  The
%\refterm{\plainTeX} commands for
%creating insertions are ^|\footnote|, ^|\topinsert|, |\mid!-insert|,
%^^|\midinsert|
%and ^|\pageinsert|, as well as the primitive ^|\insert| command
%itself (\pp\xrefn\footnote--\xrefn{endofinsert}).
%\TeX's mechanism for handling insertions is rather complicated;
%see \knuth{pages~122--125} for the details.
%\endconcept
\defterm{æ’å…¥é¡¹}ï¼ˆinsertionï¼‰æ˜¯ä¸€ä¸ªç«–ç›´åˆ—è¡¨ï¼Œ
å®ƒåŒ…å«å³å°†åœ¨é¡µé¢å»ºé€&nbsp;å®ŒæˆåŽæ’å…¥åˆ°è¯¥é¡µé¢çš„ç´&nbsp;æã€‚\footnote
{\TeX\ æœ¬èº«å¹¶ä¸æ’å…¥è¿™äº›ç´&nbsp;æâ€”â€”å®ƒä»…æä¾›è¿™äº›ç´&nbsp;æç»™è¾“å‡ºä¾‹è¡Œç¨‹åºï¼Œ
è¾“å‡ºä¾‹è¡Œç¨‹åºè´Ÿè´£å°†å®ƒä»¬ç§»åŠ¨åˆ°æŽ’ç‰ˆå‡ºçš„é¡µé¢ä¸­ã€‚
^^{è¾“å‡ºä¾‹è¡Œç¨‹åº//å¤„ç†æ’å…¥é¡¹}
^|\insert| å‘½ä»¤\ctsref{\insert}ä»…æœ‰çš„ç›´æŽ¥æ•ˆæžœæ˜¯ï¼Œ
æ”¹å˜äº† \TeX\ çš„åˆ†é¡µè®¡ç®—å…¬å¼ä»¥ç»™æ’å…¥ç´&nbsp;æç•™å‡ºç©ºé—´ã€‚
ç¨åŽï¼Œå½“ \TeX\ å®žé™…åˆ†å‡ºäº†é¡µé¢æ—¶ï¼Œå®ƒå°†æ’å…¥ç´&nbsp;æåˆ†ä¸ºä¸¤ç»„ï¼šå½“å‰é¡µèƒ½å¤Ÿæ”¾ä¸‹çš„å’Œæ—&nbsp;æ³•æ”¾ä¸‹çš„ã€‚
^^{åˆ†é¡µ//åˆ†é¡µæ—¶çš„æ’å…¥é¡¹}
å½“å‰é¡µèƒ½å¤Ÿæ”¾ä¸‹çš„ç´&nbsp;æè¢«æ”¾å…¥ç›’å­å¯„å­˜å™¨ä¸­ï¼Œæ¯ä¸ªæ’å…¥é¡¹æ”¾å…¥ä¸€ä¸ªå¯„å­˜å™¨ï¼Œ
è€Œæ—&nbsp;æ³•æ”¾ä¸‹çš„ç´&nbsp;æåˆ™ä¿ç•™åˆ°ä¸‹ä¸€é¡µä¸­ã€‚
æ­¤è¿‡ç¨‹å…è®¸ \TeX\ å°†é•¿è„šæ³¨åˆ†åˆ°è¿žç»­å¤šä¸ªé¡µé¢ä¸­ã€‚}
è„šæ³¨å’Œå›¾ç‰‡å°±æ˜¯æ’å…¥é¡¹çš„ä¾‹å­ã€‚
åœ¨\refterm{\plainTeX} ä¸­ï¼Œç”¨äºŽåˆ›å»ºæ’å…¥é¡¹çš„å‘½ä»¤æœ‰
^|\footnote|ï¼Œ^|\topinsert|ï¼Œ|\mid!-insert| å’Œ ^|\pageinsert|ï¼Œ
^^|\midinsert|
ä»¥åŠåŽŸå§‹å‘½ä»¤ ^|\insert| æœ¬èº«ï¼ˆè§~\xrefn\footnote--\xrefn{endofinsert}~é¡µï¼‰ã€‚
\TeX\ æ’å…¥é¡¹çš„å¤„ç†æœºåˆ¶æ˜¯ç›¸å½“å¤æ‚çš„ï¼›
ä½&nbsp;å¯ä»¥åœ¨\knuth{ç¬¬~122--125~é¡µ}ä¸­çœ‹åˆ°è¯¦ç»†ä»‹ç»ã€‚
\endconcept


%\concept {interline glue}
\concept {è¡Œé—´ç²˜è¿ž}

%\defterm{Interline glue} is the glue that \TeX\ inserts in front of every
%\refterm{box} in a \refterm{vertical list} except for the first one.
%The interline glue is ordinarily specified so as to maintain a constant
%distance between the baselines of the boxes.
%Its value is jointly determined by the ^|\baselineskip|,
%^|\lineskip|, and ^|\lineskiplimit| parameters \ctsref{\baselineskip}.
%\endconcept
\defterm{è¡Œé—´ç²˜è¿ž}ï¼ˆinterline glueï¼‰æ˜¯ \TeX\ åœ¨\refterm{ç«–ç›´åˆ—è¡¨}çš„æ¯ä¸ªç›’å­%
ï¼ˆç¬¬ä¸€ä¸ªç›’å­é™¤å¤–ï¼‰ä¹‹å‰æ’å…¥çš„ç²˜è¿žã€‚
é€šå¸¸æŒ‡å®šè¡Œé—´ç²˜è¿žä»¥è®©å„ç›’å­åŸºçº¿é—´ä¿æŒç›¸åŒçš„è·ç¦»ã€‚
è¡Œé—´ç²˜è¿žçš„å€¼ç”± ^|\baselineskip|ï¼Œ^|\lineskip| å’Œ ^|\lineskiplimit|
è¿™ä¸‰ä¸ªå‚æ•°åˆèµ·æ¥ç¡®å®š\ctsref{\baselineskip}ã€‚
\endconcept


%\conceptindex{items}
%\concept item
\concept é¡¹ç›®

%The term \defterm{item} is often used to refer to a component of
%a horizontal, vertical, or math  list, i.e., a list of items that
%\TeX\ is building while it is in a horizontal, vertical, or math mode.
%\endconcept
\defterm{é¡¹ç›®}ï¼ˆitemï¼‰è¿™ä¸ªæœ¯è¯­å¸¸ç”¨æ¥è¡¨ç¤ºæ°´å¹³ï¼Œç«–ç›´æˆ–æ•°å­¦åˆ—è¡¨
ï¼ˆå³ \TeX\ åœ¨æ°´å¹³ï¼Œç«–ç›´æˆ–æ•°å­¦æ¨¡å¼ä¸­å»ºé€&nbsp;çš„é¡¹ç›®åˆ—è¡¨ï¼‰çš„ä¸€ä¸ªç»„æˆå…ƒç´&nbsp;ã€‚
\endconcept


\bookmark{2}{ä»¥Jå¼€å¤´}
%\conceptindex{justification}
%\concept {justified text}
\concept {å¯¹é½æ–‡æœ¬}

%\defterm{Justified text} is text that has been typeset so that both
%margins are even.  Unjustified text, on the other hand, has been typeset
%with ``ragged'' margins on one or both sides.
%Documents typed on old-fashioned typewriters almost always have
%ragged right margins.
%Although documents produced by \TeX\ are
%justified by default, you can if you wish produce documents (or
%sequences of lines) that have ^{ragged right}---or ^{ragged left}---margins.
%You can also get \TeX\ to center a sequence of lines, thus making both
%margins ragged.
%^^{centered text}
%You can use the
%^|\leftskip|, ^|\rightskip|, and  ^|\raggedright| commands
%(\pp \xrefn{\leftskip},~\xrefn{\raggedright}) for these purposes.
\defterm{å¯¹é½æ–‡æœ¬}ï¼ˆjustified textï¼‰æ˜¯ä¸¤è¾¹å¯¹é½æŽ’ç‰ˆçš„æ–‡æœ¬ã€‚
è€Œéžå¯¹é½æ–‡æœ¬æ˜¯å•è¾¹æˆ–ä¸¤è¾¹â€œä¸å¯¹é½â€æŽ’ç‰ˆçš„æ–‡æœ¬ã€‚
è€å¼æ‰“å°æœºæŽ’ç‰ˆçš„æ–‡æ¡£å‡&nbsp;ä¹Žæ€»æ˜¯å·¦å¯¹é½çš„ã€‚
è™½ç„¶ \TeX\ é»˜è®¤ç”Ÿæˆä¸¤è¾¹å¯¹é½çš„æ–‡æ¡£ï¼Œ
å¦‚æžœä½&nbsp;éœ€è¦ä¹Ÿå¯ä»¥ç”Ÿæˆ^{å·¦å¯¹é½}æˆ–^{å³å¯¹é½}çš„æ–‡æ¡£ï¼ˆæˆ–ä¸€äº›æ–‡æœ¬è¡Œï¼‰ã€‚
ä½&nbsp;ä¹Ÿå¯ä»¥è®© \TeX\ å°†ä¸€äº›æ–‡æœ¬è¡Œå±…ä¸­ï¼Œä»Žè€Œè®©ä¸¤è¾¹éƒ½ä¸å¯¹é½ã€‚
^^{å±…ä¸­æ–‡æœ¬}
ç”¨ ^|\leftskip|ï¼Œ^|\rightskip| å’Œ ^|\raggedright| å‘½ä»¤%
ï¼ˆç¬¬ \xrefn{\leftskip}ï¼Œ\xrefn{\raggedright}é¡µï¼‰å¯ä»¥è¾¾åˆ°è¿™äº›ç›®çš„.

%When \TeX\ is producing justified text, it usually
%needs to stretch or shrink the glue within each line to make the margins
%come out even.  When \TeX\ is producing unjustified text, on the other
%hand, it usually leaves the glue within each line at its natural width.
%Many typographers prefer unjustified text because its interword
%spacing is more uniform.
%\endconcept
åœ¨ç”Ÿæˆå¯¹é½æ–‡æœ¬æ—¶ï¼Œ\TeX\ é€šå¸¸éœ€è¦ä¼¸ç¼©å„è¡Œçš„ç²˜è¿žä»¥è®©ä¸¤è¾¹å¯¹é½ã€‚
è€Œåœ¨ç”Ÿæˆéžå¯¹é½æ–‡æœ¬æ—¶ï¼Œ\TeX\ é€šå¸¸è®©å„è¡Œçš„ç²˜è¿žä¿æŒè‡ªç„¶å°ºå¯¸ã€‚
å¾ˆå¤šæŽ’å°å·¥æ›´å–œæ¬¢éžå¯¹é½æ–‡æœ¬ï¼Œå›&nbsp;ä¸ºå®ƒçš„å­—é—´è·æ›´åŠ&nbsp;ä¸€è‡´ã€‚
\endconcept


\bookmark{2}{ä»¥Kå¼€å¤´}
%\conceptindex{kerns}
%\concept kern
\conceptindex{ç´§æŽ’}
\concept ç´§æŽ’

%^^{spacing//adjusting with kerns}
%A \defterm{kern} indicates a change to the normal spacing between
%the items of a vertical or horizontal list.
%A kern can be either positive or negative.  By
%putting a positive kern between two items, you push them further apart
%by the amount of the kern.  By putting a negative kern between two
%items, you bring them closer together by the amount of the kern.  For
%instance, this text:
%\csdisplay
%11\quad 1\kern1pt 1\quad 1\kern-.75pt 1
%|
%produces letter pairs that look like this:
%\display{11\quad 1\kern1pt 1\quad 1\kern-.75pt 1}
%You can use kerns in vertical mode to adjust the space between
%particular pairs of lines.
^^{é—´éš”//ç”¨ç´§æŽ’è°ƒæ•´}
\defterm{ç´§æŽ’}ï¼ˆkernï¼‰è¡¨ç¤ºå¯¹ç«–ç›´æˆ–æ°´å¹³åˆ—ä¸­çš„é¡¹ç›®é—´çš„è·ç¦»ä½œä¸€å®šè°ƒæ•´ã€‚
ç´§æŽ’å¯æ­£å¯è´Ÿã€‚å°†æ­£ç´§æŽ’æ”¾å…¥ä¸¤ä¸ªé¡¹ç›®é—´ï¼Œå°†ä»¥è¯¥ç´§æŽ’çš„å¤§å°æ‹‰å¼€ä¸¤ä¸ªé¡¹ç›®ã€‚
è€Œå°†è´Ÿç´§æŽ’æ”¾å…¥ä¸¤ä¸ªé¡¹ç›®é—´ï¼Œå°†ä»¥è¯¥ç´§æŽ’çš„å¤§å°æ‹‰è¿‘ä¸¤ä¸ªé¡¹ç›®ã€‚
ä¾‹å¦‚ï¼Œä¸‹åˆ—æ–‡æœ¬ï¼š
\csdisplay
11\quad 1\kern1pt 1\quad 1\kern-.75pt 1
|
å°†ç”Ÿæˆç±»ä¼¼ä¸‹é¢çš„å‡&nbsp;ä¸ªå­—ç¬¦å¯¹ï¼š
\display{11\quad 1\kern1pt 1\quad 1\kern-.75pt 1}
åœ¨ç«–ç›´æ¨¡å¼ä¸­å¯ä»¥ç”¨ç´§æŽ’æ”¹å˜ç‰¹å®šä¸¤è¡Œçš„é—´è·ã€‚

%A kern of size $d$ is very similar to a \refterm{glue} item that has
%size $d$ and no stretch or shrink.  Both the kern and the glue insert or
%remove space between neighboring items.  The essential difference is
%that \TeX\ considers two boxes with only kerns between them to be tied
%together.  That is, \TeX\ won't break a line or a page at a kern unless
%the kern is immediately followed by glue.  Bear this difference in mind
%when you're deciding whether to use a kern or a glue item for a
%particular purpose.
å¤§å°ä¸º$d$çš„ç´§æŽ’ä¸Žå¤§å°ä¸º$d$ä¸”æ—&nbsp;ä¼¸ç¼©çš„\refterm{ç²˜è¿ž}éžå¸¸ç›¸ä¼¼ã€‚
ç´§æŽ’å’Œç²˜è¿žä¸¤è€…éƒ½åœ¨ç›¸é‚»é¡¹ç›®é—´æ’å…¥æˆ–åˆ&nbsp;é™¤ä¸€å®šé—´è·ã€‚
æœ¬è´¨åŒºåˆ«åœ¨äºŽï¼Œè‹¥ä¸¤ç›’å­é—´åªæœ‰ç´§æŽ’ï¼Œ\TeX\ å°†è®¤ä¸ºå®ƒä»¬æ˜¯åˆåœ¨ä¸€èµ·çš„ã€‚
\footnote{è¯‘æ³¨ï¼šæœ¬ä¹¦å°†â€œkernâ€ç¿»è¯‘ä¸ºâ€œç´§æŽ’â€æ­£ç”±äºŽè¿™ä¸ªåŽŸå›&nbsp;ï¼Œâ€œç´§â€åº”è¯¥ç†è§£ä¸ºâ€œç´§å›ºâ€ã€‚}
è¿™å°±æ˜¯è¯´ï¼Œ\TeX\ ä¸ä¼šåœ¨ç´§æŽ’å¤„æ–­è¡Œæˆ–è€…åˆ†é¡µï¼Œé™¤éžå…¶åŽè·Ÿç€ä¸€ä¸ªç²˜è¿žã€‚
å½“ä½&nbsp;å†³å®šç”¨ç´§æŽ’æˆ–ç²˜è¿žå®žçŽ°æŸç§ç›®çš„æ—¶ï¼ŒåŠ¡å¿…è®°å¾—è¿™ä¸¤è€…çš„åŒºåˆ«ã€‚

%\TeX\ automatically inserts kerns between particular pairs of adjacent
%letters, thus adjusting the space between those letters and enhancing
%the appearance of your typeset document.
%For instance, the Computer Modern $10$-point roman font contains a kern
%for the pair `To' that brings the left edge of the `o' under the
%`T'.  Without the kern, you'd get \hbox{``T{o}p''} rather than ``Top''---%
%the difference is slight but noticeable.
%The metrics file
%(^{\tfmfile})
%for each \refterm{font} specifies the placement and size of the
%kerns that \TeX\ automatically inserts when it is setting text in that~font.
%\margin{paragraph deleted to save space; most of the material was
%already in this section.}
\TeX\ åœ¨æŸäº›ç›¸é‚»çš„å­—ç¬¦å¯¹ä¹‹é—´è‡ªåŠ¨æ’å…¥ç´§æŽ’ï¼Œ
ä»Žè€Œæ”¹å˜è¿™äº›å­—ç¬¦çš„é—´è·ï¼Œä½¿å¾—æŽ’ç‰ˆå‡ºçš„æ–‡æ¡£æ›´åŠ&nbsp;ç¾Žè§‚ã€‚
ä¾‹å¦‚ï¼Œåœ¨è®¡ç®—æœºçŽ°ä»£å­—ä½“çš„$10$ç‚¹ç½—é©¬å­—ä½“ä¸­ï¼Œ
åŒ…å«ä¸€ä¸ªå­—ç¬¦å¯¹`To'çš„ç´§æŽ’ï¼Œå°†å­—æ¯`o'çš„å·¦è¾¹ç¼˜æ‹‰åˆ°å­—æ¯`T'ä¸‹è¾¹ã€‚
æ²¡æœ‰è¿™ä¸ªç´§æŽ’ï¼Œä½&nbsp;å°†å¾—åˆ° \hbox{â€œT{o}pâ€} è€Œä¸æ˜¯ â€œTopâ€ â€”â€”%
ä¸¤è€…çš„å·®åˆ«æ˜¯å¾®å°çš„ä½†å´æ˜¯æ˜Žæ˜¾çš„ã€‚
\TeX\ ç”¨æŸä¸ª\refterm{å­—ä½“}æŽ’ç‰ˆæ–‡æœ¬æ—¶è‡ªåŠ¨æ’å…¥çš„ç´§æŽ’çš„ä½ç½®å’Œå¤§å°ï¼Œ
æ˜¯åœ¨è¯¥å­—ä½“çš„åº¦é‡æ–‡ä»¶ï¼ˆ^{\tfmfile}ï¼‰ä¸­æŒ‡å®šçš„ã€‚
\margin{paragraph deleted to save space; most of the material was
already in this section.}

\endconcept


\bookmark{2}{ä»¥Lå¼€å¤´}
%\concept leaders
\concept æŒ‡å¼•çº¿

%You can use \defterm{leaders} to fill a space with copies of
%a pattern, e.g.,
%to put repeated dots between a title and a page number in a table of contents.
%A leader is a single copy of the pattern.
%The specification of leaders contains three pieces of information:
%\olist\compact
%\li what a single leader is
%\li how much space needs to be filled
%\li how the copies of the pattern should be arranged within the space
%\endolist
åˆ©ç”¨\defterm{æŒ‡å¼•çº¿}ï¼ˆleadersï¼‰ï¼Œä½&nbsp;å¯ä»¥ç”¨æŸä¸ªæ¨¡å¼çš„å¤æœ¬å¡«å……ç©ºé—´ï¼Œ
æ¯”å¦‚åœ¨ç›®å½•ä¸­çš„ç”¨é‡å¤çš„ç‚¹å¡«å……æ&nbsp;‡é¢˜å’Œé¡µç&nbsp;ä¹‹é—´çš„ç©ºé—´ã€‚
æŒ‡å¼•ä½“ï¼ˆleaderï¼‰æ˜¯æ¨¡å¼çš„å•ä¸ªå¤æœ¬ã€‚
è¦æŒ‡å®šä¸€ä¸ªæŒ‡å¼•çº¿ï¼Œä½&nbsp;éœ€è¦ç»™å‡ºä¸‰æ–¹é¢çš„ä¿¡æ¯ï¼š
\olist\compact
\li å•ä¸ªæŒ‡å¼•ä½“æ˜¯æ€Žæ&nbsp;·çš„
\li è¦å¡«å……çš„ç©ºé—´æœ‰å¤šå¤§
\li æ¨¡å¼çš„å¤æœ¬åœ¨ç©ºé—´å†…åº”è¯¥å¦‚ä½•ç»„ç»‡
\endolist

%\bix^^|\leaders|
%\bix^^|\cleaders|
%\bix^^|\xleaders|
%{\tighten
%\TeX\ has three commands for specifying leaders:
%|\leaders|, \hbox{|\cleaders|}, and |\xleaders| (\xref\leaders).  The
%\refterm{argument} of each command specifies the leader.
%The command must be followed by \refterm{glue}; the size of the glue
%specifies how much space is to be filled.  The choice of command determines
%how the leaders are arranged within the space.}
\bix^^|\leaders|
\bix^^|\cleaders|
\bix^^|\xleaders|
\TeX\ æœ‰ä¸‰ä¸ªç”¨äºŽæŒ‡å®šæŒ‡å¼•çº¿çš„å‘½ä»¤ï¼š
|\leaders|ï¼Œ\hbox{|\cleaders|} å’Œ |\xleaders|ï¼ˆ\xref\leaders ï¼‰ã€‚
å„å‘½ä»¤çš„\refterm{å‚é‡}æŒ‡å®šäº†æŒ‡å¼•ä½“ã€‚
å‘½ä»¤ä¹‹åŽå¿…é¡»æ˜¯ä¸€ä¸ª\refterm{ç²˜è¿ž}ï¼›ç²˜è¿žçš„å¤§å°æŒ‡å®šäº†è¦å¡«å……ç©ºé—´çš„å¤§å°ã€‚
å‘½ä»¤çš„é€‰æ‹©å†³å®šäº†æŒ‡å¼•ä½“åœ¨ç©ºé—´å†…å¦‚ä½•ç»„ç»‡ã€‚

%Here's an example showing how |\leaders| works:
%\csdisplay
%\def\dotting{\leaders\hbox to 1em{\hfil.\hfil}\hfil}
%\line{The Political Process\dotting 18}
%\line{Bail Bonds\dotting 26}
%|
%Here we've put the leaders and their associated glue into a \refterm{macro}
%definition so that we can conveniently
%use them in two places. This input produces:
è¿™é‡Œæœ‰ä¸ªä¾‹å­å±•ç¤ºäº† |\leaders| çš„å·¥ä½œæ–¹å¼ï¼š
\csdisplay
\def\dotting{\leaders\hbox to 1em{\hfil.\hfil}\hfil}
\line{The Political Process\dotting 18}
\line{Bail Bonds\dotting 26}
|
å…¶ä¸­æˆ‘ä»¬å°†æŒ‡å¼•çº¿åŠç›¸å…³ç²˜è¿žæ”¾åœ¨ä¸€ä¸ª\refterm{å®}å®šä¹‰ä¸­ï¼Œ
ä»¥æ–¹ä¾¿æˆ‘ä»¬åœ¨ä¸¤ä¸ªåœ°æ–¹ä½¿ç”¨å®ƒã€‚è¿™ä¸ªä¾‹å­çš„è¾“å‡ºç»“æžœæ˜¯ï¼š

%\vdisplay{\advance\hsize by -\parindent
%\def\dotting{\leaders\hbox to 1em{\hfil{.}\hfil}\hfill}%
%\line{The Political Process{\dotting}18}
%\line{Bail Bonds{\dotting}26}
%}
\vdisplay{\advance\hsize by -\parindent
\def\dotting{\leaders\hbox to 1em{\hfil{.}\hfil}\hfill}%
\line{The Political Process{\dotting}18}
\line{Bail Bonds{\dotting}26}
}

%The \refterm{hbox} following |\leaders| specifies
%the leader, namely, an hbox 1\em\ wide containing a dot
%at its center.
%The space is filled with copies of this box,
%effectively filling it
%with dots whose centers are 1\em{} apart.
%The following |\hfil| (the one at the
%end of the macro definition) is glue that
%specifies the space to be filled.
%In this case it's whatever space is needed to fill out the line.
%By choosing |\leaders| rather than |\cleaders| or |\xleaders| we've insured
%that the dots on different lines line up with each other.
|\leaders| ä¹‹åŽçš„\refterm{æ°´å¹³ç›’å­}æŒ‡å®šäº†æŒ‡å¼•ä½“ï¼Œå³åŒ…å«å±…ä¸­ç‚¹çš„ 1\em\ å®½çš„æ°´å¹³ç›’å­ã€‚
ç©ºé—´å°†ç”¨è¿™ä¸ªç›’å­çš„å¤æœ¬å¡«å……ï¼Œå®žé™…ä¸Šæ˜¯ç”¨ä¸­å¿ƒç›¸éš” 1\em{} çš„ç‚¹å¡«å……ã€‚
éšåŽçš„ |\hfil|ï¼ˆå®å®šä¹‰æœ«å°¾é‚£ä¸ªï¼‰æ˜¯ä¸€ä¸ªç²˜è¿žï¼Œå®ƒç»™å‡ºæ‰€è¦å¡«å……ç©ºé—´çš„å¤§å°ã€‚
åœ¨è¿™ä¸ªä¾‹å­ä¸­ï¼Œå®ƒå°±æ˜¯å¡«æ»¡æ–‡æœ¬è¡Œæ‰€éœ€çš„ç©ºé—´ã€‚
æˆ‘ä»¬é€‰æ‹© |\leaders| è€Œä¸æ˜¯ |\cleaders| æˆ– |\xleaders|ï¼Œæ˜¯ä¸ºäº†è®©ä¸åŒè¡Œçš„ç‚¹ç›¸äº’å¯¹é½ã€‚

%In general, the space to be filled acts as a window
%on the repeated copies of the leader.
%\TeX\ inserts as many copies as possible, but some space is
%usually left over---either because of where the leaders fall
%within the window or because
%the width of the window isn't an exact multiple of the width of the
%leader.
%The difference among the three  commands is in how they arrange the leaders
%within the window and how they distribute any leftover space:
ä¸€èˆ¬åœ°ï¼Œæ‰€è¦å¡«å……çš„ç©ºé—´å°±ä½œä¸ºåŒ…å«æŒ‡å¼•ä½“çš„å¤šä¸ªå¤æœ¬çš„çª—ä½“ã€‚
\TeX\ æ’å…¥å°½å¯èƒ½å¤šçš„å¤æœ¬ï¼Œä½†é€šå¸¸ä¼šæœ‰äº›ç©ºé—´å‰©ä¸‹â€”â€”%
æˆ–è€…æ˜¯ç”±äºŽæŒ‡å¼•ä½“åœ¨çª—ä½“å†…çš„ä½ç½®é—®é¢˜ï¼Œæˆ–è€…æ˜¯ç”±äºŽçª—ä½“çš„å®½åº¦ä¸æ˜¯æŒ‡å¼•ä½“å®½åº¦çš„æ•´æ•°å€ã€‚
è¿™ä¸‰ä¸ªå‘½ä»¤çš„å·®å¼‚åœ¨äºŽï¼Œåœ¨çª—ä½“å†…å¦‚ä½•å®‰æŽ’æŒ‡å¼•ä½“å’Œåˆ†é…å‰©ä½™ç©ºé—´ï¼š

%\ulist
%\li For |\leaders|, \TeX\ first produces a row of copies of the leader.
%It then aligns the start of this row with the left end of the innermost
%box $B$ that is to contain the result of the |\leaders| command.
%In the two-line example above, $B$ is a box produced by |\line|.
%Those leaders that fit entirely in the window are placed into $B$,
%and the leftover space at the left and right ends is left empty.
%The picture is like this:
%\vdisplay{%
%\def\dotting{\leaders\hbox to 1em{\hfil{.}\hfil}\hfill}%
%\def\pp{The Political Process}
%\line{\dotting}
%\line{\hphantom\pp\hfil$\Downarrow$\hfil\hphantom{18}}
%\vskip 4pt
%\setbox0 = \hbox{\pp}
%\setbox1 = \hbox{18}
%\dimen0 = \hsize \advance\dimen0 by -\wd0 \advance \dimen0 by -\wd1
%\advance\dimen0 by -0.8pt
%\hbadness=10000
%\line{\pp
%   \vrule\vbox{\hrule width \dimen0\vskip 2pt
%   \hbox to \dimen0{\hfil window\strut\hfil}
%   \vskip 2pt\hrule width \dimen0}%
%   \vrule 18}
%\line{\hphantom\pp\hfil$\Downarrow$\hfil\hphantom{18}}
%\vskip 2pt
%\line{\pp{\dotting}18}
%}
%\vskip\medskipamount
%{\tighten
%\noindent
%This procedure ensures that in the two-line example on the previous page,
%the dots in the two lines
%are vertically aligned (since the \refterm{reference points:reference point}
%of the hboxes produced by |\line| are vertically aligned).
%\par}
\ulist
\li å¯¹äºŽ |\leaders|, \TeX\ é¦–å…ˆç”Ÿæˆä¸€è¡ŒæŒ‡å¼•ä½“å¤æœ¬ã€‚
ç„¶åŽè¯¥è¡Œå¤æœ¬çš„èµ·å§‹ä½ç½®ä¸ŽåŒ…å« |\leaders| å‘½ä»¤çš„æœ€å†…ä¾§ç›’å­ $B$ çš„å·¦ä¾§å¯¹é½ã€‚
åœ¨ä¸Šé¢çš„ä¸¤è¡Œä¾‹å­ä¸­ï¼Œ$B$ å°±æ˜¯ç”± |\line| ç”Ÿæˆçš„ç›’å­ã€‚
æ•´ä¸ªè½å…¥çª—ä½“çš„æŒ‡å¼•ä½“å°†è¢«æ”¾å…¥ $B$ ä¸­ï¼Œè€Œå·¦å³ä¸¤è¾¹å‰©ä¸‹çš„ç©ºé—´å°†ç©ºç€ã€‚å›¾å½¢å¦‚ä¸‹ï¼š
\vdisplay{%
\def\dotting{\leaders\hbox to 1em{\hfil{.}\hfil}\hfill}%
\def\pp{The Political Process}
\line{\dotting}
\line{\hphantom\pp\hfil$\Downarrow$\hfil\hphantom{18}}
\vskip 4pt
\setbox0 = \hbox{\pp}
\setbox1 = \hbox{18}
\dimen0 = \hsize \advance\dimen0 by -\wd0 \advance \dimen0 by -\wd1
\advance\dimen0 by -0.8pt
\hbadness=10000
\line{\pp
   \vrule\vbox{\hrule width \dimen0\vskip 2pt
   \hbox to \dimen0{\hfil window\strut\hfil}
   \vskip 2pt\hrule width \dimen0}%
   \vrule 18}
\line{\hphantom\pp\hfil$\Downarrow$\hfil\hphantom{18}}
\vskip 2pt
\line{\pp{\dotting}18}
}
\vskip\medskipamount
\noindent
è¿™ä¸ªè¿‡ç¨‹ç¡®ä¿åœ¨ä¸Šé¢çš„ä¸¤è¡Œä¾‹å­ä¸­ï¼Œä¸¤è¡Œä¸­çš„å„ä¸ªç‚¹æ˜¯ç«–ç›´å¯¹é½çš„%
ï¼ˆç”±äºŽç”¨ |\line| ç”Ÿæˆçš„æ°´å¹³ç›’å­çš„\refterm{åŸºå‡†ç‚¹}æ˜¯ç«–ç›´å¯¹é½çš„ï¼‰ã€‚

%\li For |\cleaders|, \TeX\ centers the leaders within the window
%by dividing the leftover space between the two ends of the window.
%The leftover space is always less than the width of a single leader.
\li å¯¹äºŽ |\cleaders|ï¼Œ\TeX\ å¹³åˆ†çª—ä½“ä¸¤è¾¹çš„å‰©ä½™ç©ºé—´ä»¥è®©æŒ‡å¼•çº¿åœ¨çª—ä½“ä¸­å±…ä¸­ã€‚
å‰©ä½™ç©ºé—´æ€»æ˜¯å°äºŽå•ä¸ªæŒ‡å¼•ä½“çš„å®½åº¦ã€‚

%\li For |\xleaders|, \TeX\ distributes the
%leftover space evenly within the window.
%In other words, if the leftover space is $w$ and the
%leader is repeated  $n$ times,
%\TeX\ puts space of width $w/(n+1)$ between adjacent leaders and
%at the two ends of the leaders.
%The effect is usually to spread out the leaders a little bit.
%The leftover space for |\xleaders|, like that for |\cleaders|,
%is always less than the width of a single leader.
%\endulist
\li å¯¹äºŽ |\xleaders|ï¼Œ\TeX\ å°†å‰©ä½™ç©ºé—´åœ¨çª—ä½“å†…å‡åŒ€åˆ†å¸ƒã€‚
ä¹Ÿå°±æ˜¯è¯´ï¼Œå¦‚æžœå‰©ä½™ç©ºé—´æ˜¯ $w$ï¼ŒæŒ‡å¼•ä½“è¢«é‡å¤ $n$ æ¬¡ï¼Œ
\TeX\ å°†åœ¨ç›¸é‚»æŒ‡å¼•ä½“ä¸­é—´åŠæŒ‡å¼•çº¿ä¸¤ç«¯å¡«å……å®½åº¦ä¸º $w/(n+1)$ çš„ç©ºé—´ã€‚
å…¶æ•ˆæžœé€šå¸¸æ˜¯å°†æŒ‡å¼•ä½“æ•£å¼€ä¸€ç‚¹ã€‚å’Œ |\cleaders| ç±»ä¼¼ï¼Œ
|\xleaders| çš„å‰©ä½™ç©ºé—´ä¹Ÿæ€»æ˜¯å°äºŽå•ä¸ªæŒ‡å¼•ä½“çš„å®½åº¦ã€‚
\endulist

%So far we've assumed that the leaders consist of hboxes arranged
%horizontally.  Two variations are possible:
%\olist
%\li You can use a
%rule instead of an hbox for the leader.
%\TeX\ makes the rule as wide as necessary to extend
%across the glue (and the three commands are equivalent).
%\li You
%can produce vertical leaders that run down the page by including them in
%a \refterm{vertical list} rather than a \refterm{horizontal list}. In
%this case you need vertical glue following the leaders.
%\endolist
%\noindent
%See \knuth{pages~223--225} for the precise rules that \TeX\ uses
%in typesetting leaders.
%\eix^^|\leaders|
%\eix^^|\cleaders|
%\eix^^|\xleaders|
%\endconcept
åˆ°ç›®å‰ä¸ºæ­¢ï¼Œæˆ‘ä»¬éƒ½å‡å®šæŒ‡å¼•çº¿ç”±æ¨ªå‘æŽ’åˆ—çš„æ°´å¹³ç›’å­ç»„æˆçš„ã€‚å®žé™…ä¸ŠæŒ‡å¼•çº¿è¿˜æœ‰ä¸¤ä¸ªå¯èƒ½çš„å˜ç§ï¼š
\olist
\li ä½&nbsp;å¯ä»¥ç”¨æ&nbsp;‡çº¿ä»£æ›¿æ°´å¹³ç›’å­ä½œä¸ºæŒ‡å¼•ä½“ã€‚
\TeX\ å°†è®©æ&nbsp;‡çº¿å°½å¯èƒ½å®½ä»¥è®©å®ƒå¡«æ»¡è¯¥ç²˜è¿žï¼ˆä»Žè€Œè¿™ä¸‰ä¸ªå‘½ä»¤æ˜¯ç­‰ä»·çš„ï¼‰ã€‚
\li ä½&nbsp;å¯ä»¥ä¸åœ¨\refterm{æ°´å¹³åˆ—è¡¨}è€Œåœ¨\refterm{ç«–ç›´åˆ—è¡¨}ä¸­ä½¿ç”¨å®ƒï¼Œ
ä»¥åœ¨é¡µé¢ä¸­ç”Ÿæˆå‘ä¸‹æŽ’åˆ—çš„ç«–ç›´æŒ‡å¼•çº¿ã€‚åœ¨è¿™ç§æƒ…å½¢ä¸­æŒ‡å¼•çº¿åŽé¢éœ€è¦ç»™å‡ºç«–ç›´ç²˜è¿žã€‚
\endolist
\noindent
è¯·å‚é˜… \knuth{ç¬¬~223--225~é¡µ}ï¼Œ
å…¶ä¸­ç»™å‡ºäº† \TeX\ ç”¨äºŽæŽ’ç‰ˆæŒ‡å¼•çº¿çš„ç²¾ç¡®è§„åˆ™ã€‚
\eix^^|\leaders|
\eix^^|\cleaders|
\eix^^|\xleaders|
\endconcept


%\conceptindex{ligatures}
%\concept ligature
\concept è¿žå†™

%A \defterm{ligature} is a single character that replaces a
%particular sequence of adjacent characters in a typeset document.
%For example, the word `|office|' is typeset as \hbox{``office''},
%not \hbox{``of{f}ice''}, by high-quality typesetting systems.
%Knowledge of ligatures is built into the
%\refterm{fonts:font} that you use, so there's nothing explicit you need do
%in order to get \TeX\ to produce them.  (You could defeat the ligature
%in ``office'', as we did just above, by writing `|of{f}ice|' in your input.)
%\TeX\ is also capable of using its ligature mechanism to typeset the
%first or last letter of a word differently than the same letter as it would
%appear in the middle of a word.
%You can defeat this effect (if you ever encounter it) by using the
%^|\noboundary| command (\xref\noboundary).
\defterm{è¿žå†™}ï¼ˆligatureï¼‰æ˜¯æŽ’ç‰ˆçš„æ–‡æ¡£ä¸­æ›¿æ¢ç‰¹å®šçš„ç›¸é‚»å­—ç¬¦ä¸²çš„å•ä¸ªå­—ç¬¦ã€‚
ä¾‹å¦‚ï¼Œåœ¨é«˜è´¨é‡çš„æŽ’ç‰ˆç³»ç»Ÿä¸­ï¼Œ
å•è¯ `|office|'å°†è¢«æŽ’ç‰ˆä¸º \hbox{``office''}ï¼Œè€Œä¸æ˜¯ \hbox{``of{f}ice''}ã€‚
è¿žå†™ä¿¡æ¯å·²ç»åµŒå…¥åœ¨ä½&nbsp;ä½¿ç”¨çš„\refterm{å­—ä½“}ä¸­ï¼Œå›&nbsp;æ­¤ä»€ä¹ˆä¹Ÿä¸ç”¨åšä½&nbsp;å°±å¯ä»¥è®©\TeX\ ç”Ÿæˆå®ƒä»¬ã€‚%
ï¼ˆé€šè¿‡å°†è¾“å…¥å†™æˆ `|of{f}ice|' å¯ä»¥å–æ¶ˆ ``office'' ä¸­çš„è¿žå†™ï¼Œæ­£å¦‚æˆ‘ä»¬åˆšæ‰æ‰€åšçš„ã€‚ï¼‰
åˆ©ç”¨æ­¤è¿žå†™æœºåˆ¶ï¼Œå¯¹å•è¯çš„å¼€å¤´æˆ–è€…æœ«å°¾å­—æ¯ï¼Œ\TeX\ ä¹Ÿå¯ä»¥ä½¿ç”¨ä¸Žå®ƒåœ¨å•è¯ä¸­é—´æ—¶ä¸åŒçš„æ–¹å¼æŽ’ç‰ˆã€‚
ç”¨ ^|\noboundary| å‘½ä»¤ï¼ˆ\xref\noboundary ï¼‰ä½&nbsp;å¯ä»¥å–æ¶ˆè¿™ç§æ•ˆæžœï¼ˆå¦‚æžœä½&nbsp;æ›¾ç»ç¢°åˆ°å®ƒï¼‰ã€‚

%Sometimes you may need a ligature from a European language.
%^^{European languages}
%\TeX\ won't
%produce these automatically unless you're using a font designed for that
%language.  A number of these ligatures, e.g., `\AE', are available as
%commands (see ``Letters and ligatures for European alphabets'',
%\xref{fornlets}).
%\endconcept
æœ‰æ—¶å€™ä½&nbsp;ä¼šéœ€è¦æ¬§æ´²è¯­è¨€çš„è¿žå†™ã€‚
^^{æ¬§æ´²è¯­è¨€}
é™¤éžä½&nbsp;ä½¿ç”¨ä¸€ä¸ªé’ˆå¯¹è¯¥è¯­è¨€è®¾è®¡çš„å­—ä½“ï¼Œå¦åˆ™ \TeX\ ä¸ä¼šè‡ªåŠ¨ç”Ÿæˆè¿™äº›è¿žå†™ã€‚
æœ‰ä¸€äº›è¿žå†™ï¼Œæ¯”å¦‚ `\AE'ï¼Œå¯ä»¥ç”¨å‘½ä»¤å¾—åˆ°ï¼ˆè§``æ¬§æ´²è¯­è¨€å­—æ¯å’Œè¿žå†™''ï¼Œ\xref{fornlets}ï¼‰ã€‚
\endconcept


%\conceptindex{line breaks}
%\concept{line break}
\conceptindex{æ–­è¡Œ}
\concept{æ–­è¡Œç‚¹}

%A \defterm{line break} is a place in your document where \TeX\ ends
%a line as it typesets a paragraph.
%When \TeX\ processes your document, it collects the contents of each
%paragraph in a \refterm{horizontal list}.
%When it has collected an entire paragraph,
%it analyzes the list to find what it considers to be the best possible
%line breaks.  \TeX\ associates ``^{demerits}'' with various symptoms of
%unattractive line breaks---lines that have too much or too little
%space between words, consecutive lines that end in hyphens, and so forth.  It
%then chooses the line breaks so as to minimize the total number of demerits.
%See \knuth{pages~96--101} for a full description of \TeX's line-breaking rules.
\defterm{æ–­è¡Œç‚¹}ï¼ˆline breakï¼‰æ˜¯æ–‡æ¡£ä¸­ \TeX\ ç»“æŸä¸€è¡Œå¹¶å¼€å§‹æ–°è¡Œçš„ä½ç½®ã€‚
åœ¨å¤„ç†ä½&nbsp;çš„æ–‡æ¡£æ—¶ï¼Œ\TeX\ å°†ä¸€ä¸ªæ®µè½çš„å†…å®¹æ”¶é›†åˆ°ä¸€ä¸ª\refterm{æ°´å¹³åˆ—è¡¨}ä¸­ã€‚
æ”¶é›†å®Œæ•´ä¸ªæ®µè½ä¹‹åŽï¼Œå®ƒåˆ†æžè¯¥åˆ—è¡¨ä»¥æ‰¾åˆ°å®ƒè®¤ä¸ºæœ€ä½³çš„æ–­è¡Œç‚¹ã€‚
\TeX\ é™„åŠ&nbsp;``^{ç¼ºé™·}''å€¼ç»™å„ç§å½¢æ€çš„ä¸‘é™‹æ–­è¡Œç‚¹â€”â€”%
å•è¯é—´éš”å¤ªå¤§æˆ–å¤ªå°çš„è¡Œï¼Œè¿žç»­ä»¥è¿žå­—ç¬¦ç»“å°¾çš„è¡Œï¼Œè¯¸å¦‚æ­¤ç±»ã€‚
ç„¶åŽå®ƒé€‰æ‹©è®©æ€»ç¼ºé™·å€¼æœ€å°çš„æ–­è¡Œç‚¹ã€‚
è¯·å‚é˜…\knuth{ç¬¬~96--101~é¡µ}ä¸­çš„ \TeX\ çš„æ–­è¡Œè§„åˆ™çš„å®Œæ•´è¯´æ˜Žã€‚

%You can control \TeX's choice of line breaks in several ways:
%\ulist
ä½&nbsp;å¯ä»¥ç”¨ä¸‹é¢å‡&nbsp;ç§æ–¹å¼æŽ§åˆ¶ \TeX\ å¯¹æ–­è¡Œç‚¹çš„é€‰æ‹©ï¼š
\ulist

%\li You can insert a \refterm{penalty} (\xref{hpenalty}) somewhere in
%the horizontal list that \TeX\ builds as it forms a paragraph.
%^^{penalties//in horizontal lists}
%A
%positive penalty discourages \TeX\ from breaking the line there, while a
%negative penalty---a bonus, in other words---encourages \TeX\ to break
%the line there.  A penalty of $10000$ or more prevents a line break,
%while a penalty of $-10000$ or less forces a line break.  You can get
%the same effects with the ^|\break| and
%^|\nobreak| commands (\pp\xrefn{hbreak},~\xrefn{hnobreak}).
\li ä½&nbsp;å¯ä»¥åœ¨ \TeX\ å½¢æˆæ®µè½æ—¶æž„å»ºçš„æ°´å¹³åˆ—è¡¨çš„æŸå¤„æ’å…¥\refterm{æƒ©ç½š}é¡¹ï¼ˆ\xref{hpenalty}ï¼‰ã€‚
^^{æƒ©ç½š//åœ¨æ°´å¹³åˆ—è¡¨ä¸­}
æ­£æƒ©ç½šå€¼é˜»ç¢ \TeX\ åœ¨è¯¥å¤„æ–­è¡Œï¼Œè€Œè´Ÿæƒ©ç½šå€¼â€”â€”å³å¥–åŠ±å€¼â€”â€”é¼“åŠ± \TeX\ åœ¨è¯¥å¤„æ–­è¡Œã€‚
å¤§äºŽæˆ–ç­‰äºŽ $10000$ çš„æƒ©ç½šåªé˜»æ­¢æ–­è¡Œï¼Œè€Œå°äºŽæˆ–ç­‰äºŽ $-10000$ å¼ºåˆ¶æ–­è¡Œã€‚
ç”¨ ^|\break| å’Œ ^|\nobreak| å‘½ä»¤ï¼ˆç¬¬~\xrefn{hbreak}ï¼Œ\xrefn{hnobreak}~é¡µï¼‰å¯ä»¥è¾¾åˆ°ç›¸åŒæ•ˆæžœã€‚

%\li You can tell \TeX\ to allow a hyphen in a particular place by
%inserting a discretionary hyphen
%^^{discretionary hyphens}
%with the |\-| command \ctsref{\@minus}, or
%otherwise control how \TeX\ hyphenates your document \seeconcept
%{hyphenation}.
%^^|\-//in line breaking|
\li ä½&nbsp;å¯ä»¥ç”¨ |\-| å‘½ä»¤\ctsref{\@minus}æ’å…¥è‡ªå®šè¿žå­—ç¬¦ï¼Œä»¥å…è®¸ \TeX\ åœ¨ç‰¹å®šä½ç½®è¿žå­—åŒ–ã€‚
^^{è‡ªå®šè¿žå­—ç¬¦}
ä½&nbsp;ä¹Ÿå¯ä»¥æŽ§åˆ¶ \TeX\ åœ¨ä½&nbsp;çš„æ–‡æ¡£ä¸­å¦‚ä½•è¿žå­—åŒ–\seeconcept{è¿žå­—}ã€‚
\ifoldeplain^^|\-//åœ¨æ–­è¡Œä¸­|\fi

%\li You can tell \TeX\ to allow a line break after a ^{solidus} (/) between
%two words by inserting ^|\slash| \ctsref{\slash}
%between them, e.g., `|fur!-longs\slash fortnight|'.
\li ä½&nbsp;å¯ä»¥åœ¨ä¸¤ä¸ªå•è¯é—´ç”¨ ^|\slash|\ctsref{\slash}æ’å…¥^{æ–œçº¿ç¬¦å·} (/)ï¼Œ
å¹¶å…è®¸ \TeX\ åœ¨æ–œçº¿åŽæ–­è¡Œï¼Œæ¯”å¦‚ `|fur!-longs\slash fortnight|'ã€‚

%\li You can tell \TeX\ not to break a line between two particular words by
%inserting a ^{tie} (|~|) between those words.
%^^|~//in line breaking|
\li ä½&nbsp;å¯ä»¥é€šè¿‡åœ¨ä¸¤ä¸ªç‰¹å®šå•è¯é—´æ’å…¥^{å¸¦å­} (|~|)ï¼Œä»¥ç¦æ­¢ \TeX\ åœ¨è¯¥å¤„æ–­è¡Œã€‚
^^|~//åœ¨æ–­è¡Œä¸­|

%\li You can adjust the penalties associated with line breaking by
%assigning different values to \TeX's line-breaking
%\refterm{parameters:parameter}.
\li ä½&nbsp;å¯ä»¥ç»™ \TeX\ çš„æ–­è¡Œ\refterm{å‚æ•°}èµ‹äºˆä¸åŒçš„å€¼ï¼Œä»¥è°ƒæ•´æ–­è¡Œæ—¶é™„åŠ&nbsp;çš„æƒ©ç½šå€¼ã€‚

%\li You can enclose a word or sequence of words in an \refterm{hbox},
%thus preventing \TeX\ from breaking the line anywhere within the hbox.
%^^{hboxes//controlling line breaks}
%\endulist
\li ä½&nbsp;å¯ä»¥å°†ä¸€ä¸ªå•è¯æˆ–ä¸€åˆ—å•è¯æ”¾åœ¨ä¸€ä¸ª\refterm{æ°´å¹³ç›’å­}ä¸­ï¼Œ
ä»Žè€Œé˜»æ­¢ \TeX\ ç›’å­é‡Œé¢çš„ä»»ä½•ä½ç½®æ–­è¡Œã€‚
^^{æ°´å¹³ç›’å­//æŽ§åˆ¶æ–­è¡Œ}
\endulist

%It's useful to know the places where \TeX\ can break a line:
%\ulist
%\li at glue, provided that:
%\olist
%\li the item preceding the glue is one of the following:
%a box, a discretionary item (e.g., a discretionary hyphen),
%the end of a math formula,
%a whatsit,
%or vertical material produced by |\mark| or |\vadjust|
%or |\insert|
%\li the glue is not part of a math formula
%\endolist
%\noindent
%When \TeX\ breaks a line at glue, it makes the break at the left edge
%of the glue space and forgets about the rest of the glue.
%\li at a kern that's immediately followed by glue,
%provided that this kern isn't within a math formula
%\li at the end of a math formula that's immediately followed by glue
%\li at a penalty, even one within a math formula
%\li at a discretionary break
%\endulist
%When \TeX\ breaks a line, it discards any
%sequence of glue, kerns, and penalty items that follows the break point.
%If such a sequence is followed by the beginning of a math formula, it
%also discards any kern produced by the beginning of the formula.
%\endconcept
çŸ¥é“åœ¨ä»€ä¹ˆåœ°æ–¹ \TeX\ å¯ä»¥æ–­è¡Œä¹Ÿæ˜¯æœ‰ç›Šçš„ï¼š
\ulist
\li åœ¨ç²˜è¿žå¤„ï¼Œåªè¦ï¼š
\olist
\li ç²˜è¿žä¹‹å‰æ˜¯ä¸‹åˆ—é¡¹ç›®ä¹‹ä¸€ï¼šç›’å­ã€è‡ªå®šé¡¹ç›®ï¼ˆæ¯”å¦‚è‡ªå®šè¿žå­—ç¬¦ï¼‰ã€å…¬å¼ç»“å°¾ã€
å°çŽ©æ„æˆ–è€…ç”¨|\mark| æˆ– |\vadjust| æˆ– |\insert| ç”Ÿæˆçš„ç«–ç›´ç´&nbsp;æ
\li ç²˜è¿žä¸æ˜¯æ•°å­¦å…¬å¼çš„ä¸€éƒ¨åˆ†
\endolist
\noindent
åœ¨ç²˜è¿žå¤„æ–­è¡Œæ—¶ï¼Œ\TeX\ è®©æ–­è¡Œç‚¹ä½äºŽç²˜è¿žçš„å·¦è¾¹ç¼˜ï¼Œå¹¶å¿½ç•¥ç²˜è¿žçš„å…¶ä»–éƒ¨åˆ†ã€‚
\li åœ¨ç´§æŽ’å¤„ï¼Œåªè¦å…¶åŽç›´æŽ¥è·Ÿç€ç²˜è¿žï¼Œä¸”è¯¥ç´§æŽ’ä¸åœ¨æ•°å­¦å…¬å¼ä¸­
\li åœ¨æ•°å­¦å…¬å¼ç»“å°¾å¤„ï¼Œåªè¦å…¶åŽç›´æŽ¥è·Ÿç€ç²˜è¿ž
\li åœ¨æƒ©ç½šé¡¹å¤„ï¼Œå³ä½¿è¯¥æƒ©ç½šé¡¹åœ¨æ•°å­¦å…¬å¼ä¸­
\li åœ¨è‡ªå®šå¯æ–­ç‚¹å¤„
\endulist
åœ¨æ–­è¡Œæ—¶ï¼Œ\TeX\ ä¸¢å¼ƒæ–­ç‚¹ä¹‹åŽçš„ä»»æ„å¤šä¸ªç²˜è¿žã€ç´§æŽ’å’Œæƒ©ç½šé¡¹ã€‚
å¦‚æžœè¿™äº›é¡¹ç›®ä¹‹åŽè¿˜æ˜¯ä¸€ä¸ªæ•°å­¦å…¬å¼èµ·ç‚¹ï¼Œå®ƒåŒæ&nbsp;·ä¸¢å¼ƒå…¬å¼èµ·ç‚¹ç”Ÿæˆçš„ä»»ä½•ç´§æŽ’ã€‚
\endconcept


%\conceptindex{lists}
%\concept list
\concept åˆ—è¡¨

%A \defterm{list} is a sequence of \refterm{items:item}
%(\refterm{boxes:box}, \refterm{glue}, \refterm{kerns:kern}, etc.)
%that comprise the contents of an hbox, a vbox,
%or a math formula.
%See \conceptcit{horizontal list}, \conceptcit{vertical list}.
\defterm{åˆ—è¡¨}ï¼ˆlistï¼‰æ˜¯ä¸€åˆ—ç”¨äºŽç»„æˆæ°´å¹³åˆ—è¡¨ã€ç«–ç›´åˆ—è¡¨æˆ–æ•°å­¦å…¬å¼çš„\refterm{é¡¹ç›®}%
ï¼ˆ\refterm{ç›’å­}ã€\refterm{ç²˜è¿ž}ã€\refterm{ç´§æŽ’}ç­‰ï¼‰ã€‚
è¯·å‚é˜…\conceptcit{æ°´å¹³åˆ—è¡¨}ï¼Œ\conceptcit{ç«–ç›´åˆ—è¡¨}ã€‚

\endconcept


%\concept {log file}
\concept {æ—¥å¿—æ–‡ä»¶}

%See \conceptcit{file}.
%\endconcept
è§\conceptcit{æ–‡ä»¶}ã€‚
\endconcept


\bookmark{2}{ä»¥Må¼€å¤´}
%\conceptindex{macros}
%\concept macro
\conceptindex{å®}
\concept å®

%{% Use a brace here so that definitions of explanatory macros remain local.
%% The closing brace is at the end of the concept.
%A \defterm{macro} is a definition that gives a name to a pattern of
%\TeX\ input text.\footnote{More precisely, the definition gives a name
%to a sequence of tokens.} The name can be either a \refterm{control
%sequence} or an \refterm{active character}.  The pattern is called the
%``replacement text''.  The primary command for defining macros is the
%|\def| control sequence.
{% Use a brace here so that definitions of explanatory macros remain local.
% The closing brace is at the end of the concept.
\defterm{å®}ï¼ˆmacroï¼‰æ˜¯ä¸€ä¸ªå®šä¹‰ï¼Œå®ƒç»™å‡ºäº† \TeX\ è¾“å…¥æ–‡æœ¬çš„ä¸€ç§æ¨¡å¼çš„åç§°ã€‚%
\footnote{æ›´å‡†ç¡®åœ°è¯´ï¼Œè¯¥å®šä¹‰ç»™å‡ºäº†ä¸€ä¸ªè®°å·åºåˆ—çš„åç§°ã€‚}
è¿™ä¸ªåç§°å¯ä»¥æ˜¯ä¸€ä¸ª\refterm{æŽ§åˆ¶åºåˆ—}æˆ–ä¸€ä¸ª\refterm{æ´»åŠ¨å­—ç¬¦}ã€‚
å…¶ä¸­çš„æ¨¡å¼ç§°ä¸ºâ€œæ›¿æ¢æ–‡æœ¬â€ã€‚
ç”¨äºŽå®šä¹‰å®çš„åŽŸå§‹å‘½ä»¤æ˜¯ |\def| æŽ§åˆ¶åºåˆ—ã€‚

%\def\arctheta{\cos \theta + i \sin \theta}
%As a simple example, suppose that you have a document in which
%the sequence `$\cos \theta + i \sin \theta$' occurs many times.
%Instead of writing it out each time, you can define a macro for it:
%\csdisplay
%\def\arctheta{\cos \theta + i \sin \theta}
%|
%Now whenever you need this sequence, you can just ``call'' the macro
%by writing `|\arctheta|'
%and you'll get it.  For example, `|$e^{\arctheta}$|' will give you
%`$e^{\arctheta}$'.
\def\arctheta{\cos \theta + i \sin \theta}
ä¸¾ä¸ªç®€å•ä¾‹å­ï¼Œå‡è®¾ä½&nbsp;æœ‰ä¸€ä¸ªæ–‡æ¡£ï¼Œ
å…¶ä¸­å¤šæ¬¡å‡ºçŽ°â€˜$\cos \theta + i \sin \theta$â€™è¿™ä¸²å­—ç¬¦ã€‚
ä¸ºé¿å…æ¯æ¬¡éƒ½å†™ä¸€éï¼Œä½&nbsp;å¯ä»¥ç»™å®ƒå®šä¹‰ä¸€ä¸ªå®ï¼š
\csdisplay
\def\arctheta{\cos \theta + i \sin \theta}
|
è¿™æ&nbsp;·æ¯æ¬¡éœ€è¦è¿™ä¸²å­—ç¬¦æ—¶ï¼Œ
ç”¨â€˜|\arctheta|â€™å‘½ä»¤â€œè°ƒç”¨â€è¿™ä¸ªå®å°±å¯ä»¥å¾—åˆ°å®ƒã€‚
æ¯”å¦‚ï¼Œâ€˜|$e^{\arctheta}$|â€™å°†ç»™å‡ºâ€˜$e^{\arctheta}$â€™ã€‚

%\bix^^{macros//parameters of}
%But the real power of macros lies in the fact that a macro can have
%parameters.  When you call a macro that has parameters, you provide
%arguments that are substituted for those parameters.  For example, suppose
%you write:
%\pix\indexchar #
%\def\arc#1{\cos #1 + i \sin #1}
%\csdisplay
%\def\arc#1{\cos #1 + i \sin #1}
%|
\bix^^{å®//å®çš„å‚æ•°}
ä½†å®çš„çœŸæ­£å¨åŠ›åœ¨äºŽå®ƒå¯ä»¥å¸¦æœ‰å‚æ•°ã€‚
åœ¨è°ƒç”¨ä¸€ä¸ªå¸¦æœ‰å‚æ•°çš„å®æ—¶ï¼Œä½&nbsp;ç»™å‡ºç”¨äºŽæ›¿æ¢è¿™äº›å‚æ•°çš„å‚é‡ã€‚
ä¾‹å¦‚ï¼Œå‡è®¾ä½&nbsp;è¿™æ&nbsp;·å†™ï¼š
\pix\indexchar #
\def\arc#1{\cos #1 + i \sin #1}
\csdisplay
\def\arc#1{\cos #1 + i \sin #1}
|

%The notation |#1| \xrdef{@msharp} indicates the first parameter
%of the macro, which in this case has only one parameter.  You now can
%produce a similar form, such as `$\arc{2t}$', with the macro call `|\arc
%{2t}|'.
è®°å· |#1| \xrdef{@msharp} è¡¨ç¤ºå®çš„ç¬¬ä¸€ä¸ªå‚æ•°ï¼Œ
åœ¨è¿™ä¸ªä¾‹å­ä¸­å®åªæœ‰ä¸€ä¸ªå‚æ•°ã€‚
çŽ°åœ¨ä½&nbsp;å¯ä»¥ç”¨â€˜|\arc {2t}|â€™å¾—åˆ°â€˜$\arc{2t}$â€™ã€‚

%More generally, a macro can have up to nine parameters, which you
%indicate as `|#1|', `|#2|', etc\null. in the macro definition.  \TeX\
%provides two kinds of parameters: delimited parameters and undelimited
%parameters.  Briefly, a delimited parameter has an \refterm{argument}
%that's delimited, or ended, by a
%specified sequence of tokens (the delimiter), while an undelimited
%parameter has an argument that doesn't need a delimiter to end it.
%First we'll explain how macros work when they have only undelimited
%parameters, and then we'll explain how they work when
%they have delimited parameters.
æ›´ä¸€èˆ¬åœ°ï¼Œä¸€ä¸ªå®æœ€å¤šå¯ä»¥æœ‰ä¹ä¸ªå‚æ•°ï¼Œ
åœ¨å®å®šä¹‰ä¸­å®ƒä»¬åˆ†åˆ«ç”¨`|#1|'ï¼Œ`|#2|' ç­‰è¡¨ç¤ºã€‚
\TeX\ æä¾›ä¸¤ç§ç±»åž‹çš„å®å‚æ•°ï¼šå®šç•Œå‚æ•°å’Œéžå®šç•Œå‚æ•°ã€‚
ç®€å•æ¥è¯´ï¼Œ
å®šç•Œå‚æ•°å¯¹åº”ä¸€ä¸ªç”±ç‰¹å®šè®°å·åºåˆ—ï¼ˆå³å®šç•Œå­ï¼‰å®šç•Œï¼ˆå³ç»“æŸï¼‰çš„\refterm{å‚é‡}ï¼Œ
è€Œéžå®šç•Œå‚æ•°å¯¹åº”ä¸€ä¸ªæ—&nbsp;éœ€å®šç•Œå­ç»“æŸçš„å‚é‡ã€‚
æˆ‘ä»¬å…ˆè§£é‡Šåªæœ‰éžå®šç•Œå‚æ•°æ—¶å®å¦‚ä½•è¿ä½œï¼Œ
ç„¶åŽè§£é‡ŠåŒ…å«å®šç•Œå‚æ•°æ—¶å®å¦‚ä½•è¿ä½œã€‚

%^^{parameters//undelimited}
%If a macro has only undelimited parameters, those parameters must appear
%one after another in the macro definition \emph{with nothing between
%them or between the last parameter and the left brace in front of the
%replacement text}.
%A call on such a macro consists of the macro name followed by
%the arguments of the call, one for each parameter.  Each argument is
%either:
^^{å‚æ•°//éžå®šç•Œå‚æ•°}
å½“å®åªæœ‰éžå®šç•Œå‚æ•°æ—¶ï¼Œè¿™äº›å‚æ•°å¿…é¡»ä¾æ¬¡å‡ºçŽ°åœ¨å®å®šä¹‰ä¸­ï¼Œ
\emph{åœ¨å„ä¸ªå‚æ•°ä¹‹é—´ï¼Œä»¥åŠæœ€åŽä¸€ä¸ªå‚æ•°å’Œæ›¿æ¢æ–‡æœ¬å‰çš„å·¦èŠ±æ‹¬å·ä¹‹é—´ï¼Œä¸èƒ½æœ‰ä»»ä½•ä¸œè¥¿}ã€‚
å¯¹è¿™ç§å®çš„è°ƒç”¨ç”±è¯¥å®çš„åç§°ï¼Œä»¥åŠåŽé¢è·Ÿéšçš„å„ä¸ªå‚é‡ç»„æˆã€‚
æ¯ä¸ªå‚é‡å¯¹åº”ä¸€ä¸ªå‚æ•°ï¼Œå‚é‡å¯ä»¥æ˜¯

%\ulist \compact
%\li a single \refterm{token} other than a left or right brace, or
\ulist \compact
\li ä¸ä¸ºå·¦æˆ–å³èŠ±æ‹¬å·çš„å•ä¸ª\refterm{è®°å·}ï¼Œæˆ–è€…

%\li a sequence of tokens enclosed between a left brace and
%a matching right brace.\footnote{The
%argument can have nested pairs of braces within it, and each of these
%pairs can indicate either a \refterm{group} or a further macro
%argument.}
%\endulist
\li ä¸€ä¸ªåŒ…å«åœ¨é…å¯¹çš„å·¦å³èŠ±æ‹¬å·ä¹‹é—´çš„è®°å·åºåˆ—ã€‚%
\footnote{å‚é‡å†…éƒ¨ä¹Ÿå¯ä»¥æœ‰åµŒå¥—çš„é…å¯¹èŠ±æ‹¬å·ï¼Œ
å…¶ä¸­æ¯å¯¹èŠ±æ‹¬å·è¡¨ç¤ºä¸€ä¸ª\refterm{ç¼–ç»„}ï¼Œæˆ–è€…è¡¨ç¤ºä¸€ä¸ªå¦å¤–çš„å®å‚é‡ã€‚}
\endulist

%When \TeX\ encounters a macro, it expands the macro in its gullet
%\seeconcept{\anatomy}
%by substituting each argument for the corresponding
%parameter in the replacement text.  The resulting text may contain other macro
%calls.  When \TeX\ encounters such an embedded macro call, it expands
%that call immediately without looking at what follows the
%call.\footnote{In computer science terminology, the expansion is ``depth
%first'' rather than ``breadth first''.  Note that you can modify the
%order of expansion with commands such as |\expandafter|.} When \TeX's
%gullet gets to a \refterm{primitive} \refterm{command} that
%cannot be further expanded, \TeX\ passes that command to \TeX's stomach.
%The order of expansion is sometimes critical, so in order to help
%you understand it we'll give you an example of \TeX\ at work.
\TeX\ åœ¨é£Ÿé“ä¸­å±•å¼€å®ƒæ‰€é‡åˆ°çš„å®\seeconcept{\anatomy}ï¼Œ
æ–¹æ³•æ˜¯å°†æ›¿æ¢æ–‡æœ¬ä¸­çš„æ¯ä¸ªå‚æ•°æ›¿æ¢ä¸ºå®ƒæ‰€å¯¹åº”çš„å‚é‡ã€‚
å®å±•å¼€åŽæ‰€å¾—åˆ°çš„æ–‡æœ¬ä¸­å¯èƒ½è¿˜åŒ…å«å…¶ä»–å®ã€‚
å½“ \TeX\ é‡åˆ°è¿™ç§åµŒå¥—çš„å®è°ƒç”¨æ—¶ï¼Œ
å®ƒå°†ç«‹å³å±•å¼€æ­¤å®è°ƒç”¨ï¼Œå®ŒæˆåŽå†æŸ¥çœ‹åŽç»­å†…å®¹ã€‚%
\footnote{ç”¨è®¡ç®—æœºç§‘å­¦ä¸­çš„æœ¯è¯­ï¼Œ
å®å±•å¼€æ˜¯â€œæ·±åº¦ä¼˜å…ˆçš„â€ï¼Œè€Œä¸æ˜¯â€œå¹¿åº¦ä¼˜å…ˆçš„â€ã€‚
æ³¨æ„ç”¨ç±»ä¼¼ |\expandafter| çš„å‘½ä»¤ä½&nbsp;å¯ä»¥ä¿®æ”¹å®å±•å¼€çš„é¡ºåºã€‚}
å½“ \TeX\ çš„é£Ÿé“å¾—åˆ°æ—&nbsp;æ³•å†å±•å¼€çš„\refterm{åŽŸå§‹å‘½ä»¤}æ—¶ï¼Œ
\TeX\ å°±å°†è¯¥å‘½ä»¤é€å…¥ \TeX\ çš„èƒƒã€‚
å®å±•å¼€çš„å…ˆåŽé¡ºåºæœ‰æ—¶å€™æ˜¯è‡³å…³é‡è¦çš„ï¼Œ
ä¸ºå¸®åŠ©ä½&nbsp;ç†è§£è¿™ä¸ªé—®é¢˜ï¼Œä¸‹é¢æˆ‘ä»¬å°†ç»™å‡ºä¸€ä¸ªä¾‹å­ã€‚

%Suppose you provide \TeX\ with the following input:
%\csdisplay
%\def\a#1#2{\b#2#1\kern 2pt #1}
%\def\b{bb}
%\def\c{\char49 cc}
%\def\d{dd}
%\a\c{e\d} % Call on \a.
%|
%Then the argument corresponding to |#1| is |\c|,
%and the argument corresponding to |#2| is |e\d|.
%\TeX\ expands the macro call in the following steps:
å‡è®¾ä½&nbsp;ç»™ \TeX\ æä¾›å¦‚ä¸‹è¾“å…¥ï¼š
\csdisplay
\def\a#1#2{\b#2#1\kern 2pt #1}
\def\b{bb}
\def\c{\char49 cc}
\def\d{dd}
\a\c{e\d} % Call on \a.
|
åˆ™ä¸Ž |#1| å¯¹åº”çš„å‚é‡ä¸º |\c|ï¼Œä¸Ž |#2| å¯¹åº”çš„å‚é‡ä¸º |e\d|ã€‚
\TeX\ æŒ‰ç…§å¦‚ä¸‹æ­¥éª¤å±•å¼€å®è°ƒç”¨ï¼š

%{\vskip\abovedisplayskip\obeylines % ugly
%|\b e\d\c\kern 2pt \c|
%|bbe\d\c\kern 2pt \c|
%|\d\c\kern 2pt \c|\quad(`|b|', `|b|', `|e|' sent to stomach)
%|dd\c\kern 2pt \c|
%|\c\kern 2pt \c|\quad(`|d|', `|d|' sent to stomach)
%|\char49 cc\kern 2pt \c|
%|\c|\quad(`|\char|', `|4|', `|9|', `|c|', `|c|', %
%`|\kern|', `|2|', `|p|', `|t|' sent to stomach)
%|\char49 cc|
%(`|\char49|', `|c|', `|c|' sent to stomach)
%\vskip\belowdisplayskip}
{\vskip\abovedisplayskip\obeylines % ugly
|\b e\d\c\kern 2pt \c|
|bbe\d\c\kern 2pt \c|
|\d\c\kern 2pt \c|\quad ï¼ˆ`|b|'ï¼Œ`|b|'ï¼Œ`|e|' é€åˆ°èƒƒé‡Œï¼‰
|dd\c\kern 2pt \c|
|\c\kern 2pt \c|\quad ï¼ˆ`|d|'ï¼Œ`|d|' é€åˆ°èƒƒé‡Œï¼‰
|\char49 cc\kern 2pt \c|
|\c|\quad ï¼ˆ`|\char|'ï¼Œ`|4|'ï¼Œ`|9|'ï¼Œ`|c|'ï¼Œ`|c|'ï¼Œ%
`|\kern|'ï¼Œ`|2|'ï¼Œ`|p|'ï¼Œ`|t|' é€åˆ°èƒƒé‡Œï¼‰
|\char49 cc|
ï¼ˆ`|\char49|'ï¼Œ`|c|'ï¼Œ`|c|' é€åˆ°èƒƒé‡Œï¼‰
\vskip\belowdisplayskip}

%\noindent Note that the letters `|b|', `|c|', `|d|', and `|e|' and the
%control sequences `|\kern|' and `|\char|' are all primitive
%commands that cannot be expanded further.
\noindent æ³¨æ„å­—æ¯ `|b|'ï¼Œ`|c|'ï¼Œ`|d|' å’Œ `|e|'ï¼Œ
ä»¥åŠæŽ§åˆ¶åºåˆ— `|\kern|' å’Œ `|\char|' éƒ½æ˜¯æ—&nbsp;æ³•å†å±•å¼€çš„åŽŸå§‹å‘½ä»¤ã€‚

%\bix^^{parameters//delimited}
%A macro can also have ``delimited parameters'', which can be mixed with
%the undelimited ones in any combination.  The idea of a delimited
%parameter is that \TeX\ finds the corresponding argument by looking for
%a certain sequence of tokens that marks the end of the argument---the
%delimiter.  That is, when \TeX\ is looking for such an argument, it
%takes the argument to be all the tokens from \TeX's current position up
%to but not including the delimiter.
\bix^^{å‚æ•°//å®šç•Œå‚æ•°}
å®ä¹Ÿå¯ä»¥åŒ…å«â€œå®šç•Œå‚æ•°â€ï¼Œå®ƒä»¬å¯ä»¥å’Œéžå®šç•Œå‚æ•°æ··åˆä½¿ç”¨ã€‚
å®šç•Œå‚æ•°çš„æƒ³æ³•æ˜¯ï¼Œ
\TeX\ é€šè¿‡å¯»æ‰¾æ&nbsp;‡è®°å‚é‡ç»“æŸçš„ç‰¹å®šè®°å·åºåˆ—ï¼ˆå³å®šç•Œå­ï¼‰ç¡®å®šå¯¹åº”çš„å‚é‡ã€‚
ä¹Ÿå°±æ˜¯è¯´ï¼Œåœ¨æŸ¥æ‰¾è¿™ç§å‚é‡æ—¶ï¼Œ
\TeX\ é€‰å–ä»Žå½“å‰ä½ç½®åˆ°å®šç•Œå­ä¹‹é—´çš„æ‰€æœ‰è®°å·ï¼Œä¸åŒ…å«è¯¥å®šç•Œå­ã€‚

%You indicate a delimited parameter by writing `|#|$n$' ($n$
%must be between $0$
%and $9$) followed by one or more tokens that act as the delimiter.  The
%delimiter extends up to the next `|#|' or `|{|'---which makes sense
%since `|#|' starts another parameter and `|{|' starts the replacement text.
è¦æŒ‡å®šä¸€ä¸ªå®šç•Œå‚æ•°ï¼Œä½&nbsp;å¯ä»¥åœ¨ `|#|$n$'ï¼ˆ$n$ å¿…é¡»åœ¨ $1$ å’Œ $9$ ä¹‹é—´ï¼‰%
åŽé¢åŠ&nbsp;ä¸Šä¸€ä¸ªæˆ–å¤šä¸ªå……å½“å®šç•Œå­çš„è®°å·ã€‚
å®šç•Œå­ä¸€ç›´å»¶ç»­åˆ°ä¸‹ä¸€ä¸ª `|#|' æˆ– `|{|' ä¸ºæ­¢â€”â€”è¿™æ˜¯æœ‰é“ç†çš„ï¼Œ
å›&nbsp;ä¸º `|#|' å¼€å§‹å¦ä¸€ä¸ªå‚æ•°ï¼Œè€Œ `|{|' å¼€å§‹æ›¿æ¢æ–‡æœ¬ã€‚

%The delimiter can't be `|#|' or `|{|', so you can tell a delimited
%parameter from an undelimited one by looking at what comes after it.
å®šç•Œå­ä¸èƒ½æ˜¯ `|#|' æˆ–è€… `|{|'ï¼Œ
å›&nbsp;è€Œä½&nbsp;å¯ä»¥ä»ŽåŽé¢çš„å­—ç¬¦è¾¨åˆ«å‡ºå®šç•Œå‚æ•°å’Œéžå®šç•Œå‚æ•°ã€‚

%If the character after the parameter is `|#|' or `|{|', you've got an
%undelimited parameter; otherwise you've got a delimited one.  Note
%the difference in arguments for the two kinds of parameters---an
%undelimited parameter is matched either by a single token or by
%a sequence of tokens enclosed in braces, while a
%delimited parameter is matched by any number of tokens, even zero.
å¦‚æžœå‚æ•°ä¹‹åŽçš„å­—ç¬¦ä¸º `|#|' æˆ– `|{|'ï¼Œ
ä½&nbsp;å¾—åˆ°ä¸€ä¸ªéžå®šç•Œå‚æ•°ï¼Œå¦åˆ™ä½&nbsp;å¾—åˆ°ä¸€ä¸ªå®šç•Œå‚æ•°ã€‚
æ³¨æ„è¿™ä¸¤ç§å‚æ•°çš„å‚é‡å½¢å¼ä¸åŒâ€”â€”
éžå®šç•Œå‚æ•°åŒ¹é…å•ä¸ªè®°å·æˆ–è€…å›´åœ¨èŠ±æ‹¬å·ä¸­çš„è®°å·åºåˆ—ï¼Œ
è€Œå®šç•Œå‚æ•°åŒ¹é…ä»»æ„å¤šä¸ªè®°å·ï¼Œå³ä¾¿æ˜¯é›¶ä¸ªä¹Ÿå¯ä»¥ã€‚

%An example of a macro that uses two delimited parameters is:
%\def\diet#1 #2.{On #1 we eat #2!}
%\csdisplay
%\def\diet#1 #2.{On #1 we eat #2!!}
%|
%Here the first parameter is delimited by a single space
%and the second parameter is delimited by a period.  If you write:
%\csdisplay
%\diet Tuesday turnips.
%|
%you'll get the text ``\diet Tuesday turnips.''.
%But if the delimiting tokens are enclosed in a group, \TeX\ doesn't consider
%them as delimiting.  So if you write:
%\csdisplay
%\diet {Sunday mornings} pancakes.
%|
%you'll get the text `\diet {Sunday mornings} pancakes.'
%even though there's a space between `|Sunday|' and `|morning|'.
%When you use a space as a delimiter,
%an end-of-line character ordinarily also delimits the argument
%since \TeX\ converts the end-of-line to a space before the macro
%mechanism ever sees it.
%\eix^^{parameters//delimited}
%\eix^^{macros//parameters of}
ä¸‹é¢çš„ä¾‹å­ç”¨åˆ°äº†ä¸¤ä¸ªå®šç•Œå‚æ•°ï¼š
\def\diet#1 #2.{On #1 we eat #2!}
\csdisplay
\def\diet#1 #2.{On #1 we eat #2!!}
|
å…¶ä¸­ç¬¬ä¸€ä¸ªå‚æ•°ç”¨å•ä¸ªç©ºæ&nbsp;¼å®šç•Œï¼Œè€Œç¬¬äºŒä¸ªå‚æ•°ç”¨è‹±æ–‡å¥å·å®šç•Œã€‚
å¦‚æžœä½&nbsp;è¿™æ&nbsp;·å†™ï¼š
\csdisplay
\diet Tuesday turnips.
|
ä½&nbsp;å°†å¾—åˆ°æ–‡æœ¬â€œ\diet Tuesday turnips.â€ã€‚
ä½†è‹¥å°†å®šç•Œè®°å·æ”¾åœ¨ç¼–ç»„ä¸­ï¼Œ\TeX\ å°±ä¸ä¼šå°†å®ƒä»¬è®¤ä½œå®šç•Œè®°å·ã€‚
å›&nbsp;æ­¤å¦‚æžœä½&nbsp;è¿™æ&nbsp;·å†™ï¼š
\csdisplay
\diet {Sunday mornings} pancakes.
|
å³ä½¿åœ¨ â€˜|Sunday|â€™ å’Œ â€˜|morning|â€™ ä¹‹é—´æœ‰ä¸€ä¸ªç©ºæ&nbsp;¼ï¼Œ
ä½&nbsp;ä¹Ÿå°†å¾—åˆ°æ–‡æœ¬â€˜\diet {Sunday mornings} pancakes.â€™ã€‚
å½“ä½&nbsp;å°†ç©ºæ&nbsp;¼ç¬¦ä½œä¸ºå®šç•Œå­æ—¶ï¼Œè¡Œå°¾ç¬¦ä¸€èˆ¬åŒæ&nbsp;·å®šç•Œäº†å¯¹åº”çš„å‚é‡ï¼›
è¿™æ˜¯å›&nbsp;ä¸º \TeX\ åœ¨å®æœºåˆ¶è¿ä½œä¹‹å‰å°±å°†è¡Œå°¾ç¬¦éƒ½è½¬æ¢ä¸ºç©ºæ&nbsp;¼äº†ã€‚
\eix^^{å‚æ•°//å®šç•Œå‚æ•°}
\eix^^{å®//å®çš„å‚æ•°}

%Once in a while you might need to define a macro that has `|#|' as a
%meaningful character within it.
%You're most likely to need to do this when you're defining a macro
%that in turn defines a second macro.
%What then do you do about
%the parameters of the second macro to avoid getting \TeX\ confused?
%The answer is that you write
%two `|#|'s for every one that you want
%when the first macro is expanded.  For example, suppose you
%write the macro definition:
%\def\first#1{\def\second##1{#1/##1}}
%\csdisplay
%\def\first#1{\def\second##1{#1/##1}}
%|
%Then the call `|\first{One}|' defines `|\second|' as:
%\csdisplay
%\def\second#1{One/#1}
%|
%and the subsequent call `|\second{Two}|' produces the text
%\def\second#1{One/#1}%
%`\second {Two}'.
å¶å°”åœ¨ä½&nbsp;æ‰€å®šä¹‰çš„å®é‡Œé¢éœ€è¦å°†`|#|'ç”¨åšä¸€ä¸ªæœ‰æ„ä¹‰çš„å­—ç¬¦ã€‚
å½“ä½&nbsp;åœ¨å®å®šä¹‰ä¸­å®žé™…ä¸Šåˆå®šä¹‰äº†ç¬¬äºŒä¸ªå®æ—¶ï¼Œä½&nbsp;å¤šåŠéœ€è¦è¿™æ&nbsp;·åšã€‚
æ€Žæ&nbsp;·å¤„ç†ç¬¬äºŒä¸ªå®çš„å‚æ•°ï¼Œä»¥è®© \TeX\ ä¸ä¼šæ··æ·†å®ƒä»¬ä¿©å‘¢ï¼Ÿ
ç­”æ¡ˆæ˜¯ï¼Œåœ¨ç¬¬ä¸€ä¸ªå®å±•å¼€åŽéœ€è¦ä¸€ä¸ªâ€˜|#|â€™çš„åœ°æ–¹å†™ä¸Šä¸¤ä¸ªâ€˜|#|â€™ã€‚
å‡å¦‚ä½&nbsp;å†™å‡ºä¸‹é¢çš„å®å®šä¹‰ï¼š
\def\first#1{\def\second##1{#1/##1}}
\csdisplay
\def\first#1{\def\second##1{#1/##1}}
|
åˆ™å¯¹â€˜|\first{One}|â€™çš„è°ƒç”¨å°†æŠŠâ€˜|\second|â€™å®šä¹‰ä¸ºï¼š
\csdisplay
\def\second#1{One/#1}
|
è€ŒéšåŽçš„è°ƒç”¨â€˜|\second{Two}|â€™å°†å¾—åˆ°æ–‡æœ¬
\def\second#1{One/#1}%
`\second {Two}'ã€‚

%A number of commands provide additional ways of defining macros
%(see pp.~\xrefn{mac1}--\xrefn{mac2}).
%For the complete rules pertaining to macros, see \knuth{Chapter~20}.
%}% close brace at the start of the `macro' concept.
%\endconcept
è¿˜æœ‰ä¸€äº›å‘½ä»¤æä¾›äº†å®çš„å…¶ä»–å®šä¹‰æ–¹å¼ï¼ˆè§ç¬¬~\xrefn{mac1}--\xrefn{mac2}~é¡µï¼‰ã€‚
åœ¨\knuth{ç¬¬~20~ç«&nbsp;}ä¸­æœ‰å…³äºŽå®çš„å®Œæ•´è§„åˆ™ã€‚
}% close brace at the start of the `macro' concept.
\endconcept


%\concept magnification
\concept æ”¾å¤§çŽ‡

%When \TeX\ typesets your document, it multiplies all dimensions
%by a
%\refterm{magnification} factor $f/1000$,
%where $f$ is the value of the ^|\mag| parameter \ctsref\mag.
%Since the default value of |\mag| is $1000$, the normal case is that
%your document is typeset just as specified.
%Increasing the magnification is often useful when you're typesetting a document
%that will later be photoreduced.
\TeX\ æŽ’ç‰ˆæ–‡æ¡£æ—¶å°†æŠŠæ‰€æœ‰å°ºå¯¸ä¹˜ä»¥ä¸€ä¸ªæ”¾å¤§ï¼ˆmagnificationï¼‰å›&nbsp;å­ $f/1000$ï¼Œ
å…¶ä¸­ $f$ æ˜¯ ^|\mag| å‚æ•°\ctsref\mag çš„å€¼ã€‚
ç”±äºŽ |\mag| çš„é»˜è®¤å€¼ä¸º $1000$ï¼Œåœ¨ä¸€èˆ¬æƒ…å½¢ä¸‹æ–‡æ¡£æ˜¯ç…§å¸¸æŽ’ç‰ˆçš„ã€‚
è‹¥ä»¥åŽéœ€è¦ç¼©å°æ–‡æ¡£ï¼Œå¢žåŠ&nbsp;æ–‡æ¡£çš„æ”¾å¤§çŽ‡é€šå¸¸å°±æ¯”è¾ƒæœ‰ç”¨ã€‚

%You can also apply magnification to a single \refterm{font} so as to get
%a smaller or larger version of that font than its ``^{design size}''.  You
%need to provide the device driver with a ^{shape file}
%\seeconcept{font} for
%each magnification of a font that you're using---%
%unless the fonts are built into your printer and your device driver
%knows about them.
%When you're defining a font with
%the |\font| command \ctsref{\font}, you can specify a magnification with
%the word `|scaled|'.  For example:
ä½&nbsp;ä¹Ÿå¯ä»¥ç¼©æ”¾ä¸€ä¸ª\refterm{å­—ä½“}ï¼Œ
ä»¥å¾—åˆ°æ¯”å®ƒçš„â€œ^{è®¾è®¡å¤§å°}â€æ›´å°æˆ–æ›´å¤§çš„å­—ä½“ã€‚
å¯¹æ¯ä¸ªä½¿ç”¨çš„ç¼©æ”¾å­—ä½“ï¼Œä½&nbsp;éœ€è¦æä¾›å®ƒçš„^{å­—å½¢æ–‡ä»¶}ç»™è®¾å¤‡é©±åŠ¨ç¨‹åº%
\seeconcept{å­—ä½“}â€”â€”
é™¤éžè¯¥å­—ä½“å·²ç»å†…åµŒåœ¨æ‰“å°æœºä¸­ï¼Œè€Œè®¾å¤‡é©±åŠ¨ç¨‹åºä¹ŸçŸ¥é“å®ƒã€‚
åœ¨ç”¨ |\font| å‘½ä»¤\ctsref{\font}å®šä¹‰ä¸€ä¸ªå­—ä½“æ—¶ï¼Œ
ä½&nbsp;å¯ä»¥ç”¨å•è¯â€˜|scaled|â€™æŒ‡å®šæ”¾å¤§çŽ‡ã€‚æ¯”å¦‚ï¼š

%\csdisplay
%\font\largerbold = cmbx10 scaled 2000
%|
%defines `|\largerbold|' as a font that is
%twice as big as |cmbx10| (Computer Modern
%Bold Extended $10$-point) and has the character shapes
%uniformly enlarged by a factor of~$2$.
\csdisplay
\font\largerbold = cmbx10 scaled 2000
|
å°† `|\largerbold|' å®šä¹‰ä¸ºä¸¤å€å¤§å°çš„ |cmbx10| å­—ä½“%
ï¼ˆè®¡ç®—æœºçŽ°ä»£ç²—ä½“æ‰©å±•çš„$10$ç‚¹å­—ä½“ï¼‰ï¼Œ
å®ƒçš„å„ä¸ªå­—ç¬¦å½¢çŠ¶ä¹Ÿç»Ÿä¸€åœ°æ”¾å¤§äº†ä¸¤å€ã€‚

%Many computer centers find it convenient to provide fonts scaled by a ratio
%of $1.2$, corresponding to magnification values of $1200$, $1440$, etc.
%\TeX\ has special names for these values:
%^^|\magstep|
%`|\magstep1|' for $1200$,
%`|\magstep2|' for $1440$, and so forth up to `|\magstep5|'.  The special
%value `^|\magstephalf|' corresponds to magnification by $\sqrt{1.2}$, which
%is visually halfway between `|\magstep0|' (no magnification) and
%`|\magstep1|'.  For example:
%
%\csdisplay
%\font\bigbold = cmbx10 scaled \magstephalf
%|
ä¸ºæ–¹ä¾¿èµ·è§ï¼Œå¾ˆå¤šè®¡ç®—æœºä¸­å¿ƒæä¾›äº†æŒ‰$1.2$æ¯”ä¾‹æ”¾å¤§çš„å­—ä½“ï¼Œ
è¿™äº›å­—ä½“å¯¹åº”çš„æ”¾å¤§çŽ‡ä¸º $1200$ï¼Œ$1440$ï¼Œç­‰ç­‰ã€‚
åœ¨ \TeX\ ä¸­è¿™äº›æ”¾å¤§çŽ‡æœ‰ç‰¹åˆ«çš„åç§°ï¼š
^^|\magstep|
`|\magstep1|' è¡¨ç¤º $1200$ï¼Œ
`|\magstep2|' è¡¨ç¤º $1440$ï¼Œä¾æ­¤ç±»æŽ¨ç›´åˆ° `|\magstep5|'ã€‚
ç‰¹æ®Šå€¼ `^|\magstephalf|' å¯¹åº”$\sqrt{1.2}$å€çš„æ”¾å¤§çŽ‡ï¼Œ
å®ƒçœ‹ä¸ŠåŽ»ä½äºŽ`|\magstep0|'ï¼ˆä¸æ”¾å¤§ï¼‰å’Œ
`|\magstep1|' çš„æ­£ä¸­é—´ã€‚ä¾‹å¦‚ï¼š

\csdisplay
\font\bigbold = cmbx10 scaled \magstephalf
|

%You can specify a \refterm{dimension} as it will be
%measured in the final document independent of magnification by putting
%`^|true|' in front of the unit.  For instance, `|\kern 8 true pt|'
%produces a kern of $8$ points whatever the magnification.
è‹¥æƒ³æŒ‡å®šä¸€ä¸ªæœ€ç»ˆæ–‡æ¡£ä¸­çš„\refterm{å°ºå¯¸}ï¼Œè®©å®ƒä¸å—æ”¾å¤§çŽ‡å½±å“ï¼Œ
ä½&nbsp;å¯ä»¥åœ¨å•ä½å‰é¢åŠ&nbsp;ä¸Š `^|true|'ã€‚
ä¾‹å¦‚ï¼Œ`|\kern 8 true pt|' å°†ç”Ÿæˆ $8$ ç‚¹å¤§å°çš„ç´§æŽ’ï¼Œä¸ç®¡æ”¾å¤§çŽ‡ä¸ºå¤šå°‘ã€‚

\endconcept

%\concept margins
\concept è¾¹è·

%The \refterm{margins}
%of a page define a rectangle that normally
%contains the printed matter on the page.
%You can get \TeX\ to print material outside of this rectangle,
%but only by taking some explicit action that moves the material there.
%\TeX\ considers headers and footers to lie outside the margins.
é¡µé¢çš„\refterm{è¾¹è·}ï¼ˆmarginï¼‰ç¡®å®šäº†ä¸€ä¸ªçŸ©å½¢è¾¹æ¡†ï¼Œ
è¯¥è¾¹æ¡†é€šå¸¸åŒ…å«é¡µé¢çš„å°åˆ·å†…å®¹ã€‚
ä½&nbsp;ä¹Ÿå¯ä»¥è®© \TeX\ åœ¨è¿™ä¸ªè¾¹æ¡†ä¹‹å¤–å°åˆ·å†…å®¹ï¼Œ
ä½†ä½&nbsp;å¿…é¡»ç”¨æŸç§æ˜Žç¡®æ–¹æ³•å°†å†…å®¹ç§»åŠ¨åˆ°é‚£é‡Œã€‚
\TeX\ å°†é¡µçœ‰å’Œé¡µè„šæ”¾åœ¨è¾¹æ¡†å¤–é¢ã€‚

%The rectangle is defined in terms of its upper-left corner, its width, and
%its depth.  The location of the upper-left corner is defined by
%the ^|\hoffset|
%and ^|\voffset| parameters
%\ctsref\voffset.  The default is to place that corner one inch from the top
%and one inch from the left side of the page, corresponding to a value of
%zero for both |\hoffset| and |\voffset|.%
%\footnote{This seems to us to be an odd convention.
%It would have been more natural to have the $(0,0)$
%point for |\hoffset| and |\voffset| be at the upper-left corner of the
%paper and to have set their default values to one inch.}
%The width of the rectangle is given by ^|\hsize| and the depth by ^|\vsize|.
è¿™ä¸ªçŸ©å½¢è¾¹æ¡†é€šè¿‡å®ƒçš„å·¦ä¸Šè§’ä½ç½®ï¼Œå®½åº¦ï¼Œä»¥åŠæ·±åº¦æ¥å®šä¹‰ã€‚
å·¦ä¸Šè§’ä½ç½®ç”¨ ^|\hoffset| å’Œ ^|\voffset| \ctsref\voffset å‚æ•°æ¥å®šä¹‰ã€‚
é»˜è®¤å°†è¿™ä¸ªä½ç½®æ”¾åœ¨ç¦»é¡µé¢é¡¶ç«¯å’Œå·¦ç«¯å„ä¸€è‹±å¯¸çš„åœ°æ–¹ï¼Œ
è¿™å¯¹åº”äºŽ|\hoffset| å’Œ |\voffset| éƒ½å–å€¼ä¸ºé›¶ã€‚%
\footnote{è¿™ä¸ªçº¦å®šçœ‹èµ·æ¥æ¯”è¾ƒå¥‡æ€ªã€‚
è®© |\hoffset| å’Œ |\voffset| çš„ $(0,0)$ ç‚¹å¯¹åº”é¡µé¢çš„å·¦ä¸Šè§’ï¼Œ
è€Œå°†å®ƒä»¬çš„é»˜è®¤å€¼è®¾ç½®ä¸ºä¸€è‹±å¯¸ï¼Œå°†ä¼šæ›´è‡ªç„¶ä¸€äº›ã€‚}
è¾¹æ¡†çš„å®½åº¦ç”¨ ^|\hsize| ç»™å‡ºï¼Œè€Œæ·±åº¦ç”¨ ^|\vsize| ç»™å‡ºã€‚

%The implications of these conventions are:
%\ulist\compact
%\li The left margin is given by |\hoffset|\tplus|1in|.
%\li The right margin is given by the width of the paper minus
%    |\hoffset|\tplus|1in|\tplus|\hsize|.
%\li The top margin is given by |\voffset|\tplus|1in|.
%\li The bottom margin is given by the length of the paper minus
%    |\voff!-set|\tplus|1in|\tplus|\vsize|.
%\endulist
%From this information you can see what parameters you need to
%change in order to change the margins.
è¿™äº›è§„å®šç»™å‡ºçš„ç»“æžœæ˜¯ï¼š
\ulist\compact
\li å·¦è¾¹è·ç­‰äºŽ |\hoffset|\tplus|1in|ã€‚
\li å³è¾¹è·ç­‰äºŽé¡µé¢å®½åº¦å‡åŽ» |\hoffset|\tplus|1in|\tplus|\hsize|ã€‚
\li ä¸Šè¾¹è·ç­‰äºŽ |\voffset|\tplus|1in|ã€‚
\li ä¸‹è¾¹è·ç­‰äºŽé¡µé¢é•¿åº¦å‡åŽ» |\voff!-set|\tplus|1in|\tplus|\vsize|ã€‚
\endulist
ä»Žè¿™äº›ä¿¡æ¯ä¸­ä½&nbsp;å¯ä»¥çŸ¥é“ï¼Œè¦æ”¹å˜é¡µé¢è¾¹è·åº”è¯¥ä¿®æ”¹å“ªäº›å‚æ•°ã€‚

%Any changes that you make to |\hoffset|, |\voffset|, or |\vsize| become
%effective the next time \TeX\ starts a page.  In other words, if you change
%them within a page, the change will affect only the \emph{following} pages.
%If you change |\hsize|, the change will become effective immediately.
%\endconcept
å¯¹ |\hoffset|ï¼Œ|\voffset| æˆ–è€… |\vsize| çš„ä¿®æ”¹åœ¨ \TeX\ å¼€å§‹æ–°é¡µé¢æ—¶æ‰ç”Ÿæ•ˆã€‚
ä¹Ÿå°±æ˜¯è¯´ï¼Œå¦‚æžœä½&nbsp;åœ¨é¡µé¢ä¸­é—´æ”¹å˜å®ƒä»¬ï¼Œè¿™äº›æ”¹åŠ¨å°†åªå½±å“\emph{åŽé¢çš„}é¡µé¢ã€‚
ç„¶è€Œï¼Œå¯¹ |\hsize| çš„ä¿®æ”¹å´ä¼šç«‹å³ç”Ÿæ•ˆã€‚
\endconcept


%\conceptindex{marks}
%\concept mark
\concept æ&nbsp;‡è®°

%A \defterm{mark} is an item that you can insert into a
%horizontal, vertical, or math list and later recover from within your
%output routine.  Marks are useful for purposes such as
%keeping track of topics to appear in page headers.
%Each mark has a list of tokens---the ``^{mark text}''---associated with it.
%The ^|\mark| command \ctsref{\mark} expects such a token list as its argument,
%and appends an item containing that token list (after
%expansion) to whatever list \TeX\ is
%currently building.  The ^|\topmark|, ^|\firstmark|, and ^|\botmark| commands
%\ctsref{\topmark} can be used to retrieve various marks on a page.
%These commands are most often used in page headers and footers.
%^^{footers//marks used in}
%^^{headers//marks used in}
\defterm{æ&nbsp;‡è®°}ï¼ˆmarkï¼‰æ˜¯å¯ä»¥æ’å…¥æ°´å¹³ã€ç«–ç›´æˆ–è€…æ•°å­¦åˆ—è¡¨ä¸­ï¼Œ
å¹¶åœ¨è¾“å‡ºä¾‹è¡Œç¨‹åºä¸­è¿˜åŽŸçš„é¡¹ç›®ã€‚
æ&nbsp;‡è®°å¯ç”¨äºŽè®°å½•å³å°†å‡ºçŽ°åœ¨é¡µçœ‰ä¸­çš„å†…å®¹ç­‰ã€‚
æ¯ä¸ªæ&nbsp;‡è®°å¸¦æœ‰ä¸€åˆ—è®°å·â€”â€”å³â€œ^{æ&nbsp;‡è®°æ–‡æœ¬}â€ã€‚
^|\mark| å‘½ä»¤\ctsref{\mark}ä»¥è¿™æ&nbsp;·çš„è®°å·åˆ—ä½œä¸ºå‚é‡ï¼Œ
å¹¶å°†åŒ…å«è¿™ä¸ªè®°å·åˆ—ï¼ˆåœ¨å±•å¼€ä¹‹åŽï¼‰çš„é¡¹ç›®æ·»åŠ&nbsp;åˆ° \TeX\ å½“å‰æž„é€&nbsp;çš„åˆ—è¡¨ä¸­ã€‚
^|\topmark|ï¼Œ^|\firstmark| å’Œ ^|\botmark| å‘½ä»¤ \ctsref{\topmark}
ç”¨äºŽå–å›žé¡µé¢ä¸Šçš„å„ç§æ&nbsp;‡è®°ã€‚
è¿™äº›å‘½ä»¤ç»å¸¸åœ¨é¡µçœ‰å’Œé¡µè„šä¸­ç”¨åˆ°ã€‚
^^{é¡µè„š//ç”¨äºŽé¡µè„šçš„æ&nbsp;‡è®°}
^^{é¡µçœ‰//ç”¨äºŽé¡µçœ‰çš„æ&nbsp;‡è®°}

%\margin{This example of {\tt\\mark} replaces the previous explanatory
%paragraph.}
%Here is a simplified example.
%Suppose you define a section heading macro as follows:
%\csdisplay
%\def\section#1{\medskip{\bf#1}\smallskip\mark{#1}}
%% #1 is the name of the section
%|
%^^|\mark|
%This macro, when called, will produce a section heading in boldface and
%will also record the name of the section as a mark.
%You can now define the header for each printed page
%as follows:
%\csdisplay
%\headline = {\ifodd\pageno \hfil\botmark\quad\folio
%   \else \folio\quad\firstmark\hfil \fi}
%|
%Each even (left-hand) page will now have the page number followed by the
%name of the first section on that page, while each odd (right-hand) page
%will have the page number followed by the name of the last section on
%that page.  Special cases, e.g., no sections starting on a page, will
%generally come out correctly because of how ^|\firstmark|
%and ^|\botmark| work.
\margin{This example of {\tt\\mark} replaces the previous explanatory
paragraph.}
è¿™é‡Œæœ‰ä¸ªç®€åŒ–çš„ä¾‹å­ã€‚å‡è®¾ä½&nbsp;å®šä¹‰äº†èŠ‚æ&nbsp;‡é¢˜å®å¦‚ä¸‹ï¼š
\csdisplay
\def\section#1{\medskip{\bf#1}\smallskip\mark{#1}}
% #1 is the name of the section
|
^^|\mark|
è°ƒç”¨è¿™ä¸ªå®å°†ç”Ÿæˆç²—ä½“çš„èŠ‚æ&nbsp;‡é¢˜ï¼Œå¹¶å°†æ&nbsp;‡é¢˜åè®°å½•ä¸ºä¸€ä¸ªæ&nbsp;‡è®°ã€‚
çŽ°åœ¨ä½&nbsp;å¯ä»¥å¯¹æ¯ä¸ªæ‰“å°é¡µå®šä¹‰é¡µçœ‰å¦‚ä¸‹ï¼š
\csdisplay
\headline = {\ifodd\pageno \hfil\botmark\quad\folio
   \else \folio\quad\firstmark\hfil \fi}
|
è¿™æ&nbsp;·ï¼Œæ¯ä¸ªå¶æ•°é¡µï¼ˆå·¦æ‰‹é¡µï¼‰é¡µçœ‰æ˜¯é¡µç&nbsp;åŠ&nbsp;ä¸Šè¯¥é¡µç¬¬ä¸€ä¸ªæ&nbsp;‡é¢˜åï¼Œ
è€Œæ¯ä¸ªå¥‡æ•°é¡µï¼ˆå³æ‰‹é¡µï¼‰é¡µçœ‰æ˜¯è¯¥é¡µæœ€åŽä¸€ä¸ªæ&nbsp;‡é¢˜ååŠ&nbsp;ä¸Šé¡µç&nbsp;ã€‚
ç‰¹æ®Šæƒ…å½¢ï¼Œæ¯”å¦‚è¯¥é¡µæ²¡æœ‰èŠ‚æ&nbsp;‡é¢˜ï¼Œ
é€šå¸¸ä¹Ÿä¼šæŒ‰ç…§ ^|\firstmark| å’Œ ^|\botmark| çš„è§„å®šæ­£å¸¸æ˜¾ç¤ºã€‚

%When you split a page using the |\vsplit| command \ctsref{\vsplit} you can
%retrieve the mark texts of the first and last marks of the split-off
%portion with the ^|\splitfirstmark| and ^|\splitbotmark| commands
%\ctsref{\splitfirstmark}.
åœ¨ç”¨ |\vsplit| å‘½ä»¤\ctsref{\vsplit}åˆ†å‰²é¡µé¢æ—¶ï¼Œ
ç”¨ |\splitfirstmark| å’Œ ^|\splitbotmark| å‘½ä»¤\ctsref{\splitfirstmark}%
å°±å¯ä»¥å–å¾—åˆ†å‰²çš„è¿™éƒ¨åˆ†ä¸­çš„ç¬¬ä¸€ä¸ªå’Œæœ€åŽä¸€ä¸ªæ&nbsp;‡è®°çš„æ&nbsp;‡è®°æ–‡æœ¬ã€‚

%See \knuth{pages~258--260} for a more precise explanation of how
%to create and retrieve marks.
%\endconcept
åœ¨\knuth{ç¬¬~258--260~é¡µ}ä¸­ï¼Œå¯¹å¦‚ä½•ç”Ÿæˆå’Œå–å›žæ&nbsp;‡è®°ä½œäº†æ›´å‡†ç¡®çš„è§£é‡Šã€‚
\endconcept


%\concept math mode
\concept æ•°å­¦æ¨¡å¼

%{\tighten
%A \defterm{math mode} is a \refterm{mode} that \TeX\ is in when it is
%building a math formula.  \TeX\ has two different math modes: ^{text
%math mode} for building a formula to be embedded within a line of text,
%and ^{display math mode} for building a formula to appear on a line by
%itself.  You indicate text math mode by enclosing the formula in
%|$|'s, and display math mode by enclosing the formula in
%|$$|'s.
%%\TeX\ will accept most \refterm{commands:command} in
%%math mode. If it encounters a command in math mode that doesn't make
%%sense in a formula, it will complain.
%An important property of both
%math modes is that \emph{input spaces don't count}.  See
%\knuth{pages~290--293} for details on how \TeX\ responds to different
%commands in math mode.
%\par}
\defterm{æ•°å­¦æ¨¡å¼}ï¼ˆmath modeï¼‰æ˜¯ \TeX\ æž„é€&nbsp;æ•°å­¦å…¬å¼æ—¶æ‰€åœ¨çš„\refterm{æ¨¡å¼}ã€‚
\TeX\ æœ‰ä¸¤ç§æ•°å­¦æ¨¡å¼ï¼š
^{æ–‡å†…æ•°å­¦æ¨¡å¼}ç”¨äºŽæž„é€&nbsp;æ”¾åœ¨æ–‡æœ¬è¡Œä¸­çš„å…¬å¼ï¼Œ
è€Œ^{é™ˆåˆ—æ•°å­¦æ¨¡å¼}ç”¨äºŽæž„é€&nbsp;å•ç‹¬ä¸€è¡Œæ˜¾ç¤ºçš„å…¬å¼ã€‚
æ‹¬åœ¨ |$| é‡Œé¢çš„å…¬å¼è¡¨ç¤ºä¸€ä¸ªæ–‡å†…æ•°å­¦å…¬å¼ï¼Œ
è€Œæ‹¬åœ¨ |$$| é‡Œé¢çš„å…¬å¼è¡¨ç¤ºä¸€ä¸ªé™ˆåˆ—æ•°å­¦å…¬å¼ã€‚
%\TeX\ will accept most \refterm{commands:command} in
%math mode. If it encounters a command in math mode that doesn't make
%sense in a formula, it will complain.
è¿™ä¸¤ç§æ•°å­¦æ¨¡å¼æœ‰ä¸ªé‡è¦ç‰¹æ€§ï¼Œå³\emph{å…¶ä¸­çš„è¾“å…¥ç©ºæ&nbsp;¼éƒ½è¢«å¿½ç•¥}ã€‚
\knuth{ç¬¬~290--293~é¡µ}è¯¦ç»†ä»‹ç»äº†åœ¨æ•°å­¦æ¨¡å¼ä¸­ \TeX\ å¦‚ä½•å¤„ç†å„ç§ä¸åŒå‘½ä»¤ã€‚

\endconcept


%\conceptindex{mathcodes}
%\concept mathcode
\conceptindex{æ•°å­¦ç&nbsp;}
\concept æ•°å­¦ç&nbsp;

%A \defterm{mathcode} is a number that \TeX\ uses to identify and
%describe a math character,
%^^{math characters//described by mathcodes}
%i.e., a character that has a
%particular role in a math formula.  A mathcode conveys three pieces of
%information about a character: its \refterm{font} position, its
%\refterm{family}, and its \refterm{class}.
%Each of the $256$ possible
%input characters has a mathcode, which is defined by the \TeX\ program
%but can be changed.
\defterm{æ•°å­¦ç&nbsp;}ï¼ˆmathcodeï¼‰æ˜¯ä¸€ä¸ªæ•°ï¼Œ\TeX\ æŠŠè¿™ä¸ªæ•°ç”¨æ¥è¯†åˆ«å’Œæè¿°ä¸€ä¸ªæ•°å­¦å­—ç¬¦ï¼Œ
^^{æ•°å­¦å­—ç¬¦//ç”¨æ•°å­¦ç&nbsp;æè¿°}
å³ä¸€ä¸ªåœ¨æ•°å­¦å…¬å¼ä¸­æœ‰ç‰¹åˆ«ä½œç”¨çš„å­—ç¬¦ã€‚
æ•°å­¦ç&nbsp;è¡¨è¾¾äº†ä¸€ä¸ªå­—ç¬¦ä¸‰ä¸ªæ–¹é¢çš„ä¿¡æ¯ï¼š
å®ƒçš„å­—ç¬¦ä½ç½®ï¼Œå®ƒæ‰€åœ¨çš„å­—ä½“\refterm{æ—}ï¼Œä»¥åŠå®ƒæ‰€å±žçš„ç±»ã€‚
$256$ ä¸ªå¯èƒ½çš„è¾“å…¥å­—ç¬¦ä¸­æ¯ä¸ªå­—ç¬¦éƒ½æœ‰ä¸€ä¸ªæ•°å­¦ç&nbsp;ï¼Œ
å®ƒä»¬ç”± \TeX\ ç¨‹åºå®šä¹‰ï¼Œä½†ä¹Ÿèƒ½è¢«ä¿®æ”¹ã€‚

%^^{family//as part of mathcode}
%\TeX\ has sixteen families of fonts, numbered $0$--$15$.  Each
%family contains three fonts: one for \refterm{text size}, one for
%\refterm{script size}, and one for \refterm{scriptscript size}.  \TeX\
%chooses the size of a particular character, and therefore its font,
%according to the context.  The class of a character specifies its role
%in a formula (see \knuth{page~154}).  For example, the equals sign `|=|'
%is in class $3$ (Relation).  \TeX\ uses its knowledge of character
%classes when it is deciding how much space to put between different
%components of a math formula.
^^{æ—//ä½œä¸ºæ•°å­¦ç&nbsp;çš„ä¸€éƒ¨åˆ†}
\TeX\ æœ‰åå…­ä¸ªå­—ä½“æ—ï¼Œå®ƒä»¬ç”¨$0$ åˆ° $15$ ç¼–å·ã€‚
æ¯ä¸ªå­—ä½“æ—åŒ…å«ä¸‰ä¸ªå­—ä½“ï¼šä¸€ä¸ªç”¨äºŽ\refterm{æ–‡æœ¬å°ºå¯¸}ï¼Œ
ä¸€ä¸ªç”¨äºŽ\refterm{æ&nbsp;‡å·å°ºå¯¸}ï¼Œå¦ä¸€ä¸ªç”¨äºŽ\refterm{å°æ&nbsp;‡å·å°ºå¯¸}ã€‚
\TeX\ æ&nbsp;¹æ®ä¸Šä¸‹æ–‡é€‰æ‹©ç‰¹å®šå­—ç¬¦çš„å°ºå¯¸ï¼Œä»Žè€Œé€‰æ‹©å®ƒçš„å­—ä½“ã€‚
ä¸€ä¸ªå­—ç¬¦çš„ç±»æŒ‡å®šäº†å®ƒåœ¨å…¬å¼ä¸­æ‰®æ¼”çš„è§’è‰²ï¼ˆè§\knuth{ç¬¬~154~é¡µ}ã€‚
ä¾‹å¦‚ï¼Œç­‰å·â€˜|=|â€™å±žäºŽç¬¬$3$ç±»ï¼ˆå…³ç³»ç¬¦å·ï¼‰ã€‚
\TeX\ æ&nbsp;¹æ®å­—ç¬¦æ‰€å±žçš„ç±»ç¡®å®šæ•°å­¦å…¬å¼å„éƒ¨åˆ†çš„é—´è·å¤§å°ã€‚

%The best way to understand what mathcodes are all about is to see how
%\TeX\ uses them. So we'll show you what \TeX\ does with a
%character token $t$ of \refterm{category code}~11 or~12 in a math
%formula:
è¦å…¨é¢ç†è§£æ•°å­¦ç&nbsp;ï¼Œæœ€å¥½æ˜¯çœ‹ \TeX\ å¦‚ä½•ä½¿ç”¨å®ƒä»¬ã€‚
å›&nbsp;æ­¤æˆ‘ä»¬å°†è¯´æ˜Žï¼Œå¯¹æ•°å­¦å…¬å¼ä¸­\refterm{ç±»åˆ«ç&nbsp;}ä¸º 11 æˆ– 12 çš„å­—ç¬¦è®°å·$t$ï¼Œ
\TeX\ å¦‚ä½•å¤„ç†å®ƒï¼š

%\olist\compact
%\li It looks up the character's mathcode.
%\li It determines a family $f$ from the mathcode.
%\li It determines the size $s$ from the context.
%\li It selects a font $F$ by picking the font for size $s$ in family $f$.
%\li It determines a character number $n$ from the mathcode.
%\li It selects as the character $c$ to be typeset the character
%at position $n$ of font $F$.
%\li It adjusts the spacing around $c$ according to the class of $t$ and
%the surrounding context.
%\li It typesets the character $c$.
%\endolist
\olist\compact
\li å®ƒæŸ¥æ‰¾è¿™ä¸ªå­—ç¬¦çš„æ•°å­¦ç&nbsp;ã€‚
\li å®ƒä»Žæ•°å­¦ç&nbsp;ç¡®å®šå­—ä½“æ—$f$ã€‚
\li å®ƒä»Žä¸Šä¸‹æ–‡ç¡®å®šå­—ç¬¦å°ºå¯¸$s$ã€‚
\li å®ƒé€‰æ‹©ç¬¬$f$æ—çš„å°ºå¯¸ä¸º$s$çš„å­—ä½“$F$.
\li å®ƒä»Žæ•°å­¦ç&nbsp;ç¡®å®šå­—ç¬¦ç¼–å·$n$ã€‚
\li å®ƒä»Žå­—ä½“$F$çš„ä½ç½®$n$é€‰å‡ºå­—ç¬¦$c$ä½œä¸ºè¦æŽ’ç‰ˆçš„å­—ç¬¦ã€‚
\li å®ƒæ&nbsp;¹æ®$t$æ‰€å±žçš„ç±»å’Œä¸Šä¸‹æ–‡è°ƒæ•´$c$å‘¨å›´çš„é—´è·ã€‚
\li å®ƒæŽ’ç‰ˆå­—ç¬¦$c$ã€‚
\endolist

%The context dependence in
%items (3) and (7) implies that \TeX\ cannot typeset a math character
%until it has seen the entire formula containing the
%math character.  For example, in the formula
%`|$a\over b$|', \TeX\ doesn't know what size the `|a|' should be until it
%has seen the |\over|.
åœ¨(3)å’Œ(7)ä¸­çš„ä¸Šä¸‹æ–‡ç›¸å…³æ€§æ„å‘³ç€ï¼Œ
\TeX\ åœ¨æŽ’ç‰ˆæ•°å­¦å­—ç¬¦æ—¶ï¼Œè¦å…ˆçœ‹å®Œè¯¥å­—ç¬¦æ‰€åœ¨çš„æ•´ä¸ªå…¬å¼ã€‚
æ¯”å¦‚å¯¹äºŽå…¬å¼â€˜|$a\over b$|â€™ï¼Œ\TeX\ æ—&nbsp;æ³•ç¡®å®šâ€˜|a|â€™çš„å°ºå¯¸ï¼Œç›´åˆ°å®ƒçœ‹åˆ°|\over|ã€‚

%{\tighten
%The mathcode of a character is encoded according to the formula $4096c
%+ 256f + n$, where $c$ is the class of the character, $f$ is its
%\refterm{family}, and $n$ is its \refterm{\ascii\ character} code within
%the family.  You can change \TeX's interpretation of an input character
%in math mode by assigning a value to the ^|\mathcode|
%table entry \ctsref{\mathcode}
%for that character.  The character must have a
%\refterm{category code} of $11$ (letter) or $12$ (other) for \TeX\ to
%look at its |\mathcode|.
%}\par
{\tighten
å­—ç¬¦çš„æ•°å­¦ç&nbsp;ç”±å…¬å¼$4096c + 256f + n$ æ¥è¡¨ç¤ºï¼Œ
å…¶ä¸­ $c$ æ˜¯å­—ç¬¦æ‰€å±žçš„ç±»ï¼Œ$f$ æ˜¯å®ƒæ‰€åœ¨çš„å­—ä½“\refterm{æ—}ï¼Œ
è€Œ $n$ æ˜¯å®ƒåœ¨è¯¥å­—ä½“æ—ä¸­çš„\refterm{\ascii}ç¼–ç&nbsp;ã€‚
é€šè¿‡å¯¹ä¸€ä¸ªè¾“å…¥å­—ç¬¦çš„ ^|\mathcode| è¡¨æ&nbsp;¼é¡¹èµ‹å€¼\ctsref{\mathcode}ï¼Œ
ä½&nbsp;å¯ä»¥æ”¹å˜æ•°å­¦æ¨¡å¼ä¸­ \TeX\ å¯¹è¿™ä¸ªå­—ç¬¦çš„è§£é‡Šã€‚
åªæœ‰\refterm{ç±»åˆ«ç&nbsp;}ä¸º$11$ï¼ˆå­—æ¯ï¼‰æˆ–è€…$12$ï¼ˆå…¶å®ƒï¼‰çš„å­—ç¬¦ï¼Œ
\TeX\ æ‰ä¼šæŸ¥çœ‹å®ƒçš„ |\mathcode|ã€‚
}\par

%^^{family//variable}
%You can define a mathematical character to have a ``variable'' family by
%giving it a class of $7$.  Whenever \TeX\ encounters that character in a
%math formula, it takes the family of the character to be the current
%value of the |\fam| parameter \ctsref{\fam}.  A variable family enables
%you to specify the font of ordinary text in a math formula.  For
%instance, if the roman characters are in family $0$, the assignment
%|\fam = 0|
%will cause ordinary text in a math formula to be set in roman type
%rather than in something else like math italic type. If the value of
%|\fam| is not in the range from $0$ to $15$, \TeX\ takes the value to be
%$0$, thus making classes $0$ and $7$ equivalent.
%\TeX\ sets |\fam| to $-1$ whenever it enters math mode.
%\endconcept
^^{æ—//å¯å˜æ—}
åªè¦å°†ä¸€ä¸ªæ•°å­¦å­—ç¬¦åˆ†åˆ°ç¬¬$7$ç±»ï¼Œä½&nbsp;å¯ä»¥å°†å®ƒçš„æ—å®šä¹‰ä¸ºâ€œå¯å˜çš„â€ã€‚
å½“ \TeX\ åœ¨æ•°å­¦å…¬å¼ä¸­é‡åˆ°è¿™ç§å­—ç¬¦æ—¶ï¼Œ
å®ƒå°±å°†è¯¥å­—ç¬¦çš„å­—ä½“æ—å–ä¸º |\fam| å‚æ•°\ctsref{\fam}çš„å½“å‰å€¼ã€‚
å¯å˜çš„å­—ä½“æ—ä½¿å¾—ä½&nbsp;å¯ä»¥æŒ‡å®šæ•°å­¦å…¬å¼ä¸­æ™®é€šæ–‡æœ¬çš„å­—ä½“ã€‚
ä¸¾ä¸ªä¾‹å­ï¼Œå¦‚æžœç½—é©¬å­—ç¬¦æ˜¯åœ¨ç¬¬$0$æ—ï¼Œ
èµ‹å€¼ |\fam = 0| å°†è®©æ•°å­¦å…¬å¼çš„æ™®é€šæ–‡æœ¬ä»¥ç½—é©¬å­—ä½“æ˜¾ç¤ºï¼Œ
è€Œä¸æ˜¯ç”¨å…¶ä»–ç±»ä¼¼æ•°å­¦æ„å¤§åˆ©ä½“çš„å­—ä½“æ˜¾ç¤ºã€‚
å¦‚æžœ |\fam| çš„å€¼ä¸åœ¨ $0$ åˆ° $15$ çš„èŒƒå›´ä¸­ï¼Œ
\TeX\ å–å®ƒçš„å€¼ä¸º $0$ï¼Œä»Žè€Œè®©ç¬¬ $0$ ç±»å’Œç¬¬ $7$ ç±»ç­‰ä»·ã€‚
æ¯æ¬¡è¿›å…¥æ•°å­¦æ¨¡å¼æ—¶ \TeX\ éƒ½è®¾å®š |\fam| ä¸º $-1$ã€‚
\endconcept


%\conceptindex{mathematical units}
%\concept{mathematical unit}
\conceptindex{æ•°å­¦å•ä½}
\concept{æ•°å­¦å•ä½}

%A \defterm{mathematical unit}, denoted by `|mu|', is a unit of distance
%that is used to specify \refterm{glue} in math formulas.  See
%\conceptcit{muglue}.
%\endconcept
\defterm{æ•°å­¦å•ä½}ï¼ˆmathematical unitï¼‰ï¼Œè®°ä¸ºâ€˜|mu|â€™ï¼Œ
æ˜¯ä¸€ä¸ªç”¨äºŽè®¾å®šæ•°å­¦å…¬å¼ä¸­çš„\refterm{ç²˜è¿ž}å¤§å°çš„è·ç¦»å•ä½ã€‚
è§\conceptcit{æ•°å­¦ç²˜è¿ž}ã€‚
\endconcept


%\conceptindex{modes}
%\concept mode
\conceptindex{æ¨¡å¼}
\concept æ¨¡å¼

%When \TeX\ is processing your input in its stomach \seeconcept{\anatomy},
%it is in one of six \defterm{modes}:
%\ulist\compact
%\li ^{ordinary horizontal mode} (assembling a paragraph)
%\li ^{restricted horizontal mode} (assembling an \refterm{hbox})
%\li ^{ordinary vertical mode} (assembling a page)
%\li ^{internal vertical mode} (assembling a \refterm{vbox})
%\li ^{text math mode} (assembling a formula that appears in text)
%\li ^{display math mode}
%(assembling a formula that appears on a line by~itself)
%^^{horizontal mode}^^{vertical mode}^^{math mode}
%\endulist
%The mode describes the kind of entity that \TeX\ is putting together.
\TeX\ åœ¨èƒƒä¸­å¤„ç†ä½&nbsp;çš„è¾“å…¥æ—¶\seeconcept{\anatomy}ï¼Œ
å®ƒæ€»æ˜¯å¤„äºŽå…­ç§\defterm{æ¨¡å¼}ï¼ˆmodeï¼‰çš„å…¶ä¸­ä¸€ç§:
\ulist\compact
\li ^{æ™®é€šæ°´å¹³æ¨¡å¼}ï¼ˆç»„è£…æ®µè½ï¼‰
\li ^{å—é™æ°´å¹³æ¨¡å¼}ï¼ˆç»„è£…\refterm{æ°´å¹³ç›’å­}ï¼‰
\li ^{æ™®é€šç«–ç›´æ¨¡å¼}ï¼ˆç»„è£…é¡µé¢ï¼‰
\li ^{å†…éƒ¨ç«–ç›´æ¨¡å¼}ï¼ˆç»„è£…\refterm{ç«–ç›´ç›’å­}ï¼‰
\li ^{æ–‡å†…æ•°å­¦æ¨¡å¼}ï¼ˆç»„è£…åœ¨æ–‡æœ¬ä¸­æ˜¾ç¤ºçš„å…¬å¼ï¼‰
\li ^{é™ˆåˆ—æ•°å­¦æ¨¡å¼}ï¼ˆç»„è£…å•ç‹¬ä¸€è¡Œæ˜¾ç¤ºçš„å…¬å¼ï¼‰
^^{æ°´å¹³æ¨¡å¼}^^{ç«–ç›´æ¨¡å¼}^^{æ•°å­¦æ¨¡å¼}
\endulist
æ¨¡å¼æè¿°äº† \TeX\ æ­£åœ¨ç»„è£…çš„å®žä½“çš„ç±»åž‹ã€‚

%Because you can embed one kind of entity within another, e.g., a vbox
%within a math formula, \TeX\ keeps track not just of one mode but of a
%whole list of modes (what computer scientists call a ``stack'').
%Suppose that \TeX\ is in mode $M$ and encounters something that
%puts it into a new mode \Mprimeperiod.  When it finishes its work in
%mode \Mprimecomma, it resumes what it was doing in mode \Mperiod.
ç”±äºŽä½&nbsp;å¯ä»¥å°†æŸç§å®žä½“åµŒå…¥å¦ä¸€ç§å®žä½“ä¸­ï¼Œæ¯”å¦‚å°†ä¸€ä¸ªç«–ç›´ç›’å­æ”¾å…¥æ•°å­¦å…¬å¼ä¸­ï¼Œ
\TeX\ è®°å½•çš„ä¸åªæ˜¯ä¸€ä¸ªæ¨¡å¼ï¼Œè€Œæ˜¯ä¸€æ•´åˆ—æ¨¡å¼ï¼ˆå³è®¡ç®—æœºç§‘å­¦ä¸­æ‰€è¯´çš„â€œæ&nbsp;ˆâ€ï¼‰ã€‚
å‡è®¾ \TeX\ åœ¨æ¨¡å¼$M$ä¸­ï¼Œç„¶åŽé‡åˆ°æŸäº›ä¸œè¥¿è€Œè¿›å…¥æ–°æ¨¡å¼$M'$ã€‚
å½“å®ƒå®Œæˆåœ¨æ¨¡å¼$M'$çš„å·¥ä½œæ—¶ï¼Œå®ƒå°†ç»§ç»­åœ¨æ¨¡å¼$M$ä¸­çš„å·¥ä½œã€‚

\endconcept


%\concept muglue
\concept æ•°å­¦ç²˜è¿ž

%\defterm{Muglue} is a kind of \refterm{glue} that you can use only in math
%formulas.  It is measured in ^|mu| (\refterm{mathematical
%units:mathematical unit}).
%^^{mathematical units}^^{glue//mathematical}
%One |mu| is equal to \frac1/{18} em, where
%the size of an em is taken from \refterm{family} 2 of the math fonts.
%\TeX\ automatically adjusts the size of muglue according to the context.
%For instance, a glue size of |2mu| is normally smaller within a
%subscript than it is within ordinary text.
%You must use the ^|\mskip| command to produce muglue.
%For example, `|\mskip 4mu plus 5mu|' produces mathematical glue with
%natural space of four |mu| and \refterm{stretch} of five |mu|.
\defterm{æ•°å­¦ç²˜è¿ž}ï¼ˆmuglueï¼‰æ˜¯ä¸€ç§ä»…ç”¨äºŽæ•°å­¦å…¬å¼ä¸­çš„\refterm{ç²˜è¿ž}ï¼Œ
å®ƒçš„åº¦é‡å•ä½æ˜¯ ^|mu|ï¼ˆ\refterm{æ•°å­¦å•ä½}ï¼‰ã€‚
^^{æ•°å­¦å•ä½}^^{ç²˜è¿ž//æ•°å­¦ç²˜è¿ž}
1 |mu| çš„å¤§å°ä¸Ž \frac1/{18} em ç›¸ç­‰ï¼Œ
è€Œ 1 em çš„å¤§å°å–è‡ªç¬¬$2$\refterm{æ—}æ•°å­¦å­—ä½“ã€‚
\TeX\ æ&nbsp;¹æ®ä¸Šä¸‹æ–‡è‡ªåŠ¨è°ƒæ•´ |mu| çš„å¤§å°ã€‚
æ¯”å¦‚åŒæ&nbsp;·æ˜¯ |2mu| å¤§å°çš„ç²˜è¿žï¼Œåœ¨ä¸‹æ&nbsp;‡ä¸­ä¸€èˆ¬å°±æ¯”åœ¨æ™®é€šæ–‡æœ¬ä¸­å°ä¸€äº›ã€‚
è¦ç”Ÿæˆæ•°å­¦ç²˜è¿žï¼Œä½&nbsp;å¿…é¡»ä½¿ç”¨ ^|\mskip| å‘½ä»¤ã€‚
ä¾‹å¦‚ï¼Œâ€˜|\mskip 4mu plus 5mu|â€™ç”Ÿæˆäº†ä¸€ä¸ªè‡ªç„¶å¤§å°ä¸º |4mu|ï¼Œ
\refterm{ä¼¸é•¿é‡}ä¸º|5mu| çš„æ•°å­¦ç²˜è¿žã€‚
\endconcept


\bookmark{2}{ä»¥Nå¼€å¤´}
%\conceptindex{numbers}
%\concept number
\conceptindex{æ•°}
\concept æ•°

%In \TeX, a \defterm{number} is a positive or negative integer.
%You can write a number in \TeX\ in four different ways:
%\olist\compact
%\li as an ordinary decimal integer, e.g., |52|
%\li as an octal number, e.g., |'14| ^^{octal numbers}
%\li as a hexadecimal number, e.g., |"FF0| ^^{hexadecimal numbers}
%\li as the code for an \refterm{\ascii\ character}, e.g., |`)|
%or |`\)|
%\endolist
%\noindent
%Any of these forms can be preceded by `|+|' or `|-|'.
åœ¨ \TeX\ ä¸­ï¼Œ\defterm{æ•°}ï¼ˆnumberï¼‰æ˜¯æŒ‡æ­£æ•´æ•°æˆ–è´Ÿæ•´æ•°ã€‚%
%\footnote{è¯‘æ³¨ï¼šåœ¨æœ¬ä¹¦çš„ç¿»è¯‘ä¸­ï¼Œç»å¸¸ç›´æŽ¥å°†â€œnumberâ€ç§°ä¸ºâ€œæ•´æ•°â€ã€‚}
\TeX\ ä¸­çš„æ•°å¯ä»¥ç”¨å¦‚ä¸‹å››ç§ä¸åŒæ–¹å¼è¡¨ç¤ºï¼š
\olist\compact
\li ç”¨é€šå¸¸çš„åè¿›åˆ¶æ•´æ•°è¡¨ç¤ºï¼Œæ¯”å¦‚ |52|
\li ç”¨å…«è¿›åˆ¶æ•°è¡¨ç¤ºï¼Œæ¯”å¦‚ |'14| ^^{å…«è¿›åˆ¶æ•°}
\li ç”¨åå…­è¿›åˆ¶æ•°è¡¨ç¤ºï¼Œæ¯”å¦‚ |"FF0| ^^{åå…­è¿›åˆ¶æ•°}
\li ç”¨å­—ç¬¦çš„\refterm{\ascii}ç¼–ç&nbsp;è¡¨ç¤ºï¼Œæ¯”å¦‚ |`)| æˆ– |`\)|
\endolist
\noindent
ä¸Šè¿°ä»»ä½•ä¸€ç§å½¢å¼éƒ½å¯ä»¥åœ¨å‰é¢åŠ&nbsp;ä¸Š `|+|' æˆ–è€… `|-|' ã€‚

%An octal number can have only the digits |0|--|7|.
%^^{octal numbers}
%A hexadecimal number can have digits |0|--|9| and
%|A|--|F|, representing
%values from $0$ to $15$.
%^^{hexadecimal numbers}
%You can't, alas, use lowercase letters when you write a hexadecimal number.
%If you need an explanation of octal and hexadecimal numbers,
%you'll find one on \knuth{pages~43--44}.
å…«è¿›åˆ¶æ•°åªèƒ½åŒ…å«æ•°å­— |0|--|7|ã€‚
^^{å…«è¿›åˆ¶æ•°}
è€Œåå…­è¿›åˆ¶æ•°å¯ä»¥åŒ…å«æ•°å­— |0|--|9| ä»¥åŠå­—æ¯ |A|--|F|ï¼Œ
å®ƒä»¬åˆ†åˆ«è¡¨ç¤ºä»Ž $0$ åˆ° $15$ çš„æ•°å€¼ã€‚
^^{åå…­è¿›åˆ¶æ•°}
ç„¶è€Œï¼Œä½&nbsp;ä¸èƒ½ç”¨å°å†™å­—æ¯æ¥è¡¨ç¤ºåå…­è¿›åˆ¶æ•°ã€‚
åœ¨\knuth{43--44~é¡µ}ä¸­ä½&nbsp;å¯ä»¥æ‰¾åˆ°å…«è¿›åˆ¶å’Œåå…­è¿›åˆ¶æ•°çš„è§£é‡Šã€‚

%A decimal, octal, or hexadecimal number
%ends at the first character that can't be part of the number.
%Thus a decimal number ends when \TeX\ sees, say, a letter, even though a
%letter between `|A|' and `|F|' would not end a hexadecimal number.
%You can end a number with one or more spaces and
%\TeX\ will ordinarily ignore them.\footnote{
%When you're defining a macro that ends in a number, you should always
%put a space after that number; otherwise \TeX\ may later combine that
%number with something else.}
åè¿›åˆ¶ã€å…«è¿›åˆ¶æˆ–åå…­è¿›åˆ¶æ•°éƒ½åœ¨ç¬¬ä¸€ä¸ªä¸èƒ½ä½œä¸ºè¯¥æ•°ä¸€éƒ¨åˆ†çš„å­—ç¬¦å¤„ç»“æŸã€‚
å›&nbsp;æ­¤ï¼Œä»»ä½•å­—æ¯éƒ½ä¼šç»“æŸä¸€ä¸ªåè¿›åˆ¶æ•°ï¼Œ
è€Œ`|A|'å’Œ`|F|'ä¹‹é—´çš„å­—æ¯å´ä¸èƒ½ç»“æŸä¸€ä¸ªåå…­è¿›åˆ¶æ•°ã€‚
ä½&nbsp;ä¹Ÿå¯ä»¥ç”¨ä¸€ä¸ªæˆ–å¤šä¸ªç©ºæ&nbsp;¼ç»“æŸä¸€ä¸ªæ•°ï¼Œ
\TeX\ é€šå¸¸å°†å¿½ç•¥è¿™äº›ç©ºæ&nbsp;¼ã€‚\footnote{%
åœ¨å®šä¹‰ä¸€ä¸ªä»¥æ•°ç»“å°¾çš„å®æ—¶ï¼Œ
ä½&nbsp;åº”è¯¥å§‹ç»ˆåœ¨è¯¥æ•°åŽé¢åŠ&nbsp;ä¸Šç©ºæ&nbsp;¼ï¼›
å¦åˆ™åˆ°åŽé¢ \TeX\ å¯èƒ½å°†è¯¥æ•°å’Œå…¶ä»–å­—ç¬¦ç»“åˆåœ¨ä¸€èµ·ã€‚}

%The fourth form above specifies a number as the
%\minref{\ascii} code for a character.
%^^{characters//\ascii\ codes for}
%\TeX\ ignores spaces after this form of number also.
%You can write a number in this form either as |`|$c$ or as |`\|$c$.
%The second form, though longer, has the advantage that you can use it
%with \emph{any} character, even `|\|', `|%|', or `|^^M|'.
%It does have one rather technical disadvantage: when \TeX\ is expanding
%a token sequence for a command such as |\edef| or |\write|,
%^^|\edef//expansion of {\tt\\'\it c} in|
%^^|\write//expansion of {\tt\\'\it c} in|
%occurrences of `|\|$c$' within numbers will also be expanded if they can be.
%That's rarely the effect you want.
ä¸Šè¿°çš„ç¬¬å››ç§å½¢å¼ç”¨å­—ç¬¦çš„\minref{\ascii}ç¼–ç&nbsp;è¡¨ç¤ºä¸€ä¸ªæ•°ã€‚
^^{å­—ç¬¦//å­—ç¬¦çš„ \ascii\ ç&nbsp;}
\TeX\ åŒæ&nbsp;·å¿½ç•¥æ­¤å½¢å¼çš„æ•°åŽé¢çš„ç©ºæ&nbsp;¼ã€‚
ä¸€ä¸ªæ•°æŒ‰è¿™ç§å½¢å¼å¯ä»¥å†™æˆ |`|$c$ æˆ–è€… |`\|$c$ã€‚
ç¬¬äºŒç§å†™æ³•è™½ç„¶é•¿ä¸€ç‚¹ï¼Œ
ä½†ä¼˜ç‚¹åœ¨äºŽå¯ä»¥ç”¨äºŽ\emph{ä»»ä½•}å­—ç¬¦ï¼Œ
ç”šè‡³æ˜¯ `|\|'ï¼Œ`|%|' æˆ–è€… `|^^M|'ã€‚
ä¸è¿‡å®ƒç¡®å®žä¹Ÿæœ‰ä¸€ä¸ªæŠ€æœ¯ä¸Šçš„ç¼ºç‚¹ï¼š
æ¯”å¦‚å½“ \TeX\ å±•å¼€ |\edef| æˆ– |\write| å‘½ä»¤çš„è®°å·åºåˆ—æ—¶ï¼Œ
^^|\edef//åœ¨å…¶ä¸­å±•å¼€ {\tt\\'\it c}|
^^|\write//åœ¨å…¶ä¸­å±•å¼€ {\tt\\'\it c}|
å‡ºçŽ°åœ¨æ•°ä¸­é—´çš„èƒ½å±•å¼€çš„`|\|$c$'å°†åŒæ&nbsp;·è¢«å±•å¼€ï¼›
è€Œè¿™å¤šåŠä¸æ˜¯ä½&nbsp;æƒ³è¦çš„ã€‚

%The following are all valid representations of the decimal number
%$78$:
%\csdisplay
%78   +078   "4E   '116   `N   `\N
%|
ä¸‹é¢æ˜¯åè¿›åˆ¶æ•°$78$çš„å…¨éƒ¨æœ‰æ•ˆçš„è¡¨ç¤ºæ–¹å¼ï¼š
\csdisplay
78   +078   "4E   '116   `N   `\N
|

%You can't use a number in text by itself since a number isn't
%a command.
%However, you can insert the decimal form of a number in text
%by putting a ^|\number| command (\xref\number) in front of it
%or the roman numeral form by putting a ^|\romannumeral| command
%in front of it.
ä½&nbsp;ä¸èƒ½åœ¨æ–‡æœ¬ä¸­å•ç‹¬ä½¿ç”¨ä¸€ä¸ªæ•°ï¼Œå›&nbsp;ä¸ºå®ƒä¸æ˜¯å‘½ä»¤ã€‚
ä½†æ˜¯ï¼Œå°†å®ƒæ”¾åœ¨ ^|\number| å‘½ä»¤ï¼ˆ\xref\number ï¼‰ä¹‹åŽï¼Œ
ä½&nbsp;å°±å¯ä»¥åœ¨æ–‡æœ¬ä¸­æ’å…¥è¿™ä¸ªæ•°çš„åè¿›åˆ¶å½¢å¼ï¼›
æˆ–è€…å°†å®ƒæ”¾åœ¨ ^|\romannumeral| å‘½ä»¤ä¹‹åŽï¼Œä»¥å¾—åˆ°å®ƒçš„ç½—é©¬æ•°å­—å½¢å¼ã€‚

%You can also use ^{decimal constant}s, i.e., numbers with a fractional part,
%for specifying dimensions \seeconcept{dimension}.
%A decimal constant has a ^{decimal point}, which
%can be the first character of the constant.
%You can use a comma instead of a period to represent the decimal point.
%A decimal constant can be preceded by a plus or minus sign.
%Thus `|.5in|',
%`|-3.22pt|', and `|+1,5\baselineskip|' are valid dimensions.
%You can't, however, use decimal constants
%in any context \emph{other} than as the ``factor'' part of a dimension,
%i.e., its multiplier.
ä½&nbsp;ä¹Ÿå¯ä»¥ç”¨^{å°æ•°}ï¼Œå³å¸¦æœ‰å°æ•°éƒ¨åˆ†çš„æ•°ï¼Œæ¥æŒ‡å®šä¸€ä¸ªå°ºå¯¸\seeconcept{å°ºå¯¸}ã€‚
å°æ•°åŒ…å«ä¸€ä¸ªå¯ä»¥åœ¨æœ€å‰é¢çš„^{å°æ•°ç‚¹}ã€‚
å°æ•°ç‚¹çš„åœ†ç‚¹ä¹Ÿå¯ä»¥ç”¨é€—å·ä»£æ›¿ã€‚å°æ•°ä¹‹å‰ä¹Ÿå¯ä»¥åŠ&nbsp;ä¸Šæ­£å·æˆ–è´Ÿå·ã€‚
å›&nbsp;æ­¤ `|.5in|'ï¼Œ`|-3.22pt|' å’Œ `|+1,5\baselineskip|' éƒ½æ˜¯æœ‰æ•ˆçš„å°ºå¯¸ã€‚
ä½†æ˜¯ï¼Œé™¤äº†ä½œä¸ºå°ºå¯¸çš„â€œå›&nbsp;å­â€ï¼Œå³ä¹˜æ•°ï¼Œ
ä½&nbsp;ä¸èƒ½åœ¨\emph{å…¶ä»–}åœ°æ–¹ä½¿ç”¨å°æ•°ã€‚

\endconcept


\bookmark{2}{ä»¥Oå¼€å¤´}
%\concept{ordinary mode}
\concept{æ™®é€šæ¨¡å¼}

%An \defterm{ordinary mode} is a \refterm{mode} that \TeX\ is in when it is
%assembling a paragraph into lines or assembling lines
%into a page.  See \conceptcit{horizontal mode}, \conceptcit{vertical mode}.
%\endconcept
\defterm{æ™®é€šæ¨¡å¼}ï¼ˆordinary modeï¼‰æ˜¯ \TeX\ åˆ†æ®µä¸ºè¡Œæˆ–ç»„è¡Œä¸ºé¡µæ—¶æ‰€åœ¨çš„\refterm{æ¨¡å¼}ã€‚
è§\conceptcit{æ°´å¹³æ¨¡å¼}ï¼Œ\conceptcit{ç«–ç›´æ¨¡å¼}ã€‚
\endconcept


%\concept outer
\concept å¤–éƒ¨çš„

%\bix^^{macros//outer}
%An \defterm{outer} macro is one that you can't use in certain contexts
%where \TeX\ is processing tokens at high speed.
%The purpose of making a command outer is to enable \TeX\ to catch
%errors before it's gone too far.
%When you define a macro, you can make it outer with the
%^|\outer| command \ctsref\outer.
\bix^^{å®//å¤–éƒ¨å®}
\defterm{å¤–éƒ¨çš„}ï¼ˆouterï¼‰å®æ˜¯åœ¨æŸäº› \TeX\ é«˜é€Ÿå¤„ç†è®°å·çš„çŽ¯å¢ƒä¸­æ—&nbsp;æ³•ä½¿ç”¨çš„å®ã€‚
å°†ä¸€ä¸ªå‘½ä»¤å®šä¹‰ä¸ºå¤–éƒ¨çš„ï¼Œç›®çš„æ˜¯ä½¿ \TeX\ èƒ½å¤Ÿå°½æ—©æ•èŽ·åˆ°é”™è¯¯ã€‚
åœ¨å®šä¹‰å®æ—¶ï¼Œä½&nbsp;å¯ä»¥ç”¨ ^|\outer| å‘½ä»¤\ctsref\outer è®©å®ƒæˆä¸ºå¤–éƒ¨çš„ã€‚

%You cannot use an outer macro in any of the following contexts:
%\ulist\compact
%\li within an argument to a macro
%\li in the parameter text or replacement text of a definition
%\li in the preamble to an alignment
%\li in the unexecuted part of a conditional test
%\endulist
%\noindent
%An outer context is a context in which you can use an outer macro,
%i.e., it's any context other than the ones just listed.
åœ¨ä¸‹åˆ—è¿™äº›çŽ¯å¢ƒä¸­ï¼Œä½&nbsp;ä¸å¯ä»¥ä½¿ç”¨å¤–éƒ¨å®ï¼š
\ulist\compact
\li åœ¨å‘½ä»¤çš„å‚é‡ä¸­
\li åœ¨å®å®šä¹‰çš„å‚æ•°æ–‡æœ¬æˆ–æ›¿æ¢æ–‡æœ¬ä¸­
\li åœ¨é˜µåˆ—çš„å¯¼è¨€ä¸­
\li åœ¨æ¡ä»¶æµ‹è¯•çš„è·³è¿‡éƒ¨åˆ†ä¸­
\endulist
\noindent
å¤–éƒ¨çŽ¯å¢ƒæ˜¯ä½&nbsp;å¯ä»¥ä½¿ç”¨å¤–éƒ¨å®çš„çŽ¯å¢ƒï¼Œå³åˆšæ‰åˆ—å‡ºçš„çŽ¯å¢ƒé™¤å¤–çš„çŽ¯å¢ƒã€‚

%For example, the following input would be a forbidden use of an
%outer macro:
%\csdisplay
%\leftline{\proclaim Assertion 2. That which is not inner
%   is outer.}
%|
%The |\proclaim| macro (\xref{\@proclaim}) is defined in \plainTeX\
%to be outer, but it's being used here in a macro argument to |\leftline|.
%\eix^^{macros//outer}
ä¾‹å¦‚ï¼Œä¸‹é¢çš„è¾“å…¥å°±æ˜¯å¤–éƒ¨å®çš„ç¦æ­¢ç”¨æ³•ï¼š
\csdisplay
\leftline{\proclaim Assertion 2. That which is not inner
   is outer.}
|
|\proclaim| å®ï¼ˆ\xref{\@proclaim}ï¼‰åœ¨ \plainTeX\ ä¸­è¢«å®šä¹‰ä¸ºå¤–éƒ¨çš„ï¼Œ
ä½†è¿™é‡Œå´å°†å®ƒæ”¾åœ¨ |\leftline| çš„å®å‚é‡ä¸­ã€‚
\eix^^{å®//å¤–éƒ¨å®}

\endconcept


%\concept {output routine}
\concept {è¾“å‡ºä¾‹è¡Œç¨‹åº}

%When \TeX\ has accumulated
%at least enough material to fill up a page, it chooses a breakpoint
%and places the material before the breakpoint in |\box255|. It then
%calls the
%current \defterm{output routine}, which processes the material and eventually
%sends it to the \dvifile.
%^^{\dvifile//material from output routine}
%The output routine can perform further
%processing, such as inserting headers, footers, and footnotes.
%\refterm{\PlainTeX:\plainTeX} provides
%a default output routine that inserts a centered page number
%at the bottom of each page.
%By providing a different output routine you can achieve such
%effects as double-column output.
%You can think of the output routine as having a single responsibility:
%disposing of the material in |\box255| one way or another.
\TeX\ æ”¶é›†è¶³å¤Ÿå¡«æ»¡é¡µé¢çš„ç´&nbsp;æåŽï¼Œå®ƒé€‰æ‹©åˆ†é¡µç‚¹å¹¶å°†åˆ†é¡µç‚¹ä¹‹å‰çš„ç´&nbsp;ææ”¾åœ¨ |\box255| ä¸­ã€‚
ç„¶åŽ \TeX\ è°ƒç”¨\defterm{è¾“å‡ºä¾‹è¡Œç¨‹åº}ï¼ˆoutput routineï¼‰%
ä»¥åŠ&nbsp;å·¥ç´&nbsp;æå¹¶æœ€ç»ˆå°†å®ƒé€åˆ° \dvifile ä¸­ã€‚
^^{\dvifile//æ¥è‡ªè¾“å‡ºä¾‹è¡Œç¨‹åºçš„ç´&nbsp;æ}
è¾“å‡ºä¾‹è¡Œç¨‹åºå¯ä»¥æ‰§è¡Œè¿›ä¸€æ­¥çš„åŠ&nbsp;å·¥ï¼Œæ¯”å¦‚æ’å…¥é¡µçœ‰ï¼Œé¡µè„šå’Œè„šæ³¨ã€‚
\refterm{\PlainTeX:\plainTeX} æä¾›äº†ä¸€ä¸ªé»˜è®¤çš„è¾“å‡ºä¾‹è¡Œç¨‹åºï¼Œ
å®ƒåœ¨æ¯ä¸ªé¡µé¢åº•éƒ¨æ’å…¥å±…ä¸­çš„é¡µç&nbsp;ã€‚
é€šè¿‡æä¾›ä¸åŒçš„è¾“å‡ºä¾‹è¡Œç¨‹åºï¼Œä½&nbsp;å¯ä»¥è¾¾åˆ°è¯¸å¦‚åŒæ&nbsp;è¾“å‡ºçš„æ•ˆæžœã€‚
ä½&nbsp;å¯ä»¥è®¤ä¸ºè¾“å‡ºä¾‹è¡Œç¨‹åºåªæœ‰ä¸€ä¸ªèŒè´£ï¼š
ä»¥æŸç§æ–¹å¼å¤„ç†æŽ‰æ”¾åœ¨ |\box255| ä¸­çš„ç´&nbsp;æã€‚

%The current output routine is defined by the value of ^|\output|
%\ctsref{\output}, which is a list of \refterm{tokens:token}.  When \TeX\
%is ready to produce a page, it just expands the token list.
å½“å‰çš„è¾“å‡ºä¾‹è¡Œç¨‹åºç”± ^|\output|\ctsref{\output}çš„å€¼å®šä¹‰ï¼Œå®ƒæ˜¯ä¸€ä¸ª\refterm{è®°å·}åˆ—ã€‚
å½“ \TeX\ å‡†å¤‡å¥½ç”Ÿæˆé¡µé¢æ—¶ï¼Œå®ƒå°±å±•å¼€è¯¥è®°å·åˆ—ã€‚

%You can make some simple changes to the actions of the \plainTeX\
%output routine without actually modifying it.  For example, by assigning
%a list of \refterm{tokens:token} to |\headline| or
%|\footline| \ctsref{\footline} you can have \TeX\ produce a different
%header or footer than it ordinarily would.
å®žé™…ä¸Šä¸ç”¨ä¿®æ”¹ \plainTeX\ çš„è¾“å‡ºä¾‹è¡Œç¨‹åºï¼Œä½&nbsp;å°±èƒ½å¯¹å®ƒçš„è¡Œä¸ºåšå‡ºä¸€äº›ç®€å•æ”¹åŠ¨ã€‚
ä¾‹å¦‚ï¼Œé€šè¿‡èµ‹äºˆä¸€ä¸ªè®°å·åˆ—ç»™ |\headline| æˆ– |\footline|\ctsref{\footline}ï¼Œ%
ä½&nbsp;å°±å¯ä»¥è®© \TeX\ ç”Ÿæˆå’Œé€šå¸¸æƒ…å½¢ä¸åŒçš„é¡µçœ‰æˆ–é¡µè„šã€‚

%The output routine is also
%responsible for collecting any \refterm{insertions:insertion};
%combining those insertions and any
%``decorations'' such as headers and
%footers with the main contents of the page and packaging all
%of this material in a box; and
%eventually sending that box to the \dvifile\
%^^{\dvifile//material from output routine}
%with the ^|\shipout|
%command \ctsref{\shipout}.
%Although this is what an output routine most often does,
%a special-purpose output routine might behave differently.
%\endconcept
è¾“å‡ºä¾‹è¡Œç¨‹åºä¹Ÿè´Ÿè´£æ”¶é›†ä»»ä½•\refterm{æ’å…¥é¡¹}ï¼›
å®ƒå°†è¿™äº›æ’å…¥é¡¹å’Œä»»ä½•â€œè£…é¥°â€ï¼ˆæ¯”å¦‚é¡µçœ‰é¡µè„šï¼‰åˆå¹¶åˆ°é¡µé¢ä¸»è¦å†…å®¹ä¸­ï¼Œ
å¹¶å°†æ‰€æœ‰è¿™äº›ç´&nbsp;æåŒ…è£…åœ¨ä¸€ä¸ªç›’å­é‡Œï¼›
æœ€åŽå®ƒç”¨ ^|\shipout| å‘½ä»¤\ctsref{\shipout}å°†è¿™ä¸ªç›’å­é€åˆ° \dvifile ä¸­ã€‚
^^{\dvifile//æ¥è‡ªè¾“å‡ºä¾‹è¡Œç¨‹åºçš„ç´&nbsp;æ}
è™½ç„¶è¾“å‡ºä¾‹è¡Œç¨‹åºå¤§å¤šæ˜¯è¿™æ&nbsp;·è¿è¡Œçš„ï¼Œä½†æœ‰ç‰¹å®šç”¨é€”çš„è¾“å‡ºä¾‹è¡Œç¨‹åºä¼šæœ‰ä¸åŒè¡¨çŽ°ã€‚
\endconcept


%\conceptindex{output streams}
%\concept {output stream}
\concept {è¾“å‡ºæµ}

%\margin{This concept was out of order.}
%See \conceptcit{file}.
%\endconcept
\margin{This concept was out of order.}
è§\conceptcit{æ–‡ä»¶}ã€‚
\endconcept


\bookmark{2}{ä»¥På¼€å¤´}
%\conceptindex{pages}
%\concept page
\conceptindex{é¡µé¢}
\concept é¡µé¢

%\TeX\ processes a document by assembling \defterm{pages} one at a time
%and passing them to the output routine.
%As it proceeds through your document, \TeX\ maintains a list of lines
%and other
%items to be placed on the page.  (The lines are actually hboxes.)
%This list is called the ``^{main vertical list}''.
%Periodically \TeX\ goes through a process called ``exercising the
%^{page builder}''.
%The items added to the main vertical list between exercises of the
%page builder are called ``^{recent contributions}''.
\TeX\ æ¯æ¬¡ä¸€é¡µåœ°å°†ä½&nbsp;çš„æ–‡æ¡£ç»„è£…ä¸º\defterm{é¡µé¢}ï¼ˆpageï¼‰ï¼Œ
å¹¶å°†å®ƒä»¬é€å¾€è¾“å…¥ä¾‹è¡Œç¨‹åºã€‚
åœ¨å¤„ç†æ–‡æ¡£æ—¶ï¼Œ\TeX\ ç»´æŒç€ä¸€ä¸ªç”±æ–‡æœ¬è¡Œå’Œå…¶ä»–è¦æ”¾å…¥é¡µé¢çš„é¡¹ç›®ç»„æˆçš„åˆ—è¡¨ã€‚%
ï¼ˆè¿™äº›æ–‡æœ¬è¡Œå®žé™…ä¸Šæ˜¯æ°´å¹³ç›’å­ã€‚ï¼‰
è¿™ä¸ªåˆ—è¡¨ç§°ä¸ºâ€œ^{ä¸»ç«–ç›´åˆ—}â€ã€‚
\TeX\ å‘¨æœŸæ€§åœ°æ‰§è¡Œç§°ä¸ºâ€œè¿è¡Œ^{é¡µé¢æž„å»ºå™¨}â€çš„æ“ä½œã€‚
åœ¨è¿è¡Œé¡µé¢æž„å»ºå™¨æ—¶æ·»åŠ&nbsp;åˆ°ä¸»ç«–ç›´åˆ—çš„é¡¹ç›®ç§°ä¸ºâ€œ^{å¤‡é€‰å†…å®¹}â€ã€‚

%The page builder first examines the main vertical list to see if it's
%necessary to ship out a page yet, either because the items on the main
%vertical list won't all fit on the page or because of an explicit item,
%such as |\eject| \ctsref\eject, that tells \TeX\ to end the page.
%If it's not necessary to ship out a page, then the page builder is done
%for the time being.
é¡µé¢æž„å»ºå™¨é¦–å…ˆæ£€æŸ¥ä¸»ç«–ç›´åˆ—ï¼Œçœ‹æ˜¯å¦æœ‰å¿…è¦è¾“å‡ºé¡µé¢ï¼Œ
è¿™å¯èƒ½ç”±äºŽä¸»ç«–ç›´åˆ—ä¸Šçš„é¡¹ç›®ä¸èƒ½å¡«æ»¡é¡µé¢ï¼Œ
æˆ–è€…æœ‰ç±»ä¼¼ |\eject| \ctsref\eject çš„æ˜¾å¼é¡¹ç›®è®© \TeX\ ç»“æŸé¡µé¢ã€‚
å¦‚æžœæ²¡å¿…è¦è¾“å‡ºé¡µé¢ï¼Œé¡µé¢æž„å»ºå™¨è¿™å›žçš„å·¥ä½œå°±å®Œæˆäº†ã€‚

%Otherwise the page builder analyzes the main vertical
%list to find what it considers to be the best possible page break.
%It  associates penalties with various kinds of unattractive page
%breaks---a break that would leave an
%isolated line at the top or bottom of a page, a break just before a
%math display, and so forth.  It then
%chooses the least costly page break,
%where the cost of a break is increased by any penalty associated with that
%break and by the badness of the page that would result
%(see \knuth{page~111} for the cost formula).  If it finds several
%equally costly page breaks, it chooses the last one.
å¦åˆ™ï¼Œé¡µé¢æž„å»ºå™¨åˆ†æžä¸»ç«–ç›´åˆ—ä»¥æ‰¾åˆ°æœ€ä½³çš„å¯èƒ½åˆ†é¡µç‚¹ã€‚
å®ƒåœ¨å„ç§ä¸ç¾Žè§‚çš„åˆ†é¡µç‚¹
â€”â€”å³å¯èƒ½å¯¼è‡´å•ç‹¬ä¸€è¡Œå‡ºçŽ°åœ¨é¡µé¢é¡¶éƒ¨æˆ–åº•éƒ¨çš„åˆ†é¡µç‚¹ï¼Œ
æˆ–è€…åœ¨é™ˆåˆ—å…¬å¼å‰çš„åˆ†é¡µç‚¹ï¼Œè¯¸å¦‚æ­¤ç±»
â€”â€”æ·»åŠ&nbsp;æƒ©ç½šé¡¹ã€‚
ç„¶åŽå®ƒé€‰æ‹©ä»£ä»·æœ€å°çš„åˆ†é¡µç‚¹ï¼Œ
å…¶ä¸­åˆ†é¡µä»£ä»·ç”±åˆ†é¡µç‚¹çš„æƒ©ç½šå€¼ä»¥åŠæ‰€å¾—é¡µé¢çš„åŠ£åº¦åŠ&nbsp;èµ·æ¥å¾—åˆ°
ï¼ˆä»£ä»·è®¡ç®—å…¬å¼å¯ä»¥è§\knuth{ç¬¬~111~é¡µ}ã€‚
å¦‚æžœæ‰¾åˆ°å¤šä¸ªä»£ä»·ç›¸åŒçš„åˆ†é¡µç‚¹ï¼Œå®ƒé€‰æ‹©æœ€åŽä¸€ä¸ªã€‚

%{\tighten
%Once the page builder has chosen a page break,
%it places the items on the list that are before that break
%into ^|\box255| and leaves the remaining ones for the next page.
%It then calls the output routine. |\box255| acts as a mailbox, with the
%page builder as the sender and the output routine as the receiver.
%Ordinarily the output routine processes |\box255|, adds
%other items, such as insertions, headers, and footers, to the page, and
%ships out the page to the \dvifile\
%^^{\dvifile//material from output routine}
%with a |\shipout| command.
%(Specialized output routines may behave differently.)
%From \TeX's standpoint, it doesn't matter whether or not the output
%routine ships out a page;
%the only
%responsibility of the output routine is to process |\box255| one way or
%another.
%\par}
{\tighten
ä¸€æ—¦é¡µé¢æž„å»ºå™¨é€‰å®šäº†åˆ†é¡µç‚¹ï¼Œå®ƒå°±å°†åˆ—è¡¨ä¸­ä½äºŽåˆ†é¡µç‚¹ä¹‹å‰çš„é¡¹ç›®æ”¾å…¥ ^|\box255|ï¼Œ
å¹¶æŠŠå‰©ä½™é¡¹ç›®ç•™ç»™ä¸‹ä¸ªé¡µé¢ã€‚æŽ¥ç€å®ƒè°ƒç”¨è¾“å‡ºä¾‹è¡Œç¨‹åºã€‚
|\box255| å……å½“äº†é‚®ç®±çš„è§’è‰²ï¼Œé¡µé¢æž„å»ºå™¨ä¸ºå‘é€è€…ï¼Œè¾“å‡ºä¾‹è¡Œç¨‹åºä¸ºæŽ¥æ”¶è€…ã€‚
è¾“å‡ºä¾‹è¡Œç¨‹åºå¦‚å¸¸å¤„ç† |\box255|ï¼Œæ·»åŠ&nbsp;å…¶ä»–é¡¹ç›®æ¯”å¦‚æ’å…¥é¡¹å’Œé¡µçœ‰é¡µè„šåˆ°è¯¥é¡µé¢ï¼Œ
ç„¶åŽç”¨ |\shipout| å‘½ä»¤å°†é¡µé¢è¾“å‡ºåˆ° \dvifile ã€‚%
ï¼ˆæœ‰äº›è¾“å‡ºä¾‹è¡Œç¨‹åºå¯èƒ½æœ‰ä¸åŒçš„è¡Œä¸ºã€‚ï¼‰
^^{\dvifile//æ¥è‡ªè¾“å‡ºä¾‹è¡Œç¨‹åºçš„ç´&nbsp;æ}%
ä»Ž \TeX\ çš„è§’åº¦çœ‹ï¼Œè¾“å‡ºä¾‹è¡Œç¨‹åºè¾“å‡ºæˆ–ä¸è¾“å‡ºé¡µé¢éƒ½æ—&nbsp;æ‰€è°“ï¼›
è¾“å‡ºä¾‹è¡Œç¨‹åºçš„æƒŸä¸€èŒè´£æ˜¯ä»¥æŸç§æ–¹å¼å¤„ç†|\box255|ã€‚
\par}

%{\tighten
%It's important to realize that the best place to break a page isn't
%necessarily the last possible place to break the page.
%Penalties and other considerations may cause the page break
%to come earlier.
%Furthermore, \TeX\ appends items to the main vertical list in batches,
%not just singly.
%The lines of a paragraph are an example of such a batch.
%For these reasons the page builder usually has items left over when it
%breaks a page.
%These leftover items then form the beginning of the main vertical list
%for the next page (possibly in the middle of a batch).
%Because items are carried over from one page to another,
%you can't assume that as \TeX\ is processing
%input, the current page number accurately reflects the page on which the
%corresponding output will appear.  See \knuth{pages~110--114} for a full
%description of \TeX's page-breaking rules.
%\par}
{\tighten
è®¤è¯†åˆ°æœ€ä½³åˆ†é¡µç‚¹æœªå¿…æ˜¯æœ€åŽçš„åˆ†é¡µç‚¹æ˜¯éžå¸¸é‡è¦çš„ã€‚
æƒ©ç½šé¡¹å’Œå…¶ä»–è€ƒè™‘å¯èƒ½å¯¼è‡´åˆ†é¡µç‚¹å‡ºçŽ°åœ¨å‰é¢ã€‚
æ­¤å¤–ï¼Œ\TeX\ æ˜¯æ‰¹é‡åœ°è€Œä¸æ˜¯é€ä¸ªåœ°æ·»åŠ&nbsp;é¡¹ç›®åˆ°ä¸»ç«–ç›´åˆ—çš„ã€‚
æ®µè½çš„å„è¡Œæ˜¯æ‰¹é‡çš„ä¾‹å­ã€‚
ç”±äºŽè¿™äº›åŽŸå›&nbsp;é¡µé¢æž„å»ºå™¨åˆ†é¡µæ—¶é€šå¸¸ä¼šå‰©ä½™ä¸€äº›é¡¹ç›®ã€‚
è¿™äº›å‰©ä½™é¡¹ç›®ç»„æˆäº†ä¸‹ä¸€é¡µçš„ä¸»ç«–ç›´åˆ—çš„å¼€å§‹éƒ¨åˆ†
ï¼ˆå¯èƒ½åœ¨æ‰¹é‡çš„ä¸­é—´ï¼‰ã€‚
ç”±äºŽé¡¹ç›®å¯èƒ½è¢«ä»Žä¸€ä¸ªé¡µé¢ç§»åŠ¨åˆ°å¦ä¸€ä¸ªé¡µé¢ï¼Œ
ä½&nbsp;æ—&nbsp;æ³•å‡å®š \TeX\ å¤„ç†è¾“å…¥æ—¶çš„å½“å‰é¡µç&nbsp;å‡†ç¡®è¡¨ç¤ºäº†å¯¹åº”è¾“å‡ºä¸­æ˜¾ç¤ºçš„é¡µç&nbsp;ã€‚
åœ¨ \knuth{ç¬¬~110--114~é¡µ}ä¸­æœ‰ \TeX\ çš„åˆ†é¡µè§„åˆ™çš„å®Œæ•´è¯´æ˜Žã€‚
\par}

\endconcept


%\conceptindex{page breaks}
%\concept{page break}
\conceptindex{åˆ†é¡µ}
\concept{åˆ†é¡µç‚¹}

%A \defterm{page break} is a place in your document where \TeX\ ends a
%page and (except at the end of the document) starts a new one.
%See \conceptcit{page} for the process that \TeX\ goes through in choosing
%a page break.
\defterm{åˆ†é¡µç‚¹}ï¼ˆpage breakï¼‰æ˜¯æ–‡æ¡£ä¸­ \TeX\
ç»“æŸä¸€ä¸ªé¡µé¢å¹¶ï¼ˆé™¤éžåœ¨æ–‡æ¡£ç»“å°¾å¤„ï¼‰å¼€å§‹æ–°é¡µé¢çš„ä½ç½®ã€‚
åœ¨\conceptcit{é¡µé¢}ä¸­ä»‹ç»äº† \TeX\ é€‰æ‹©åˆ†é¡µç‚¹çš„è¿‡ç¨‹ã€‚

%You can control \TeX's choice of page breaks in several ways:
%\ulist
%\li You can insert a penalty (\xref{vpenalty})
%^^{penalties//in vertical lists}
%between two items in the main vertical list.  A positive
%penalty discourages \TeX\ from breaking the page
%there, while a negative penalty---a bonus, in other words---%
%encourages \TeX\ to break the page there.  A penalty of $10000$
%or more prevents a
%page break, while a penalty of $-10000$ or less forces a page break.
%You can get the same effects with the |\break| and
%|\nobreak| commands \ctsref{vbreak}.
ä½&nbsp;å¯ä»¥ç”¨ä»¥ä¸‹å‡&nbsp;ç§æ–¹å¼æŽ§åˆ¶ \TeX\ å¯¹åˆ†é¡µç‚¹çš„é€‰æ‹©ï¼š
\ulist
\li ä½&nbsp;å¯ä»¥æ’å…¥æƒ©ç½šé¡¹ï¼ˆ\xref{vpenalty}ï¼‰
^^{æƒ©ç½š//åœ¨ç«–ç›´åˆ—è¡¨ä¸­}
åˆ°ä¸»ç«–ç›´åˆ—çš„ä¸¤ä¸ªé¡¹ç›®ä¹‹é—´ã€‚
æ­£æƒ©ç½šå€¼é˜»ç¢ \TeX\ åœ¨æ­¤å¤„åˆ†é¡µï¼Œ
è€Œè´Ÿæƒ©ç½šå€¼â€”â€”æ¢è¨€ä¹‹ï¼Œå¥–åŠ±å€¼â€”â€”é¼“åŠ± \TeX\ åœ¨æ­¤å¤„åˆ†é¡µã€‚
å¤§äºŽæˆ–ç­‰äºŽ $10000$ çš„æƒ©ç½šå€¼é˜»æ­¢åˆ†é¡µï¼Œ
è€Œå°äºŽæˆ–ç­‰äºŽ $-10000$ çš„æƒ©ç½šå€¼å¼ºåˆ¶åˆ†é¡µã€‚
ä½&nbsp;å¯ä»¥ç”¨ |\break| å’Œ |\nobreak| \ctsref{vbreak} å‘½ä»¤å¾—åˆ°ç›¸åŒçš„ç»“æžœã€‚

%\li You can adjust the penalties associated with page breaking
%by assigning different values to \TeX's page-breaking
%\refterm{parameters:parameter}.
\li ä½&nbsp;å¯ä»¥é€šè¿‡æ”¹å˜ \TeX\ çš„åˆ†é¡µ\refterm{å‚æ•°}çš„å€¼æ¥è°ƒæ•´åˆ†é¡µæƒ©ç½šå€¼ã€‚

%\li You can enclose a sequence of paragraphs
%or other items in the main vertical list within a \refterm{vbox},
%thus preventing \TeX\ from breaking the page anywhere within the sequence.
%\endulist
\li ä½&nbsp;å¯ä»¥å°†ä¸»ç«–ç›´åˆ—çš„ä¸€ç³»åˆ—æ®µè½æˆ–è€…å…¶ä»–é¡¹ç›®æ”¾å…¥\refterm{ç«–ç›´ç›’å­}ï¼Œ
ä»Žè€Œé˜»æ­¢ \TeX\ åœ¨å®ƒä»¬ä¹‹é—´çš„ä»»ä½•ä½ç½®åˆ†é¡µã€‚
\endulist

%Once \TeX\ has chosen a page break, it places the portion of the main vertical
%list that precedes the break into |\box255|.
%It then calls the current \refterm{output routine}
%to process |\box255| and eventually ships its contents to the \dvifile.
%^^{\dvifile//material from output routine}
%The output routine must
%also handle \refterm{insertions}, such as footnotes, that \TeX\ has accumulated
%while processing the page.
ä¸€æ—¦ \TeX\ é€‰å®šäº†åˆ†é¡µç‚¹ï¼Œ
å®ƒå°±å°†è¯¥ä¸»ç«–ç›´åˆ—ä¸­ä½äºŽåˆ†é¡µç‚¹ä¹‹å‰çš„å†…å®¹æ”¾å…¥ |\box255|ã€‚
æŽ¥ç€å®ƒè°ƒç”¨å½“å‰çš„\refterm{è¾“å‡ºä¾‹è¡Œç¨‹åº}å¤„ç† |\box255|ï¼Œ
æœ€ç»ˆè¾“å‡ºé¡µé¢å†…å®¹åˆ° \dvifile ã€‚
^^{\dvifile//æ¥è‡ªè¾“å‡ºä¾‹è¡Œç¨‹åºçš„ç´&nbsp;æ}
è¾“å‡ºä¾‹è¡Œç¨‹åºè¿˜å¾—å¤„ç† \TeX\ åŠ&nbsp;å·¥é¡µé¢æ—¶ç§¯ç´¯çš„\refterm{æ’å…¥é¡¹}ï¼Œæ¯”å¦‚è„šæ³¨ã€‚

%It's useful to know the places where \TeX\ can break a page:
%\ulist
%\li At glue, provided that the item preceding the glue is
%a box, a whatsit, a mark, or an insertion.
%When \TeX\ breaks a page at glue, it makes the break at the top
%of the glue space and forgets about the rest of the glue.
%\li At a kern that's immediately followed by glue.
%\li At a penalty, possibly between the lines of a paragraph.
%\endulist
%When \TeX\ breaks a page, it discards any
%sequence of glue, kerns, and penalty items that follows the break point.
æœ€å¥½èƒ½çŸ¥é“ \TeX\ åœ¨ä»€ä¹ˆåœ°æ–¹å¯ä»¥åˆ†é¡µï¼š
\ulist
\li åœ¨ç²˜è¿žå¤„ï¼Œåªè¦åœ¨ç²˜è¿žä¹‹å‰çš„é¡¹ç›®æ˜¯ä¸€ä¸ªç›’å­ï¼Œå°çŽ©æ„ï¼Œæ&nbsp;‡è®°ï¼Œæˆ–è€…æ’å…¥é¡¹ã€‚
å½“ \TeX\ åœ¨ç²˜è¿žå¤„åˆ†é¡µæ—¶ï¼Œå®ƒæŠŠåˆ†é¡µç‚¹æ”¾åœ¨è¯¥ç²˜è¿žé—´è·çš„é¡¶éƒ¨ï¼Œå¹¶å¿½ç•¥è¯¥ç²˜è¿žçš„å…¶ä»–å€¼ã€‚
\li åœ¨ç´§æŽ’å¤„ï¼Œåªè¦è¯¥ç´§æŽ’ä¹‹åŽæ˜¯ä¸€ä¸ªç²˜è¿žã€‚
\li åœ¨æƒ©ç½šå¤„ï¼Œè¿™å¯èƒ½å‡ºçŽ°åœ¨æ®µè½çš„ä¸¤è¡Œä¹‹é—´ã€‚
\endulist
\TeX\ åˆ†é¡µæ—¶å°†ä¸¢å¼ƒåˆ†é¡µç‚¹ä¹‹åŽçš„ä»»æ„å¤šä¸ªç²˜è¿žï¼Œç´§æŽ’å’Œæƒ©ç½šé¡¹ã€‚

\endconcept


%\concept page builder
\concept é¡µé¢æž„å»ºå™¨

%See \conceptcit{page}.
%\endconcept
è§\conceptcit{é¡µé¢}ã€‚
\endconcept


%\concept {page layout}
\concept {é¡µé¢å¸ƒå±€}

%\bix^^{margins}
%\bix^^{headers}
%\bix^^{footers}
%When you're designing a document, you need to decide on its
%\defterm{page layout}: the page size,
%the margins on all four sides, the headers and footers, if any,
%that appear at the top and bottom of the page,
%and the amount of space between the body of the text and the headers or
%footers.  \TeX\ has defaults for all of these.  It assumes an $8 \frac1/2$-%
%by-$11$-inch page with margins of approximately one inch
%on all four sides, no header,
%and a footer consisting of a centered page number.
\bix^^{è¾¹è·}
\bix^^{é¡µçœ‰}
\bix^^{é¡µè„š}
åœ¨è®¾è®¡æ–‡æ¡£æ—¶ï¼Œä½&nbsp;éœ€è¦å†³å®šå…¶\defterm{é¡µé¢å¸ƒå±€}ï¼ˆpage layoutï¼‰ï¼š
é¡µé¢å¤§å°ï¼Œå››ä¸ªæ–¹å‘çš„è¾¹è·ï¼Œé¡µçœ‰å’Œé¡µè„šï¼Œ
è‹¥å­˜åœ¨çš„è¯ï¼Œè¿˜æœ‰æ­£æ–‡å’Œé¡µçœ‰é¡µè„šä¹‹é—´çš„é—´éš”å¤§å°ã€‚
å¯¹ä¸Šè¿°è¿™äº› \TeX\ éƒ½æœ‰é»˜è®¤å€¼ï¼š
å®ƒè®¾å®šé¡µé¢å¤§å°ä¸º $8 \frac1/2$è‹±å¯¸ä¹˜$11$è‹±å¯¸ï¼Œå››ä¸ªè¾¹è·çº¦ä¸ºä¸€è‹±å¯¸ï¼Œ
æ²¡æœ‰é¡µçœ‰ï¼Œé¡µè„šæ˜¯å±…ä¸­çš„é¡µç&nbsp;ã€‚

%The margins are determined jointly by the four parameters
%^|\hoffset|, ^|\voffset|, ^|\hsize|, and ^|\vsize| (see
%``margins'', \xrefpg{margins},
%for advice on how to adjust them).
%\eix^^{margins}
%The header normally consists of a single line that appears at the top of each
%page, within the top margin area.  You can set it by assigning
%a \refterm{token} list to the ^|\headline| parameter (\xref{\headline}).
%Similarly,
%the footer normally consists of a single line that appears at the bottom
%of each
%page, within the bottom margin area.  You can set it by assigning
%a \refterm{token} list to the ^|\footline| parameter (\xref{\footline}).
%For example, the input:
%\csdisplay
%\headline = {Baby's First Document\dotfill Page\folio}
%\footline = {\hfil}
%|
%produces a header line like this on each page:
%\vdisplay{
%\dimen0 = \hsize
%\advance \dimen0 by -\parindent
%\hbox to \dimen0{Baby's First Document\dotfill Page 19}}
%\noindent
%and no footer line.
è¾¹è·ç”±å››ä¸ªå‚æ•° ^|\hoffset|ï¼Œ^|\voffset|ï¼Œ^|\hsize| å’Œ ^|\vsize| å…±åŒç¡®å®š
ï¼ˆåœ¨\xrefpg{è¾¹è·}çš„â€œè¾¹è·â€æ¦‚å¿µä¸­æœ‰å¦‚ä½•è°ƒæ•´å®ƒä»¬çš„æŒ‡å—ï¼‰ã€‚
\eix^^{è¾¹è·}
é¡µçœ‰æ˜¯åœ¨æ¯ä¸ªé¡µé¢é¡¶éƒ¨çš„ä¸€è¡Œå†…å®¹ï¼Œä½äºŽä¸Šè¾¹è·åŒºåŸŸä¸­ã€‚
é€šè¿‡å°†ä¸€ä¸ª\refterm{è®°å·}åˆ—è¡¨èµ‹å€¼ç»™ ^|\headline| å‚æ•°ï¼ˆ\xref{\headline}ï¼‰ï¼Œ
ä½&nbsp;å°±å¯ä»¥è®¾å®šé¡µçœ‰ã€‚ç±»ä¼¼åœ°ï¼Œ
é¡µè„šæ˜¯åœ¨æ¯ä¸ªé¡µé¢åº•éƒ¨çš„ä¸€è¡Œå†…å®¹ï¼Œä½äºŽä¸‹è¾¹è·åŒºåŸŸä¸­ã€‚
é€šè¿‡å°†ä¸€ä¸ª\refterm{è®°å·}åˆ—è¡¨èµ‹å€¼ç»™ ^|\footline| å‚æ•°ï¼ˆ\xref{\footline}ï¼‰ï¼Œ
ä½&nbsp;å°±å¯ä»¥è®¾å®šé¡µè„šã€‚
ä¾‹å¦‚ï¼Œä¸‹é¢çš„è¾“å…¥ï¼š
\csdisplay
\headline = {Baby's First Document\dotfill Page\folio}
\footline = {\hfil}
|
å°†ç»™æ¯ä¸ªé¡µé¢ç”Ÿæˆç±»ä¼¼ä¸‹é¢çš„é¡µçœ‰è¡Œ
\vdisplay{
\dimen0 = \hsize
\advance \dimen0 by -\parindent
\hbox to \dimen0{Baby's First Document\dotfill Page 19}}
\noindent
è€Œé¡µè„šè¡Œæ˜¯ç©ºç™½çš„ã€‚

%You can use marks to place the current topic of a section
%of text into the header or footer.
%^^{marks//with headers or footers}
%See \conceptcit{mark} for an explanation of how to do this.
%\eix^^{headers}
%\eix^^{footers}
%\endconcept
åˆ©ç”¨æ&nbsp;‡è®°ï¼Œä½&nbsp;å¯ä»¥å°†å½“å‰ä¸»é¢˜æˆ–èŠ‚æ&nbsp;‡é¢˜æ”¾å…¥é¡µçœ‰æˆ–é¡µè„šä¸­ã€‚
^^{æ&nbsp;‡è®°//ç”¨äºŽé¡µçœ‰å’Œé¡µè„š}
åœ¨\conceptcit{æ&nbsp;‡è®°}è¿™é‡Œå°†è¯¦ç»†è§£é‡Šå¦‚ä½•åšåˆ°è¿™äº›ã€‚
\eix^^{é¡µçœ‰}
\eix^^{é¡µè„š}
\endconcept

%\conceptindex{paragraphs}
%\concept paragraph
\conceptindex{æ®µè½}
\concept æ®µè½

%Intuitively, a \defterm{paragraph} is a sequence of input lines that's
%ended by a blank line, by a ^|\par| command \ctsref{\@par},
%^^|\par//ending a paragraph with|
%or by an intrinsically vertical command, such as |\vskip|.
%More precisely, a paragraph is a sequence of commands that \TeX\ processes
%in ordinary horizontal mode.
%When \TeX\ has collected an entire paragraph, it forms it into a sequence of
%lines by choosing line breaks \seeconcept{line break}.
%The result is a list of hboxes with glue, interline penalties,
%and interspersed vertical material between them.
%Each hbox is a single line, and the glue is the interline glue.
ç›´è§‚åœ°ï¼Œ\defterm{æ®µè½}ï¼ˆparagraphï¼‰å°±æ˜¯ä¸€ç³»åˆ—è¾“å…¥è¡Œï¼Œ
å¹¶ç”¨ç©ºè¡Œæˆ–è€… ^|\par| å‘½ä»¤\ctsref{\@par}ï¼Œ
æˆ–è€…ç±»ä¼¼ |\vskip| çš„æœ¬è´¨ä¸Šçš„ç«–ç›´æ¨¡å¼å‘½ä»¤ç»“æŸã€‚
^^|\par//ç”¨äºŽç»“æŸæ®µè½|
æ›´å‡†ç¡®åœ°è¯´ï¼Œæ®µè½å°±æ˜¯ \TeX\ åœ¨æ™®é€šæ°´å¹³æ¨¡å¼ä¸­å¤„ç†çš„ä¸€ç³»åˆ—å‘½ä»¤ã€‚
\TeX\ æ”¶é›†æ•´ä¸ªæ®µè½çš„å†…å®¹åŽï¼Œå°±é€šè¿‡é€‰æ‹©æ–­è¡Œç‚¹\seeconcept{æ–­è¡Œç‚¹}å°†å®ƒåˆ†ä¸ºå¤šè¡Œã€‚
å¾—åˆ°çš„ç»“æžœæ˜¯ä¸€ç³»åˆ—æ°´å¹³ç›’å­ï¼Œä»¥åŠå®ƒä»¬ä¹‹é—´çš„ç²˜è¿žï¼Œè¡Œé—´æƒ©ç½šå’Œç©¿æ’çš„ç«–ç›´ç´&nbsp;æã€‚
å…¶ä¸­çš„æ¯ä¸ªæ°´å¹³ç›’å­å°±æ˜¯ä¸€ä¸ªæ–‡æœ¬è¡Œï¼Œè€Œè¿™äº›ç²˜è¿žå°±æ˜¯è¡Œé—´ç²˜è¿žã€‚

%\eject
%\TeX\ starts a paragraph when it's in a vertical mode
%and encounters an inherently horizontal command.
%In particular, it's in a vertical mode when it's just finished a paragraph,
%so the horizontal material on the line after a blank input line starts the
%next paragraph in a natural way.
%There are many kinds of inherently horizontal commands, but the most common
%kind is an ordinary character, e.g., a letter.
å½“ \TeX\ åœ¨ç«–ç›´æ¨¡å¼ä¸­ç¢°åˆ°æœ¬è´¨ä¸Šä¸ºæ°´å¹³æ¨¡å¼çš„å‘½ä»¤ï¼Œå®ƒå¼€å§‹ä¸€ä¸ªæ–°æ®µè½ã€‚
ç‰¹åˆ«åœ°ï¼Œåœ¨åˆšç»“æŸä¸€ä¸ªæ®µè½çš„æ—¶å€™ï¼Œå®ƒä½äºŽç«–ç›´æ¨¡å¼ï¼Œ
å›&nbsp;æ­¤åœ¨ç©ºç™½è¾“å…¥è¡Œä¹‹åŽçš„æ°´å¹³ç´&nbsp;æè‡ªç„¶å°±å¼€å§‹ä¸‹ä¸€ä¸ªæ®µè½ã€‚
æœ¬è´¨ä¸Šä¸ºæ°´å¹³æ¨¡å¼çš„å‘½ä»¤æœ‰å¥½å¤šç§ï¼Œä½†æœ€å¸¸è§çš„å°±æ˜¯æ™®é€šå­—ç¬¦ï¼Œæ¯”å¦‚ä¸€ä¸ªå­—æ¯ã€‚

%\looseness = -1
%The ^|\indent| and ^|\noindent| commands
%(\pp\xrefn{\indent},~\xrefn{\noindent})
%are also inherently horizontal commands that tell
%\TeX\ either to indent or not to indent the beginning of a paragraph.
%Any other horizontal command in vertical
%mode causes \TeX\ to do an implicit |\indent|.
%Once \TeX\ has started a paragraph, it's in ordinary horizontal mode.
%It first obeys any commands that are in ^|\everypar|.
%It then proceeds to collect items for the paragraph until it gets a signal
%that the paragraph is ended.
%At the end of the paragraph it
%resets the paragraph shape parameters ^|\parshape|, |\hang!-indent|,
%^^|\hangindent|
%and ^|\looseness|.
\looseness = -1
^|\indent| å’Œ ^|\noindent| å‘½ä»¤ï¼ˆè§\xrefn{\indent},~\xrefn{\noindent}é¡µï¼‰
ä¹Ÿå±žäºŽæœ¬è´¨ä¸Šä¸ºæ°´å¹³æ¨¡å¼çš„å‘½ä»¤ï¼Œ
å®ƒä»¬è®© \TeX\ åœ¨æ®µè½å¼€å§‹ç¼©è¿›æˆ–ä¸ç¼©è¿›ã€‚
å…¶ä»–æ°´å¹³æ¨¡å¼å‘½ä»¤å‡ºçŽ°åœ¨ç«–ç›´æ¨¡å¼æ—¶éƒ½ä¼šå¯¼è‡´ \TeX\ éšæ€§æ‰§è¡Œ |\indent|ã€‚
ä¸€æ—¦ \TeX\ å¼€å§‹ä¸€ä¸ªæ–°æ®µè½ï¼Œå®ƒå°±å¤„äºŽæ™®é€šæ°´å¹³æ¨¡å¼ä¸­ã€‚
å®ƒé¦–å…ˆæ‰§è¡Œ ^|\everypar| ä¸­çš„å‘½ä»¤ï¼Œ
ç„¶åŽç€æ‰‹æ”¶é›†è¯¥æ®µè½çš„é¡¹ç›®ï¼Œç›´åˆ°å®ƒå¾—åˆ°æ®µè½ç»“æŸçš„ä¿¡å·ã€‚
åœ¨æ®µè½ç»“å°¾å¤„ï¼Œå®ƒé‡ç½®æ®µè½å½¢çŠ¶å‚æ•° ^|\parshape|ï¼Œ
|\hangindent| ^^|\hangindent| å’Œ ^|\looseness|ã€‚

%\TeX\ ordinarily translates a blank line into |\par|.
%It also
%inserts a |\par| into the input whenever it's in horizontal mode and
%sees an intrinsically vertical command.
%So ultimately the thing that ends a paragraph is always a |\par| command.
\TeX\ ä¸€èˆ¬å°†ä¸€ä¸ªç©ºè¡Œè½¬æ¢ä¸ºä¸€ä¸ª |\par| å‘½ä»¤ã€‚
å½“å®ƒåœ¨æ°´å¹³æ¨¡å¼ç¢°åˆ°ä¸€ä¸ªæœ¬è´¨ä¸Šçš„ç«–ç›´æ¨¡å¼å‘½ä»¤æ—¶ï¼Œ
å®ƒåŒæ&nbsp;·æ’å…¥ |\par| å‘½ä»¤åˆ°è¾“å…¥ä¸­ã€‚
å›&nbsp;æ­¤ç»“æŸæ®µè½çš„æœ€ç»ˆéƒ½æ˜¯ä¸€ä¸ª |\par| å‘½ä»¤ã€‚

%When \TeX\ receives a |\par| command, it first
%fills out\footnote{%
%More precisely, it executes the commands:
%\csdisplay
%\unskip \penalty10000 \hskip\parfillskip
%|
%thus appending items for these commands
%to the end of the current horizontal list.}
%the paragraph it's working on.
%It then breaks the paragraph into lines,
%adds the resulting list of items to the enclosing vertical list,
%and exercises the page builder
%(in the case where the enclosing vertical list is the main vertical list).
%If the paragraph was ended by an intrinsically vertical command,
%\TeX\ then executes that command.
å½“ \TeX\ æ”¶åˆ°ä¸€ä¸ª |\par| å‘½ä»¤æ—¶ï¼Œå®ƒé¦–å…ˆå¡«æ»¡ \footnote{%
å‡†ç¡®åœ°è¯´ï¼Œå®ƒæ‰§è¡Œä¸‹åˆ—è¿™äº›å‘½ä»¤ï¼š
\csdisplay
\unskip \penalty10000 \hskip\parfillskip
|
å¹¶å°†æ‰€å¾—é¡¹ç›®æ·»åŠ&nbsp;åˆ°å½“å‰ç«–ç›´åˆ—çš„æœ€åŽé¢ã€‚}
å½“å‰æ®µè½ã€‚æŽ¥ç€å°†è¯¥æ®µè½åˆ†ä¸ºå¤šè¡Œï¼Œ
å¹¶å°†æ‰€å¾—ç»“æžœæ·»åŠ&nbsp;åˆ°æ‰€åœ¨çš„ç«–ç›´åˆ—ä¸­ï¼Œ
ç„¶åŽæ‰§è¡Œé¡µé¢æž„å»ºå™¨ï¼ˆä»…å½“æ‰€åœ¨çš„ç«–ç›´åˆ—å°±æ˜¯ä¸»ç«–ç›´åˆ—æ—¶ï¼‰ã€‚
å¦‚æžœè¯¥æ®µè½æ˜¯ç”¨æœ¬è´¨ä¸Šä¸ºç«–ç›´æ¨¡å¼çš„å‘½ä»¤ç»“æŸçš„ï¼Œ
\TeX\ æŽ¥ä¸‹æ¥å°†æ‰§è¡Œè¯¥å‘½ä»¤ã€‚

\endconcept

%\conceptindex{parameters}
%\concept parameter
\conceptindex{å‚æ•°}
\concept å‚æ•°

%The term \defterm{parameter} has two different meanings---it can refer
%either to a \TeX\ parameter or to a macro parameter.
\defterm{å‚æ•°}ï¼ˆparameterï¼‰è¿™ä¸ªæœ¯è¯­æœ‰ä¸¤ä¸ªä¸åŒçš„å«ä¹‰
â€”â€”å®ƒå¯ä»¥è¡¨ç¤º \TeX\ å‚æ•°æˆ–è€…è¡¨ç¤ºå®å‚æ•°ã€‚

%A \TeX\ parameter is a \refterm{control sequence} that names
%a value.
%The value of a parameter can be a \refterm{number}, a \refterm{dimension},
%an amount of \refterm{glue} or muglue, or a \refterm{token list}.
%For example, the ^|\parindent| parameter
%specifies the distance that \TeX\ skips at the start of an
%indented  paragraph.
\TeX\ å‚æ•°æ˜¯ä¸€ä¸ª\refterm{æŽ§åˆ¶åºåˆ—}ï¼Œå®ƒæ˜¯æŸä¸ªå€¼çš„åç§°ã€‚
å‚æ•°çš„å€¼å¯ä»¥æ˜¯\refterm{æ•°å€¼}ï¼Œ\refterm{é•¿åº¦}ï¼Œ
ä¸€å®šå¤§å°çš„\refterm{ç²˜è¿ž}æˆ–æ•°å­¦ç²˜è¿žï¼Œæˆ–è€…æ˜¯ä¸€ä¸ª\refterm{è®°å·åˆ—è¡¨}.
ä¾‹å¦‚ï¼Œ^|\parindent| å‚æ•°æŒ‡å®šäº† \TeX\ åœ¨ç¼©è¿›æ®µè½å¼€å¤´æ‰€è·³è¿‡è·ç¦»çš„å¤§å°ã€‚

%You can use the control sequence for a parameter either to retrieve the value
%of the parameter or to set that value.  \TeX\ interprets the control sequence
%as a request for a value if it appears in a context where a value is expected,
%and as an \refterm{assignment} otherwise.
%^^{assignments}
%For example:
%\csdisplay
%\hskip\parindent
%|
%produces horizontal \refterm{glue} whose natural size is given by |\parindent|,
%while:
%\csdisplay
%\parindent = 2pc  % (or \parindent 2pc)
%|
%sets |\parindent| to a length of two picas.  The assignment:
%\csdisplay
%\parindent = 1.5\parindent
%|
%uses |\parindent| in both ways.  Its effect is to multiply the value of
%|\parindent| by $1.5$.
ä½&nbsp;å¯ä»¥å¯¹ \TeX\ å‚æ•°çš„æŽ§åˆ¶åºåˆ—å–å€¼æˆ–èµ‹å€¼ã€‚
å¦‚æžœè¯¥æŽ§åˆ¶åºåˆ—å‡ºçŽ°åœ¨éœ€è¦å–å€¼çš„åœ°æ–¹ï¼Œ\TeX\ å°†å®ƒè§£é‡Šä¸ºå–å€¼ï¼›
å¦åˆ™ï¼Œè§£é‡Šä¸º\refterm{èµ‹å€¼}ã€‚
^^{èµ‹å€¼}
ä¾‹å¦‚ï¼š
\csdisplay
\hskip\parindent
|
ç”Ÿæˆä¸€ä¸ªè‡ªç„¶å¤§å°ä¸º |\parindent| çš„æ°´å¹³\refterm{ç²˜è¿ž}ï¼Œè€Œ
\csdisplay
\parindent = 2pc  % (or \parindent 2pc)
|
è®¾ç½® |\parindent| ç­‰äºŽä¸¤æ´¾å¡çš„é•¿åº¦ã€‚è€Œä¸‹åˆ—èµ‹å€¼ï¼š
\csdisplay
\parindent = 1.5\parindent
|
ç”¨ä¸¤ç§æ–¹å¼ä½¿ç”¨ |\parindent|ã€‚å…¶ç»“æžœæ˜¯å°† |\parindent| çš„å€¼ä¹˜ä»¥ $1.5$ å€ã€‚

%You can think of a parameter as a built-in \refterm{register}.
%^^{registers//parameters as}
%You'll find a complete list of the \TeX\ parameters on \knuth{pages~272--275}.
ä½&nbsp;å¯ä»¥å°† \TeX\ å‚æ•°è§†ä¸ºå†…ç½®çš„\refterm{å¯„å­˜å™¨}ã€‚
^^{å¯„å­˜å™¨//ä½œä¸ºå‚æ•°}
åœ¨\knuth{ç¬¬~272--275~é¡µ}ä¸­ä½&nbsp;å¯ä»¥æ‰¾åˆ° \TeX\ å‚æ•°çš„å®Œæ•´åˆ—è¡¨ã€‚

%A \refterm{macro} parameter is a placeholder for text that is to be
%plugged into the definition of a macro.  See \conceptcit{macro}
%for more information about this kind of parameter.
\refterm{å®}å‚æ•°æ˜¯ä¸€ä¸ªå&nbsp;ä½ç¬¦ï¼Œç”¨äºŽæ’å…¥æ–‡æœ¬åˆ°å®å®šä¹‰ä¸­ã€‚
åœ¨\conceptcit{å®}è¿™é‡Œæœ‰è¿™ç±»å‚æ•°çš„æ›´å¤šä¿¡æ¯ã€‚

\endconcept


%\conceptindex{penalties}
%\concept penalty
\conceptindex{æƒ©ç½š}
\concept æƒ©ç½š

%A \defterm{penalty} is an item that you can include in a
%horizontal, vertical, or math list
%in order to discourage \TeX\ from breaking the list
%at that point or encourage \TeX\ to break the list there.
%^^{horizontal lists//penalties in}
%^^{vertical lists//penalties in}
%A positive penalty indicates a bad break point, while
%a negative penalty indicates a good break point.
%Breaking an
%ordinary horizontal
%list produces a \refterm{line break}, while breaking an
%ordinary vertical list produces
%a \refterm{page break}.
%(A penalty has no effect in restricted horizontal or
%internal vertical \refterm{mode}.)
\defterm{æƒ©ç½š}æ˜¯ä¸€ä¸ªä½&nbsp;å¯ä»¥æ”¾åœ¨æ°´å¹³ã€ç«–ç›´æˆ–æ•°å­¦åˆ—è¡¨ä¸­çš„é¡¹ç›®ï¼Œ
ç”¨äºŽé˜»ç¢æˆ–é¼“åŠ± \TeX\ åœ¨æ­¤å¤„æ–­å¼€è¯¥åˆ—è¡¨ã€‚
^^{æ°´å¹³åˆ—è¡¨//æ°´å¹³åˆ—è¡¨ä¸­çš„æƒ©ç½š}
^^{ç«–ç›´åˆ—è¡¨//ç«–ç›´åˆ—è¡¨ä¸­çš„æƒ©ç½š}
æ­£æƒ©ç½šå€¼è¡¨ç¤ºä¸€ä¸ªç³Ÿç³•æ–­å¼€ç‚¹ï¼Œè€Œè´Ÿæƒ©ç½šå€¼è¡¨ç¤ºä¸€ä¸ªè‰¯å¥½æ–­å¼€ç‚¹ã€‚
æ–­å¼€æ™®é€šæ°´å¹³åˆ—ç”Ÿæˆä¸€ä¸ª\refterm{æ–­è¡Œç‚¹}ï¼Œ
è€Œæ–­å¼€æ™®é€šç«–ç›´åˆ—ç”Ÿæˆä¸€ä¸ª\refterm{åˆ†é¡µç‚¹}ã€‚%
ï¼ˆåœ¨é™åˆ¶æ°´å¹³\refterm{æ¨¡å¼}æˆ–å†…éƒ¨ç«–ç›´æ¨¡å¼çš„æƒ©ç½šé¡¹æ—&nbsp;æ•ˆã€‚ï¼‰

%You can use the
%|\penalty| command (\pp\xrefn{hpenalty},~\xrefn{vpenalty})
%to insert a penalty explicitly.
%A penalty of $10000$ or more prevents a break, while a penalty of
%$-10000$  or less forces a break.
%\endconcept
ä½&nbsp;å¯ä»¥ç”¨ |\penalty| å‘½ä»¤ï¼ˆè§\xrefn{hpenalty},~\xrefn{vpenalty}\pp ï¼‰
ç›´æŽ¥æ’å…¥ä¸€ä¸ªæƒ©ç½šé¡¹ã€‚
å¤§äºŽæˆ–ç­‰äºŽ $10000$ çš„æƒ©ç½šå€¼é˜»æ­¢æ–­å¼€ã€‚
è€Œå°äºŽæˆ–ç­‰äºŽ $-10000$ çš„æƒ©ç½šå€¼å¼ºåˆ¶æ–­å¼€ã€‚
\endconcept


\concept{\plainTeX}

%\defterm{\PlainTeX} is the form of \TeX\ described in this
%book and in \texbook.  \PlainTeX\ is part of the standard \TeX\
%system, so documents that use only the facilities of \plainTeX\ can
%usually be transferred from one installation to another without
%difficulty.
\defterm{\PlainTeX} æ˜¯æœ¬ä¹¦å’Œ \texbook\ ä¸­æ‰€æè¿°çš„ \TeX\ å½¢å¼ã€‚
\PlainTeX\ åŒ…å«åœ¨æ&nbsp;‡å‡† \TeX\ ç³»ç»Ÿä¸­ï¼Œ
å›&nbsp;æ­¤ä»…ä½¿ç”¨ \plainTeX\ çš„æ–‡æ¡£é€šå¸¸å¾ˆå®¹æ˜“ä»Žä¸€ä¸ª \TeX\ ç³»ç»Ÿè½¬ç§»åˆ°å¦ä¸€ä¸ªä¸­ã€‚

%\PlainTeX\ consists of the \refterm{primitive} commands together with a
%large collection of macros and
%other definitions.  These additional definitions are given in
%\knuth{Appendix~B}.  They should also be in the file |plain.tex|
%somewhere in your computer system.
%\endconcept
\PlainTeX\ ç”±\refterm{åŽŸå§‹å‘½ä»¤}ï¼ŒåŠ&nbsp;ä¸Šå¤§é‡çš„å®å’Œå…¶ä»–å®šä¹‰ç»„æˆã€‚
åœ¨\knuth{é™„å½•~B}ä¸­ç»™å‡ºäº†è¿™äº›é™„åŠ&nbsp;å®šä¹‰ã€‚
å®ƒä»¬åº”è¯¥åŒæ&nbsp;·åŒ…å«åœ¨ä½&nbsp;çš„è®¡ç®—æœºç³»ç»Ÿçš„æŸä¸ª |plain.tex| æ–‡ä»¶ä¸­ã€‚
\endconcept


%\concept{primitive}
\concept{åŽŸå§‹çš„}

%A \defterm{primitive} \refterm{command} is one whose definition is built
%into the \TeX\ computer program.  In contrast, a command that is not
%primitive is defined by a \refterm{macro} or some other form of
%definition written in \TeX\ itself.  The commands in \refterm{\plainTeX}
%consist of the primitive commands together with
%other commands defined in terms of the
%primitive ones.
%\endconcept
\defterm{åŽŸå§‹çš„}ï¼ˆprimitiveï¼‰å‘½ä»¤æ˜¯åœ¨ \TeX\ ç¨‹åºå†…éƒ¨å°±å®šä¹‰å¥½çš„å‘½ä»¤ã€‚
ä½œä¸ºå¯¹æ¯”ï¼ŒéžåŽŸå§‹å‘½ä»¤æˆ–è€…æ˜¯ä»Ž\refterm{å®}å®šä¹‰å¾—åˆ°çš„ï¼Œ
æˆ–è€…æ˜¯ä»Ž \TeX\ ç¼–å†™çš„å…¶ä»–å½¢å¼çš„å®šä¹‰å¾—åˆ°çš„ã€‚
\refterm{\PlainTeX} çš„å‘½ä»¤ç”±åŽŸå§‹å‘½ä»¤åŠ&nbsp;ä¸Šç”¨åŽŸå§‹å‘½ä»¤å®šä¹‰çš„å…¶ä»–å‘½ä»¤ç»„æˆã€‚
\endconcept

\bookmark{2}{ä»¥Rå¼€å¤´}
%\concept {reference point}
\concept {åŸºå‡†ç‚¹}

%^^{baselines}
%^^{boxes//reference point of}
%The \defterm{reference point} of a \refterm{box} is the point where the
%left edge of the box intersects its \refterm{baseline}.  When \TeX\ is
%processing a \refterm{horizontal:horizontal list} or \refterm{vertical
%list}, it uses the reference points of the boxes in the list to line up
%those boxes horizontally or vertically \seeconcept{box}.
%\endconcept
^^{åŸºçº¿}
^^{ç›’å­//ç›’å­çš„åŸºå‡†ç‚¹}
\refterm{ç›’å­}çš„\defterm{åŸºå‡†ç‚¹}ï¼ˆreference pointï¼‰æ˜¯ç›’å­å·¦è¾¹ç¼˜ä¸Ž\refterm{åŸºçº¿}çš„äº¤ç‚¹ã€‚
åœ¨å¤„ç†\refterm{æ°´å¹³åˆ—è¡¨}æˆ–\refterm{ç«–ç›´åˆ—è¡¨}æ—¶ï¼Œ
\TeX\ ç”¨åˆ—è¡¨ä¸­å„ç›’å­çš„åŸºå‡†ç‚¹æ°´å¹³æˆ–ç«–ç›´å¯¹é½è¿™äº›ç›’å­\seeconcept{ç›’å­}ã€‚
\endconcept

%\conceptindex{registers}
%\concept register
\concept å¯„å­˜å™¨

%A \defterm{register} is a named location for storing a value.
%It is much like a variable in a programming language.
%\TeX\ has five kinds of registers, as shown in the following table:
\defterm{å¯„å­˜å™¨}ï¼ˆregisterï¼‰æ˜¯ç”¨äºŽå­˜å‚¨æ•°å€¼çš„å‘½åä½ç½®ã€‚
å®ƒå¾ˆåƒç¼–ç¨‹è¯­è¨€ä¸­çš„ä¸€ä¸ªå˜é‡ã€‚\TeX\ æœ‰äº”ç§å¯„å­˜å™¨ï¼Œå¦‚ä¸‹è¡¨æ‰€ç¤ºï¼š

%\vdisplay{\tabskip 10pt\halign{\tt #\hfil &amp;#\hfil\cr
%{\it Register type}&amp;{\it Contents}\cr
%box&amp;a \refterm{box} \idxref{box registers}\cr
%count&amp;a \refterm{number} \idxref{count registers}\cr
%dimen&amp;a \refterm{dimension} \idxref{dimension registers}\cr
%muskip&amp;\refterm{muglue} \idxref{muglue registers}\cr
%skip&amp;\refterm{glue} \idxref{glue registers}\cr
%toks&amp;a \refterm{token} list\idxref{token registers}\cr}}
\vdisplay{\tabskip 10pt\halign{\tt #\hfil &amp;#\hfil\cr
{\it å¯„å­˜å™¨ç±»åž‹}&amp;{\it å­˜å‚¨å†…å®¹}\cr
box&amp;ä¸€ä¸ª\refterm{ç›’å­} \idxref{ç›’å­å¯„å­˜å™¨}\cr
count&amp;ä¸€ä¸ª\refterm{æ•°} \idxref{è®¡æ•°å¯„å­˜å™¨}\cr
dimen&amp;ä¸€ä¸ª\refterm{å°ºå¯¸} \idxref{å°ºå¯¸å¯„å­˜å™¨}\cr
muskip&amp;\refterm{æ•°å­¦ç²˜è¿ž} \idxref{æ•°å­¦ç²˜è¿žå¯„å­˜å™¨}\cr
skip&amp;\refterm{ç²˜è¿ž} \idxref{ç²˜è¿žå¯„å­˜å™¨}\cr
toks&amp;ä¸€ä¸ª\refterm{è®°å·}åˆ— \idxref{è®°å·å¯„å­˜å™¨}\cr}}

%The registers of each type are numbered from $0$ to $255$.
%You can access register $n$ of category $c$ by using the form `|\|$cn$',
%e.g., |\muskip192|.
%You can use a register
%anywhere that information of the appropriate type is called for.  For
%instance, you can use |\count12|
%in any context calling for a number or |\skip0|
%in any context calling for glue.
æ¯ç§ç±»åž‹çš„å¯„å­˜å™¨éƒ½ä»Ž $0$ åˆ° $255$ ç¼–å·ã€‚
è¦å­˜å–ç¬¬ $n$ ä¸ªç±»åž‹ä¸º $c$ çš„å¯„å­˜å™¨ï¼Œä½&nbsp;å¯ä»¥ç”¨ `|\|$cn$' è¿™ç§å½¢å¼ï¼Œæ¯”å¦‚ |\muskip192|ã€‚
å¯„å­˜å™¨å¯ä»¥ç”¨åœ¨ä»»ä½•éœ€è¦ç›¸åº”ç±»åž‹ä¿¡æ¯çš„åœ°æ–¹ã€‚ä¾‹å¦‚ï¼Œ
ä½&nbsp;å¯ä»¥åœ¨éœ€è¦ä¸€ä¸ªæ•°çš„åœ°æ–¹ä½¿ç”¨ |\count12|ï¼Œæˆ–è€…åœ¨éœ€è¦ç²˜è¿žçš„åœ°æ–¹ä½¿ç”¨ |\skip0|ã€‚

%You put information into a register by \refterm{assigning:assignment}
%something to it:
è¦å°†ä¿¡æ¯æ”¾å…¥å¯„å­˜å™¨ä¸­ï¼Œä½&nbsp;å¯ä»¥ç»™å®ƒ\refterm{èµ‹å€¼}ï¼š

%\csdisplay
%\setbox3 = \hbox{lagomorphs are not mesomorphs}
%\count255 = -1
%|
%The first assignment constructs an hbox and assigns it to
%box register~$3$.
%You can
%subsequently use `|\box3|' wherever a box is called for, and you will
%get just that hbox.\footnote{But note carefully: using a box register
%also empties it so that its contents become void.  The other kinds of
%registers don't behave that way. You can use the |\copy| command
%\ctsref{\copy} to retrieve the contents of a box register without
%emptying it.}
%The second assignment assigns $-1$ to count register~$255$.
\csdisplay
\setbox3 = \hbox{lagomorphs are not mesomorphs}
\count255 = -1
|
ç¬¬ä¸€ä¸ªèµ‹å€¼æž„é€&nbsp;ä¸€ä¸ªæ°´å¹³ç›’å­å¹¶æŠŠå®ƒåˆ†é…ç»™ $3$ å·ç›’å­å¯„å­˜å™¨ã€‚
æ­¤åŽä½&nbsp;å¯ä»¥åœ¨éœ€è¦ç›’å­çš„åœ°æ–¹ç”¨ `|\box3|' å¾—åˆ°è¯¥ç›’å­ã€‚
\footnote{ä½†æ˜¯è¦æ³¨æ„ï¼šä½¿ç”¨ç›’å­å¯„å­˜å™¨çš„åŒæ—¶ä¹Ÿæ¸…ç©ºäº†è¯¥å¯„å­˜å™¨ï¼Œ
ä»Žè€Œå®ƒçš„å†…å®¹å˜ä¸ºç©ºç™½ã€‚å…¶ä»–ç±»åž‹çš„å¯„å­˜å™¨ä¸ä¼šè¿™æ&nbsp;·ã€‚
ä½&nbsp;å¯ä»¥ç”¨|\copy| å‘½ä»¤\ctsref{\copy}èŽ·å–ç›’å­å¯„å­˜å™¨çš„å†…å®¹è€Œä¸æ¸…ç©ºå®ƒã€‚}
ç¬¬äºŒä¸ªèµ‹å€¼å°† $-1$ åˆ†é…ç»™ $255$ å·è®¡æ•°å¯„å­˜å™¨ã€‚

%A register of a given type, e.g., a glue register, behaves just like
%a parameter of that type.
%^^{parameters//like registers}
%You retrieve its value or assign to it
%just as you would with a \refterm{parameter}.
%Some \TeX\ parameters, e.g., |\pageno|,
%are implemented as registers, in fact.
ç»™å®šç±»åž‹çš„å¯„å­˜å™¨ï¼Œæ¯”å¦‚ç²˜è¿žå¯„å­˜å™¨ï¼Œå°±åƒè¯¥ç±»åž‹çš„å‚æ•°ä¸€æ&nbsp;·ã€‚
^^{å‚æ•°//å¦‚åŒå¯„å­˜å™¨}
ä½&nbsp;å¯ä»¥å¦‚åŒ\refterm{å‚æ•°}é‚£æ&nbsp;·èŽ·å–æˆ–èµ‹äºˆå®ƒçš„å€¼ã€‚
æœ‰äº› \TeX\ å‚æ•°ï¼Œæ¯”å¦‚ |\pageno|ï¼Œå®žé™…ä¸Šå°±æ˜¯ä½œä¸ºå¯„å­˜å™¨å®žçŽ°çš„ã€‚

%\PlainTeX\
%uses many registers for its own purposes, so you should not just
%pick an arbitrary
%register number when you need a register.  Instead you should ask
%\TeX\ to reserve a register by using one of the commands
%^|\newbox|, ^|\newcount|, ^|\newdimen|, ^|\newmuskip|, ^|\newskip|,
%or ^|\newtoks|
%\ctsref{\@newbox}.  These commands are outer, so you can't
%use them in a macro definition.
%If you could,
%you'd use up a register every time the macro was called and probably run out
%of registers before long.
\PlainTeX\ ç”¨äº†å¾ˆå¤šå¯„å­˜å™¨æ¥å®žçŽ°è‡ªå·±çš„ç›®æ&nbsp;‡ï¼Œå›&nbsp;æ­¤åœ¨éœ€è¦å¯„å­˜å™¨æ—¶ä½&nbsp;ä¸èƒ½éšæ„é€‰æ‹©ä¸€ä¸ªæ¥ç”¨ã€‚
ä½&nbsp;åº”è¯¥ç”¨ä¸‹åˆ—è¿™äº›å‘½ä»¤ä¹‹ä¸€è®© \TeX\ ç»™ä½&nbsp;ä¿ç•™ä¸€ä¸ªå¯„å­˜å™¨ï¼š^|\newbox|ã€
^|\newcount|ã€^|\newdimen|ã€^|\newmuskip|ã€^|\newskip| æˆ– ^|\newtoks|\ctsref{\@newbox}ã€‚
è¿™äº›å‘½ä»¤æ˜¯å¤–éƒ¨çš„ï¼Œå›&nbsp;æ­¤ä½&nbsp;ä¸èƒ½åœ¨å®å®šä¹‰ä¸­ä½¿ç”¨å®ƒä»¬ã€‚
è¦æ˜¯å¯ä»¥è¿™æ&nbsp;·åšï¼Œæ¯æ¬¡è°ƒç”¨å®æ—¶å°±ä¼šç”¨æŽ‰ä¸€ä¸ªå¯„å­˜å™¨ï¼Œå¯èƒ½å¾ˆå¿«å°±ç”¨å®Œæ‰€æœ‰å¯„å­˜å™¨ã€‚

%Nonetheless you can with some caution use any register temporarily
%within a \refterm{group}, even one that \TeX\ is using for something
%else.
%After \TeX\ finishes executing the commands in a group,
%it restores the contents of every register
%to what they were before it started executing the group.
%When you use an explicitly numbered register inside a group,
%you must be sure that the register isn't modified by any
%\refterm{macro}
%that you might call within the group.
%Be especially careful
%about using arbitrary registers in a group that calls macros
%that you didn't write yourself.
å³ä¾¿å¦‚æ­¤ï¼Œåªéœ€è°¨æ…Žä¸€ç‚¹ä½&nbsp;å°±å¯ä»¥åœ¨\refterm{ç¼–ç»„}å†…éƒ¨ä¸´æ—¶ä½¿ç”¨å¯„å­˜å™¨ï¼Œ
ç”šè‡³æ˜¯ \TeX\ åœ¨å…¶ä»–åœ°æ–¹ç”¨åˆ°çš„å¯„å­˜å™¨ã€‚
åœ¨æ‰§è¡Œå®Œç¼–ç»„å†…çš„å‘½ä»¤åŽï¼Œ\TeX å°†æ¯ä¸ªå¯„å­˜å™¨çš„å†…å®¹é‡ç½®ä¸ºå¼€å§‹æ‰§è¡Œç¼–ç»„å‰çš„å†…å®¹ã€‚
åœ¨ç¼–ç»„å†…éƒ¨ä½¿ç”¨æ˜¾å¼ç¼–å·çš„å¯„å­˜å™¨æ—¶ï¼Œ
ä½&nbsp;å¿…é¡»ç¡®ä¿è¯¥å¯„å­˜å™¨ä¸ä¼šè¢«ä½&nbsp;åœ¨ç¼–ç»„å†…è°ƒç”¨çš„\refterm{å®}æ‰€ä¿®æ”¹ã€‚
å¦‚æžœç¼–ç»„å†…è°ƒç”¨äº†éžä½&nbsp;æ‰€å†™çš„å®ï¼Œåœ¨å…¶ä¸­ä½¿ç”¨ä»»æ„å¯„å­˜å™¨æ—¶éœ€è¦ç‰¹åˆ«å°å¿ƒã€‚

%{\tighten
%\TeX\ reserves certain registers for special purposes: |\count0| through
%|\count9| for page numbering information and
%^^{page numbering}
%^|\box255| for the contents
%of a page just before it is offered to the \refterm{output routine}.
%Registers |\dimen0|--|\dimen9|, |\skip0|--|\skip9|,
%|\muskip0|--|\mu!-skip9|, |\box0|--|\box9|,
%and the |255| registers other than |\box255|
%are generally available as ``scratch'' registers.
%Thus \plainTeX\ provides only one scratch register, |\count255|, for
%counts.
%See \knuth{pages~122 and 346} for conventions to follow
%in choosing register numbers.
%\par}
\TeX\ å°†æŸäº›å¯„å­˜å™¨ä¿ç•™ä½œç‰¹åˆ«ç”¨é€”ï¼š|\count0| åˆ°
|\count9| ç”¨ä½œé¡µé¢ç¼–å·ä¿¡æ¯ï¼Œè€Œ
^^{é¡µç&nbsp;}
^|\box255| ç”¨ä½œé€åˆ°\refterm{è¾“å‡ºä¾‹è¡Œç¨‹åº}ä¹‹å‰çš„é¡µé¢å†…å®¹ã€‚
å¯„å­˜å™¨ |\dimen0|--|\dimen9|ã€|\skip0|--|\skip9|ã€|\muskip0|--|\mu!-skip9|ã€
|\box0|--|\box9| å’Œ |\box255| é™¤å¤–çš„ |255| å·å¯„å­˜å™¨ä¸€èˆ¬ç”¨ä½œâ€œä¸´æ—¶â€å¯„å­˜å™¨ã€‚
ä¹Ÿå°±æ˜¯è¯´ \plainTeX\ ä»…æä¾›ä¸€ä¸ªç”¨äºŽè®¡æ•°çš„ä¸´æ—¶å¯„å­˜å™¨ |\count255|ã€‚
è¯·å‚é˜… \knuth{ç¬¬~122 å’Œ 346~é¡µ}ï¼Œ
å…¶ä¸­æœ‰é€‰æ‹©å¯„å­˜å™¨ç¼–å·æ—¶è¦éµå®ˆçš„çº¦å®šã€‚

%You can examine the contents of registers during a \TeX\ run with the
%^|\showthe| command \ctsref\showthe, e.g., with `|\showthe\dimen0|'.
%\endconcept
è¦åœ¨ \TeX\ è¿è¡Œæ—¶æ£€æŸ¥ä¸€ä¸ªå¯„å­˜å™¨çš„å†…å®¹ï¼Œ
ä½&nbsp;å¯ä»¥ç”¨ ^|\showthe| å‘½ä»¤\ctsref\showthe ï¼Œæ¯”å¦‚ `|\showthe\dimen0|'ã€‚
\endconcept


%\concept{restricted mode}
\concept{å—é™æ¨¡å¼}

%A \defterm{restricted mode} is a \refterm{mode} that \TeX\ is in when it is
%assembling an \refterm{hbox} or a \refterm{vbox}.
%We follow \texbook\ in using the term ``internal vertical mode''
%for what you might expect to be ``restricted vertical mode''.
%See \conceptcit{horizontal
%mode} and \conceptcit{vertical mode}.\endconcept
\defterm{å—é™æ¨¡å¼}ï¼ˆrestricted modeï¼‰æ˜¯ \TeX\ ç»„è£…\refterm{æ°´å¹³ç›’å­}%
æˆ–\refterm{ç«–ç›´ç›’å­}æ—¶æ‰€å¤„çš„\refterm{æ¨¡å¼}ã€‚
æˆ‘ä»¬ä½¿ç”¨ \texbook\ ä¸­çš„æœ¯è¯­``å†…éƒ¨ç«–ç›´æ¨¡å¼''æ¥å‘½åæˆ‘ä»¬æ‰€è®¤ä¸ºçš„``å—é™ç«–ç›´æ¨¡å¼''ã€‚
è¯·å‚é˜…\conceptcit{æ°´å¹³æ¨¡å¼}å’Œ\conceptcit{ç«–ç›´æ¨¡å¼}ã€‚\endconcept


%\conceptindex{rules}
%\concept rule
\concept æ&nbsp;‡çº¿

%A \defterm{rule} is a solid black rectangle.
%A rule, like a \refterm{box},
%has \refterm{width}, \refterm{height}, and \refterm{depth}.
%The vertical dimension of the rectangle
%is the sum of its height and its depth.
%An ordinary horizontal or vertical straight line is a special case of a rule.
\defterm{æ&nbsp;‡çº¿}ï¼ˆruleï¼‰æ˜¯ä¸€ä¸ªé»‘è‰²å®žå¿ƒçŸ©å½¢ã€‚
æ&nbsp;‡çº¿å’Œ\refterm{ç›’å­}ä¸€æ&nbsp;·ä¹Ÿæœ‰\refterm{å®½åº¦}ã€\refterm{é«˜åº¦}å’Œ\refterm{æ·±åº¦}ã€‚
è¯¥çŸ©å½¢çš„ç«–ç›´å°ºå¯¸æ˜¯å®ƒçš„é«˜åº¦å’Œæ·±åº¦ä¹‹å’Œã€‚
æ™®é€šçš„æ°´å¹³æˆ–ç«–ç›´ç›´çº¿æ˜¯æ&nbsp;‡çº¿çš„ç‰¹æ®Šæƒ…å½¢ã€‚

%\bix^^{horizontal rules}
%\bix^^{vertical rules}
%\bix^^|\hrule|
%\bix^^|\vrule|
%A rule can be either horizontal or vertical.  The distinction between a
%horizontal rule and a vertical one has to do with how you produce the
%rule, since a vertical rule can be short and fat (and therefore look
%like a horizontal line), while a horizontal rule can be tall and skinny
%(and therefore look like a vertical line).  \TeX's notion of a rule is
%more general than that of typographers, who think of a rule as a line
%and would not usually call a square black box a rule.
\bix^^{æ°´å¹³æ&nbsp;‡çº¿}
\bix^^{ç«–ç›´æ&nbsp;‡çº¿}
\bix^^|\hrule|
\bix^^|\vrule|
æ&nbsp;‡çº¿å¯ä»¥æ˜¯æ°´å¹³çš„æˆ–è€…ç«–ç›´çš„ã€‚æ°´å¹³æ&nbsp;‡çº¿å’Œç«–ç›´æ&nbsp;‡çº¿çš„åŒºåˆ«ä¸Žä½&nbsp;å¦‚ä½•ç”Ÿæˆæ&nbsp;‡çº¿æœ‰å…³ï¼Œ
å›&nbsp;ä¸ºç«–ç›´æ&nbsp;‡çº¿å¯ä»¥çŸ®è€Œèƒ–ï¼ˆä»Žè€Œçœ‹ä¼¼æ°´å¹³æ&nbsp;‡çº¿ï¼‰ï¼Œ
è€Œæ°´å¹³æ&nbsp;‡çº¿ä¹Ÿå¯ä»¥é«˜è€Œç˜¦ï¼ˆä»Žè€Œçœ‹ä¼¼ç«–ç›´æ&nbsp;‡çº¿ï¼‰ã€‚\TeX\ æ‰€è¯´çš„æ&nbsp;‡çº¿æ¯”æŽ’å°å·¥çš„æ›´ä¸€èˆ¬ï¼Œ
å®ƒä»¬è®¤ä¸ºæ&nbsp;‡çº¿å°±æ˜¯ä¸€æ¡çº¿è€Œé€šå¸¸ä¸æŠŠé»‘è‰²æ–¹å—ç§°ä¸ºæ&nbsp;‡çº¿ã€‚

%You can produce a horizontal rule using the
%|\hrule| command and a vertical rule using
%the |\vrule| command \ctsref{\vrule}.
%For example, the control sequence |\hrule| by itself
%produces a thin rule that runs across the page, like this:
ä½&nbsp;å¯ä»¥ç”¨ |\hrule| å‘½ä»¤ç”Ÿæˆæ°´å¹³æ&nbsp;‡çº¿ï¼Œç”¨ |\vrule| å‘½ä»¤\ctsref{\vrule}ç”Ÿæˆç«–ç›´æ&nbsp;‡çº¿ã€‚
ä¾‹å¦‚ï¼ŒæŽ§åˆ¶åºåˆ— |\hrule| æœ¬èº«å°±ç”Ÿæˆä¸€ä¸ªæ¨ªè·¨é¡µé¢çš„ç»†æ&nbsp;‡çº¿ï¼Œå¦‚ä¸‹ï¼š

%{\offinterlineskip
%\nobreak\medskip
%\hrule
%\medskip}
{\offinterlineskip
\nobreak\medskip
\hrule
\medskip}

%The command `|\vrule height .25in|' produces a vertical rule
%that runs $.25$~inches down the page like this:
%\nobreak\vskip \abovedisplayskip
%\leftline{\vrule height .25in}
%\vskip \belowdisplayskip
å‘½ä»¤ `|\vrule height .25in|' ç”Ÿæˆå¾€ä¸‹ $.25$ è‹±å¯¸çš„ç«–ç›´æ&nbsp;‡çº¿å¦‚ä¸‹ï¼š
\nobreak\vskip \abovedisplayskip
\leftline{\vrule height .25in}
\vskip \belowdisplayskip

%There are two differences between horizontal rules and vertical rules:
%\olist
%\li For a horizontal rule, \TeX\ defaults the width to the width of the
%smallest \refterm{box} or \refterm{alignment} that encloses it.  For a
%vertical rule, \TeX\ defaults the height and depth in the same way.  (The
%default is the size that you get if you don't give a size explicitly for that
%dimension.)
æ°´å¹³æ&nbsp;‡çº¿å’Œç«–ç›´æ&nbsp;‡çº¿æœ‰å¦‚ä¸‹ä¸¤ä¸ªåŒºåˆ«ï¼š
\olist
\li å¯¹äºŽæ°´å¹³æ&nbsp;‡çº¿ï¼Œ\TeX\ è®¾å®šå°†å…¶é»˜è®¤å®½åº¦ä¸ºåŒ…å«å®ƒçš„æœ€å°\refterm{ç›’å­}æˆ–\refterm{é˜µåˆ—}çš„å®½åº¦ã€‚
å¯¹äºŽç«–ç›´æ&nbsp;‡çº¿ï¼Œ\TeX\ ç”¨ç±»ä¼¼æ–¹æ³•è®¾å®šå…¶é»˜è®¤é«˜åº¦å’Œæ·±åº¦ã€‚%
ï¼ˆå¦‚æžœä½&nbsp;æ²¡æœ‰æ˜¾å¼è®¾å®šå°ºå¯¸ï¼Œé»˜è®¤ä¸ºå†…å®¹çš„å°ºå¯¸ã€‚ï¼‰

%^^{horizontal lists//rule in}
%^^{vertical lists//rule in}
%\li
%{\tighten
%A horizontal rule is an inherently vertical item that cannot participate in
%a \refterm{horizontal list},
%while a vertical
%rule is an inherently horizontal item
%that cannot participate in a \refterm{vertical list}.  This behavior
%may seem strange at first but there is good reason for it:
%a horizontal rule ordinarily runs visually from left
%to right and thus separates items in a vertical list,
%while a vertical rule ordinarily runs visually from top to bottom
%and thus separates items in a horizontal list.
%%(Look at the rules that are shown above.)
%\par}
%\endolist
^^{æ°´å¹³åˆ—è¡¨//æ°´å¹³åˆ—è¡¨ä¸­çš„æ&nbsp;‡çº¿}
^^{ç«–ç›´åˆ—è¡¨//ç«–ç›´åˆ—è¡¨ä¸­çš„æ&nbsp;‡çº¿}
\li
æ°´å¹³æ&nbsp;‡çº¿æ˜¯æœ¬è´¨ä¸Šçš„ç«–ç›´é¡¹ç›®ï¼Œä¸èƒ½æ”¾åœ¨\refterm{æ°´å¹³åˆ—è¡¨}ä¸­ï¼›
è€Œç«–ç›´æ&nbsp;‡çº¿æ˜¯æœ¬è´¨ä¸Šçš„æ°´å¹³é¡¹ç›®ï¼Œä¸èƒ½æ”¾åœ¨\refterm{ç«–ç›´åˆ—è¡¨}ä¸­ï¼›
è¿™ç§è¡Œä¸ºåˆçœ‹ä¹Ÿè®¸æœ‰äº›å¥‡æ€ªï¼Œä½†å´æ˜¯æœ‰åˆç†åŽŸå›&nbsp;çš„ï¼š
æ°´å¹³æ&nbsp;‡çº¿åœ¨å¤–è§‚ä¸Šé€šå¸¸æ˜¯ä»Žå·¦åˆ°å³çš„ï¼Œå›&nbsp;è€Œåˆ†å¼€äº†ç«–ç›´åˆ—è¡¨ä¸­çš„é¡¹ç›®ï¼›
è€Œç«–ç›´æ&nbsp;‡çº¿åœ¨å¤–è§‚ä¸Šé€šå¸¸æ˜¯ä»Žä¸Šåˆ°ä¸‹çš„ï¼Œå›&nbsp;è€Œåˆ†å¼€äº†æ°´å¹³åˆ—è¡¨ä¸­çš„é¡¹ç›®ï¼›
%(Look at the rules that are shown above.)
\endolist

%{\tighten
%If you construct a rule with three explicit dimensions, it will look the
%same whether you make it a horizontal rule or a vertical rule.
%For example, the command `|\vrule height1pt depth2pt width3in|' produces this
%horizontal-looking rule:
%\par}
å¦‚æžœä½&nbsp;æž„é€&nbsp;ä¸€ä¸ªæœ‰ä¸‰ä¸ªæ˜Žç¡®å°ºå¯¸çš„æ&nbsp;‡çº¿ï¼Œæ—&nbsp;è®ºä½œä¸ºæ°´å¹³æ&nbsp;‡çº¿è¿˜æ˜¯ç«–ç›´æ&nbsp;‡çº¿å®ƒçœ‹èµ·æ¥éƒ½æ˜¯ä¸€æ&nbsp;·çš„ã€‚
ä¾‹å¦‚ï¼Œå‘½ä»¤ `|\vrule height1pt depth2pt width3in|' ç”Ÿæˆå¦‚ä¸‹çœ‹ä¼¼æ°´å¹³æ–¹å‘çš„æ&nbsp;‡çº¿ï¼š

%{\offinterlineskip
%\nobreak\medskip\nobreak\vskip3pt
%\leftline{\vrule height1pt depth2pt width3in}
%\medskip}
{\offinterlineskip
\nobreak\medskip\nobreak\vskip3pt
\leftline{\vrule height1pt depth2pt width3in}
\medskip}

%You'll find a precise statement of \TeX's treatment of rules on
%\knuth{pages~221--222}.
%\eix^^{horizontal rules}
%\eix^^{vertical rules}
%\eix^^|\hrule|
%\eix^^|\vrule|
%\endconcept
åœ¨\knuth{ç¬¬~221--222~é¡µ}ä¸­ï¼Œä½&nbsp;å¯ä»¥æ‰¾åˆ°å¯¹ \TeX\ å¦‚ä½•å¤„ç†æ&nbsp;‡çº¿çš„ç²¾ç¡®è¡¨è¿°ã€‚
\eix^^{æ°´å¹³æ&nbsp;‡çº¿}
\eix^^{ç«–ç›´æ&nbsp;‡çº¿}
\eix^^|\hrule|
\eix^^|\vrule|
\endconcept


\bookmark{2}{ä»¥Så¼€å¤´}
%\concept {script size}
\concept {æ&nbsp;‡å·å°ºå¯¸}

%\defterm{Script size} describes one of the three related
%\refterm{fonts:font} in a family.
%^^{family//script size in}
%Script size is smaller than \refterm{text size} but larger than
%\refterm{scriptscript size}.  \TeX\ uses script size for subscripts and
%superscripts, as well as for the numerators and denominators of
%fractions in text.
%\endconcept
\defterm{æ&nbsp;‡å·å°ºå¯¸}ï¼ˆscript sizeï¼‰æè¿°ä¸€æ—å­—ä½“ä¸­ä¸‰ä¸ªç›¸å…³\refterm{å­—ä½“}çš„å…¶ä¸­ä¸€ä¸ªã€‚
^^{æ—//æ—çš„æ&nbsp;‡å·å°ºå¯¸}
æ&nbsp;‡å·å°ºå¯¸æ¯”\refterm{æ–‡æœ¬å°ºå¯¸}å°ä½†æ¯”\refterm{å°æ&nbsp;‡å·å°ºå¯¸}å¤§ã€‚
å¯¹ä¸Šæ&nbsp;‡ï¼Œä¸‹æ&nbsp;‡ä»¥åŠæ–‡æœ¬ä¸­åˆ†å¼çš„åˆ†å­å’Œåˆ†æ¯ï¼Œ\TeX\ ä½¿ç”¨æ&nbsp;‡å·å°ºå¯¸ã€‚
\endconcept


%\concept {scriptscript size}
\concept {å°æ&nbsp;‡å·å°ºå¯¸}

%\defterm{Scriptscript size} describes the smallest of the three related
%\refterm{fonts:font} in a family.
%^^{family//scriptscript size in}
%\TeX\ uses \refterm{scriptscript size} for second-order subscripts,
%superscripts, numerators, and denominators.  For example, \TeX\ will use
%scriptscript size for a subscript on a subscript or for a superscript on
%a scriptsize numerator.
%\endconcept
\defterm{å°æ&nbsp;‡å·å°ºå¯¸}ï¼ˆscriptscript sizeï¼‰æè¿°ä¸€æ—å­—ä½“ä¸­ä¸‰ä¸ªç›¸å…³\refterm{å­—ä½“}çš„æœ€å°ä¸€ä¸ªã€‚
^^{æ—//æ—çš„å°æ&nbsp;‡å·å°ºå¯¸}
å¯¹ç¬¬äºŒçº§çš„ä¸Šæ&nbsp;‡ã€ä¸‹æ&nbsp;‡ã€åˆ†å­å’Œåˆ†æ¯ï¼Œ\TeX\ ä½¿ç”¨å°æ&nbsp;‡å·å°ºå¯¸ã€‚
æ¯”å¦‚ï¼Œå¯¹äºŽä¸‹æ&nbsp;‡ä¸­çš„ä¸‹æ&nbsp;‡ï¼Œæˆ–è€…æ&nbsp;‡å·å°ºå¯¸åˆ†å­ä¸­çš„ä¸Šæ&nbsp;‡ï¼Œ\TeX\ å°†ä½¿ç”¨å°æ&nbsp;‡å·å°ºå¯¸ã€‚
\endconcept


%\concept shrink
\concept æ”¶ç¼©é‡

%See \conceptcit{glue}.
%\endconcept
è§ \conceptcit{ç²˜è¿ž}ã€‚
\endconcept


%\concept space
\concept é—´éš”

%You can cause \TeX\ to put \defterm{space} between two items in
%several~ways:
è¦è®© \TeX\ åœ¨ä¸¤ä¸ªé¡¹ç›®é—´ç•™ä¸‹\defterm{é—´éš”}ï¼ˆspaceï¼‰ï¼Œæœ‰å¦‚ä¸‹å‡&nbsp;ç§æ–¹æ³•ï¼š

%\olist
%^^{end of line}
%\li You can write something that \TeX\ treats as a space
%\refterm{token}: one or more blank characters, the end of a line (the
%end-of-line character acts like a space), or any \refterm{command} that
%expands into a space token.  \TeX\ generally treats several consecutive
%spaces as equivalent to a single one, including the case where the
%spaces include a single end-of-line.  (An empty line
%indicates the end of a paragraph; it
%causes \TeX\ to generate a |\par| token.)
%^^|\par//from empty line|
%\TeX\ adjusts the size of
%this kind of space to suit the length required by the context.
\olist
^^{è¡Œå°¾ç¬¦}
\li ä½&nbsp;å¯ä»¥å†™ä¸ŠæŸäº› \TeX\ è§†ä¸ºç©ºæ&nbsp;¼\refterm{è®°å·}çš„ä¸œè¥¿ï¼š
ä¸€ä¸ªæˆ–å¤šä¸ªç©ºæ&nbsp;¼ç¬¦ï¼Œè¡Œå°¾ç¬¦ï¼ˆè¡Œå°¾ç¬¦ä½œç”¨å’Œç©ºæ&nbsp;¼ç›¸ä¼¼ï¼‰ï¼Œ
æˆ–ä»»ä½•èƒ½å±•å¼€ä¸ºç©ºæ&nbsp;¼è®°å·çš„\refterm{å‘½ä»¤}ã€‚
\TeX\ ä¸€èˆ¬å°†å¤šä¸ªè¿žç»­ç©ºæ&nbsp;¼è§†ä¸ºå•ä¸ªç©ºæ&nbsp;¼ï¼ŒåŒ…æ‹¬å…¶ä¸­æœ‰ä¸€ä¸ªè¡Œå°¾ç¬¦çš„æƒ…å½¢ã€‚%
ï¼ˆä¸€ä¸ªç©ºè¡Œè¡¨ç¤ºæ®µè½çš„ç»“æŸï¼›å®ƒå¯¼è‡´ \TeX\ ç”Ÿæˆä¸€ä¸ª |\par| è®°å·ã€‚ï¼‰
^^|\par//æ¥è‡ªç©ºè¡Œ|
\TeX\ è°ƒæ•´æ­¤ç§é—´éš”çš„å¤§å°ä»¥é€‚åº”ç”±ä¸Šä¸‹æ–‡æ‰€éœ€çš„é•¿åº¦ã€‚

%^^{glue//creating space with}
%\li You can write a skip command that produces the glue
%you specify in the command.  The glue can
%\refterm{stretch} or \refterm{shrink},
%producing more or less space.  You can have vertical glue as
%well as horizontal glue.  Glue disappears whenever it is next to a
%line or page break.
^^{ç²˜è¿ž//ç”¨å®ƒç”Ÿæˆé—´è·}
\li ä½&nbsp;å¯ä»¥å†™ä¸Šä¸€ä¸ªç”ŸæˆæŒ‡å®šç²˜è¿žçš„é—´è·å‘½ä»¤ã€‚
ç²˜è¿žæœ‰\refterm{ä¼¸é•¿é‡}æˆ–\refterm{æ”¶ç¼©é‡}ï¼Œä»Žè€Œç”Ÿæˆæˆ–å¤šæˆ–å°‘çš„é—´éš”ã€‚
ä½&nbsp;å¯ä»¥æœ‰æ°´å¹³ç²˜è¿žå’Œç«–ç›´ç²˜è¿žã€‚åœ¨æ–­è¡Œæˆ–åˆ†é¡µä½ç½®ä¹‹åŽçš„ç²˜è¿žå°†ä¼šæ¶ˆå¤±ã€‚

%^^{kerns//creating space with}
%\li You can write a \refterm{kern}.  A kern produces a fixed amount of
%space that does not stretch or shrink and does not disappear at a line
%or page break (unless it is immediately followed by glue).  The most
%common use of a kern is to establish a fixed spatial relationship
%between two adjacent \refterm{boxes}.
%\endolist
^^{ç´§æŽ’//ç”¨å®ƒç”Ÿæˆé—´è·}
\li ä½&nbsp;å¯ä»¥å†™ä¸Šä¸€ä¸ª\refterm{ç´§æŽ’}ã€‚ç´§æŽ’ç”Ÿæˆå›ºå®šå¤§å°çš„é—´éš”ï¼Œå®ƒä¸å¯ä¼¸é•¿ä¹Ÿä¸å¯æ”¶ç¼©ï¼Œ
è€Œä¸”åœ¨æ–­è¡Œæˆ–åˆ†é¡µæ—¶ä¹Ÿä¸ä¼šæ¶ˆå¤±ï¼ˆé™¤éžå…¶åŽç´§è·Ÿç€ä¸€ä¸ªç²˜è¿žï¼‰ã€‚
ç´§æŽ’å¸¸ç”¨äºŽç»™ä¸¤ä¸ªç›¸é‚»\refterm{ç›’å­}å»ºç«‹å›ºå®šçš„ç©ºé—´å…³ç³»ã€‚
\endolist

%Glue and kerns can have negative values.  Negative glue or a negative kern
%between adjacent items brings those items closer together.
%\endconcept
ç²˜è¿žå’Œç´§æŽ’ä¹Ÿå¯ä»¥å–è´Ÿå€¼ã€‚ä¸¤ä¸ªç›¸é‚»é¡¹ç›®é—´çš„è´Ÿç²˜è¿žæˆ–è´Ÿç´§æŽ’å°†æ‹‰è¿‘å®ƒä»¬ä¿©çš„è·ç¦»ã€‚
\endconcept


%\concept stretch
\concept ä¼¸é•¿é‡

%See \conceptcit{glue}.
%\endconcept
è§ \conceptcit{ç²˜è¿ž}ã€‚
\endconcept


%\conceptindex{struts}
%\concept strut
\concept æ”¯æž¶

%{\tighten
%A \defterm{strut} is an invisible \refterm{box}
%^^{boxes//invisible}
%whose width is zero and whose height and depth are slightly more than
%those of a ``normal''
%line of type in the context.  Struts are useful for obtaining
%uniform vertical spacing when \TeX's
%usual line spacing is disabled, e.g., within a math formula
%or within a horizontal alignment where you've specified ^|\offinterlineskip|.
%Because a strut is taller and deeper than everything else on its line,
%it determines the height and depth of the line.
%You can produce a strut with
%the ^|\strut| command \ctsref{\strut} or the ^|\mathstrut| command
%\ctsref\mathstrut.
%You can use |\strut| anywhere, but you can only use |\mathstrut| when
%\TeX\ is in math \refterm{mode}.  A strut in \plainTeX\ has height 8.5\pt\ and
%depth 3.5\pt, while a math strut has the height and depth of a left
%parenthesis in the current \refterm{style} (so it's smaller for
%subscripts and superscripts).
%\par}
\defterm{æ”¯æž¶}ï¼ˆstrutï¼‰ä¸€ä¸ªä¸å¯è§çš„\refterm{ç›’å­}ï¼Œ
^^{ç›’å­//ä¸å¯è§ç›’å­}
å®ƒçš„å®½åº¦ä¸ºé›¶ï¼Œè€Œé«˜åº¦å’Œæ·±åº¦æ¯”ä¸Šä¸‹æ–‡ä¸­çš„â€œæ­£å¸¸â€è¡Œç¨å¾®å¤§ä¸€ç‚¹ã€‚
æ”¯æž¶å¸¸ç”¨äºŽåœ¨é€šå¸¸è¡Œé—´éš”å–æ¶ˆæ—¶èŽ·å¾—ä¸€è‡´çš„ç«–ç›´é—´éš”ï¼Œ
æ¯”å¦‚åœ¨æ•°å­¦å…¬å¼ä¸­ï¼Œæˆ–è€…åœ¨è®¾å®šäº† ^|\offinterlineskip| çš„æ°´å¹³é˜µåˆ—ä¸­ã€‚
å›&nbsp;ä¸ºæ”¯æž¶æ¯”è¯¥è¡Œçš„å…¶ä»–ä¸œè¥¿éƒ½é«˜å’Œæ·±ï¼Œå®ƒç¡®å®šäº†è¯¥è¡Œçš„é«˜åº¦å’Œæ·±åº¦ã€‚
ä½&nbsp;å¯ä»¥ç”¨ ^|\strut| å‘½ä»¤\ctsref{\strut}æˆ–
^|\mathstrut| å‘½ä»¤\ctsref\mathstrut ç”Ÿæˆä¸€ä¸ªæ”¯æž¶ã€‚
|\strut| å¯ä»¥åœ¨ä»»ä½•åœ°æ–¹ä½¿ç”¨ï¼Œä½† |\mathstrut| åªèƒ½åœ¨æ•°å­¦\refterm{æ¨¡å¼}ä¸­ä½¿ç”¨ã€‚
åœ¨ \plainTeX\ ä¸­ï¼Œæ”¯æž¶çš„é«˜åº¦ä¸º 8.5\pt ï¼Œæ·±åº¦ä¸º3.5\pt ï¼Œ
è€Œæ•°å­¦æ”¯æž¶çš„é«˜åº¦å’Œæ·±åº¦å’Œå½“å‰\refterm{æ&nbsp;·å¼}çš„å·¦åœ†æ‹¬å·çš„ç›¸ç­‰%
ï¼ˆå›&nbsp;æ­¤åœ¨ä¸Šä¸‹æ&nbsp;‡ä¸­ä¼šå°ä¸€ç‚¹ï¼‰ã€‚

%Here's an example showing how you might use a strut:
%\csdisplay
%\vbox{\hsize = 3in \raggedright
%   \strut Here is the first of two paragraphs that we're
%   setting in a much narrower line length.\strut}
%\vbox{\hsize = 3in \raggedright
%   \strut Here is the second of two paragraphs that we're
%   setting in a much narrower line length.\strut}
%|
%This input yields:
%\display{\vbox{
%\vbox{\hsize = 3in \raggedright
%\strut Here is the first of two paragraphs that we're setting
%in a much narrower line length.\strut}
%\vbox{\hsize = 3in \raggedright
%\strut Here is the second of two paragraphs that we're setting
%in a much narrower line length.\strut}
%}}
%\noindent
%Without the struts the \refterm{vboxes:vbox} would be too close
%together.  Similarly, in the formula:
%\csdisplay
%$\overline{x\mathstrut} \otimes \overline{t\mathstrut}$
%|
%the math struts cause both bars to be set at the same height even
%though the `$x$' and the `$t$' have different heights:
%\display{
%$\overline{x\mathstrut} \otimes \overline{t\mathstrut}$
%}
%\vskip -\belowdisplayskip
%\endconcept
%\nobreak
è¿™é‡Œæœ‰ä¸ªä¾‹å­ç»™ä½&nbsp;å±•ç¤ºäº†æ”¯æž¶çš„ç”¨æ³•ï¼š
\csdisplay
\vbox{\hsize = 3in \raggedright
   \strut Here is the first of two paragraphs that we're
   setting in a much narrower line length.\strut}
\vbox{\hsize = 3in \raggedright
   \strut Here is the second of two paragraphs that we're
   setting in a much narrower line length.\strut}
|
è¿™ä¸ªè¾“å…¥äº§ç”Ÿä¸‹åˆ—è¾“å‡ºï¼š
\display{\vbox{
\vbox{\hsize = 3in \raggedright
\strut Here is the first of two paragraphs that we're setting
in a much narrower line length.\strut}
\vbox{\hsize = 3in \raggedright
\strut Here is the second of two paragraphs that we're setting
in a much narrower line length.\strut}
}}
\noindent
è¦æ˜¯æ²¡æœ‰æ”¯æž¶ï¼Œè¿™ä¸¤ä¸ª\refterm{ç›’å­}å°†å¤ªè¿‡é&nbsp;è¿‘äº†ã€‚
ç±»ä¼¼åœ°ï¼Œåœ¨æ•°å­¦å…¬å¼ä¸­ï¼š
\csdisplay
$\overline{x\mathstrut} \otimes \overline{t\mathstrut}$
|
æ•°å­¦æ”¯æž¶è®©ä¸¤ä¸ªæ¨ªçº¿ä½äºŽç›¸åŒçš„é«˜åº¦ï¼Œå³ä½¿ `$x$' å’Œ `$t$' æœ‰ä¸åŒçš„é«˜åº¦ï¼š
\display{
$\overline{x\mathstrut} \otimes \overline{t\mathstrut}$
}
\vskip -\belowdisplayskip
\endconcept
%\nobreak


%\conceptindex{styles}
%\concept {style}
\concept {æ&nbsp;·å¼}

%Material in a math formula is set in one of eight \defterm{styles},
%depending on the context.  Knowing about styles can be useful if you want to
%set part of a formula in a different size of type than the one
%that \TeX\ has chosen according to its usual rules.
æ•°å­¦å…¬å¼ä¸­çš„ç´&nbsp;æä¾æ®ä¸Šä¸‹æ–‡è¢«è®¾å®šä¸ºå…«ç§\defterm{æ&nbsp;·å¼}ï¼ˆstyleï¼‰çš„å…¶ä¸­ä¸€ç§ã€‚
å¯¹æ&nbsp;·å¼çš„äº†è§£ï¼Œå°†æœ‰åŠ©äºŽä½&nbsp;å°†æŸéƒ¨åˆ†å…¬å¼è®¾ä¸ºä¸åŒç±»åž‹çš„å¤§å°ï¼Œ
å³ä¸Ž \TeX\ æŒ‰ç…§é€šç”¨æ³•åˆ™é€‰æ‹©çš„å¤§å°ä¸åŒã€‚

%\eject
%The four primary styles are:
å…¶ä¸­çš„å››ç§ä¸»è¦æ&nbsp;·å¼å¦‚ä¸‹ï¼š

%\vdisplay{%
%\halign{\refterm{# style}\hfil&amp;\hskip .25in(for #)\hfil\cr
%display&amp;formulas displayed on a line by themselves\cr
%text&amp;formulas embedded in ordinary text\cr
%script&amp;superscripts and subscripts\cr
%scriptscript&amp;superscripts on superscripts, etc.\cr
%}}
\vdisplay{%
\halign{\refterm{#æ&nbsp;·å¼}\hfil&amp;\hskip .25inï¼ˆç”¨äºŽ#ï¼‰\hfil\cr
é™ˆåˆ—&amp;å•ç‹¬ä¸€è¡Œæ˜¾ç¤ºçš„å…¬å¼\cr
æ–‡æœ¬&amp;åµŒå…¥æ™®é€šæ–‡æœ¬å†…çš„å…¬å¼\cr
æ&nbsp;‡å·&amp;ä¸Šæ&nbsp;‡å’Œä¸‹æ&nbsp;‡\cr
å°æ&nbsp;‡å·&amp;ä¸Šæ&nbsp;‡ä¸­çš„ä¸Šæ&nbsp;‡ï¼Œç­‰ç­‰\cr
}}

%The other four styles are so-called ^{cramped variants}.  In these
%variants superscripts aren't raised as high as usual, and so the formula
%needs less vertical space than it otherwise would.  See
%\knuth{pages~140--141} for the details of how \TeX\ selects the style.
å¦å¤–å››ç§æ&nbsp;·å¼è¢«ç§°ä¸º^{ç‹­çª„å˜ä½“}ã€‚
åœ¨è¿™äº›å˜ä½“ä¸­ï¼Œä¸Šæ&nbsp;‡å‡é«˜å¾—æ²¡é‚£ä¹ˆå¤šï¼Œå›&nbsp;è€Œå…¬å¼å’ŒåŽŸæ¥ç›¸æ¯”å&nbsp;ç”¨æ›´å°‘çš„ç«–ç›´é—´éš”ã€‚
åœ¨\knuth{ç¬¬~140--141~é¡µ}ä¸­è¯¦ç»†ä»‹ç»äº† \TeX\ å¦‚ä½•é€‰æ‹©æ&nbsp;·å¼ã€‚

%\TeX\ chooses a size of type according to the style:
\TeX\ ä¾ç…§æ&nbsp;·å¼é€‰æ‹©å°ºå¯¸ç±»åž‹ï¼š

%\ulist\compact
%^^{display style}^^{text style}
%\li Display style and text style are set in \refterm{text size}, like
%`$\rm this$'.
\ulist\compact
^^{é™ˆåˆ—æ&nbsp;·å¼}^^{æ–‡æœ¬æ&nbsp;·å¼}
\li é™ˆåˆ—æ&nbsp;·å¼å’Œæ–‡æœ¬æ&nbsp;·å¼è®¾å®šä¸º\refterm{æ–‡æœ¬å°ºå¯¸}ï¼Œå°±åƒ `$\rm this$' è¿™æ&nbsp;·ã€‚

%^^{script style}
%\li Script style is set in \refterm{script size}, like `$\scriptstyle
%\rm this$'.
^^{æ&nbsp;‡å·æ&nbsp;·å¼}
\li æ&nbsp;‡å·æ&nbsp;·å¼è®¾å®šä¸º\refterm{æ&nbsp;‡å·å°ºå¯¸}ï¼Œå°±åƒ `$\scriptstyle \rm this$' è¿™æ&nbsp;·ã€‚

%^^{scriptscript style}
%\li Scriptscript style is set in \refterm{scriptscript size}, like
%`$\scriptscriptstyle \rm this$'.
%\endulist
^^{å°æ&nbsp;‡å·æ&nbsp;·å¼}
\li å°æ&nbsp;‡å·æ&nbsp;·å¼è®¾å®šä¸º\refterm{å°æ&nbsp;‡å·å°ºå¯¸}ï¼Œå°±åƒ `$\scriptscriptstyle \rm this$' è¿™æ&nbsp;·ã€‚
\endulist

%See \conceptcit{family} for more information about these three sizes.
å‚è€ƒ\conceptcit{æ—}ä»¥èŽ·å¾—æ›´å¤šå…³äºŽè¿™ä¸‰ç§å°ºå¯¸çš„ä¿¡æ¯ã€‚

%\TeX\ doesn't have a ``scriptscriptscript'' style because such a style
%would usually have to be set in a size of type too small to read.  \TeX\
%therefore sets third-order subscripts, superscripts, etc., using the
%scriptscript style.
åœ¨ \TeX\ ä¸­æ²¡æœ‰â€œå°å°æ&nbsp;‡å·â€æ&nbsp;·å¼ï¼Œå›&nbsp;ä¸ºæ­¤æ&nbsp;·å¼å¯¹åº”çš„å°ºå¯¸å¤ªå°ä»¥è‡´æ—&nbsp;æ³•é˜…è¯»ã€‚
å›&nbsp;æ­¤ \TeX\ ç”¨å°æ&nbsp;‡å·æ&nbsp;·å¼è®¾å®šä¸‰é˜¶ä¸Šä¸‹æ&nbsp;‡ç­‰ã€‚

%Once in a while you may find that \TeX\ has set a formula in a different style
%than the one you'd prefer.  You can override \TeX's choice with the
%^|\textstyle|, ^|\displaystyle|, ^|\scriptstyle|, and ^|\scriptscriptstyle|
%commands \ctsref{\textstyle}.
%\endconcept
å¶å°”ä½&nbsp;ä¼šå‘çŽ° \TeX\ ç»™å…¬å¼è®¾å®šçš„æ&nbsp;·å¼å’Œä½&nbsp;æƒ³è¦çš„ä¸åŒã€‚
ä½&nbsp;å¯ä»¥ç”¨ ^|\textstyle|ï¼Œ^|\displaystyle|ï¼Œ^|\scriptstyle| å’Œ ^|\scriptscriptstyle|
å‘½ä»¤\ctsref{\textstyle}æ”¹å˜ \TeX\ çš„é€‰æ‹©ã€‚
\endconcept


\bookmark{2}{ä»¥Tå¼€å¤´}
\concept {\TeXMeX}

%(a)~A variant of \TeX\  used for mathematical typesetting in
%Central American countries.
%(b)~A spicy cuisine favored by the \TeX\-ni\-cians of ^{El Paso}.
%\endconcept
(a)~ä¸€ä¸ªåœ¨ä¸­ç¾Žæ´²å›½å®¶ç”¨äºŽæ•°å­¦æŽ’ç‰ˆçš„ \TeX\ å˜ç§ã€‚
(b)~ä¸€ç§æ·±å—^{åŸƒå°”å¸•ç´¢}çš„ \TeX\ ç”¨æˆ·æ¬¢è¿Žçš„é¦™è¾£èœã€‚
\endconcept


%\concept {text math}
\concept {æ–‡å†…å…¬å¼}

%We use the term \defterm{text math} to refer to a math formula set within a
%line of text, i.e., enclosed in |$|'s.
%\ttidxref{$}
%\TeX\ sets text math in text math \refterm{mode}.
%\endconcept
æˆ‘ä»¬ç”¨\defterm{æ–‡å†…å…¬å¼}ï¼ˆtext mathï¼‰è¿™ä¸ªæœ¯è¯­è¡¨ç¤ºæ”¾åœ¨ä¸€è¡Œæ–‡æœ¬ä¹‹ä¸­çš„æ•°å­¦å…¬å¼ï¼Œ
å³ä¸¤è¾¹ç”¨ |$| æ‹¬èµ·æ¥çš„å…¬å¼ã€‚
\ttidxref{$}
\TeX\ åœ¨æ–‡å†…æ•°å­¦\refterm{æ¨¡å¼}ä¸­æŽ’ç‰ˆæ–‡å†…å…¬å¼ã€‚
\endconcept


%\concept {text size}
\concept {æ–‡æœ¬å°ºå¯¸}

%\defterm{Text size} describes the largest of the three related
%\refterm{fonts:font} in a \refterm{family}.
%^^{family//text size in}
%\TeX\ uses text size for ordinary symbols appearing in
%\refterm{math mode}.
%\endconcept
\defterm{æ–‡æœ¬å°ºå¯¸}ï¼ˆtext sizeï¼‰æè¿°ä¸€\refterm{æ—}å­—ä½“ä¸­%
ä¸‰ä¸ªç›¸å…³\refterm{å­—ä½“}çš„æœ€å¤§ä¸€ä¸ªã€‚
^^{æ—//æ—çš„æ–‡æœ¬å°ºå¯¸}
å¯¹\refterm{æ•°å­¦æ¨¡å¼}ä¸­çš„æ™®é€šç¬¦å·ï¼Œ\TeX\ ä½¿ç”¨æ–‡æœ¬å°ºå¯¸ã€‚
\endconcept


%\conceptindex{tokens}
%\concept token
\concept è®°å·

%A \defterm{token} is either a single character tagged with a
%\refterm{category code}, or a \refterm{control sequence}.  \TeX\ reads
%characters from a file using its eyes \seeconcept{\anatomy}
%and groups the characters into tokens using its mouth.  When a token
%reaches \TeX's stomach, \TeX\ interprets it as a \refterm{command}
%unless it's part of an argument of a preceding command.
%\endconcept
ä¸€ä¸ª\defterm{è®°å·}ï¼ˆtokenï¼‰è¦ä¹ˆæ˜¯ä¸€ä¸ªæ&nbsp;‡æœ‰\refterm{ç±»åˆ«ç&nbsp;}çš„å­—ç¬¦ï¼Œ
è¦ä¹ˆæ˜¯ä¸€ä¸ª\refterm{æŽ§åˆ¶åºåˆ—}ã€‚
\TeX\ ç”¨å®ƒçš„çœ¼ç›ä»Žæ–‡ä»¶ä¸­è¯»å–å­—ç¬¦ä¸²\seeconcept{\anatomy}ï¼Œ
å¹¶ç”¨å®ƒçš„å˜´å°†å­—ç¬¦ä¸²å’€åš¼æˆä¸€ä¸ªä¸ªè®°å·ã€‚
å½“ä¸€ä¸ªè®°å·åˆ°è¾¾\TeX\ çš„èƒƒæ—¶ï¼Œ\TeX\ å°†å®ƒè§£é‡Šä¸ºä¸€ä¸ª\refterm{å‘½ä»¤}ï¼Œ
é™¤éžå®ƒæ˜¯ä¹‹å‰å‘½ä»¤çš„å‚é‡ã€‚
\endconcept


\bookmark{2}{ä»¥Uå¼€å¤´}
%\conceptindex{units of measure}
%\concept {unit of measure}
\concept {åº¦é‡å•ä½}

%See \conceptcit{dimension}.
%\endconcept
è§ \conceptcit{å°ºå¯¸}ã€‚
\endconcept


\bookmark{2}{ä»¥Vå¼€å¤´}
%\conceptindex{vboxes}
%\concept vbox
\concept ç«–ç›´ç›’å­

%^^{vertical lists//vboxes formed from}
%A \defterm{vbox} (vertical box) is a \refterm{box} that \TeX\ constructs
%by placing the items of a \refterm{vertical list} one after another, top
%to bottom.  A vbox, taken as a unit, is neither inherently horizontal
%nor inherently vertical, i.e., it can appear as an item of either a
%vertical list or a \refterm{horizontal list}.  You can construct a vbox
%with the ^|\vbox| or the ^|\vtop| command
%\ctsref{\vtop}.  The difference is that for |\vbox|,
%the \refterm{reference point}
%of the constructed vbox is derived from that of the last (and
%usually bottommost) constituent list item, but for |\vtop|, it's that of the
%first (and usually topmost) constituent list item.
%\endconcept
^^{ç«–ç›´åˆ—è¡¨//ç»„æˆç«–ç›´ç›’å­}
\defterm{ç«–ç›´ç›’å­}ï¼ˆvboxï¼Œvertical boxï¼‰æ˜¯ \TeX\
ä»Žä¸Šåˆ°ä¸‹é€ä¸ªæ”¾ç½®\refterm{ç«–ç›´åˆ—è¡¨}çš„é¡¹ç›®è€Œæž„é€&nbsp;å‡ºæ¥çš„\refterm{ç›’å­}ã€‚
ç«–ç›´ç›’å­ï¼Œä½œä¸ºä¸€ä¸ªå•å…ƒï¼Œæ—¢ä¸æ˜¯æœ¬è´¨ä¸Šæ°´å¹³çš„ä¹Ÿä¸æ˜¯æœ¬è´¨ä¸Šç«–ç›´çš„ï¼Œ
å³å®ƒå¯ä»¥å‡ºçŽ°åœ¨ç«–ç›´åˆ—è¡¨æˆ–\refterm{æ°´å¹³åˆ—è¡¨}ä¸­ã€‚
ä½&nbsp;å¯ä»¥ç”¨ ^|\vbox| æˆ– ^|\vtop| å‘½ä»¤\ctsref{\vtop}æž„é€&nbsp;ç«–ç›´ç›’å­ã€‚
ä¸¤è€…çš„åŒºåˆ«åœ¨äºŽï¼Œ
å¯¹äºŽ |\vbox|ï¼Œæ‰€æž„é€&nbsp;çš„ç«–ç›´ç›’å­çš„\refterm{åŸºå‡†ç‚¹}æ¥æºäºŽ%
åˆ—è¡¨çš„æœ€åŽä¸€ä¸ªï¼ˆé€šå¸¸æ˜¯æœ€ä¸‹é¢é‚£ä¸ªï¼‰ç»„æˆé¡¹ï¼›
è€Œå¯¹äºŽ |\vtop|ï¼Œæ‰€æž„é€&nbsp;çš„ç«–ç›´ç›’å­çš„\refterm{åŸºå‡†ç‚¹}æ¥æºäºŽ%
åˆ—è¡¨çš„ç¬¬ä¸€ä¸ªï¼ˆé€šå¸¸æ˜¯æœ€ä¸Šé¢é‚£ä¸ªï¼‰ç»„æˆé¡¹ã€‚
\endconcept


%\conceptindex{vertical lists}
%\concept{vertical list}
\concept{ç«–ç›´åˆ—è¡¨}

%A \defterm{vertical list} is a list of items
%that \TeX\ has produced while it is
%in one of its vertical modes, i.e.,
%assembling either a
%\refterm{vbox} or a page.  See ``vertical mode'' below.
\defterm{ç«–ç›´åˆ—è¡¨}ï¼ˆvertical listï¼‰æ˜¯ \TeX\ ä½äºŽæŸç§ç«–ç›´æ¨¡å¼æ—¶
ï¼ˆå³ç»„è£…\refterm{ç«–ç›´ç›’å­}æˆ–é¡µé¢æ—¶ï¼‰ç”Ÿæˆçš„ä¸€åˆ—é¡¹ç›®ã€‚è§ä¸‹é¢çš„``ç«–ç›´æ¨¡å¼''ã€‚

\endconcept


%\concept{vertical mode}
\concept{ç«–ç›´æ¨¡å¼}

%^^{vboxes//vertical mode for} When \TeX\ is assembling either a
%\refterm{vbox} or the main vertical list from which pages are derived,
%it is in one of two \defterm{vertical modes}: ^{ordinary
%vertical mode} for assembling the main vertical list, and ^{internal
%vertical mode} for assembling vboxes.  Whenever \TeX\ is in a vertical mode
%its stomach \seeconcept{\anatomy} is constructing a \refterm{vertical
%list} of items (boxes, glue, penalties, etc.).
%\TeX\ typesets the items in the list
%one below another, top to bottom.
^^{ç«–ç›´ç›’å­//ä½äºŽç«–ç›´æ¨¡å¼ä¸­}
åœ¨ç»„è£…\refterm{ç«–ç›´ç›’å­}æˆ–è€…ä¸»ç«–ç›´åˆ—ï¼ˆè¾“å‡ºçš„é¡µé¢æ¥æºäºŽæ­¤ï¼‰æ—¶ï¼Œ
\TeX\ ä½äºŽä¸¤ç§\defterm{ç«–ç›´æ¨¡å¼}ï¼ˆvertical modeï¼‰ä¹‹ä¸€:
^{æ™®é€šç«–ç›´æ¨¡å¼}ç”¨äºŽç»„è£…ä¸»ç«–ç›´åˆ—ï¼Œè€Œ^{å†…éƒ¨ç«–ç›´æ¨¡å¼}ç”¨äºŽç»„è£…ç«–ç›´ç›’å­ã€‚
åªè¦ \TeX\ ä½äºŽç«–ç›´æ¨¡å¼ä¸­ï¼Œå®ƒçš„èƒƒ\seeconcept{\anatomy}å°±åœ¨æž„é€&nbsp;é¡¹ç›®%
ï¼ˆç›’å­ã€ç²˜è¿žã€æƒ©ç½šç­‰ï¼‰çš„\refterm{ç«–ç›´åˆ—è¡¨}ã€‚
\TeX\ é€ä¸ªæŽ’ç‰ˆåˆ—è¡¨ä¸­çš„é¡¹ç›®ï¼Œä»Žä¸Šåˆ°ä¸‹ã€‚

%A vertical list can't contain any items produced by
%inherently horizontal commands, e.g.,
%^^{vertical lists//can't contain horizontal commands}
%|\hskip| or an ordinary (nonspace) character.
%\footnote{\TeX\ \emph{ignores} any space characters
%that it encounters while it's in a vertical mode.}
ç«–ç›´åˆ—è¡¨ä¸èƒ½åŒ…å«ä»»ä½•ç”¨æœ¬è´¨ä¸Šçš„æ°´å¹³å‘½ä»¤ï¼Œ
^^{ç«–ç›´åˆ—è¡¨//ä¸èƒ½åŒ…å«æ°´å¹³å‘½ä»¤}
æ¯”å¦‚ |\hskip| æˆ–æ™®é€šçš„ï¼ˆéžç©ºæ&nbsp;¼ï¼‰å­—ç¬¦ï¼Œç”Ÿæˆçš„é¡¹ç›®ã€‚
\footnote{åœ¨ç«–ç›´æ¨¡å¼ä¸­ \TeX\ \emph{å¿½ç•¥}å®ƒé‡åˆ°çš„ä»»ä½•ç©ºæ&nbsp;¼ç¬¦ã€‚}

%\ulist
%\li If \TeX\ is  assembling a vertical list in ordinary vertical mode and
%encounters an inherently horizontal command, it switches to ordinary
%\refterm{horizontal mode}.
%\li If \TeX\ is  assembling a vertical list in internal vertical mode and
%encounters an inherently horizontal command, it complains.
%\endulist
\ulist
\li å¦‚æžœ \TeX\ æ­£åœ¨æ™®é€šç«–ç›´æ¨¡å¼ä¸­ç»„è£…ç«–ç›´åˆ—è¡¨ï¼Œå¹¶ç¢°åˆ°ä¸€ä¸ªæœ¬è´¨ä¸Šçš„æ°´å¹³å‘½ä»¤ï¼Œ
å®ƒå°†åˆ‡æ¢åˆ°\refterm{æ°´å¹³æ¨¡å¼}ã€‚
\li å¦‚æžœ \TeX\ æ­£åœ¨å†…éƒ¨ç«–ç›´æ¨¡å¼ä¸­ç»„è£…ç«–ç›´åˆ—è¡¨ï¼Œå¹¶ç¢°åˆ°ä¸€ä¸ªæœ¬è´¨ä¸Šçš„æ°´å¹³å‘½ä»¤ï¼Œ
å®ƒå°†æŠ¥é”™ã€‚
\endulist

%Two commands that you might at first think are inherently vertical are
%in fact inherently horizontal: |\valign| \ctsref{\valign} and |\vrule|
%\ctsref{\vrule}.
%^^|\valign//inherently horizontal|
%^^|\vrule//inherently horizontal|
%See \knuth{page~283} for a list of the
%inherently horizontal commands.
è¿™ä¸¤ä¸ªå‘½ä»¤ä½&nbsp;ä¹Ÿè®¸ä¼šè®¤ä¸ºæ˜¯æœ¬è´¨ä¸Šç«–ç›´çš„ï¼Œå®žé™…ä¸Šå´æ˜¯æœ¬è´¨ä¸Šæ°´å¹³çš„ï¼š
|\valign|\ctsref{\valign}å’Œ |\vrule|\ctsref{\vrule}ã€‚
^^|\valign//æœ¬è´¨ä¸Šæ°´å¹³çš„|
^^|\vrule//æœ¬è´¨ä¸Šæ°´å¹³çš„|
åœ¨\knuth{ç¬¬~283~é¡µ}ä¸­åˆ—å‡ºäº†æ‰€æœ‰æœ¬è´¨ä¸Šçš„æ°´å¹³å‘½ä»¤ã€‚

%It's particularly important to be aware that \TeX\ considers an ordinary
%character other than a space character to be inherently horizontal.  If
%\TeX\ suddenly starts a new paragraph when you weren't expecting it,
%a likely cause is a
%character that \TeX\ encountered while in vertical mode.
%You can convince \TeX\
%not to treat that character as inherently horizontal by enclosing it in
%an \refterm{hbox} since the |\hbox| command, despite its name, is
%neither inherently horizontal nor inherently vertical.
%\endconcept
æœ‰ä¸ªç‰¹åˆ«é‡è¦çš„äº‹å®žéœ€è¦çŸ¥é“ï¼Œå³ \TeX\ å°†ä»»ä½•æ™®é€šçš„éžç©ºæ&nbsp;¼ç¬¦è§†ä¸ºæœ¬è´¨ä¸Šæ°´å¹³çš„ã€‚
å¦‚æžœ \TeX\ åœ¨ä½&nbsp;é¢„æœŸä¹‹å¤–çªç„¶å¼€å§‹ä¸€ä¸ªæ–°æ®µè½ï¼Œ
è¿™å¯èƒ½æ˜¯ç”± \TeX\ åœ¨ç«–ç›´æ¨¡å¼ä¸­é‡åˆ°çš„å­—ç¬¦å¼•èµ·çš„ã€‚
è¦è®© \TeX\ ä¸æŠŠè¯¥å­—ç¬¦è§†ä¸ºæœ¬è´¨ä¸Šæ°´å¹³çš„ï¼Œä½&nbsp;å¯ä»¥å°†å®ƒæ”¾å…¥ä¸€ä¸ª\refterm{æ°´å¹³ç›’å­}ä¸­ï¼›
è¿™æ˜¯å›&nbsp;ä¸ºï¼Œå°½ç®¡çœ‹åå­—å®¹æ˜“è¯¯è§£ï¼Œ|\hbox| å‘½ä»¤æ—¢ä¸æ˜¯æœ¬è´¨ä¸Šæ°´å¹³çš„ä¹Ÿä¸æ˜¯æœ¬è´¨ä¸Šç«–ç›´çš„ã€‚
\endconcept


\bookmark{2}{ä»¥Wå¼€å¤´}
%\concept whatsit
\concept å°çŽ©æ„

%A \defterm{whatsit} is an item of information that
%tells \TeX\ to carry out some action
%that doesn't fit into its ordinary scheme of things.
%A whatsit can appear in a horizontal or vertical list, just like a box
%or a glue item.
%\TeX\ typesets a whatsit
%as a \refterm{box} having zero width, height, and depth---in other
%words, a box that contains nothing and occupies no space.
\defterm{å°çŽ©æ„}ï¼ˆwhatsitï¼‰æ˜¯ä¸€ä¸ªä¿¡æ¯é¡¹ç›®ï¼Œ
å®ƒç”¨äºŽè®© \TeX\ æ‰§è¡ŒæŸäº›æ—&nbsp;æ³•å½’å…¥æ™®é€šäº‹ç‰©ä½“ç³»ä¸­çš„æ“ä½œã€‚
å°çŽ©æ„å¯ä»¥å‡ºçŽ°åœ¨æ°´å¹³åˆ—è¡¨æˆ–ç«–ç›´åˆ—è¡¨ä¸­ï¼Œå°±åƒä¸€ä¸ªç›’å­æˆ–ç²˜è¿žé¡¹é‚£æ&nbsp;·ã€‚
\TeX\ å°†å°çŽ©æ„æŽ’ç‰ˆä¸ºä¸€ä¸ªå®½åº¦ã€é«˜åº¦å’Œæ·±åº¦éƒ½ä¸ºé›¶çš„\refterm{ç›’å­}â€”â€”%
å³ä¸€ä¸ªä¸åŒ…å«ä»»ä½•ä¸œè¥¿ä¹Ÿä¸å&nbsp;ç”¨ä»»ä½•ç©ºé—´çš„ç›’å­ã€‚

%Three sorts of whatsits are built into \TeX:
%\ulist
%\li The |\openout|, |\closeout|, and |\write| commands
%(\p\xrefn{\openout})
%% (2nd) removed \xref to \write, since it's on the same page
%produce a whatsit for operating on an output file.
%^^|\openout//whatsit produced by|
%^^|\write//whatsit produced by|
%^^|\closeout//whatsit produced by|
%\TeX\ postpones the operation until it next ships out a page
%to the {\dvifile}
%^^{\dvifile//whatsits in}
%(unless the operation is preceded by ^|\immediate|).
%\TeX\ uses a whatsit for these commands because they don't have anything
%to do with what it's typesetting when it encounters them.
%\li The ^|\special| command \ctsref{\special} tells \TeX\ to
%insert certain text directly into the \dvifile.
%As with the |\write| command, \TeX\ postpones the insertion
%until it next ships out a page to the {\dvifile}.
%^^{\dvifile//material inserted by \b\tt\\special\e}
%A typical use of |\special| would be to
%name a graphics file that the device driver should incorporate into
%your final output.
%\li When you change languages with the ^|\language| or ^|\setlanguage|
%commands \ctsref{\language},
%\TeX\ inserts a whatsit that instructs it to use a
%certain set of hyphenation rules later on when it's breaking a paragraph
%into lines.
%\endulist
%\noindent
%A particular implementation of \TeX\ may provide additional whatsits.
%\endconcept
åœ¨ \TeX\ ä¸­å†…å»ºäº†ä¸‰ç§ç±»åž‹çš„å°çŽ©æ„ï¼š
\ulist
\li |\openout|ã€|\closeout| å’Œ |\write| å‘½ä»¤ï¼ˆç¬¬~\xrefn{\openout}~é¡µï¼‰%
% (2nd) removed \xref to \write, since it's on the same page
ç”Ÿæˆç”¨äºŽæ“ä½œè¾“å‡ºæ–‡ä»¶çš„å°çŽ©æ„ã€‚
^^|\openout//ç”Ÿæˆå°çŽ©æ„|
^^|\write//ç”Ÿæˆå°çŽ©æ„|
^^|\closeout//ç”Ÿæˆå°çŽ©æ„|
\TeX\ å°†æ­¤æ“ä½œæŽ¨è¿Ÿåˆ°ä¸‹æ¬¡é€å‡ºé¡µé¢åˆ° \dvifile æ—¶%
^^{\dvifile//å…¶ä¸­çš„å°çŽ©æ„}
ï¼ˆé™¤éžåœ¨è¯¥æ“ä½œä¹‹å‰åŠ&nbsp;ä¸Š ^|\immediate|ï¼‰ã€‚
\TeX\ ç”¨å°çŽ©æ„è¡¨ç¤ºè¿™äº›å‘½ä»¤ï¼Œå›&nbsp;ä¸ºå®ƒä»¬ä¸Žå½“æ—¶æ­£åœ¨æŽ’ç‰ˆçš„å†…å®¹å®Œå…¨æ—&nbsp;å…³ã€‚
\li ^|\special| å‘½ä»¤\ctsref{\special}è®© \TeX\ ç›´æŽ¥æ’å…¥æŸäº›æ–‡æœ¬åˆ° \dvifile ä¸­ã€‚
å¦‚åŒ |\write| å‘½ä»¤ï¼Œ\TeX\ ä¹Ÿå°†æ­¤æ“ä½œæŽ¨è¿Ÿåˆ°ä¸‹æ¬¡é€å‡ºé¡µé¢åˆ° \dvifile æ—¶ã€‚
^^{\dvifile//ç”¨ \b\tt\\special\e æ’å…¥çš„ç´&nbsp;æ}
|\special| çš„å…¸åž‹ç”¨æ³•æ˜¯å‘½åä¸€ä¸ªå›¾ç‰‡æ–‡ä»¶ï¼Œä»¥è®©è®¾å¤‡é©±åŠ¨æ–‡ä»¶å°†å®ƒæ•´åˆåˆ°æœ€ç»ˆè¾“å‡ºä¸­ã€‚
\li å½“ä½&nbsp;ç”¨ ^|\language| æˆ– ^|\setlanguage| å‘½ä»¤\ctsref{\language}æ”¹å˜è¯­è¨€æ—¶ï¼Œ
\TeX\ æ’å…¥ä¸€ä¸ªå°çŽ©æ„ï¼Œä»¥å¼•å¯¼å®ƒåœ¨ä»¥åŽåˆ†æ®µä¸ºè¡Œæ—¶ä½¿ç”¨ç‰¹å®šé›†åˆçš„è¿žå­—è§„åˆ™ã€‚
\endulist
\noindent
\TeX\ çš„æŸäº›ç‰¹åˆ«å®žçŽ°å¯èƒ½æä¾›é¢å¤–çš„å°çŽ©æ„ã€‚
\endconcept


%\concept width
\concept å®½åº¦

%^^{boxes//width of}
%The \defterm{width} of a \refterm{box} is the amount of horizontal space
%that it occupies, i.e., the distance from its left edge to its
%right edge.  The typeset material in a box can be wider than the box itself.
%\endconcept
^^{ç›’å­//ç›’å­çš„å®½åº¦}
\refterm{ç›’å­}çš„\defterm{å®½åº¦}ï¼ˆwidthï¼‰æ˜¯å®ƒæ€»å…±å&nbsp;ç”¨çš„æ°´å¹³é—´éš”ï¼Œ
å³ä»Žå®ƒçš„å·¦è¾¹ç¼˜åˆ°å³è¾¹ç¼˜çš„è·ç¦»ã€‚ç›’å­å†…æŽ’ç‰ˆçš„ç´&nbsp;æå¯ä»¥æ¯”ç›’å­æœ¬èº«è¿˜å®½ã€‚
\endconcept

\endconcepts

\ifoldeplain\else\ifcompletebook\else
\vskip4em{\sectionfonts\leftline{æœ¬ç«&nbsp;ç´¢å¼•}}
\readindexfile{i}
\fi\fi

\endchapter
\byebye
</pre></body></html>