Unix text processing
Edition: UTP Revival Release
Publisher: UTP Revival Project
Published: 2004
Copyright date: 1987
Description: In 2002, the authors made a scan of the book available on the O'Reilly website under a Creative Commons licence. A group of groff users started the “UTP Revival” transcription project to convert the book back to usable troff source. The version uploaded here is from Deri James's UTP-1.1 repository. It includes working PDF cross-references and hyperlinks.
Notes: Published under the Creative Commons [Attribution 1.0 Generic (CC BY 1.0)](https://creativecommons.org/licenses/by/1.0/) licence.
Table of contents: label: Chapter 1
title: Preface
pagenum: xi; title: From Typewriters to Word Processors
pagenum: 1; title: A Workspace
pagenum: 2; title: Tools for Editing
pagenum: 3; title: Document Formatting
pagenum: 4; title: Printing
pagenum: 6; title: Other UNIX Text-Processing Tools
pagenum: 7; label: Chapter 2
title: UNIX Fundamentals
pagenum: 9; title: The UNIX Shell
pagenum: 9; title: Output Redirection
pagenum: 10; title: Special Characters
pagenum: 14; title: Environment Variables
pagenum: 15; title: Pipes and Filters
pagenum: 16; title: Shell Scripts
pagenum: 17; label: Chapter 3
title: Learning vi
pagenum: 19; title: Session 1: Basic Commands
pagenum: 19; title: Opening a File
pagenum: 20; title: Moving the Cursor
pagenum: 22; title: Simple Edits
pagenum: 25; title: Session 2: Moving Around in a Hurry
pagenum: 32; title: Movement by Screens
pagenum: 32; title: Movement by Text Blocks
pagenum: 34; title: Movement by Searches
pagenum: 35; title: Movement by Line Numbers
pagenum: 37; title: Session 3: Beyond the Basics
pagenum: 38; title: Command-Line Options
pagenum: 38; title: Customizing vi
pagenum: 40; title: Edits and Movement
pagenum: 42; title: More Ways to Insert Text
pagenum: 43; title: Using Buffers
pagenum: 43; title: Marking Your Place
pagenum: 45; title: Other Advanced Edits
pagenum: 46; label: Chapter 4
title: nroff and troff
pagenum: 47; title: What the Formatter Does
pagenum: 48; title: Using nroff
pagenum: 51; title: Using troff
pagenum: 51; title: The Markup Language
pagenum: 54; title: Turning Filling On and Off
pagenum: 55; title: Controlling Justification
pagenum: 57; title: Hyphenation
pagenum: 59; title: Page Layout
pagenum: 60; title: Page Transitions
pagenum: 70; title: Changing Fonts
pagenum: 74; title: A First Look at Macros
pagenum: 81; label: Chapter 5
title: The ms Macros
pagenum: 85; title: Formatting a Text File with ms
pagenum: 86; title: Page Layout
pagenum: 86; title: Paragraphs
pagenum: 87; title: Changing Font and Point Size
pagenum: 93; title: Displays
pagenum: 97; title: Headings
pagenum: 99; title: Cover Sheet Macros
pagenum: 100; title: Miscellaneous Features
pagenum: 102; title: Page Headers and Footers
pagenum: 104; title: Problems on the First Page
pagenum: 105; title: Extensions to ms
pagenum: 105; label: Chapter 6
title: The mm Macros
pagenum: 107; title: Formatting a Text File
pagenum: 107; title: Page Layout
pagenum: 110; title: Justification
pagenum: 114; title: Word Hyphenation
pagenum: 115; title: Displays
pagenum: 115; title: Changing Font and Point Size
pagenum: 116; title: More about Displays
pagenum: 121; title: Forcing a Page Break
pagenum: 125; title: Formatting Lists
pagenum: 126; title: Headings
pagenum: 136; title: Table of Contents
pagenum: 141; title: Footnotes and References
pagenum: 142; title: Extensions to mm
pagenum: 145; label: Chapter 7
title: Advanced Editing
pagenum: 149; title: The ex Editor
pagenum: 149; title: Using ex Commands in vi
pagenum: 151; title: Write Locally, Edit Globally
pagenum: 151; title: Pattern Matching
pagenum: 154; title: Writing and Quitting Files
pagenum: 159; title: Reading In a File
pagenum: 160; title: Executing UNIX Commands
pagenum: 160; title: Editing Multiple Files
pagenum: 163; title: Word Abbreviation
pagenum: 165; title: Saving Commands with map
pagenum: 166; label: Chapter 8
title: Formatting with tbl
pagenum: 169; title: Using tbl
pagenum: 170; title: Specifying Tables
pagenum: 170; title: A Simple Table Example
pagenum: 171; title: Laying Out a Table
pagenum: 172; title: Describing Column Formats
pagenum: 173; title: Changing the Format within a Table
pagenum: 181; title: Putting Text Blocks in a Column
pagenum: 182; title: Breaking Up Long Tables
pagenum: 184; title: Putting Titles on Tables
pagenum: 185; title: A tbl Checklist
pagenum: 186; title: Some Complex Tables
pagenum: 186; label: Chapter 9
title: Typesetting Equations with eqn
pagenum: 191; title: A Simple eqn Example
pagenum: 191; title: Using eqn
pagenum: 192; title: Specifying Equations
pagenum: 192; title: Spaces in Equations
pagenum: 194; title: Using Braces for Grouping
pagenum: 196; title: Special Character Names
pagenum: 196; title: Special Symbols
pagenum: 197; title: Other Positional Notation
pagenum: 200; title: Diacritical Marks
pagenum: 201; title: Defining Terms
pagenum: 202; title: Quoted Text
pagenum: 202; title: Fine-Tuning the Document
pagenum: 203; title: Keywords and Precedence
pagenum: 205; title: Problem Checklist
pagenum: 205; label: Chapter 10
title: Drawing Pictures
pagenum: 207; title: The pic Preprocessor
pagenum: 207; title: From Describing to Programming Drawings
pagenum: 228; title: pic Enhancements
pagenum: 236; label: Chapter 11
title: A Miscellany of UNIX Commands
pagenum: 239; title: Managing Your Files
pagenum: 239; title: Viewing the Contents of a File
pagenum: 243; title: Searching for Information in a File
pagenum: 244; title: Proofing Documents
pagenum: 247; title: Comparing Versions of the Same Document
pagenum: 253; title: Manipulating Data
pagenum: 260; title: Cleaning Up and Backing Up
pagenum: 270; title: Compressing Files
pagenum: 272; title: Communications
pagenum: 272; title: Scripts of UNIX Sessions
pagenum: 274; label: Chapter 12
title: Let the Computer Do the Dirty Work
pagenum: 275; title: Shell Programming
pagenum: 275; title: ex Scripts
pagenum: 284; title: Stream Editing
pagenum: 288; title: A Proofreading Tool You Can Build
pagenum: 303; label: Chapter 13
title: The awk Programming Language
pagenum: 309; title: Invoking awk
pagenum: 310; title: Records and Fields
pagenum: 310; title: Testing Fields
pagenum: 311; title: Passing Parameters from a Shell Script
pagenum: 311; title: Changing the Field Separator
pagenum: 312; title: System Variables
pagenum: 313; title: Looping
pagenum: 313; title: awk Applications
pagenum: 319; title: Testing Programs
pagenum: 327; label: Chapter 14
title: Writing nroff and troff Macros
pagenum: 329; title: Comments
pagenum: 329; title: Defining Macros
pagenum: 330; title: Macro Names
pagenum: 330; title: Macro Arguments
pagenum: 332; title: Nested Macro Definitions
pagenum: 333; title: Conditional Execution
pagenum: 334; title: Interrupted Lines
pagenum: 337; title: Number Registers
pagenum: 338; title: Defining Strings
pagenum: 342; title: Diversions
pagenum: 343; title: Environment Switching
pagenum: 345; title: Redefining Control and Escape Characters
pagenum: 346; title: Debugging Your Macros
pagenum: 347; title: Error Handling
pagenum: 349; title: Macro Style
pagenum: 350; label: Chapter 15
title: Figures and Special Effects
pagenum: 353; title: Formatter Escape Sequences
pagenum: 353; title: Local Vertical Motions
pagenum: 353; title: Local Horizontal Motions
pagenum: 356; title: Absolute Motions
pagenum: 357; title: Line Drawing
pagenum: 358; title: Talking Directly to the Printer
pagenum: 366; title: Marking a Vertical Position
pagenum: 367; title: Overstriking Words or Characters
pagenum: 368; title: Tabs, Leaders, and Fields
pagenum: 372; title: Constant Spacing
pagenum: 375; title: Pseudo-Fonts
pagenum: 376; title: Character Output Translations
pagenum: 377; title: Output Line Numbering
pagenum: 378; title: Change Bars
pagenum: 379; title: Form Letters
pagenum: 380; title: Reading in Other Files or Program Output
pagenum: 381; label: Chapter 16
title: What’s in a Macro Package?
pagenum: 383; title: Just What Is a Macro Package, Revisited
pagenum: 383; title: Building a Consistent Framework
pagenum: 385; title: Page Transitions
pagenum: 389; title: Page Transitions in ms
pagenum: 390; title: Some Extensions to the Basic Package
pagenum: 394; title: Other Exercises in Page Transition
pagenum: 397; label: Chapter 17
title: An Extended ms Macro Package
pagenum: 405; title: Creating a Custom Macro Package
pagenum: 405; title: Structured Technical Documents
pagenum: 407; title: Figure and Table Headings
pagenum: 415; title: Lists, Lists, and More Lists
pagenum: 416; title: Source Code and Other Examples
pagenum: 419; title: Notes, Cautions, and Warnings
pagenum: 420; title: Table of Contents, Index, and Other End Lists
pagenum: 422; label: Chapter 18
title: Putting It All Together
pagenum: 429; title: Saving an External Table of Contents
pagenum: 430; title: Index Processing
pagenum: 433; title: Let make Remember the Details
pagenum: 444; title: Where to Go from Here
pagenum: 447; label: Appendix A
title: Editor Command Summary
pagenum: 449; title: Pattern-Matching Syntax
pagenum: 449; title: The vi Editor
pagenum: 450; title: The ex Editor
pagenum: 455; title: The sed Editor
pagenum: 460; title: awk
pagenum: 462; label: Appendix B
title: Formatter Command Summary
pagenum: 467; title: nroff/troff Command-Line Syntax
pagenum: 467; title: nroff/troff Requests
pagenum: 469; title: Escape sequences
pagenum: 472; title: Predefined Number Registers
pagenum: 473; title: Special Characters
pagenum: 474; title: The ms macros
pagenum: 476; title: The mm Macros
pagenum: 479; title: tbl Command Characters and Words
pagenum: 485; title: eqn Command Characters
pagenum: 487; title: The pic Preprocessor
pagenum: 490; label: Appendix C
title: Shell Command Summary
pagenum: 495; label: Appendix D
title: Format of troff Width Tables
pagenum: 501; title: The DESC File
pagenum: 501; title: Font Description Files
pagenum: 502; title: Compiling Font Files
pagenum: 503; title: Font Usage Limitations
pagenum: 503; label: Appendix E
title: Comparing mm and ms
pagenum: 505; title: Paragraphs
pagenum: 505; title: Justification
pagenum: 505; title: Displays
pagenum: 505; title: Formatting Lists
pagenum: 506; title: Change Font
pagenum: 506; title: Change Point Size
pagenum: 506; title: Headers and Footers
pagenum: 506; title: Section Headings
pagenum: 506; title: Footnotes
pagenum: 507; label: Appendix F
title: The format Macros
pagenum: 509; title: Summary of the Macros
pagenum: 509; label: Appendix G
title: Selected Readings
pagenum: 511; title: Introductory UNIX Texts
pagenum: 511; title: Advanced Topics
pagenum: 511