|
|
1.1 ! root 1: |make(rp) ! 2: ! 3: |insert(monk.mac) ! 4: ! 5: |comment(VOL2HEADER)|set_counter(page 239-1)|set_string(page_headers "'''")|set_string(even_headers "'Typing Documents on the UNIX System: Using Monk 0.6''\f(NImonk\fP'")|set_string(odd_headers "'\f(NImonk\fP''Typing Documents on the UNIX System: Using Monk 0.6'")|set_string(even_footers "_\\nP__UNIX Papers_")|set_string(odd_footers "'Research Tenth Edition''\\nP'") ! 6: ! 7: |environment(cwfigure; ! 8: new.line, verbatim on, file.information, line.spacing 1, ! 9: fill off, inline off, size -2, font cw, inline on, space -2, ! 10: blank.lines 1; ! 11: SPACE) ! 12: |comment<summary: cwfigure (a constant-width figure)> ! 13: ! 14: |environment(computeroutput; ! 15: new.line, verbatim on, file.information, line.spacing 1, ! 16: fill off, inline off, size -1, font cw, inline on, space -1, ! 17: blank.lines 1, ! 18: tab.stops "\w' 'u 2u*\w' 'u 3u*\w' 'u 4u*\w' 'u 5u*\w' 'u 6u*\w' 'u 7u*\w' 'u 8u*\w' 'u 9u*\w' 'u 10u*\w' 'u 11u*\w' 'u"; ! 19: ! 20: tab.stops, blank.lines 1, SPACE) ! 21: ! 22: |author(name "S. L. Murrel", initials SLM, location MH, department 11229, ! 23: extension x5772, room 2C-578) ! 24: ! 25: |author(name "T. J. Kowalski", initials TJK, location MH, department 11229, ! 26: extension x2771, room 2C-568) ! 27: ! 28: |document(number 11229-851210-11TMS, file_case 25952, work_program 311401-2299) ! 29: ! 30: |document(number 11229-851210-11TMS, file_case 25952, work_program 311401-2199) ! 31: ! 32: |date(December 10, 1985) ! 33: ! 34: |title(Typing Documents on the |small(UNIX) System: ! 35: Using Monk 0.6) ! 36: ! 37: |comment<inserting monk.cite starting here> ! 38: .CD "comment_section" "5.1" ! 39: .CD "special_section" "5.6" ! 40: .CD "table_example" "5.14" ! 41: .CD "picture_example" "5.16" ! 42: .CD "save_section" "5.18" ! 43: .CD "this_section" "5.18" ! 44: .CD "foobar" "251" ! 45: .CD "style_section" "5.4" ! 46: .CD "special_appendix" "B" ! 47: .CD "table_appendix" "C.1" ! 48: .CD "The alphabet in common type families" "1" ! 49: |comment<inserting monk.cite ending here> ! 50: ! 51: |begin(abstract) ! 52: |i<Monk> is a text-formatting program that produces high-quality ! 53: typeset output. ! 54: This paper, printed using |i<monk>, ! 55: describes how to produce letters, memos, release papers, ! 56: and technical memoranda complete with cover sheets. ! 57: We provide extensive details on the three easy steps ! 58: needed to prepare a document with |i<monk>: ! 59: ! 60: |begin(number_list) ! 61: ! 62: |item ! 63: Use the |i<monksample> command to get a copy of a sample document. ! 64: ! 65: |item ! 66: Edit the copy, replacing the sample title, author, and the text body. ! 67: Add sections, appendices, captioned figures, tables, and equations. ! 68: Select the document style: ! 69: character size and type, page width and length, line spacing, ! 70: and number of columns. ! 71: ! 72: |item ! 73: Format the document using the |i<monk> command, ! 74: sending the output to a 5620 or 630MTG ! 75: terminal or a printer. ! 76: |i<Monk> will automatically invoke ! 77: the table, picture, equation, graph, ! 78: |comment{index,} ! 79: and reference pre-processors in the correct order. ! 80: ! 81: |end(number_list) ! 82: ! 83: |end(abstract) ! 84: ! 85: |titlebox ! 86: ! 87: |style(two_column) ! 88: ! 89: |section(Introduction) ! 90: ! 91: Preparing any document involves positioning words and figures on each page. ! 92: Using a typewriter, ! 93: the margins, line spacing, and tab positions are selected by moving levers. ! 94: Text is positioned by moving the sheet of paper left, right, up or down. ! 95: Using a computer, the text is interspersed with commands that tell a ! 96: formatting program what to do. ! 97: |p ! 98: |i<Monk> is a new package of commands for producing ! 99: |s(AT&T) letters, memos, technical memoranda, and their cover sheets. ! 100: This paper will enable you to prepare documents using ! 101: |i<monk>.|reference<monk high-level text compiler>|reference<monk database> ! 102: |reference<using monk 1985> ! 103: You need to know how to log onto a computer and how to use an editor. ! 104: If you don't, see the |small(UNIX) Text Editing and Phototypesetting ! 105: Starter Package.|reference(Editing Phototypesetting Starter Package) ! 106: |blank_space(-1p)|comment{ZZZ: spacing kludge} ! 107: |section(Mixing Text and Commands) ! 108: |blank_space(-6p)|comment{ZZZ: spacing kludge} ! 109: |p ! 110: Using any text editor, ! 111: type normally. ! 112: However, ! 113: instead of skipping a line before paragraphs ! 114: type |cw(|sp(|)paragraph) or |cw(|sp(|)p). ! 115: |index(paragraphs) ! 116: This command will produce a blank line. ! 117: To indent, ! 118: use |cw<|sp(|)p(i)> or |cw<|sp(|)paragraph(indented)>; ! 119: to number, ! 120: use |cw<|sp(|)p(n)> or |cw<|sp(|)paragraph(num|sp(hyphenation)bered)>. ! 121: |p ! 122: There are other commands that let you select document style and character type ! 123: (e.g., double spacing and italics) ! 124: and include various sections and displays (e.g., chapters and tables). ! 125: ! 126: |section(Command Scope) ! 127: ! 128: |comment{|index(command delimiters)|index(italics)} ! 129: ! 130: Using |i<monk>, ! 131: the sentence ``Italicize the words in |sp(|s)italics(parentheses)'' produces ! 132: ``Italicize the words in |i(parentheses).'' ! 133: All |i<monk> commands begin with the character `|sp(|s)'. ! 134: The command |cw(|sp(|)italics) selects the operation and ! 135: the parentheses delimit the words to be italicized. ! 136: There are seven pairs of delimiters: ! 137: ! 138: |begin(center) ! 139: |cw<(>...|cw<)>, |cw([)...|cw(]), |cw(<)...|cw(>), |cw({)...|cw(}), |cw(")...|cw("), |cw(')...|cw('), |cw(`)...|cw(') ! 140: |end(center) ! 141: ! 142: |p ! 143: Always choose delimiters so that the closing delimiter does not appear in the ! 144: text. ! 145: ``Italicize the equation |sp(|s)i(a = (b + c) / number)'' produces ! 146: ``Italicize the equation |i(a = (b + c) / number).'' ! 147: The closing delimiter ')' is found after the letter `c', ! 148: so that the rest of the equation is not italicized. ! 149: The input ``Italicize the equation |sp(|s)i<a = (b + c) / number>'' will ! 150: correctly italicize the entire equation, |i<a = (b + c) / number>. ! 151: In contrast, when |i<monk> commands are inside other |i<monk> commands, ! 152: the delimiter pairs are not ambiguous. ! 153: ``Italicize and shrink this |sp(|s)small(|sp(|s)i(word) but only shrink the rest)'' ! 154: produces ! 155: ``Italicize and shrink this |small(|i(word) but only shrink the rest).'' ! 156: |p ! 157: There is a second form of delimiter |sp(Em dash) ! 158: when a command operates on a long text segment, ! 159: the commands |cw(|sp(|)begin) and |cw(|sp(|)end) ! 160: are used instead of brackets or quotes. ! 161: The text fragment ! 162: ! 163: |begin(cwfigure) ! 164: |sp(|s)begin(italics) ! 165: Four score and seven years ago our fathers ! 166: brought forth to this continent a new ! 167: nation, conceived in liberty and ... ! 168: |sp(|s)end(italics) ! 169: |end(cwfigure) ! 170: ! 171: appears in the final document as ! 172: ! 173: |begin(italics) ! 174: Four score and seven years ago our fathers brought forth to this continent ! 175: a new nation, conceived in liberty and ... ! 176: |end(italics) ! 177: ! 178: The commands |cw(|sp(|)begin) and |cw(|sp(|)end) delimit ! 179: the text operated on by the ! 180: command |cw(|sp(|)italics). ! 181: ! 182: |section(Document Commands) ! 183: ! 184: This section describes the commands that are specific to formatting ! 185: four types of documents: ! 186: letters, |small(AT&T) Bell Laboratories memoranda, technical memoranda, ! 187: and release papers. ! 188: ! 189: |environment(ret_address; ! 190: verbatim on, indent \n(U0u+\n(O0u-6n, fill off, here on; ! 191: minimum.lines) ! 192: ! 193: |subsection(Typesetting a Letter) ! 194: ! 195: For a letter, the input should begin as follows: ! 196: ! 197: |begin(cwfigure) ! 198: |sp(|)make(letter) ! 199: |sp(|)begin(ret_address) ! 200: |sp(|)s(AT&T) Bell Labs 2C-501 ! 201: Murray Hill, N. J. 07974 ! 202: |sp(|)end(ret_address) ! 203: |end(cwfigure) ! 204: ! 205: The first line specifies that the standard format for a letter should be used. ! 206: Then the return address, labeled |cw(ret_address), is delimited ! 207: by |cw(|sp(|)begin) and |cw(|sp(|)end) commands. ! 208: The formatter skips a couple of lines, indents, single spaces the address ! 209: itself, skips more lines, and then returns to the left hand margin ! 210: producing: ! 211: ! 212: |begin(figure) ! 213: |begin(ret_address) ! 214: |s(AT&T) Bell Labs 2C-501 ! 215: Murray Hill, N. J. 07974 ! 216: |end(ret_address) ! 217: |end(figure) ! 218: ! 219: The return address itself is not modified. ! 220: If the city, state, and zip code are input as separate lines, ! 221: they will appear that way in the final output: ! 222: ! 223: |begin(figure) ! 224: |begin(ret_address) ! 225: |s(AT&T) Bell Labs 2C-501 ! 226: Murray Hill ! 227: N. J. ! 228: 07974 ! 229: |end(ret_address) ! 230: |end(figure) ! 231: ! 232: |p ! 233: A letter consists of a sequence of standard groups: ! 234: a return address, date, recipient's address, greeting, body, ! 235: closing, and signature. ! 236: Accordingly, ! 237: the following prototype letter is available. ! 238: ! 239: |begin(cwfigure) ! 240: |comment<inserting samples/letter.nx starting here> ! 241: |sp(|)make(letter) ! 242: |blank_space(.5) ! 243: |sp(|)begin(ret_address) ! 244: |sp(|)s(AT&T) Bell Laboratories 2C-501 ! 245: Murray Hill, New Jersey 07974 ! 246: |sp(|)end(ret_address) ! 247: |blank_space(.5) ! 248: |sp(|)date(April 1, 1985) ! 249: |blank_space(.5) ! 250: |sp(|)begin(address) ! 251: G. H. Reiber ! 252: |sp(|)s(AT&T) Communications ! 253: Room 3C-110 ! 254: Bedminster, |sp(|)s(NJ) 07921 ! 255: |sp(|)end(address) ! 256: |blank_space(.5) ! 257: |sp(|)greeting(George Reiber:) ! 258: |blank_space(.5) ! 259: |sp(|)begin(body) ! 260: Yes, I would like to hire a painter for the ! 261: night of Monday, September 16, 1985. ! 262: Thank you very much. ! 263: |sp(|)end(body) ! 264: |blank_space(.5) ! 265: |sp(|)closing(Sincerely,) ! 266: |blank_space(.5) ! 267: |sp(|)signature(G. R. Emlin) ! 268: |comment<inserting samples/letter.nx ending here> ! 269: |end(cwfigure) ! 270: ! 271: |p ! 272: To copy this letter into a file named |cw<myfile> in your current directory, ! 273: type the |small(UNIX) command ! 274: ! 275: |begin(cwfigure) ! 276: monksample letter > myfile ! 277: |end(cwfigure) ! 278: ! 279: Using this prototype, it is not necessary for you to remember that ! 280: the label for return address is |cw(ret_address). ! 281: You need only recognize the English-like descriptions and ! 282: replace the sample text as appropriate. ! 283: Although any text editor will suffice, the large display of a visual editor ! 284: allows you to glance at the file and spot sample text. ! 285: |p ! 286: It is convenient to tailor the samples by entering your ! 287: address, closing, and signature and then saving the modified file. ! 288: This new file can then be used for all your letters simply ! 289: by adding an appropriate greeting, the recipient's address, and the body. ! 290: If you prepare letters for more than one person, you might want to maintain ! 291: a directory of tailored prototypes rather than begin with the ! 292: standard |i<monk> sample. ! 293: ! 294: |begin(cwfigure) ! 295: |comment<inserting samples/tailor.nx starting here> ! 296: |sp(|)make(letter) ! 297: |blank_space(.5) ! 298: |sp(|)begin(ret_address) ! 299: |sp(|)s(AT&T) Bell Laboratories 2C-524 ! 300: Murray Hill, New Jersey 07974 ! 301: |sp(|)end(ret_address) ! 302: |blank_space(.5) ! 303: |sp(|)date(April 1, 1985) ! 304: |blank_space(.5) ! 305: |sp(|)begin(address) ! 306: G. H. Reiber ! 307: |sp(|)s(AT&T) Communications ! 308: Room 3C-110 ! 309: Bedminster, |sp(|)s(NJ) 07921 ! 310: |sp(|)end(address) ! 311: |blank_space(.5) ! 312: |sp(|)greeting(To Whom It May Concern:) ! 313: |blank_space(.5) ! 314: |sp(|)begin(body) ! 315: Thank you very much. ! 316: |sp(|)end(body) ! 317: |blank_space(.5) ! 318: |sp(|)closing(Sincerely,) ! 319: |sp(|)signature(Sam) ! 320: |comment<inserting samples/tailor.nx ending here> ! 321: |end(cwfigure) ! 322: ! 323: |p ! 324: When installed, ! 325: |i<monk> is configured to use local printers as standard output ! 326: devices.|dagnote{Specify the printer that you have permission to use ! 327: by defining |s<LPDEST> in your |i<.profile>, ! 328: e.g., |cw<LPDEST=crete; export LPDEST>.} ! 329: You will need to talk to someone using or maintaining your computer system ! 330: to find out what and where your local standard printer is. ! 331: |p ! 332: To run off this memo on the standard printing device, ! 333: type |cw(monk myfile). ! 334: To send your output to a printing device other than the standard, ! 335: use the |cw<|sp(minus)S>|i<dest> and |cw<|sp(minus)T>|i<font> options. ! 336: To preview postscript output on a |s(AT&T) 5620 or 630MTG terminal, type ! 337: |cw(monk |sp(minus)Tpost |sp(minus)Sproof myfile). ! 338: Devices and fonts will vary with your location, ! 339: but commonly available types include: ! 340: ! 341: |begin(figure) ! 342: |begin(table) ! 343: center; ! 344: c1FCW lfB ! 345: l1FCWp-2 l. ! 346: .sp .5 ! 347: |sp(minus)S|i(dest) Sends Output To Device |i(dest) ! 348: .sp .25 ! 349: _ ! 350: .sp .25 ! 351: |sp(minus)Sapsend Linotronic 200P, see |i(apsend)(1) ! 352: |sp(minus)Sd202 Mergenthaler Linotronic 202, see |i(d202)(1) ! 353: |sp(minus)Si300 Spooling for |s(EXPTOOLS), see |i(i300)(1) ! 354: |sp(minus)Slp Spooling mechanism, see |i(lp)(1) (default) ! 355: |sp(minus)Slpr Spooling at Allentown, see |i(lpr)(1) ! 356: |sp(minus)Sproof 5620 or 630MTG terminal, see |i(proof)(9.1) ! 357: |sp(minus)Sprt Spooling at computer centers, see |i(prt)(1) ! 358: |sp(minus)Sthink Thinkjet, see |i(thinkblt)(9.1) ! 359: |sp(minus)S|sp(minus) Standard output ! 360: .sp ! 361: .T& ! 362: c1FCW lfB ! 363: l1FCWp-2 l. ! 364: .sp .5 ! 365: |sp(minus)T|i(fonts) Selects Typesetter Or Terminal |i(fonts) ! 366: .sp .25 ! 367: _ ! 368: .sp .25 ! 369: |sp(minus)T202 Mergenthaler Linotronic 202 ! 370: |sp(minus)Taps Autologic |s(APS-5) ! 371: |sp(minus)Ti10 Imagen 10 printer ! 372: |sp(minus)Ti300 Imagen 300 printer ! 373: |sp(minus)Tim300 Imagen 300 printer at Liberty Corner ! 374: |sp(minus)Tpost PostScript|sp(registered) printer (default) ! 375: |sp(minus)Tthink Think jet printer ! 376: |end(table) ! 377: |end(figure) ! 378: ! 379: |p ! 380: If |s(TYPESETTER) is set and exported, then it determines the typesetter ! 381: or terminal fonts used in preparing the output. ! 382: Be careful to type |cw(monk |sp(minus)Tpost |sp(minus)Sapsend myfile) ! 383: or |cw(monk |sp(minus)Taps |sp(minus)Sprt myfile) ! 384: |b(only) when you intend to send ! 385: final copy to the high-quality, high-priced phototypesetter. ! 386: ! 387: |p ! 388: When |i<monk> is run, the individualized prototype letter will appear as ! 389: a full size version of the page below. ! 390: This is an excerpt of the sample's output, ! 391: scaled and included using PostScript. ! 392: .br ! 393: |comment< to make the postscript output the column width: x 3.1i, y 7i > ! 394: .ne 14v ! 395: |begin(ruled.display) ! 396: |postscript(file "samples/tailor.ps", ! 397: x 4.2i, y 7i, xoffset -.5i, yoffset -1i) ! 398: |blank_space(13v) ! 399: |end(ruled.display) ! 400: |blank_space(1v) ! 401: .......... ! 402: ! 403: |subsection(Typesetting a Memorandum) ! 404: ! 405: Preparing a memorandum is similar to preparing a letter. ! 406: Memoranda require a title, more information about the author, ! 407: and the document itself. ! 408: The information you provide is automatically arranged at the top of the page. ! 409: |p ! 410: Type ! 411: ! 412: |begin(cwfigure) ! 413: monksample memo > myfile ! 414: |end(cwfigure) ! 415: ! 416: to get the following prototype: ! 417: ! 418: |begin(cwfigure) ! 419: |comment<inserting samples/memo.nx starting here> ! 420: |sp(|)make(memo) ! 421: |blank_space(.5) ! 422: |sp(|)author(name "W. H. MacWilliams", ! 423: initials WHM, location WH, room 2E-221, ! 424: extension x511, department 1344) ! 425: |sp(|)document(number 1344-561210-09, ! 426: file_case 25952, work_program 311401-0199) ! 427: |blank_space(.5) ! 428: |sp(|)date(December 10, 1956) ! 429: |blank_space(.5) ! 430: |sp(|)title(|sp(|)s(MTS) Employment: Dr. J. L. Flanagan) ! 431: |blank_space(.5) ! 432: |sp(|)titlebox ! 433: |blank_space(.5) ! 434: F. D. Leamer: ! 435: |sp(|)p ! 436: This is to propose an offer of regular ! 437: |sp(|)s(MTS) employment to Dr. J. L. Flanagan ! 438: commencing on February 18, 1957. ! 439: |blank_space(.5) ! 440: |sp(|)signature(WH-1344-WHM-hhs) ! 441: |blank_space(.5) ! 442: |sp(|)notation[Copy (with att.) to: ! 443: E. E. David Jr. ! 444: A. G. Jensen] ! 445: |blank_space(.5) ! 446: |sp(|)approved(J. R. Pierce) ! 447: |comment<inserting samples/memo.nx ending here> ! 448: |end(cwfigure) ! 449: |blank_space(-1)|blank_space(-4p)|comment<ZZZ kludge - blankline at top of ! 450: column - trailing size change after cwfigure > ! 451: |p ! 452: The |cw<|sp(|)make> command asks |i<monk> to format the document as a memo. ! 453: The information about each author is given in a ! 454: separate |cw<|sp(|)author> command: ! 455: name, initials, location, department, extension, and room number. ! 456: Each instance of |cw<|sp(|)document> gives the document information for ! 457: the corresponding author. ! 458: Author, document, title, and date may appear in any order, ! 459: but must precede the command |cw<|sp(|)titlebox>, ! 460: which organizes, formats, and outputs all this information. ! 461: |p ! 462: After the titlebox comes the body of the memo, ! 463: which consists of paragraphs ! 464: separated by |cw<|sp(|)p>, simple font changes, and figures. ! 465: After the body comes the signature, any necessary notations, ! 466: and approvals. ! 467: This sample produces the following memo: ! 468: .br ! 469: .ne 20v ! 470: |begin(ruled.display) ! 471: |postscript(file "samples/memo.ps", ! 472: x 4.2i, y 7i, xoffset -.5i, yoffset -.9i) ! 473: |blank_space(19v) ! 474: |end(ruled.display) ! 475: |blank_space(1v) ! 476: ........... ! 477: |p ! 478: To omit information, simply delete the appropriate |i<monk> command. ! 479: Delete the entire line to omit notations or approvals. ! 480: To omit an author's location, omit the relevant labels and associated numbers, ! 481: e.g., |cw{|sp(|)author(name "W. H. MacWilliams", initials WHM, department 1344)}. ! 482: ! 483: |subsection(Typesetting a Technical Memorandum) ! 484: ! 485: This section describes how to prepare a technical memorandum. ! 486: The example below is the skeleton of the file that produced the previous |i(tm) version ! 487: of this document, excluding cover sheet information. ! 488: This prototype consists of the declaration of the document type, ! 489: document numbers, ! 490: date, ! 491: authors, title, abstract, document body, appendices, and references. ! 492: It can be copied with the command |cw(monksample tm > myfile). ! 493: ! 494: |comment{entire tm here or simply body, ending before cover sheet info} ! 495: ! 496: |begin(cwfigure) ! 497: |comment<inserting samples/tmbody.nx starting here> ! 498: |sp(|)make(tm) ! 499: |blank_space(.5) ! 500: |sp(|)author(name "S. L. Murrel", initials SLM, ! 501: location MH, department 11229, ! 502: extension x5772, room 2C-578) ! 503: |sp(|)document(number 11229-851210-11TMS, ! 504: file_case 25952, ! 505: work_program 311401-2299) ! 506: |sp(|)author(name "T. J. Kowalski", initials TJK, ! 507: location MH, department 11229, ! 508: extension x2771, room 2C-568) ! 509: |sp(|)document(number 11229-851210-11TMS, ! 510: file_case 25952, ! 511: work_program 311401-2199) ! 512: |blank_space(.5) ! 513: |sp(|)date(December 10, 1985) ! 514: |blank_space(.5) ! 515: |sp(|)title(Typing Documents on the UNIX System: ! 516: Using Monk 0.3) ! 517: |blank_space(.5) ! 518: |sp(|)begin(abstract) ! 519: |sp(|)i(Monk) is a text-formatting program that ! 520: produces high-quality printed text. ! 521: |sp(|)end(abstract) ! 522: |blank_space(.5) ! 523: |sp(|)titlebox ! 524: |blank_space(.5) ! 525: |sp(|)unnumbered_section(INTRODUCTION) ! 526: |blank_space(.5) ! 527: A reference example.|sp(|)|sp(zero width space)reference( ! 528: Murrel Kowalski Using Monk 0.3 1985) ! 529: |blank_space(.5) ! 530: |sp(|)section(MIXING TEXT AND COMMANDS) ! 531: |blank_space(.5) ! 532: |sp(|)subsection(Typesetting a Technical Memorandum) ! 533: |blank_space(.5) ! 534: |sp(|)subsubsection(Unnumbered headings.) ! 535: |blank_space(.5) ! 536: |sp(|)signature(MH-11229-SLM/TJK-slm/tjk) ! 537: |blank_space(.5) ! 538: |sp(|)notation(Att. ! 539: References) ! 540: |blank_space(.5) ! 541: |sp(|)other ! 542: |blank_space(.5) ! 543: |sp(|)|sp(zero width space)reference_placement ! 544: |comment<inserting samples/tmbody.nx ending here> ! 545: |end(cwfigure) ! 546: |p ! 547: The first line should specify the document type. ! 548: After that the order is flexible, ! 549: with the one restriction that all the ! 550: component information be available when larger units, such as the ! 551: titlebox, are printed. ! 552: Thus the author, date, and document information must be specified ! 553: before the command ! 554: |cw(|sp(|)titlebox), because it uses that information to produce ! 555: the standard header at the top of technical memoranda. ! 556: Note that the same |cw<|sp(|)titlebox> command produces different output ! 557: depending on the document type specified. ! 558: |p ! 559: The title is not filled, so that newlines entered by the author are preserved: ! 560: here |cw<Using Monk 0.3> appears as ! 561: the second line of the title.|dagnote<In unfilled text, ! 562: input lines are reproduced unchanged in the output; ! 563: in filled text, words from successive input lines may be combined to ensure ! 564: maximum length lines in the output.> ! 565: This is the first page produced by the |i<tm> input sample, scaled ! 566: to fit into the column. ! 567: The second page of the output provides the formatted reference list. ! 568: .br ! 569: .ne 25v ! 570: |begin(ruled.display) ! 571: |postscript(file "samples/tmbody.ps", ! 572: x 4.2i, y 7i, xoffset -.5i, yoffset -.9i) ! 573: |blank_space(24v) ! 574: |end(ruled.display) ! 575: |blank_space(1v) ! 576: ........... ! 577: |p ! 578: The commands |cw(|sp(|)author) and |cw(|sp(|)document) ! 579: belong to a type we have not previously discussed. ! 580: They allow you to specify a collection of information about a given item. ! 581: The first instance of |cw(|sp(|)author) specifies the name, initials, ! 582: location, department, extension, and room number of the first author. ! 583: The first instance of |cw(|sp(|)document) gives the document information ! 584: for the first author. ! 585: Authors and documents are linked as they appear, so that ! 586: ! 587: |begin(cwfigure) ! 588: |sp(|)author(name "S. L. Murrel", initials SLM, ! 589: location MH, department 11229) ! 590: |sp(|)author(name "T. J. Kowalski", location MH, ! 591: initials TJK, department 11229) ! 592: |sp(|)document(number 11229-851210-11TMS, ! 593: file_case 25952, work_program 311401-2299) ! 594: |sp(|)document(number 11229-851210-11TMS, ! 595: file_case 25952, work_program 311401-2199) ! 596: |end(cwfigure) ! 597: ! 598: is equivalent to the ordering given in the |i(tm) above. ! 599: Note that in these examples only part of the author information is included: ! 600: the room and extension numbers were omitted. ! 601: Any information can be omitted simply by deleting the corresponding |i<monk> ! 602: labels, e.g., |cw<room> and |cw<extension>. ! 603: Monk will try to format the information given gracefully. ! 604: |p ! 605: Additional information is needed to produce a standard |s<AT&T> cover sheet: ! 606: ! 607: |begin(cwfigure) ! 608: |comment<inserting samples/tmcs.nx starting here> ! 609: |sp(|)keywords(Word Processing, ! 610: Text Processing, ! 611: Formatting) ! 612: |blank_space(.5) ! 613: |sp(|)mercury(cmp, elc) ! 614: |blank_space(.5) ! 615: |sp(|)att(is_release yes) ! 616: |blank_space(.5) ! 617: |sp(|)distribute_complete_memo(Exec Directors 112 ! 618: Directors 112 ! 619: Department Heads 1122) ! 620: |blank_space(.5) ! 621: |sp(|)distribute_cover_sheet(A. A. Penzias ! 622: 1122 MTS) ! 623: |blank_space(.5) ! 624: |sp(|)cover_sheet ! 625: |comment<inserting samples/tmcs.nx ending here> ! 626: |end(cwfigure) ! 627: ! 628: Again, this information can appear anywhere in the document as long as it ! 629: precedes the command |cw(|sp(|)cover_sheet). ! 630: Following local convention, keywords are filled, while the distribution lists ! 631: are not. ! 632: Although the title was not filled in the titlebox, ! 633: it is filled on the cover sheet because of space limitations. ! 634: |p ! 635: In producing the cover sheet, |i<monk> automatically calculates the numbers of ! 636: tables, figures, references, ! 637: as well as text pages, other pages, and total pages. ! 638: Use the command |cw<|sp(|)other> to mark the end of the text body and the ! 639: beginning of attachments. ! 640: |i<Monk> needs it to correctly distinguish text from other pages. ! 641: If there are any pages that are not included in this input file, you ! 642: can add to the counts using the command |cw<|sp(|)add_totals>. ! 643: For example, ! 644: if there is an additional attachment page that is not a table or figure, ! 645: then the command |cw<|sp(|)add_totals(other 1)> suffices. ! 646: You should never have to use the complete form of the command: ! 647: |cw<|sp(|)add_totals(text 0, tables 0, figures 1, references 11, ! 648: other 2)>. ! 649: This command means that you are adding 2 additional pages by hand, ! 650: which include one figure and eleven references. ! 651: The counts of text pages and tables are untouched. ! 652: |p ! 653: There are six commands specific to the |s(AT&T B)ell |s(L)abs cover sheet ! 654: that provide distribution information. ! 655: Use |cw<|sp(|)mercury> to specify the company-wide announcements ! 656: that should include ! 657: the abstract of this document: ! 658: |cw<chm>, |cw<cmm>, |cw<cmp>, |cw<elc>, |cw<lfs>, |cw<man>, |cw<mas>, |cw<mkt>, ! 659: and |cw<phy>. ! 660: Use the |i<monk> command |cw<|sp(|)distribute_complete_memo> to ! 661: list individu\%als who should receive the complete memo and ! 662: |cw<|sp(|)distribute_cover_sheet> ! 663: to list those who should receive only the cover sheet. ! 664: The command |cw<|sp(|)att> gives relevant |s(AT&T) release information: ! 665: |cw<is_release> marks the |i<yes> or |i<no> box ! 666: as specified by its argument. ! 667: |cw<|sp(|)director_name> identifies the director of the first author. ! 668: Finally, the command |cw<|sp(|)cover_sheet> prints the following cover sheet. ! 669: Note that this sample produces four pages: ! 670: one page of text, one page of references, and two pages of cover sheet. ! 671: .br ! 672: .ne 26v ! 673: |begin(ruled.display) ! 674: |postscript(file "samples/tmcs.ps", ! 675: x 3.4i, y 7i, xoffset -.1i, yoffset -1.1i) ! 676: |blank_space(25v) ! 677: |end(ruled.display) ! 678: |blank_space(1v) ! 679: ........... ! 680: ! 681: |subsection(Typesetting a Release Paper) ! 682: ! 683: There is a |i<monk> sample for release papers, which can be modified ! 684: in the same way as ! 685: the documents already discussed. ! 686: However, you may often want to convert a technical memorandum ! 687: into a release paper. ! 688: To do so, change the first line from ! 689: |cw<|sp(|)make(tm)> to |cw<|sp(|)make(rp)> ! 690: and then remove or comment out (see Section |remember(comment_section)) ! 691: the information specific to the ! 692: |i<tm> style: ! 693: ! 694: |begin(bullet_list) ! 695: |item |cw<other> ! 696: |item |cw<add_totals> ! 697: |item |cw<mercury> ! 698: |item |cw<distribute_cover_sheet> ! 699: |item |cw<distribute_complete_memo> ! 700: |item |cw<cover_sheet> ! 701: |item |cw<att> ! 702: |item |cw<signature> ! 703: |item |cw<director_name> ! 704: |end(bullet_list) ! 705: ! 706: |section(Content Formatting Commands) ! 707: ! 708: For any document type, it is possible to format section titles, ! 709: figure captions, footnotes, and two-column output. ! 710: It is possible to store page numbers, section numbers or figure numbers ! 711: for later use. ! 712: An interface is provided to existing routines that produce ! 713: tabular output, equations, citations, and reference lists. ! 714: This section describes the relevant commands. ! 715: ! 716: |subsection(Comments) ! 717: |save(comment_section) ! 718: ! 719: Comments are valuable notations by and for the person preparing a document. ! 720: They can be used ! 721: to temporarily omit a section, ! 722: to mark a section that needs work or information, ! 723: and to retain an alternative word or phrase. ! 724: Anything that appears within the delimiters of a |cw<|sp(|)comment> ! 725: is not processed as part of the document: ! 726: |i<monk> commands are ignored, and text does not appear in the final output. ! 727: ! 728: |subsection(Spacing) ! 729: ! 730: |comment{ ! 731: |subsection(Spacing and Tabs) ! 732: You can start a new page, leave vertical blank space, and control tab stops.} ! 733: ! 734: You can start a new page or leave vertical blank space using these commands. ! 735: ! 736: |begin(table) ! 737: center; ! 738: lf5 2 l. ! 739: |sp(|s)new_page begins a new page ! 740: |sp(|s)new_column begins a new column ! 741: |sp(|s)blank_space leaves a blank line ! 742: |sp(|s)blank_space(3) leaves 3 blank lines ! 743: |sp(|s)blank_space(1.5i) leaves 1.5 inches ! 744: |sp(|s)blank_space(|sp(minus)1) moves back one line ! 745: |comment{ ! 746: |sp(|s)tab_stops(1.5i 4.25i 5.5i 6.75i) sets tab stops ! 747: |sp(|s)tab_stops restores previous tab stops} ! 748: |end(table) ! 749: ! 750: |subsection(Positioning Text: Indenting and Centering) ! 751: ! 752: Indenting and centering are the most common ways of positioning text. ! 753: The input text ! 754: ! 755: |begin(cwfigure) ! 756: |sp(|)indent(begins a new line and indents ! 757: the left hand margin as long as it applies ! 758: for a single line, a group of lines, ! 759: or an entire paper. ! 760: |sp(|)indent<Multiple commands will ! 761: indent progressively.>) ! 762: |end(cwfigure) ! 763: ! 764: produces the following output: ! 765: ! 766: |indent(begins a new line and indents ! 767: the left hand margin as long as it applies ! 768: for a single line, a group of lines, ! 769: or an entire paper. ! 770: |indent<Multiple commands will ! 771: indent progressively.>) ! 772: |p ! 773: The command |cw<|sp(|)center> begins a new line and ! 774: centers each line of text within its delimiters. ! 775: The input, taken from Monty Python, ! 776: ! 777: |begin(cwfigure) ! 778: |sp(|)begin(center) ! 779: I'm a lumberjack and I'm okay, ! 780: I sleep all night and I work all day. ! 781: I cut down trees, I eat my lunch, ! 782: I go to the lavat'ry, ! 783: On Wednesdays I go shopping and have ! 784: buttered scones for tea. ! 785: |sp(|)end(center) ! 786: |end(cwfigure) ! 787: ! 788: produces ! 789: ! 790: |begin(figure) ! 791: |begin(center) ! 792: I'm a lumberjack and I'm okay, ! 793: I sleep all night and I work all day. ! 794: I cut down trees, I eat my lunch, ! 795: I go to the lavat'ry, ! 796: On Wednesdays I go shopping and have ! 797: buttered scones for tea. ! 798: |end(center) ! 799: |end(figure) ! 800: ! 801: |p ! 802: In contrast, the command |cw<|sp(|)center_block> centers the entire figure ! 803: as a block. ! 804: All the lines are left-justified and ! 805: the figure is centered based on the width of the longest line. ! 806: It produces ! 807: ! 808: |begin(figure) ! 809: |begin(center_block) ! 810: I'm a lumberjack and I'm okay, ! 811: I sleep all night and I work all day. ! 812: I cut down trees, I eat my lunch, ! 813: I go to the lavat'ry, ! 814: On Wednesdays I go shopping and have ! 815: buttered scones for tea. ! 816: |end(center_block) ! 817: |end(figure) ! 818: ! 819: |p ! 820: Multi-line quotations are appropriately indented and offset by the ! 821: command |cw<|sp(|)quotation>. ! 822: ! 823: |quotation<Four score and seven years ago our fathers brought forth ! 824: to this continent a new nation, conceived in liberty and dedicated to ! 825: the proposition that all men are created equal.> ! 826: ! 827: |subsection(Document Styles)|save(style_section) ! 828: ! 829: By default, ! 830: all documents are single-spaced and single column. ! 831: Page width is 6 inches; length is 11 inches. ! 832: The font family is |i{times}; ! 833: the font size is 10p on a vertical spacing of 12p. ! 834: Paragraphs skip a line and begin the text flush with the left margin. ! 835: |p ! 836: You can change any of these defaults using the |cw(|sp(|)style) command. ! 837: The command |cw<|sp(|)style( page_width 7i)> sets the page width to 7 inches. ! 838: To get the maximum page width on most output devices, type: ! 839: |cw<|sp(|)style(page_offset 0, page_width 8.5i)>. ! 840: The |cw(page_length) and |cw(font_size) can be set in a similar manner. ! 841: |p ! 842: |cw<|sp(|)style(font_size 14)> changes the default font to size 14 to print ! 843: out your papers for your grandparents or to prepare invitations to a party. ! 844: |cw(|sp(|)big) or |cw(|sp(|)small) ! 845: will still provide one size bigger or smaller, respectively. ! 846: |table_caption(The alphabet in common type families) ! 847: |save(The alphabet in common type families) ! 848: |begin(table) ! 849: l l l ! 850: lfI lfI lfI ! 851: lfB lfB lfB ! 852: l l l ! 853: lf2 lf2 lf2 ! 854: lf3 lf3 lf3 ! 855: l l l ! 856: lf2 lf2 lf2 ! 857: lf3 lf3 lf3 . ! 858: times roman abcdefghijklm...uvwxyz ! 859: italics abcdefghijklm...uvwxyz ! 860: bold abcdefghijklm...uvwxyz ! 861: |style(font_family palatino) ! 862: palatino roman abcdefghijklm...uvwxyz ! 863: italics abcdefghijklm...uvwxyz ! 864: bold abcdefghijklm...uvwxyz ! 865: |style(font_family helvetica) ! 866: helvetica roman abcdefghijklm...uvwxyz ! 867: italics abcdefghijklm...uvwxyz ! 868: bold abcdefghijklm...uvwxyz ! 869: |end(table) ! 870: |style(font_family times) ! 871: |p ! 872: Font families provide complementary styles for each of the four fonts: ! 873: bold, italics, roman, and cw. ! 874: The standard font family is times. ! 875: Alternative font families include ! 876: palatino, helvetica, bembo, optima, souvenir, and cw, ! 877: but not all families are available on all output devices. ! 878: Some examples are shown in Table |remember(The alphabet in common type families). ! 879: To select helvetica, type |cw<|sp(|)style( font_family helvetica)>. ! 880: |p ! 881: ! 882: |style(double_space) ! 883: ! 884: |cw<|sp(|)style(double_space)> double spaces the text, while ! 885: |cw<|sp(|)style( single_space)> restores single spacing. ! 886: ! 887: |style(single_space) ! 888: ! 889: You can change the paragraph style throughout the rest of your document ! 890: by typing the command |cw<|sp(|)style(paragraph_style indented)> or ! 891: |cw<|sp(|)style(paragraph_style numbered)>, ! 892: after which the simple command |cw<|sp(|)p> ! 893: will produce indented or numbered paragraphs. ! 894: To indent or number a single paragraph, ! 895: use |cw<|sp(|)p(i)> or |cw<|sp(|)p(n)>, respectively. ! 896: To restore the original style paragraph, ! 897: type |cw<|sp(|)style( paragraph_style flushed)>. ! 898: |p ! 899: The command |cw<|sp(|)style(one_column)> begins formatting text in one column. ! 900: The command |cw<|sp(|)style(two_column)> restores two column formatting. ! 901: ! 902: |subsection(Fonts) ! 903: ! 904: |i<Monk> currently provides abbreviated commands for ! 905: four type faces and two type sizes. ! 906: |cw(|sp(|)bold) or |cw(|sp(|)b) makes the enclosed text |b(bold). ! 907: |cw(|sp(|)italics) or |cw(|sp(|)i) produces |italics(italicized text), ! 908: while |cw(|sp(|)roman) or |cw(|sp(|)r) restores the roman character set. ! 909: The command |cw<|sp(|)constant_width> or |cw<|sp(|)cw> ! 910: |cw(selects a font that resembles low quality line printer ! 911: output and is intended only for examples of such output). ! 912: |p ! 913: When fonts are embedded, the innermost dominates. ! 914: For example, ! 915: |cw(|sp(|)italics<Italics flourish around the |sp(|)roman[roman] text>) produces ! 916: |italics<Italics flourish around the |roman[roman] text>. ! 917: If an output device is not able to italicize, then it will underline. ! 918: Because italics look better, it is always preferable to request them ! 919: so that the document will look its best on the available printing device. ! 920: However, it is possible to specify underlining using |cw(|sp(|)underline) or |cw(|sp(|)u). ! 921: |p ! 922: |cw(|sp(|)big) makes the font size |big(bigger), ! 923: while |cw(|sp(|)small) makes the font size |small(smaller). ! 924: These can be nested, so that |cw<|sp(|)big(|sp(|)big(this is big))> produces ! 925: |big(|big(this is big)). ! 926: However, |cw<|sp(|)big> and |cw<|sp(|)small> are designed for in-line font changes; ! 927: they do not change the vertical spacing. ! 928: To change the size of a block of text, use the |cw<|sp(|)style> command ! 929: (see Section |remember(style_section)). ! 930: ! 931: |subsection(Special characters) ! 932: |save(special_section) ! 933: ! 934: |i<Monk> provides a long list of special characters, the appearance of which ! 935: is ultimately determined by the output device. ! 936: ! 937: With the command |cw<|sp(|)sp>, ! 938: the user can print out the |i<monk> command character |cw(|sp(|s)), ! 939: Greek letters, and mathematical symbols. ! 940: |p ! 941: Here is a partial list of the fancy symbols ! 942: that appear in Appendix |remember(special_appendix): ! 943: |sp{/} |sp{minus} |sp{\} ! 944: |sp{.} |sp{degree} |sp{bullet} ! 945: |sp{copyright} |sp{registered} |sp{TM} ! 946: |sp{|} |sp{bold vertical} ! 947: |sp{dagger} |sp{section} ! 948: |sp{rhand} |sp{lhand} ! 949: |sp{hyphen} |sp{underrule} ! 950: |sp{open quote} |sp{close quote} ! 951: |sp{grave} |sp{cedilla} |sp{lower case umlaut} |sp{upper case umlaut} ! 952: |sp{alpha} |sp{beta} |sp{gamma} |sp{delta} |sp{epsilon} ! 953: |sp{+-} |sp{>=} |sp{<=} |sp{!=} |sp{-wig} |sp{wig} ! 954: |sp{times} |sp{divide} |sp{prop} ! 955: |sp{integral} |sp{partial} ! 956: |sp{not} |sp{or} |sp{rceil} ! 957: |sp{square} |sp{del} |sp{empty} |sp{member} ! 958: |sp{isuperset} |sp{cap} ! 959: |sp{->} |sp{uarrow} |sp{darrow} ! 960: |sp{cent} |sp{quarter} |sp{3quarter} ! 961: |sp{mu} |sp{nu} |sp{xi} |sp{omicron} ! 962: |sp{pi} |sp{ff} |sp{ffi} |sp{ffl} |sp{TEX} |sp{LATEX}. ! 963: |p ! 964: |cw<|sp(|)sp> can also be used to control spacing and carriage movement ! 965: precisely. ! 966: There are spaces of five different widths, ! 967: shown below opposite the commands that produce them. ! 968: ! 969: |comment[|begin(verbatim) ! 970: |cw<|sp(|)sp{zero width space}> `|sp{zero width space}' ! 971: ] ! 972: |begin(cwfigure) ! 973: .ta 1.6i ! 974: |sp(|)sp{space} |r<|big<|big<`|sp{space}'>>> ! 975: |sp(|)sp{digit space} |r<|big<|big<`|sp{digit space}'>>> ! 976: |sp(|)sp{narrow space} |r<|big<|big<`|sp{narrow space}'>>> ! 977: |sp(|)sp{half narrow space} |r<|big<|big<`|sp{half narrow space}'>>> ! 978: |sp(|)sp{zero width space} |r<|big<|big<`|sp{zero width space}'>>> ! 979: .ta ! 980: |end(cwfigure) ! 981: ! 982: |p ! 983: ! 984: |style(double_space) ! 985: ! 986: The carriage can be moved up and down: ! 987: |cw<|sp(|)sp{up}> moves |sp{up}up,|sp{down} ! 988: while |cw<|sp(|)sp{reverse}> moves ! 989: |sp{reverse}up|sp{down}|sp{down}by twice as much. ! 990: The command |cw<|sp(|)sp{down}> moves |sp{down}down.|sp{up} ! 991: ! 992: |style(single_space) ! 993: ! 994: |p ! 995: |cw<|sp(|)sp{break and spread}> pads the current line according to the document ! 996: style and breaks to the next line. ! 997: To force hyphenation at a particular position in a word, use ! 998: |cw<|sp(|)sp{hyphenation}>. ! 999: |cw<|sp(|)sp{tab}> generates horizontal motion to the next tab stop; ! 1000: |cw<|sp(|)sp{leader}> generates a string of periods to the next tab stop. ! 1001: ! 1002: |subsection(Headings) ! 1003: ! 1004: |comment<|subsection(Hyphenation and Justification)> ! 1005: |comment<|subsection(Section headings)> ! 1006: ! 1007: |subsubsection(Numbered headings.) ! 1008: ! 1009: |cw<|sp(|)chapter> starts a new page; leaves a blank space; ! 1010: puts ``Chapter |i<n>'' against the right hand margin; ! 1011: skips more space; ! 1012: puts the title against the right hand margin; ! 1013: and skips more space before beginning the text body. ! 1014: No chapters appear in this document. ! 1015: The commands ! 1016: to declare the current section, subsection, and subsubsection include: ! 1017: ! 1018: |begin(cwfigure) ! 1019: |sp(|)section(Content Formatting Commands) ! 1020: |sp(|)subsection(Headings) ! 1021: |sp(|)subsubsection(Numbered headings.) ! 1022: |end(cwfigure) ! 1023: ! 1024: The first appendix at the end was produced by ! 1025: |cw<|sp(|)appendix(List of Commands)>. ! 1026: |paragraph(numbered) ! 1027: This numbered paragraph is produced by the command ! 1028: |cw<|sp(|)paragraph(numbered)>, ! 1029: which may be abbreviated as |cw<|sp(|)paragraph(n)> or |cw<|sp(|)p(n)>. ! 1030: ! 1031: |subsubsection(Unnumbered headings.) ! 1032: ! 1033: The analogous unnumbered headings produce the same spacing but omit ! 1034: heading names, e.g. chapter, and numerical labels. ! 1035: Chapter titles remain right justified, ! 1036: and appendix titles are still centered; ! 1037: but the various section titles are now flush with the left margin. ! 1038: |cw<|sp(|)unnumbered_chapter> is useful for preface and acknowledgement ! 1039: pages. ! 1040: Available commands include: ! 1041: ! 1042: |begin(cwfigure) ! 1043: |sp(|)unnumbered_chapter(Preface) ! 1044: |sp(|)unnumbered_section(|small[SECTION]) ! 1045: |sp(|)unnumbered_subsection(Subsection) ! 1046: |sp(|)unnumbered_subsubsection(Subsubsection.) ! 1047: |sp(|)unnumbered_appendix(|small[APPENDIX]) ! 1048: |end(cwfigure) ! 1049: ! 1050: |p(f) ! 1051: There are flushed and indented unnumbered paragraphs. ! 1052: The indented paragraphs are used throughout this paper, ! 1053: except for this paragraph, ! 1054: which is produced using the command |cw<|sp(|)p(f)>. ! 1055: The commands to skip a line and begin the text flush with the left margin ! 1056: include: ! 1057: ! 1058: |begin(cwfigure) ! 1059: |sp(|)paragraph(f) ! 1060: |sp(|)p(f) ! 1061: |sp(|)paragraph(flushed) ! 1062: |sp(|)p(flushed) ! 1063: |end(cwfigure) ! 1064: ! 1065: The commands to indent the first line of the paragraph and ! 1066: produce spacing identical to the flushed paragraph include: ! 1067: ! 1068: |begin(cwfigure) ! 1069: |sp(|)paragraph(i) ! 1070: |sp(|)p(i) ! 1071: |sp(|)paragraph(indented) ! 1072: |sp(|)p(indented) ! 1073: |end(cwfigure) ! 1074: |blank_space(-1) ! 1075: ! 1076: |subsubsection(Paragraphs.) ! 1077: ! 1078: The command |cw(|sp(|)paragraph) or its abbreviation |cw(|sp(|)p) ! 1079: is used throughout this paper to produce the default paragraph style. ! 1080: In this paper the normal default, ! 1081: |cw(flushed), was changed through use of the |cw<|sp(|)style> command to |cw(indented) ! 1082: (see Section |remember(style_section)). ! 1083: ! 1084: |subsection(Setting page, heading and figure numbers) ! 1085: ! 1086: Page, heading, figure, and table numbers can be changed by the authors. ! 1087: |index(set page numbers)|index(page numbers) ! 1088: |index(section numbers)|index(section counters) ! 1089: Set the current page counter to three using ! 1090: the command |cw<|sp(|)set_counter(page 3)>. ! 1091: At the next page boundary the page number will be incremented to four. ! 1092: The command |cw<|sp(|)set_counter( table 12)> ! 1093: sets the current table number to 12. ! 1094: Multiple counters can be set with a single command: ! 1095: |cw<|sp(|)set_counter(page 10, chapter 4, section 3, subsection 1)>. ! 1096: Available commands include: ! 1097: ! 1098: |begin(cwfigure) ! 1099: |sp(|)set_counter(page 3) ! 1100: |sp(|)set_counter(chapter 4) ! 1101: |sp(|)set_counter(section 1) ! 1102: |sp(|)set_counter(subsection 9) ! 1103: |sp(|)set_counter(subsubsection 3) ! 1104: |sp(|)set_counter(paragraph 0) ! 1105: |sp(|)set_counter(appendix 3) ! 1106: |sp(|)set_counter(footnote 17) ! 1107: |sp(|)set_counter(note 122) ! 1108: |sp(|)set_counter(figure 8) ! 1109: |sp(|)set_counter(table 0) ! 1110: |end(cwfigure) ! 1111: ! 1112: |p ! 1113: Care must be taken in positioning all these commands: ! 1114: if you want to change a section number, then you must position the ! 1115: |cw<|sp(|)set_counter> command before the section itself ! 1116: so that the numbered title will be correct. ! 1117: To number the next section four, you must type ! 1118: |cw<|sp(|)set_counter(section 3)> before the |cw<|sp(|)section> command, ! 1119: because the section number will be incremented ! 1120: when the |cw<|sp(|)section> command itself is read. ! 1121: Similarly, ! 1122: if you want the page number in headers and footers to display a new value, ! 1123: then the value must be changed before the break to the new page occurs. ! 1124: To set the next page to page number three, ! 1125: the command |cw<|sp(|)set_counter(page 2)> must appear on the current page. ! 1126: |p ! 1127: Once a value is set, the computer will use that number and increment it ! 1128: appropriately; but if it is set wrong, it will remain wrong. ! 1129: If you change counters, you are responsible for ! 1130: insuring consistency and correctness. ! 1131: ! 1132: |subsection(Setting page headers and footers) ! 1133: ! 1134: Both page headers and footers can be set using the |cw<|sp(|)set_string> command ! 1135: as follows: ! 1136: ! 1137: |begin(cwfigure) ! 1138: |sp(|)set_string(page_headers "'left'center'right'") ! 1139: |sp(|)set_string(even_headers "'left'center'right'") ! 1140: |sp(|)set_string(odd_headers "'left'center'right'") ! 1141: |sp(|)set_string(page_footers "'left'center'right'") ! 1142: |sp(|)set_string(even_footers "'left'center'right'") ! 1143: |sp(|)set_string(odd_footers "'left'center'right'") ! 1144: |end(cwfigure) ! 1145: ! 1146: |cw<Page_headers>, |cw<even_headers>, and |cw<odd_headers> set the headers ! 1147: on all pages, even pages, and odd pages, respectively. ! 1148: |index(headers)|index(page headers) ! 1149: Page headers appear above the even and odd headers. ! 1150: All headers consist of three strings, any of which may be blank or long ! 1151: enough to overlap. ! 1152: Any character, can be used to delimit the strings. ! 1153: The strings |i(left), |i(center), and |i(right) are left-justified, centered, ! 1154: and right-justified, respectively. ! 1155: Parallel commands serve ! 1156: to specify page footers.|index(footers)|index(page footers) ! 1157: ! 1158: |comment<|subsection(Grouping text - Displays)> ! 1159: ! 1160: |subsection(Lists) ! 1161: ! 1162: There are nine types of lists, which differ only in the labeling of list items: ! 1163: ! 1164: |begin(cwfigure) ! 1165: |sp(|)number_list ! 1166: |sp(|)A_list ! 1167: |sp(|)a_list ! 1168: |sp(|)I_list ! 1169: |sp(|)i_list ! 1170: |sp(|)p_number_list ! 1171: |sp(|)p_a_list ! 1172: |sp(|)dash_list ! 1173: |sp(|)bullet_list ! 1174: |end(cwfigure) ! 1175: ! 1176: A simple numbered list is created by the following commands: ! 1177: ! 1178: |begin(cwfigure) ! 1179: |sp(|)begin(number_list) ! 1180: |sp(|)item first item ! 1181: |sp(|)item second item is on two lines in the ! 1182: input, but will be filled in the output ! 1183: |sp(|)item third ! 1184: |sp(|)end(number_list) ! 1185: |end(cwfigure) ! 1186: ! 1187: |p ! 1188: |cw<|sp(|)A_list> items are marked with capital letters; ! 1189: |cw<|sp(|)a_list> with lower-case letters followed by '|cw<)>'. ! 1190: |cw<|sp(|)I_list> items are marked with upper-case roman numerals; ! 1191: |cw<|sp(|)i_list> with lower-case roman numerals followed by '|cw<)>'. ! 1192: Number and lower-case letter labels are enclosed in parentheses in ! 1193: |cw<|sp(|)p_number_list> and |cw<|sp(|)p_a_list>, respectively. ! 1194: Bullets or dashes label the items in a |cw<|sp(|)bullet_list> ! 1195: or a |cw<|sp(|)dash_list>, respectively. ! 1196: |p ! 1197: Multi-level lists of up to six levels can be built by putting lists inside ! 1198: lists. ! 1199: A standard outline format of six levels consists of an outer |cw<|sp(|)I_list>, ! 1200: an |cw<|sp(|)A_list>, a |cw<|sp(|)number_list>, an |cw<|sp(|)a_list>, ! 1201: an inner |cw<|sp(|)number_list>, and a |cw<|sp(|)p_a_list>. ! 1202: The following produces, in outline format, a description of two kingdoms. ! 1203: ! 1204: |begin(cwfigure) ! 1205: |sp(|)begin(I_list) ! 1206: |sp(|)item Animal Kingdom ! 1207: |sp(|)begin(A_list) ! 1208: |sp(|)item Arthropods ! 1209: |sp(|)begin(number_list) ! 1210: |sp(|)item Trilobites ! 1211: |sp(|)item Insects ! 1212: |sp(|)end(number_list) ! 1213: |sp(|)item Chordates ! 1214: |sp(|)begin(number_list) ! 1215: |sp(|)item Vertebrates ! 1216: |sp(|)begin(a_list) ! 1217: |sp(|)item Birds ! 1218: |sp(|)item Reptiles ! 1219: |sp(|)item Mammals ! 1220: |sp(|)begin(number_list) ! 1221: |sp(|)item Marsupials ! 1222: |sp(|)item Monotremes ! 1223: |sp(|)begin(p_a_list) ! 1224: |sp(|)item platypus ! 1225: |sp(|)item echidna ! 1226: |sp(|)end(p_a_list) ! 1227: |sp(|)item Placental mammals ! 1228: |sp(|)begin(p_a_list) ! 1229: |sp(|)item Cetacea ! 1230: |sp(|)item Primates ! 1231: |sp(|)end(p_a_list) ! 1232: |sp(|)end(number_list) ! 1233: |sp(|)end(a_list) ! 1234: |sp(|)item Notocords ! 1235: |sp(|)end(number_list) ! 1236: |sp(|)item Mollusks ! 1237: |sp(|)end(A_list) ! 1238: |sp(|)item Plant Kingdom ! 1239: |sp(|)end(I_list) ! 1240: |end(cwfigure) ! 1241: ! 1242: |begin(I_list) ! 1243: |item Animal Kingdom ! 1244: |begin(A_list) ! 1245: |item Arthropods ! 1246: |begin(number_list) ! 1247: |item Trilobites ! 1248: |item Insects ! 1249: |end(number_list) ! 1250: |item Chordates ! 1251: |begin(number_list) ! 1252: |item Vertebrates ! 1253: |begin(a_list) ! 1254: |item Birds ! 1255: |item Reptiles ! 1256: |item Mammals ! 1257: |begin(number_list) ! 1258: |item Marsupials ! 1259: |item Monotremes ! 1260: |begin(p_a_list) ! 1261: |item platypus ! 1262: |item echidna ! 1263: |end(p_a_list) ! 1264: |item Placental mammals ! 1265: |begin(p_a_list) ! 1266: |item Cetacea ! 1267: |item Primates ! 1268: |end(p_a_list) ! 1269: |end(number_list) ! 1270: |end(a_list) ! 1271: |item Notocords ! 1272: |end(number_list) ! 1273: |item Mollusks ! 1274: |end(A_list) ! 1275: |item Plant Kingdom ! 1276: |end(I_list) ! 1277: ! 1278: |subsection(Inserting other files) ! 1279: ! 1280: Other files may be inserted using the command |cw<|sp(|)insert>.|index(insert) ! 1281: These files will also be processed by |i<monk> and ! 1282: may in turn insert other files. ! 1283: Loops will indeed cause disaster. ! 1284: A file that will not be processed may also be included ! 1285: using the |cw<|sp(|)source> command.|index(source) ! 1286: ! 1287: |subsection(Figures) ! 1288: ! 1289: The lumberjack poem above was formatted as a figure. ! 1290: Figures are printed with blank space above and below and can be split ! 1291: across a page boundary. ! 1292: Lines are not filled. ! 1293: If you want some lines to be filled, put them within the delimiters of the ! 1294: command |cw<|sp(|)text>. ! 1295: |cw<|sp(|)figure_caption> centers and labels the caption. ! 1296: Given ! 1297: ! 1298: |begin(cwfigure) ! 1299: |sp(|)begin(figure) ! 1300: Like the lumberjack poem above, ! 1301: this text is within a |sp(|)cw<|sp(|)sp(|sp(|))figure> ! 1302: command. ! 1303: |sp(|)end(figure) ! 1304: |sp(|)figure_caption(This is a figure caption). ! 1305: |end(cwfigure) ! 1306: ! 1307: |i<monk> produces ! 1308: ! 1309: |begin(here) ! 1310: |begin(figure) ! 1311: Like the lumberjack poem above, ! 1312: this text is within a |cw<|sp(|)figure> ! 1313: command. ! 1314: |end(figure) ! 1315: |figure_caption(This is a figure caption) ! 1316: |end(here) ! 1317: ! 1318: |p ! 1319: To create a non-filled display without spacing above and below, use the ! 1320: command |cw<|sp(|)verbatim>. ! 1321: To indent either a figure or a verbatim display, ! 1322: simply enclose it within an |cw<|sp(|)indent> command: ! 1323: ! 1324: |begin(cwfigure) ! 1325: |sp(|)begin(here) ! 1326: |sp(|)begin(indent) ! 1327: |sp(|)begin(figure) ! 1328: This is a short figure ! 1329: |sp(|)end(figure) ! 1330: |sp(|)end(indent) ! 1331: |sp(|)figure_caption(with a short caption) ! 1332: |sp(|)end(here) ! 1333: |end(cwfigure) ! 1334: ! 1335: The command |cw<|sp(|)indent> can appear either inside or around the ! 1336: |cw<|sp(|)figure> command. ! 1337: However, because the caption is centered, it should not be indented. ! 1338: |p ! 1339: The |cw<|sp(|)here> command keeps all the text within its delimiters ! 1340: together on one page. ! 1341: It is important to include both the figure proper and its caption within ! 1342: the delimiters so that the caption is never orphaned. ! 1343: If there is not enough room on the current page, |cw<|sp(|)here> ! 1344: leaves the rest of the ! 1345: page blank and skips to the next page or next column to print the block. ! 1346: It is useful after comments such as ``An example follows:'', ! 1347: because it guarantees the relative position of the comment and the block. ! 1348: |p ! 1349: Another command, |cw<|sp(|)around>, also keeps the enclosed text together. ! 1350: If it cannot print the block on the current page, however, it continues ! 1351: printing text, postponing the block until there is enough room for it. ! 1352: Usually the block will be positioned at the top of the next page; ! 1353: however, if there are multiple large floating blocks that cannot fit together ! 1354: on that page, then they will appear in order as soon as possible. ! 1355: You can use the command |cw<|sp(|)around_placement> to force all outstanding ! 1356: blocks to be printed at the end of a section or chapter. ! 1357: ! 1358: |subsection(Equations) ! 1359: ! 1360: |i<Monk> uses |i<eqn>|reference<latest eqn> to format equations. ! 1361: The |i<monk> command |cw<|sp(|)equation> delimits an equation offset from the text. ! 1362: Note that |i<monk> commands may appear within the line; ! 1363: they do not need to be at the beginning of a line. ! 1364: ! 1365: |begin(cwfigure) ! 1366: |sp(|)begin(center) ! 1367: |sp(|)equation_number[(1a)] ! 1368: |sp(|)begin(equation)x = 2 pi int ! 1369: sin ( omega t ) dt ! 1370: |sp(|)end(equation) ! 1371: |sp(|)end(center) ! 1372: |end(cwfigure) ! 1373: ! 1374: When formatted the above input produces: ! 1375: ! 1376: |begin(center) ! 1377: |equation_number[(1a)] ! 1378: |begin(equation)x = 2 pi int ! 1379: sin ( omega t ) dt ! 1380: |end(equation) ! 1381: |end(center) ! 1382: |blank_space(-1) ! 1383: ! 1384: The same output is produced by the short |i<monk> form: ! 1385: |cw<|sp(|)equation[x = 2 pi int sin ( omega t ) dt]>. ! 1386: Captions are specified using |cw<|sp(|)equation_caption>. ! 1387: |p ! 1388: The equation itself ! 1389: is explained on page 2 of the Kernighan and Cherry memo.|footnote{Remember ! 1390: that the |i<monk> command |cw<|sp(|)equation(...)> replaces all ! 1391: instances of |cw<.EQ> and |cw<.EN> and that |cw<|sp(|)e(...)> replaces the ! 1392: |cw<$...$> delimiters for in-line equations.} ! 1393: To write in-line equations, ! 1394: delimit the equation using |cw<|sp(|)e>. ! 1395: The input |cw{|sp(|)e<x = 2 pi int sin ( omega t ) dt>} ! 1396: produces the equation |e<x = 2 pi int sin ( omega t ) dt> ! 1397: without offsetting it. ! 1398: ! 1399: |subsection(Tables) ! 1400: |save(table_example) ! 1401: ! 1402: |i<Monk> does not provide any new capabilities for formatting tables; ! 1403: it uses |i(tbl)|reference(latest tbl). ! 1404: It provides |i<monk>-style commands for positioning both the table and its caption ! 1405: and automatically invokes the standard |i(tbl) formatting program. ! 1406: The following input formats the table in the file |i(examples/example.table), ! 1407: which appears as Appendix |remember(table_appendix).|footnote{The ! 1408: formatting commands |cw<.TS> and |cw<.TE> ! 1409: need to be omitted from the sample file.} ! 1410: The table could be typed into the file directly; here it is put into another ! 1411: file just to simplify and condense the |i<monk> example. ! 1412: ! 1413: |begin(cwfigure) ! 1414: |sp(|)begin(here) ! 1415: |sp(|)table_caption(Example of table) ! 1416: |sp(|)begin(table) ! 1417: |sp(|)insert(examples/example.table) ! 1418: |sp(|)end(table) ! 1419: |sp(|)end(here) ! 1420: |end(cwfigure) ! 1421: ! 1422: |p ! 1423: The command |cw<|sp(|)here> guarantees that the caption will not be separated ! 1424: from the table if it happens to hit a page boundary. ! 1425: The remainder of the page would be blank, ! 1426: and the table with caption would be printed on the next page ! 1427: or in the next column for multi-column documents. ! 1428: Together |i<monk> and |i<tbl> produce ! 1429: ! 1430: |begin(here) ! 1431: \!.sp -1 ! 1432: |table_caption(Example of table) ! 1433: |begin(table) ! 1434: |comment<inserting examples/example.table starting here> ! 1435: box; ! 1436: c1 s1 s ! 1437: c1 | c1 | c ! 1438: l1 | l1 | n. ! 1439: Major New York Bridges ! 1440: = ! 1441: Bridge Designer Length ! 1442: _ ! 1443: Brooklyn J. A. Roebling 1595 ! 1444: Manhattan G. Lindenthal 1470 ! 1445: Williamsburg L. L. Buck 1600 ! 1446: _ ! 1447: Queensborough Palmer & 1182 ! 1448: Hornbostel ! 1449: _ ! 1450: 1380 ! 1451: Triborough O. H. Ammann _ ! 1452: 383 ! 1453: _ ! 1454: Bronx Whitestone O. H. Ammann 2300 ! 1455: Throgs Neck O. H. Ammann 1800 ! 1456: _ ! 1457: George Washington O. H. Ammann 3500 ! 1458: |comment<inserting examples/example.table ending here> ! 1459: |end(table) ! 1460: |end(here) ! 1461: ! 1462: |p ! 1463: If you have a 5620 or a 630MTG terminal, ! 1464: the interactive table editor |i<vtbl> ! 1465: can be used to prepare |i<tbl> input.|reference(Murrel bitmaps build tables) ! 1466: Both the table structure and its text contents can be edited using |i<vtbl>. ! 1467: |comment[ ! 1468: |subsection(Computer Programs and Output) ! 1469: Two special types of figures are provided for computer-related text. ! 1470: The command |cw<|sp(|)program> beautifies the source code of C, ! 1471: a high-level programming language. ! 1472: It will try to beautify anything appearing within its delimiters following a simple ! 1473: set of rules that identify program segments. ! 1474: |begin(program) ! 1475: main() ! 1476: { ! 1477: printf("Hello World\n"); ! 1478: } ! 1479: |end(program) ! 1480: Used inappropriately, it will produce good looking garbage. ! 1481: |cw<|sp(|)computeroutput_caption (Example of computer output)> and ! 1482: |cw<|sp(|)program_caption (Example of program)> ! 1483: provide the associated captions.] ! 1484: ! 1485: |subsection(Computer Output) ! 1486: ! 1487: The command |cw<|sp(|)computeroutput> produces a figure using a constant width ! 1488: type that resembles low quality line printer output. ! 1489: ! 1490: |begin(computeroutput) ! 1491: Program: SINDSCAL-symmetric indscal ! 1492: ! 1493: *********************************** ! 1494: parameters ! 1495: dim irdata itmax irn ! 1496: 2 2 200 9342 ! 1497: no. of matrices=5 no. of stim.=9 ! 1498: *********************************** ! 1499: ! 1500: correlations vaf loss ! 1501: y(data)&yhat (r**2) (y-yhat)**2 ! 1502: .161169 .025975 .974025 ! 1503: .650655 .423352 .605140 ! 1504: |end(computeroutput) ! 1505: |blank_space(-2) ! 1506: |computeroutput_caption(Example of computer output) ! 1507: ! 1508: |cw<|sp(|)computeroutput_caption (Example of computer output)> ! 1509: provides the associated caption. ! 1510: Currently these captions are the same as figure captions. ! 1511: ! 1512: |subsection(Pictures) ! 1513: |save(picture_example) ! 1514: ! 1515: |i<Monk> commands also provide access to |i<pic>, a graphics language for ! 1516: typesetting.|reference[latest pic] ! 1517: Borrowing an example from the |i<PIC User Manual>,|footnote{Remember ! 1518: that the |i<monk> command |cw<|sp(|)picture(...)> replaces all ! 1519: instances of |cw<PS> and |cw<PE>.} ! 1520: the |i<monk> input ! 1521: ! 1522: |begin(cwfigure) ! 1523: |sp(|)begin(here) ! 1524: |sp(|)begin(picture) ! 1525: |sp(|)insert(examples/example.pic1) ! 1526: |sp(|)end(picture) ! 1527: |sp(|)picture_caption(Example of picture) ! 1528: |sp(|)end(here) ! 1529: |end(cwfigure) ! 1530: ! 1531: produces ! 1532: ! 1533: |begin(picture) ! 1534: |comment<inserting examples/example.pic1 starting here> ! 1535: A: ellipse ! 1536: ellipse ht .2 wid .3 with .se at 1st ellipse.nw ! 1537: ellipse ht .2 wid .3 with .sw at 1st ellipse.ne ! 1538: circle rad .05 at 0.5 <A.nw,A.c> ! 1539: circle rad .05 at 0.5 <A.ne,A.c> ! 1540: arc from 0.25 <A.w,A.e> to 0.75 <A.w,A.e> ! 1541: |comment<inserting examples/example.pic1 ending here> ! 1542: |end(picture) ! 1543: |picture_caption(Example of picture) ! 1544: ! 1545: |p ! 1546: If you have a 5620 or a 630MTG terminal, ! 1547: the interactive drawing program |i<cip> ! 1548: can be used to prepare |i<pic> input.|reference(latest cip) ! 1549: |p ! 1550: Another example from Kernighan's |i<PIC Revised User Manual> illustrates ! 1551: the use of an in-line equation embedded in a picture.|footnote{In ! 1552: this example, the equation within the delimiters must be placed within the ! 1553: |cw<|sp(|)e> command.} ! 1554: ! 1555: |comment<box "|sp(|s)e[space 0 {H( omega )} over {1 - H( omega )}]"> ! 1556: ! 1557: |begin(cwfigure) ! 1558: |sp(|)begin(here) ! 1559: |sp(|)begin(picture) ! 1560: arrow ! 1561: box "|sp(|)e[{H( omega )} over {1 - H( omega )}]" ! 1562: arrow ! 1563: |sp(|)end(picture) ! 1564: |sp(|)picture_caption(Picture with equation) ! 1565: |sp(|)end(here) ! 1566: |end(cwfigure) ! 1567: ! 1568: produces the following beauty ! 1569: ! 1570: |begin(here) ! 1571: |begin(picture) ! 1572: arrow ! 1573: box "|e[{H( omega )} over {1 - H( omega )}]" ! 1574: arrow ! 1575: |end(picture) ! 1576: |picture_caption(Picture with equation) ! 1577: |end(here) ! 1578: ! 1579: |comment{ ! 1580: |subsection(Strings) ! 1581: |cw<|sp(|)savestring> saves strings for you to use later. ! 1582: |savestring(os "The UNIX operating system") ! 1583: After the command |cw<|sp(|)savestring(os "The UNIX operating system")>, ! 1584: |cw<|sp(s)remember(os)> is replaced by |remember(os). ! 1585: They are especially useful when you want to repeatedly use some long name or ! 1586: phrase. ! 1587: } ! 1588: ! 1589: |subsection(Footnotes) ! 1590: ! 1591: A numbered footnote is generated by the command |cw[|sp(|)footnote] appended to ! 1592: the running text.|footnote(This is a numbered footnote) ! 1593: The text |cw<|sp(|)footnote(This is yet another numbered footnote)> ! 1594: produces ! 1595: numbered footnotes.|footnote(This is yet another numbered footnote) ! 1596: Analogously, |cw<|sp(|)dagnote> and |cw<|sp(|)starnote> produce ! 1597: daggered footnotes|dagnote(This is a daggered footnote) ! 1598: and starred footnotes.|starnote(This is a starred footnote) ! 1599: Footnote types can be mixed, as in this section. ! 1600: ! 1601: |subsection(Citations) ! 1602: |save(save_section) ! 1603: ! 1604: |i<Monk> uses the program |i<cite> to handle citations. ! 1605: The command |cw<|sp(|)save(tag)> ! 1606: remembers the last important numbered item as the label ! 1607: |i[tag]. ! 1608: It saves the number of the last figure, picture, equation, table, ! 1609: section, subsection, subsubsection or appendix. ! 1610: At this point the command |cw<|sp(|)save(this_section)> stores ! 1611: the number of the current subsection as |cw(this_section). ! 1612: |save(this_section) ! 1613: The |i(monk) command |cw<|sp(|)remember(this_section)> is replaced by ! 1614: that stored value wherever it appears in the text: ! 1615: |cw[This section is |sp(|)remember(this_section)] appears in the ! 1616: final output as This section is |remember(this_section). ! 1617: It is crucial to understand that |cw[|sp(|)save] stores the most recent ! 1618: counter, whatever its type. ! 1619: If a numbered figure appears between the section header and the |cw[|sp(|)save] ! 1620: command, then the number saved will be that figure number. ! 1621: The tag name itself has no particular meaning. ! 1622: Position is what counts. ! 1623: |p ! 1624: Page numbers can be saved using the command |cw<|sp(|)savepage.> ! 1625: |cw<|sp(|)savepage(tag)> saves the current page number as ! 1626: the label |cw[tag]. ! 1627: Again, |cw<|sp(|)remember(tag)> substitutes the number ! 1628: associated with |cw[tag]. ! 1629: The text ! 1630: |cw<the current page is |sp(|)savepage(foobar) |sp(|)remember(foobar)> ! 1631: generates |cw<the current page is |savepage(foobar)|remember(foobar)>. ! 1632: |p ! 1633: If all citations are saved before they are used, then the user need ! 1634: only enter the commands shown above in the |i<monk> input text. ! 1635: If, however, the input uses a citation before it really is saved, ! 1636: as in the example below, then there is more to do. ! 1637: ! 1638: |begin(cwfigure) ! 1639: All commands are listed in appendix ! 1640: |sp(|)remember(appendix_commands). ! 1641: |sp(zero width space)|b(...) ! 1642: |sp(|)appendix(|s(LIST OF COMMANDS)) ! 1643: |sp(|)save(appendix_commands) ! 1644: |end(cwfigure) ! 1645: ! 1646: Forward referencing depends on a file named |cw<.cite>, ! 1647: which is generated each time the input is formatted. ! 1648: The |small<UNIX> command ! 1649: ! 1650: |begin(figure) ! 1651: |cw(cite |sp(minus)s .cite > myfile.cite) ! 1652: |end(figure) ! 1653: ! 1654: reports any redefinitions or unused definitions and produces a consistent ! 1655: set of citations. ! 1656: The output file |cw<myfile.cite> needs to be inserted in the |i<monk> input ! 1657: before the first citation. ! 1658: Do so using the command |cw<|sp(|)insert(myfile.cite)>. ! 1659: ! 1660: |comment[ ! 1661: |subsection(Creating an Index) ! 1662: You can specify keywords to be inserted in an index using |cw(|sp(|)index): ! 1663: |cw<|sp(|)index(these words)>. ! 1664: The keywords |i<these words> will appear in the index with the current page ! 1665: number.] ! 1666: ........ ! 1667: ! 1668: |subsection(References) ! 1669: ! 1670: |i<Monk> uses |i<prefer> to extract references from a ! 1671: bibliographic database.|reference<Derr Prefer> ! 1672: To use |i<prefer> capabilities with |i<monk>, ! 1673: there are only two additional things you need to know. ! 1674: First, the |cw<|sp(|)reference> command passes a partial reference to ! 1675: |i<prefer>, as in: ! 1676: |cw<|sp(|)|sp(zero width space)reference( Derr Prefer)>. ! 1677: When this command is used, |i<monk> will automatically invoke |i<prefer>. ! 1678: Second, the |cw<|sp(minus)R> option to |i<monk> serves to specify ! 1679: a local or private bibliography file: ! 1680: ! 1681: |begin(cwfigure) ! 1682: monk |sp(minus)Sproof |sp(minus)R bibliofile myfile ! 1683: |end(cwfigure) ! 1684: ! 1685: |section(Advanced Monk) ! 1686: ! 1687: |subsection(Preparing a large document) ! 1688: ! 1689: When working on large documents, ! 1690: it is important to be able to run off parts of the document separately, ! 1691: while maintaining correct numbering and references to other parts of the document. ! 1692: You can do this with |i<monk> by dividing the document into several files ! 1693: and identifying each file appropriately. ! 1694: |p ! 1695: The top-level file should contain all style information ! 1696: and include the various segments. ! 1697: For a book with three chapters, the parent file |cw<myfile> might look like: ! 1698: ! 1699: |begin(cwfigure) ! 1700: |sp(|)make(kluwer) ! 1701: |sp(|)style(page_width 7i) ! 1702: |sp(|)insert(chapter1) ! 1703: |sp(|)insert(chapter2) ! 1704: |sp(|)insert(chapter3) ! 1705: |end(cwfigure) ! 1706: ! 1707: The first line of each chapter file should identify it as a part ! 1708: of |cw<myfile>: |cw<|sp(|)part(myfile)>. ! 1709: |p ! 1710: When you run off the entire document, |i<monk> will remember the assorted ! 1711: section, display, and page numbers. ! 1712: ! 1713: |comment{as well as information you save using ! 1714: |cw<|sp(|)save> or |cw<|sp(|)savepage>.} ! 1715: ! 1716: These numbers will then be used when you run off individual parts. ! 1717: Note that the numbers should always be reasonable approximations, but may ! 1718: not always be correct. ! 1719: When several sections are changing simultaneously, you will need to ! 1720: generate the entire document periodically to guarantee that all numbers ! 1721: are exact. ! 1722: ! 1723: |comment{ ! 1724: |subsection(Table of contents) ! 1725: To run off a table of contents with your document, ! 1726: use the |cw(|sp(minus)ZZZ) option. ! 1727: To run off only a table of contents, ZZZ. ! 1728: By default, this will produce ZZZ. ! 1729: |p ! 1730: You have the following options: ZZZ.} ! 1731: ! 1732: |comment{ ! 1733: |section(Error messages) ! 1734: The following are the error messages currently given by monk: ! 1735: |begin(figure) ! 1736: |begin(cw) ! 1737: usage: monk [-d database_dir -n ] filename; no option g ! 1738: fiugre is not a monk command: use ``|sp(|)sp(|sp(|))'' to put `|sp(|)' in text ! 1739: Expecting end for figure begun at line 112; got end for table ! 1740: No end for figure begun at line 112 ! 1741: Unexpected end for figure ! 1742: Mismatched delimiters around figure; expecting >, got EOF ! 1743: Mismatched delimiters around figure; expecting >, got ] ! 1744: |end(cw) ! 1745: |end(figure)} ! 1746: ...... ! 1747: ! 1748: |subsection(Modifying the standard formats) ! 1749: ! 1750: You can redefine existing |i<monk> commands, ! 1751: such as |cw<|sp(|)ret_address> and |cw<|sp(|)p>, ! 1752: and you can create new document types using the standard ! 1753: |i<monk> database language. ! 1754: An early description of the database language is available,|reference{monk ! 1755: database} ! 1756: but there is no up-to-date guide. ! 1757: When the dust has settled, ! 1758: a new manual will be written. ! 1759: Currently, any augmentations you write should be considered temporary. ! 1760: ! 1761: |comment{ ! 1762: When you change an existing |i<monk> command, the message ! 1763: ``|cw<file line_number: Redefining definition_name>'' ! 1764: will be printed, where |i<file> and |i<line_number> identify where the ! 1765: redefinition of |i<definition_name> was encountered. ! 1766: A definition can appear anywhere in user text, but must precede its first usage. ! 1767: We recommend maintaining separate files of definitions, rather than including ! 1768: them in-line with your text. ! 1769: The definition file can be typed on your command line, ! 1770: |cw<monk definition_file text_file>, or ! 1771: included in your text file after the |cw<|sp(|)make> command, ! 1772: |cw<|sp(|)insert(definition_file)>. ! 1773: If you change a definition in the middle of a document, ! 1774: all instances before the redefinition will use the original, ! 1775: all later instances the new. ! 1776: |p ! 1777: Certain words are reserved as internal database commands and ! 1778: cannot be redefined: ! 1779: |cw<associate>, |cw<attribute>, |cw<begin>, |cw<comment>, |cw<define>, |cw<end>, ! 1780: |cw<environment>, |cw<for>, |cw<if>, |cw<else>, |cw<ifvalue>, |cw<insert>, ! 1781: F|cw<macro>, |cw<part>, and |cw<source>.} ! 1782: ! 1783: |p ! 1784: You can also cheat by adding commands in the underlying ! 1785: formatting language;|reference<troff latest reference>|reference<troff tutorial latest> ! 1786: this method may offer quick fixes, ! 1787: but there is a possibility of conflict with the |i<monk> program. ! 1788: |i<Monk> expends considerable effort managing the state of ! 1789: various attributes such as fonts and indentation level. ! 1790: Therefore, if you change things without |i<monk>'s knowledge ! 1791: by using |i<troff> directly, ! 1792: |i<monk> may well undo your changes ! 1793: in the normal course of processing its own input commands. ! 1794: ! 1795: |subsection(Other related programs) ! 1796: ! 1797: There are three other programs useful to |i(monk) users: ! 1798: |i(demonk) is the moral equivalent of |i(deroff), ! 1799: |i(monkmerge) is the functional equivalent of |i(soelim), ! 1800: and |i(monkspell) is the |i(spell) preprocessor. ! 1801: These tools are helpful when processing |i(monk) files using other ! 1802: programs, such as indexing tools. ! 1803: ! 1804: |reference_placement ! 1805: ! 1806: |new_page ! 1807: .ad l ! 1808: |appendix(List of Commands) ! 1809: ! 1810: |comment<changed spacing above standard section in the body to match ! 1811: mpm. penalty small because there are not a lot of sections. ! 1812: changing here in the appendices changed the page count.... > ! 1813: ! 1814: |environment(section; ! 1815: divert.string Ts; ! 1816: ! 1817: minimum.lines 2v, protect, incr S0, ! 1818: clear S1 S2 S3, ! 1819: font bold, ! 1820: |ifvalue sectioning bychapter [ ! 1821: number CH, text ".", ! 1822: ] ! 1823: |ifvalue sectioning byappendix [ ! 1824: number AC, text ".", ! 1825: ] ! 1826: number S0, ! 1827: |ifvalue sectioning bysection [ ! 1828: text ".", ! 1829: ] ! 1830: text " ", string Ts, font roman, ! 1831: paragraph, ! 1832: clear string Rs, ! 1833: |ifvalue sectioning bychapter [ ! 1834: store string.from.number Rs CH, ! 1835: add string Rs ".", ! 1836: ] ! 1837: |ifvalue sectioning byappendix [ ! 1838: store string.from.number Rs AC, ! 1839: add string Rs ".", ! 1840: ] ! 1841: add string.from.number Rs S0, ! 1842: |ifvalue sectioning bysection [ ! 1843: contents section 1 Rs Ts, ! 1844: ] ! 1845: |ifvalue sectioning bychapter [ ! 1846: contents section 2 Rs Ts, ! 1847: ] ! 1848: |ifvalue sectioning byappendix [ ! 1849: contents section 2 Rs Ts, ! 1850: ]) ! 1851: |comment<summary: section (numbered section; IT)> ! 1852: ! 1853: |section(Global Commands) ! 1854: ! 1855: |comment<inserting commands/global starting here> ! 1856: .in +.4i ! 1857: .ti -.4i ! 1858: \f(CWA_list\fP alphabetized list using A. ! 1859: .ti -.4i ! 1860: \f(CWI_list\fP numbered list using I. ! 1861: .ti -.4i ! 1862: \f(CWa_list\fP alphabetized list using a) ! 1863: .ti -.4i ! 1864: \f(CWappendix\fP numbered appendix; can be saved|dagnote(important values can be saved and remembered; see section |remember(save_section)) ! 1865: .ti -.4i ! 1866: \f(CWapproved\fP approved ! 1867: .ti -.4i ! 1868: \f(CWaround\fP keep a block together here or move it to a later page ! 1869: .ti -.4i ! 1870: \f(CWaround_placement\fP outputs all arounds ! 1871: .ti -.4i ! 1872: \f(CWauthordagnote\fP footnote marked with a dagger for author names in titlebox ! 1873: .ti -.4i ! 1874: \f(CWb\fP bold ! 1875: .ti -.4i ! 1876: \f(CWbargraph\fP a bar graph in bar ! 1877: .ti -.4i ! 1878: \f(CWbargraph_caption\fP the bar graph's caption; can be saved ! 1879: .ti -.4i ! 1880: \f(CWbi\fP bolditalics ! 1881: .ti -.4i ! 1882: \f(CWbig\fP increase point size ! 1883: .ti -.4i ! 1884: \f(CWblank_space\fP leave this much blank space ! 1885: .ti -.4i ! 1886: \f(CWbold\fP alias for b ! 1887: .ti -.4i ! 1888: \f(CWbolditalics\fP alias for bi ! 1889: .ti -.4i ! 1890: \f(CWbullet_list\fP bulleted list using \s-2\(bu\s+2 ! 1891: .ti -.4i ! 1892: \f(CWcenter\fP center each line ! 1893: .ti -.4i ! 1894: \f(CWcenter_block\fP center all lines as a block ! 1895: .ti -.4i ! 1896: \f(CWchapter\fP numbered chapter; can be saved ! 1897: .ti -.4i ! 1898: \f(CWcolumn_style\fP width, offset ! 1899: .ti -.4i ! 1900: \f(CWcomment\fP comment out text ! 1901: .ti -.4i ! 1902: \f(CWcomputeroutput\fP figure using cw ! 1903: .ti -.4i ! 1904: \f(CWcomputeroutput_caption\fP the computer output's caption; can be saved ! 1905: .ti -.4i ! 1906: \f(CWconstant_width\fP alias for cw ! 1907: .ti -.4i ! 1908: \f(CWcw\fP constant width ! 1909: .ti -.4i ! 1910: \f(CWdagnote\fP footnote marked with a dagger ! 1911: .ti -.4i ! 1912: \f(CWdash_list\fP dashed list using \(em ! 1913: .ti -.4i ! 1914: \f(CWe\fP an inline equation in eqn ! 1915: .ti -.4i ! 1916: \f(CWendnote\fP numbered endnote ! 1917: .ti -.4i ! 1918: \f(CWendnote_placement\fP outputs endnotes ! 1919: .ti -.4i ! 1920: \f(CWequation\fP an equation in eqn ! 1921: .ti -.4i ! 1922: \f(CWequation_caption\fP the equation's caption; can be saved ! 1923: .ti -.4i ! 1924: \f(CWequation_number\fP the equation's number; can be saved ! 1925: .ti -.4i ! 1926: \f(CWfigure\fP a figure ! 1927: .ti -.4i ! 1928: \f(CWfigure_caption\fP the figure's caption; can be saved ! 1929: .ti -.4i ! 1930: \f(CWfootnote\fP numbered footnote ! 1931: .ti -.4i ! 1932: \f(CWfull\fP use full page width for footnotes and arounds ! 1933: .ti -.4i ! 1934: \f(CWgraph\fP a graph in grap ! 1935: .ti -.4i ! 1936: \f(CWgraph_caption\fP the graph's caption; can be saved ! 1937: .ti -.4i ! 1938: \f(CWhere\fP keep a block together on this page or start a new page ! 1939: .ti -.4i ! 1940: \f(CWi\fP italics ! 1941: .ti -.4i ! 1942: \f(CWi_list\fP numbered list using i) ! 1943: .ti -.4i ! 1944: \f(CWideal\fP a picture in ideal ! 1945: .ti -.4i ! 1946: \f(CWideal_caption\fP the ideal's caption; can be saved ! 1947: .ti -.4i ! 1948: \f(CWindent\fP indent by standard amount ! 1949: .ti -.4i ! 1950: \f(CWindex\fP save this item and page number for index ! 1951: .ti -.4i ! 1952: \f(CWindex_level0\fP index program top level without sublevels ! 1953: .ti -.4i ! 1954: \f(CWindex_level1\fP index program top level with sublevels ! 1955: .ti -.4i ! 1956: \f(CWindex_level2\fP index program sublevel ! 1957: .ti -.4i ! 1958: \f(CWindex_placement\fP put the index here ! 1959: .ti -.4i ! 1960: \f(CWinsert\fP insert a file here ! 1961: .ti -.4i ! 1962: \f(CWipa\fP international phonetic alphabet ! 1963: .ti -.4i ! 1964: \f(CWitalics\fP alias for i ! 1965: .ti -.4i ! 1966: \f(CWitem\fP item of a list; can be saved ! 1967: .ti -.4i ! 1968: \f(CWleft_adjust\fP left adjust the text ! 1969: .ti -.4i ! 1970: \f(CWleft_center_right\fP left justify, center, right justify a line ! 1971: .ti -.4i ! 1972: \f(CWnarrow\fP use current column for footnotes and arounds ! 1973: .ti -.4i ! 1974: \f(CWnew_column\fP skip to the next column ! 1975: .ti -.4i ! 1976: \f(CWnew_page\fP skip to the next page ! 1977: .ti -.4i ! 1978: \f(CWnotation\fP notation ! 1979: .ti -.4i ! 1980: \f(CWnumber_list\fP numbered list using 1. ! 1981: .ti -.4i ! 1982: \f(CWp\fP alias for paragraph ! 1983: .ti -.4i ! 1984: \f(CWp_a_list\fP alphabetized list using (a) ! 1985: .ti -.4i ! 1986: \f(CWp_number_list\fP numbered list using (1) ! 1987: .ti -.4i ! 1988: \f(CWparagraph\fP n, i, f, numbered, indented, flushed ! 1989: .ti -.4i ! 1990: \f(CWpart\fP multi-part document ! 1991: .ti -.4i ! 1992: \f(CWped\fP a picture in ped ! 1993: .ti -.4i ! 1994: \f(CWped_caption\fP the ped's caption; can be saved ! 1995: .ti -.4i ! 1996: \f(CWpicture\fP a picture in pic ! 1997: .ti -.4i ! 1998: \f(CWpicture_caption\fP the picture's caption; can be saved ! 1999: .ti -.4i ! 2000: \f(CWquotation\fP indent left and right ! 2001: .ti -.4i ! 2002: \f(CWr\fP roman ! 2003: .ti -.4i ! 2004: \f(CWreference\fP a reference in prefer ! 2005: .ti -.4i ! 2006: \f(CWreference_database\fP use this database file for prefer ! 2007: .ti -.4i ! 2008: \f(CWreference_include\fP these reference in prefer ! 2009: .ti -.4i ! 2010: \f(CWreference_list\fP format these databases in prefer ! 2011: .ti -.4i ! 2012: \f(CWreference_placement\fP produce references here ! 2013: .ti -.4i ! 2014: \f(CWremember\fP remember the important thing or page number saved in this label ! 2015: .ti -.4i ! 2016: \f(CWroman\fP alias for r ! 2017: .ti -.4i ! 2018: \f(CWs\fP alias for small ! 2019: .ti -.4i ! 2020: \f(CWsave\fP save last important thing, shown as ``can be saved'', in this label ! 2021: .ti -.4i ! 2022: \f(CWsavepage\fP save last page number in this label ! 2023: .ti -.4i ! 2024: \f(CWsavestring\fP save string under this name ! 2025: .ti -.4i ! 2026: \f(CWsection\fP numbered section; can be saved ! 2027: .ti -.4i ! 2028: \f(CWset_counter\fP page, chapter, section, subsection, subsubsection, appendix, figure, table, footnote, note ! 2029: .ti -.4i ! 2030: \f(CWset_string\fP page_headers, even_headers, odd_headers, page_footers, even_footers, odd_footers ! 2031: .ti -.4i ! 2032: \f(CWsmall\fP reduce the point size ! 2033: .ti -.4i ! 2034: \f(CWsource\fP insert a file here without processing it ! 2035: .ti -.4i ! 2036: \f(CWsp\fP special characters ! 2037: .ti -.4i ! 2038: \f(CWstarnote\fP footnote marked with a star ! 2039: .ti -.4i ! 2040: \f(CWstyle\fP controls general style of document ! 2041: .ti -.4i ! 2042: \f(CW 1_5_space\fP 1 and a half space ! 2043: .ti -.4i ! 2044: \f(CW double_space\fP double space ! 2045: .ti -.4i ! 2046: \f(CW font_family\fP times, palatino, bembo, optima, souvenir, helvetica, cw, gothic, condensed, narrow ! 2047: .ti -.4i ! 2048: \f(CW font_size\fP font_size font_spacing ! 2049: .ti -.4i ! 2050: \f(CW list_spacing\fP on, off ! 2051: .ti -.4i ! 2052: \f(CW multi_column\fP multiple columns per page ! 2053: .ti -.4i ! 2054: \f(CW one_column\fP full page output ! 2055: .ti -.4i ! 2056: \f(CW page_length\fP length of the printed page ! 2057: .ti -.4i ! 2058: \f(CW page_number\fP arabic, roman ! 2059: .ti -.4i ! 2060: \f(CW page_offset\fP offset of the printed page ! 2061: .ti -.4i ! 2062: \f(CW page_width\fP width of the printed page ! 2063: .ti -.4i ! 2064: \f(CW paragraph_style\fP indented, numbered, flushed ! 2065: .ti -.4i ! 2066: \f(CW reference\fP acm, apa, att, ieee, lsa, pami, spectrum ! 2067: .ti -.4i ! 2068: \f(CW reference_option\fP tm, rp, nroff, troff, sort, sequence, a, d, t, ad, at, da, dt, ta, td, adt, atd, dat, dta, tad, tda ! 2069: .ti -.4i ! 2070: \f(CW single_space\fP single space ! 2071: .ti -.4i ! 2072: \f(CW triple_space\fP triple space ! 2073: .ti -.4i ! 2074: \f(CW two_column\fP two columns per page ! 2075: .ti -.4i ! 2076: \f(CWsubsection\fP numbered subsection; can be saved ! 2077: .ti -.4i ! 2078: \f(CWsubsubsection\fP numbered subsubsection; can be saved ! 2079: .ti -.4i ! 2080: \f(CWtable\fP a table in tbl ! 2081: .ti -.4i ! 2082: \f(CWtable_caption\fP the table's caption; can be saved ! 2083: .ti -.4i ! 2084: \f(CWtc_entry\fP tc program entry ! 2085: .ti -.4i ! 2086: \f(CWtc_heading\fP tc program heading ! 2087: .ti -.4i ! 2088: \f(CWtc_placement\fP output the table of contents ! 2089: .ti -.4i ! 2090: \f(CWtext\fP fill the text ! 2091: .ti -.4i ! 2092: \f(CWu\fP underline ! 2093: .ti -.4i ! 2094: \f(CWunderline\fP alias for u ! 2095: .ti -.4i ! 2096: \f(CWunnumbered_appendix\fP unnumbered appendix ! 2097: .ti -.4i ! 2098: \f(CWunnumbered_chapter\fP unnumbered chapter ! 2099: .ti -.4i ! 2100: \f(CWunnumbered_footnote\fP unnumbered footnote ! 2101: .ti -.4i ! 2102: \f(CWunnumbered_section\fP unnumbered section ! 2103: .ti -.4i ! 2104: \f(CWunnumbered_subsection\fP unnumbered subsection ! 2105: .ti -.4i ! 2106: \f(CWunnumbered_subsubsection\fP unnumbered subsubsection ! 2107: .ti -.4i ! 2108: \f(CWverbatim\fP text exactly as it is ! 2109: .in -.4i ! 2110: |comment<inserting commands/global ending here> ! 2111: ! 2112: |section(Letters) ! 2113: ! 2114: |comment<inserting commands/letter starting here> ! 2115: .in +.4i ! 2116: .ti -.4i ! 2117: \f(CWaddress\fP who to address the letter to ! 2118: .ti -.4i ! 2119: \f(CWbody\fP body of letter ! 2120: .ti -.4i ! 2121: \f(CWclosing\fP salutation ! 2122: .ti -.4i ! 2123: \f(CWdate\fP date ! 2124: .ti -.4i ! 2125: \f(CWgreeting\fP greeting ! 2126: .ti -.4i ! 2127: \f(CWret_address\fP return address ! 2128: .ti -.4i ! 2129: \f(CWsignature\fP signature ! 2130: .in -.4i ! 2131: |comment<inserting commands/letter ending here> ! 2132: ! 2133: |section(Memoranda) ! 2134: ! 2135: |comment<inserting commands/memo starting here> ! 2136: .in +.4i ! 2137: .ti -.4i ! 2138: \f(CWabstract\fP abstract for coversheet ! 2139: .ti -.4i ! 2140: \f(CWauthor\fP name, initials, location, department, extension, room for title box and coversheet ! 2141: .ti -.4i ! 2142: \f(CWdate\fP date of tm for title box and coversheet ! 2143: .ti -.4i ! 2144: \f(CWdocument\fP number, file_case, work_program for title box and coversheet ! 2145: .ti -.4i ! 2146: \f(CWkeywords\fP keywords for cover sheet ! 2147: .ti -.4i ! 2148: \f(CWsignature\fP signatures and typing credits ! 2149: .ti -.4i ! 2150: \f(CWtitle\fP title of document for title box and coversheet ! 2151: .ti -.4i ! 2152: \f(CWtitlebox\fP produce title box here ! 2153: .in -.4i ! 2154: |comment<inserting commands/memo ending here> ! 2155: ! 2156: |section(Merit Review Form 1) ! 2157: ! 2158: |comment<inserting commands/form1 starting here> ! 2159: .in +.4i ! 2160: .ti -.4i ! 2161: \f(CWdate\fP date for signature ! 2162: .ti -.4i ! 2163: \f(CWdepartment\fP department for titlebox ! 2164: .ti -.4i ! 2165: \f(CWname\fP name for titlebox and signature ! 2166: .ti -.4i ! 2167: \f(CWp\fP paragraph ! 2168: .ti -.4i ! 2169: \f(CWsignature\fP signature ! 2170: .ti -.4i ! 2171: \f(CWtitlebox\fP title box ! 2172: .in -.4i ! 2173: |comment<inserting commands/form1 ending here> ! 2174: ! 2175: |section(Bi-Annual Research Reports) ! 2176: ! 2177: |comment<inserting commands/research starting here> ! 2178: .in +.4i ! 2179: .ti -.4i ! 2180: \f(CWauthor\fP name, number for footer and title box ! 2181: .ti -.4i ! 2182: \f(CWdate\fP report, range for title box ! 2183: .ti -.4i ! 2184: \f(CWdepartment\fP name, number for title box ! 2185: .ti -.4i ! 2186: \f(CWp\fP alias for paragraph ! 2187: .ti -.4i ! 2188: \f(CWparagraph\fP i, indented ! 2189: .ti -.4i ! 2190: \f(CWsection\fP section ! 2191: .ti -.4i ! 2192: \f(CWsignature\fP signature ! 2193: .ti -.4i ! 2194: \f(CWtitlebox\fP title box ! 2195: .in -.4i ! 2196: |comment<inserting commands/research ending here> ! 2197: ! 2198: |section(Center Phone Books) ! 2199: ! 2200: |comment<inserting commands/centerpb starting here> ! 2201: .in +.4i ! 2202: .ti -.4i ! 2203: \f(CWdate\fP date of center phone book ! 2204: .ti -.4i ! 2205: \f(CWdepartment\fP a department ! 2206: .ti -.4i ! 2207: \f(CWdepartment_title\fP title of department ! 2208: .ti -.4i ! 2209: \f(CWemployee\fP name, nicname, phone, room, email, secretary, consultant, contractor, intern, limited term, resident visitor, casual, post doc, temporary, mit coop, department ! 2210: .ti -.4i ! 2211: \f(CWlaboratory\fP a laboratory ! 2212: .ti -.4i ! 2213: \f(CWlaboratory_title\fP title of laboratory ! 2214: .ti -.4i ! 2215: \f(CWroom\fP name, phone, room, email ! 2216: .ti -.4i ! 2217: \f(CWtitlebox\fP title box ! 2218: .in -.4i ! 2219: |comment<inserting commands/centerpb ending here> ! 2220: ! 2221: |section(Technical Memoranda) ! 2222: ! 2223: |comment<inserting commands/tm starting here> ! 2224: .in +.4i ! 2225: .ti -.4i ! 2226: \f(CWabstract\fP abstract for coversheet ! 2227: .ti -.4i ! 2228: \f(CWadd_totals\fP text, other, figure, table, reference counts for cover sheet ! 2229: .ti -.4i ! 2230: \f(CWatt\fP is_release for cover sheet ! 2231: .ti -.4i ! 2232: \f(CWauthor\fP name, initials, location, department, extension, room for title box and coversheet ! 2233: .ti -.4i ! 2234: \f(CWcover_sheet\fP produce the coversheet here ! 2235: .ti -.4i ! 2236: \f(CWdate\fP date of tm for title box and coversheet ! 2237: .ti -.4i ! 2238: \f(CWdh_name\fP department head's name for cover sheet ! 2239: .ti -.4i ! 2240: \f(CWdirector_name\fP director's name for cover sheet ! 2241: .ti -.4i ! 2242: \f(CWdistribute_complete_memo\fP distribution list for complete memo ! 2243: .ti -.4i ! 2244: \f(CWdistribute_cover_sheet\fP distribution list for cover sheet ! 2245: .ti -.4i ! 2246: \f(CWdocument\fP number, file_case, work_program for title box and coversheet ! 2247: .ti -.4i ! 2248: \f(CWearlier\fP replacing earlier document_number for cover sheet ! 2249: .ti -.4i ! 2250: \f(CWgovernment_security\fP government security clearance for cover sheet ! 2251: .ti -.4i ! 2252: \f(CWkeywords\fP keywords for cover sheet ! 2253: .ti -.4i ! 2254: \f(CWmercury\fP chm, cmm, cmp, elc, lfs, man, mas, mkt, phy, std mercury distribution for cover sheet ! 2255: .ti -.4i ! 2256: \f(CWother\fP end of text body/start of attached pages ! 2257: .ti -.4i ! 2258: \f(CWproprietary_class\fP proprietary classification for cover sheet ! 2259: .ti -.4i ! 2260: \f(CWsignature\fP signatures and typing credits ! 2261: .ti -.4i ! 2262: \f(CWtitle\fP title of document for title box and coversheet ! 2263: .ti -.4i ! 2264: \f(CWtitlebox\fP produce title box here ! 2265: .in -.4i ! 2266: |comment<inserting commands/tm ending here> ! 2267: ! 2268: |section(Internal Memoranda) ! 2269: ! 2270: |comment<inserting commands/im starting here> ! 2271: .in +.4i ! 2272: .ti -.4i ! 2273: \f(CWabstract\fP abstract for coversheet ! 2274: .ti -.4i ! 2275: \f(CWadd_totals\fP text, other, figure, table, reference counts for cover sheet ! 2276: .ti -.4i ! 2277: \f(CWatt\fP is_release for cover sheet ! 2278: .ti -.4i ! 2279: \f(CWauthor\fP name, initials, location, department, extension, room for title box and coversheet ! 2280: .ti -.4i ! 2281: \f(CWcover_sheet\fP produce the coversheet here ! 2282: .ti -.4i ! 2283: \f(CWdate\fP date of tm for title box and coversheet ! 2284: .ti -.4i ! 2285: \f(CWdh_name\fP department head's name for cover sheet ! 2286: .ti -.4i ! 2287: \f(CWdirector_name\fP director's name for cover sheet ! 2288: .ti -.4i ! 2289: \f(CWdistribute_complete_memo\fP distribution list for complete memo ! 2290: .ti -.4i ! 2291: \f(CWdistribute_cover_sheet\fP distribution list for cover sheet ! 2292: .ti -.4i ! 2293: \f(CWdocument\fP number, file_case, work_program for title box and coversheet ! 2294: .ti -.4i ! 2295: \f(CWearlier\fP replacing earlier document_number for cover sheet ! 2296: .ti -.4i ! 2297: \f(CWgovernment_security\fP government security clearance for cover sheet ! 2298: .ti -.4i ! 2299: \f(CWkeywords\fP keywords for cover sheet ! 2300: .ti -.4i ! 2301: \f(CWmercury\fP chm, cmm, cmp, elc, lfs, man, mas, mkt, phy, std mercury distribution for cover sheet ! 2302: .ti -.4i ! 2303: \f(CWother\fP end of text body/start of attached pages ! 2304: .ti -.4i ! 2305: \f(CWproprietary_class\fP proprietary classification for cover sheet ! 2306: .ti -.4i ! 2307: \f(CWsignature\fP signatures and typing credits ! 2308: .ti -.4i ! 2309: \f(CWtitle\fP title of document for title box and coversheet ! 2310: .ti -.4i ! 2311: \f(CWtitlebox\fP produce title box here ! 2312: .in -.4i ! 2313: |comment<inserting commands/im ending here> ! 2314: ! 2315: |section(Technical Correspondence) ! 2316: ! 2317: |comment<inserting commands/tc starting here> ! 2318: .in +.4i ! 2319: .ti -.4i ! 2320: \f(CWabstract\fP abstract for coversheet ! 2321: .ti -.4i ! 2322: \f(CWadd_totals\fP text, other, figure, table, reference counts for cover sheet ! 2323: .ti -.4i ! 2324: \f(CWatt\fP is_release for cover sheet ! 2325: .ti -.4i ! 2326: \f(CWauthor\fP name, initials, location, department, extension, room for title box and coversheet ! 2327: .ti -.4i ! 2328: \f(CWcover_sheet\fP produce the coversheet here ! 2329: .ti -.4i ! 2330: \f(CWdate\fP date of tm for title box and coversheet ! 2331: .ti -.4i ! 2332: \f(CWdh_name\fP department head's name for cover sheet ! 2333: .ti -.4i ! 2334: \f(CWdirector_name\fP director's name for cover sheet ! 2335: .ti -.4i ! 2336: \f(CWdistribute_complete_memo\fP distribution list for complete memo ! 2337: .ti -.4i ! 2338: \f(CWdistribute_cover_sheet\fP distribution list for cover sheet ! 2339: .ti -.4i ! 2340: \f(CWdocument\fP number, file_case, work_program for title box and coversheet ! 2341: .ti -.4i ! 2342: \f(CWearlier\fP replacing earlier document_number for cover sheet ! 2343: .ti -.4i ! 2344: \f(CWgovernment_security\fP government security clearance for cover sheet ! 2345: .ti -.4i ! 2346: \f(CWkeywords\fP keywords for cover sheet ! 2347: .ti -.4i ! 2348: \f(CWmercury\fP chm, cmm, cmp, elc, lfs, man, mas, mkt, phy, std mercury distribution for cover sheet ! 2349: .ti -.4i ! 2350: \f(CWother\fP end of text body/start of attached pages ! 2351: .ti -.4i ! 2352: \f(CWproprietary_class\fP proprietary classification for cover sheet ! 2353: .ti -.4i ! 2354: \f(CWsignature\fP signatures and typing credits ! 2355: .ti -.4i ! 2356: \f(CWtitle\fP title of document for title box and coversheet ! 2357: .ti -.4i ! 2358: \f(CWtitlebox\fP produce title box here ! 2359: .in -.4i ! 2360: |comment<inserting commands/tc ending here> ! 2361: ! 2362: |section(Release Papers) ! 2363: ! 2364: |comment<inserting commands/rp starting here> ! 2365: .in +.4i ! 2366: .ti -.4i ! 2367: \f(CWabstract\fP abstract for coversheet ! 2368: .ti -.4i ! 2369: \f(CWauthor\fP name, initials, location, department, extension, room for title box and coversheet ! 2370: .ti -.4i ! 2371: \f(CWdate\fP date of tm for title box and coversheet ! 2372: .ti -.4i ! 2373: \f(CWdocument\fP number, file_case, work_program for title box and coversheet ! 2374: .ti -.4i ! 2375: \f(CWkeywords\fP keywords for cover sheet ! 2376: .ti -.4i ! 2377: \f(CWtitle\fP title of document for title box and coversheet ! 2378: .ti -.4i ! 2379: \f(CWtitlebox\fP produce title box here ! 2380: .in -.4i ! 2381: |comment<inserting commands/rp ending here> ! 2382: ! 2383: |section(Association for Computing Machinery Proceedings) ! 2384: ! 2385: |comment<inserting commands/acm starting here> ! 2386: .in +.4i ! 2387: .ti -.4i ! 2388: \f(CWabstract\fP abstract for coversheet ! 2389: .ti -.4i ! 2390: \f(CWauthor\fP name, initials, location, department, extension, room for title box and coversheet ! 2391: .ti -.4i ! 2392: \f(CWdate\fP date of tm for title box and coversheet ! 2393: .ti -.4i ! 2394: \f(CWdocument\fP number, file_case, work_program for title box and coversheet ! 2395: .ti -.4i ! 2396: \f(CWkeywords\fP keywords for cover sheet ! 2397: .ti -.4i ! 2398: \f(CWreference_placement\fP produce references here ! 2399: .ti -.4i ! 2400: \f(CWtitle\fP title of document for title box and coversheet ! 2401: .ti -.4i ! 2402: \f(CWtitlebox\fP produce title box here ! 2403: .in -.4i ! 2404: |comment<inserting commands/acm ending here> ! 2405: ! 2406: |section(Conference Proceedings Model Sheets) ! 2407: ! 2408: |comment<inserting commands/model starting here> ! 2409: .in +.4i ! 2410: .ti -.4i ! 2411: \f(CWabstract\fP abstract for coversheet ! 2412: .ti -.4i ! 2413: \f(CWauthor\fP name, initials, location, department, extension, room for title box and coversheet ! 2414: .ti -.4i ! 2415: \f(CWdate\fP date of tm for title box and coversheet ! 2416: .ti -.4i ! 2417: \f(CWdocument\fP number, file_case, work_program for title box and coversheet ! 2418: .ti -.4i ! 2419: \f(CWkeywords\fP keywords for cover sheet ! 2420: .ti -.4i ! 2421: \f(CWreference_placement\fP produce references here ! 2422: .ti -.4i ! 2423: \f(CWtitle\fP title of document for title box and coversheet ! 2424: .ti -.4i ! 2425: \f(CWtitlebox\fP produce title box here ! 2426: .in -.4i ! 2427: |comment<inserting commands/model ending here> ! 2428: ! 2429: |section(Computer Science Press Books) ! 2430: ! 2431: |comment<inserting commands/cspress starting here> ! 2432: .in +.4i ! 2433: .ti -.4i ! 2434: \f(CWabstract\fP abstract for coversheet ! 2435: .ti -.4i ! 2436: \f(CWauthor\fP name, initials, location, department, extension, room for title box and coversheet ! 2437: .ti -.4i ! 2438: \f(CWdate\fP date of tm for title box and coversheet ! 2439: .ti -.4i ! 2440: \f(CWdocument\fP number, file_case, work_program for title box and coversheet ! 2441: .ti -.4i ! 2442: \f(CWkeywords\fP keywords for cover sheet ! 2443: .ti -.4i ! 2444: \f(CWtitle\fP title of document for title box and coversheet ! 2445: .ti -.4i ! 2446: \f(CWtitlebox\fP produce title box here ! 2447: .in -.4i ! 2448: |comment<inserting commands/cspress ending here> ! 2449: ! 2450: |section(Kluwer Academic Publishers Books) ! 2451: ! 2452: |comment<inserting commands/kluwer starting here> ! 2453: .in +.4i ! 2454: .ti -.4i ! 2455: \f(CWappendix\fP numbered appendix; IT ! 2456: .ti -.4i ! 2457: \f(CWchapter\fP numbered chapter; IT ! 2458: .ti -.4i ! 2459: \f(CWindex_placement\fP put the index here ! 2460: .ti -.4i ! 2461: \f(CWreference_placement\fP produce references here ! 2462: .ti -.4i ! 2463: \f(CWsection\fP numbered section; IT ! 2464: .ti -.4i ! 2465: \f(CWtc_heading\fP tc program heading ! 2466: .ti -.4i ! 2467: \f(CWunnumbered_appendix\fP unnumbered appendix ! 2468: .ti -.4i ! 2469: \f(CWunnumbered_chapter\fP unnumbered chapter ! 2470: .ti -.4i ! 2471: \f(CWunnumbered_section\fP unnumbered section ! 2472: .in -.4i ! 2473: |comment<inserting commands/kluwer ending here> ! 2474: ! 2475: |section(Nursing Home Song Sheets) ! 2476: ! 2477: |comment<inserting commands/song starting here> ! 2478: .in +.4i ! 2479: .ti -.4i ! 2480: \f(CWd\fP directive to the singers ! 2481: .ti -.4i ! 2482: \f(CWm\fP margin text ! 2483: .ti -.4i ! 2484: \f(CWrefrain\fP refrain of the song ! 2485: .ti -.4i ! 2486: \f(CWsmaller\fP print the song smaller than normal ! 2487: .ti -.4i ! 2488: \f(CWstyle singers\fP full instructions ! 2489: .ti -.4i ! 2490: \f(CWtitle\fP title of the song ! 2491: .ti -.4i ! 2492: \f(CWverse\fP verse of the song ! 2493: .in -.4i ! 2494: |comment<inserting commands/song ending here> ! 2495: ! 2496: .ad b ! 2497: ! 2498: |appendix(List of Special Characters) ! 2499: |save(special_appendix) ! 2500: ! 2501: The special characters that control spacing and carriage movements are ! 2502: described in section |remember(special_section). ! 2503: All other special characters are listed below. ! 2504: For each character, ! 2505: column |cw<Char> contains the final printed character ! 2506: and column |cw<Name> contains the keywords ! 2507: given to |i<monk> to specify the character. ! 2508: To print the character |sp(rhand), type |cw<|sp(|)sp(rhand)> ! 2509: in your input file. ! 2510: ! 2511: |comment<inserting examples/special starting here> ! 2512: |section(Common special characters) ! 2513: |begin(table) ! 2514: ; ! 2515: cfB 1 lfB cfB 1 lfB ! 2516: cw(.3i)1 lw(.85i) cw(.3i)1 lw(.85i). ! 2517: Char Name Char Name ! 2518: |sp{rhand} rhand |sp{lhand} lhand ! 2519: |sp{open quote} open quote |sp{close quote} close quote ! 2520: |sp{Em dash} Em dash |sp{minus} minus ! 2521: |sp{hyphen} hyphen |sp{underrule} underrule ! 2522: |sp{\} |sp{\} |sp{/} / ! 2523: |sp{degree} degree |sp{bullet} bullet ! 2524: |sp{dagger} dagger |sp{double dagger} double dagger ! 2525: |sp{section} section ! 2526: |sp{|} |sp{|} ! 2527: |sp{.} . ! 2528: .T& ! 2529: c1 le cz1 le. ! 2530: |sp{ATT logo} ! 2531: |sp{TM} TM |s(ATT) logo ! 2532: |sp{registered} registered |sp{copyright} copyright ! 2533: |end(table) ! 2534: |section(Greek alphabet) ! 2535: |begin(table) ! 2536: ; ! 2537: cfB 1 lfB cfB 1 lfB ! 2538: cw(.3i)1 lw(.85i) cw(.3i)1 lw(.85i). ! 2539: Char Name Char Name ! 2540: |sp{alpha} alpha |sp{ALPHA} ALPHA ! 2541: |sp{beta} beta |sp{BETA} BETA ! 2542: |sp{gamma} gamma |sp{GAMMA} GAMMA ! 2543: |sp{delta} delta |sp{DELTA} DELTA ! 2544: |sp{epsilon} epsilon |sp{EPSILON} EPSILON ! 2545: |sp{zeta} zeta |sp{ZETA} ZETA ! 2546: |sp{eta} eta |sp{ETA} ETA ! 2547: |sp{theta} theta |sp{THETA} THETA ! 2548: |sp{iota} iota |sp{IOTA} IOTA ! 2549: |sp{kappa} kappa |sp{KAPPA} KAPPA ! 2550: |sp{lambda} lambda |sp{LAMBDA} LAMBDA ! 2551: |sp{mu} mu |sp{MU} MU ! 2552: |sp{nu} nu |sp{NU} NU ! 2553: |sp{xi} xi |sp{XI} XI ! 2554: |sp{omicron} omicron |sp{OMICRON} OMICRON ! 2555: |sp{pi} pi |sp{PI} PI ! 2556: |sp{rho} rho |sp{RHO} RHO ! 2557: |sp{sigma} sigma |sp{SIGMA} SIGMA ! 2558: |sp{terminal sigma} terminal sigma ! 2559: |sp{tau} tau |sp{TAU} TAU ! 2560: |sp{upsilon} upsilon |sp{UPSILON} UPSILON ! 2561: |sp{phi} phi |sp{PHI} PHI ! 2562: |sp{chi} chi |sp{CHI} CHI ! 2563: |sp{psi} psi |sp{PSI} PSI ! 2564: |sp{omega} omega |sp{OMEGA} OMEGA ! 2565: |end(table) ! 2566: |section(Mathematical symbols) ! 2567: |begin(table) ! 2568: ; ! 2569: cfB 1 lfB cfB 1 lfB ! 2570: cw(.3i)1 lw(.85i) cw(.3i)1 lw(.85i). ! 2571: Char Name Char Name ! 2572: |sp{+} + |sp{-} - ! 2573: |sp{+-} +- |sp{*} * ! 2574: |sp{times} times |sp{divide} divide ! 2575: |sp{-wig} -wig |sp{wig} wig ! 2576: |sp{!=} != |sp{==} == ! 2577: |sp{>=} >= |sp{<=} <= ! 2578: |sp{integral} integral |sp{partial} partial ! 2579: |sp{inf} inf |sp{del} del ! 2580: |sp{not} not |sp{or} or ! 2581: |sp{prop} prop ! 2582: |sp{lceil} lceil |sp{rceil} rceil ! 2583: |sp{lfloor} lfloor |sp{rfloor} rfloor ! 2584: |end(table) ! 2585: |section(Mathematical set symbols) ! 2586: |begin(table) ! 2587: ; ! 2588: cfB 1 lfB cfB 1 lfB ! 2589: cw(.3i)1 lw(.85i) cw(.3i)1 lw(.85i). ! 2590: Char Name Char Name ! 2591: |sp{member} member |sp{cup} cup ! 2592: |sp{empty} empty |sp{cap} cap ! 2593: |sp{subset} subset |sp{superset} superset ! 2594: |sp{isubset} isubset |sp{isuperset} isuperset ! 2595: |end(table) ! 2596: |section(Miscellaneous) ! 2597: |begin(table) ! 2598: ; ! 2599: cfB 1 lfB cfB 1 lfB ! 2600: cw(.3i)1 lw(.85i) cw(.3i)1 lw(.85i). ! 2601: Char Name Char Name ! 2602: |sp{fi} fi |sp{fl} fl ! 2603: |sp{ff} ff |sp{ffi} ffi ! 2604: |sp{ffl} ffl ! 2605: |sp{rule} rule |sp{box vertical rule} box vertical rule ! 2606: |sp{acute} acute |sp{grave} grave ! 2607: |sp{circle} circle |sp{square} square ! 2608: |sp{bold vertical} bold vertical |sp{footmark} footmark ! 2609: |sp{->} -> |sp{<-} <- ! 2610: |sp{uarrow} uarrow |sp{darrow} darrow ! 2611: |sp{quarter} quarter |sp{half} half ! 2612: |sp{3quarter} 3quarter |sp{cent} cent ! 2613: |sp{TEX} TEX |sp{LATEX} LATEX ! 2614: |end(table) ! 2615: |comment< ! 2616: |section(Spacing) ! 2617: |sp{space} space ! 2618: |sp{digit space} digit space ! 2619: |sp{narrow space} narrow space ! 2620: |sp{half narrow space} half narrow space ! 2621: |sp{zero width space} zero width space> ! 2622: |comment< ! 2623: |section(Accent marks) ! 2624: |sp{lower case grave} lower case grave ! 2625: |sp{lower case acute} lower case acute ! 2626: |sp{upper case acute} upper case acute ! 2627: |sp{circumflex} circumflex ! 2628: |sp{tilde} tilde ! 2629: |sp{cedilla} cedilla ! 2630: |sp{lower case umlaut} lower case umlaut ! 2631: |sp{upper case umlaut} upper case umlaut ! 2632: |sp{nasal} nasal ! 2633: |sp{slashed} slashed ! 2634: > ! 2635: |comment< ! 2636: |section(Carriage control) ! 2637: |sp{down} down ! 2638: |sp{break and spread} break and spread ! 2639: |sp{reverse} reverse ! 2640: |sp{tab} tab ! 2641: |sp{up} up ! 2642: |sp{interrupt text processing} interrupt text processing ! 2643: |sp{conceal new line} conceal new line> ! 2644: |comment< ! 2645: |sp{hyphenation} hyphenation ! 2646: |sp{leader} leader> ! 2647: |comment<|sp{hyphen or} hyphen or> ! 2648: |comment<inserting examples/special ending here> ! 2649: ! 2650: |appendix(List Of Examples) ! 2651: ! 2652: This appendix provides the input text for examples that appear in ! 2653: this |i<Monk> user guide. ! 2654: They are not intended for a novice user, ! 2655: but for those already familiar with these formatting tools. ! 2656: If you want to learn how to use |i<tbl> or |i<pic> ! 2657: do not look at these examples. ! 2658: Please read the guides that are listed in the references. ! 2659: These guides, which are readily available, ! 2660: begin with simple examples. ! 2661: ! 2662: |comment<|section(Table in section |remember(table_example))> ! 2663: |section(Table in section 5.14) ! 2664: |save(table_appendix) ! 2665: .ta 1.4i 2.6i ! 2666: ! 2667: |begin(figure) ! 2668: |source(examples/example.table) ! 2669: |end(figure) ! 2670: ! 2671: .ta ! 2672: ! 2673: |comment<|section(Picture in section |remember(picture_example))> ! 2674: |section(Picture in section 5.16) ! 2675: ! 2676: .ta .2i ! 2677: ! 2678: |begin(figure) ! 2679: |source(examples/example.pic1) ! 2680: |end(figure) ! 2681: ! 2682: .ta
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.