home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fonts 1 / freshfonts1.bin / programs / amiga / pastex / texdoc / gentle-introduction.tex < prev    next >
Text File  |  1991-08-17  |  193KB  |  5,335 lines

  1. %% Thanks for your interest in A Gentle Introduction to TeX.
  2. %% Any comments on this manual would be appreciated. These may
  3. %% be typesetting, English, or TeX criticisms. If you decide to
  4. %% translate this document into another language, I'd appreciate
  5. %% receiving a copy.
  6. %%
  7. %% This file is a complete TeX input file.  Just run it
  8. %% through TeX and print out the resulting "DVI" file. If you are
  9. %% familiar with TeX, the macros at the top of the file have a few
  10. %% switches which you may want to set.  If you have problems or
  11. %% can't run TeX at all, write to me and I'll send you a hard copy.
  12. %%
  13. %% You should feel free to photocopy and/or distribute this manual.
  14. %% My only request is that it remain in one piece and not be chopped
  15. %% up.  The only machine dependent section (#1.2) may need to be
  16. %% rewritten for your local site, of course.
  17. %%
  18. %%%                Michael Doob
  19. %%                 Department of Mathematics
  20. %%                 The University of Manitoba
  21. %%                 Winnipeg, Manitoba  R3T 2N2
  22. %%                 Canada
  23. %%                 mdoob@uofmcc                    (bitnet)
  24. %%                 mdoob@ccu.umanitoba.ca          (internet)
  25. %%
  26. %% Here is a character listing to check to be sure that no
  27. %% unwanted translations took place within the bowels of the net.
  28. %% Upper case letters: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  29. %% Lower case letters: abcdefghijklmnopqrstuvwxyz
  30. %% round parentheses, square brackets, curly braces: ()  []  {}
  31. %% Exclaim, at, sharp, dollar, percent: ! @ # $ %
  32. %% Caret, ampersand, star, underscore, hyphen: ^ & * _ -
  33. %% vertical bar, backslash, tilde, backprime, plus: | \ ~ ` +
  34. %% plus, equal, prime, quote, colon: + = ' " :
  35. %% less than, greater than, slash, question, comma: < > / ? ,
  36. %% period, semicolon: . ;
  37. %%
  38. %%
  39. %%
  40. %% Now here come the macros used in this manual. If you are already
  41. %% already familiar with TeX, you may want to fiddle with them.
  42. %% In particular, the hooks are left to generate a new control
  43. %% word index and table of contents if you change section 1.2.
  44. %%
  45. %% Updated 01/04/90
  46.  
  47.  
  48.  
  49. %%%%%%%% Here are the fonts other than the sixteen defined in %%%%%%%%
  50. %%%%%%%%%%%%%        plain.tex that are used        %%%%%%%%%%%%%%%%%%
  51.  
  52.        %%%% first, choose between amr or cmr fonts %%%
  53. \newif \ifamrfonts
  54. \amrfontsfalse  % use this line if you use the cmr fonts
  55. %\amrfontstrue  % use this line if you use the old armfonts
  56.  
  57. \ifamrfonts \font\brm=amr10 scaled \magstep1
  58.       \else \font\brm=cmr10 scaled \magstep1 \fi
  59. \ifamrfonts \font\halfrm=amr10 scaled \magstephalf
  60.       \else \font\halfrm=cmr10 scaled \magstephalf \fi
  61. \ifamrfonts \font\bbrm=amr10 scaled \magstep2
  62.       \else \font\bbrm=cmr10 scaled \magstep2 \fi
  63. \ifamrfonts \font\bbbrm=amr10 scaled \magstep3
  64.       \else \font\bbbrm=cmr10 scaled \magstep3 \fi
  65. \ifamrfonts \font\bbbbrm=amr10 scaled \magstep4
  66.       \else\font \bbbbrm=cmr10 scaled \magstep4 \fi
  67. \ifamrfonts \font\bbbbbrm=amr10 scaled \magstep5
  68.       \else \font\bbbbbrm=cmr10 scaled \magstep5 \fi
  69. \ifamrfonts \font\sf = amssmc10
  70.       \else \font\sf = cmss10 \fi
  71. \ifamrfonts \font\chapfont=ambx10 scaled \magstep2
  72.       \else \font\chapfont=cmbx10 scaled \magstep2 \fi
  73. \ifamrfonts \font\secfont=ambx10 scaled \magstep1
  74.       \else \font\secfont=cmbx10 scaled \magstep1 \fi
  75. \ifamrfonts \font\sc= amcsc10
  76.       \else \font\sc= cmcsc10 \fi
  77. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  78.  
  79.  
  80. %%%%\vbadness=10000 %%%%%% I don't want to hear about underfull vboxes
  81. \raggedbottom      %%%%% delete this line for aligned page bottoms
  82. \hsize=5.5in
  83. \vsize=7in
  84. \voffset=.75in
  85. \parskip=\baselineskip
  86. \widowpenalty=1000 \clubpenalty=1000  %%% I hate widows and orphans! %%%
  87.  
  88. %%%%%%%%% choosing between Canadian and American spellings %%%%%%%%%
  89. \newif \ifcanspell
  90. \canspelltrue      %%%% Canadian spelling
  91.  \canspellfalse    %%% use this line for American spelling
  92.  
  93. \def\aesthetic{\ifcanspell \ae{}sthetic\else esthetic\fi}
  94. \def\analogue{\ifcanspell analogue\else analog\fi}
  95.      \let\analog=\analogue
  96. \def\cancelled{\ifcanspell cancelled\else canceled\fi}
  97.      \let\canceled=\cancelled
  98. \def\centimetre{\ifcanspell centimetre\else centimeter\fi}
  99.      \let\centimeter=\centimetre
  100. \def\centre{\ifcanspell centre\else center\fi}
  101.      \let\center=\centre
  102. \def\centred{\ifcanspell centred\else centered\fi}
  103.      \let\centered=\centred
  104. \def\our{\ifcanspell our\else or\fi}
  105. \def\postcode{\ifcanspell postalcode\else zipcode\fi}
  106. \def\province{\ifcanspell province\else state\fi}
  107. \def\theatre{\ifcanspell theatre\else theater\fi}
  108.      \let\theater=\theatre
  109. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  110.  
  111.  
  112. %%%%%%%%%%%%%%%%%%%%%%% headline routines %%%%%%%%%%%%%%%%%%%%%%%%%%%%
  113. \def\gentleheadline{%
  114.     \vbox {\hrule%
  115.         \line {\strut \vrule \quad \tenrm A \TeX{} intro
  116.               \ifcanspell (Canadian \else (U.S. \fi spelling)
  117.               \hfil
  118.               \ifnum \secnum > 0 Section \the\secnum: \fi \sectiontitle \quad
  119.               \vrule}%
  120.         \hrule}%
  121. }
  122.  
  123. \newif \iftitlepage    \titlepagetrue
  124. \headline=
  125.   {\iftitlepage \hfil \global\titlepagefalse \else \gentleheadline \fi}
  126. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  127.  
  128. %%%%%%%%%%%%%%%%%%%% define contents and index files %%%%%%%%%%%%%%%%%%%%%%
  129. %%% Normally the contents and index are hard coded into the input file. %%%
  130. %% To generate new ones, use \writingcontentstrue and \writingindextrue. %%
  131.  
  132. \newif \ifwritingcontents
  133. \newif \ifwritingindex
  134. \newwrite\contents         \newwrite\index
  135.  
  136. \writingcontentsfalse      \writingindexfalse
  137. %%% \writingcontentstrue  %%% use this line to make the contents
  138. %%% \writingindextrue     %%% use this line to make the index
  139.  
  140. \ifwritingcontents \openout\contents=contents.tex     \fi
  141. \ifwritingindex \openout\index=index.tex
  142.           \def\toindex#1{\immediate\write\index{#1 \the\pageno}}
  143.           \else \def\toindex#1{} \fi
  144. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  145.  
  146. %%%%%%%%%%%%%%%%%%%% determine whether answers are printed %%%%%%%%%%%%%%%%
  147. \newif \ifwritinganswers
  148. \writinganswersfalse        %%% use this line to suppress answer section
  149. \writinganswerstrue         %%% use this line to include answer section
  150. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  151.  
  152. %%%%%%%%%%%%%%%%      footnote macro with counter      %%%%%%%%%%%%
  153. \newcount\footnotenum \footnotenum=0
  154. \def\fnote#1{\advance \footnotenum by 1%
  155. \footnote{$^{\the\footnotenum}$}{#1}}
  156. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  157.  
  158.  
  159.  
  160. %%%%%%%%%%%%%%%% exercise, section, and subsection macros %%%%%%%%%%%%
  161. \newcount\exno                   %%%%%% counter for exercises %%%%%%%%
  162. \newcount\secnum \secnum=0       %%%% counter for section numbers %%%%
  163. \newcount\subsecnum
  164.  
  165. \def\section#1{
  166.             \vfill\eject %%%%% new section starts on a new page
  167.             %%%\ifodd\pageno \else\ \vfill\eject \fi %start on an odd page
  168.             \advance\secnum by 1 \subsecnum=0 \exno=0
  169.             \ifnum \secnum = 1 \pageno=1 \fi
  170.             \ifnum \secnum > 0
  171.                  \leftline{\chapfont Section \the\secnum}
  172.                  \vskip 3pt \fi
  173.             \leftline{\chapfont #1}
  174.             \def\sectiontitle{#1}
  175.             \vskip\baselineskip
  176.             \hrule
  177.             \vskip 1cm
  178.             \ifwritingcontents \write\contents{\string\line\string{#1
  179.                    \string\dotfill{}
  180.                    \ifnum \pageno < 0 \romannumeral-\pageno
  181.                    \else \the\pageno \fi
  182.                    \string}}\fi
  183.             \titlepagetrue}
  184.  
  185. \def\subsection#1{\advance\subsecnum by 1
  186.                \vskip 30pt
  187.                \leftline{\secfont \the\secnum .\the\subsecnum\ #1}
  188.                \nobreak
  189.                \ifwritingcontents
  190.                      \write\contents{\string\line\string{\string\qquad{}#1
  191.                      \string\dotfill{} \the\pageno\string}}\fi
  192.                  }
  193.  
  194. \def\exercise{\global\advance \exno by 1
  195.          \vskip\baselineskip
  196.          \noindent $\triangleright$ Exercise \the\secnum.\the\exno\quad
  197.          }
  198. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  199.  
  200.  
  201. %% definitions of control sequences for characters in the typewriter font %%%
  202. %%%% for short phrases this is easier than using a literal construction %%%%
  203. \def\\{\char92{}}          %%%%% backslash %%%%%
  204. \def\lb{\char'173{}}       %%%%% left brace %%%%%
  205. \def\rb{\char'175{}}       %%%%% right brace %%%%%
  206. \def\sp{\char32{}}         %%%%% special space symbol %%%%%
  207.  
  208. \def\beginliteral{
  209. \vskip\baselineskip
  210. \begingroup
  211. \tt
  212. \obeylines
  213. %{\obeyspaces\global\let =\ }
  214. \catcode`\@=0
  215. \parskip=0pt\parindent=0pt
  216. \catcode`\$=12\catcode`\&=12\catcode`\^=12\catcode`\#=12
  217. \catcode`\_=12\catcode`\~=12
  218. \def\par{\leavevmode\endgraf}
  219. \catcode`\{=12\catcode`\}=12\catcode`\%=12\catcode`\\=12
  220. }
  221.  
  222. \def\endliteral{\endgroup}
  223. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  224.  
  225.  
  226. %%%%%%%%%%%%%% inhibit hyphenation of typewriter text %%%%%%%%%%%%%%
  227. \hyphenchar\tentt=-1
  228.  
  229.  
  230. %%%%%%%%%%%% grouping to make input listing in typewriter type %%%%%%%
  231. \def\beginuser{\vskip\parskip
  232.                \everypar={\nobreak}
  233.                \begingroup
  234.                \tt \obeylines \parskip=0pt \parindent=0pt}
  235.  
  236. \def\enduser{\endgroup}
  237.  
  238.  
  239. %%%%%%%%%%% macro to construct tables (easily) %%%%%%%%%%%%%%%%
  240. %%% parameters: title goes between brackets, rest of the
  241. %%%             paragraph is the table
  242. \def\maketable[#1]#2\par{
  243. \setbox1=\vbox{#2}
  244. $$\vbox{
  245.         \hbox to \wd1{\bf \hss #1 \hss}
  246.         \vskip 12pt
  247.         \box1
  248.        }
  249. $$
  250. }
  251. %%%%%%%%%%%  end of macro to construct tables  %%%%%%%%%%%%%%%%
  252.  
  253.  
  254.  
  255. %%%%%%%%%%% macro to put a box around the text %%%%%%%%%%%%%%%%
  256. \def\makebox#1#2#3% vsize, hsize, inserted text
  257. {\hbox{\vrule
  258.        \vbox to  #1{\hrule \vss
  259.                    \hbox to #2{\hss#3\hss}\vss
  260.                    \hrule}\vrule}}
  261.  
  262. \def\displaytext#1{$$\hbox{#1}$$}
  263.  
  264. \def\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em
  265.    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
  266.  
  267. \def\AMSTeX{{$\cal A$}\kern-.1667em\lower.5ex\hbox
  268.  {$\cal M$}\kern-.125em{$\cal S$}-\TeX}
  269.  
  270.  
  271. %%%%%%%%%%%% macro to put TeX references in right margin %%%%%%%%
  272. \newdimen\theight
  273. \def \TeXref#1{%
  274.              \vadjust{\setbox0=\hbox{\sevenrm\quad\quad\TeX book: #1}%
  275.              \theight=\ht0
  276.              \advance\theight by \dp0    \advance\theight by \lineskip
  277.              \kern -\theight \vbox to \theight{\rightline{\rlap{\box0}}%
  278.              \vss}%
  279.              }}%
  280. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  281.  
  282. \def\version{1.0}
  283.  
  284. %%%%%%%%%%%% macro to write the date out the date and time %%%%%%%%%%%
  285. %%%%%%%%%%%%          TeXbook   p. 406 for date            %%%%%%%%%%%
  286. \def\today{\ifcase\month\or January\or February\or March\or April\or
  287. May\or June\or July\or August\or September\or October\or November\or
  288. December\fi \space\number\day, \number\year}
  289.  
  290. \newcount\hour \newcount\minute
  291. \hour=\time  \divide \hour by 60
  292. \minute=\time
  293. \loop  \ifnum \minute > 59 \advance \minute by -60 \repeat
  294. \def\writetime{\ifnum \hour<13 \number\hour:%  % supresses leading 0's
  295.                       \ifnum \minute<10 0\fi%  % so add it it
  296.                       \number\minute
  297.                       \ifnum \hour < 12 \ A.M. \else \ P.M. \fi
  298.       \else \advance \hour by -12 \number\hour:%  % supresses leading 0's
  299.                       \ifnum \minute<10 0\fi%     % add it in
  300.                       \number\minute \ P.M. \fi}
  301.  
  302. \def\datestamp{\vfill
  303.     \rightline{\sevenrm Gentle Intro \version{} run through \TeX{}
  304.                on \today{} at \writetime}}
  305. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  306.  
  307. \titlepagetrue
  308. {\nopagenumbers
  309. \def\sectiontitle{Introduction}
  310. \topinsert \vskip 6 cm \endinsert
  311. \centerline{\chapfont A Gentle Introduction to \TeX{}}
  312. \vskip 15 pt
  313. \centerline{\secfont A Manual for Self-study}
  314. \vskip 3cm
  315. \leftline{Michael Doob}
  316. \leftline{Department of Mathematics}
  317. \leftline{The University of Manitoba}
  318. \leftline{Winnipeg, Manitoba, Canada R3T 2N2}
  319. \vskip\baselineskip
  320. \leftline{MDOOB@UOFMCC.BITNET}
  321. \leftline{MDOOB@CCU.UMANITOBA.CA}
  322.  
  323. \vfill\eject
  324. \titlepagetrue.
  325. \vfill\eject
  326. }
  327. \secnum=-2 \pageno=-1
  328.  
  329. \section{Introduction}
  330.  
  331. First the bad news: \TeX{} is a large and complicated program that
  332. goes to extraordinary lengths to produce attractive typeset material.
  333. This very complication can cause unexpected things to happen at times.
  334. Now the good news: straightforward text is very easy to typeset using
  335. \TeX\null.  So it's possible to start with easier text and work up to
  336. more complicated situations.
  337.  
  338. The purpose of this manual is to start from the very beginning and
  339. to move towards these more complicated situations.  No previous knowledge
  340. of \TeX{} is assumed. By proceeding a section at a time, greater
  341. varieties of text can be produced.
  342.  
  343. Here are a few suggestions: there are some exercises in each
  344. section.  Be sure and do them! The only way to learn \TeX{} is
  345. by using it.  Better yet, experiment on your own; try to make
  346. some variations on the exercises.  There is no way that you can
  347. damage the \TeX{} program with your experiments.  You can find a
  348. complete answer to most exercises by looking at the \TeX{} source
  349. file that was used to produce this document.  You'll notice that
  350. there are references in the right margin to {\bf The \TeX
  351. book}\fnote{Addison Wesley, Reading,Massachusetts, 1984, ISBN
  352. 0-201-13488-9}\null.  When you feel that you want more
  353. information on a topic, that's where to look.
  354.  
  355. Incidently, there are a few fibs that appear in this manual;
  356. they are used to hide complications (I look at this as something
  357. like poetic license).  As you become more experienced at using
  358. \TeX{}, you'll be able to find them.
  359.  
  360. \TeX{} is a public domain program that is available for no license
  361. fee.  It was developed by Donald Knuth at Stanford University as
  362. a major project.
  363. In the profit-oriented market place,
  364. the program would certainly cost many thousands of dollars.  The
  365. \TeX{} Users Group (TUG) is a nonprofit organization which distributes
  366. copies of \TeX{}, updates software, and gives information about
  367. new developments in both hardware and software in its publications
  368. TUGboat and \TeX niques.  Joining this users group is inexpensive;
  369. please consider doing so.  The address is:
  370. \vskip\baselineskip
  371. \centerline{\TeX{} Users Group}
  372. \centerline{P.O. Box 9506}
  373. \centerline{Providence, RI 02940}
  374. \centerline{U.S.A.}
  375.  
  376. This manual would not have come into being without the aid of others.
  377. In particular the proofreading and suggestions of the following
  378. people have been invaluable:
  379. \begingroup
  380. \frenchspacing
  381. Waleed A.~Al-Salam (University of Alberta),
  382. Debbie L.~Alspaugh (University of California),
  383. Nelson H.~F.~Beebe (University of Utah),
  384. Barbara Beeton (American Mathematical Society),
  385. Bart Childs (Texas A.~\&~M\null. University),
  386. Mary Coventry (University of Washington),
  387. Dimitrios Diamantaras (Temple University),
  388. Roberto Dominimanni (Naval Underwater Systems Center),
  389. Victor Eijkhout (University of Nijmegen),
  390. Moshe Feder (St. Lawrence University),
  391. Josep~M.~Font (Uviversidad Barcelona),
  392. Jonas de Miranda Gomes
  393.         (Instituto de Matematica Pura e Aplicada - Brazil),
  394. Rob Gross (Boston College),
  395. Klaus Hahn (University of Marburg),
  396. Anita Hoover (University of Delaware),
  397. J\"urgen Koslowski (Macalester College),
  398. Kees van der Laan (Rijksuniversiteit Groningen),
  399. John Lee (Northrop Corporation),
  400. Silvio Levy (Princeton University),
  401. Robert Messer (Albion College),
  402. Emily H.~Moore (Grinnell College),
  403. Young Park (University of Maryland),
  404. Craig Platt (University of Manitoba),
  405. David Roberts (Colorado),
  406. Kauko Saarinen (University of Jyv\"askyl\"a),
  407. Jim Wright (Iowa State University),
  408. and
  409. Dominik Wujastyk (Wellcome Institute for the History of Medicine).
  410.  \endgroup
  411.  
  412. In addition several people have sent me parts or all of their local
  413. manuals.  I have received a few others on the rebound.
  414. In particular
  415. \begingroup
  416. \frenchspacing
  417. Elizabeth Barnhart (TV Guide),
  418. Stephan v.~Bechtolsheim (Purdue University),
  419. Nelson H.~F.~Beebe (University of Utah)
  420.              and Leslie Lamport (Digital Equipment Corporation),
  421. Marie McPartland-Conn and Laurie Mann (Stratus Computer),
  422. Robert Messer (Albion College),
  423. Noel Peterson (Library of Congress),
  424. Craig Platt (University of Manitoba),
  425. Alan Spragens (Stanford Linear Accelerator Center, now of Apple Computers),
  426. Christina Thiele (Carleton University),
  427. and Daniel M.~Zirin (California Institute of Technology)
  428. \endgroup
  429. have written various types of lecture notes that have been most helpful.
  430.  
  431. \vfill \eject
  432. \section{Contents}
  433.  
  434. \line{Introduction \dotfill{} i}
  435. \line{Contents \dotfill{} iii}
  436. \line{1.~Getting Started \dotfill{} 1}
  437. \line{\qquad{}1.1 What \TeX{} is and what \TeX{} isn't \dotfill{} 1}
  438. \line{\qquad{}1.2 From \TeX{} file to readable output,
  439.                                         the big set up \dotfill{} 2}
  440. \line{\qquad{}1.3 Let's do it! \dotfill{} 4}
  441. \line{\qquad{}1.4 \TeX{} has everything under control \dotfill{} 7}
  442. \line{\qquad{}1.5 What \TeX{} won't do \dotfill{} 8}
  443. \line{2.~All characters great and small \dotfill{} 9}
  444. \line{\qquad{}2.1 Some characters are more special than others \dotfill{} 9}
  445. \line{\qquad{}2.2 Typesetting with an accent \dotfill{} 10}
  446. \line{\qquad{}2.3 Dots, dashes, quotes,
  447.        $\textfont0=\tenbf \mathinner {\ldotp \ldotp \ldotp }$ \dotfill{} 13}
  448. \line{\qquad{}2.4 Different fonts \dotfill{} 15}
  449. \line{3.~The shape of things to come \dotfill{} 19}
  450. \line{\qquad{}3.1 Units, units, units \dotfill{} 19}
  451. \line{\qquad{}3.2 Page shape \dotfill{} 20}
  452. \line{\qquad{}3.3 Paragraph shape \dotfill{} 22}
  453. \line{\qquad{}3.4 Line shape \dotfill{} 26}
  454. \line{\qquad{}3.5 Footnotes \dotfill{} 27}
  455. \line{\qquad{}3.6 Headlines and footlines \dotfill{} 28}
  456. \line{\qquad{}3.7 Overfull and underfull boxes \dotfill{} 29}
  457. \line{4.~$\Bigl\{$Groups, $\bigl\{$Groups,
  458.         $\{$and More Groups$\}\bigr\}\Bigr\}$ \dotfill{} 31}
  459. \line{5.~No math anxiety here! \dotfill{} 33}
  460. \line{\qquad{}5.1 Lots of new symbols \dotfill{} 33}
  461. \line{\qquad{}5.2 Fractions \dotfill{} 37}
  462. \line{\qquad{}5.3 Subscripts and superscripts \dotfill{} 38}
  463. \line{\qquad{}5.4 Roots, square and otherwise \dotfill{} 39}
  464. \line{\qquad{}5.5 Lines, above and below \dotfill{} 39}
  465. \line{\qquad{}5.6 Delimiters large and small \dotfill{} 40}
  466. \line{\qquad{}5.7 Those special functions \dotfill{} 41}
  467. \line{\qquad{}5.8 Hear ye, hear ye! \dotfill{} 42}
  468. \line{\qquad{}5.9 Matrices \dotfill{} 43}
  469. \line{\qquad{}5.10 Displayed equations \dotfill{} 45}
  470. \line{6.~All in a row \dotfill{} 48}
  471. \line{\qquad{}6.1 Picking up the tab \dotfill{} 48}
  472. \line{\qquad{}6.2 Horizontal alignment with more sophisticated patterns
  473.       \dotfill{} 51}
  474. \line{7.~Rolling your own \dotfill{} 55}
  475. \line{\qquad{}7.1 The long and short of it \dotfill{} 55}
  476. \line{\qquad{}7.2 Filling in with parameters \dotfill{} 57}
  477. \line{\qquad{}7.3 By any other name \dotfill{} 60}
  478. \line{8.~To err is human \dotfill{} 62}
  479. \line{\qquad{}8.1 The forgotten bye \dotfill{} 62}
  480. \line{\qquad{}8.2 The misspelled or unknown control sequence \dotfill{} 62}
  481. \line{\qquad{}8.3 The misnamed font \dotfill{} 64}
  482. \line{\qquad{}8.4 Mismatched mathematics \dotfill{} 64}
  483. \line{\qquad{}8.5 Mismatched braces \dotfill{} 65}
  484. \line{9.~Digging a little deeper \dotfill{} 68}
  485. \line{\qquad{}9.1 Big files, little files \dotfill{} 68}
  486. \line{\qquad{}9.2 Larger macro packages \dotfill{} 69}
  487. \line{\qquad{}9.3 Horizontal and vertical lines \dotfill{} 70}
  488. \line{\qquad{}9.4 Boxes within boxes \dotfill{} 72}
  489. \line{10.~Control word list \dotfill{} 77}
  490. \ifwritinganswers
  491.     \line{11.~I get by with a little help\dotfill{} 80}
  492. \fi
  493.  
  494.  
  495.  
  496. \section{Getting Started}
  497.  
  498. \subsection{What \TeX{} is and what \TeX{} isn't}
  499.  
  500. First of all, let's see what steps are necessary to produce a
  501. document using \TeX\null.  The first step is to type the file
  502. that \TeX{} reads. This is usually called the \TeX{} file or the
  503. input file, and it can be created using a simple text editor (in
  504. fact, if you're using a fancy word processor, you have to be sure
  505. that your file is saved in ASCII or nondocument mode without any
  506. special control characters). The \TeX{} program then reads your
  507. input file and produces what is called a DVI file (DVI stands for
  508. DeVice Independent). This file is not readable, at least not by
  509. humans. The DVI file is then read by another program (called a
  510. device driver) that produces the output that is readable by
  511. humans\TeXref{23}. Why the extra file? The same DVI file can be
  512. read by different device drivers to produce output on a dot
  513. matrix printer, a laser printer, a screen viewer, or a
  514. phototypesetter. Once you have produced a DVI file that gives
  515. the right output on, say, a screen viewer, you can be assured
  516. that you will get exactly the same output on a laser printer
  517. without running the \TeX{} program again.
  518.  
  519. The process may be thought of as proceeding in the following way:
  520. $$
  521. {\hbox{edit text\quad} \atop \longrightarrow}
  522. \lower .6cm \makebox{1.5cm}{1.8cm}%
  523. {\vbox{\hbox{\TeX{}}
  524.        \hbox{input}
  525.        \hbox{file}
  526.        }%
  527. }%
  528. {\hbox{\quad \TeX{} program\quad} \atop \longrightarrow}
  529. \lower .6cm \makebox{1.5cm}{1.8cm}%
  530. {\vbox{\hbox{DVI}
  531.        \hbox{file}}
  532. }%
  533. {\hbox{\quad device driver\quad} \atop \longrightarrow}
  534. \lower .6cm \makebox{1.5cm}{1.8cm}%
  535. {\vbox{\hbox{readable}
  536.        \hbox{output}}
  537. }%
  538. $$
  539.  
  540. This means that we don't see our output in its final form when it
  541. is being typed at the terminal. But in this case a little
  542. patience is amply rewarded, for a large number of symbols not
  543. available in most word processing programs become available. In
  544. addition, the typesetting is done with more precision, and the
  545. input files are easily sent between different computers by
  546. electronic mail or on a magnetic medium.
  547.  
  548. Our focus will be on the first step, that is, creating the \TeX{}
  549. input file and then running the \TeX{} program to produce
  550. appropriate results.  There are two ways of running the \TeX{}
  551. program; it can be run in batch mode or interactively.  In
  552. batch mode you submit your \TeX{} input file to your computer;
  553. it then runs the \TeX{} program without further intervention and
  554. gives you the result when it is finished.  In interactive mode
  555. the program can stop and get further input from the user, that
  556. is, the user can interact with the program.  Using \TeX{}
  557. interactively allows some errors to be corrected by the user,
  558. while the \TeX{} program makes the corrections in batch mode as
  559. best it can. Interactive is the preferred mode, of course. All
  560. personal computer and many mainframe implementations are
  561. interactive.  On some mainframes, however, the only practical
  562. method of running \TeX{} is in batch mode.
  563.  
  564.  
  565. \subsection{From \TeX{} file to readable output, the big set up}
  566. \vskip\baselineskip
  567.  
  568. {\parskip = 0pt \noindent
  569. [Note from MD:
  570. {\sl This is the only system dependent section in the manual and
  571. may be replaced by a local guide. No reference is made to it
  572. outside of the section itself. The following local information
  573. should be included:
  574. \item{$\bullet$} What initial steps, if any, should be taken by the reader
  575. to permit the running of \TeX{} and your local device driver(s).
  576. \item{$\bullet$} How to run \TeX\null.
  577. \item{$\bullet$} How to read the log file.
  578. \item{$\bullet$} How to preview and/or print the dvi file.
  579.  
  580. The following sample is applicable here at the University of
  581. Manitoba.  We use a locally written editor (MANTES) on an
  582. Amdahl running MVS; I'm fairly certain that it's the worst possible case.}]
  583. }
  584.  
  585.  
  586. In this section we'll see how to run \TeX{} at the University of
  587. Manitoba.  It is assumed that the reader is familiar with MANTES
  588. and can create text files using it.
  589.  
  590. First, there are several things that must be done {\bf one time
  591. only}. To start you must do the following (you type in the
  592. material that looks like typewriter type):
  593. \item{(1)} allocate the files that \TeX{} will use by typing the
  594. following lines (while in MANTES):
  595. \itemitem{}  C: {\tt alloc da=source.tex format=vb,256,6144}
  596. \itemitem{}  C: {\tt alloc da=dvi format=fb,1024,6144}
  597.  
  598. \item{(2)} Create a file called RUNTEX in your MANTES aggregate
  599. containing the following JCL:
  600.  
  601. \beginuser
  602. //        JOB  ,'RUN TEX'
  603. //        EXEC TEXC
  604. //SRC     DD DSN=<userid>.SOURCE.TEX,DISP=SHR
  605. //DVI     DD DSN=<userid>.DVI,DISP=OLD
  606. \enduser
  607.  
  608.  
  609. The name {\tt <userid>} is replaced by your own user id, of
  610. course. The use of upper case and the spaces must be followed
  611. exactly.
  612.  
  613. \item{(3)} Create a file called PRINTTEX in your MANTES aggregate
  614. containing the following JCL:
  615.  
  616. \beginuser
  617. //        JOB  ,'PRINT TEX'
  618. //        EXEC TEXP
  619. //DVIFILE DD DSN=<userid>.DVI,DISP=SHR
  620. \enduser
  621.  
  622.  
  623. Once you have completed these three steps, you are ready to run a
  624. \TeX{} job. The files you have created will allow you to produce
  625. about ten pages of ordinary text.
  626.  
  627. Here are the steps you use {\bf each time you run a job}.
  628.  
  629. \item{(1)} create a MANTES file containing your \TeX{} input.
  630. \item{(2)} save and submit your file using the commands
  631. \itemitem{} C: {\tt save f/l to da=source.tex noseq}
  632. \itemitem{} C: {\tt submit runtex}
  633. \item{(3)} when you get a message saying that your job is finished,
  634. enter the command
  635. \itemitem{} C: {\tt out <jobname>; list ttyout}
  636.  
  637. In this command, {\tt <jobname>} is replaced by your user id with
  638. a dollar sign appended.  This file listing will tell you of any
  639. errors that might have occurred.  It is an abbreviated version of
  640. what is called the ``log file''; we will use the term ``log
  641. file'' to refer to the ttyout file produced by \TeX\null.
  642.  
  643. If you want, you can check on the status of your job while it is
  644. executing by using the command
  645. \itemitem{} C: {\tt q <jobname>}
  646.  
  647. When you are finished looking at the log file, the command {\tt
  648. end scratch} will throw away the log file while the command {\tt
  649. end release} will send the log file to the printer, and it can
  650. then be picked up with your \TeX{} output.
  651.  
  652. \item{(4)} when your output from RUNTEX program is error free, \TeX{}
  653. will have created a legal DVI file.  To print it, use the
  654. command
  655. \itemitem{} C: {\tt submit printtex nohold}
  656.  
  657. As in (3), you can check on the status of your job while it is
  658. executing.
  659. \item{(5)} Pick up your output at the I/O window, sixth floor
  660. Engineering building.  It usually takes about twenty minutes for the
  661. output to be ready.  Ask for it by ``{\tt <jobname>}''.
  662.  
  663. The files created are large enough for running \TeX{} jobs of about
  664. 10 pages.  A job of that size will take about one second of CPU time
  665. to run through \TeX\null.  It will take about 15 seconds of CPU time to
  666. print 10 pages on the Xerox 8600 using the current device driver.
  667.  
  668. You can print your own copy of this manual using the command
  669. {\tt \%docu tex}. You can also find lots of other useful
  670. online information about \TeX{} by using {\tt \%texinfo}.
  671.  
  672. \subsection{Let's do it!}
  673.  
  674. So, from our viewpoint, the name of the game is to create the \TeX{}
  675. file that produces the right readable output. What does
  676. a \TeX{} file look like? It consists of characters from an
  677. ordinary terminal, that is, upper and lower case letters,
  678. numbers, and the usual punctuation and accent characters (these
  679. are the usual ASCII characters). Text, for the most part, is just
  680. typed normally. Special instructions usually start with one of a
  681. few special symbols such as {\tt \#} or {\tt \&} (these will be
  682. described in more detail later). Here is an example of a \TeX{}
  683. input file:
  684.  
  685. \beginuser
  686. Here is my first \\TeX\\ sentence.
  687. \\bye
  688. \enduser
  689. \toindex{TeX{} } \toindex{ }
  690.  
  691.  
  692. First note that the characters in this example look like
  693. typewriter type. We use these characters with all examples that
  694. are meant to be typed from the computer terminal. Second, note
  695. that the backslash appears three times in the text. We'll soon
  696. see that this is one of the special symbols mentioned
  697. previously, and it is used very frequently when making \TeX{}
  698. documents. Make a file containing this example. Use the \TeX{}
  699. program to make a DVI file and a device driver to see what you
  700. have produced. If all goes well, you'll have a single page with
  701. the following single sentence:
  702.  
  703. Here is my first \TeX\ sentence.
  704.  
  705.   There will also be a page number at the bottom of the page. If
  706. you've gotten this far, congratulations! Once you can produce one
  707. \TeX{} document, it's just a matter of time before you can do
  708. more complicated ones. Now let's compare what we typed in with
  709. what we got out. The straightforward words were just typed in
  710. normally, and \TeX{} set them in ordinary type. But the word ``\TeX'',
  711. which can't be typed in on a terminal because the letters
  712. aren't on the same line, is entered by using a word starting with
  713. a backslash, and \TeX{} made the proper interpretation. Most
  714. symbols that are not ordinary letters, numbers, or punctuation
  715. are typeset by entering a word starting with a backslash. If we
  716. look a little closer, we'll note that the word ``first'' is also
  717. changed.
  718. \TeXref{4}
  719. The first two letters have been joined together and there isn't
  720. a separate dot over the letter ``i''. This is standard
  721. typesetting practice: certain letter combinations are joined up
  722. to form what are called {\sl ligatures}. There is actually a good
  723. \aesthetic{} reason for this. Compare the first two letters of
  724. ``first'' and ``{f}irst'' to see the difference. We note that
  725. {\tt \\bye} appears in the input file with no corresponding word
  726. in the final copy.
  727. \toindex{bye}
  728. This a typesetting instruction that tells \TeX{} that the input
  729. is finished. We'll learn about lots of different typesetting
  730. instructions as we go along.
  731.  
  732. Let's look at the log file that was created when we ran \TeX
  733. \null. It may vary slightly at your site, but should look
  734. something like this:
  735. \beginuser
  736.    1.
  737.    2.  This is TeX, MVS Version 2.9 (no format preloaded)
  738.    3.   ** File  PLAIN.FMT <-- DD=FMTLIB MEM=PLAIN
  739.    4.
  740.    5.   ** File  SRC.TEX <-- DD=SRC
  741.    6.  (src.tex [1]
  742.    7.  Output written on DVI (1 page, 256 bytes).
  743.    8.  Transcript written on TEXLOG.
  744. \enduser
  745.  
  746.  
  747. This is the file that will contain any error messages. On line 6,
  748. {\tt (src.tex\ } indicated that \TeX{} has started reading that
  749. file. The appearance of {\tt [1]} indicates that page 1 has been
  750. processed. If there were errors on page 1, they would be listed
  751. at that point.
  752.  
  753. \vskip .5cm
  754. \exercise Add a second sentence to your original \TeX{} file to get:
  755. \beginuser
  756. Here is my first \\TeX\\ sentence.
  757. I was the one who typeset it!
  758. \\bye
  759. \enduser
  760.  
  761. Use \TeX{} and look at your output. Is the second sentence on a
  762. new line?
  763.  
  764.  
  765. \exercise Now add this line to the beginning of your file:
  766. \beginuser
  767. \\nopagenumbers
  768. \enduser
  769. \noindent
  770. Guess what will happen when you run the new file through
  771. \TeX\null.  Now try it and see what happens.
  772. \toindex{nopagenumbers}
  773.  
  774. \exercise Add three or four more sentences to your file.
  775. Use letters, numbers, periods, commas, question marks,
  776. and exclamation points, but don't use any other symbols.
  777.  
  778.  
  779. \exercise Leave a blank line and add some more sentences.
  780. You can now get new paragraphs.
  781. \medskip
  782.  
  783. We have now seen a major principle concerning the preparation of
  784. \TeX{} input files. The placement of the text on your computer
  785. terminal does not necessarily correspond to the placement of the
  786. text on your output. You can not, for example, add space between
  787. words in your output by adding spaces in your input file. Several
  788. consecutive spaces and one space will produce exactly the same
  789. output. As would be expected, a word at the end of one line will
  790. be separated from the first word of the following line. In fact,
  791. sometimes when working on a file that will be heavily edited, it
  792. is convenient to start each sentence on a separate line. Spaces
  793. at the beginning of a line, however, are always ignored.
  794.  
  795. \exercise Add the following sentence as a new paragraph, and then
  796. typeset it:
  797. \beginuser
  798. Congratulations! You received a grade of 100\% on your latest
  799. examination.
  800. \enduser
  801. \noindent
  802. The {\tt\%} sign is used for comments in your input file.
  803. Everything on a line following this symbol is ignored. Notice
  804. that even the space that normally separates the last word on one
  805. line from the first word on the next line is lost. Now put a
  806. backslash in front of the {\tt\%} sign to correct the
  807. sentence. \toindex{\$} \toindex{\%}
  808.  
  809. \exercise Add the following sentence as a new paragraph:
  810. \beginuser
  811. You owe me \$10.00 and it's about time you sent it to me!
  812. \enduser
  813. \noindent
  814. This will produce an error in your log file (if your
  815. implementation of \TeX{} is interactive, that is, sends you
  816. messages and waits for answers, just hit the carriage return or
  817. enter key when you get the error message). You will get output,
  818. but not what you might expect. Look at the log file and see
  819. where the error messages are listed. Don't worry about the
  820. actual messages. We'll have a lot more to say about errors
  821. (including this one) later. Now fix the error by putting a
  822. backslash in front of the {\tt \$} sign, and typeset the result
  823. (there are a small number of characters like the per cent and
  824. dollar signs that \TeX{} uses for its own purposes. A table of
  825. these characters will be provided shortly).
  826.  
  827. \subsection{\TeX{} has everything under control}
  828.  
  829. We have seen that the backslash has a special role. Any word
  830. starting with a backslash will be given a special interpretation
  831. when \TeX{} reads it from your input file. Such a word is called
  832. a {\sl control sequence}. There are, in fact, two types of
  833. control sequences: a {\sl control word\/} is a backslash followed
  834. by letters only (for example, {\tt \\TeX}) and a {\sl control
  835. symbol\/} is a backslash followed by a single nonletter (for
  836. example, {\tt \\\$})\null. Since a space is a nonletter, a
  837. backslash followed by a space is a legitimate control symbol.
  838. \TeXref{7--8}
  839. When we want to emphasize that a space is present, we will use a
  840. special symbol {\tt\sp} to indicate the space, as in the control
  841. symbol {\tt\\\sp}.  This convention is used in {\bf The \TeX
  842. book} as well as in this manual.
  843.  
  844. When \TeX{} is reading your input file and comes to a backslash
  845. followed by a letter, it knows that a control word is being
  846. read. So it continues reading the name of the control word until
  847. a nonletter is read. So if your file contains
  848.  
  849. \displaytext{\tt I like \\TeX!}
  850.  
  851. \noindent
  852. the control word {\tt \\TeX} is terminated by the exclamation
  853. point. But this presents a problem if you want to have a space
  854. after a control word. If you have, for example, the sentence
  855.  
  856. \displaytext{\tt I like \\TeX and use it all the time.}
  857.  
  858. \noindent
  859. in your input file, the control word {\tt\\TeX} is terminated by
  860. the space (which is, of course, a nonletter). But then you won't
  861. have a space between the words ``\TeX{}'' and ``and''; inserting
  862. more spaces won't help, since \TeX{} doesn't distinguish between
  863. one space and several consecutive spaces. But if you put the
  864. control symbol {\tt\\\sp} after a control word, you will both
  865. terminate the control word and insert a space. It's really easy
  866. to forget to put in something like {\tt\\\sp} after a control
  867. word. I promise you that you will do it at least once while
  868. you're learning to use \TeX\null.
  869.  
  870. \exercise Make an input file that will produce the following
  871. paragraph:
  872.  
  873. I like \TeX! Once you get the hang of it, \TeX{} is really easy
  874. to use. You just have to master the \TeX nical aspects.
  875.  
  876. Most control words are named so as to give a hint of their uses.
  877. You can use {\tt \\par} to make a new paragraph, for example,
  878. instead of putting in a blank line.
  879. \toindex{par}
  880.  
  881. \subsection{What \TeX{} won't do}
  882.  
  883. \TeX{} is very good at setting type, but there are things that \TeX{}
  884. can't do well.  One is making figures.  Space can be left
  885. to insert figures, but there are no graphic procedures built into
  886. the language (at present).  Some implementations allow graphic
  887. instructions to be inserted using the {\tt \\special} control
  888. word but these are exceptional and definitely site dependent.
  889.  
  890. \TeX{} sets type in horizontal straight lines and not in
  891. straight lines at other angles. In particular, it is generally
  892. not possible to make insertions in ``landscape mode'', that is,
  893. with the text rotated by so that the baseline is parallel with
  894. the long edge of the paper, or to include text that has a curve for
  895. a baseline. Perspective type (gradually increasing or
  896. decreasing in height) is not handled well by \TeX\null.
  897.  
  898. We have seen that there is an ``edit, \TeX{}, driver'' cycle that
  899. is necessary for each different copy of output.  This is true
  900. even when the output device is a terminal.  In particular, it's
  901. not possible to type the input file and see the results on the
  902. screen immediately without going through the full cycle.  Some
  903. implementations have both text and graphics displays with
  904. reasonably quick turnaround (a few seconds for a single page); as
  905. hardware becomes less expensive and processors become faster, we
  906. may see improvement.
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913. \section{All characters great and small}
  914.  
  915. \subsection{Some characters are more special than others}
  916.  
  917. We saw in the last section that most text is entered at the
  918. terminal as sentences of ordinary words just as when typing with
  919. a typewriter. But we also saw that, in particular, the backslash
  920. could be used for at least two different purposes. It can be
  921. used for symbols (or combinations of symbols) that don't appear
  922. on the keyboard such as typing {\tt \\TeX} to get \TeX\null. It
  923. can also be used to give \TeX{} special instructions such as
  924. typing {\tt \\bye} to indicate the end of the input file. In
  925. general, a word starting with a backslash will be interpreted by
  926. \TeX{} as one requiring special attention. There are several
  927. hundred words that \TeX{} knows, and you can define more
  928. yourself, and so the backslash is very important. We'll spend a
  929. lot of time as we proceed learning some of these words;
  930. fortunately we'll only need to use a small number of them most of
  931. the time.
  932.  
  933. There are ten characters which, like the backslash, are used
  934. by \TeX{} for special purposes, and we now want to give the
  935. complete list.
  936. \TeXref{37--38}What if we want to use a sentence with one of these
  937. special characters in it? With this in mind we'll ask the following
  938. questions:
  939. \item{(1)} What are the different special characters?
  940. \item{(2)} How do we use a special character if we really want to
  941. typeset it in our text?
  942.  
  943. Here is a table of each special character, its purpose, and the
  944. method of typesetting the special character itself if you need
  945. it:
  946.  
  947.  
  948. \maketable [Characters requiring special input]
  949. \halign{
  950.    \strut \hfil#\hfil & \quad # \hfil & \quad\tt # \hfil\cr
  951.    \bf Character & \bf Purpose & \bf Input for literal output \cr
  952.    \noalign{\hrule} \noalign{\smallskip}
  953.    $\backslash$   & Special symbols and instructions & \$\\backslash\$   \cr
  954.    $\{$ & Open group                       & \$\\\lb\$    \cr
  955.    $\}$ & Close group                      & \$\\\rb\$    \cr
  956.    \%   & Comments                         & \\\%         \cr
  957.    \&   & Tabs and table alignments        & \\\&         \cr
  958.    \~{} & Unbreakable space                & \\\~{}\lb\rb \cr
  959.    \$   & Starting or ending math text     & \\\$         \cr
  960.    \^{} & Math superscripts                & \\\^{}\lb\rb \cr
  961.    \_{} & Math subscripts                  & \\\_{}\lb\rb \cr
  962.    \#   & Defining replacement symbols     & \\\#         \cr
  963.        }
  964.  
  965. \toindex{\lb}
  966. \toindex{\rb}
  967. \toindex{\%}
  968. \toindex{\&}
  969. \toindex{\~{}}
  970. \toindex{\$}
  971. \toindex{\^{}}
  972. \toindex{\_{}}
  973. \toindex{\#}
  974.  
  975. \subsection{Typesetting with an accent}
  976.  
  977. Now we're going to start using some of \TeX{}'s goodies! So far
  978. we've just been using \TeX{} to make our output look attractive,
  979. but now we'll start to do things that are difficult or impossible
  980. on the typewriter. In particular, we're going to look at accents
  981. now. How do you produce an accent when the symbol doesn't appear on
  982. the keyboard? Just as with the symbol \TeX{}, it is necessary to
  983. enter a word starting with a backslash. For the word ``premi\`ere'',
  984. as a first example, you need to type in {\tt premi\\`ere}
  985. (you may have to hunt around to find the ``back prime''
  986. or ``grave'' symbol {\tt `} on your keyboard, but it's there
  987. somewhere\fnote{If you have a very old or obscure
  988. keyboard and the back prime is {\it really\/} not there, you can
  989. use {\tt \\lq\lb\rb} instead.  Similarly {\tt \\rq\lb\rb} can be
  990. used for the symbol {\tt '}. You can think of the symbols as
  991. being abbreviations for ``left quote'' and ``right quote.'' In
  992. addition, {\tt \\lq\\lq\lb\rb} and {\tt \\rq\\rq\lb\rb} give the
  993. usual quotation marks. But this won't work as a method to produce
  994. an accent over the following letter, so you're really better off
  995. with a proper keyboard.}). In general, to put an accent
  996. on a letter, the appropriate control sequence precedes the letter.
  997.  
  998. Here are some examples:
  999. $$\vbox{
  1000.  
  1001. \halign{
  1002. \strut \hfil\tt # & \quad # \hfil\cr
  1003. \bf \TeX{} input & \bf \TeX{} output \cr
  1004. \noalign{\hrule} \noalign{\smallskip}
  1005. \\`a la mode          & \`a la mode \cr
  1006. r\\'esum\\'e          & r\'esum\'e  \cr
  1007. soup\\c{\sp}con   & soup\c con  \cr
  1008. No\\"el               & No\"el      \cr
  1009. na\\"\\i{\sp}ve    & na\"\i ve   \cr
  1010. }
  1011. }$$
  1012.  
  1013.  
  1014. We see several principles illustrated by these examples. Most
  1015. accents are produced by using a control symbol with a similar
  1016. shape. A few of them are produced by control words containing a
  1017. single letter. Some care must be used in this case, for a space
  1018. must be used to terminate the control word. If you have {\tt
  1019. soup\\ccon} in your file, for example, \TeX{} will look for the
  1020. control word {\tt\\ccon}\fnote{We'll see that there is another
  1021. method when we look at the grouping concept in Section~4.}.
  1022. \TeXref{52--53}
  1023.  
  1024. Notice that there is a control word {\tt\\i} also. This produces
  1025. the letter ``i'' without the dot over it; this allows an accent
  1026. to be put over the lower part of the letter. There is an
  1027. analogous control word {\tt\\j} that produces a dotless ``j''
  1028. for accenting purposes.
  1029.  
  1030. \maketable [Accents that may be immediately followed by a letter]
  1031. \halign{
  1032.    \strut \hfil # & \quad \hfil \tt # \hfil & \hfil \quad # \hfil\cr
  1033.    \bf Name & \bf \TeX{} input & \bf \TeX{} output \cr
  1034.    \noalign{\hrule} \noalign{\smallskip}
  1035.    grave           & \\`o & \`o \cr
  1036.    acute           & \\'o & \'o \cr
  1037.    circumflex      & \\\^{}o & \^o \cr
  1038.    umlaut/dieresis/tr\'emat & \\"{}o    & \"o \cr
  1039.    tilde           & \\\~{}o & \~o \cr
  1040.    macron          & \\={}o    & \=o \cr
  1041.    dot             & \\\char'056{}o    & \.o \cr
  1042.        }
  1043.  
  1044. \toindex{`}
  1045. \toindex{'}
  1046. \toindex{\^{}}
  1047. \toindex{"}
  1048. \toindex{i}
  1049. \toindex{j}
  1050. \toindex{=}
  1051. \toindex{.}
  1052.  
  1053. \maketable [Accents requiring an intervening space]
  1054. \halign{
  1055.    \strut \hfil # \hfil & \quad \hfil \tt # \hfil & \hfil \quad # \hfil\cr
  1056.    \bf Name & \bf \TeX{} input & \bf \TeX{} output \cr
  1057.    \noalign{\hrule} \noalign{\smallskip}
  1058.    cedilla         & \\c o   & \c{o} \cr
  1059.    underdot        & \\d o   & \d{o} \cr
  1060.    underbar        & \\b o   & \b{o} \cr
  1061.    h\'a\v{c}ek     & \\v o   & \v{o} \cr
  1062.    breve           & \\u o   & \u{o} \cr
  1063.    tie             & \\t oo  & \t oo \cr
  1064.    Hungarian umlaut& \\H o   & \H{o} \cr
  1065.       }
  1066.  
  1067. \toindex{c}
  1068. \toindex{d}
  1069. \toindex{b}
  1070. \toindex{v}
  1071. \toindex{u}
  1072. \toindex{t}
  1073. \toindex{H}
  1074.  
  1075. \TeX{} also allows some letters from languages other than English to
  1076. be typeset.
  1077.  
  1078. \maketable [A\kern-1pt vailable foreign language symbols]
  1079. \halign{
  1080.    \strut \hfil # \hfil & \quad \hfil \tt # \hfil & \hfil \quad # \hfil\cr
  1081.    \bf Example& \bf \TeX{} input & \bf \TeX{} output \cr
  1082.    \noalign{\hrule} \noalign{\smallskip}
  1083.    \AE gean, \ae sthetics     & \\AE, \\ae    & \AE, \ae \cr
  1084.    \OE uvres, hors d'\oe uvre & \\OE \\oe     & \OE, \oe \cr
  1085.    \AA ngstrom                & \\AA, \\aa    & \AA, \aa \cr
  1086.    \O re, K\o benhavn         & \\O, \\o      & \O, \o   \cr
  1087.    \L odz, \l\'odka           & \\L, \\l      & \L, \l   \cr
  1088.    Nu\ss                      & \\ss          & \ss      \cr
  1089.    ?`Si?                      & {?}{`}        & ?`       \cr
  1090.    !`Si!                      & {!}{`}        & !`       \cr
  1091.    Se\~nor                    & \\\~{}        & \~{}       \cr
  1092.                              & \lb\\it\\\$\rb & {\it\$}  \cr
  1093.       }
  1094.  
  1095. \toindex{AE}
  1096. \toindex{ae}
  1097. \toindex{OE}
  1098. \toindex{oe}
  1099. \toindex{AA}
  1100. \toindex{aa}
  1101. \toindex{O}
  1102. \toindex{o}
  1103. \toindex{L}
  1104. \toindex{l}
  1105. \toindex{ss}
  1106.  
  1107. Typeset the sentence in each of the following exercises:
  1108.  
  1109. \exercise Does \AE schylus understand \OE dipus?
  1110.  
  1111. \exercise The smallest internal unit of \TeX{} is about 53.63\AA.
  1112.  
  1113. \exercise They took some honey and plenty of money wrapped up in a
  1114. {\it \$}5 note.
  1115.  
  1116. \exercise \'El\`eves, refusez vos le\c cons! Jetez vos cha\^\i nes!
  1117.  
  1118. \exercise Za\v sto tako polako pijete \v caj?
  1119.  
  1120. \exercise Mein Tee ist hei\ss.
  1121.  
  1122. \exercise Peut-\^etre qu'il pr\'ef\`ere le caf\'e glac\'e.
  1123.  
  1124. \exercise ?`Por qu\'e no bebes vino blanco? !`Porque est\'a avinagrado!
  1125.  
  1126. \exercise M\'\i\'\j n idee\"en worden niet be\"\i nvloed.
  1127.  
  1128. \exercise Can you take a ferry from \"Oland to \AA land?
  1129.  
  1130. \exercise T\"urk\c ce konu\c san ye\u genler nasillar?
  1131.  
  1132.  
  1133. \def\bdots{$\textfont0=\tenbf \ldots$} %%% boldface version of \ldots
  1134.  
  1135. \subsection{Dots, dashes, quotes, \bdots}
  1136.  
  1137. Typing has always been a compromise: the small number of keys
  1138. (compared to the number of typeset symbols available) has forced
  1139. some changes on the typist.  When preparing material using \TeX{},
  1140. there is no need to be so restricted. In this section we'll look
  1141. at some differences between typing and using \TeX\null.
  1142.  
  1143. There are four types of dashes that are used.  The hyphen is used
  1144. for combining words into one unit as with mother-in-law.
  1145. \TeXref{3--5}
  1146. The en-dash is used to indicate a sequence of page numbers, years
  1147. or such things. The em-dash is a grammatical symbol.  The minus
  1148. sign is used for negative numbers. Here they are with their uses:
  1149.  
  1150. \maketable [Different types of dashes]
  1151. \halign{
  1152.    \strut \hfil # \hfil & \quad \hfil \tt # \hfil & \hfil \quad # \hfil
  1153.                         & \hfil # \hfil\cr
  1154.    \bf Name& \bf \TeX{} input & \bf \TeX{} output & \bf Example\cr
  1155.    \noalign{\hrule} \noalign{\smallskip}
  1156.    hyphen     & -         & -   & The space is 3-dimensional. \cr
  1157.    en-dash    & {-}{-}    & --  & Read pages 3--4. \cr
  1158.    em-dash    & {-}{-}{-} & --- & I saw them---there were 3 men alive. \cr
  1159.    minus sign & \$-\$     & $-$ & The temperature dropped to $-$3 degrees. \cr
  1160.       }
  1161.  
  1162. \exercise I entered the room and---horrors---I saw both my
  1163. father-in-law and my mother-in-law.
  1164.  
  1165. \exercise The winter of 1484--1485 was one of discontent.
  1166. \bigskip
  1167.  
  1168.  
  1169. Another difference between typing and using \TeX{} is the use of
  1170. quotation marks.  Opening and closing quotation marks are the
  1171. same on a typewriter.  They are produced in \TeX{} by using the
  1172. apostrophe or prime key {\tt '} and backprime key {\tt `}\null.
  1173. An open quote is produced by {\tt ``} and the
  1174. close quote by {\tt ''}\null.\TeXref{3} Similarly the
  1175. opening single quote is produced by {\tt `} and the closing
  1176. single quote by {\tt '}\null. Notice that there is no need
  1177. to use the usual typing quotation mark (it normally gives a close
  1178. quote, but don't count on it).
  1179.  
  1180. \exercise His ``thoughtfulness'' was impressive.
  1181.  
  1182. \exercise Frank wondered, ``Is this a girl that can't say `No!'?''
  1183. \bigskip
  1184.  
  1185. Sometimes ellipses (three dots) are used to indicate a passage
  1186. of time or missing material.  Typing three periods will give
  1187. three dots very close together. The dots with proper spacing will
  1188. be produced by having {\tt \\dots} in your input file.
  1189. \TeXref{173}
  1190. \toindex{dots}
  1191.  
  1192. \exercise He thought, ``\dots and this goes on forever, perhaps to the
  1193. last recorded syllable.''
  1194.  
  1195. Another problem with dots is that the period after an
  1196. abbreviation normally has less space after it than does the
  1197. period at the end of a sentence. There are two ways to solve this
  1198. problem: the dot can be followed by either {\tt\\\sp} or {\tt\~{}}
  1199. to change the spacing.
  1200. \TeXref{91--92}
  1201. The second alternative will give an unbreakable space; when such
  1202. a space is between two words, these words must typeset on the
  1203. same line. The input {\tt Prof.\~{}Knuth} would cause those two
  1204. words to be typeset on one line.  This is desirable for names
  1205. like Vancouver, B.~C. and Mr.~Jones so that ``Mr.'' and ``Jones''
  1206. do not end up on separate lines. Notice that no backslash is used
  1207. with the unbreakable space.
  1208.  
  1209. \exercise Have you seen Ms.~Jones?
  1210.  
  1211. \exercise Prof.~Smith and Dr.~Gold flew from
  1212. \ifcanspell
  1213. Halifax N.~S. to Montr\'eal, P.~Q. via Moncton, N.~B.
  1214. \else
  1215. L.~A. to Washington, D.~C., via Fargo, N.~D.
  1216. \fi
  1217.  
  1218.  
  1219. \subsection{Different fonts}
  1220.  
  1221. The most obvious difference between typewritten text and \TeX{}
  1222. output is undoubtedly the different fonts or types of symbols
  1223. used. When \TeX{} starts up it has sixteen fonts available.  Some
  1224. of these are used for technical purposes, but even so there are
  1225. several different typefaces available as can be seen in the
  1226. following table. A complete list of the sixteen fonts is given in
  1227. Appendix F of {\bf The \TeX{}book}.
  1228. \TeXref{427--432}
  1229. Most of them are used automatically; a mathematical subscript,
  1230. for example, is put in smaller type by \TeX{} with no special
  1231. user intervention.
  1232.  
  1233. To change from the usual (roman) typeface to italic, the control
  1234. word {\tt \\it} is used.  To change back to the usual roman
  1235. typeface, use {\tt \\rm}. For example, you could have the
  1236. following sentence: {\tt I started with roman type, \\it switched
  1237. to italic type, \\rm and returned to roman type}. This would give
  1238. the following: I started with roman type, \it switched to italic
  1239. type,\fnote{Notice that the comma and this footnote are in
  1240. italic type, and this looks a little funny. We'll see that there
  1241. is another method for changing fonts when we talk about grouping
  1242. in Section 4.}
  1243. \rm and returned to roman type.
  1244.  
  1245. Typefaces other than italic are also available. Those given below
  1246. are the ones most commonly used.  They are available immediately
  1247. when \TeX{} starts. A little later we'll see how to use other
  1248. typefaces that aren't available when \TeX{} starts.
  1249.  
  1250. \global\advance\footnotenum by 1
  1251. \maketable [Font Samples]
  1252. \halign{
  1253.    \strut \hfil # \hfil & \quad \hfil \tt # \hfil & \hfil \quad # \hfil\cr
  1254.    \bf Font name & \bf \TeX{} switch sequence & \bf Sample of typeface \cr
  1255.    \noalign{\hrule} \noalign{\smallskip}
  1256.    Roman       & \\rm  & \rm This is roman type. \cr
  1257.    Boldface    & \\bf  & \bf This is boldface type. \cr
  1258.    Italic      & \\it  & \it This is italic type. \cr
  1259.    Slanted     & \\sl  & \sl This is slanted type. \cr
  1260.    Typewriter  & \\tt  & \tt This is typewriter type. \cr
  1261.    Math symbol${}^\the\footnotenum$ & \\cal & $\cal SOME\hbox{\quad}SCRIPT
  1262.                                      \hbox{\quad}LETTERS$\rm. \cr
  1263.       }
  1264.  
  1265. \footnote{}{\llap{$^\the\footnotenum$}%
  1266. This example is cheating since you need to know a little about
  1267. mathematics input to use it, but I wanted to include it anyway.
  1268. You'll be able to use these letters after you study the use of
  1269. mathematical symbols.}
  1270. \nobreak
  1271. \toindex{it}
  1272. \toindex{rm}
  1273. \toindex{bf}
  1274. \toindex{sl}
  1275. \toindex{tt}
  1276.  
  1277. The slanted and italic fonts seem quite similar at first.  It is
  1278. easy to see the difference between the letter ``a'' in each
  1279. sample. When changing from a slanted or italic font to a roman
  1280. font, the last letter in the first font will lean towards the
  1281. first letter of the roman font; this looks cramped, and to
  1282. compensate there is a little extra space that can be added called
  1283. the {\sl italic correction}. This is done using the control
  1284. symbol {\tt \\/}.
  1285. \toindex{/}
  1286. In the following sentence, there is no italic correction after
  1287. the first sequence of italic letters but there is after the
  1288. second sequence; see the difference: {\it If} the italic
  1289. correction is not used the letters are too close together, but
  1290. {\it if\/} the correction is used, the spacing is better.  There
  1291. is no need for the italic correction when the italic characters
  1292. are followed by a comma or a period, but your text will
  1293. definitely look better if you use it before quotation marks or
  1294. parentheses.
  1295.  
  1296.  
  1297. It is possible to use fonts other than those initially defined in
  1298. \TeX{} when desired (assuming that they are available on
  1299. your computer system, of course).  Different sizes can be used
  1300. with the aid of the control word {\tt \\magstep}. To define your
  1301. new font you will have to know its name on your computer system.
  1302. For example, the roman typeface is called ``cmr10'' on most
  1303. systems.  If you use {\tt \\font\\bigrm = cmr10 scaled \\magstep
  1304. 1}, you can then use {\tt\\bigrm} in exactly the same way as you
  1305. use {\tt\\it} or {\tt\\rm}.
  1306. \TeXref{13--17}
  1307. \toindex{magstep}
  1308. \toindex{font}
  1309. \toindex{scaled}
  1310.  
  1311. Switching via {\tt\\bigrm} will give roman type that is larger
  1312. than the usual by 20\%\null.  {\tt \\font\\bigbigrm = cmr10
  1313. scaled \\magstep 2} will define a font that is about 44\% larger
  1314. than the usual roman typeface.  The sizes {\tt \\magstep~0} to
  1315. {\tt \\magstep~5} are available.  On most computers {\tt \\magstephalf}
  1316. is also available; this represents an enlargement of
  1317. about 9.5\%\null. Here are some samples at various sizes:
  1318.  
  1319. \maketable [Different Font Magnifications]
  1320. \halign{
  1321.    \strut \tt # \hfil & \quad # \hfil \cr
  1322.    \bf Magnification & \bf Sample \cr
  1323.    \noalign{\hrule} \noalign{\smallskip}
  1324.    \\magstep 0     & \rm  Sample text at magstep 0. \cr
  1325.    \\magstephalf   & \halfrm  Sample text at magstephalf. \cr
  1326.    \\magstep 1     & \brm  Sample text at magstep 1. \cr
  1327.    \\magstep 2     & \bbrm  Sample text at magstep 2. \cr
  1328.    \\magstep 3     & \bbbrm  Sample text at magstep 3. \cr
  1329.    \\magstep 4     & \bbbbrm  Sample text at magstep 4. \cr
  1330.    \\magstep 5     & \bbbbbrm  Sample text at magstep 5. \cr
  1331.       }
  1332. \bigskip
  1333.  
  1334. It's also possible to use completely new typefaces.  These
  1335. are dependent on system availability, of course.  Many systems
  1336. have a file called CMSS10 which is a font that contains sans
  1337. serif letters.  Using {\tt \\font\\sf = cmss10} will allow the
  1338. control word {\tt\\sf} to be used in the same manner as {\tt\\bf}.
  1339. Having made this definition, the input
  1340. \displaytext{\tt \\sf Here is a sample of our new Sans Serif font.}
  1341. will produce
  1342. \displaytext{\sf Here is a sample of our new Sans Serif font.}
  1343.  
  1344. \exercise What problem might have arisen if we had used {\tt \\ss}
  1345. instead of {\tt \\sf} to turn on the Sans Serif font? Hint: if
  1346. the answer doesn't occur to you at first, think about the German
  1347. alphabet and it will finally come to you.
  1348.  
  1349. \exercise Typeset a paragraph of magnified sans serif text.
  1350.  
  1351. The extra fonts available may vary from site to site.  The ones
  1352. in the following table are available at most places.
  1353.  
  1354. \maketable [External Fonts Names]
  1355. \halign{
  1356. \strut \tt # \hfil & \quad \tt # \hfil & \quad \tt # \hfil
  1357.                    & \quad \tt # \hfil & \quad \tt # \hfil
  1358.                    & \quad \tt # \hfil  \cr
  1359. \noalign{\hrule} \noalign{\smallskip}
  1360. CMBSY10   &CMBXSL10  &CMBXTI10  &CMBX10    &CMBX12    &CMBX5      \cr
  1361. CMBX6     &CMBX7     &CMBX8     &CMBX9     &CMB10     &CMCSC10    \cr
  1362. CMDUNH10  &CMEX10    &CMFF10    &CMFIB8    &CMFI10    &CMITT10    \cr
  1363. CMMIB10   &CMMI10    &CMMI12    &CMMI5     &CMMI6     &CMMI7      \cr
  1364. CMMI8     &CMMI9     &CMR10     &CMR12     &CMR17     &CMR5       \cr
  1365. CMR6      &CMR7      &CMR8      &CMR9      &CMSLTT10  &CMSL10     \cr
  1366. CMSL12    &CMSL8     &CMSL9     &CMSSBX10  &CMSSDC10  &CMSSI10    \cr
  1367. CMSSI12   &CMSSI17   &CMSSI8    &CMSSI9    &CMSSQI8   &CMSSQ8     \cr
  1368. CMSS10    &CMSS12    &CMSS17    &CMSS8     &CMSS9     &CMSY10     \cr
  1369. CMSY5     &CMSY6     &CMSY7     &CMSY8     &CMSY9     &CMTCSC10   \cr
  1370. CMTEX10   &CMTEX8    &CMTEX9    &CMTI10    &CMTI12    &CMTI7      \cr
  1371. CMTI8     &CMTI9     &CMTT10    &CMTT12    &CMTT8     &CMTT9      \cr
  1372. CMU10     &CMVTT10                                                \cr
  1373. }
  1374. \bigskip
  1375.  
  1376. Here's a little background about these names.  The first two
  1377. letters {\tt CM} stands for Computer Modern, the name given to
  1378. this font family by the designer. The number at the end is the
  1379. point size: 10 point type is the normal size, 7 point is the
  1380. normal size for subscripts, and 5 point is the normal size for
  1381. subscripts of subscripts, 12 point is 20\% larger than 10 point,
  1382. etc. If the letters {\tt CM} are followed by {\tt B}, it is a
  1383. boldface type.  Similarly {\tt R} indicates roman, {\tt I} is for
  1384. italics, {\tt CSC} is for small caps, {\tt SL} is for slanted,
  1385. {\tt SS} is for sans serif, {\tt SY} is for symbols,
  1386. and {\tt TT} is for typewriter type.
  1387.  
  1388. \exercise Find the fonts available on your system, and print out
  1389. all the letters and numbers in several of them.
  1390.  
  1391. \exercise The font {\tt CMR12} is 20\% larger than {\tt CMR10}.
  1392. Also {\tt \\magstep~1} magnifies the type by 20\%.  Take some
  1393. text and print it using {\tt CMR12} then using {\tt CMR10} scaled
  1394. by {\tt \\magstep~1}. The results are quite different!
  1395.  
  1396.  
  1397.  
  1398.  
  1399. \section{The shape of things to come}
  1400.  
  1401. In this section we want to see how to make text have different
  1402. shapes or sizes.  One may use \TeX{} with the default sizes, of
  1403. course, just as we have been doing so far.  We'll now become more
  1404. creative with our output.  In discussing the size of various
  1405. parts of a page of text, there are several units of measure we
  1406. can use.
  1407.  
  1408. \subsection{Units, units, units}
  1409.  
  1410. \TeX{} can measure length using many types of units.  The most
  1411. common are the inch, the \centimeter, the point, the pica. The
  1412. abbreviations for these units are {\tt in}, {\tt cm}, {\tt pt},
  1413. and {\tt pc} respectively. The point is defined by the equation 1
  1414. inch = 72.27 points, and the pica by 1 pica = 12 points. Thus a
  1415. point is rather small and is about the size of a decimal point.
  1416. Here is a sample to give an idea of the comparative sizes:
  1417. \def\pip{\vrule height 4 true pt }
  1418. \TeXref{57}
  1419.  
  1420. $$ \hbox{1 inch: } \hbox to 1 true in{\pip\hrulefill\pip}$$
  1421. $$ \hbox{1 \centimeter: }\hbox to 1 true cm{\pip\hrulefill\pip}$$
  1422. $$ \hbox{20 points: }\hbox to 20 true pt{\pip\hrulefill\pip}$$
  1423. $$ \hbox{1 pica: } \hbox to 1 true pc{\pip\hrulefill\pip}$$
  1424.  
  1425. Thus points are used to make fine changes; a pica is about the
  1426. distance between the baselines of two consecutive lines of
  1427. (unmagnified) normal text.  \TeX{} is quite exact about
  1428. dimensions; internally its smallest unit is less than one
  1429. four-millionth of an inch.  Hence it is the resolution of the
  1430. output device that will determine the accuracy of the output.
  1431.  
  1432. There are two other units that are sometimes useful that have
  1433. different sizes in different fonts. The {\tt ex} is about the
  1434. height of a small ``x'' and the {\tt em} is a little smaller than
  1435. the width of a capital ``M''\null.
  1436. \TeXref{60}
  1437.  
  1438. The shape of the output is generally determined by control
  1439. words. There are many such words; these allow very fine control
  1440. of the resulting text.  But most of the time only a small number
  1441. of them are necessary.
  1442.  
  1443. \subsection{Page shape}
  1444.  
  1445. The text on a page consists of three basic parts.  There is the
  1446. headline above the main text; this often contains a chapter
  1447. title, section title, or a page number, and may differ on odd and
  1448. even pages. Below this is the main text, which includes any
  1449. footnotes. And finally there is the footline that might contain a
  1450. page number.
  1451.  
  1452. In the examples we have seen so far, the headline has been blank.
  1453. The footline has contained either a \centred{} number or, if {\tt
  1454. \\nopagenumbers} had been used, has also been blank.  We'll have
  1455. more to say about headlines and footlines later in this section.
  1456. For the moment let's concentrate on the main text.
  1457.  
  1458. To finish one page and start a new one, {\tt \\vfill \\eject} can
  1459. be used.  The control word {\tt \\eject} forces the completion of
  1460. the current page, while {\tt \\vfill} causes any left over
  1461. vertical space to be gathered at the bottom of the page (you might
  1462. try leaving out the {\tt \\vfill} as an experiment to see how the
  1463. vertical \analog{} of justified horizontal lines of text works).
  1464. \toindex{vfill}
  1465. \toindex{eject}
  1466.  
  1467.  
  1468. {\hsize=4in
  1469. The current horizontal width of the text on the page is described
  1470. by the control word {\tt \\hsize}.  It can be changed, say to 4
  1471. inches, by {\tt \\hsize = 4 in\ } at any desired time using
  1472. methods to be described in the next few sections. The value of
  1473. {\tt \\hsize} in effect when the paragraph is completed
  1474. determines the width of the paragraph. As can be seen in this
  1475. paragraph, the text width can be changed (in this case to 4
  1476. inches) for a single paragraph.  Because it represents the
  1477. current value of the horizontal width, expressions such as {\tt
  1478.  \\hsize = 0.75\\hsize} can make a new value that is relative
  1479. to the old one. \par}
  1480. \toindex{hsize}
  1481.  
  1482. The vertical \analog{} of {\tt \\hsize} is {\tt \\vsize}, which
  1483. is the current height of the main text.  It can be reset, just
  1484. like {\tt \\hsize}.  Thus, {\tt \\vsize = 8 in\ } can be used to
  1485. change the vertical height of the main text. Note that {\tt \\vsize}
  1486. is the size of the text exclusive of any headline or
  1487. footline material.
  1488. \toindex{vsize}
  1489.  
  1490. Text can also be shifted across the page.  The upper left corner
  1491. of the text is one inch down and one inch in from the upper left
  1492. corner of the page.  The control words {\tt \\hoffset} and {\tt \\voffset}
  1493. are used to shift the text horizontally and
  1494. vertically.  Thus {\tt \\hoffset = .75 in} and {\tt \\voffset =
  1495. -.5 in} would shift the text an additional .75 inches to the
  1496. right and .5 inches up. Most of the time you'll need to set {\tt
  1497. \\hoffset}, {\tt \\voffset}, and {\tt \\vsize} at the beginning
  1498. of your document only.
  1499. \TeXref{251}
  1500. \toindex{hoffset}
  1501. \toindex{voffset}
  1502.  
  1503. \global\advance\footnotenum by 1
  1504. \maketable [Control words for page sizes]
  1505. \halign{
  1506.    \strut \hfil # & \quad \hfil \tt # \hfil & \hfil \quad # \hfil\cr
  1507.    \bf Name & \bf \TeX{} Control Word & \bf \TeX{} default value (inches)\cr
  1508.    \noalign{\hrule} \noalign{\smallskip}
  1509.    horizontal width  & \\hsize   & 6.5 \cr
  1510.    vertical width    & \\vsize   & 8.9 \cr
  1511.    horizontal offset${}^\the\footnotenum$  & \\hoffset & 0 \cr
  1512.    vertical offset${}^\the\footnotenum$   & \\voffset & 0 \cr
  1513.       }
  1514.  
  1515. \footnote{}{\llap{$^\the\footnotenum$}The text is initially 1 inch
  1516. down and 1 inch in from upper left corner of the page.}
  1517. \nobreak
  1518.  
  1519. \exercise Enter a paragraph of text that is a few lines long.
  1520. Take several copies of your paragraph and put {\tt \\hsize = 5
  1521. in\ } before one and {\tt \\hsize = 10 cm\ } in front of a second
  1522. one.  Try a few other values for {\tt \\hsize}.
  1523.  
  1524. \exercise Put {\tt \\hoffset = .5 in\ } and {\tt \\voffset = 1
  1525. in\ } before the first paragraph of your previous exercise.
  1526.  
  1527. \exercise Take your previous exercise and put {\tt \\vsize = 2
  1528. in\ } before the first paragraph.
  1529. \bigskip
  1530.  
  1531. In the previous section we saw that it is possible to use fonts
  1532. of larger size by using the {\tt \\magstep} control word.  It's
  1533. also possible to magnify the entire document at once. If {\tt
  1534. \\magnification = \\magstep 1} appears at the top of your document,
  1535. then all of your output is magnified by 20\%\null.  The other
  1536. values of {\tt \\magstep} can be used, too. {\bf It should be
  1537. emphasized that {\tt \\magnification} can only be used before
  1538. even a single character is typeset.}  This magnification creates
  1539. a problem in units; if the document is to be magnified by 20\%
  1540. and {\tt \\hsize = 5 in} appears in the \TeX{} input file, should
  1541. the final output have an {\tt \\hsize} of 5 inches or should it
  1542. be magnified by 20\% to 6 inches? Unless told otherwise, all the
  1543. dimensions will be magnified so that, in this case, {\tt \\hsize}
  1544. would be 6 inches in the final output.  This means that all the
  1545. dimensions will increase uniformly when {\tt \\magnification} is
  1546. used.  But for some special situations it might not be desirable
  1547. for this to happen; for example, you might want to leave a space
  1548. of exactly 3 inches to insert a figure.  In this case any unit
  1549. can be modified by {\tt true} so that {\tt \\hsize = 5 true in}
  1550. will always set the line width to 5 inches, regardless of
  1551. magnification. \TeXref{59--60} \toindex{magnification}
  1552.  
  1553. \exercise Put {\tt \\magnification = \\magstep 1} as the first
  1554. line in one of your input files and see how the output changes.
  1555.  
  1556. \subsection{Paragraph shape}
  1557.  
  1558. When \TeX{} is reading the text to be typeset from your input
  1559. file, it reads in a paragraph at a time and then typesets it.
  1560. This means that there is a lot of control over paragraph shapes,
  1561. but also that some care must be taken.  We've already seen that
  1562. {\tt \\hsize} can be used to control the width of a single
  1563. paragraph.  But suppose the following appeared as part of your
  1564. input file:
  1565.  
  1566. \beginuser
  1567. \\hsize = 5 in
  1568. Four score and seven years $\ldots$
  1569. $\vdots$
  1570. $\ldots$ from this earth.
  1571. \\hsize = 6.5 in
  1572.  
  1573. \enduser
  1574.  
  1575. What is the width of the paragraph?  The {\tt \\hsize} was
  1576. changed at the start of the paragraph and again at the end.
  1577. Since the paragraph was not completed (by putting in a blank line
  1578. or {\tt \\par}) until after the second change, the paragraph
  1579. would be typeset with a width of 6.5 inches. However, if a blank
  1580. line were inserted before {\tt \\hsize = 6.5 in}, then the
  1581. paragraph would be typeset with a width of 5 inches.  So, in
  1582. general, when a paragraph is set, the values of the parameters
  1583. that are in effect when the paragraph is completed are the ones
  1584. that are used.
  1585.  
  1586. Here is a table with some paragraph parameters:
  1587.  
  1588. \maketable [Some paragraph shape parameters]
  1589. \halign{
  1590.    \strut \hfil # & \quad \hfil \tt # \hfil & \hfil \quad # \hfil\cr
  1591.    \bf Function & \bf \TeX{} Control Word & \bf \TeX{} default\cr
  1592.    \noalign{\hrule} \noalign{\smallskip}
  1593.    width & \\hsize & 6.5 inches \cr
  1594.    indentation on first line & \\parindent & 20 points\cr
  1595.    distance between lines   & \\baselineskip & 12 points\cr
  1596.    distance between paragraphs & \\parskip & 0 points \cr
  1597.       }
  1598.  
  1599. \toindex{parindent}
  1600. \toindex{parskip}
  1601. \toindex{baselineskip}
  1602.  
  1603. The control word {\tt \\noindent} may be used at the beginning of
  1604. a paragraph to avoid the automatic indentation on the first line.
  1605. This control word will only affect the paragraph being set when
  1606. it is invoked (of course {\tt \\parindent = 0 pt} will cause no
  1607. indentation for all paragraphs).
  1608. \toindex{noindent}
  1609.  
  1610. {\narrower
  1611. A more flexible way to control the width of a paragraph is to use
  1612. {\tt \\rightskip} and {\tt \\leftskip}.  Setting {\tt \\leftskip
  1613. = 20 pt} causes the left margin of the paragraph to be moved in
  1614. an extra twenty points. Negative values may be assigned to {\tt
  1615. \\leftskip} to move the left margin out. The control word {\tt
  1616. \\rightskip} does the same to the right side of the paragraph.
  1617. The single control word {\tt \\narrower} is the equivalent of
  1618. setting both {\tt \\leftskip} and {\tt \\rightskip} equal to {\tt
  1619. \\parindent}.  This is quite useful for long quotations, and
  1620. this paragraph is an example of its use. As with {\tt \\hsize},
  1621. the value of {\tt \\leftskip} and {\tt \\rightskip} in effect
  1622. when the paragraph is completed is the one which will apply to
  1623. the whole paragraph.
  1624. \TeXref{100}
  1625.  
  1626. }
  1627. \toindex{leftskip}
  1628. \toindex{rightskip}
  1629. \toindex{narrower}
  1630.  
  1631. \exercise Make two paragraphs with the following specifications:
  1632. the left margin of both paragraphs is indented by 1.5 inches,
  1633. the right margin of the first paragraph is indented by 0.75
  1634. inches, and the right margin of the second paragraph is indented
  1635. by 1.75 inches.
  1636. \bigskip
  1637.  
  1638. \def\hangparagraph{ Lines can be made with different lengths
  1639. within one paragraph by using {\tt \\hangindent} and {\tt
  1640. \\hangafter}.  The amount of the indentation is determined by value
  1641. of {\tt \\hangindent}. If {\tt \\hangindent} is positive, the
  1642. indentation is made from the left, and if it is negative it is
  1643. made from the right. The lines on which the indentation occurs is
  1644. controlled by {\tt \\hangafter}.  If {\tt \\hangafter} is
  1645. positive then it determines the number of lines at full width
  1646. before the indentation starts.  Thus if {\tt \\hangindent = 1.75
  1647. in} and {\tt \\hangafter = 6}, then the first six lines will be
  1648. at full width and the rest will be indented by 1.75 inches from
  1649. the left. On the other hand if {\tt \\hangindent = \hbox{-1.75}
  1650. in} and {\tt \\hangafter = -6}, then the first six lines will be
  1651. indented by 1.75 inches from the right and the rest will be at
  1652. full width. \TeX{} resets to the default values {\tt \\hangindent
  1653. = 0 pt} and {\tt \\hangafter = 1} after each paragraph. These
  1654. control words are useful for paragraphs with ``hanging indents''
  1655. and for flowing a paragraph around space reserved for a figure.
  1656. \TeXref{355}The control word {\tt \\hang} at the beginning of the
  1657. paragraph will cause the first line to be of full width ({\tt
  1658. \\hangafter=1}) and the rest of the paragraph to be indented by
  1659. the current value of {\tt \\parindent}. But you do have to use
  1660. {\tt \\noindent} if you want the first line to extend all the way
  1661. to the left margin.
  1662. \TeXref{102}
  1663. \par}
  1664.  
  1665. \hangafter=6 \hangindent=1.75in
  1666. \hangparagraph
  1667. \toindex{hangindent}
  1668. \toindex{hangafter}
  1669. \toindex{hang}
  1670.  
  1671. Here is the previous paragraph repeated with {\tt \\hangafter = -6}
  1672. and {\tt \\hangindent = -1.75 in}.
  1673.  
  1674. \hangafter=-6 \hangindent=-1.75in \hangparagraph
  1675.  
  1676.  
  1677. The control word {\tt \\parshape} can be used to make paragraphs with
  1678. a greater variety of shapes.
  1679. \TeXref{101}
  1680. \toindex{parshape}
  1681.  
  1682. Another useful control word for setting paragraphs is {\tt \\item}.
  1683. It can be used to make various types of itemized lists,
  1684. and is invoked using the pattern {\tt \\item\lb$\ldots$\rb}\null.
  1685. This causes the next  paragraph to be formed with every line
  1686. indented by {\tt \\parindent} and, in addition, the first line
  1687. labeled on the left by whatever is between the braces.  It is
  1688. usually used with {\tt \\parskip = 0 pt}, since that control word
  1689. determines the vertical space between the different items. The control
  1690. word {\tt \\itemitem} is the same as {\tt \\item} except that the
  1691. indentation is twice as far, that is, twice the value of
  1692. {\tt \\parindent}.
  1693. \TeXref{102}Here is an example:
  1694. \toindex{item}
  1695. \toindex{itemitem}
  1696.  
  1697. \beginliteral
  1698. \parskip = 0pt \parindent = 30 pt
  1699. \noindent
  1700. Answer all the following questions:
  1701. \item{(1)} What is question 1?
  1702. \item{(2)} What is question 2?
  1703. \item{(3)} What is question 3?
  1704. \itemitem{(3a)} What is question 3a?
  1705. \itemitem{(3b)} What is question 3b?
  1706. @endliteral
  1707.  
  1708.  
  1709. \noindent
  1710. will produce
  1711. \vfill\eject
  1712.  
  1713. {\parskip = 0pt \parindent = 30 pt
  1714. \noindent
  1715. Answer all the following questions:
  1716. \item{(1)} What is question 1?
  1717. \item{(2)} What is question 2?
  1718. \item{(3)} What is question 3?
  1719. \itemitem{(3a)} What is question 3a?
  1720. \itemitem{(3b)} What is question 3b?
  1721.  
  1722. }
  1723.  
  1724. \exercise Make a paragraph several lines long and use it with
  1725. the {\tt \\item} control word to see the ``hanging indent.'' Now
  1726. take the same paragraph and use it with different values of {\tt
  1727. \\parindent} and {\tt \\hsize}.
  1728. \bigskip
  1729.  
  1730. Now let's see how to put space between paragraphs.  The control
  1731. word {\tt \\parskip} is used to determine how much space is
  1732. normally left between paragraphs. So if you put {\tt \\parskip =
  1733. 12 pt} at the beginning of your \TeX{} source file, there will be
  1734. 12 points between paragraphs unless other instructions are
  1735. given. The control word {\tt \\vskip} can be used to insert extra
  1736. vertical space between paragraphs.  If {\tt \\vskip 1 in} or {\tt
  1737. \\vskip 20 pt} appears between two paragraphs, then the extra
  1738. space is inserted.
  1739.  
  1740. There are a couple of peculiarities of {\tt \\vskip} that seem
  1741. quite strange at first.  If you have {\tt \\vskip 3 in} and the
  1742. skip starts two inches from the bottom of the page, the rest of
  1743. the page is skipped, but the extra one inch is {\it not\/}
  1744. skipped at the top of the next page.  In other words, {\tt \\vskip}
  1745. {\bf will not insert space across page boundaries}.  In
  1746. fact, {\tt \\vskip~1~in} will have no effect at all if it happens
  1747. to appear at the top of a page! For many types of vertical
  1748. spacing this is quite appropriate.  The space before a section
  1749. heading, for example, should not continue across page boundaries.
  1750.  
  1751. A similar phenomenon occurs at the beginning of your document.
  1752. If, for example, you want a title page with the title about half
  1753. way down the page, you can not insert the space at the top of the
  1754. page using {\tt \\vskip}.
  1755.  
  1756. But what if you really want some blank space at the top of a
  1757. page? You could start the page with {\tt\\\sp} but this in effect
  1758. typesets a one line paragraph containing a blank. So while
  1759. nothing is typeset, the extra space due to the values of {\tt
  1760. \\baselineskip} and {\tt \\parskip} will add extra space. An easier
  1761. method is to use {\tt \\vglue} instead of {\tt \\vskip} to get
  1762. the desired result.  Thus {\tt \\vglue 1 in\ }will leave one inch
  1763. of blank space at the top of the page.\TeXref{352}
  1764. \toindex{vglue}
  1765.  
  1766.  
  1767. We can note in passing that there is another more general method
  1768. to put material at the top of a page using the control words {\tt
  1769. \\topinsert} and {\tt \\endinsert}. If {\tt \\topinsert $\ldots$
  1770. \\endinsert} is used within a page, the material between
  1771. {\tt \\topinsert} and {\tt \\endinsert} will appear at the top
  1772. of the page, if possible. For example:
  1773.  
  1774. \vbox{
  1775.    \beginuser
  1776.    \\topinsert
  1777.    \\vskip 1 in
  1778.    \\centerline\lb Figure 1\rb
  1779.    \\endinsert
  1780.    \enduser
  1781. }
  1782. \noindent
  1783. is useful for inserting figures of a prescribed size.
  1784. \TeXref{115}
  1785. \toindex{topinsert}
  1786. \toindex{endinsert}
  1787.  
  1788. There are also some special control words for making small
  1789. vertical skips. They are {\tt \\smallskip}, {\tt \\medskip}, and
  1790. {\tt \\bigskip}. Here is the size of each one:
  1791.  
  1792. \def\hrl{\hrule width .5 in}
  1793.  
  1794. \centerline{{\tt \\smallskip}: \vbox{\hrl \smallskip \hrl} \quad
  1795.             {\tt \\medskip}: \vbox{\hrl \medskip \hrl} \quad
  1796.             {\tt \\bigskip}: \vbox{\hrl \bigskip \hrl}
  1797.             }
  1798. \toindex{smallskip}
  1799. \toindex{medskip}
  1800. \toindex{bigskip}
  1801.  
  1802. \subsection{Line shape}
  1803.  
  1804. For most material \TeX{} does a good job of breaking up a
  1805. paragraph into lines.  But sometimes it's necessary to add
  1806. further instructions. It's possible to force a new line by
  1807. inserting {\tt \\hfill \\break} in your input file. It's also
  1808. possible to  put some text on a line by itself using the control
  1809. word {\tt \\line\lb $\ldots$\rb}; then the material between the
  1810. braces will be restricted to one line (although the result will
  1811. be spread out over the whole line and may be horrible). The
  1812. control words {\tt \\leftline\lb $\ldots$\rb}, {\tt \\rightline\lb
  1813. $\ldots$\rb}, and {\tt \\centerline\lb $\ldots$\rb} will,
  1814. respectively, set the material between the braces on a single
  1815. line on the left margin, on the right margin, or \centred.  Thus
  1816. \toindex{hfill}
  1817. \toindex{break}
  1818. \toindex{centerline}
  1819. \toindex{leftline}
  1820. \toindex{rightline}
  1821. \toindex{line}
  1822.  
  1823.  
  1824. \beginliteral
  1825. \leftline{I'm over on the left.}
  1826. \centerline{I'm in the @centre.}
  1827. \rightline{I'm on the right.}
  1828. \line{I just seem to be spread out all over the place.}
  1829. @endliteral
  1830.  
  1831. \noindent
  1832. produces the four lines:
  1833. \vskip\baselineskip
  1834.  
  1835.  
  1836. {
  1837. \hbadness = 10000
  1838. \leftline{I'm over on the left.}
  1839. \centerline{I'm in the \center.}
  1840. \rightline{I'm on the right.}
  1841. \line{I just seem to be spread out all over the place.}
  1842.  
  1843. Other types of spacing can be obtained by using the control word {\tt
  1844. \\hfil}.  This causes all the extra space in the line to be
  1845. accumulated at the position where {\tt \\hfil} appears.
  1846. Thus if we alter our last example to
  1847. {\tt \\line\lb I just seem to be spread out \\hfil all over the place.\rb}
  1848. we will get \hfil\break
  1849. \medskip
  1850. \line{I just seem to be spread out \hfil all over the place.}
  1851. \medskip
  1852. If we have more than one {\tt \\hfil}, they will divide any extra
  1853. space among themselves equally.  Hence
  1854. {\tt \\line\lb left text \\hfil \centre{} text\\hfil right text.\rb}
  1855. will produce
  1856. \medskip
  1857. \line{left text \hfil \centre{} text \hfil right text.}
  1858. \toindex{hfil}
  1859. }
  1860.  
  1861. \exercise Typeset the following line:
  1862.  
  1863. \line{left end \hfil left tackle \hfil left guard \hfil \centre{} \hfil
  1864. right guard \hfil right tackle \hfil right end}
  1865.  
  1866. \exercise Typeset the following line with twice as much space between
  1867. ``left'' and ``right-\centre{}'' as between ``right-\centre{}'' and
  1868. ``right'':
  1869.  
  1870. \line{left \hfil \hfil right-\centre{} \hfil right}
  1871.  
  1872. It's possible to move horizontally using {\tt \\hskip} in a
  1873. manner analogous with {\tt \\vskip}.
  1874. \toindex{hskip}
  1875.  
  1876. \exercise What happens with the following input:\hfil\break
  1877. {\tt \\line\lb\\hskip 1 in ONE \\hfil TWO \\hfil THREE\rb}
  1878. \bigskip
  1879.  
  1880. The right justification can be canceled by using the
  1881. control word {\tt \\raggedright}.
  1882. \toindex{raggedright}
  1883.  
  1884. \subsection{Footnotes}
  1885.  
  1886. The general pattern to make footnotes using \TeX{} is
  1887. {\tt \\footnote\lb$\ldots$\rb\lb$\ldots$\rb}\null.
  1888.  
  1889. The footnote mark goes in between the first set of braces.  Some
  1890. available marks are {\tt \\dag (\dag)}, {\tt \\ddag (\ddag)}, {\tt \\S
  1891. (\S)}, and {\tt \\P (\P)}\null.  The text of the footnote
  1892. goes between the second set of braces. The use of numbers as
  1893. marks is a little less straightforward. The footnote%
  1894. \footnote{${}^{21}$}{This is the footnote at the bottom of the page.}
  1895. at the bottom of the page was produced by using {\tt \\footnote\lb\$\lb
  1896. \rb\^{}\lb{21}\rb\$\rb\lb This is the footnote at the
  1897. bottom of the page.\rb}  after the word ``footnote'' in the
  1898. text. This construction is somewhat complicated; we'll see why
  1899. it's this way when we know a little more about typesetting
  1900. mathematics. But for the moment we can look at it as a way of
  1901. getting the job done. You may want to use {\tt \\rm} within the
  1902. footnote to ensure that the right font appears. Usually you will
  1903. not want a space between the text and the control word {\tt
  1904. footnote}.\TeXref{117}
  1905. \toindex{footnote}
  1906. \toindex{ddag}
  1907. \toindex{S}
  1908. \toindex{P}
  1909.  
  1910. \exercise Make up a page with a relatively long footnote spanning
  1911. several lines.
  1912.  
  1913. \exercise Make up a page with two different footnotes on it.
  1914.  
  1915. \subsection{Headlines and Footlines}
  1916.  
  1917. \headline={\hfil \tenrm Page \the\pageno} %example for this section
  1918.  
  1919. The lines for title and page numbers that go above and below the
  1920. main text are produced by using {\tt \\headline=\lb$\dots$\rb}
  1921. and {\tt \\footline=\lb$\dots$\rb}\null.
  1922. \TeXref{252--253}
  1923.  
  1924. The principle is the same as using the control word {\tt \\line\lb
  1925. $\dots$\rb} within the usual text on the page.  A helpful
  1926. control word is {\tt \\pageno} which represents the current page
  1927. number. Thus {\tt \\headline=\lb\\hfil \\tenrm Page \\the\\pageno\rb}
  1928. would cause the page number to appear in the upper
  1929. right corner preceded by the word ``Page'' (now look at the upper
  1930. right corner of this page). It is safer to explicitly name the
  1931. font that you want to use (in this case {\tt \\tenrm} to use the
  1932. 10 point roman font), since you are never guaranteed that a
  1933. particular font will be in use when the headline or footline is
  1934. set. The control word {\tt \\the} takes the internal value of the
  1935. next word if it is an appropriate control word and prints it as
  1936. text. You can also use the control word {\tt \\folio} instead of
  1937. {\tt \\the \\pageno}. The difference is that {\tt \\folio} will
  1938. give roman numerals when {\tt \\pageno} is negative.
  1939. \toindex{headline}
  1940. \toindex{footline}
  1941. \toindex{pageno}
  1942. \toindex{the}
  1943. \toindex{folio}
  1944.  
  1945. You can also assign values to {\tt \\pageno} if you want your
  1946. document to use a different sequence of page numbers from the
  1947. usual.  Roman numerals can be produced by using negative numbers;
  1948. {\tt \\pageno=-1} at the beginning of a document will cause page
  1949. numbers to be in roman numerals.
  1950. \TeXref{252}
  1951.  
  1952. Different headlines can be produced for even and odd pages in
  1953. the following manner:
  1954.  
  1955. {\tt
  1956. \\headline=\lb\\ifodd \\pageno \lb$\dots$\rb \\else \lb$\dots$\rb
  1957. \\fi\rb}
  1958.  
  1959. \noindent
  1960. where the material between the first set of braces is for the
  1961. right-hand pages and the material between the second set of
  1962. braces is for the left-hand pages.
  1963.  
  1964. \exercise Change the footline so that the page number is \centred{}
  1965. with a en-dash on either side.
  1966.  
  1967. \subsection{Overfull and underfull boxes}
  1968.  
  1969. One of the most frustrating experiences for the new \TeX{} user
  1970. is the occurrence of overfull and underfull boxes.  They are duly
  1971. noted in the log file and are also written to the screen when \TeX{}
  1972. is being run interactively.  Overfull boxes are also marked
  1973. on the output by a slug (a large filled-in black rectangle that
  1974. looks like this: \vrule width \overfullrule) in the right
  1975. margin. Various obscene terms are applied to this slug.  It
  1976. appears even though there is nothing wrong with the \TeX{} input.
  1977. So why is the slug there and what can be done about it?
  1978.  
  1979. A good way to visualize the way \TeX{} organizes a page is to
  1980. think of the printed material as being put into boxes. There are
  1981. two types of boxes: {\sl hboxes\/} and {\sl vboxes}.  Most of the
  1982. time these correspond to the organization of horizontal text
  1983. into lines and vertical paragraphs into pages.  In particular, it
  1984. is the spacing of the words in a hbox corresponding to a line of
  1985. text that causes the slug to appear.
  1986.  
  1987. Recall that \TeX{} reads in the complete paragraph before
  1988. deciding how to break it up into lines.  This is better than
  1989. working a line at a time, since a slight improvement in one line
  1990. might cause catastrophic changes farther down in the paragraph.
  1991. When words are gathered together to form a line, space is added
  1992. between the words to justify the right margin. Very large spaces
  1993. between words is obviously undesirable; the badness of the line
  1994. is a measure of how badly the words are spaced.  An underfull
  1995. hbox means that there is too much space between words.  More
  1996. specifically, the badness of any line is a number between 0
  1997. (perfect) and 10000 (horrible).  There is a parameter called {\tt
  1998. \\hbadness} whose default value is 1000\null.  Any line whose
  1999. badness is greater than {\tt \\hbadness} is reported as an
  2000. underfull hbox.  If the value of {\tt \\hbadness} is increased,
  2001. then fewer underfull hboxes will be reported. In fact {\tt
  2002. \\hbadness = 10000} will suppress the reporting of underfull
  2003. hboxes altogether. Similarly, if the words must be squeezed into
  2004. a line so that the spaces are very small or even so the words
  2005. extend a little into the right margin, then an overfull hbox
  2006. results. \toindex{hbadness}
  2007.  
  2008. %%%%%%%%%%%%%% restore original headline %%%%%%%%%%%%%%%%%%%%%%%%
  2009. \headline={\iftitlepage \hfil \global\titlepagefalse
  2010.                                       \else \gentleheadline \fi}
  2011.  
  2012. In a similar way, sometimes \TeX{} allows a line to be slightly
  2013. longer than {\tt \\hsize} in order to achieve a more balanced
  2014. appearance. The control word {\tt \\tolerance} determines when
  2015. this happens.  If the badness of a line is greater than {\tt
  2016. \\tolerance}, \TeX{} will make the line longer by adding a new word
  2017. at the end of the line, even though it might exceed the value of
  2018. {\tt \\hsize}. A line which is only slightly longer is set
  2019. without being reported. The control word {\tt \\hfuzz} determines
  2020. how much excess is allowed; the default is {\tt \\hfuzz
  2021. =~0.1~pt}.  A line that is more than slightly longer than {\tt \\hsize}
  2022. is obviously a serious problem; \TeX{} puts a slug in
  2023. the margin to make its point forcefully. It's possible to avoid
  2024. overfull hboxes altogether by increasing the value of {\tt \\tolerance}.
  2025. With {\tt \\tolerance = 10000} there will never be
  2026. overfull boxes or slugs. The default is {\tt \\tolerance = 200}\null.
  2027. \TeXref{29}
  2028. \toindex{hfuzz}
  2029. \toindex{tolerance}
  2030.  
  2031. The width of the slug is determined by the control word {\tt
  2032. \\overfullrule}.  Including {\tt \\overfullrule = 0 pt} in your
  2033. file will delete any further  printing of the slugs.  The
  2034. overfull boxes will still be there, of course, and they will
  2035. probably be harder to spot.
  2036. \toindex{overfullrule}
  2037.  
  2038. So we see why overfull boxes and underfull boxes are reported; we
  2039. can also change the reporting by changing the values of {\tt
  2040. \\badness}, {\tt \\hfuzz}, and {\tt \\tolerance}.  In addition, a
  2041. small value of {\tt \\hsize} obviously makes it more difficult to
  2042. set lines and causes more overfull and underfull hboxes to be
  2043. reported. These are warnings that you ignore at your own peril!
  2044.  
  2045. Adding new possibilities of hyphenation will sometimes eliminate
  2046. an overfull box. \TeX{} has automatic hyphenation and usually
  2047. finds good places to hyphenate a word; however, it's possible to
  2048. add hyphenations to let lines break at new places.  For example,
  2049. the automatic hyphenation will never put a hyphen in the word
  2050. ``database''.  If you type in {\tt data\\-base}, it will allow a
  2051. hyphen to be inserted after the second letter ``a'' in the word.
  2052. More generally, if you put {\tt \\hyphenation\lb data-base\rb} in
  2053. the beginning of your input file, then all occurrences of the
  2054. word ``database'' will allow hyphenation after the letter ``a''.
  2055. \TeXref{28} The log file will show the possible hyphenations on
  2056. the line containing the overfull or underfull box. Sometimes the
  2057. best solution to an overfull or underfull hbox is a little
  2058. judicious editing of the original document.
  2059. \toindex{hyphenation}
  2060.  
  2061. Our discussion has involved the setting of type into lines, that is,
  2062. the horizontal page structure.  There are several vertical \analog{}s.
  2063. Overfull and underfull hboxes indicate how well words are gathered
  2064. into lines.  Similarly, overfull and underfull vboxes are reported
  2065. when paragraphs are gathered to form pages.  A large table that
  2066. can't be broken in the middle, for example, can produce an underfull
  2067. vbox that is reported in the log file when the page being typeset is
  2068. completed.  The control word {\tt \\vbadness} works for the vertical
  2069. placement of text in the same way as {\tt \\hbadness} works for
  2070. horizontal text.
  2071. \toindex{vbadness}
  2072.  
  2073. \exercise Take a few paragraphs and print them using various (small)
  2074. values of {\tt \\hsize} to see what kind of overfull boxes result.
  2075. Repeat with various values of {\tt \\hbadness}, {\tt \\hfuzz}, and
  2076. {\tt \\tolerance}.
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083. \section{$\Bigl\{$Groups, $\bigl\{$Groups,
  2084.         $\{$and More Groups$\}\bigr\}\Bigr\}$}
  2085.  
  2086. The concept of gathering text into groups allows \TeX{} input
  2087. files to be greatly simplified.  A new group is started by the
  2088. character {\tt\lb} and terminated by the character {\tt \rb}\null.
  2089. Changes made within a group will lose their effect when the
  2090. group terminates.  So, for example if {\tt \lb \\bf three
  2091. boldface words\rb} appears in your text, the opening brace starts
  2092. the group, the {\tt \\bf} control word changes to a boldface
  2093. font, and the closing brace finishes up the group.  Upon
  2094. completion of the group the font being used is the one in effect
  2095. before the group started.  This is the (easier) way of having a
  2096. few words in a different font.  It's also possible to have groups
  2097. nested within groups.
  2098.  
  2099. \def\sectiontitle{$\Bigl\{$Groups, $\bigl\{$Groups, $\dots \bigr\}\Bigr\}$}
  2100.  
  2101. As another example, size changes can be made in the text that are
  2102. only temporary.  For example
  2103. \beginuser
  2104. \lb
  2105. \\hsize = 4 in
  2106. \\parindent = 0 pt
  2107. \\leftskip = 1 in
  2108. will produce a paragraph that is four
  2109. $\vdots$
  2110. (this is an easy mistake to make).
  2111. \\par
  2112. \rb
  2113. \enduser
  2114.  
  2115. {\hsize = 4 in
  2116. \parindent = 0 pt
  2117. \leftskip = 1 in
  2118. will produce a paragraph that is four inches wide with the text
  2119. offset into the paragraph by one inch regardless of the settings
  2120. in effect before the start of the group.  This paragraph is set
  2121. with those values. After the end of the group, the old settings
  2122. are in effect again. Note that it is necessary to include
  2123. {\tt \\par} or to use a blank line before the closing brace to end
  2124. the paragraph, since otherwise the group will end and \TeX{} will
  2125. go back to the old parameters before the paragraph is actually
  2126. typeset (this is an easy mistake to make). \par}
  2127.  
  2128. When a control word (like {\tt \\centerline}) acts on text
  2129. following it in braces, that text is implicitly in a group. Thus
  2130. {\tt \\centerline\lb\\bf A bold title\rb} will produce a \centred{}
  2131. boldface line, and the text following that line will be in
  2132. whatever font was in effect before the {\tt \\centerline} was
  2133. invoked.
  2134.  
  2135. The empty group {\tt\lb\rb} is useful.  One use allows accents to be
  2136. typeset with no accompanying letter.  For example, {\tt \\\~{}\lb\rb}
  2137. will print a tilde with no letter under it.  It can also be used to
  2138. stop \TeX{} from eating up consecutive spaces. Hence {\tt I use
  2139. \\TeX\lb\rb{} all the time}  will leave a space after ``\TeX'' in the
  2140. output. This is an alternative to using {\tt \\\sp} as we did in
  2141. Section~1.
  2142. \TeXref{19--21}
  2143.  
  2144. Grouping can also be used to avoid spaces in the middle of a word
  2145. when including accents. Either {\tt soup\\c\sp con} or {\tt
  2146. soup\\c\lb c\rb on} will produce the word soup\c{c}on.
  2147.  
  2148. \exercise Change the dimensions of one paragraph on a page using the
  2149. grouping idea.
  2150.  
  2151. \exercise Mathematicians sometime use the word ``i{f}f'' as an
  2152. abbreviation for ``if and only if''\null.  In this case it looks
  2153. better if the first and second letter ``f'' are {\sl not\/}
  2154. joined as a ligature.  How do you do this (there are several
  2155. solutions)?
  2156.  
  2157. It's really easy to forget to match braces properly.  The effect
  2158. can be dramatic; if you get output that suddenly changes to an
  2159. italic font for the rest of the document, a mismatched brace is
  2160. probably the cause.  If you have an extra {\tt \lb} \TeX{} will
  2161. give a message in the log file: {\tt (\\end occurred inside a
  2162. group at level 1)}. An extra {\tt\rb} will result in the message
  2163. \hbox{\tt! Too many \rb's.}
  2164.  
  2165. Here's a little hint to help you keep track of the braces in more
  2166. complicated groups: put the opening brace on a line by itself and
  2167. do the same for the closing brace.  If there are braces nested
  2168. within the original ones, put them on separate lines also, but
  2169. indent them a few spaces.  The text within the nested braces can
  2170. also be indented since \TeX{} ignores all spaces at the beginning
  2171. of a line. The matching braces will then stand out when you look
  2172. at your \TeX{} source file.  In fact, if your editor is smart
  2173. enough, you can create the two lines with the braces first and
  2174. then insert the appropriate material within them with automatic
  2175. indenting.
  2176.  
  2177. \exercise In section 2 we changed fonts the following method:
  2178. {\tt I started with roman type, \\it switched to italic type,
  2179. \\rm and returned to roman type}. Get the same result using the
  2180. idea of grouping.
  2181.  
  2182.  
  2183. \section{No math anxiety here!}
  2184.  
  2185. \TeX{} is at its best when typesetting mathematics.  The
  2186. conventions for doing this are many and complex, and the ability
  2187. of \TeX{} to take them into account makes the production of high
  2188. quality, attractive mathematical output possible.  If you plan to
  2189. produce papers with mathematical symbols in them, this section
  2190. will give you all the basics necessary for creating beautiful
  2191. output in almost all circumstances; \TeX{} may be used without
  2192. any mathematics, of course, and if this is your goal, then the
  2193. following two subsections are probably sufficient for your needs.
  2194.  
  2195. \subsection{Lots of new symbols}
  2196.  
  2197. Mathematical text is inserted into normal text in two possible
  2198. ways: it can be {\sl in-line\/}, that is, as part of the usual
  2199. lines of text.  It can also be {\sl displayed}, that is, \centred{}
  2200. in a gap between the usual text.  The results in the spacing and
  2201. placement of symbols can be quite different in each case.  The
  2202. in-line equation $\sum_{k=1}^{\infty} {1\over k^2} = {\pi^2\over6}$
  2203. is easily seen to be different from the same equation when
  2204. displayed:
  2205. $$\sum_{k=1}^{\infty} {1\over k^2} = {\pi^2\over6}.$$
  2206.  
  2207. Since the spacing and the fonts used for mathematics are quite
  2208. different from those of ordinary text, \TeX{} needs to be told
  2209. when mathematics rather than normal text is being typeset.  This
  2210. is done using the {\tt\$} symbol.  More specifically, mathematics
  2211. is typeset in-line by surrounding the symbols to be entered by
  2212. single dollar signs: {\tt \$$\ldots$\$}, and is typeset displayed
  2213. by surrounding the symbols to be entered by double dollar signs:
  2214. {\tt \$\$$\ldots$\$\$}\null.  Hence {\tt \$x = y+1\$} will give
  2215. $x=y+1$ in-line while {\tt \$\$x = y+1.\$\$} will display
  2216. $$x=y+1.$$
  2217.  
  2218. The spacing for both in-line and displayed mathematics is
  2219. completely controlled by \TeX\null.  Adding spaces to your input
  2220. has no effect at all.  What if you need a space or some text in
  2221. the middle of some mathematics?  You can insert text by inserting
  2222. it into an hbox (don't worry about the definition of an hbox for
  2223. now): {\tt \\hbox\lb$\ldots$\rb}\null.  This is particularly
  2224. useful for displayed mathematics.  Hence ``$x=y+1 \hbox{ whenever
  2225. } y=x-1$'' can be typeset using {\tt \$x=y+1 \\hbox\lb\ whenever
  2226. \rb y=x-1\$}. Note the spaces on either side of the word within
  2227. the braces. Usually it isn't necessary to insert spaces into
  2228. mathematical text, but here are the control sequences that do the
  2229. job.
  2230. \TeXref{167}
  2231.  
  2232. \maketable [Adding space to mathematical text]
  2233. \halign{
  2234. \strut \hfil # & \quad \hfil\tt# \hfil \quad
  2235.    & \hbox to 2cm{\hrulefill\vrule height 8pt#\vrule height 8pt\hrulefill} \cr
  2236.    Name & \rm Control Sequence & \hfil{}$\gets$Size$\to$\cr
  2237.    \noalign{\hrule} \noalign{\smallskip}
  2238.    Double quad         & \\qquad &\qquad \cr
  2239.    Quad                & \\quad  &\quad \cr
  2240.    Space               & \\\sp\   &\ \cr
  2241.    Thick space         & \\;     &$\;$\cr
  2242.    Medium space        & \\>     &$\>$\cr
  2243.    Thin space          & \\,     &$\,$\cr
  2244.    Negative thin space & \ \\!\    &$\!$\cr
  2245.        }
  2246.  
  2247. \toindex{quad}
  2248. \toindex{qquad}
  2249. \toindex{\sp}
  2250. \toindex{;}
  2251. \toindex{>}
  2252. \toindex{,}
  2253. \toindex{!}
  2254.  
  2255. If you look closely at the negative thin space, you'll notice
  2256. that, unlike the other entries, the two arms overlap.  This is
  2257. because the negative space is one in the opposite direction, that
  2258. is, while the other control sequences increase the amount of
  2259. space between two symbols being typeset, the negative thin space
  2260. decreases the space between them, even if it causes them to
  2261. overlap.
  2262.  
  2263. \exercise Typeset the following: $C(n,r) = n!/(r!\,(n-r)!)$\null. Note the
  2264. spacing in the denominator.
  2265. \bigskip
  2266.  
  2267. You shouldn't have any blank lines between the dollar signs
  2268. delimiting the mathematical text. \TeX{} assumes that all the
  2269. mathematical text being typeset is in one paragraph, and a blank
  2270. line starts a new paragraph; consequently, this will generate an
  2271. error message. This turns out to be useful, for one of the
  2272. easiest errors to make is to forget to put in the trailing dollar
  2273. sign(s) after the mathematical input (I promise that you'll do it
  2274. at least once while learning \TeX{}); if \TeX{} allowed more than
  2275. one paragraph to be between the dollars signs, then one omitted
  2276. trailing dollar sign might cause the rest of the document to be
  2277. typeset as mathematics.
  2278.  
  2279. Most mathematical text is entered in exactly the same way for
  2280. in-line typesetting as for displayed typesetting (except for the
  2281. surrounding dollar signs, of course). The exceptions, such as
  2282. aligning multiline displays and placing equation numbers at the
  2283. left or right margin will be discussed in the last part of this
  2284. section.
  2285.  
  2286. Many new symbols can appear when typesetting mathematics.  Most
  2287. of the ones that actually appear on the keyboard can be used
  2288. directly. The symbols {\tt + - / * = ' | < > (} and {\tt )} are
  2289. all entered directly. Here they are as mathematics: $+ - / * =\>
  2290. '\> | <\> >\> ( \> )$.
  2291.  
  2292. \exercise Typeset the equation $a+b=c-d=xy=w/z$ as in-line and
  2293. displayed mathematical text.
  2294.  
  2295. \exercise Typeset the equation $(fg)' = f'g + fg'$ as in-line and
  2296. displayed mathematical text.
  2297. \bigskip
  2298.  
  2299. Many other symbols, as you would expect, are predefined control
  2300. words.  All Greek letters are available.  Here is a table of them:
  2301. \TeXref{434}
  2302.  
  2303. \maketable [Greek letters]
  2304. \halign{
  2305. \strut \hfil$#$ & \quad \tt# \hfil \qquad &\hfil$#$ & \quad \tt# \hfil \qquad
  2306.       &\hfil$#$ & \quad \tt# \hfil \qquad &\hfil$#$ & \quad \tt# \hfil \cr
  2307. \noalign{\hrule} \noalign{\smallskip}
  2308. \alpha & \\alpha &\beta & \\beta &\gamma & \\gamma &\delta & \\delta \cr
  2309. \epsilon & \\epsilon & \varepsilon & \\varepsilon & \zeta & \\zeta &
  2310. \eta & \\eta \cr
  2311. \theta & \\theta & \vartheta & \\vartheta & \iota & \\iota & \kappa &
  2312. \\kappa \cr
  2313. \lambda & \\lambda & \mu & \\mu & \nu & \\nu & \xi & \\xi \cr
  2314. o & o & \pi & \\pi & \rho & \\rho & \varrho & \\varrho \cr
  2315. \sigma & \\sigma & \varsigma & \\varsigma & \tau & \\tau & \upsilon &
  2316. \\upsilon \cr
  2317. \phi & \\phi & \varphi & \\varphi & \chi & \\chi & \psi & \\psi \cr
  2318. \omega & \\omega & \Gamma & \\Gamma & \Delta & \\Delta & \Theta &
  2319. \\Theta \cr
  2320. \Lambda & \\Lambda & \Xi & \\Xi & \Pi & \\Pi & \Sigma & \\Sigma \cr
  2321. \Upsilon & \\Upsilon & \Phi & \\Phi & \Psi & \\Psi & \Omega & \\Omega \cr
  2322.        }
  2323.  
  2324. \toindex{alpha}
  2325. \toindex{beta}
  2326. \toindex{gamma}
  2327. \toindex{delta}
  2328. \toindex{epsilon}
  2329. \toindex{varepsilon}
  2330. \toindex{zeta}
  2331. \toindex{eta}
  2332. \toindex{theta}
  2333. \toindex{vartheta}
  2334. \toindex{iota}
  2335. \toindex{kappa}
  2336. \toindex{lambda}
  2337. \toindex{mu}
  2338. \toindex{nu}
  2339. \toindex{xi}
  2340. \toindex{pi}
  2341. \toindex{rho}
  2342. \toindex{varrho}
  2343. \toindex{sigma}
  2344. \toindex{varsigma}
  2345. \toindex{tau}
  2346. \toindex{upsilon}
  2347. \toindex{phi}
  2348. \toindex{varphi}
  2349. \toindex{chi}
  2350. \toindex{psi}
  2351. \toindex{omega}
  2352. \toindex{Gamma}
  2353. \toindex{Delta}
  2354. \toindex{Theta}
  2355. \toindex{Lambda}
  2356. \toindex{Xi}
  2357. \toindex{Pi}
  2358. \toindex{Sigma}
  2359. \toindex{Upsilon}
  2360. \toindex{Phi}
  2361. \toindex{Psi}
  2362. \toindex{Omega}
  2363.  
  2364.  
  2365. \exercise Typeset $\alpha\beta=\gamma+\delta$ as in-line and displayed
  2366. mathematical text.
  2367.  
  2368. \exercise Typeset $\Gamma(n) = (n-1)!$ as in-line and displayed
  2369. mathematical text.
  2370.  
  2371. Sometimes accents are put above or below symbols.  The control
  2372. words used for accents in mathematics are different from those
  2373. used for normal text.   The normal text control words may not be
  2374. used for mathematics and vice-versa.
  2375. \TeXref{135--136}
  2376.  
  2377. \maketable [Mathematical accents]
  2378. \halign{
  2379.    \strut \hfil$#$ & \quad \tt# \hfil \qquad &\hfil$#$ &
  2380.       \quad \tt# \hfil \qquad &\hfil$#$ & \quad \tt# \hfil \qquad  \cr
  2381.    \noalign{\hrule} \noalign{\smallskip}
  2382.    \hat o   & \\hat o   & \check o & \\check o  & \tilde o & \\tilde o \cr
  2383.    \acute o & \\acute o & \grave o & \\grave o  & \dot o & \\dot o \cr
  2384.    \ddot o  & \\ddot o  &\breve o  & \\breve o  & \bar o & \\bar o \cr
  2385.    \vec o   & \\vec o   & \widehat {abc} & \\widehat \lb abc\rb
  2386.                     & \widetilde {abc} & \\widetilde \lb abc\rb\cr
  2387.        }
  2388.  
  2389. \toindex{hat}
  2390. \toindex{check}
  2391. \toindex{tilde}
  2392. \toindex{acute}
  2393. \toindex{grave}
  2394. \toindex{dot}
  2395. \toindex{ddot}
  2396. \toindex{breve}
  2397. \toindex{bar}
  2398. \toindex{vec}
  2399. \toindex{widehat}
  2400. \toindex{widetilde}
  2401.  
  2402.  
  2403.  
  2404. Binary operators combine two mathematical objects to get another
  2405. object.  Ordinary addition and multiplication, for example,
  2406. combine two numbers to get another number, and so they are binary
  2407. operators. When a binary operator such as $+$ or $\times$ is
  2408. typeset, a little extra space is put around it. Here is a list of
  2409. some of the available binary operators:
  2410. \TeXref{436}
  2411.  
  2412. \maketable [Binary operators]
  2413. \halign{
  2414. \strut \hfil$#$ & \quad \tt# \hfil \qquad &\hfil$#$ & \quad \tt# \hfil \qquad
  2415.       &\hfil$#$ & \quad \tt# \hfil \qquad &\hfil$#$ & \quad \tt# \hfil \cr
  2416. \noalign{\hrule} \noalign{\smallskip}
  2417. \cdot & \\cdot &\times & \\times &\ast & \\ast &\star & \\star \cr
  2418. \circ & \\circ & \bullet & \\bullet & \div & \\div & \diamond & \\diamond \cr
  2419. \cap & \\cap & \cup & \\cup & \vee & \\vee & \wedge & \\wedge \cr
  2420. \oplus & \\oplus &\ominus & \\ominus & \otimes &\\otimes &\odot &\\odot \cr
  2421.        }
  2422.  
  2423. \toindex{cdot}
  2424. \toindex{times}
  2425. \toindex{ast}
  2426. \toindex{star}
  2427. \toindex{circ}
  2428. \toindex{bullet}
  2429. \toindex{div}
  2430. \toindex{diamond}
  2431. \toindex{cap}
  2432. \toindex{cup}
  2433. \toindex{vee}
  2434. \toindex{wedge}
  2435. \toindex{oplus}
  2436. \toindex{ominus}
  2437. \toindex{otimes}
  2438. \toindex{odot}
  2439.  
  2440. Ellipses are commonly used with binary operators.  The control
  2441. word {\tt \\cdots} will raise the dots so that they are level
  2442. with the binary operator. Thus {\tt \$a + \\cdots + z\$} will
  2443. produce $a + \cdots + z$.  The control word {\tt \\ldots} will
  2444. put the dots on the baseline, and so {\tt \$1\\ldots n\$}
  2445. produces $1\ldots n$.
  2446. \toindex{cdots}
  2447. \toindex{ldots}
  2448.  
  2449. \exercise Typeset: $x\wedge (y\vee z) = (x\wedge y) \vee (x\wedge z)$.
  2450.  
  2451. \exercise Typeset: $2+4+6+\cdots +2n = n(n+1)$.
  2452. \bigskip
  2453.  
  2454. A relation indicates a property of two mathematical objects.  We
  2455. already know how to show two objects equal, or how to show one
  2456. number less than or greater than another number (since these are
  2457. symbols on most terminal keyboards).  To negate a relation, the
  2458. control word {\tt \\not} is put in front of the relation.  Here
  2459. are some relations:
  2460. \TeXref{436}
  2461. \toindex{not}
  2462.  
  2463. \maketable [Relations ]
  2464. \halign{
  2465. \strut \hfil$#$ & \quad \tt# \hfil \qquad &\hfil$#$ & \quad \tt# \hfil \qquad
  2466.       &\hfil$#$ & \quad \tt# \hfil \qquad &\hfil$#$ & \quad \tt# \hfil \cr
  2467. \noalign{\hrule} \noalign{\smallskip}
  2468. \leq  & \\leq  &\not\leq & \\not \\leq
  2469.        & \geq & \\geq & \not\geq & \\not \\geq \cr
  2470. \equiv & \\equiv & \not\equiv & \\not \\equiv
  2471.        & \sim & \\sim & \not\sim & \\not \\sim \cr
  2472. \simeq & \\simeq & \not\simeq & \\not \\simeq
  2473.        & \approx & \\approx & \not\approx & \\not \\approx \cr
  2474. \subset & \\subset & \subseteq & \\subseteq
  2475.         & \supset & \\supset & \supseteq & \\supseteq \cr
  2476. \in & \\in & \ni & \\ni & \parallel & \\parallel & \perp & \\perp \cr
  2477.        }
  2478.  
  2479. \toindex{leq}
  2480. \toindex{geq}
  2481. \toindex{equiv}
  2482. \toindex{sim}
  2483. \toindex{simeq}
  2484. \toindex{approx}
  2485. \toindex{subset}
  2486. \toindex{subseteq}
  2487. \toindex{supset}
  2488. \toindex{supseteq}
  2489. \toindex{in}
  2490. \toindex{ni}
  2491. \toindex{parallel}
  2492. \toindex{perp}
  2493.  
  2494.  
  2495. \exercise
  2496. Typeset: $\vec x\cdot \vec y  = 0$ if and only if $\vec x \perp \vec y$.
  2497.  
  2498. \exercise
  2499. Typeset: $\vec x\cdot \vec y \not= 0$ if and only if $\vec x \not\perp \vec y$.
  2500.  
  2501. Here are some other available mathematical symbols:\TeXref{435--438}
  2502.  
  2503. \maketable [Miscellaneous symbols ]
  2504. \halign{
  2505. \strut \hfil$#$ & \quad \tt# \hfil \qquad &\hfil$#$ & \quad \tt# \hfil \qquad
  2506.       &\hfil$#$ & \quad \tt# \hfil \qquad &\hfil$#$ & \quad \tt# \hfil \cr
  2507. \noalign{\hrule} \noalign{\smallskip}
  2508. \aleph & \\aleph & \ell & \\ell & \Re & \\Re & \Im & \\Im \cr
  2509. \partial & \\partial & \infty & \\infty & \| & \\| & \angle & \\angle \cr
  2510. \nabla & \\nabla & \backslash &\\backslash & \forall & \\forall
  2511.               & \exists & \\exists \cr
  2512. \neg & \\neg & \flat & \\flat & \sharp & \\sharp & \natural & \\natural \cr
  2513.           }
  2514.  
  2515. \toindex{aleph}
  2516. \toindex{ell}
  2517. \toindex{Re}
  2518. \toindex{Im}
  2519. \toindex{partial}
  2520. \toindex{infty}
  2521. \toindex{|}
  2522. \toindex{angle}
  2523. \toindex{nabla}
  2524. \toindex{backslash}
  2525. \toindex{forall}
  2526. \toindex{exists}
  2527. \toindex{neg}
  2528. \toindex{flat}
  2529. \toindex{sharp}
  2530. \toindex{natural}
  2531.  
  2532. \exercise Typeset: $(\forall x\in \Re)(\exists y\in\Re)$ $y>x$.
  2533.  
  2534. \subsection{Fractions}
  2535.  
  2536. There are two methods of typesetting a fraction: it can be
  2537. typeset either in the form $1/2$ or in the form ${1\over2}$\null.
  2538. The first case is just entered with no special control sequences,
  2539. that is, {\tt \$1/2\$}\null.  The second case uses the control
  2540. word {\tt \\over} and the following pattern: {\tt \lb
  2541. <numerator> \\over <denominator>\rb}\null. Hence {\tt \$\$\lb a+b
  2542. \\over c+d\rb.\$\$} gives $${a+b\over c+d}.$$
  2543. \TeXref{139--140}
  2544. \toindex{over}
  2545.  
  2546. \exercise Typeset the following: ${a+b\over c}\quad {a\over b+c}
  2547. \quad {1\over a+b+c} \not= {1\over a}+{1\over b}+{1\over c}$.
  2548.  
  2549. \exercise Typeset: What are the points where
  2550. ${\partial \over \partial x} f(x,y) = {\partial \over \partial y}
  2551. f(x,y) = 0$?
  2552.  
  2553. \subsection{Subscripts and superscripts}
  2554.  
  2555. Subscripts and superscripts are particularly easy to enter using
  2556. \TeX\null. The characters {\tt \_{}} and {\tt \^{}} are used to
  2557. indicate that the next character is a subscript or a superscript.
  2558. Thus {\tt \$x\^{}2\$} gives $x^2$ and {\tt \$x\_{}2\$} gives
  2559. $x_2$\null.  To get several characters as a subscript or
  2560. superscript, they are grouped together within braces. Hence we
  2561. can use {\tt \$x\^{}\lb 21\rb\$} to get $x^{21}$ and {\tt \$x\_{}\lb
  2562. 21\rb\$} to get $x_{21}$\null. Notice that the
  2563. superscripts and subscripts are automatically typeset in a
  2564. smaller type size. The situation is only slightly more
  2565. complicated for a second layer of subscripts or superscripts.
  2566. You can {\sl not\/} use {\tt \$x\_{}2\_{}3\$} since this could
  2567. have two possible interpretations, namely, {\tt \$x\_{}\lb 2\_{}3\rb\$}
  2568. or {\tt \$\lb x\_{}2\rb\_{}3\$}; this gives two
  2569. different results: $x_{2_3}$ and ${x_2}_3$, the first of which is
  2570. the usual mathematical subscript notation.  Thus you must put in
  2571. the complete braces to describe multiple layers of subscripts and
  2572. superscripts.  They may be done to any level.
  2573. \TeXref{128--130}
  2574.  
  2575. To use both subscripts and superscripts on one symbol, you use
  2576. both the {\tt \_{}} and {\tt \^{}} in either order.  Thus either
  2577. {\tt \$x\_{}2\^{}1\$} or {\tt\$x\^{}1\_{}2\$} will give $x_2^1$.
  2578.  
  2579. \exercise
  2580. Typeset each of the following: $e^x \quad e^{-x} \quad
  2581. e^{i\pi}+1=0 \quad x_0 \quad x_0^2 \quad {x_0}^2 \quad 2^{x^x}$.
  2582.  
  2583. \exercise Typeset:
  2584. $\nabla^2 f(x,y) = {\partial^2 f \over\partial x^2}
  2585. + {\partial^2 f \over\partial y^2}$.
  2586. \bigskip
  2587.  
  2588. A similar method is used for summations and integrals.  The input
  2589. of {\tt \$\\sum\_{}\lb k=1\rb\^{}n k\^{}2\$} will give $\sum_{k=1}^n
  2590. k^2$, and {\tt \$\\int\_{}0\^{}x f(t) dt\$} will
  2591. give $\int_0^x f(t) dt$.
  2592. \TeXref{144--145}
  2593. \toindex{sum}
  2594. \toindex{int}
  2595.  
  2596. Another use of this type of input is for expressions
  2597. involving limits.  You can use
  2598. {\tt \$\\lim\_\lb n\\to \\infty\rb (\lb n+1 \\over n\rb)\^{}n = e\$}
  2599. to get $\lim_{n\to \infty} ({n+1\over n})^n = e$.
  2600. \toindex{lim}
  2601.  
  2602. \exercise Typeset the following expression: $\lim_{x\to 0}
  2603. (1+x)^{1\over x}=e$.
  2604.  
  2605. \exercise Typeset: The cardinality of $(-\infty, \infty)$ is $\aleph_1$.
  2606.  
  2607. \exercise Typeset: $\lim_{x\to {0^+}} x^x = 1$.
  2608. \bigskip
  2609.  
  2610. Here's a hint to make integrals look a little nicer: look at the
  2611. difference between $\int_0^x f(t) dt$ and $\int_0^x f(t)\, dt$\null.
  2612. In the second case there is a little extra space after
  2613. $f(t)$, and it looks nicer; {\tt \\,} was used to add the
  2614. additional space.
  2615. \toindex{,}
  2616.  
  2617. \exercise Typeset the following integral: $\int_0^1 3x^2\,dx = 1$.
  2618.  
  2619. \subsection{Roots, square and otherwise}
  2620.  
  2621. To typeset a square root it is only necessary to use the construction
  2622. {\tt \\sqrt\lb$\ldots$\rb}\null. Hence {\tt \$\\sqrt\lb x\^{}2+y\^{}2\rb\$}
  2623. will give $\sqrt{x^2+y^2}$\null.  Notice that \TeX{} takes care of the
  2624. placement of symbols and the height and length of the radical.
  2625. To make cube or other roots, the control words {\tt \\root} and {\tt
  2626. \\of} are used.  You get $\root n \of {1+x^n}$ from the
  2627. input\TeXref{130--131} {\tt \$\\root n \\of \lb1+x\^{}n\rb\$}.
  2628. \toindex{root}
  2629. \toindex{sqroot}
  2630.  
  2631. A possible alternative is to use the control word {\tt \\surd}; the
  2632. input {\tt \$\\surd 2\$} will produce $\surd 2$.
  2633. \toindex{surd}
  2634.  
  2635. \exercise Typeset the following: $\sqrt2 \quad \sqrt {x+y\over x-y}
  2636. \quad \root 3 \of {10}$ \quad $e^{\sqrt x}$.
  2637.  
  2638. \exercise Typeset: $\|x\| = \sqrt{x\cdot x}$.
  2639.  
  2640. \exercise Typeset:
  2641. $\phi(t) = {1 \over \sqrt{2\pi}} \int_0^t e^{-x^2/2}\,dx$.
  2642.  
  2643.  
  2644. \subsection{Lines, above and below}
  2645.  
  2646. Use the constructions {\tt \\overline\lb$\ldots$\rb} and
  2647. {\tt \\underline\lb$\ldots$\rb} to put lines above or below mathematical
  2648. expressions. Hence {\tt \$\\overline\lb x+y\rb=\\overline x + \\overline
  2649. y\$} gives $\overline{x+y}=\overline x + \overline y$\null.
  2650. But notice that the lines over the letters are at
  2651. different heights, and so some care is necessary. The use of {\tt
  2652. \\overline\lb\\strut x\rb} will raise the height of the line
  2653. over\TeXref{130--131} $x$\null.
  2654. \toindex{overline}
  2655. \toindex{underline}
  2656.  
  2657. To underline non-mathematical text, use {\tt \\underbar\lb$\dots$\rb}.
  2658. \toindex{underbar}
  2659.  
  2660. \exercise Typeset the following: $\underline x \quad \overline y
  2661. \quad \underline{\overline{x+y}}$.
  2662.  
  2663.  
  2664. \subsection{Delimiters large and small}
  2665.  
  2666. The most commonly used mathematical delimiters are brackets,
  2667. braces, and parentheses.  As we have seen, they may be produced
  2668. by using {\tt [ ] \\\lb\ \\\rb\ ( )} to get $[\>]\>\{\>\}\>(\>)\>$.
  2669. Sometimes larger delimiters increase the clarity of
  2670. mathematical expressions, as in $$\bigl(a\times(b+c)\bigr) \bigl((a\times
  2671. b)+c\bigr).$$ To make larger left delimiters the
  2672. control words {\tt \\bigl}, {\tt \\Bigl}, {\tt \\biggl}, and {\tt
  2673. \\Biggl} are used in front of the delimiter; similarly, {\tt \\bigr},
  2674. {\tt \\Bigr}, {\tt \\biggr}, and {\tt \\Biggr} are used
  2675. for the right delimiters. Hence {\tt \$\\Bigl[\$} and {\tt \$\\Bigr]\$}
  2676. will produce $\Bigl[$ and $\Bigr]$.
  2677. \TeXref{145--147}
  2678.  
  2679. \toindex{bigl}
  2680. \toindex{Bigl}
  2681. \toindex{biggl}
  2682. \toindex{Biggl}
  2683. \toindex{bigr}
  2684. \toindex{Bigr}
  2685. \toindex{biggr}
  2686. \toindex{Biggr}
  2687.  
  2688. Here is a table to compare the size of some of the delimiters.
  2689.  
  2690. %% \everycr can add 4 points between lines in the following table %%
  2691. \everycr={\noalign{\vskip 4 pt}}
  2692. \maketable [Delimiters of various sizes]
  2693. \halign{
  2694. \strut \hfil$#$ & \quad \tt# \hfil \quad\qquad
  2695.       &\hfil$#$ & \quad \tt# \hfil \quad\qquad
  2696.       &\hfil$#$ & \quad \tt# \hfil \quad\qquad
  2697.       &\hfil$#$ & \quad \tt# \hfil \cr
  2698. \noalign{\hrule} \noalign{\smallskip}
  2699. \{ & \\\lb & \} & \\\rb & ( & ( & ) & )\cr
  2700. \bigl\{ & \\bigl\\\lb & \bigr\} & \\bigr\\\rb & \bigl( & \\bigl( & \bigr) &
  2701. \\bigr)\cr
  2702. \Bigl\{ & \\Bigl\\\lb & \Bigr\} & \\Bigr\\\rb & \Bigl( & \\Bigl( & \Bigr) &
  2703. \\Bigr)\cr
  2704. \biggl\{ & \\biggl\\\lb & \biggr\} & \\biggr\\\rb & \biggl(
  2705.          & \\biggl( & \biggr) & \\biggr) \cr
  2706. \Biggl\{ & \\Biggl\\\lb & \Biggr\} & \\Biggr\\\rb & \Biggl(
  2707.          & \\Biggl( & \Biggr) & \\Biggr)\cr
  2708.        }
  2709.  
  2710. \everycr={}
  2711.  
  2712. If you want, you can let \TeX{} choose the size of delimiter by
  2713. using the control words {\tt \\left} and {\tt \\right} before
  2714. your delimiters.
  2715. \TeXref{148}Thus {\tt \\left[$\ldots$\\right]}  will cause the material
  2716. to be enclosed by brackets that are appropriately big.  {\bf Note
  2717. well:} each use of a {\tt \\left} delimiter must have a matching
  2718. {\tt \\right} delimiter (although the delimiters themselves may be
  2719. different). Hence {\tt \$\$\\left|\lb a+b \\over
  2720. c+d\rb\\right|.\$\$} gives $$\left|{a+b \over c+d}\right|.$$
  2721.  
  2722. \maketable [Mathematical delimiters]
  2723. \halign{
  2724. \strut \hfill$#$ & \quad \tt # \qquad\qquad &
  2725.        \hfill$#$ & \quad \tt # \qquad\qquad &
  2726.        \hfill$#$ & \quad \tt #  \cr
  2727. \noalign{\hrule} \noalign{\smallskip}
  2728. (       & (        & )          & )           & [        & [         \cr
  2729. ]       & ]        &\{          & \\\lb       & \}       & \\\rb     \cr
  2730. \lfloor & \\lfloor &\rfloor     &\\rfloor     & \lceil   & \\lceil   \cr
  2731. \rceil  & \\rceil  &\langle     & \\langle    & \rangle  & \\rangle  \cr
  2732. /       & /        & \backslash & \\backslash &|         & |         \cr
  2733. \|      & \\|      &\uparrow    & \\uparrow   & \Uparrow & \\Uparrow \cr
  2734. \downarrow & \\downarrow & \Downarrow & \\Downarrow
  2735.                         & \updownarrow & \\updownarrow \cr
  2736. \Updownarrow & \\Updownarrow \cr
  2737.        }
  2738.  
  2739. \toindex{lfloor}
  2740. \toindex{rfloor}
  2741. \toindex{lceil}
  2742. \toindex{rceil}
  2743. \toindex{langle}
  2744. \toindex{rangle}
  2745. \toindex{|}
  2746. \toindex{uparrow}
  2747. \toindex{Uparrow}
  2748. \toindex{downarrow}
  2749. \toindex{Downarrow}
  2750. \toindex{updownarrow}
  2751. \toindex{Updownarrow}
  2752.  
  2753. \exercise Typeset $\bigl \lceil \lfloor x \rfloor \bigr \rceil
  2754.               \leq \bigl \lfloor \lceil x \rceil \bigr \rfloor$.
  2755.  
  2756. \subsection{Those special functions}
  2757.  
  2758. There are several types of functions that appear frequently in
  2759. mathematical text.  In an equation like ``$\sin^2x + \cos^2x =
  2760. 1$'' the trigonometric functions ``sin'' and ``cos'' are in roman
  2761. rather than italic type. This is the usual mathematical
  2762. convention to indicate that it is a function being described and
  2763. not the product of three variables.  The control words {\tt
  2764. \\sin} and {\tt \\cos} will use the right typeface automatically.
  2765. Here is a table of these and some other special functions:
  2766. \TeXref{162}
  2767.  
  2768. \maketable [Special mathematical functions]
  2769. \halign{
  2770.    \strut \tt {\\}#\hfil && \quad \tt {\\}#\hfil \cr
  2771.    \noalign{\hrule} \noalign{\smallskip}
  2772.    sin    & cos    & tan  & cot  & sec  & csc & arcsin & arccos \cr
  2773.    arctan & sinh   & cosh & tanh & coth & lim & sup    & inf    \cr
  2774.    limsup & liminf & log  & ln   & lg   & exp & det    & deg    \cr
  2775.    dim    & hom    & ker  & max  & min  & arg & gcd    & Pr     \cr
  2776.        }
  2777.  
  2778. \toindex{sin}
  2779. \toindex{cos}
  2780. \toindex{tan}
  2781. \toindex{cot}
  2782. \toindex{sec}
  2783. \toindex{csc}
  2784. \toindex{arcsin}
  2785. \toindex{arccos}
  2786. \toindex{arctan}
  2787. \toindex{sinh}
  2788. \toindex{cosh}
  2789. \toindex{tanh}
  2790. \toindex{coth}
  2791. \toindex{lim}
  2792. \toindex{sup}
  2793. \toindex{inf}
  2794. \toindex{limsup}
  2795. \toindex{liminf}
  2796. \toindex{log}
  2797. \toindex{ln}
  2798. \toindex{lg}
  2799. \toindex{exp}
  2800. \toindex{det}
  2801. \toindex{deg}
  2802. \toindex{dim}
  2803. \toindex{hom}
  2804. \toindex{ker}
  2805. \toindex{max}
  2806. \toindex{min}
  2807. \toindex{arg}
  2808. \toindex{gcd}
  2809. \toindex{Pr}
  2810.  
  2811. \exercise Typeset: $\sin(2\theta) = 2\sin\theta\cos\theta \quad
  2812. \cos(2\theta) = 2\cos^2\theta - 1  $.
  2813.  
  2814. \exercise Typeset: $$\int \csc^2x\, dx = -\cot x+ C
  2815. \qquad \lim_{\alpha\to 0} {\sin\alpha \over \alpha} = 1
  2816. \qquad \lim_{\alpha\to \infty} {\sin\alpha \over \alpha} = 0.$$
  2817.  
  2818. \exercise Typeset: $$\tan(2\theta) = {2\tan\theta \over
  2819. 1-\tan^2\theta}.$$
  2820.  
  2821.  
  2822. \subsection{Hear ye, hear ye!}
  2823.  
  2824. There is a particular macro that is used in almost every
  2825. mathematical paper, and is different enough to require a special
  2826. explanation. This is the {\tt \\proclaim} macro.  It is used when
  2827. stating theorems, corollaries, propositions, and the like.  The
  2828. paragraph following {\tt \\proclaim} is broken into two parts:
  2829. the first part goes up to and including the first period that is
  2830. followed by a space, and the second part is the rest of the
  2831. paragraph. \TeXref{202--203}The idea is that the first part
  2832. should be something like ``Theorem 1.'' or ``Corollary B.'' The
  2833. second part is the statement of the theorem or corollary.  Here
  2834. is an example:
  2835. \toindex{proclaim}
  2836.  
  2837. \beginliteral
  2838. \proclaim Theorem 1 (H.~G.~Wells). In the country of the blind,
  2839. the one-eyed man is king.
  2840. @endliteral
  2841.  
  2842. \noindent gives
  2843.  
  2844. \proclaim Theorem 1 (H.~G.~Wells). In the country of the blind,
  2845. the one-eyed man is king.
  2846.  
  2847. The statement of the theorem may contain mathematical expressions, of
  2848. course.
  2849.  
  2850. \vfill\eject
  2851. \exercise Typeset:
  2852. \nobreak
  2853. \proclaim Theorem (Euclid). There exist an infinite number of
  2854. primes.
  2855.  
  2856. \exercise Typeset:
  2857. \proclaim Proposition 1.
  2858. $\root n \of {\prod_{i=1}^n X_i} \leq {1 \over n} \sum_{i=1}^n X_i$
  2859. with equality if and only if $X_1=\cdots=X_n$.
  2860.  
  2861. \subsection{Matrices}
  2862.  
  2863. Matrices are typeset using combinations of the alignment
  2864. character {\tt \&} and the control word {\tt \\cr} to indicate
  2865. the end of the line.  Start with {\tt \$\$\\pmatrix\lb$\dots$\rb\$\$}.
  2866. Into the space between the braces go the rows of the matrix, each
  2867. one ended by {\tt \\cr}.  The entries are separated by the
  2868. {\tt \&}\null.  For example the input
  2869. \TeXref{176--178}
  2870.  
  2871. \beginliteral
  2872. $$\pmatrix{
  2873. a & b & c & d \cr
  2874. b & a & c+d & c-d \cr
  2875. 0 & 0 & a+b & a-b \cr
  2876. 0 & 0 & ab  & cd \cr
  2877. }.$$
  2878. @endliteral
  2879.  
  2880. \noindent
  2881. gives as printed output
  2882. $$\pmatrix{
  2883. a & b & c & d \cr
  2884. b & a & c+d & c-d \cr
  2885. 0 & 0 & a+b & a-b \cr
  2886. 0 & 0 & ab  & cd \cr
  2887. }.$$
  2888. \toindex{pmatrix}
  2889.  
  2890. The matrix entries in our examples have all been \centred{}
  2891. within their columns with a little space on each side.  They can
  2892. be made flush right or flush left by inserting {\tt \\hfill}
  2893. before or after the entry. Notice the differences between the
  2894. following example and the previous one.
  2895.  
  2896. \beginliteral
  2897. $$\pmatrix{
  2898. a & b & c \hfill  & \hfill d  \cr
  2899. b & a & c+d      & c-d      \cr
  2900. 0 & 0 & a+b      & a-b      \cr
  2901. 0 & 0 & ab \hfill & \hfill cd \cr
  2902. }.$$
  2903. @endliteral
  2904.  
  2905. \noindent
  2906. gives as printed output
  2907.  
  2908. $$\pmatrix{
  2909. a & b & c \hfill & \hfill d   \cr
  2910. b & a & c+d     & c-d       \cr
  2911. 0 & 0 & a+b     & a-b       \cr
  2912. 0 & 0 & ab \hfill & \hfill cd \cr
  2913. }.$$
  2914.  
  2915.  
  2916. \vbox{
  2917. \exercise Typeset
  2918. $$ I_4 = \pmatrix{ 1 &0 &0 &0 \cr
  2919.                    0 &1 &0 &0 \cr
  2920.                    0 &0 &1 &0 \cr
  2921.                    0 &0 &0 &1 \cr}$$
  2922. }
  2923.  
  2924. It's possible to have matrices that use other delimiters. Using
  2925. {\tt \\matrix} instead of {\tt \\pmatrix} will leave off the
  2926. parentheses, so the delimiters must be explicitly included using
  2927. {\tt \\left} and {\tt \\right}.  Here is how we can change the
  2928. matrix of our first example.
  2929. \toindex{matrix}
  2930. \toindex{left}
  2931. \toindex{right}
  2932.  
  2933. \beginliteral
  2934. $$ \left |
  2935. \matrix{
  2936. a & b & c & d \cr
  2937. b & a & c+d & c-d \cr
  2938. 0 & 0 & a+b & a-b \cr
  2939. 0 & 0 & ab  & cd \cr
  2940. }
  2941. \right | $$
  2942. @endliteral
  2943.  
  2944. \noindent
  2945. gives as printed output
  2946. $$ \left |
  2947. \matrix{
  2948. a & b & c & d \cr
  2949. b & a & c+d & c-d \cr
  2950. 0 & 0 & a+b & a-b \cr
  2951. 0 & 0 & ab  & cd \cr
  2952. }
  2953. \right | $$
  2954.  
  2955. It's even possible to use {\tt \\left.} and {\tt \\right.} to
  2956. indicate that the opening or closing delimiter is deleted (note
  2957. the use of the period).
  2958.  
  2959. \exercise Use a matrix construction to typeset
  2960.  
  2961. $$ |x| = \left\{ \matrix{ x & x \ge 0 \cr
  2962.                          -x & x \le 0 \cr} \right.$$
  2963.  
  2964. This exercise and more general constructions of this type
  2965. may also be typeset using the {\tt \\cases} macro.
  2966. \TeXref{175}
  2967.  
  2968. Sometimes ellipses are used within matrices.  The control words
  2969. {\tt \\cdots}, {\tt \\vdots}, and {\tt \\ddots} can be used to
  2970. insert horizontal, vertical, and diagonal dots.
  2971.  
  2972. Thus we can use
  2973. \beginliteral
  2974. $$ \left [
  2975. \matrix{
  2976. aa     & \cdots & az     \cr
  2977. \vdots & \ddots & \vdots \cr
  2978. za     & \cdots & zz     \cr
  2979. }
  2980. \right ] $$
  2981. @endliteral
  2982.  
  2983. \noindent
  2984. to get as printed output
  2985. $$ \left [
  2986. \matrix{
  2987. aa     & \cdots & az     \cr
  2988. \vdots & \ddots & \vdots \cr
  2989. za     & \cdots & zz     \cr
  2990. }
  2991. \right ] $$
  2992.  
  2993.  
  2994. Matrices may also be typeset in-line, but they are pretty ugly
  2995. unless they have a small number of rows.
  2996.  
  2997.  
  2998. \subsection{Displayed equations}
  2999.  
  3000. All of the mathematics covered so far has identical input whether
  3001. it is to be typeset in-line or displayed.  At this point we'll
  3002. look at some situations that apply to displayed equations only.
  3003.  
  3004. The first is that of aligning multiline displays.  This is done with
  3005. the alignment character {\tt \&} and the control words {\tt \\cr} and
  3006. {\tt \\eqalign}. Starting with {\tt \$\$\\eqalign\lb$\dots$\rb\$\$},
  3007. the equations to be aligned are entered with each one terminated by
  3008. {\tt \\cr}.  In each equation there should be one alignment symbol
  3009. {\tt \&} to indicate where the alignment should take place.  This is
  3010. usually done at the equal signs, although it is not necessary to do
  3011. so.  For example
  3012. \TeXref{190--192}
  3013. \toindex{eqalign}
  3014.  
  3015. \beginliteral
  3016. $$\eqalign{
  3017. a+b &= c+d \cr
  3018. x &= w + y + z \cr
  3019. m + n + o + p &= q \cr
  3020. }$$
  3021. @endliteral
  3022.  
  3023.  
  3024. \noindent
  3025. yields
  3026. $$\eqalign{
  3027. a+b &= c+d \cr
  3028. x &= w + y + z \cr
  3029. m + n + o + p &= q \cr
  3030. }$$
  3031.  
  3032. Displayed equations can be numbered at either the right or left
  3033. margin.  When the control word {\tt \\eqno} appears in a displayed
  3034. equation, everything after the control word is put at the right
  3035. margin.  Hence {\tt \$\$ x+y=z. \\eqno (1)\$\$} yields
  3036. $$ x+y=z. \eqno (1)$$
  3037. To number an equation at the left margin, use {\tt \\leqno}
  3038. in place of {\tt \\eqno}.
  3039. \toindex{eqno}
  3040. \toindex{leqno}
  3041.  
  3042. It's possible to number aligned equations by using the control
  3043. word {\tt \\eqalignno}.  The alignment character {\tt \&} is
  3044. used to separate the equation from the equation number.
  3045. \beginliteral
  3046. $$\eqalignno{
  3047. a+b &= c+d & (1) \cr
  3048. x &= w + y + z \cr
  3049. m + n + o + p &= q & * \cr
  3050. }$$
  3051. @endliteral
  3052.  
  3053. \noindent
  3054. yields
  3055. $$\eqalignno{
  3056. a+b &= c+d & (1) \cr
  3057. x &= w + y + z \cr
  3058. m + n + o + p &= q & * \cr
  3059. }$$
  3060.  
  3061. Use {\tt \\leqalignno} to put the equation numbers on the left.
  3062. \TeXref{192--193}
  3063. \toindex{eqalignno}
  3064. \toindex{leqalignno}
  3065.  
  3066. Finally, suppose some text needs to appear in the middle of a
  3067. displayed equation.  This can be done by putting it in an hbox.
  3068. We will describe hboxes in more detail in the next section.
  3069. For now we want to use them to temporarily resume using ordinary
  3070. roman type and to also allow the insertion of space between
  3071. words (remember that all spaces are ignored when typesetting
  3072. mathematics). Hence
  3073. {\tt \$\$X=Y \\hbox\lb{} if and only if \rb x=y.\$\$} will give
  3074. $$X=Y \hbox{ if and only if } x=y.$$
  3075. Note carefully the spaces in the hbox.
  3076.  
  3077. \exercise Do some of the challenge problems on pages 180--181 of The
  3078. \TeX book.
  3079.  
  3080.  
  3081.  
  3082.  
  3083. \section{All in a row}
  3084.  
  3085. It's not uncommon to want to put a table in the middle of some
  3086. text. Fortunately \TeX{} makes it easy to do this.  In fact there
  3087. are two separate methods of aligning text.  The first is by using
  3088. the tabbing environment.  This is similar to setting the tab
  3089. stops on a typewriter. Each line is handled individually,
  3090. according to set tab columns, but with greater flexibility than
  3091. that provided by a typewriter. The second is the horizontal
  3092. alignment environment which typesets the whole table at once
  3093. using a prescribed pattern.
  3094.  
  3095. \subsection{Picking up the tab}
  3096.  
  3097. To align material using the tabbing environment, you must first
  3098. set the tab positions using the {\tt \\settabs} control word.
  3099. Having done this, a line to use these tabs starts with the
  3100. control symbol {\tt \\+ } and ends with {\tt \\cr } (remember
  3101. that the actual spacing on lines in the input file in
  3102. unimportant). \toindex{settabs}
  3103.  
  3104. The easiest way to use the {\tt \\settabs} control word is to put
  3105. the text into equal columns.
  3106. \TeXref{231}
  3107. Using {\tt \\settabs 4 \\columns} will set the tabs that will
  3108. produce four equal columns.  The tabbing is then done by using
  3109. the alignment character {\tt \&} to move to the next tab stop.
  3110. So, for example, \toindex{columns}
  3111.  
  3112. \beginliteral
  3113. \settabs 4 \columns
  3114. \+ British Columbia & Alberta & Saskatchewan & Manitoba \cr
  3115. \+ Ontario & Quebec & New Brunswick & Nova Scotia \cr
  3116. \+ & Prince Edward Island & Newfoundland \cr
  3117. @endliteral
  3118.  
  3119.  
  3120. \noindent
  3121. will produce the table
  3122. \vskip\baselineskip
  3123.  
  3124. \settabs 4 \columns
  3125. \+ British Columbia & Alberta & Saskatchewan & Manitoba \cr
  3126. \+ Ontario & Quebec & New Brunswick & Nova Scotia \cr
  3127. \+ & Prince Edward Island & Newfoundland \cr
  3128.  
  3129. Notice that it is possible to skip over some tab positions, and
  3130. it is not necessary to use all of the tabs in a given line. To
  3131. make the same table using five columns, it is only necessary to
  3132. use {\tt \\settabs 5 \\columns} to reset the tab stops; then the
  3133. same three lines from the last example will produce:
  3134. \vskip\baselineskip
  3135.  
  3136. \settabs 5 \columns
  3137. \+ British Columbia & Alberta & Saskatchewan & Manitoba \cr
  3138. \+ Ontario & Quebec & New Brunswick & Nova Scotia \cr
  3139. \+ & Prince Edward Island & Newfoundland \cr
  3140.  
  3141. In this example, the columns are smaller, of course.  In fact
  3142. there are two overlapping entries in the last row.  This is
  3143. because \TeX{} will tab to the next tab position even if (unlike
  3144. a typewriter) it means going backward on the page.
  3145.  
  3146. There is an interesting relationship between grouping and
  3147. tabbing. The {\tt \\settabs} values are only applicable to the
  3148. group in which it is defined, as would be expected.  Thus it is
  3149. possible to temporarily change the tab settings by grouping
  3150. within braces.  In addition, each table entry is in a group of
  3151. its own. Hence we may make a single entry boldface, for example,
  3152. by using {\tt \\bf}  without braces. In addition, for any column
  3153. but the last one it is possible to \centre{} the entry or to
  3154. align it either on the left or on the right, or to fill a column
  3155. with a line or dots. Each entry has an implicit {\tt \\hfil} at
  3156. the end so that it will be at the left of the column by default.
  3157. Adding {\tt \\hfil} at the beginning of the entry will then cause
  3158. it to be \centred{}, just as with the {\tt \\line} control word.
  3159. Adding {\tt \\hfill} to the beginning will cause the entries to
  3160. be pushed to the right ({\tt \\hfill} acts just like {\tt \\hfil}
  3161. in that it absorbs excess space; when both {\tt \\hfil} and {\tt
  3162. \\hfill} appear, the {\tt \\hfill} takes precedence).
  3163. \toindex{hfill}
  3164.  
  3165. \beginliteral
  3166. \settabs 4 \columns
  3167. \+ \hfil British Columbia & \hfill Alberta \qquad & \bf Saskatchewan
  3168. @hskip 2.5in                                  & Manitoba \cr
  3169. \+ \hfil Ontario & \hfill Quebec \qquad & \bf New Brunswick
  3170. @hskip 2.5in                                 & Nova Scotia \cr
  3171. \+ \hfil ---  & \hfill * \qquad & \bf Newfoundland
  3172. @hskip 2.5in          & Prince Edward Island \cr
  3173. \+ \dotfill && \hrulefill & \cr
  3174. @endliteral
  3175.  
  3176. \noindent
  3177. will produce a table with the first column \centred{}, the second
  3178. column flush right with a {\tt \\qquad} of padding, and the third
  3179. column boldface. The control words {\tt \\dotfill} and {\tt \\hrulefill}
  3180. give alternative column entries.
  3181. \toindex{dotfill}
  3182. \toindex{hrulefill}
  3183. \vskip\baselineskip
  3184.  
  3185. \settabs 4 \columns
  3186. \+ \hfil British Columbia & \hfill Alberta \qquad & \bf Saskatchewan
  3187.                                         & Manitoba \cr
  3188. \+ \hfil Ontario & \hfill Quebec \qquad & \bf New Brunswick
  3189.                                         & Nova Scotia \cr
  3190. \+ \hfil ---  & \hfill * \qquad & \bf Newfoundland &
  3191.                       Prince Edward Island \cr
  3192. \+ \dotfill && \hrulefill & \cr
  3193.  
  3194. \exercise Take the table of Canadian provinces above and \centre{} each
  3195. entry within its column.
  3196.  
  3197. The tab positions can be set with much more flexibility than just
  3198. in equal columns.  The general pattern is to use a sample line of
  3199. the form {\tt \\settabs \\+ $\ldots$ \& $\ldots$ \& $\ldots$ \\cr}.
  3200. The spacing between the alignment characters {\tt \&}
  3201. determines the position of the tabs.  For example, {\tt \\settabs
  3202. \\+ \\hskip 1 in \& \\hskip 2 in \& \\hskip 1.5 in \& \\cr} would
  3203. set the first tab one inch from the left margin, the next another
  3204. two inches further in, and the third 1.5 inches more.  It's also
  3205. possible to use text to determine the distance between tabs. So,
  3206. for example, another possible sample line is
  3207. {\tt \\settabs \\+ \\quad Province \\quad \& \\quad Population \\quad
  3208. \& \\quad Area \\quad \& \\cr}.
  3209. The tab column would then be just wide enough to accept the headings
  3210. with a quad of space on each side.  Here's a more complete example:
  3211.  
  3212. \beginuser \obeyspaces
  3213. \\settabs \\+ \\quad Year \\quad \& \\quad Price \\quad
  3214.                                             \& \\quad Dividend \& \\cr
  3215. \\+ \\hfill Year \\quad \& \\quad Price  \\quad \& \\quad Dividend \\cr
  3216. \\+ \\hfill 1971 \\quad \& \\quad 41--54 \\quad \& \\qquad \$2.60   \\cr
  3217. \\+ \\hfill 2    \\quad \& \\quad 41--54 \\quad \& \\qquad \$2.70 \\cr
  3218. \\+ \\hfill 3    \\quad \& \\quad 46--55 \\quad \& \\qquad \$2.87 \\cr
  3219. \\+ \\hfill 4    \\quad \& \\quad 40--53 \\quad \& \\qquad \$3.24 \\cr
  3220. \\+ \\hfill 5    \\quad \& \\quad 45--52 \\quad \& \\qquad \$3.40 \\cr
  3221. \enduser
  3222.  
  3223. \noindent
  3224. gives \TeXref{247}
  3225. \vskip\baselineskip
  3226.  
  3227. \settabs \+ \quad Year \quad & \quad Price \quad & \quad
  3228. Dividend \quad & \cr
  3229. \+ \hfill Year \quad & \quad Price  \quad & \quad Dividend \cr
  3230. \+ \hfill 1971 \quad & \quad 41--54 \quad & \qquad \$2.60   \cr
  3231. \+ \hfill 2    \quad & \quad 41--54 \quad & \qquad \$2.70 \cr
  3232. \+ \hfill 3    \quad & \quad 46--55 \quad & \qquad \$2.87 \cr
  3233. \+ \hfill 4    \quad & \quad 40--53 \quad & \qquad \$3.24 \cr
  3234. \+ \hfill 5    \quad & \quad 45--52 \quad & \qquad \$3.40 \cr
  3235.  
  3236. \exercise Take the table given above and move it closer to the
  3237. \centre{} of the page.
  3238.  
  3239. \exercise One way to \centre{} a block of text, possibly several
  3240. lines long, is to use: {\tt \$\$\\vbox\lb$\ldots$\rb\$\$}. Use
  3241. this to \centre{} the table given above.  Does the
  3242. {\tt \\settabs} line need to be included in the {\tt \\vbox}?
  3243.  
  3244. \exercise Improve your last result by putting a line under the
  3245. column heads.  The control word {\tt \\hrule} will insert a
  3246. horizontal line if introduced between two rows of a table.  Now
  3247. repeat with the control word {\tt \\strut} after the {\tt \\+ }
  3248. of the line containing the column heads. (A {\tt \\strut}
  3249. effectively makes the spacing between lines a little greater. The
  3250. size can be altered from the default.)\TeXref{82} Note the extra
  3251. space that results.
  3252. \toindex{strut}
  3253.  
  3254. \exercise Make the following table with decimal alignment, that
  3255. is, with the decimal points above each other (think of the dollar
  3256. figure as being right aligned and the cents figure as being left
  3257. aligned against the decimal point):
  3258. \medskip
  3259. \settabs \+ \hskip 2 in & \hskip .75in & \hskip 1cm& \cr
  3260. \+ &Plums &\hfill\$1&.22 \cr
  3261. \+ &Coffee &\hfill1&.78 \cr
  3262. \+ &Granola &\hfill1&.98 \cr
  3263. \+ &Mushrooms & &.63 \cr
  3264. \+ &{Kiwi fruit} & &.39 \cr
  3265. \+ &{Orange juice} &\hfill1&.09 \cr
  3266. \+ &Tuna &\hfill1&.29 \cr
  3267. \+ &Zucchini & &.64 \cr
  3268. \+ &Grapes &\hfill1&.69 \cr
  3269. \+ &{Smoked beef} & &.75 \cr
  3270. \+ &Broccoli &\hfill\underbar{\ \ 1}&\underbar{.09} \cr
  3271. \+ &Total &\hfill \$12&.55 \cr
  3272.  
  3273.  
  3274. \exercise Devise a method to make a rough table of contents by using
  3275. {\tt settabs} and having entries looking something like:\hfil\break
  3276. \leftline{\tt Getting Started \\dotfill \& \\hfill 1}
  3277. \leftline{\tt All Characters Great and Small \\dotfill \& \\hfill 9.}
  3278.  
  3279. \subsection{Horizontal alignment with more sophisticated patterns}
  3280.  
  3281. The {\tt \\settabs} environment is not difficult to use, and once
  3282. the pattern is set, it can be used repeatedly in different
  3283. portions of the text that follows.  It does have some drawbacks,
  3284. however. For one, the column size must be set before the entries
  3285. are known. Also, even though in one case we wanted the third
  3286. column to be boldface, it had to be specified in each line.
  3287. These problems can be handled more easily by using the {\tt
  3288. \\halign} environment.
  3289. \TeXref{235--238}
  3290. \toindex{halign}
  3291.  
  3292.  
  3293. The general pattern in the {\tt \\halign} is as follows:
  3294. \beginuser
  3295. \\halign\lb{} <template line> \\cr
  3296. <first display line> \\cr
  3297. <second display line> \\cr
  3298. $\vdots$
  3299. <last display line> \\cr
  3300. \rb
  3301. \enduser
  3302.  
  3303. Both the template line and the display lines are divided into
  3304. sections by the alignment symbol {\tt \&}\null. In the template
  3305. line each section uses control words in the same manner as does
  3306. {\tt \\line\lb\rb}\null.  The control word {\tt \\hfil}, for
  3307. example, can be used to display flush left, flush right, or \centred.
  3308. Fonts can be changed using {\tt \\bf}, {\tt \\it}, etc.
  3309. Text may also be entered in the template line.  In addition the
  3310. special symbol {\tt \#} must appear once in each section.  Each
  3311. display line is then set by substituting each section of the
  3312. display line into its corresponding section of the template line
  3313. at the occurrence of the {\tt \#}\null.
  3314.  
  3315. Consider the following example:
  3316.  
  3317. \beginuser
  3318. \\halign\lb\\hskip 2 in \$\#\$\& \\hfil \\quad \# \\hfil \& \\qquad \$\#\$
  3319.        \hskip 3in \& \\hfil \\quad \# \\hfil \\cr
  3320. \\alpha   \& alpha   \& \\beta  \& beta  \\cr
  3321. \\gamma   \& gamma   \& \\delta \& delta \\cr
  3322. \\epsilon \& epsilon \& \\zeta  \& zeta  \\cr
  3323. \rb
  3324. \enduser
  3325.  
  3326. \noindent The template line indicates that the first section of
  3327. the typeset text will always be set two inches in from the left
  3328. and also be set as mathematics.  The second section will be \centred{}
  3329. after adding a quad of space on the left.  The third
  3330. and fourth sections are handled similarly.  Here is the result:
  3331. \vskip\baselineskip
  3332.  
  3333. \halign{\hskip 2in $#$& \hfil\quad # \hfil & \qquad $#$
  3334.                        & \hfil\quad # \hfil\cr
  3335. \alpha   & alpha   & \beta  & beta \cr
  3336. \gamma   & gamma   & \delta & delta \cr
  3337. \epsilon & epsilon & \zeta  & zeta \cr
  3338. }
  3339.  
  3340. In this case the first display line is formed by substituting {\tt
  3341. \\alpha} for the first {\tt \#} in the template line, {\tt alpha} for
  3342. the second {\tt \#}, {\tt \\beta} for the third and {\tt beta} for
  3343. the fourth.  The whole line is then saved for setting.  This
  3344. continues until all the lines are accumulated, and then they are set
  3345. with each column being as wide as necessary to accept all of its
  3346. entries (an implication of this accumulation process is that a table
  3347. with too many entries could cause \TeX{} to run out of memory; it's
  3348. better not to set tables that are more than a page or so long).
  3349.  
  3350. Hence the template line establishes the pattern for the table entries
  3351. and the display lines insert the individual entries.
  3352.  
  3353. Sometimes horizontal and vertical lines are used to delimit
  3354. entries in a table.  To put in horizontal lines, we use {\tt \\hrule},
  3355. just as we did in the {\tt \\settabs} environment.
  3356. However, we don't want the rule to be aligned according to the
  3357. template, so we use the control word {\tt \\noalign}.  Hence
  3358. horizontal lines are inserted by putting {\tt \\noalign\lb\\hrule\rb};
  3359. vertical lines are inserted by putting {\tt \\vrule}
  3360. in either the template or the display line. But still all is not
  3361. completely straightforward.  Suppose we take our last example and
  3362. change the template to get vertical lines and also insert
  3363. horizontal lines.
  3364. \toindex{noalign}
  3365.  
  3366. \beginuser
  3367. \\halign\lb\\hskip 2in\\vrule\\quad \$\#\$\\quad \& \\vrule \\hfil\\quad %
  3368. \# \\hfil
  3369. \hskip 2 in \& \\quad \\vrule \\quad \$\#\$\\quad
  3370. \hskip 2 in \& \\vrule\\hfil \\quad \# \\quad \\hfil \\vrule \\cr
  3371. \\noalign\lb\\hrule\rb
  3372. \\alpha   \& alpha   \& \\beta  \& beta \\cr
  3373. \\noalign\lb\\hrule\rb
  3374. \\gamma   \& gamma   \& \\delta \& delta \\cr
  3375. \\noalign\lb\\hrule\rb
  3376. \\epsilon \& epsilon \& \\zeta  \& zeta \\cr
  3377. \\noalign\lb\\hrule\rb
  3378. \rb
  3379. \enduser
  3380.  
  3381. \noindent
  3382. doesn't give exactly what we want.
  3383.  
  3384. \vskip\baselineskip
  3385.  
  3386. \halign{\hskip 2in\vrule\quad $#$\quad & \vrule \hfil\quad # \hfil
  3387. & \quad \vrule \quad $#$\quad & \vrule \hfil\quad # \quad \hfil
  3388. \vrule \cr
  3389. \noalign{\hrule}
  3390. \alpha   & alpha   & \beta  & beta \cr
  3391. \noalign{\hrule}
  3392. \gamma   & gamma   & \delta & delta \cr
  3393. \noalign{\hrule}
  3394. \epsilon & epsilon & \zeta  & zeta \cr
  3395. \noalign{\hrule}
  3396. }
  3397.  
  3398. There are several deficiencies: the most obvious is the extended
  3399. horizontal lines, but also the text looks somewhat squashed into
  3400. the boxes.  In addition, the text has a little extra space on the
  3401. right rather than being perfectly \centred. As in the {\tt \\settabs}
  3402. environment, lines can be made taller by including the control
  3403. word {\tt \\strut} in the template.\TeXref{82} A further problem
  3404. can occur when the page is set since \TeX{} may spread lines
  3405. apart slightly to improve the appearance of the page.  This would
  3406. leave a gap between the vertical lines, so we use the control
  3407. word {\tt \\offinterlineskip} within the {\tt \\halign} to avoid
  3408. this.  Finally we can get rid of the lines sticking out on the
  3409. left by deleting the {\tt \\hskip 2 in} from the template line.
  3410. To move the table to the same position we use {\tt \\moveright}.
  3411. Finally, we can see how to \centre{} the text by noting that the
  3412. extra space occurs in the template line after the {\tt \#} where
  3413. the text is inserted.
  3414. Hence we can improve our result by using
  3415. \toindex{offinterlineskip}
  3416. \toindex{moveright}
  3417.  
  3418. \beginuser
  3419. \\moveright 2 in
  3420. \\vbox\lb\\offinterlineskip
  3421.  
  3422. \\halign\lb\\strut \\vrule \\quad \$\#\$\\quad \&\\vrule \\hfil \\quad %
  3423. \#\\quad \\hfil
  3424. \&\\vrule \\quad \$\#\$\\quad \&\\vrule \\hfil \\quad \#\\quad \\hfil %
  3425. \\vrule \\cr
  3426. \\noalign\lb\\hrule\rb
  3427. \\alpha   \& alpha   \& \\beta  \& beta \\cr
  3428. \\noalign\lb\\hrule\rb
  3429. \\gamma   \& gamma   \& \\delta \& delta \\cr
  3430. \\noalign\lb\\hrule\rb
  3431. \\epsilon \& epsilon \& \\zeta  \& zeta \\cr
  3432. \\noalign\lb\\hrule\rb
  3433. \rb\rb
  3434. \enduser
  3435.  
  3436. \noindent
  3437. to get
  3438. \vskip\baselineskip
  3439.  
  3440. \moveright 2 in
  3441. \vbox{\offinterlineskip
  3442. \halign{\strut \vrule \quad $#$\quad &\vrule \hfil \quad #\quad \hfil
  3443. &\vrule \quad $#$\quad &\vrule \hfil \quad #\quad \hfil
  3444. \vrule \cr
  3445. \noalign{\hrule}
  3446. \alpha   & alpha   & \beta  & beta \cr
  3447. \noalign{\hrule}
  3448. \gamma   & gamma   & \delta & delta \cr
  3449. \noalign{\hrule}
  3450. \epsilon & epsilon & \zeta  & zeta \cr
  3451. \noalign{\hrule}
  3452. }
  3453. }
  3454.  
  3455.  
  3456.  
  3457. In general, if we want to construct a table with boxed entries
  3458. that is \centred{} on the page, we can do so by putting the {\tt
  3459. \\vbox} within a {\tt \\centerline\lb\rb}\null. But here is a
  3460. trick that will produce a nicer result.  If the {\tt \\vbox} is
  3461. put in between double dollar signs, it will be typeset as
  3462. displayed mathematics.  Of course, there is no actual
  3463. mathematics being displayed, but \TeX{} will put in a little
  3464. extra space above and below the table as is appropriate for a
  3465. display.  Hence a \centred{} table with this nice spacing may be
  3466. formed using the following four steps:
  3467. (1) put a {\tt \\vbox} between double dollar signs,
  3468. (2) put an {\tt \\offinterlineskip} and an {\tt \\halign} within
  3469. the {\tt \\vbox},
  3470. (3) in the {\tt \\halign} put a template line with a {\tt \\strut}
  3471. in the beginning,  and a {\tt \\vrule} surrounding each entry,
  3472. (4) each row of the table should be preceded and followed by
  3473. {\tt \\noalign\lb\\hrule\rb}.
  3474.  
  3475. Here is the pattern to be followed:
  3476.  
  3477. \beginuser
  3478. \$\$\\vbox\lb
  3479. \\offinterlineskip
  3480. \\halign\lb
  3481. \\strut \\vrule \# \& \\vrule \# \& \dots \& \\vrule \# \\vrule \\cr
  3482. \\noalign\lb\\hrule\rb
  3483. <first column entry> \& <second column entry> \& \dots %
  3484. \& <last column entry> \\cr
  3485. \\noalign\lb\\hrule\rb
  3486. \dots
  3487. \\noalign\lb\\hrule\rb
  3488. <first column entry> \& <second column entry> \& \dots %
  3489. \& <last column entry> \\cr
  3490. \\noalign\lb\\hrule\rb
  3491. \rb
  3492. \rb\$\$
  3493. \enduser
  3494.  
  3495.  
  3496.  
  3497. \section{Rolling your own}
  3498.  
  3499. In this section we'll create new control words.  The making of
  3500. these new definitions, also called macros, is one of the most
  3501. powerful techniques available in \TeX\null.  For the first
  3502. application of this facility, we'll see how a new definition can
  3503. save a lot of typing by substituting short strings for long ones.
  3504.  
  3505. \subsection{The long and short of it}
  3506.  
  3507. The control word {\tt \\def} is used to define new control words.
  3508. The simplest form for doing this is {\tt \\def\\newname\lb$\ldots$\rb}.
  3509. Then whenever {\tt \\newname} appears in your
  3510. input file, it will be replaced by whatever is between the braces
  3511. in the definition.  Of course {\tt \\newname} must satisfy the
  3512. convention for naming control sequences, that is, it must be a
  3513. control word (all letters) or a control symbol (exactly one
  3514. nonletter). So, for example, suppose you write a document that
  3515. contains the phrase ``University of Manitoba'' many times.  Then
  3516. {\tt \\def\\um\lb University of Manitoba\rb} defines a new
  3517. control sequence {\tt \\um} which can then be used at any time.
  3518. The sentence {\tt I take courses at the \\um.}\ then makes
  3519. sense. If the control word exists, your new definition will
  3520. replace it (this includes the control words defined by \TeX{}, so
  3521. a little care must be taken in the choice of name). Any
  3522. definition is, however,  local to the group in which it is
  3523. defined.  For example, \toindex{def}
  3524.  
  3525. \beginuser
  3526. \\def\\um\lb University of Manitoba\rb
  3527. I took my first course at the \\um.
  3528. \lb
  3529. \\def\\um\lb Universit\\'e de Montr\\'eal\rb
  3530. Then I took my next course at the \\um.
  3531. \rb
  3532. Finally I took my last course at the \\um.
  3533. \enduser
  3534.  
  3535. \noindent gives \medskip
  3536.  
  3537. \def\um{University of Manitoba}
  3538. I took my first course at the \um.
  3539. {
  3540. \def\um{Universit\'e de Montr\'eal}
  3541. Then I took my next course at the \um.
  3542. }
  3543. Finally I took my last course at the \um.
  3544.  
  3545. Remember that all spaces after a control word are absorbed; this
  3546. includes the control words that you define. In the previous
  3547. example, any space after {\tt \\um} would be ignored. However,
  3548. the space after the first period and the space after the first
  3549. opening brace are different; if you look closely at the end of
  3550. the first sentence typeset using the example, you'll see some
  3551. extra space. This can be eliminated by putting a {\tt \%} after
  3552. the opening brace to make the rest of the line a comment. The
  3553. same holds for the line with the last closing brace. Careful
  3554. control of spaces often calls for the ``commenting out'' of the
  3555. end of lines in this manner.
  3556.  
  3557. Once a new control sequence has been defined, it may be used in
  3558. new definitions. This is one way of making simple form letters.
  3559. First let's define a simple letter.
  3560.  
  3561. \beginuser
  3562. \\def\\letter\lb
  3563. \\par \\noindent
  3564. Dear \\name,
  3565. \
  3566. This is a little note to let you know that your name is \\name.
  3567. \
  3568. \\hskip 2 in Sincerely yours,
  3569. \\vskip 2\\baselineskip
  3570. \\hskip 2 in The NameNoter
  3571. \\smallskip \\hrule
  3572. \rb
  3573. \enduser
  3574.  
  3575. \def\letter{
  3576. \par \noindent
  3577. Dear \name,
  3578.  
  3579. This is a little note to let you know that your name is \name.
  3580.  
  3581. \hskip 2 in Sincerely yours,
  3582. \vskip 2\baselineskip\nobreak
  3583. \hskip 2 in The NameNoter
  3584. \smallskip \hrule
  3585. }
  3586.  
  3587. Now this letter uses the control word {\tt \\name}, which is
  3588. undefined at this point.  When {\tt \\letter} is used, the
  3589. current value of {\tt \\name} will appear in the body of the
  3590. letter. Hence
  3591.  
  3592. \beginuser
  3593. \\def\\name\lb Michael Bishop\rb
  3594. \\letter
  3595. \\def\\name\lb Michelle L\\'ev\\\^{}eque\rb
  3596. \\letter
  3597. \enduser
  3598.  
  3599. \noindent will produce two copies of the letter, each with the
  3600. correct name, followed by a horizontal rule:
  3601.  
  3602. \def\name{Michael Bishop}
  3603. \letter
  3604. \goodbreak
  3605. \def\name{Michelle L\'ev\^eque}
  3606. \letter
  3607.  
  3608. We could have put anything between the braces in
  3609. {\tt \\def\\name\lb$\ldots$\rb}; it could be several paragraphs
  3610. long and use other control sequences (although in this context it
  3611. would be a little strange). Of course it is possible to use {\tt
  3612. \\vfill \\eject} as part of the definition of {\tt \\letter} to
  3613. eject the page when the letter is completed.
  3614.  
  3615. \exercise Make a form letter that uses the control words {\tt \\name},
  3616. {\tt \\address}, {\tt \\city}, {\tt \\\province}, and {\tt
  3617. \\\postcode}.
  3618.  
  3619. \exercise An unnumbered list of items is often made
  3620. using {\tt \\item\lb\$\\bullet\$\rb}.  Define a macro {\tt \\bitem}
  3621. that does this, and use it for several paragraphs. Now change
  3622. each bullet to a dash (note that a simple change in the macro
  3623. propagates all the necessary changes in all of the paragraphs).
  3624.  
  3625. \exercise Suppose that you are going to have to format several
  3626. paragraphs in a paper using {\tt \\hangindent = 30 pt}, {\tt \\hangafter
  3627. = 4}, and {\tt \\filbreak} (don't worry about what
  3628. these control sequences actually do; the only important thing
  3629. for now is that once they are set, they remain in effect for only
  3630. one paragraph).  Define a single control sequence {\tt \\setpar}
  3631. which can then be put in front of each paragraph that needs to be
  3632. so formatted.
  3633.  
  3634.  
  3635. \subsection{Filling in with parameters}
  3636.  
  3637. It's possible to use macros in much greater generality by
  3638. allowing parameters to be passed.  The idea is somewhat similar
  3639. to the template line in the {\tt \\halign} environment.  First,
  3640. let's look at the case where there is one parameter.  In this
  3641. case a control sequence is defined by {\tt \\def\\newword\#1\lb
  3642. $\ldots$\rb}\null.  The symbol {\tt \#1} may appear between the
  3643. braces (several times) in the definition of {\tt \\newword}.  The
  3644. material between the braces acts like a template. When {\tt
  3645. \\newword\lb$\ldots$\rb} appears in the text, it will use the
  3646. definition of {\tt \\newword} with the material between the
  3647. braces inserted into the template at every occurrence of {\tt
  3648. \#1} in the original definition. {\bf The spacing in the original
  3649. definition is crucial here; there must be no spaces before the
  3650. opening brace}.
  3651.  
  3652. As an example, we could use the form letter of the last section in
  3653. the following way:
  3654.  
  3655.  
  3656. \beginuser
  3657. \\def\\letter\#1\lb
  3658. \\par \\noindent
  3659. Dear \#1,
  3660. \vskip\baselineskip
  3661. This is a little note to let you know that your name is \#1.
  3662. \vskip\baselineskip
  3663. \\hskip 2 in Sincerely yours,
  3664. \\vskip 2\\baselineskip
  3665. \\hskip 2 in The NameNoter
  3666. \\smallskip \\hrule
  3667. \rb
  3668. \enduser
  3669.  
  3670. \def\letter#1{
  3671. \par \noindent
  3672. Dear #1,
  3673.  
  3674. This is a little note to let you know that your name is #1.
  3675.  
  3676. \hskip 2 in Sincerely yours,
  3677. \vskip 2\baselineskip
  3678. \hskip 2 in The NameNoter
  3679. \smallskip \hrule
  3680. }
  3681.  
  3682. Now we can use
  3683.  
  3684. \beginuser
  3685. \\letter\lb Michael Bishop\rb
  3686. \\letter\lb Michelle L\\'ev\\\^{}eque\rb
  3687. \enduser
  3688.  
  3689. \noindent to get \medskip
  3690. \letter{Michael Bishop}
  3691. \goodbreak
  3692. \letter{Michelle L\'ev\^eque}
  3693.  
  3694. \def\displaytext#1{$$\vbox{\hsize=12cm #1}$$}
  3695. \bigskip
  3696. \displaytext{
  3697. Now let's define
  3698. {\tt\\def\\displaytext\#1\lb \$\$\\vbox\lb\\hsize = 12 cm \#1\rb\$\$\rb}
  3699. as a new macro to display text.
  3700. Then {\tt \\displaytext\lb$\ldots$\rb} will cause the material
  3701. between the braces to be put in a paragraph with width 12 \centimetre
  3702. s and then \centred{} with some space added above and
  3703. below as is appropriate for a display.  This paragraph was set
  3704. using this {\tt \\displaytext} macro.
  3705. }
  3706.  
  3707. The parameter of a macro can be no more than one paragraph long.
  3708. If a new paragraph is encountered as part of a parameter, an
  3709. error will be generated.  This is a safety feature, for
  3710. otherwise the accidental omission of a closing brace would cause
  3711. \TeX{} to eat up the rest of the file as the parameter.
  3712.  
  3713. \exercise Define a macro {\tt \\yourgrade} so that {\tt
  3714. \\yourgrade\lb89\rb} will cause the following sentence to be
  3715. typeset: The grade you received is 89\%\null. It should be able
  3716. to work with any other percentage, of course.
  3717. \medbreak
  3718.  
  3719. It's not really any harder to use more than one parameter.  The form
  3720. used to define a new control word with two parameters is
  3721. {\tt \\def\\newword\#1\#2\lb$\ldots$\rb}. The definition between the
  3722. braces may have {\tt \#1} and {\tt \#2} occurring in it, perhaps
  3723. several times.  When {\tt \\newword\lb$\ldots$\rb\lb$\ldots$\rb}
  3724. appears in the text, the material between the first set of braces
  3725. replaces {\tt \#1} in the definition and the material between the
  3726. second set of braces replaces {\tt \#2} in the definition.  Here is
  3727. an example followed by its result:
  3728.  
  3729. \beginuser
  3730. \\def\\talks\#1\#2\lb \#1 talks to \#2.\rb
  3731. \\talks\lb John\rb\lb Jane\rb
  3732. \\talks\lb Jane\rb\lb John\rb
  3733. \\talks\lb John\rb\lb me\rb
  3734. \\talks\lb She\rb\lb Jane\rb
  3735. \enduser
  3736.  
  3737. \def\talks#1#2{#1 talks to #2.}
  3738. \talks{John}{Jane}
  3739. \talks{Jane}{John}
  3740. \talks{John}{me}
  3741. \talks{She}{Jane}
  3742.  
  3743. \exercise In a manner similar to the previous exercise, define a
  3744. macro {\tt \\yourgrade} so that {\tt \\yourgrade\lb89\rb\lb85\rb}
  3745. causes the following sentence to be typeset: You received a grade
  3746. of 89\% on your first exam and a grade of 85\% on your second
  3747. exam.
  3748.  
  3749. \exercise Write a macro {\tt \\frac} so that {\tt \\frac\lb
  3750. a\rb\lb b\rb} will typeset the fraction ${a\over b}$.
  3751.  
  3752. \bigskip
  3753. It's important not to put any spaces before the first brace in
  3754. the definition. If you do, \TeX{} will interpret the definition
  3755. differently from the way described here. For more than two
  3756. parameters, the method of definition is similar. To define a
  3757. control word with three parameters, start with
  3758. {\tt \\def\\newword\#1\#2\#3\lb$\ldots$\rb}. Then {\tt \#1},
  3759. {\tt \#2} and {\tt \#3} may occur between the braces. When
  3760. {\tt \\newword\lb$\ldots$\rb\lb$\ldots$\rb\lb$\ldots$\rb}
  3761. appears in the text, the material between each set of braces
  3762. replaces its corresponding symbol in the definition of the
  3763. control word. The parameters may go up to {\tt \#9}.
  3764.  
  3765. \subsection{By any other name}
  3766.  
  3767. Sometimes it's convenient to be able to give a control word an
  3768. alternative name.  For example, if you prefer a different spelling,
  3769. you might want to call the control word {\tt \\centerline} by the
  3770. name of {\tt \\centreline}.  This can be done by using the {\tt
  3771. \\let} control word.  The use of {\tt \\let \\centreline =
  3772. \\centerline} now makes a new (as well as the old) control word
  3773. available.  This can also be used with mathematical names as with
  3774. {\tt \\let \\tensor = \\otimes}.  It is then possible to use
  3775. \TeXref{206--207}
  3776.  
  3777. \toindex{let}
  3778. \toindex{centreline}
  3779. \toindex{tensor}
  3780.  
  3781. \let\tensor=\otimes
  3782. \beginuser
  3783. \$\$ (A \\tensor B) (C \\tensor D) = AC \\tensor BD. \$\$
  3784. \enduser
  3785.  
  3786. \noindent to get
  3787.  
  3788. $$ (A \tensor B) (C \tensor D) = AC \tensor BD. $$
  3789.  
  3790.  
  3791.  
  3792. \exercise Define control sequences {\tt \\ll}, {\tt \\cl}, and
  3793. {\tt \\rl} that are equivalent to {\tt \\leftline}, {\tt \\centerline},
  3794. and {\tt \\rightline}.
  3795.  
  3796. The {\tt \\let} control word allows users to name their own
  3797. control sequences.  This allows a personalized set of control
  3798. sequences that may be used in place of the ones provided by \TeX{}
  3799. when desired.
  3800.  
  3801. \section{To err is human}
  3802.  
  3803. In some ways \TeX{} is not completely divine. \TeX{} will respond
  3804. to invalid input by giving an error message to the screen if you
  3805. are using it interactively and also to the log file.  Because
  3806. \TeX{} is very complicated, the actual point where the error is
  3807. detected may be deep within the program, so a full report of the
  3808. error may be rather long and involved.    Not only that, \TeX{}
  3809. will try to recover from errors, and will report what was done in
  3810. that process.  For this reason the reading of error messages may
  3811. be a little difficult for the uninitiated.  The key is to know
  3812. what is important from your perspective and what can be safely
  3813. ignored. So let's look at some typical errors and the messages
  3814. that they generate.
  3815.  
  3816. \subsection{The forgotten bye}
  3817.  
  3818. The first mistake that we'll look at is one that everyone makes
  3819. at some time, namely, the omission of {\tt \\bye} at the end of
  3820. the file. If you're using \TeX{} interactively, an asterisk \hfil
  3821. \break
  3822. \leftline{\tt *}
  3823. will be printed on the screen and nothing will happen since,
  3824. having not been told to finish up,  \TeX{} is waiting for input
  3825. (from your keyboard).  Whatever you type in will be appended to
  3826. whatever has been input from your files.  The usual response is
  3827. to type {\tt \\bye<CR>}\fnote{{\tt <CR>} is the key
  3828. used to end a line of input.  It might be called the carriage
  3829. return, enter, or simply the return key on your terminal.
  3830. Sometimes it is indicated by a large left arrow.} since that will
  3831. finish things up.
  3832.  
  3833. \subsection{The misspelled or unknown control sequence}
  3834.  
  3835. Using a misspelled or other control sequence unknown to \TeX{} is
  3836. a common error.  If \TeX{} is being run as a batch job, an error
  3837. message is printed and the job goes on ignoring the control
  3838. sequence.  When using \TeX{} interactively, it is possible to
  3839. repair errors (of course this does not change the original input
  3840. file, so that must be done when the \TeX{} job is completed).
  3841. Suppose we have a \TeX{} input file consisting of the following
  3842. two lines:
  3843. \beginuser
  3844. \\line\lb The left side \\hfli the right side\rb
  3845. \\bye
  3846. \enduser
  3847.  
  3848. The control word should be {\tt \\hfil}, of course. Here is the
  3849. message that would be sent to your terminal:
  3850.  
  3851. \beginuser
  3852. \obeyspaces
  3853. ! Undefined  control sequence.
  3854. l.1 \\line\lb The left side \\hfli
  3855. \                               the right side\rb
  3856. ?
  3857. \enduser
  3858.  
  3859. The first line starts with {\tt !} and gives the error message.
  3860. Next comes the line number on which the error occurred and the
  3861. part of the line that was read successfully.  The next line gives
  3862. the continuation of the line after the error. At this point the
  3863. question mark means that \TeX{} is waiting for a response.  There
  3864. are several legal ones:
  3865. \nobreak
  3866. \maketable [Responses to \TeX{} error messages]
  3867. \halign{
  3868. \strut \hfil # \hfil & \quad \hfil \tt # \hfil & # \hfil\cr
  3869.    \bf Desired response & \bf Input to \TeX{} & \bf \hfil Result\cr
  3870.    \noalign{\hrule} \noalign{\smallskip}
  3871.    Help   & h<CR>& Reason for stopping listed on terminal.\cr
  3872.    Insert & i<CR>& Next line inserted into \TeX{} input file.\cr
  3873.    Exit   & x<CR>& Exit from \TeX\null. Completed pages to DVI file.\cr
  3874.    Scroll & s<CR>& List message and continue after minor errors.\cr
  3875.    Run    & r<CR>& List message and continue after any errors.\cr
  3876.    Quiet  & q<CR>& All terminal listings suppressed.\cr
  3877.    Carry on &<CR> & \TeX{} continues as best it can.\cr
  3878.       }
  3879.  
  3880. In our last example a reasonable response might be to enter {\tt
  3881. h<CR>} to get a help message, then {\tt i<CR>} to insert more
  3882. text, (at which point \TeX{} responds with {\tt insert> } and
  3883. finally {\tt \\hfil} as the correct control word.  Here is the
  3884. result:
  3885.  
  3886.  
  3887. \beginuser
  3888. ? h <CR>
  3889. The control sequence at the end of the top line
  3890. of your error message was never \\def'ed. If you have
  3891. misspelled it (e.g., `\\hobx'), type `I' and the correct
  3892. spelling (e.g., `I\\hbox'). Otherwise just continue,
  3893. and I'll forget about whatever was undefined.
  3894.  
  3895. ? i <CR>
  3896. insert>\\hfil
  3897. [1]
  3898. \enduser
  3899.  
  3900. The final {\tt [1]} means that the first (and only) page has
  3901. been completed and sent to the DVI file.  The original input file
  3902. still needs to be fixed, of course.
  3903.  
  3904. \subsection{The misnamed font}
  3905.  
  3906. A misspelled font name is an error similar to the misspelled
  3907. control sequence.  The error message is different and a little
  3908. confusing at first. Suppose for example the following appears in
  3909. your input file:
  3910.  
  3911. \leftline{\tt \\font\\sf = cmss01}
  3912.  
  3913. It should be {\tt cmss10}, that is, the numbers have been
  3914. transposed.  Here are the error and help messages:
  3915.  
  3916. \beginuser \obeyspaces
  3917. ! Font \\sf=cmss01 not loadable: Metric (TFM) file not found.
  3918. <to be read again>
  3919. \                   \\par
  3920. \\bye ->\\par
  3921. \            \\vfill \\supereject \\end
  3922. l.2 \\bye
  3923.  
  3924. ? h <CR>
  3925. I wasn't able to read the size data for this font,
  3926. so I will ignore the font specification.
  3927. [Wizards can fix TFM files using TFtoPL/PLtoTF.]
  3928. You might try inserting a different font spec;
  3929. e.g., type `I\\font<same font id>=<substitute font name>'.
  3930. \enduser
  3931.  
  3932. The TFM (\TeX{} font metric) file is an auxiliary file that is
  3933. used by \TeX\null. So this strange message is just telling you
  3934. that the font you defined doesn't exist on your computer system.
  3935.  
  3936. \subsection{Mismatched mathematics}
  3937.  
  3938. Another common error is to use {\tt \$} or {\tt \$\$} to start a
  3939. mathematical expression and then to forget the second {\tt \$}
  3940. or {\tt \$\$} when finished.  The text that follows is then
  3941. treated as mathematics, and to make matters worse, if more
  3942. mathematics is started by a new {\tt \$} or {\tt \$\$}, it will
  3943. then be treated as ordinary text.  Needless to say, error
  3944. messages galore may be generated. \TeX{} will attempt to correct
  3945. the problem by inserting a new {\tt \$} or {\tt \$\$}; in any
  3946. case, the problem is corrected by the end of the paragraph since
  3947. a new paragraph will automatically start as ordinary text.
  3948.  
  3949. Consider the following correct input and its output:
  3950. \beginuser
  3951. Since \$f(x) > 0\$, \$a<b\$,  and \$f(x)\$ is continuous, we know that
  3952. \$\\int\_{}a\^{}b f(x)\\,dx >0\$.
  3953. \enduser
  3954.  
  3955. Since $f(x) > 0$, $a<b$,  and $f(x)$ is continuous, we know that
  3956. $\int_a^b f(x)\,dx >0$.
  3957.  
  3958. If we now leave out the second dollar sign in {\tt \$f(x)\$} we
  3959. then get the following error and help messages:
  3960.  
  3961. \beginuser \obeyspaces
  3962. ! Missing \$ inserted.
  3963. <inserted text>
  3964. \               \$
  3965. <to be read again>
  3966. \                  \\intop
  3967. \\int ->\\intop
  3968. \             \\nolimits
  3969. l.2 \$\\int
  3970. \          \_{}a\^{}b f(x)\\,dx >0\$.
  3971. ? h <CR>
  3972. I've inserted a begin-math/end-math symbol since I think
  3973. you left one out. Proceed, with fingers crossed.
  3974.  
  3975. ?
  3976. \enduser
  3977.  
  3978. The line starting with {\tt !} tells us what has been done. The
  3979. line starting with {\tt l.2} shows us where we were in the input
  3980. file when the error occurred.  As in our other examples, the part
  3981. of the line successfully read, that is, through {\tt \\int},
  3982. appears on one line, and the continuation appears on the next
  3983. line. The remaining material may seem somewhat obscure.  These
  3984. intermediate messages show what was happening further in the guts
  3985. of the \TeX{} program when the error occurred.  The newer user
  3986. may ignore them.
  3987.  
  3988. Here is what you get as output after \TeX{} tries to recover from
  3989. the error.
  3990.  
  3991. Since $f(x) > 0$, $a<b$,  and $f(x) is continuous, we know that
  3992. \int_a^b f(x)\,dx >0$.
  3993.  
  3994. There is a stretch of text that is italic with no spacing.  This
  3995. is typical for normal text being processed as mathematics; if you
  3996. see this in your output, you have almost certainly left out a
  3997. {\tt \$} or {\tt \$\$}.
  3998.  
  3999. \subsection{Mismatched braces}
  4000.  
  4001. It's easy to forget or mismatch the closing braces when making
  4002. groups.  The result may be a relatively benign error, or it may
  4003. be catastrophic. Suppose, for example, you have {\tt \lb\\bf A
  4004. bold title } in your text with the closing right brace omitted.
  4005. The result will be the same as if no opening brace were there;
  4006. that is, the rest of the paper will be boldface if no other font
  4007. changes are made.  You will get the following message at the end
  4008. of the file:
  4009.  
  4010. {\tt (\\end occurred inside a group at level 1)}
  4011.  
  4012. If you had made the same mistake twice, then there would be two
  4013. more opening braces than closing braces, and you would get the
  4014. message:
  4015.  
  4016. {\tt (\\end occurred inside a group at level 2)}
  4017.  
  4018. \TeX{} doesn't know that the closing brace is missing until it
  4019. reaches the end of the input file.  Hence the message doesn't
  4020. tell you where you went wrong.  If the location of the missing
  4021. brace isn't obvious, it's always possible to insert {\tt \\bye}
  4022. halfway through your document.  Running \TeX{} again will cause
  4023. only the first half to be processed, and if the error message
  4024. persists, you will know that the error is in the first half of
  4025. the document.  By moving the {\tt \\bye} to different places, the
  4026. error can be localized.  Also, looking at the output often
  4027. reveals what has gone wrong.
  4028.  
  4029. Missing opening braces are much easier to spot.  Here is a two
  4030. line input file and the resulting error and help messages:
  4031.  
  4032. \beginuser
  4033. \\bf Here is the start\rb, but there is the finish.
  4034. \\bye
  4035. \enduser
  4036.  
  4037. \beginuser \obeyspaces
  4038. ! Too many \rb's.
  4039. l.1 \\bf Here is the start\rb
  4040. \                          , but there is the finish.
  4041.  
  4042. ? h <CR>
  4043. You've closed more groups than you opened.
  4044. Such booboos are generally harmless, so keep going.
  4045. \enduser
  4046.  
  4047. It's quite possible, of course, that the line that is supposed to
  4048. have the missing left brace will not be on the line where \TeX{}
  4049. catches the error.
  4050.  
  4051. A mismatched brace in the definition of a new control sequence
  4052. can cause a major error.  Since such a definition may include
  4053. several paragraphs, it may not be caught by the end of a
  4054. paragraph, but, rather will just keep piling more and more text
  4055. into the unfinished definition.  It's even possible for \TeX{} to
  4056. run out of memory as it keeps eating up more text! This is called
  4057. a ``runaway definition''.
  4058. \TeXref{206}
  4059. Here is a two line input file with a runaway definition:
  4060.  
  4061. \vbox{
  4062. \beginuser
  4063. \\def\\newword\lb the def
  4064. \\newword
  4065. \\bye
  4066. \enduser
  4067. }
  4068.  
  4069. Here are the resulting error and help messages:
  4070.  
  4071. \beginuser \obeyspaces
  4072. Runaway definition?
  4073. ->the def
  4074. ! Forbidden control sequence found while scanning definition of \\newword.
  4075. <inserted text>
  4076. \                \rb
  4077. <to be read again>
  4078. \                   \\bye
  4079. l.3 \\bye
  4080.  
  4081. ? h <CR>
  4082. I suspect you have forgotten a `\rb', causing me
  4083. to read past where you wanted me to stop.
  4084. I'll try to recover; but if the error is serious,
  4085. you'd better type `E' or `X' now and fix your file.
  4086.  
  4087. ? <CR>
  4088. No pages of output.
  4089. \enduser
  4090.  
  4091. This is obviously a serious error.  If it occurs at the beginning
  4092. of a file (as in the previous example), there will be no output
  4093. at all!
  4094.  
  4095. If a closing brace is left out while using a macro with
  4096. parameters, the runaway definition will be terminated at the end
  4097. of the paragraph. So if {\tt \\def\\newword\#1\lb$\ldots$\rb} has
  4098. been defined and you use {\tt \\newword\lb$\dots$ } without the
  4099. closing brace, then at most one paragraph will be ruined.
  4100. \TeXref{205}
  4101.  
  4102. In short, when an error occurs, make a note of the line number to
  4103. see how much of the input file has been read, and also the line
  4104. starting with an exclamation point to get a short description of
  4105. the error. If the error is still not clear, ask \TeX{} for more
  4106. information by typing {\tt h<CR>}. For small errors, \TeX{} can
  4107. carry on quite a way if you just keep hitting the {\tt <CR>}.
  4108.  
  4109.  
  4110.  
  4111.  
  4112. \section{Digging a little deeper}
  4113.  
  4114. In this section we look at a few topics that allow \TeX{} to be
  4115. used with greater flexibility or efficiency.  As the documents
  4116. being produced get longer, different techniques can help make
  4117. their creation easier.
  4118.  
  4119. \subsection{Big files, little files}
  4120.  
  4121. \TeX{} can read and write files as it runs.  This makes it
  4122. possible to use files that are smaller and more convenient to
  4123. handle by creating a master file that reads the smaller files in
  4124. the proper order. This document, for example, consists of ten
  4125. sections plus an introduction.  In addition, there are macros
  4126. that are used for all sections. The macros can be put in a file
  4127. called, say, {\tt macros.tex}, the introduction can be put in {\tt
  4128. intro.tex}, and each section put in its own file.  The control
  4129. word {\tt \\input} is then used to read in a file.  In general,
  4130. {\tt \\input filename} will cause the file called {\tt
  4131. filename.tex} to be read in and processed immediately, just as if
  4132. the text of {\tt filename.tex} had been part of the file that
  4133. read it in.  This file may input other files. In fact it's often
  4134. convenient to make a single file that reads in smaller pieces,
  4135. perhaps as follows:
  4136. \toindex{input}
  4137.  
  4138. \beginuser
  4139. \\input macros
  4140. \\input intro
  4141. \\input sec1
  4142. \\input sec2
  4143. \\input sec3
  4144. \\input sec4
  4145. \\input sec5
  4146. \\input sec6
  4147. \\input sec7
  4148. \\input sec8
  4149. \\input sec9
  4150. \\input sec10
  4151. \enduser
  4152.  
  4153. While the text is still being heavily edited, it's possible to
  4154. process only some of the files by putting a {\tt \%} at the
  4155. beginning of each line that contains a file to be skipped (this
  4156. is sometimes called ``commenting out'' the unwanted files).
  4157.  
  4158. The {\tt \\input} control word also allows the use of
  4159. predesigned macros.  The macros for a memorandum, for example,
  4160. might be put in a file called {\tt memo.tex}.  These macros might
  4161. set up the right {\tt \\hsize}, {\tt \\vsize} and other
  4162. parameters, and might stamp the time and date.  Once this has
  4163. been set up, all memoranda may be started with {\tt \\input memo}
  4164. to make them come out with a common format.
  4165.  
  4166. Be sure that you don't have the control word {\tt \\bye} in your
  4167. input file or the \TeX{} program will stop at that point.
  4168.  
  4169. \exercise Make a \TeX{} input file that reads in a second file.
  4170. Try reading in the second file twice using the {\tt \\input}
  4171. control word twice.
  4172.  
  4173. \subsection{Larger macro packages}
  4174.  
  4175. Designing macros that can be used with many types of documents
  4176. is obviously useful.  Most universities, for example, have
  4177. specific and often complicated format requirements for theses.  A
  4178. collection of macros, that is, a macro package that meets all
  4179. these specifications could be somewhat time consuming to design
  4180. and could be quite long.  It is possible to use the {\tt \\input}
  4181. command to use such a macro package, just as it is possible to
  4182. use it with your own macros.  But \TeX{} has a better facility
  4183. for larger packages.
  4184.  
  4185. A macro package can be put in a special form that can be quickly
  4186. read by \TeX\null.  This is called a {\sl format file}, and
  4187. the exact form is of technical interest only.  The important
  4188. thing is it allows \TeX{} to be run with many new control
  4189. sequences predefined. Certain commands called {\sl primitives\/}
  4190. are part of the definition of \TeX\null.
  4191.  
  4192. What we have described in this manual is sometimes called {\sl
  4193. plain \TeX\/}, and consists of the \TeX{} primitives plus a set
  4194. of macros in a format file (that is usually included in \TeX{}
  4195. automatically) called {\tt plain.fmt}. For the curious, any
  4196. control word can be viewed using {\tt \\show}.  The command {\tt
  4197. \\show\\centerline} will display
  4198. \beginliteral
  4199. > \centerline=macro:
  4200. #1->\line {\hss #1\hss }.
  4201. @endliteral
  4202. \noindent
  4203. on the screen and in the log file. You can use {\tt \\show} with
  4204. your own macros, too.  If you end up using several macro
  4205. packages, you can use the {\tt \\show} command to see if a
  4206. particular macro is defined.
  4207.  
  4208. Many computer \centre{}s have the \LaTeX{} macro package.  This
  4209. package allows the user to create an index, a table of contents,
  4210. and a bibliography automatically.  It also has the ability to
  4211. insert some elementary graphic figures such as circles, ovals,
  4212. lines, and arrows. \LaTeX{} also uses special predifined files
  4213. called {\sl style files\/} to set up
  4214. specific page parameters. Many different style files are
  4215. available; some journals will accept papers on a magnetic medium
  4216. for direct processing if they are prepared using \LaTeX{} and a
  4217. designated style file. It is not difficult to shift from \TeX{}
  4218. to \LaTeX\null. A user's guide by the author of the macro
  4219. package, Leslie Lamport, is available:
  4220. {\bf \LaTeX{}: A document preparation system}%
  4221. \fnote{Addison-Wesley, Reading, Massachusetts, 1986,
  4222. ISBN 0-201-15790-X.}.
  4223.  
  4224. The American Mathematical Society uses the \AMSTeX{} macro
  4225. package for its journals.  It is readily available from that
  4226. Society, and papers may be submitted to their journals on a
  4227. magnetic medium using \AMSTeX\null.  A manual by Michael Spivak,
  4228. {\bf The Joy of \TeX{}}\fnote{American Mathematical
  4229. Society, 1986, ISBN 0-8218-2999-8}, is available from the
  4230. American Mathematical Society.
  4231.  
  4232. Other macro packages exist, and undoubtedly more will be
  4233. developed. They are usually of modest cost and can be very
  4234. effective in some circumstances.  The \TeX{} Users Group
  4235. announces the existence of new macro packages in its
  4236. publications.
  4237.  
  4238. \subsection{Horizontal and vertical lines}
  4239.  
  4240. Making horizontal and vertical lines is easy using \TeX\null.
  4241. When typing in text, {\tt \\hrule } will cause the current
  4242. paragraph to end, will draw a horizontal line whose width is the
  4243. current value of {\tt \\hsize}, and then will continue on with a
  4244. new paragraph.  It's possible to specify the width of the hrule
  4245. as, for example, with {\tt \\hrule width 5 cm}; also you can use
  4246. {\tt \\vskip} or {\tt \\bigskip} to put some space above or below
  4247. the hrule.  Here is an example:
  4248.  
  4249. \beginuser
  4250. \\parindent = 0 pt \\parskip = 12 pt
  4251. Here is the text before the hrule.
  4252. \\bigskip
  4253. \\hrule width 3 in
  4254. And here is some text after the hrule.
  4255. \enduser
  4256.  
  4257. \noindent that produces
  4258. \vfill\eject
  4259.  
  4260. {
  4261. \parindent = 0 pt
  4262. Here is the text before the hrule.
  4263. \bigskip
  4264. \hrule width 3 in
  4265. And here is some text after the hrule.
  4266. }
  4267.  
  4268. In fact this hrule not only has width of three inches, but also
  4269. by default has a height (the amount by which the hrule extends
  4270. above the baseline on which the type is being set) of 0.4 points
  4271. and a depth (the amount by which the hrule extends below the
  4272. baseline on which the type is being set) of 0 points.  Each of
  4273. these parameters can be individually set.  Thus if we change the
  4274. last example to say
  4275.  
  4276. {\tt \\hrule width 3 in height 2 pt depth 3 pt } we get
  4277.  
  4278. {
  4279. \parindent = 0 pt
  4280. Here is the text before the hrule.
  4281. \bigskip
  4282. \hrule width 3 in height 2 pt depth 3 pt
  4283. And here is some text after the hrule.
  4284. }
  4285.  
  4286. The three parameters {\tt width}, {\tt height}, and {\tt depth} may
  4287. be given in any order.
  4288. \toindex{hrule}
  4289. \TeXref{221--222}
  4290.  
  4291. A vrule may be defined analogously to an hrule by specifying the
  4292. {\tt width}, {\tt height}, and {\tt depth} if desired.
  4293. \TeXref{221--222}
  4294. But, unlike the hrule, the vrule will not automatically start a
  4295. new paragraph when it appears.  By default the vrule will be 0.4
  4296. points wide, and will be as high as the line on which it is being
  4297. set. Hence
  4298.  
  4299. \toindex{vrule}
  4300.  
  4301. \beginuser
  4302. Here is some text before the vrule
  4303. \\vrule\\
  4304. and this follows the vrule.
  4305. \enduser
  4306.  
  4307. \noindent will give
  4308.  
  4309. Here is some text before the vrule
  4310. \vrule\
  4311. and this follows the vrule.
  4312.  
  4313. \exercise Make three horizontal lines that are 15 points apart,
  4314. 3 inches in length, and one inch in from the left margin.
  4315.  
  4316. Although we usually think of hrules and vrules as horizontal and
  4317. vertical lines, they need not necessarily be used that way.  For
  4318. example:
  4319.  
  4320. \beginuser
  4321. \\noindent
  4322. Name: \\vrule height 0 pt depth 0.4 pt width 3 in
  4323. \enduser
  4324.  
  4325. \noindent will give
  4326.  
  4327. \noindent
  4328. Name: \vrule height 0 pt depth 0.4 pt width 3 in
  4329.  
  4330. \exercise Make the following grid (each box is 1 \centimetre{} square):
  4331. \medskip
  4332. \settabs \+ \hskip 1cm&\hskip 1 cm&\hskip 1 cm& \cr
  4333. \moveright 2 in
  4334. \vbox{
  4335. \hrule width 3 cm
  4336. \+  \vrule height 1 cm & \vrule height 1 cm & \vrule height 1 cm
  4337.   & \vrule height 1 cm \cr
  4338. \hrule width 3 cm
  4339. \+  \vrule height 1 cm & \vrule height 1 cm & \vrule height 1 cm
  4340.   & \vrule height 1 cm \cr
  4341. \hrule width 3 cm
  4342. \+  \vrule height 1 cm & \vrule height 1 cm & \vrule height 1 cm
  4343.   & \vrule height 1 cm \cr
  4344. \hrule width 3 cm
  4345. }
  4346.  
  4347.  
  4348. \subsection{Boxes within boxes}
  4349.  
  4350. We have already seen (in our discussion of line shapes) that
  4351. vboxes and hboxes are objects that may be overfull or underfull.
  4352. In this section we will look at these boxes in a bit more detail.
  4353. They may be stacked or lined up to allow a variety of positions
  4354. for text on the page.
  4355.  
  4356. An hbox is formed by using {\tt \\hbox\lb $\ldots$\rb}\null.
  4357. Once the material between the braces has been put into an hbox,
  4358. it is set and can not be further split (this means that material
  4359. that must go on one line can be put into an hbox, and it will
  4360. then remain as one unit).  It's possible to specify the size of
  4361. an hbox.\TeXref{64--66} Thus {\tt \\hbox to 5 cm\lb contents of
  4362. the box\rb } will produce an hbox exactly five \centimetre{}s
  4363. wide containing the typeset text ``contents of the box''.
  4364. It's easy to get an underfull or overfull box in this way. An
  4365. underfull box can be avoided by using {\tt \\hfil} to absorb the
  4366. extra space. When no dimension is given, an hbox is formed that
  4367. is just wide enough to hold the enclosed text.
  4368. \toindex{hbox}
  4369.  
  4370. Similarly, vboxes are formed using {\tt \\vbox\lb $\ldots$\rb}.
  4371. What makes these boxes interesting is that when a vbox contains
  4372. hboxes, these hboxes are stacked one above the other and set as a
  4373. unit. Similarly, an hbox can contain vboxes, which will be set in
  4374. a row. Suppose we take three hboxes and put them in a vbox:
  4375. \toindex{vbox}
  4376.  
  4377. \beginuser \obeyspaces
  4378. \\vbox\lb
  4379. \      \\hbox\lb{}Contents of box 1\rb
  4380. \      \\hbox\lb{}Contents of box 2\rb
  4381. \      \\hbox\lb{}Contents of box 3\rb
  4382. \      \rb
  4383. \enduser
  4384.  
  4385. \noindent gives
  4386. \vskip \baselineskip
  4387. \vbox{
  4388.       \hbox{Contents of box 1}
  4389.       \hbox{Contents of box 2}
  4390.       \hbox{Contents of box 3}
  4391.       }
  4392.  
  4393. Now suppose we take another vbox:
  4394.  
  4395. \beginuser \obeyspaces
  4396. \\vbox\lb
  4397. \      \\hbox\lb{}Contents of box 4\rb
  4398. \      \\hbox\lb{}Contents of box 5\rb
  4399. \      \rb
  4400. \enduser
  4401.  
  4402. These two vboxes can be put into an hbox; this will cause them to
  4403. be placed side by side. In other words
  4404.  
  4405. \beginuser \obeyspaces
  4406. \\hbox\lb
  4407. \     \\vbox\lb
  4408. \           \\hbox\lb{}Contents of box 1\rb
  4409. \           \\hbox\lb{}Contents of box 2\rb
  4410. \           \\hbox\lb{}Contents of box 3\rb
  4411. \           \rb
  4412. \     \\vbox\lb
  4413. \           \\hbox\lb{}Contents of box 4\rb
  4414. \           \\hbox\lb{}Contents of box 5\rb
  4415. \           \rb
  4416. \     \rb
  4417. \enduser
  4418.  
  4419. \noindent gives
  4420. \vskip \baselineskip
  4421. \hbox{
  4422.      \vbox{
  4423.            \hbox{Contents of box 1}
  4424.            \hbox{Contents of box 2}
  4425.            \hbox{Contents of box 3}
  4426.            }
  4427.      \vbox{
  4428.            \hbox{Contents of box 4}
  4429.            \hbox{Contents of box 5}
  4430.           }
  4431.      }
  4432.  
  4433.  
  4434. Notice that the two vboxes are aligned so that the bottoms are
  4435. level; also there is a little space at the beginning of each line
  4436. and also between the vboxes.  Actually, the reason these spaces
  4437. appear is rather subtle. Unless a line ends in a control word,
  4438. there is always a space between the last entry in one line and
  4439. the first one in the next line. For this reason the space between
  4440. the vboxes comes from the end of the line containing the closing
  4441. brace of the first vbox.  Similarly, the spaces at the beginning
  4442. of the line is caused by the space after the opening brace of the
  4443. hbox. These spaces can be avoided by ``commenting out'' the end of
  4444. the line, that is, by putting a {\tt \%} immediately after the
  4445. closing brace of the first vbox or the opening brace of the hbox.
  4446. If you try to put some vboxes together and accidentally get extra
  4447. space by forgetting to comment out the end of the line, you're in
  4448. good company.  Some very able and experienced \TeX{} users have
  4449. done the same thing!
  4450.  
  4451. Extra space, say one \centimetre,  can be added by putting an
  4452. {\tt \\hskip 1 cm } between the vboxes.  They can be aligned so
  4453. that the tops are level by using {\tt \\vtop } instead of
  4454. {\tt \\vbox}.  Making these two changes results in:
  4455.  
  4456. \toindex{vtop}
  4457. \vskip \baselineskip
  4458. \hbox{
  4459.      \vtop{
  4460.            \hbox{Contents of box 1}
  4461.            \hbox{Contents of box 2}
  4462.            \hbox{Contents of box 3}
  4463.            }
  4464.      \hskip 1 cm
  4465.      \vtop{
  4466.            \hbox{Contents of box 4}
  4467.            \hbox{Contents of box 5}
  4468.           }
  4469.      }
  4470.  
  4471.  
  4472. We can combine vboxes, hboxes, vrules, and hrules to get boxed
  4473. text.  How might we construct such a box? One way is to take the
  4474. material to be boxed and put it in an hbox preceded and followed
  4475. by a vrule.  Then put this in a vbox with hrules above and below
  4476. it. This gives us:
  4477.  
  4478. \beginuser \obeyspaces
  4479. \\vbox\lb
  4480. \      \\hrule
  4481. \      \\hbox\lb\\vrule{} The text to be boxed \\vrule\rb
  4482. \      \\hrule
  4483. \     \rb
  4484. \enduser
  4485.  
  4486. \noindent which results in
  4487. \vskip \baselineskip
  4488. \vbox{
  4489.       \hrule
  4490.       \hbox{\vrule{} The text to be boxed \vrule}
  4491.       \hrule
  4492.      }
  4493.  
  4494. This produces boxed material, but there is no margin around it
  4495. and so it looks very cramped (of course \TeX{} is just giving us
  4496. what we asked for).  We can improve the spacing by putting a {\tt
  4497. \\strut} at the beginning of the hbox to make it a little taller
  4498. and deeper.  This gives us:
  4499. \vskip \baselineskip
  4500. \vbox{
  4501.       \hrule
  4502.       \hbox{\strut \vrule{} The text to be boxed \vrule}
  4503.       \hrule
  4504.      }
  4505.  
  4506. \def\boxtext#1{%
  4507. \vbox{%
  4508.       \hrule
  4509.       \hbox{\strut \vrule{} #1 \vrule}%
  4510.       \hrule
  4511.      }%
  4512. }
  4513.  
  4514. \exercise Why is it that we were forced to add extra space above
  4515. and below the text but not before and after it?
  4516.  
  4517.  
  4518. \exercise Use the method of boxing material to put text \centred{}
  4519. in a box which extends from the left to the right margin.
  4520.  
  4521. \exercise By stacking nine little boxes, make the following magic square:
  4522. \vskip\baselineskip
  4523.  
  4524. \moveright 2 in \vbox{\offinterlineskip
  4525. \hbox{\boxtext 6\boxtext 1\boxtext 8}
  4526. \hbox{\boxtext 7\boxtext 5\boxtext 3}
  4527. \hbox{\boxtext 2\boxtext 9\boxtext 4}
  4528. }
  4529.  
  4530. \exercise Notice that the magic square in the previous exercise
  4531. has internal lines that are twice as thick as the outside ones.
  4532. Also, there is a tiny space at the intersection of the internal
  4533. lines. Fix up the magic square so this doesn't happen.
  4534.  
  4535. \def\boxtext#1 {%
  4536. \vbox{%
  4537.       \hrule
  4538.       \hbox{\strut \vrule #1\vrule}%
  4539.       \hrule
  4540.      }
  4541. }
  4542.  
  4543. \exercise Write a macro { \tt \\boxtext\#1\lb$\ldots$\rb } which
  4544. will take the text between the braces and put a box around it.  Test
  4545. your macro by making up a sentence with every other word boxed.
  4546. I'm \boxtext not quite \boxtext sure why \boxtext someone
  4547. would \boxtext do this \boxtext since the \boxtext result is \boxtext
  4548. pretty strange. Note how the baseline and the bottom of
  4549. the surrounding boxes align.
  4550.  
  4551. \def\boxtext#1 {%
  4552. \lower 3.5pt \hbox{%
  4553.     \vbox{%
  4554.          \hrule
  4555.          \hbox{\strut \vrule #1\vrule}%
  4556.          \hrule
  4557.         }
  4558.     }
  4559. }
  4560.  
  4561. It's easy to move boxes up, down, left, or right on the page. A
  4562. {\tt \\vbox} can be moved to the right one inch by using {\tt
  4563. \\moveright 1 in \\vbox\lb\dots\rb}.  To move it to the left,
  4564. use {\tt \\moveleft}.  Similarly, an {\tt \\hbox} can be moved up
  4565. or down using {\tt \\raise} or {\tt \\lower}.
  4566. \toindex{moveright}
  4567. \toindex{moveleft}
  4568. \toindex{raise}
  4569. \toindex{lower}
  4570.  
  4571. \exercise Rewrite the {\tt \\boxtext} macro from the previous
  4572. exercise so that all of the text is aligned (hint: by default the
  4573. depth of a strut is 3.5 points).  This would give a sentence like
  4574. the following: I'm \boxtext not quite \boxtext sure why \boxtext
  4575. someone would \boxtext do this \boxtext since the \boxtext result
  4576. is \boxtext pretty strange.
  4577.  
  4578. It's possible to fill a box with either an hrule or with dots.
  4579. The idea is to use {\tt \\hrulefill } or {\tt \\dotfill } in the
  4580. hbox.
  4581.  
  4582. \beginuser
  4583. \\hbox to 5 in\lb Getting Started\\hrulefill 1\rb
  4584. \\hbox to 5 in\lb All Characters Great and Small\\hrulefill 9\rb
  4585. \\hbox to 5 in\lb The Shape of Things to come\\hrulefill 17\rb
  4586. \\hbox to 5 in\lb No Math Anxiety Here!\\hrulefill 30\rb
  4587. \enduser
  4588.  
  4589. \noindent gives
  4590. \vskip \baselineskip
  4591.  
  4592. \hbox to 5 in{Getting Started\hrulefill 1}
  4593. \hbox to 5 in{All Characters Great and Small\hrulefill 9}
  4594. \hbox to 5 in{The Shape of Things to come\hrulefill 17}
  4595. \hbox to 5 in{No Math Anxiety Here!\hrulefill 30}
  4596.  
  4597. If {\tt \\hrulefill} is replaced by {\tt \\dotfill} we get
  4598. \vskip \baselineskip
  4599.  
  4600. \hbox to 5 in{Getting Started\dotfill 1}
  4601. \hbox to 5 in{All Characters Great and Small\dotfill 9}
  4602. \hbox to 5 in{The Shape of Things to come\dotfill 17}
  4603. \hbox to 5 in{No Math Anxiety Here!\dotfill 30}
  4604.  
  4605. \exercise Make a boxed headline appear at the top of the page
  4606. that is like the one used in this manual.
  4607.  
  4608.  
  4609.  
  4610. \section{Control word list}
  4611.  
  4612. Here is a list of the control words given in this manual.
  4613. If you want more detail about these words than is given here,
  4614. check the index of {\bf The \TeX book}.
  4615.  
  4616. \vskip 2\baselineskip
  4617. \centerline{Control symbols}
  4618. \vskip\baselineskip
  4619.  
  4620. \settabs \+ \hskip 1.5 in & \hskip 1.65in & \hskip 1.3in & \cr
  4621. {\tt
  4622. \+  \\\sp{} 4 & \\!\ 34  & \\" 11 & \\' 11    \cr
  4623. \+  \\, 34    & \\.\ 11  & \\/ 16 & \\; 34    \cr
  4624. \+  \\= 11    & \\> 34   & \\\# 10&  \\\$ 6  \cr
  4625. \+  \\\% 6    & \\\& 10   & \\\char '173{} 10  & \\\char '175{} 10 \cr
  4626. \+  \\\underbar{ } 10 & \\` 11 & \\{\accent "7E } 10 & \\{\accent 94 } 10 \cr
  4627. \+  \\| 40 \cr
  4628. }
  4629.  
  4630. \vskip 2\baselineskip
  4631. \centerline{Control words}
  4632. \vskip\baselineskip
  4633.  
  4634. {\tt
  4635. \+ \\AA 12 & \\aa 12 & \\acute 36 & \\AE 12 \cr
  4636. \+ \\ae 12 & \\aleph 37 & \\alpha 35 & \\angle 37 \cr
  4637. \+ \\approx 37 & \\arccos 41 & \\arcsin 41 & \\arctan 41 \cr
  4638. \+ \\arg 41 & \\ast 36 & \\b 12 & \\backslash 37 \cr
  4639. \+ \\bar 36 & \\baselineskip 22 & \\beta 35 & \\bf 16 \cr
  4640. \+ \\biggl 40 & \\Biggl 40 & \\biggr 40 & \\Biggr 40 \cr
  4641. \+ \\bigl 40 & \\Bigl 40 & \\bigr 40 & \\Bigr 40 \cr
  4642. \+ \\bigskip 26 & \\break 26 & \\breve 36 & \\bullet 36 \cr
  4643. \+ \\bye 4 & \\c 12 & \\cap 36 & \\cdot 36 \cr
  4644. \+ \\centerline 26 & \\centreline 60 & \\check 36 & \\chi 35 \cr
  4645. \+ \\circ 35 & \\columns 48 & \\cos 41 & \\cosh 41 \cr
  4646. \+ \\cot 41 & \\coth 41 & \\csc 41& \\cup 36 \cr
  4647. \+ \\d 12 & \\ddag 27 & \\ddot 36 & \\def 55 \cr
  4648. \+ \\deg 41 & \\delta 35 & \\Delta 35 & \\det 41 \cr
  4649. \+ \\diamond 36 & \\dim 41 & \\div 36 & \\dot 36 \cr
  4650. \+ \\dotfill 49 & \\dots 14 & \\downarrow 41 & \\Downarrow 41 \cr
  4651. \+ \\eject 20 & \\ell 37 & \\endinsert 26 & \\epsilon 35 \cr
  4652. \+ \\eqalign 45 & \\eqalignno 46 & \\eqno 46 & \\equiv 37 \cr
  4653. \+ \\eta 35 & \\exists 37 & \\exp 41 & \\flat 37 \cr
  4654. \+ \\folio 28 & \\font 16 & \\footline 28 & \\footnote 27 \cr
  4655. \+ \\forall 37 & \\gamma 35 & \\Gamma 35 & \\gcd 41 \cr
  4656. \+ \\geq 37 & \\grave 36 & \\H 12 & \\halign 51 \cr
  4657. \+ \\hang 23 & \\hangafter 23 & \\hangindent 23 & \\hat 36 \cr
  4658. \+ \\hbadness 29 & \\hbox 72 & \\headline 28 & \\hfil 27 \cr
  4659. \+ \\hfill 26 & \\hfuzz 29 & \\hoffset 20 & \\hom 41 \cr
  4660. \+ \\hrule 71 & \\hrulefill 49 & \\hsize 20 & \\hskip 27 \cr
  4661. \+ \\hyphenation 30 & \\i 11 & \\Im 37 & \\in 37 \cr
  4662. \+ \\inf 41 & \\infty 37 & \\input 68 & \\int 38 \cr
  4663. \+ \\iota 35 & \\it 16 & \\item 24 & \\itemitem 24 \cr
  4664. \+ \\j 11 & \\kappa 35 & \\ker 41 & \\L 12 \cr
  4665. \+ \\l 12 &  \\lambda 35 & \\Lambda 35 & \\langle 41 \cr
  4666. \+ \\lceil 41 &  \\left 44 & \\leftline 26 & \\leftskip 23 \cr
  4667. \+ \\leq 37 &  \\leqalignno 46 & \\leqno 46 & \\let 61 \cr
  4668. \+ \\lfloor 41 &  \\lg 41 & \\lim 38 & \\liminf 41 \cr
  4669. \+ \\limsup 41 &  \\line 26 & \\ln 41 & \\log 41 \cr
  4670. \+ \\lower 75 &  \\magnification 21 & \\magstep 16 & \\matrix 44 \cr
  4671. \+ \\max 41 &  \\medskip 26 & \\min 41 & \\moveleft 75 \cr
  4672. \+ \\moveright 75 &  \\mu 35 & \\nabla 37 & \\narrower 23 \cr
  4673. \+ \\natural 37 &  \\neg 37 & \\ni 37 & \\noalign 52 \cr
  4674. \+ \\noindent 22 &  \\nopagenumbers 5 & \\not 36 & \\nu 35 \cr
  4675. \+ \\O 12 &  \\o 12 & \\odot 36 & \\OE 12 \cr
  4676. \+ \\oe 12 &  \\offinterlineskip 53 & \\omega 35 & \\Omega 35 \cr
  4677. \+ \\ominus 36 &  \\oplus 36 & \\otimes 36 & \\over 37 \cr
  4678. \+ \\overfullrule 29 &  \\overline 39 & \\P 27 & \\pageno 28 \cr
  4679. \+ \\par 7 &  \\parallel 37 & \\parindent 23 & \\parshape 24 \cr
  4680. \+ \\parskip 22 &  \\partial 37 & \\perp 37 & \\phi 35 \cr
  4681. \+ \\Phi 35 &  \\pi 35 & \\Pi 35 & \\pmatrix 43 \cr
  4682. \+ \\Pr 41 &  \\proclaim 42 & \\psi 35 & \\Psi 35 \cr
  4683. \+ \\qquad 34 &  \\quad 34 & \\raggedright 27 & \\raise 75 \cr
  4684. \+ \\rangle 41 &  \\rceil 41 & \\Re 37 & \\rfloor 41 \cr
  4685. \+ \\rho 35 &  \\right 44 & \\rightline 26 & \\rightskip 23 \cr
  4686. \+ \\rm 16 &  \\root 39 & \\S 27 & scaled 16 \cr
  4687. \+ \\sec 41 &  \\settabs 48 & \\sharp 37 & \\sigma 35 \cr
  4688. \+ \\Sigma 35 &  \\sim 37 & \\simeq 37 & \\sin 41 \cr
  4689. \+ \\sinh 41 &  \\sl 16 & \\smallskip 26 & \\sqroot 39 \cr
  4690. \+ \\ss 12 &  \\star 36 & \\strut 50 & \\subset 37 \cr
  4691. \+ \\subseteq 37 &  \\sum 38 & \\sup 41 & \\supset 37 \cr
  4692. \+ \\supseteq 37 &  \\surd 39 & \\t 12 & \\tan 41 \cr
  4693. \+ \\tanh 41 &  \\tau 35 & \\tensor 60 & \\TeX{} 5 \cr
  4694. \+ \\tensor 60 &  \\the 28 & \\theta 35 & \\Theta 35 \cr
  4695. \+ \\tilde 36 &  \\times 36 & \\tolerance 29  & \\topinsert 26 \cr
  4696. \+ \\tt 16 &  \\u 12 & \\underbar 39 & \\underline 39 \cr
  4697. \+ \\uparrow 41 &  \\Uparrow 41 & \\updownarrow 41 & \\Updownarrow 41 \cr
  4698. \+ \\upsilon 35 &  \\Upsilon 35 & \\v 12 & \\varepsilon 35 \cr
  4699. \+ \\varphi 35 &  \\varrho 35 & \\varsigma 35 & \\vartheta 35 \cr
  4700. \+ \\vbadness 30 &  \\vbox 71 & \\vec 36 & \\vee 36 \cr
  4701. \+ \\vfill 20 &  \\vglue 25 & \\voffset 20 & \\vrule 71 \cr
  4702. \+ \\vsize 20 & \\vtop 74 &  \\wedge 36 & \\widehat 36 \cr
  4703. \+ \\widetilde 36 & \\xi 35 &  \\Xi 35 & \\zeta 35 \cr
  4704. }
  4705.  
  4706. \ifwritinganswers
  4707.    \let\next=\relax
  4708. \else
  4709.    \let\next=\endinput
  4710.    \datestamp
  4711. \fi
  4712.  
  4713. \next
  4714.  
  4715. \def\beginliteral{
  4716. \vskip\baselineskip
  4717. \begingroup
  4718. \obeylines
  4719. \tt
  4720. \catcode`\@=0\catcode`\~=12
  4721. \catcode`\$=12\catcode`\&=12\catcode`\^=12\catcode`\#=12
  4722. \catcode`\_=12\catcode`\=12
  4723. \def\par{\leavevmode\endgraf}
  4724. \catcode`\{=12\catcode`\}=12\catcode`\%=12\catcode`\\=12
  4725. }
  4726. \def\endliteral{\nobreak \vskip 6pt \endgroup}
  4727.  
  4728.  
  4729. \section{I get by with a little help}
  4730. Many of the exercises can be answered in several ways. If you
  4731. like your way better than the way given below, by all means use
  4732. it!
  4733. \vskip 2\baselineskip
  4734.  
  4735. \parskip=0pt \parindent=0pt
  4736. \raggedright
  4737. \hbadness=10000
  4738.  
  4739. \hrule
  4740. \beginliteral
  4741. I like \TeX!
  4742. Once you get the hang of it, \TeX{} is really easy to use.
  4743. You just have to master the \TeX nical aspects.
  4744. @endliteral
  4745. I like \TeX! Once you get the hang of it, \TeX{} is really easy
  4746. to use. You just have to master the \TeX nical aspects.
  4747. \vskip \baselineskip \hrule
  4748.  
  4749.  
  4750. \goodbreak \vskip 2pt \hrule
  4751. \beginliteral
  4752. Does \AE schylus understand \OE dipus?
  4753. @endliteral
  4754. Does \AE schylus understand \OE dipus?
  4755. \vskip \baselineskip \hrule
  4756.  
  4757. \goodbreak \vskip 2pt \hrule
  4758. \beginliteral
  4759. The smallest internal unit of \TeX{} is about 53.63\AA.
  4760. @endliteral
  4761. The smallest internal unit of \TeX{} is about 53.63\AA.
  4762. \vskip \baselineskip \hrule
  4763.  
  4764.  
  4765. \goodbreak \vskip 2pt \hrule
  4766. \beginliteral
  4767.  They took some honey and plenty of money wrapped up in a {\it \$}5 note.
  4768. @endliteral
  4769.  They took some honey and plenty of money wrapped up in a {\it \$}5 note.
  4770. \vskip \baselineskip \hrule
  4771.  
  4772.  
  4773. \goodbreak \vskip 2pt \hrule
  4774. \beginliteral
  4775.  \'El\`eves, refusez vos le\c cons! Jetez vos cha\^\i nes!
  4776. @endliteral
  4777.  \'El\`eves, refusez vos le\c cons! Jetez vos cha\^\i nes!
  4778. \vskip \baselineskip \hrule
  4779.  
  4780.  
  4781. \goodbreak \vskip 2pt \hrule
  4782. \beginliteral
  4783.  Za\v sto tako polako pijete \v caj?
  4784. @endliteral
  4785.  Za\v sto tako polako pijete \v caj?
  4786. \vskip \baselineskip \hrule
  4787.  
  4788.  
  4789. \goodbreak \vskip 2pt \hrule
  4790. \beginliteral
  4791.  Mein Tee ist hei\ss.
  4792. @endliteral
  4793.  Mein Tee ist hei\ss.
  4794. \vskip \baselineskip \hrule
  4795.  
  4796.  
  4797. \goodbreak \vskip 2pt \hrule
  4798. \beginliteral
  4799.  Peut-\^etre qu'il pr\'ef\`ere le caf\'e glac\'e.
  4800. @endliteral
  4801.  Peut-\^etre qu'il pr\'ef\`ere le caf\'e glac\'e.
  4802. \vskip \baselineskip \hrule
  4803.  
  4804. \goodbreak \vskip 2pt \hrule
  4805. \beginliteral
  4806. ?`Por qu/'e no bebes vino blanco? !`Porque est/'a avinagrado!
  4807. @endliteral
  4808. ?`Por qu/'e no bebes vino blanco? !`Porque est/'a avinagrado!
  4809. \vskip \baselineskip \hrule
  4810.  
  4811. \goodbreak \vskip 2pt \hrule
  4812. \beginliteral
  4813.  M\'\i\'\j n idee\"en wordt niet be\"\i nvloed.
  4814. @endliteral
  4815.  M\'\i\'\j n idee\"en wordt niet be\"\i nvloed.
  4816. \vskip \baselineskip \hrule
  4817.  
  4818.  
  4819.  
  4820. \goodbreak \vskip 2pt \hrule
  4821. \beginliteral
  4822.  Can you take a ferry from \"Oland to \AA land?
  4823. @endliteral
  4824.  Can you take a ferry from \"Oland to \AA land?
  4825. \vskip \baselineskip \hrule
  4826.  
  4827.  
  4828. \goodbreak \vskip 2pt \hrule
  4829. \beginliteral
  4830.  T\"urk\c ce konu\c san ye\u genler nasillar?
  4831. @endliteral
  4832.  T\"urk\c ce konu\c san ye\u genler nasillar?
  4833. \vskip \baselineskip \hrule
  4834.  
  4835.  
  4836.  
  4837.  
  4838. \goodbreak \vskip 2pt \hrule
  4839. \beginliteral
  4840.  I entered the room and---horrors---I saw both my father-in-law and my
  4841. mother-in-law.
  4842. @endliteral
  4843.  I entered the room and---horrors---I saw both my father-in-law and my
  4844. mother-in-law.
  4845. \vskip \baselineskip \hrule
  4846.  
  4847.  
  4848. \goodbreak \vskip 2pt \hrule
  4849. \beginliteral
  4850. The winter of 1484--1485 was one of discontent.
  4851. @endliteral
  4852. The winter of 1484--1485 was one of discontent.
  4853. \vskip \baselineskip \hrule
  4854.  
  4855.  
  4856. \goodbreak \vskip 2pt \hrule
  4857. \beginliteral
  4858. His ``thoughtfulness'' was impressive.
  4859. @endliteral
  4860. His ``thoughtfulness'' was impressive.
  4861. \vskip \baselineskip \hrule
  4862.  
  4863.  
  4864. \goodbreak \vskip 2pt \hrule
  4865. \beginliteral
  4866.  Frank wondered, ``Is this a girl that can't say `No!'?''
  4867. @endliteral
  4868.  Frank wondered, ``Is this a girl that can't say `No!'?''
  4869. \vskip \baselineskip \hrule
  4870.  
  4871.  
  4872. \goodbreak \vskip 2pt \hrule
  4873. \beginliteral
  4874.  He thought, ``\dots and this goes on forever, perhaps to the last recorded
  4875. syllable.''
  4876. @endliteral
  4877.  He thought, ``\dots and this goes on forever, perhaps to the last recorded
  4878. syllable.''
  4879. \vskip \baselineskip \hrule
  4880.  
  4881.  
  4882. \goodbreak \vskip 2pt \hrule
  4883. \beginliteral
  4884.  Have you seen Ms.~Jones?
  4885. @endliteral
  4886.  Have you seen Ms.~Jones?
  4887. \vskip \baselineskip \hrule
  4888.  
  4889.  
  4890. \goodbreak \vskip 2pt \hrule
  4891. \beginliteral
  4892. Prof.~Smith and Dr.~Gold flew from
  4893. Halifax N.~S. to Montr\'eal, P.~Q. via Moncton, N.~B.
  4894. @endliteral
  4895. Prof.~Smith and Dr.~Gold flew from
  4896. Halifax N.~S. to Montr\'eal, P.~Q. via Moncton, N.~B.
  4897. \vskip \baselineskip \hrule
  4898.  
  4899.  
  4900. \goodbreak \vskip 2pt \hrule
  4901. \beginliteral
  4902. \line{left end \hfil left tackle \hfil left guard \hfil @centre \hfil
  4903. right guard \hfil right tackle \hfil right end}
  4904. @endliteral
  4905. \line{left end \hfil left tackle \hfil left guard \hfil \centre{} \hfil
  4906. right guard \hfil right tackle \hfil right end}
  4907. \vskip \baselineskip \hrule
  4908.  
  4909.  
  4910. \goodbreak \vskip 2pt \hrule
  4911. \beginliteral
  4912. \line{left \hfil \hfil right-@centre \hfil right}
  4913. @endliteral
  4914. \line{left \hfil \hfil right-\centre{} \hfil right}
  4915. \vskip \baselineskip \hrule
  4916.  
  4917.  
  4918. \goodbreak \vskip 2pt \hrule
  4919. \beginliteral
  4920. \line{\hskip 1 in ONE \hfil TWO \hfil THREE}
  4921. @endliteral
  4922. \line{\hskip 1 in ONE \hfil TWO \hfil THREE}
  4923. \vskip \baselineskip \hrule
  4924.  
  4925.  
  4926. \goodbreak \vskip 2pt \hrule
  4927. \beginliteral
  4928. i{f}f if{}f if{f}
  4929. @endliteral
  4930. i{f}f if{}f if{f}
  4931. \vskip \baselineskip \hrule
  4932.  
  4933.  
  4934. \goodbreak \vskip 2pt \hrule
  4935. \beginliteral
  4936. I started with roman type {\it switched to italic type}, and
  4937. returned to roman type.
  4938. @endliteral
  4939. I started with roman type {\it switched to italic type}, and
  4940. returned to roman type.
  4941. \vskip \baselineskip \hrule
  4942.  
  4943.  
  4944. \goodbreak \vskip 2pt \hrule
  4945. \beginliteral
  4946. $C(n,r) = n!/(r!\,(n-r)!)$
  4947. @endliteral
  4948. $C(n,r) = n!/(r!\,(n-r)!)$
  4949. \vskip \baselineskip \hrule
  4950.  
  4951.  
  4952. \goodbreak \vskip 2pt \hrule
  4953. \beginliteral
  4954. $a+b=c-d=xy=w/z$
  4955. $$a+b=c-d=xy=w/z$$
  4956. @endliteral
  4957. $a+b=c-d=xy=w/z$
  4958. $$a+b=c-d=xy=w/z$$
  4959. \vskip \baselineskip \hrule
  4960.  
  4961.  
  4962. \goodbreak \vskip 2pt \hrule
  4963. \beginliteral
  4964. $(fg)' = f'g + fg'$
  4965. $$(fg)' = f'g + fg'$$
  4966. @endliteral
  4967. $(fg)' = f'g + fg'$
  4968. $$(fg)' = f'g + fg'$$
  4969. \vskip \baselineskip \hrule
  4970.  
  4971.  
  4972. \goodbreak \vskip 2pt \hrule
  4973. \beginliteral
  4974. $\alpha\beta=\gamma+\delta$
  4975. $$\alpha\beta=\gamma+\delta$$
  4976. @endliteral
  4977. $\alpha\beta=\gamma+\delta$
  4978. $$\alpha\beta=\gamma+\delta$$
  4979. \vskip \baselineskip \hrule
  4980.  
  4981.  
  4982. \goodbreak \vskip 2pt \hrule
  4983. \beginliteral
  4984. $\Gamma(n) = (n-1)!$
  4985. $$\Gamma(n) = (n-1)!$$
  4986. @endliteral
  4987. $\Gamma(n) = (n-1)!$
  4988. $$\Gamma(n) = (n-1)!$$
  4989. \vskip \baselineskip \hrule
  4990.  
  4991. \goodbreak \vskip 2pt \hrule
  4992. \beginliteral
  4993. $x\wedge (y\vee z) = (x\wedge y) \vee (x\wedge z)$
  4994. @endliteral
  4995. $x\wedge (y\vee z) = (x\wedge y) \vee (x\wedge z)$
  4996. \vskip \baselineskip \hrule
  4997.  
  4998. \goodbreak \vskip 2pt \hrule
  4999. \beginliteral
  5000. $2+4+6+\cdots +2n = n(n+1)$
  5001. @endliteral
  5002. $2+4+6+\cdots +2n = n(n+1)$
  5003. \vskip \baselineskip \hrule
  5004.  
  5005.  
  5006. \goodbreak \vskip 2pt \hrule
  5007. \beginliteral
  5008. $\vec x\cdot \vec y  = 0$ if and only if $\vec x \perp \vec y$.
  5009. @endliteral
  5010. $\vec x\cdot \vec y  = 0$ if and only if $\vec x \perp \vec y$.
  5011. \vskip \baselineskip \hrule
  5012.  
  5013.  
  5014. \goodbreak \vskip 2pt \hrule
  5015. \beginliteral
  5016. $\vec x\cdot \vec y \not= 0$ if and only if $\vec x \not\perp \vec y$.
  5017. @endliteral
  5018. $\vec x\cdot \vec y \not= 0$ if and only if $\vec x \not\perp \vec y$.
  5019. \vskip \baselineskip \hrule
  5020.  
  5021.  
  5022. \goodbreak \vskip 2pt \hrule
  5023. \beginliteral
  5024. $(\forall x\in \Re)(\exists y\in\Re)$ $y>x$.
  5025. @endliteral
  5026. $(\forall x\in \Re)(\exists y\in\Re)$ $y>x$.
  5027. \vskip \baselineskip \hrule
  5028.  
  5029.  
  5030. \goodbreak \vskip 2pt \hrule
  5031. \beginliteral
  5032. ${a+b\over c}\quad {a\over b+c}\quad {1\over a+b+c} \not= {1\over a}+
  5033. {1\over b}+{1\over c}$.
  5034. @endliteral
  5035. ${a+b\over c}\quad {a\over b+c}\quad {1\over a+b+c} \not= {1\over a}+
  5036. {1\over b}+{1\over c}$.
  5037. \vskip \baselineskip \hrule
  5038.  
  5039.  
  5040. \goodbreak \vskip 2pt \hrule
  5041. \beginliteral
  5042. What are the points where ${\partial \over \partial x} f(x,y) = {\partial \over
  5043. \partial y} f(x,y) = 0$?
  5044. @endliteral
  5045. What are the points where ${\partial \over \partial x} f(x,y) = {\partial \over
  5046. \partial y} f(x,y) = 0$?
  5047. \vskip \baselineskip \hrule
  5048.  
  5049.  
  5050. \goodbreak \vskip 2pt \hrule
  5051. \beginliteral
  5052. $e^x \quad e^{-x} \quad e^{i\pi}+1=0 \quad x_0 \quad x_0^2
  5053. \quad {x_0}^2 \quad 2^{x^x}$.
  5054. @endliteral
  5055. $e^x \quad e^{-x} \quad e^{i\pi}+1=0 \quad x_0 \quad x_0^2
  5056. \quad {x_0}^2 \quad 2^{x^x}$.
  5057. \vskip \baselineskip \hrule
  5058.  
  5059.  
  5060. \goodbreak \vskip 2pt \hrule
  5061. \beginliteral
  5062. $\nabla^2 f(x,y) = {\partial^2 f \over\partial x^2}+ {\partial^2 f \over
  5063. \partial y^2}$.
  5064. @endliteral
  5065. $\nabla^2 f(x,y) = {\partial^2 f \over\partial x^2}+ {\partial^2 f \over
  5066. \partial y^2}$.
  5067. \vskip \baselineskip \hrule
  5068.  
  5069.  
  5070. \goodbreak \vskip 2pt \hrule
  5071. \beginliteral
  5072. $\lim_{x\to 0} (1+x)^{1\over x}=e$.
  5073. @endliteral
  5074. $\lim_{x\to 0} (1+x)^{1\over x}=e$.
  5075. \vskip \baselineskip \hrule
  5076.  
  5077.  
  5078. \goodbreak \vskip 2pt \hrule
  5079. \beginliteral
  5080. The cardinality of $(-\infty, \infty)$ is $\aleph_1$.
  5081. @endliteral
  5082. The cardinality of $(-\infty, \infty)$ is $\aleph_1$.
  5083. \vskip \baselineskip \hrule
  5084.  
  5085.  
  5086. \goodbreak \vskip 2pt \hrule
  5087. \beginliteral
  5088. $\lim_{x\to {0^+}} x^x = 1$.
  5089. @endliteral
  5090. $\lim_{x\to {0^+}} x^x = 1$.
  5091. \vskip \baselineskip \hrule
  5092.  
  5093.  
  5094. \goodbreak \vskip 2pt \hrule
  5095. \beginliteral
  5096. $\int_0^1 3x^2\,dx = 1$.
  5097. @endliteral
  5098. $\int_0^1 3x^2\,dx = 1$.
  5099. \vskip \baselineskip \hrule
  5100.  
  5101.  
  5102. \goodbreak \vskip 2pt \hrule
  5103. \beginliteral
  5104. $\sqrt2 \quad \sqrt {x+y\over x-y} \quad \root 3 \of {10}$ \quad $e^{\sqrt x}$.
  5105. @endliteral
  5106. $\sqrt2 \quad \sqrt {x+y\over x-y} \quad \root 3 \of {10}$ \quad $e^{\sqrt x}$.
  5107. \vskip \baselineskip \hrule
  5108.  
  5109.  
  5110. \goodbreak \vskip 2pt \hrule
  5111. \beginliteral
  5112. $\|x\| = \sqrt{x\cdot x}$.
  5113. @endliteral
  5114. $\|x\| = \sqrt{x\cdot x}$.
  5115. \vskip \baselineskip \hrule
  5116.  
  5117.  
  5118. \goodbreak \vskip 2pt \hrule
  5119. \beginliteral
  5120. $\phi(t) = {1 \over \sqrt{2\pi}} \int_0^t e^{-x^2/2}\,dx$.
  5121. @endliteral
  5122. $\phi(t) = {1 \over \sqrt{2\pi}} \int_0^t e^{-x^2/2}\,dx$.
  5123. \vskip \baselineskip \hrule
  5124.  
  5125.  
  5126. \goodbreak \vskip 2pt \hrule
  5127. \beginliteral
  5128. $\underline x \quad \overline y \quad \underline{\overline{x+y}}$.
  5129. @endliteral
  5130. $\underline x \quad \overline y \quad \underline{\overline{x+y}}$.
  5131. \vskip \baselineskip \hrule
  5132.  
  5133.  
  5134. \goodbreak \vskip 2pt \hrule
  5135. \beginliteral
  5136. $\bigl \lceil \lfloor x \rfloor \bigr \rceil \leq \bigl \lfloor \lceil x \rceil
  5137. \bigr \rfloor$.
  5138. @endliteral
  5139. $\bigl \lceil \lfloor x \rfloor \bigr \rceil \leq \bigl \lfloor \lceil x \rceil
  5140. \bigr \rfloor$.
  5141. \vskip \baselineskip \hrule
  5142.  
  5143.  
  5144. \goodbreak \vskip 2pt \hrule
  5145. \beginliteral
  5146. $\sin(2\theta) = 2\sin\theta\cos\theta
  5147. \quad \cos(2\theta) = 2\cos^2\theta - 1  $.
  5148. @endliteral
  5149. $\sin(2\theta) = 2\sin\theta\cos\theta
  5150. \quad \cos(2\theta) = 2\cos^2\theta - 1  $.
  5151. \vskip \baselineskip \hrule
  5152.  
  5153.  
  5154. \goodbreak \vskip 2pt \hrule
  5155. \beginliteral
  5156. $$\int \csc^2x\, dx = -\cot x+ C
  5157. \qquad \lim_{\alpha\to 0} {\sin\alpha \over \alpha} = 1
  5158. \qquad \lim_{\alpha\to \infty} {\sin\alpha \over \alpha} = 0.$$
  5159. @endliteral
  5160. $$\int \csc^2x\, dx = -\cot x+ C
  5161. \qquad \lim_{\alpha\to 0} {\sin\alpha \over \alpha} = 1
  5162. \qquad \lim_{\alpha\to \infty} {\sin\alpha \over \alpha} = 0.$$
  5163. \vskip \baselineskip \hrule
  5164.  
  5165.  
  5166. \goodbreak \vskip 2pt \hrule
  5167. \beginliteral
  5168. $$\tan(2\theta) = {2\tan\theta \over 1-\tan^2\theta}.$$
  5169. @endliteral
  5170. $$\tan(2\theta) = {2\tan\theta \over 1-\tan^2\theta}.$$
  5171. \vskip \baselineskip \hrule
  5172.  
  5173.  
  5174. \goodbreak \vskip 2pt \hrule
  5175. \beginliteral
  5176. \proclaim Theorem (Euclid). There exist an infinite number of primes.
  5177. @endliteral
  5178. \proclaim Theorem (Euclid). There exist an infinite number of primes.
  5179.  
  5180. \vskip \baselineskip \hrule
  5181.  
  5182.  
  5183. \goodbreak \vskip 2pt \hrule
  5184. \beginliteral
  5185. \proclaim Proposition 1.
  5186. $\root n \of {\prod_{i=1}^n X_i} \leq
  5187. {1 \over n} \sum_{i=1}^n X_i$ with equality if and only if $X_1=\cdots=X_n$.
  5188. @endliteral
  5189. \proclaim Proposition 1.
  5190. $\root n \of {\prod_{i=1}^n X_i} \leq
  5191. {1 \over n} \sum_{i=1}^n X_i$ with equality if and only if $X_1=\cdots=X_n$.
  5192.  
  5193. \vskip \baselineskip \hrule
  5194.  
  5195.  
  5196.  
  5197. \goodbreak \vskip 2pt \hrule
  5198. \beginliteral
  5199. $$ I_4 = \pmatrix{
  5200. 1 &0 &0 &0 \cr
  5201. 0 &1 &0 &0 \cr
  5202. 0 &0 &1 &0 \cr
  5203. 0 &0 &0 &1 \cr}$$
  5204. @endliteral
  5205. $$ I_4 = \pmatrix{
  5206. 1 &0 &0 &0 \cr
  5207. 0 &1 &0 &0 \cr
  5208. 0 &0 &1 &0 \cr
  5209. 0 &0 &0 &1 \cr}$$
  5210. \vskip \baselineskip \hrule
  5211.  
  5212.  
  5213. \goodbreak \vskip 2pt \hrule
  5214. \beginliteral
  5215. $$ |x| = \left\{ \matrix{
  5216. x & x \ge 0 \cr
  5217. -x & x \le 0 \cr} \right.$$
  5218. @endliteral
  5219. $$ |x| = \left\{ \matrix{
  5220. x & x \ge 0 \cr
  5221. -x & x \le 0 \cr} \right.$$
  5222. \vskip \baselineskip \hrule
  5223.  
  5224. \goodbreak \vskip 2pt \hrule
  5225. \beginliteral
  5226. \settabs \+ \hskip 2 in & \hskip .75in & \hskip 1cm& \cr
  5227. \+ &Plums &\hfill\$1&.22 \cr
  5228. \+ &Coffee &\hfill1&.78 \cr
  5229. \+ &Granola &\hfill1&.98 \cr
  5230. \+ &Mushrooms & &.63 \cr
  5231. \+ &{Kiwi fruit} & &.39 \cr
  5232. \+ &{Orange juice} &\hfill1&.09 \cr
  5233. \+ &Tuna &\hfill1&.29 \cr
  5234. \+ &Zucchini & &.64 \cr
  5235. \+ &Grapes &\hfill1&.69 \cr
  5236. \+ &{Smoked beef} & &.75 \cr
  5237. \+ &Broccoli &\hfill\underbar{\ \ 1}&\underbar{.09} \cr
  5238. \+ &Total &\hfill \$12&.55 \cr
  5239. @endliteral
  5240. \settabs \+ \hskip 2 in & \hskip .75in & \hskip 1cm& \cr
  5241. \+ &Plums &\hfill\$1&.22 \cr
  5242. \+ &Coffee &\hfill1&.78 \cr
  5243. \+ &Granola &\hfill1&.98 \cr
  5244. \+ &Mushrooms & &.63 \cr
  5245. \+ &{Kiwi fruit} & &.39 \cr
  5246. \+ &{Orange juice} &\hfill1&.09 \cr
  5247. \+ &Tuna &\hfill1&.29 \cr
  5248. \+ &Zucchini & &.64 \cr
  5249. \+ &Grapes &\hfill1&.69 \cr
  5250. \+ &{Smoked beef} & &.75 \cr
  5251. \+ &Broccoli &\hfill\underbar{\ \ 1}&\underbar{.09} \cr
  5252. \+ &Total &\hfill \$12&.55 \cr
  5253. \vskip \baselineskip \hrule
  5254.  
  5255.  
  5256. \goodbreak \vskip 2pt \hrule
  5257. \beginliteral
  5258. \settabs \+ \hskip 4.5 in & \cr
  5259. \+Getting Started \dotfill &1 \cr
  5260. \+All Characters Great and Small \dotfill &9 \cr
  5261. @endliteral
  5262. \settabs \+ \hskip 4.5 in & \cr
  5263. \+Getting Started \dotfill &1 \cr
  5264. \+All Characters Great and Small \dotfill &9 \cr
  5265. \vskip \baselineskip \hrule
  5266.  
  5267. \goodbreak \vskip 2pt \hrule
  5268. \beginliteral
  5269. \settabs \+ \hskip 1cm&\hskip 1 cm&\hskip 1 cm& \cr
  5270. \moveright 2 in
  5271. \vbox{
  5272. \hrule width 3 cm
  5273. \+  \vrule height 1 cm & \vrule height 1 cm & \vrule height 1 cm
  5274.   & \vrule height 1 cm \cr
  5275. \hrule width 3 cm
  5276. \+  \vrule height 1 cm & \vrule height 1 cm & \vrule height 1 cm
  5277.   & \vrule height 1 cm \cr
  5278. \hrule width 3 cm
  5279. \+  \vrule height 1 cm & \vrule height 1 cm & \vrule height 1 cm
  5280.   & \vrule height 1 cm \cr
  5281. \hrule width 3 cm
  5282. }
  5283. @endliteral
  5284. \settabs \+ \hskip 1cm&\hskip 1 cm&\hskip 1 cm& \cr
  5285. \moveright 2 in
  5286. \vbox{
  5287. \hrule width 3 cm
  5288. \+  \vrule height 1 cm & \vrule height 1 cm & \vrule height 1 cm
  5289.   & \vrule height 1 cm \cr
  5290. \hrule width 3 cm
  5291. \+  \vrule height 1 cm & \vrule height 1 cm & \vrule height 1 cm
  5292.   & \vrule height 1 cm \cr
  5293. \hrule width 3 cm
  5294. \+  \vrule height 1 cm & \vrule height 1 cm & \vrule height 1 cm
  5295.   & \vrule height 1 cm \cr
  5296. \hrule width 3 cm
  5297. }
  5298. \vskip \baselineskip \hrule
  5299.  
  5300.  
  5301. \goodbreak \vskip 2pt \hrule
  5302. \beginliteral
  5303. \def\boxtext#1{%
  5304. \vbox{%
  5305.       \hrule
  5306.       \hbox{\strut \vrule{} #1 \vrule}%
  5307.       \hrule
  5308.      }%
  5309. }
  5310. \moveright 2 in \vbox{\offinterlineskip
  5311. \hbox{\boxtext{6}\boxtext{1}\boxtext {8}}
  5312. \hbox{\boxtext{7}\boxtext{5}\boxtext{3}}
  5313. \hbox{\boxtext{2}\boxtext{9}\boxtext{4}}
  5314. }
  5315. @endliteral
  5316. \def\boxtext#1{%
  5317. \vbox{%
  5318.       \hrule
  5319.       \hbox{\strut \vrule{} #1 \vrule}%
  5320.       \hrule
  5321.      }%
  5322. }
  5323. \moveright 2 in \vbox{\offinterlineskip
  5324. \hbox{\boxtext 6\boxtext 1\boxtext 8}
  5325. \hbox{\boxtext 7\boxtext 5\boxtext 3}
  5326. \hbox{\boxtext 2\boxtext 9\boxtext 4}
  5327. }
  5328. \vskip \baselineskip \hrule
  5329.  
  5330.  
  5331. \vfill
  5332. \datestamp
  5333.  
  5334. \bye
  5335.