Skip to main content
main-content

Über dieses Buch

Although you only have one volume in front of you, writing four volumes and 1600 pages on a single subject needs some form of justification. And then on the other hand, why write even more?! Can't, at least, the preface of something that long be short?! Very well, so let's keep it short. It is my sincere hope that the series "'lEX in Practice" will be useful for your own 'lEX work. But please, before you get started, read the "Notes on ''lEX in Practice' ," because it instructs you how to use this series. You will find these notes on pages xxvii-xxxvi. The fourth and last volume deals with two different subject areas. First of all, there are the so-called output routines which are responsible for putting together the pages as generated by 'lEX. You will be amazed at how many different things can be done with 'lEX's output routines. The second subject area we are dealing with in this volume are tables. About a hundred different tables you can choose from should provide you with a starting point in the selection of tables.

Inhaltsverzeichnis

Frontmatter

32. The Page Breaking Algorithm

Abstract
The page breaking algorithm is that part of the TEX program that determines page breaks. Once a page break is determined by TEX, an output routine is called to write the current page to the dvi file. This chapter discusses the page breaking algorithm and the following five chapters discuss output routines.
Stephan von Bechtolsheim

33. Output Routines, Basics

Abstract
In this and the following four chapters chapters we discuss output routines. For purposes of simplification insertions will initially be ignored.
Stephan von Bechtolsheim

34. Some Simple Output Routines

Abstract
To familiarize you with output routines we will discuss very simple output routines in this chapter. After two very basic output routines, I will show an output routine that surrounds each page printed by double rules. A routine with running heads that are different on left- and right-hand pages are also shown. We also discuss the distinction between logical and physical pages and show an output routine that collects multiple logical pages to print them together as one physical page.
Stephan von Bechtolsheim

35. The Plain Format Output Routine and Insertions

Abstract
In this chapter output routine and insertions of the plain format are diseussed. It begins with a simplified version of the output routine, and gradually variations and extensions are introduced.
Stephan von Bechtolsheim

36. Output Routines with Insertions

Abstract
In this chapter we will continue our discussion of output routines with insertions. The previous Chapter on the plain format output routine already demonstrated output routines with insertions.
Stephan von Bechtolsheim

37. Double Column Output Routines

Abstract
Two double column output routines will be presented in this chapter beginning with an explanation of their basic principles. There are essentially two different ways to handle double column output:
1
Treat left- and right-hand columns as two separate logical pages. When the output routine is called, then box register 255 either contains a “left column logical page” (in that case box register 255 is simply saved in another box register with no output to the dvi file) or a “right column logical page” (in this case the previously saved left column and the right column contained in box register 255 are now written together out to the dvi file). See 37.1 on this page for such an output routine.
 
2
Generate left and right columns as a single column of double page length and then split this double long column into two columns using \vsplit. In other words, the splitting of left and right columns is not done “automatically” by the page breaking algorithm as was the case in the previous approach, but the double long column is split into two columns by the output routine. A double column output routine using this approach can be found in 37.2, p. 166. The version of this output routine discussed at the given reference offers an additional feature in that it allows switching back and forth between single and double column output.
 
Stephan von Bechtolsheim

38. Tables in TEX Using \halign

Abstract
We have previously discussed building tables by using hboxes or by using \set-tabs, which in turn uses hboxes. The disadvantage of those approaches (see 6.8, p. I–191, or 6.9, p. I–198) was that the user had to specify the width of every column in advance, either by specifying the width explicitly or implicitly (by specifying the widest entry of each column).
Stephan von Bechtolsheim

39. More Tables in TEX Using \halign

Abstract
More tables in TEX mean more wonderful things we can do. For instance, we will learn about vertical spacing in tables, \noalign, entries spanning multiple columns, struts, and vertical and horizontal rules in tables.
Stephan von Bechtolsheim

40. Even More Tables

Abstract
This chapter will continue the discussion of tables. We will look at interesting cases such as tables which contain paragraphs or other tables as entries. We will also discuss macros for templates of tables. As discussed in 38.1, p. 199, the chapters on tables may show some rather poor page breaks. We apologize.
Stephan von Bechtolsheim

41. Still Tables...

Abstract
This chapter ends the discussion of tables. We will look at numerical computations in tables, splitting of tables with \vsplit, the vertical counter part of \halign called \valign (you probably had guessed that one right). We will discuss “double tables,” expansion issues and \everycr.
Stephan von Bechtolsheim

Backmatter

Weitere Informationen