1 Introduction1-1
1.1 Overview1-1
1.2 What is a document?1-2
1.3 Personal Reflections on Document Production1-5
1.4 The Concept of Document Style1-9
1.5 Roadmap to the Thesis1-10
2 Document Composition2-1
2.1 Traditional Document Production Techniques2-1
2.1.1 How do books get produced?2-2
2.1.2 Roles involved in producing a book2-6
2.2 The Concept of Style2-14
2.2.1 Style as a Series of Design Choices2-15
2.2.2 What Do Styles Affect?2-17
2.2.3 Styles for Specific Media2-18
2.3 Early Typesetting Systems2-19
2.4 Document Compilers2-22
2.4.1 troff2-24
2.4.2 Scribe2-29
2.4.3 TEX2-30
2.5 Integrated Composition Systems2-32
2.5.1 Etude2-34
2.5.2 Janus2-35
2.5.3 Xerox Star2-36
2.5.4 Xerox PARC Research2-37
2.5.5 WYSIWYG — or is it?2-38
2.6 Document Content Models and Views of Documents2-39
3 Graphical Style3-1
3.1 Producing High Quality Illustrations3-1
3.1.1 Text Book Illustrations3-2
3.2 Previous Work3-5
3.3 The TiogaArtwork Prototype3-6
3.3.1 Tioga Document Model3-7
3.3.2 Artwork Class Nodes3-9
3.3.3 Geometric Representation of Illustrations3-12
3.3.4 Graphical Style Attributes3-15
3.3.5 TiogaArtwork Rendering Algorithms3-16
3.4 Results3-18
4 Tabular Composition4-1
4.1 What is a table?4-1
4.2 Early Table Formatting Systems4-3
4.3 Typographic Requirements for Tables4-5
4.3.1 Tables are Two-Dimensional4-5
4.3.2 Typographic Treatment4-7
4.3.3 Large Tables are Awkward4-13
4.4 Previous Approaches to Table Formatting4-16
4.4.1 The Typewriter Tab Stop Model4-16
4.4.2 tbl Preprocessor4-17
4.4.3 TEX4-19
4.4.4 TABLE4-19
5 A New Framework for Tabular Composition by Computer5-1
5.1 The Interactive Table Formatting Problem5-1
5.1.1 What do we need to do?5-1
5.1.2 How are we going to do it?5-3
5.2 The Complexity of Table Formatting5-3
5.2.1 RANDOM PACK5-4
5.2.2 STUB PACK5-6
5.2.3 GRID PACK5-8
5.3 Table Document Structure5-9
5.3.1 Table Entry Representation5-9
5.3.2 Table Arrangement5-11
5.3.3 Grid Structure5-13
5.3.4 Graphic Arts References to Grid Systems5-14
5.3.5 Style Attributes for Tables5-16
5.3.6 Text within Table Entries5-19
5.4 Implementation of Table Grid Structure5-20
5.4.1 External Representation of a Table in a Tioga Document5-20
5.4.2 Corner Stitching Data Structure5-24
5.4.3 Overlapping Planes5-28
5.4.4 Grid Algorithms5-30
5.5 Table Layout via Constraints5-35
5.5.1 Constraint Systems5-35
5.5.2 The Complexity of Linear Constraint Solvers5-37
5.5.3 The Constraint Table Layout Problem5-37
5.5.4 Handling Large Tables5-43
5.5.5 The Layout Algorithm5-44
5.6 Conclusions5-45
6 Future Directions6-1
6.1 Document Model6-1
6.2 Graphical Style6-2
6.3 Table Formatter Implementation6-2
6.4 Table Formatting Algorithms6-3
6.5 User Interface Design6-4
6.6 Expert Style Rules6-5