|
|
1.1 ! root 1: .\" @(#)tt01 6.1 (Berkeley) 5/23/86 ! 2: .\" ! 3: .NH ! 4: Introduction ! 5: .tr ^. ! 6: .PP ! 7: .UL troff ! 8: [1] ! 9: is a text-formatting program, ! 10: written originally by J. F. Ossanna, ! 11: for producing ! 12: high-quality printed output from the phototypesetter ! 13: on the ! 14: .UC UNIX ! 15: operating system. ! 16: This document is an example of ! 17: .UL troff ! 18: output. ! 19: .PP ! 20: The single most important rule ! 21: of using ! 22: .UL troff ! 23: is ! 24: not to use it directly, but through some intermediary. ! 25: In many ways, ! 26: .UL troff ! 27: resembles an assembly language _ ! 28: a remarkably powerful and flexible one _ ! 29: but nonetheless such that many operations must be specified ! 30: at a level of detail and in a form that is too hard ! 31: for most people to use effectively. ! 32: .PP ! 33: For two special applications, there are programs that provide ! 34: an interface to ! 35: .UL troff ! 36: for the majority of users. ! 37: .UL eqn ! 38: [2] ! 39: provides an easy to learn language for typesetting mathematics; ! 40: the ! 41: .UL eqn ! 42: user ! 43: need know no ! 44: .UL troff ! 45: whatsoever ! 46: to typeset mathematics. ! 47: .UL tbl ! 48: [3] ! 49: provides the same convenience for producing tables of arbitrary ! 50: complexity. ! 51: .PP ! 52: For producing straight text (which may well contain mathematics or tables), there are a number of `macro packages' ! 53: that define formatting rules and operations for specific styles ! 54: of documents, ! 55: and reduce the amount of ! 56: direct contact with ! 57: .UL troff . ! 58: In particular, the `\-ms' ! 59: [4], ! 60: PWB/MM [5], and `\-me' [6] ! 61: packages ! 62: for internal memoranda and external papers ! 63: provide most of the facilities needed ! 64: for a wide range of document preparation.\(dg ! 65: .FS ! 66: \(dg Most Berkeley Unix sites only have \-ms and \-me. ! 67: .FE ! 68: (This memo was prepared with `\-ms'.) ! 69: There are also packages for viewgraphs, ! 70: for simulating the older ! 71: .UL roff ! 72: formatters, ! 73: and for other special applications. ! 74: Typically you will find these packages easier to use ! 75: than ! 76: .UL troff ! 77: once you get beyond the most trivial operations; ! 78: you should always consider them first. ! 79: .PP ! 80: In the few cases where existing packages don't do the whole job, ! 81: the solution is ! 82: .ul ! 83: not ! 84: to write an entirely new set of ! 85: .UL troff ! 86: instructions from scratch, but to make small changes ! 87: to adapt packages that already exist. ! 88: .WS ! 89: .PP ! 90: In accordance with this philosophy of letting someone else ! 91: do the work, ! 92: the part of ! 93: .UL troff ! 94: described here is only a small part of the whole, ! 95: although it tries to concentrate on the more useful parts. ! 96: In any case, there is no attempt to be complete. ! 97: Rather, the emphasis is on showing how to do simple things, ! 98: and how to make incremental changes to what already exists. ! 99: The contents of the remaining sections are: ! 100: .sp ! 101: .nf ! 102: .in .1i ! 103: .ta .3i ! 104: \02. Point sizes and line spacing ! 105: \03. Fonts and special characters ! 106: \04. Indents and line length ! 107: \05. Tabs ! 108: \06. Local motions: Drawing lines and characters ! 109: \07. Strings ! 110: \08. Introduction to macros ! 111: \09. Titles, pages and numbering ! 112: 10. Number registers and arithmetic ! 113: 11. Macros with arguments ! 114: 12. Conditionals ! 115: 13. Environments ! 116: 14. Diversions ! 117: Appendix: Typesetter character set ! 118: .sp ! 119: .in 0 ! 120: .fi ! 121: The ! 122: .UL troff ! 123: described here is the C-language version supplied with ! 124: .UC UNIX ! 125: Version 7 and 32V as documented in [1]. ! 126: .WS ! 127: .PP ! 128: To use ! 129: .UL troff ! 130: you have to prepare not only the actual text you want printed, ! 131: but some information that tells ! 132: .ul ! 133: how ! 134: you want it printed. ! 135: (Readers who use ! 136: .UL roff ! 137: will find the approach familiar.) ! 138: For ! 139: .UL troff ! 140: the text ! 141: and ! 142: the formatting information are often intertwined quite intimately. ! 143: Most commands to ! 144: .UL troff ! 145: are placed on a line separate from the text itself, ! 146: beginning with a period (one command per line). ! 147: For example, ! 148: .P1 ! 149: Some text. ! 150: ^ps 14 ! 151: Some more text. ! 152: .P2 ! 153: will change the `point size', ! 154: that is, ! 155: the size of the letters being printed, ! 156: to `14 point' (one point is 1/72 inch) like this: ! 157: .P1 ! 158: .fi ! 159: Some text. ! 160: .ps 14 ! 161: Some more text. ! 162: .ps 10 ! 163: .P2 ! 164: .PP ! 165: Occasionally, though, ! 166: something special occurs in the middle of a line _ ! 167: to produce ! 168: .P1 ! 169: Area = \(*p\fIr\fR\|\s8\u2\d\s0 ! 170: .P2 ! 171: you have to type ! 172: .P1 ! 173: Area = \e(*p\efIr\efR\e\^|\^\es8\eu2\ed\es0 ! 174: .P2 ! 175: (which we will explain shortly). ! 176: The backslash character ! 177: .BD \e ! 178: is used ! 179: to introduce ! 180: .UL troff ! 181: commands and special characters within a line of text.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.