TEX in Practice: Volume 1: Basics / Edition 1

Hardcover (Print)
Buy New
Buy New from BN.com
Used and New from Other Sellers
Used and New from Other Sellers
from $33.11
Usually ships in 1-2 business days
(Save 77%)
Other sellers (Hardcover)
  • All (11) from $33.11   
  • New (7) from $52.29   
  • Used (4) from $33.11   


TEX has always been regarded as the most elegant and powerful system for computer typesetting. However, its widespread use, beyond academia, was hampered by its complexity. Recently, fairly good TEX implementations have come out for PCs putting TEX on the desks of many people: writers, designers, desktop publishers, engineers, and consequently, the interest in TEX has surged. What is needed at this point is a book that teaches step-by-step how to use TEX, illustrating each step by meaningful examples. This is exactly what S.v. Bechtolsheim's book does. It is a tutorial and guide for the first-time users of TEX, as well as a reference for the most experienced "TEXpert." TEX in Practice will appear as a four volume set, starting with volume 1 Basics, followed by volume 2 Paragraphs, Math and Fonts, volume 3 Tokens, Macros and volume 4 Output Routines, Tables. TEX in Practice will be an indispensable reference for the TEX community and a guide through the first steps for the TEX novice.

A compendium of information on TeX, this four-volume set offers a detailed analysis of all features of TeX and many ready-to-use-macros. TeX users of all levels will find this to be a valuable permanent source of information on one of the world's most powerful typesetting systems. 63 illustrations.

Read More Show Less

Editorial Reviews

Interest in the computer typesetting program has surged since its PC form became available recently. This is the fourth and last volume of a thorough tutorial/reference, replete with examples and macros and suitable for novices as well as seasoned users. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780387975955
  • Publisher: Springer New York
  • Publication date: 7/9/1993
  • Series: Monographs in Visual Communication Series
  • Edition description: 1993
  • Edition number: 1
  • Pages: 386
  • Product dimensions: 9.21 (w) x 6.14 (h) x 0.94 (d)

Table of Contents

1 Before We Get Started.- 1.1 What Is TEX?.- 1.2 Complexity and Power of Systems.- 1.3 Summary.- 2 Processing with TEX.- 2.1 Properties and Capabilities of TEX.- 2.1.1 A Convention About Input and Output of TEX.- 2.1.2 The Structure of TEX’s Input.- 2.1.3 The Extensibility of TEX.- 2.1.4 Processing a Document with TEX.- 2.2 Macros, Macro Packages and Formats.- 2.2.1 Some Basic Terminology.- 2.2.2 The Different Meanings of the Word TEX.- 2.2.3 Standard Macro Packages (Formats) of TEX.- 2.3 Files Accessed by TEX.- 2.4 Preparations for Using TEX Efficiently.- 2.4.1 Maintaining Your Own TEX Notebook and File.- 2.4.2 Choosing a Good Text Editor Is Important.- 2.5 Utilities.- 2.6 Information about TEX.- 2.6.1 The Original Books Describing TEX and METAFONT.- 2.6.2 TUG, the TEX Users Group.- 2.6.3 TEX is a Public Domain Software Product.- 2.6.4 Electronic Mailing Lists.- 2.7 Entering Text.- 2.7.1 Letters and Digits.- 2.7.2 Special Characters in TEX.- 2.7.3 Minus Sign, Hyphen, En-Dash and Em-Dash.- 2.8 The Space, Tab and End-of-Line Characters.- 2.8.1 Related Definitions.- 2.8.2 Rules Governing Spaces, Tabs and End-of-Line Characters.- 2.9 Organizing Your TEX Sources.- 2.10 How to Experiment with TEX.- 2.11 Summary.- 3 Registers, Numbers, and Counter Registers In Particular.- 3.1 Registers in General.- 3.2 Register Arithmetic.- 3.2.1 Assignments of Values to Registers.- 3.2.2 Arithmetic in TEX.- 3.3 Numbers and Counter Registers in TEX.- 3.3.1 Numerical Constants.- 3.3.2 Characters, Character-Based Constants, etc.- 3.3.3 The Different Notations of Numerical Constants.- 3.3.4 Printing Numerical Values, \number, \romannumeral.- 3.3.5 Printing a Character Based on Its Character Code, \char, \PrintAlph.- 3.3.6 Counter Registers, \newcount.- 3.3.7 Assign a Name to a Counter Register, \countdef.- 3.3.8 Arithmetic with Counter Registers.- 3.3.9 Modulo Arithmetic, the Definition of Macro \ModuloOneAdvanceNumCond.- 3.3.10 Counter Parameters.- 3.3.11 Numerical Conditionals, \ifnum, \ifcase.- 3.3.12 Computing the Absolute Value.- 3.3.13 Modulo Computation, \IModN.- 3.3.14 Compute the Value in a Certain Position, \ValueOfDecimalPosition.- 3.3.15 The Definition of Macro \LargestDecimalPlace and Its Use.- 3.3.16 Printing a Number in Textual Form.- 3.4 Generic Counter Register Macros.- 3.4.1 Printing Counter Registers, \arabic, \roman, \Roman, \alph, \Alph.- 3.4.2 Macros to Administer Counter Registers.- 3.4.3 The Definition of Macro \ReassignCounter.- 3.4.4 Examples Using the Counter Register Macros.- 3.5 Summary.- 4 More on Registers, Dimensions.- 4.1 Dimensions and Dimension Units.- 4.1.1 “Absolute” Dimension Units.- 4.1.2 “Font Relative” Dimension Units.- 4.1.3 Writing Dimensions in TEX.- 4.1.4 “Infinite” Dimension Units.- 4.1.5 True Dimensions and Global Magnification.- 4.1.6 Saving Tokens When Writing Dimension Values.- 4.1.7 Dimension Registers, \dimen.- 4.1.8 The Largest Legal Dimension, \maxdimen.- 4.1.9 Dimension Parameters.- 4.1.10 A Rounding Error Problem.- 4.1.11 Computing an Absolute Dimension.- 4.2 Glue Registers.- 4.2.1 Glue Registers in General.- 4.2.2 Glue Parameters.- 4.3 Math Glue Registers.- 4.4 Mixing Counter, Dimension and Glue Registers.- 4.5 Box Registers.- 4.5.1 Allocating a New Box Register, \newbox.- 4.5.2 Box Register States.- 4.5.3 Retrieving the Content of a Box Register, \box, \copy.- 4.5.4 Loading Box Registers, \setbox.- 4.5.5 Exchanging Two Box Registers, \SwapBoxRegs.- 4.5.6 Clearing a Box Register, \ClearBoxReg.- 4.5.7 Conditionals Related to Box Registers, \ReportBoxType.- 4.5.8 Accessing the Dimensions of a Box Register’s Content, \ht, \dp, \wd.- 4.5.9 Modifying the Dimensions of a Box Stored in a Box Register.- 4.5.10 Arithmetic with Dimensions of Box Registers, \AdvanceBoxDimension, \OverallSize.- 4.5.11 Dimensions of Void Box Registers.- 4.5.12 Generating an Empty Box, \EmptyBox.- 4.5.13 Setting All Dimensions of a Box Register to Zero, \ZeroBox, \ZeroBoxOut.- 4.5.14 Dumping the Contents of a Box Register into the Log File: \showbox, \showboxdepth, \showboxbreadth.- 4.5.15 The Definitions of Macros \ShowBoxAll, \ShowBoxDepthOne and \ShowBoxDepthTwo.- 4.5.16 Grouping and Box Register Dimensions.- 4.6 Summary of the \new… Macros.- 4.6.1 A List of All \new… Macros.- 4.6.2 \outer-free Definitions of the \new… Macros.- 4.6.3 Name Conflicts in \new… Macros.- 4.7 Dumping All Parameters into the Logfile.- 4.8 Summary.- 5 Glue, Leaders and Rules.- 5.1 Basic Properties of Glue.- 5.2 Horizontal Glue.- 5.2.1 Glue Without Stretch- and Shrinkability, Negative Glue.- 5.2.2 Getting Glue to Stretch and Shrink.- 5.2.3 Stretching, Overstretching, Shrinking and Overshrinking of Glue.- 5.3 Badness of Boxes.- 5.3.1 Computing the Badness.- 5.3.2 Computing the Badness When Shrinking Occurs.- 5.3.3 The Counter Parameter \badness.- 5.3.4 Examples of TEX’s Badness Computations.- 5.3.5 Overfull and Underfull Boxes, \hbadness, \vbadness.- 5.3.6 The Marking of Overfull Horizontal Boxes, \overfullrule.- 5.3.7 Dimension Parameters \hfuzz, \vfuzz.- 5.3.8 Stretching of Multiple Glues.- 5.4 Glue with Infinite Stretchability and Shrinkability.- 5.4.1 “Infinite” Units of Dimension.- 5.4.2 More on the Use of Infinite Units.- 5.4.3 \hfil, \hfill, \hss, \hfilneg.- 5.4.4 The Hierarchy in the Dimensions Units of the Stretchability and Shrinkability of Glues.- 5.4.5 Examples Involving Glue with Infinite Stretchabilities.- 5.4.6 Glue Is a Discardable Item.- 5.4.7 Zero Glue Versus No Glue.- 5.4.8 Kern, \kern.- 5.4.9 Macros of the Plain Format Relating to Horizontal Glue and Kern.- 5.5 Vertical Glue, \vskip.- 5.5.1 Implicit Vertical Glues, Glue Parameters.- 5.5.2 Macros of the Plain Format Generating Vertical Glue, \smallskip, \medskip, \bigskip.- 5.5.3 \vfil, \vfill, \vss, \vfilneg.- 5.5.4 Examples of Explicit Vertical Glue.- 5.6 Leaders.- 5.6.1 Leader Definitions Based on Rules, “Visible Glue”.- 5.6.2 Leaders Based on Boxes.- 5.6.3 Leader Example Macros.- 5.6.4 Sample Figure Source Codes.- 5.6.5 Leader Related Macro Definitions in the Plain Format of TEX.- 5.7 Rules.- 5.7.1 Rule Dimensions.- 5.7.2 Keywords height, depth and width.- 5.7.3 Examples of Rules.- 5.8 Penalties.- 5.8.1 Penalty Values.- 5.8.2 Macros Involving Penalties.- 5.9 Summary.- 6 Boxes.- 6.1 Basics About Boxes, Box Types.- 6.1.1 Coding a Box.- 6.1.2 Reference Point and Dimensions of Boxes.- 6.2 Horizontal Boxes (Hboxes).- 6.2.1 Making Boxes Visible.- 6.2.2 The Contents of an Hbox.- 6.2.3 The Building of an Hbox.- 6.2.4 Implicit Grouping and Hboxes.- 6.2.5 Characters Are Almost Hboxes.- 6.2.6 The \null Macro.- 6.2.7 How to Structure the Source Code of an \hbox Command.- 6.2.8 \hbox\bgroup… \egroup.- 6.3 Examples of Building Horizontal Boxes.- 6.3.1 Characters in Hboxes.- 6.3.2 Other Boxes Inside an Hbox.- 6.3.3 Using Boxes Stored in Box Registers.- 6.3.4 Raising and Lowering Boxes, \raise, \lower.- 6.3.5 More \raise and \lower Examples.- 6.3.6 Vertical Boxes Inside Horizontal Boxes.- 6.3.7 Horizontal Glue Inside Hboxes.- 6.3.8 Vertical Rules Inside Hboxes.- 6.3.9 Mathematical Formulas Inside Hboxes.- 6.4 Determining the Dimensions of Hboxes.- 6.4.1 A Little Bit of Theory.- 6.4.2 Examples of Width Computations of Hboxes.- 6.4.3 Computing Height and Depth of an Hbox.- 6.4.4 Empty Hboxes Built with \hbox to—dimen?.- 6.5 Hboxes of Zero or Nearly Zero Width, \hbox to Opt {…}.- 6.5.1 The Problem of Overprinting Two Characters.- 6.5.2 Macros \rlap and \llap.- 6.5.3 Poor Man’s Boldface, Macro \BoldfaceFake.- 6.5.4 Constructing a Special Symbol.- 6.5.5 Solving the Same Problem Using Box Registers.- 6.6 \…line Macros \line, \leftline, \rightline and \centerline.- 6.6.1 The Definitions of the \… line Macros.- 6.6.2 The Definitions of Macros \LeftLeaderLine, \RightLeaderLine, and \CenterLeaderLine.- 6.6.3 Examples.- 6.6.4 Paragraphs Preceding \… line Calls.- 6.6.5 \line… Macros and Glue Used.- 6.6.6 Using the \line… Macros Inside a Vbox.- 6.7 Generating More Hboxes.- 6.7.1 Hboxes Prevent Hyphenation.- 6.7.2 Generating the TEX Logo.- 6.7.3 Building Letterheads.- 6.7.4 Removing Glue from a Horizontal List, \unskip.- 6.8 A Table Generated with Hboxes.- 6.8.1 An Outline of Printing a Table Using Hboxes.- 6.8.2 An Example Table Built Using Hboxes.- 6.8.3 Adding Headers to an Hbox-Based Table.- 6.8.4 Adding Vertical Glue to an Hbox-Built Table.- 6.8.5 Using a Macro Building Table Rows.- 6.8.6 Adding Horizontal Rules.- 6.8.7 Modifications to the Discussed Table.- 6.9 Building Tables Using \settabs.- 6.10 More Hbox Examples.- 6.10.1 Underlining, \underbar.- 6.10.2 A Macro for Signature Lines, \SignatureLine.- 6.10.3 A Form Line Macro, \FormLine.- 6.10.4 Another Interesting Example.- 6.11 \hidevidth.- 6.12 Infinite Glues and Hboxes.- 6.13 Token Parameters \everyhbox and \everyvbox.- 6.14 Summary.- 7 Vertical Boxes.- 7.1 Basics of Vertical Boxes.- 7.1.1 Primitives \vbox, \vtop and \vcenter for the Generation of Vboxes.- 7.1.2 Making Vboxes Visible.- 7.1.3 Comparing Hboxes and Vboxes.- 7.1.4 The Vertical List of a Vbox.- 7.2 Building Simple Vboxes.- 7.2.1 A Paragraph Inside a Vbox, Centering a Vbox.- 7.2.2 Vertical Glue and Other Boxes Inside Vboxes.- 7.2.3 More on Boxes Inside Vboxes, \leavevmode.- 7.2.4 Moving Items Inside a Vbox Horizontally, \moveleft, \moveright.- 7.3 Line Spacing and Interline Glue.- 7.3.1 Overlapping of Lines Is Prevented.- 7.3.2 Changing \baselineskip.- 7.3.3 Typical Settings of \baselineskip.- 7.3.4 Explaining \baselineskip, \lineskiplimit, and \lineskip.- 7.3.5 Computing the Interline Glue.- 7.3.6 An Example of Interline Glue Computations.- 7.3.7 Visualizing Interline Glue Computations.- 7.3.8 Interline Glue Computations and \vskips.- 7.3.9 The Depth of the Preceding Box or Line, \prevdepth.- 7.3.10 Suppressing Interline Glue Using \nointerlineskip.- 7.3.11 How to Disable and Enable Interline Glue, \offinterlineskip, \normalbaselines.- 7.3.12 Comparing \offinterlineskip and \nointerlineskip.- 7.3.13 The Definition of Macro \AlwaysBaselineskip.- 7.3.14 Interline Glue and Horizontal Rules.- 7.3.15 Increasing Interline Spacing Using Macro \openup.- 7.4 Struts.- 7.4.1 Different Ways to Generate Struts and Strut-Like Constructs.- 7.4.2 Strut Examples.- 7.4.3 Automatic Strut Computations, Macros \ComputeStrut, \HigherStrut and \DeeperStrut.- 7.4.4 Macro \ReduceToStrut to Generate a Strut Based on Some Arbitrary Text.- 7.5 The Dimensions of Vboxes.- 7.5.1 The Width of Vboxes.- 7.5.2 The Height and Depth Computations of Vboxes.- 7.5.3 Some More Examples of Vbox Dimension Computations.- 7.5.4 Limiting the Depth of a Vbox, \boxmaxdepth.- 7.5.5 A Discussion of \vcenter and Its Restrictions, Macro \VcenterX.- 7.5.6 Predefined Heights or Depths in Vboxes: \vbox, \vtop and \vcenter to or spread—dimen?.- 7.5.7 A Macro to Shift the Reference Point of a Box Up or Down, \ShiftRefPointUpOrDown.- 7.5.8 Alignment Problems in Vboxes.- 7.6 Summary.- 8 More on Vertical Boxes.- 8.1 Unwrapping Boxes Using \un… Primitives.- 8.1.1 Showing the Workings of \unhbox, etc..- 8.1.2 Interline Glue and \unvbox.- 8.1.3 Determining the Natural Height or Depth of a Vbox, \NaturalHeight, \NaturalDepth.- 8.1.4 The Macro \Vtbox to Move the Reference Point of a Vbox.- 8.2 Splitting Vboxes, \vsplit.- 8.2.1 The Syntax of \vsplit.- 8.2.2 The First \vsplit Example.- 8.2.3 Glue Is Removed at a Break Point.- 8.2.4 Protecting Glue at a Break Point.- 8.2.5 Protecting Glue at a Break Point, Exceptions.- 8.2.6 Leaders Are Removed at a Break Point.- 8.2.7 The Insertion of \splittopskip Glue by TEX.- 8.2.8 Using a Penalty in \vsplit.- 8.2.9 The ‹dimen› of \vsplit—dimen?.- 8.2.10 Splitting Requires Glue or Penalty (or Both).- 8.2.11 The Dimension Parameter \splitmaxdepth.- 8.2.12 Applying \vsplit: Adding Line Numbers to the Beginning of Every Line of a Paragraph.- 8.3 Making a Box Larger, \BoxLarger.- 8.4 Another More Complicated Vbox Example.- 8.5 Removing Items from a Box Related List.- 8.5.1 The \lastbox Primitive.- 8.5.2 Examples of \lastskip, \lastkern, \lastpenalty.- 8.5.3 An Example of Using \unskip.- 8.6 Vertical Spacing Macros.- 8.7 Summary.- 9 Boxes and Rules.- 9.1 Rule Placement and Borderline of Boxes.- 9.2 Macros to Draw Simple Graphs.- 9.2.1 The Macro Source Code.- 9.2.2 An Example Applying the Presented Macros.- 9.3 Drawing Rules Around a Box.- 9.3.1 A Simple Macro to Draw Rules Around a Box (\BoxingA).- 9.3.2 An Example Application of \BoxingA: Reserving Space for a Figure, \FigureBox.- 9.3.3 A Macro for Drawing Rules Around Boxes with User-Controlled Thickness of those Rules, \BoxingB.- 9.3.4 Macros Including the Marking of Reference Points of Boxes, \BoxingC, and Baseline, \BoxingD.- 9.3.5 Correcting Reference Point and Dimensions.- 9.3.6 Rule Macros for Marking Boxes.- 9.3.7 The Definition of Macro \BoxingE.- 9.3.8 An Example of Using \BoxingE.- 9.3.9 Replacing \hbox by \HboxR, \vbox by \VboxR, etc..- 9.3.10 Examples.- 9.3.11 Empty Ruled Boxes, \EmptyRuledBox.- 9.3.12 Eliminating Ruled Boxes, \EliminateRuledBoxes.- 9.3.13 \LineR, \LeftLineR, \RightLineR and \CenterLineR.- 9.3.14 The Combined Loading of the Most Important Box-Related Macros.- 9.4 Summary.- Source Code File Index.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)