Annotation of researchv10dc/vol2/monk/omonk.m, revision 1.1

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:        verbatim on, file.information, line.spacing 1,
        !             9:        fill off, size -2, space -2, font cw, blank.lines -1;
        !            10:        blank.lines -1, SPACE)
        !            11:        |comment<summary: cwfigure (a constant-width figure)>
        !            12: 
        !            13: |environment(computeroutput;
        !            14:        verbatim on, file.information, line.spacing 1,
        !            15:        fill off, size -1, space -1, font cw, blank.lines -1,
        !            16:        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";
        !            17: 
        !            18:        tab.stops, blank.lines -1, SPACE)
        !            19: 
        !            20: |author(name "S. L. Murrel", initials SLM, location MH, department 11229,
        !            21:        extension x5772, room 2C-578)
        !            22: 
        !            23: |author(name "T. J. Kowalski", initials TJK, location MH, department 11229,
        !            24:        extension x2771, room 2C-568)
        !            25: 
        !            26: |document(number 11229-851210-11TMS, file_case 25952, work_program 311401-2299)
        !            27: 
        !            28: |document(number 11229-851210-11TMS, file_case 25952, work_program 311401-2199)
        !            29: 
        !            30: |date(December 10, 1985)
        !            31: 
        !            32: |title(Typing Documents on the |small(UNIX) System:
        !            33: Using Monk 0.6)
        !            34: 
        !            35: |insert(monk.cite)
        !            36: 
        !            37: |begin(abstract)
        !            38: |i<Monk> is a text-formatting program that produces high-quality
        !            39: typeset output.
        !            40: This paper, printed using |i<monk>,
        !            41: describes how to produce letters, memos, release papers,
        !            42: and technical memoranda complete with cover sheets.
        !            43: We provide extensive details on the three easy steps
        !            44: needed to prepare a document with |i<monk>:
        !            45: 
        !            46: |begin(number_list)
        !            47: 
        !            48: |item
        !            49: Use the |i<monksample> command to get a copy of a sample document.
        !            50: 
        !            51: |item
        !            52: Edit the copy, replacing the sample author, document information,
        !            53: and the text body.
        !            54: Add sections, appendices, captioned figures, tables, and equations.
        !            55: Select the document style:
        !            56: character size and type, page width and length, line spacing,
        !            57: and number of columns.
        !            58: 
        !            59: |item
        !            60: Format the document using the |i<monk> command,
        !            61: sending the output to a 5620 or 630MTG
        !            62: terminal or a printer.
        !            63: |i<Monk> will automatically invoke
        !            64: the table, picture, equation, graph,
        !            65: |comment{index,}
        !            66: and reference pre-processors in the correct order.
        !            67: 
        !            68: |end(number_list)
        !            69: 
        !            70: |end(abstract)
        !            71: 
        !            72: |titlebox
        !            73: 
        !            74: |style(two_column)
        !            75: 
        !            76: |unnumbered_section(Introduction)
        !            77: 
        !            78: Preparing any document involves positioning words and figures on each page.
        !            79: Using a typewriter,
        !            80: the margins, line spacing, and tab positions are selected by moving levers.
        !            81: Text is positioned by moving the sheet of paper left, right, up or down.
        !            82: Using a computer, the text is interspersed with commands that tell a
        !            83: formatting program what to do.
        !            84: |p
        !            85: |i<Monk> is a new package of commands for producing
        !            86: |s(AT&T) letters, memos, technical memoranda, and their cover sheets.
        !            87: This paper will enable you to prepare documents using
        !            88: |i<monk>.|reference<monk high-level text compiler>|reference<monk database>
        !            89: |reference<using monk 1985>
        !            90: You need to know how to log onto a computer and how to use an editor.
        !            91: If you don't, see the |small(UNIX) Text Editing and Phototypesetting
        !            92: Starter Package.|reference(Editing Phototypesetting Starter Package)
        !            93: 
        !            94: |section(Mixing Text and Commands)
        !            95: 
        !            96: Using any text editor,
        !            97: type normally.
        !            98: However,
        !            99: instead of skipping a line before paragraphs
        !           100: type |cw(|sp(|)paragraph) or |cw(|sp(|)p).
        !           101: |index(paragraphs)
        !           102: This command will produce a blank line.
        !           103: To indent,
        !           104: use |cw<|sp(|)p(i)> or |cw<|sp(|)paragraph(indented)>;
        !           105: to number,
        !           106: use |cw<|sp(|)p(n)> or |cw<|sp(|)paragraph(num|sp(hyphenation)bered)>.
        !           107: |p
        !           108: There are other commands that let you select document style and character type
        !           109: (e.g., double spacing and italics)
        !           110: and include various sections and displays (e.g., chapters and tables).
        !           111: 
        !           112: |section(Command Scope)
        !           113: 
        !           114: |comment{|index(command delimiters)|index(italics)}
        !           115: 
        !           116: Using |i<monk>,
        !           117: the sentence ``Italicize the words in |sp(|s)italics(parentheses)'' produces
        !           118: ``Italicize the words in |i(parentheses).''
        !           119: All |i<monk> commands begin with the character `|sp(|s)'.
        !           120: The command |cw(|sp(|)italics) selects the operation and
        !           121: the parentheses delimit the words to be italicized.
        !           122: There are seven pairs of delimiters:
        !           123: 
        !           124: |begin(center)
        !           125: |cw<(>...|cw<)>, |cw([)...|cw(]), |cw(<)...|cw(>), |cw({)...|cw(}), |cw(")...|cw("), |cw(')...|cw('), |cw(`)...|cw(')
        !           126: |end(center)
        !           127: 
        !           128: |p
        !           129: Always choose delimiters so that the closing delimiter does not appear in the
        !           130: text.
        !           131: ``Italicize the equation |sp(|s)i(a = (b + c) / number)'' produces
        !           132: ``Italicize the equation |i(a = (b + c) / number).''
        !           133: The closing delimiter ')' is found after the letter `c',
        !           134: so that the rest of the equation is not italicized.
        !           135: The input ``Italicize the equation |sp(|s)i<a = (b + c) / number>'' will
        !           136: correctly italicize the entire equation, |i<a = (b + c) / number>.
        !           137: In contrast, when |i<monk> commands are inside other |i<monk> commands,
        !           138: the delimiter pairs are not ambiguous.
        !           139: ``Italicize and shrink this |sp(|s)small(|sp(|s)i(word) but only shrink the rest)''
        !           140: produces
        !           141: ``Italicize and shrink this |small(|i(word) but only shrink the rest).''
        !           142: |p
        !           143: There is a second form of delimiter |sp(Em dash)
        !           144: when a command operates on a long text segment,
        !           145: the commands |cw(|sp(|)begin) and |cw(|sp(|)end)
        !           146: are used instead of brackets or quotes.
        !           147: The text fragment
        !           148: 
        !           149: |begin(cwfigure)
        !           150: |sp(|s)begin(italics)
        !           151: Four score and seven years ago our fathers
        !           152: brought forth to this continent a new
        !           153: nation, conceived in liberty and ...
        !           154: |sp(|s)end(italics)
        !           155: |end(cwfigure)
        !           156: 
        !           157: appears in the final document as
        !           158: 
        !           159: |begin(italics)
        !           160: Four score and seven years ago our fathers brought forth to this continent
        !           161: a new nation, conceived in liberty and ...
        !           162: |end(italics)
        !           163: 
        !           164: The commands |cw(|sp(|)begin) and |cw(|sp(|)end) delimit
        !           165: the text operated on by the
        !           166: command |cw(|sp(|)italics).
        !           167: 
        !           168: |section(Document Commands)
        !           169: 
        !           170: This section describes the commands that are specific to formatting
        !           171: four types of documents:
        !           172: letters, |small(AT&T) Bell Laboratories memoranda, technical memoranda,
        !           173: and release papers.
        !           174: 
        !           175: |environment(ret_address;
        !           176:        verbatim on, indent \n(U0u+\n(O0u-18n, fill off, here on;
        !           177:        minimum.lines)
        !           178: 
        !           179: |environment(date;
        !           180:        verbatim on, indent \n(U0u+\n(O0u-18n, fill off, here on;
        !           181:        minimum.lines)
        !           182: 
        !           183: |environment(address;
        !           184:        verbatim on, fill off, here on, minimum.lines;
        !           185:        minimum.lines)
        !           186: 
        !           187: |environment(greeting;
        !           188:        minimum.lines 2;
        !           189:        minimum.lines)
        !           190: 
        !           191: |environment(body;
        !           192:        minimum.lines, fill on;
        !           193:        minimum.lines)
        !           194: 
        !           195: |environment(closing;
        !           196:        minimum.lines 2, indent \n(U0u+\n(O0u-18n;
        !           197:        minimum.lines)
        !           198: 
        !           199: |environment(signature;
        !           200:        verbatim on, minimum.lines 2, indent \n(U0u+\n(O0u-18n;)
        !           201: 
        !           202: |subsection(Typesetting a Letter)
        !           203: 
        !           204: For a letter, the input should begin as follows:
        !           205: 
        !           206: |begin(cwfigure)
        !           207: |sp(|)make(letter)
        !           208: |sp(|)begin(ret_address)
        !           209: |sp(|)s(AT&T) Bell Labs 2C-501
        !           210: Murray Hill, N. J. 07974
        !           211: |sp(|)end(ret_address)
        !           212: |end(cwfigure)
        !           213: 
        !           214: The first line specifies that the standard format for a letter should be used.
        !           215: Then the return address, labeled |cw(ret_address), is delimited
        !           216: by |cw(|sp(|)begin) and |cw(|sp(|)end) commands.
        !           217: The formatter skips a couple of lines, indents, single spaces the address
        !           218: itself, skips more lines, and then returns to the left hand margin
        !           219: producing:
        !           220: 
        !           221: |begin(figure)
        !           222: |begin(ret_address)
        !           223: |s(AT&T) Bell Labs 2C-501
        !           224: Murray Hill, N. J. 07974
        !           225: |end(ret_address)
        !           226: |end(figure)
        !           227: 
        !           228: The return address itself is not modified.
        !           229: If the city, state, and zip code are typed on separate lines in the input file,
        !           230: they will appear the same way in the final output:
        !           231: 
        !           232: |begin(figure)
        !           233: |begin(ret_address)
        !           234: |s(AT&T) Bell Labs 2C-501
        !           235: Murray Hill
        !           236: N. J.
        !           237: 07974
        !           238: |end(ret_address)
        !           239: |end(figure)
        !           240: 
        !           241: |p
        !           242: A letter consists of a sequence of standard groups:
        !           243: a return address, date, recipient's address, greeting, body,
        !           244: closing, and signature.
        !           245: Accordingly,
        !           246: the following prototype letter is available.
        !           247: 
        !           248: |begin(cwfigure)
        !           249: |insert(samples/letter.nx)
        !           250: |end(cwfigure)
        !           251: 
        !           252: |p
        !           253: To copy this letter into a file named |cw<myfile> in your current directory,
        !           254: type the |small(UNIX) command |cw(monksample letter > myfile).
        !           255: Using this prototype, it is not necessary for you to remember that
        !           256: the label for return address is |cw(ret_address).
        !           257: You need only recognize the English-like descriptions and
        !           258: replace the sample text as appropriate.
        !           259: Although any text editor will suffice, the large display of a visual editor
        !           260: allows you to glance at the file and spot sample text.
        !           261: |p
        !           262: It is convenient to tailor the samples by entering your
        !           263: address, closing, and signature and then saving the modified file.
        !           264: This new file can then be used for all your letters simply
        !           265: by adding an appropriate greeting, the recipient's address, and the body.
        !           266: If you prepare letters for more than one person, you might want to maintain
        !           267: a directory of tailored prototypes rather than begin with the
        !           268: standard |i<monk> sample.
        !           269: 
        !           270: |begin(cwfigure)
        !           271: |insert(samples/tailor.nx)
        !           272: |end(cwfigure)
        !           273: 
        !           274: |p
        !           275: When installed,
        !           276: |i<monk> is configured to use local printers as standard output
        !           277: devices.|dagnote{Specify the printer that you have permission to use
        !           278: by defining |s<LPDEST> in your |i<.profile>,
        !           279: e.g., |cw<LPDEST=crete; export LPDEST>.}
        !           280: You will need to talk to someone using or maintaining your computer system
        !           281: to find out what and where your local standard printer is.
        !           282: |p
        !           283: To run off this memo on the standard printing device,
        !           284: type |cw(monk myfile).
        !           285: To send your output to a printing device other than the standard,
        !           286: use the |cw<|sp(minus)S>|i<dest> and |cw<|sp(minus)T>|i<font> options.
        !           287: To preview postscript output on a |s(AT&T) 5620 or 630MTG terminal, type
        !           288: |cw(monk |sp(minus)Tpost |sp(minus)Sproof myfile).
        !           289: Devices and fonts will vary with your location,
        !           290: but commonly available types include:
        !           291: 
        !           292: |begin(figure)
        !           293: |begin(table)
        !           294: center;
        !           295: c1FCW lfB
        !           296: l1FCWp-2 l.
        !           297: |sp(minus)S|i(dest)    Sends Output To Device |i(dest)
        !           298: .sp .25
        !           299: _
        !           300: .sp .25
        !           301: |sp(minus)Sapsend      Linotronic 200P, see |i(apsend)(1)
        !           302: |sp(minus)Sd202        Mergenthaler Linotronic 202, see |i(d202)(1)
        !           303: |sp(minus)Si300        Spooling for |s(EXPTOOLS), see |i(i300)(1)
        !           304: |sp(minus)Slp  Spooling mechanism, see |i(lp)(1) (default)
        !           305: |sp(minus)Slpr Spooling at Allentown, see |i(lpr)(1)
        !           306: |sp(minus)Sproof       5620 or 630MTG terminal, see |i(proof)(9.1)
        !           307: |sp(minus)Sprt Spooling at computer centers, see |i(prt)(1)
        !           308: |sp(minus)Sthink       Thinkjet, see |i(thinkblt)(9.1)
        !           309: |sp(minus)S|sp(minus)  Standard output
        !           310: .sp
        !           311: .T&
        !           312: c1FCW lfB
        !           313: l1FCWp-2 l.
        !           314: |sp(minus)T|i(fonts)   Selects Typesetter Or Terminal |i(fonts)
        !           315: .sp .25
        !           316: _
        !           317: .sp .25
        !           318: |sp(minus)T202 Mergenthaler Linotronic 202
        !           319: |sp(minus)Taps Autologic |s(APS-5)
        !           320: |sp(minus)Ti10 Imagen 10 printer
        !           321: |sp(minus)Ti300        Imagen 300 printer
        !           322: |sp(minus)Tim300       Imagen 300 printer at Liberty Corner
        !           323: |sp(minus)Tpost        PostScript|sp(registered) printer (default)
        !           324: |sp(minus)Tthink       Think jet printer
        !           325: |end(table)
        !           326: |end(figure)
        !           327: 
        !           328: |p
        !           329: If |s(TYPESETTER) is set and exported, then it determines the typesetter
        !           330: or terminal fonts used in preparing the output.
        !           331: Be careful to type |cw(monk |sp(minus)Tpost |sp(minus)Sapsend myfile)
        !           332: or |cw(monk |sp(minus)Taps |sp(minus)Sprt myfile)
        !           333: |b(only) when you intend to send
        !           334: final copy to the high-quality, high-priced phototypesetter.
        !           335: 
        !           336: |comment{
        !           337: |insert(samples/memo.titlebox)}
        !           338: 
        !           339: |p
        !           340: When |i<monk> is run, the individualized prototype letter will appear as
        !           341: 
        !           342: |begin(figure)
        !           343: |insert(samples/tailor)
        !           344: |end(figure)
        !           345: 
        !           346: |comment{restore tm definition of date}
        !           347: 
        !           348: |environment(date; divert.string DT;)
        !           349: 
        !           350: |subsection(Typesetting a Memorandum)
        !           351: 
        !           352: Preparing a memorandum is similar to preparing a letter.
        !           353: Memoranda require a title, more information about the author,
        !           354: and the document itself.
        !           355: The information you provide is automatically arranged at the top of the page.
        !           356: |p
        !           357: Type
        !           358: 
        !           359: |begin(cwfigure)
        !           360: monksample memo > myfile
        !           361: |end(cwfigure)
        !           362: 
        !           363: to get the following prototype:
        !           364: 
        !           365: |begin(cwfigure)
        !           366: |insert(samples/memo.nx)
        !           367: |end(cwfigure)
        !           368: 
        !           369: |p
        !           370: The |cw<|sp(|)make> command asks |i<monk> to format the document as a memo.
        !           371: The information about each author is given in a
        !           372: separate |cw<|sp(|)author> command:
        !           373: name, initials, location, department, extension, and room number.
        !           374: Each instance of |cw<|sp(|)document> gives the document information for
        !           375: the corresponding author.
        !           376: Author, document, title, and date may appear in any order,
        !           377: but should precede the command |cw<|sp(|)titlebox>,
        !           378: which organizes, formats, and outputs all this information.
        !           379: 
        !           380: |insert(samples/reset_def)
        !           381: 
        !           382: |reset_author_doc
        !           383: 
        !           384: |author(name "S. L. Murrel", initials SLM,
        !           385:    location MH, department 11229,
        !           386:    extension x5772, room 2C-578)
        !           387: 
        !           388: |author(name "T. J. Kowalski", initials TJK,
        !           389:    location MH, department 11229,
        !           390:    extension x2771, room 2C-568)
        !           391: 
        !           392: |document(number 11229-851210-11TMS,
        !           393:    file_case 25952, work_program 311401-2299)
        !           394: 
        !           395: |document(number 11229-851210-11TMS,
        !           396:    file_case 25952, work_program 311401-2199)
        !           397: 
        !           398: |date(December 10, 1985)
        !           399: 
        !           400: |title(Typing Documents on the \s-1\&UNIX\s+1\& System:
        !           401: Using Monk 0.3)
        !           402: 
        !           403: .nr yY \n(W1
        !           404: .mk zZ
        !           405: .sp |sp(|)7.7i
        !           406: 
        !           407: |titlebox
        !           408: 
        !           409: .nrW \n(yYu
        !           410: .nrW1 \n(yYu
        !           411: .ll\nWu
        !           412: .rt \n(zZu
        !           413: .pl -3.0i
        !           414: .rn EF eF
        !           415: .rn OF oF
        !           416: 
        !           417: |p
        !           418: The titlebox follows the body of the memo,
        !           419: which consists of paragraphs
        !           420: separated by |cw<|sp(|)p>, simple font changes, and figures.
        !           421: After the body comes the signature, any necessary notations,
        !           422: and approvals.
        !           423: |p
        !           424: To omit information, simply delete the appropriate |i<monk> command.
        !           425: Delete the entire line to omit notations or approvals.
        !           426: To omit an author's location, omit the relevant labels and associated numbers,
        !           427: e.g., |cw{|sp(|)author(name "W. H. MacWilliams", initials WHM, department 1344)}.
        !           428: 
        !           429: |subsection(Typesetting a Technical Memorandum)
        !           430: 
        !           431: This section describes how to prepare a technical memorandum.
        !           432: The example below is the skeleton of the file that produced the previous |i(tm) version
        !           433: of this document, excluding cover sheet information.
        !           434: This prototype consists of the declaration of the document type,
        !           435: document numbers,
        !           436: date,
        !           437: authors, title, abstract, document body, appendices, and references.
        !           438: It can be copied with the command |cw(monksample tm > myfile).
        !           439: 
        !           440: |comment{entire tm here or simply body, ending before cover sheet info}
        !           441: 
        !           442: |begin(cwfigure)
        !           443: |insert(samples/tmbody.nx)
        !           444: |end(cwfigure)
        !           445: 
        !           446: .rn eF EF
        !           447: .rn oF OF
        !           448: .pl +3.0i
        !           449: 
        !           450: |p
        !           451: The first line must specify the document type.
        !           452: After that the order is flexible,
        !           453: with the one restriction that all the
        !           454: component information be available when larger units, such as the titlebox,
        !           455: are printed.
        !           456: The command |cw(|sp(|)titlebox) produces the standard header at the
        !           457: top of technical memoranda.
        !           458: It appears at the bottom of this page.
        !           459: Thus the author, date, and document information must be specified first.
        !           460: The title is not filled, so that newlines entered by the author are preserved:
        !           461: here |cw<Using Monk 0.3> appears as
        !           462: the second line of the title.|dagnote<In unfilled text,
        !           463: input lines are reproduced unchanged in the output;
        !           464: in filled text,
        !           465: words from successive input lines may be combined to ensure ``filled''
        !           466: (maximum length) lines in the output.>
        !           467: |p
        !           468: The commands |cw(|sp(|)author) and |cw(|sp(|)document)
        !           469: belong to a type we have not previously discussed.
        !           470: They allow you to specify a collection of information about a given item.
        !           471: The first instance of |cw(|sp(|)author) specifies the name, initials,
        !           472: location, department, extension, and room number of the first author.
        !           473: The first instance of |cw(|sp(|)document) gives the document information
        !           474: for the first author.
        !           475: Authors and documents are linked as they appear, so that
        !           476: 
        !           477: |begin(cwfigure)
        !           478: |sp(|)author(name "S. L. Murrel", initials SLM,
        !           479:    location MH, department 11229)
        !           480: |sp(|)author(name "T. J. Kowalski",
        !           481:    initials TJK, location MH,
        !           482:    department 11229)
        !           483: |sp(|)document(number 11229-851210-11TMS,
        !           484:    file_case 25952,
        !           485:    work_program 311401-2299)
        !           486: |sp(|)document(number 11229-851210-11TMS,
        !           487:    file_case 25952,
        !           488:    work_program 311401-2199)
        !           489: |end(cwfigure)
        !           490: 
        !           491: is equivalent to the ordering given in the |i(tm) above.
        !           492: Note that in these examples only part of the author information is included:
        !           493: the room and extension numbers were omitted.
        !           494: Any information can be omitted simply by deleting the corresponding |i<monk>
        !           495: labels, e.g., |cw<room> and |cw<extension>.
        !           496: Monk will always try to format the input information gracefully.
        !           497: |p
        !           498: To produce a cover sheet, additional information is needed:
        !           499: 
        !           500: |begin(cwfigure)
        !           501: |insert(samples/tmcs.nx)
        !           502: |end(cwfigure)
        !           503: 
        !           504: Again, this information can appear anywhere in the document as long as it
        !           505: precedes the command |cw(|sp(|)cover_sheet).
        !           506: Following local convention, keywords are filled, while the distribution lists
        !           507: are not.
        !           508: Although the title was not filled in the titlebox,
        !           509: it is filled on the cover sheet because of space limitations.
        !           510: |p
        !           511: In producing the cover sheet, |i<monk> automatically calculates the numbers of
        !           512: tables, figures, references,
        !           513: as well as text pages, other pages, and total pages.
        !           514: Use the command |cw<|sp(|)other> to mark the end of the text body and the
        !           515: beginning of attachments.
        !           516: |i<Monk> needs it to correctly distinguish text from other pages.
        !           517: If there are any pages that are not included in this input file, you
        !           518: can add to the counts using the command |cw<|sp(|)add_totals>.
        !           519: For example,
        !           520: if there is an additional attachment page that is not a table or figure,
        !           521: then the command |cw<|sp(|)add_totals>(|cw<other> 1) suffices.
        !           522: You should never have to use the complete form of the command:
        !           523: |cw<|sp(|)add_totals(text 0, tables 0, figures 1, references 11,
        !           524: other 2)>.
        !           525: This command means that you are adding 2 additional pages by hand,
        !           526: which include one figure and eleven references.
        !           527: The counts of text pages and tables are untouched.
        !           528: |p
        !           529: There are six commands specific to the |s(AT&T B)ell |s(L)abs cover sheet
        !           530: that provide distribution information.
        !           531: Use |cw<|sp(|)mercury> to specify the company-wide announcements
        !           532: that should include
        !           533: the abstract of this document:
        !           534: |cw<chm>, |cw<cmm>, |cw<cmp>, |cw<elc>, |cw<lfs>, |cw<man>, |cw<mas>, |cw<mkt>,
        !           535: and |cw<phy>.
        !           536: Use |cw<|sp(|)distribute_complete_memo> to
        !           537: list individuals who should receive the complete memo and
        !           538: |cw<|sp(|)distribute_cover_sheet>
        !           539: to list those who should receive only the cover sheet.
        !           540: The command |cw<|sp(|)att> gives |s(AT&T) release information:
        !           541: |cw<is_release> marks the |i<yes> or |i<no> box
        !           542: as specified by its argument.
        !           543: |cw<|sp(|)director_name> identifies the director of the first author.
        !           544: Finally, |cw<|sp(|)cover_sheet> prints the cover sheet.
        !           545: 
        !           546: |subsection(Typesetting a Release Paper)
        !           547: 
        !           548: There is a |i<monk> sample for release papers, which can be modified
        !           549: in the same way as
        !           550: the documents already discussed.
        !           551: However, you may often need to convert a technical memorandum
        !           552: to a release paper.
        !           553: To do so, change the first line from
        !           554: |cw<|sp(|)make(tm)> to |cw<|sp(|)make(rp)>
        !           555: and then remove or comment out (see Section |remember(comment_section))
        !           556: the information specific to the
        !           557: |i<tm> style:
        !           558: 
        !           559: |begin(bullet_list)
        !           560: |item |cw<other>,
        !           561: |item |cw<add_totals>,
        !           562: |item |cw<mercury>,
        !           563: |item |cw<distribute_cover_sheet>,
        !           564: |item |cw<distribute_complete_memo>,
        !           565: |item |cw<cover_sheet>,
        !           566: |item |cw<att>,
        !           567: |item |cw<signature>,
        !           568: |item |cw<director_name>
        !           569: |end(bullet_list)
        !           570: 
        !           571: |section(Content Formatting Commands)
        !           572: 
        !           573: For any document type, it is possible to format section titles,
        !           574: figure captions, footnotes, and two-column output.
        !           575: It is possible to store page numbers, section numbers or figure numbers
        !           576: for later use.
        !           577: An interface is provided to existing routines that produce
        !           578: tabular output, equations, citations, and reference lists.
        !           579: This section describes the relevant commands.
        !           580: 
        !           581: |subsection(Comments)
        !           582: |save(comment_section)
        !           583: 
        !           584: Comments are valuable notations by and for the person preparing a document.
        !           585: They can be used
        !           586: to temporarily omit a section,
        !           587: to mark a section that needs work or information,
        !           588: and to retain an alternative word or phrase.
        !           589: Anything that appears within the delimiters of a |cw<|sp(|)comment>
        !           590: is not processed as part of the document:
        !           591: |i<monk> commands are ignored, and text does not appear in the final output.
        !           592: 
        !           593: |subsection(Spacing)
        !           594: 
        !           595: |comment{
        !           596: |subsection(Spacing and Tabs)
        !           597: You can start a new page, leave vertical blank space, and control tab stops.}
        !           598: 
        !           599: You can start a new page or leave vertical blank space.
        !           600: 
        !           601: |begin(table)
        !           602: center;
        !           603: lf5 2 l.
        !           604: |sp(|s)new_page        begins a new page
        !           605: |sp(|s)blank_space     leaves a blank line
        !           606: |sp(|s)blank_space(3)  leaves 3 blank lines
        !           607: |sp(|s)blank_space(1.5i)       leaves 1.5 inches
        !           608: |sp(|s)blank_space(|sp(minus)1)        moves back one line
        !           609: |comment{
        !           610: |sp(|s)tab_stops(1.5i 4.25i 5.5i 6.75i)        sets tab stops
        !           611: |sp(|s)tab_stops       restores previous tab stops}
        !           612: |end(table)
        !           613: 
        !           614: |subsection(Positioning Text: Indenting and Centering)
        !           615: 
        !           616: Indenting and centering are the most common ways of positioning text.
        !           617: The input text
        !           618: 
        !           619: |begin(cwfigure)
        !           620: |sp(|)indent(begins a new line and indents
        !           621: the left hand margin as long as it applies
        !           622: for a single line, a group of lines,
        !           623: or an entire paper.
        !           624: |sp(|)indent<Multiple commands will
        !           625: indent progressively.>)
        !           626: |end(cwfigure)
        !           627: 
        !           628: produces the following output:
        !           629: 
        !           630: |indent(begins a new line and indents
        !           631: the left hand margin as long as it applies
        !           632: for a single line, a group of lines,
        !           633: or an entire paper.
        !           634: |indent<Multiple commands will
        !           635: indent progressively.>)
        !           636: |p
        !           637: The command |cw<|sp(|)center> begins a new line and
        !           638: centers each line of text within its delimiters.
        !           639: The input, taken from Monty Python,
        !           640: 
        !           641: |begin(cwfigure)
        !           642: |sp(|)begin(center)
        !           643: I'm a lumberjack and I'm okay,
        !           644: I sleep all night and I work all day.
        !           645: I cut down trees, I eat my lunch,
        !           646: I go to the lavatry,
        !           647: On Wednesdays I go shopping and have
        !           648: buttered scones for tea.
        !           649: |sp(|)end(center)
        !           650: |end(cwfigure)
        !           651: 
        !           652: produces
        !           653: 
        !           654: |begin(figure)
        !           655: |begin(center)
        !           656: I'm a lumberjack and I'm okay,
        !           657: I sleep all night and I work all day.
        !           658: I cut down trees, I eat my lunch,
        !           659: I go to the lavatry,
        !           660: On Wednesdays I go shopping and have
        !           661: buttered scones for tea.
        !           662: |end(center)
        !           663: |end(figure)
        !           664: 
        !           665: |p
        !           666: In contrast, the command |cw<|sp(|)center_block> centers the entire figure
        !           667: as a block.
        !           668: All the lines are left-justified and
        !           669: the figure is centered based on the width of the longest line.
        !           670: It produces
        !           671: 
        !           672: |begin(figure)
        !           673: |begin(center_block)
        !           674: I'm a lumberjack and I'm okay,
        !           675: I sleep all night and I work all day.
        !           676: I cut down trees, I eat my lunch,
        !           677: I go to the lavatry,
        !           678: On Wednesdays I go shopping and have
        !           679: buttered scones for tea.
        !           680: |end(center_block)
        !           681: |end(figure)
        !           682: 
        !           683: |p
        !           684: Multi-line quotations are appropriately indented and offset by the
        !           685: command |cw<|sp(|)quotation>.
        !           686: 
        !           687: |quotation<Four score and seven years ago our fathers brought forth
        !           688: to this continent a new nation, conceived in liberty and dedicated to
        !           689: the proposition that all men are created equal.>
        !           690: 
        !           691: |subsection(Fonts)
        !           692: 
        !           693: |i<Monk> currently provides abbreviated commands for
        !           694: four type faces and two type sizes.
        !           695: |cw(|sp(|)bold) or |cw(|sp(|)b) makes the enclosed text |b(bold).
        !           696: |cw(|sp(|)italics) or |cw(|sp(|)i) produces |italics(italicized text),
        !           697: while |cw(|sp(|)roman) or |cw(|sp(|)r) restores the roman character set.
        !           698: The command |cw<|sp(|)constant_width> or |cw<|sp(|)cw>
        !           699: |cw(selects a font that resembles low quality line printer
        !           700: output and is intended only for examples of such output).
        !           701: |p
        !           702: When fonts are embedded, the innermost dominates.
        !           703: For example,
        !           704: |cw(|sp(|)italics<Italics flourish around the |sp(|)roman[roman] text>) produces
        !           705: |italics<Italics flourish around the |roman[roman] text>.
        !           706: If an output device is not able to italicize, then it will underline.
        !           707: Because italics look better, it is always preferable to request them
        !           708: so that the document will look its best on the available printing device.
        !           709: However, it is possible to specify underlining using |cw(|sp(|)underline) or |cw(|sp(|)u).
        !           710: |p
        !           711: |cw(|sp(|)big) makes the font size |big(bigger),
        !           712: while |cw(|sp(|)small) makes the font size |small(smaller).
        !           713: These can be nested, so that |cw<|sp(|)big(|sp(|)big(this is big))> produces
        !           714: |big(|big(this is big)).
        !           715: However, |cw<|sp(|)big> and |cw<|sp(|)small> are designed for in-line font changes;
        !           716: they do not change the vertical spacing.
        !           717: To change the size of a block of text, use the |cw<|sp(|)style> command
        !           718: (see Section |remember(style_section)).
        !           719: 
        !           720: |subsection(Special characters)
        !           721: |save(special_section)
        !           722: 
        !           723: |i<Monk> provides a long list of special characters, the appearance of which
        !           724: is ultimately determined by the output device.
        !           725: 
        !           726: With the command |cw<|sp(|)sp>,
        !           727: the user can print out the |i<monk> command character |cw(|sp(|s)),
        !           728: Greek letters, and mathematical symbols.
        !           729: |p
        !           730: Here is a partial list of the fancy symbols
        !           731: that appear in Appendix |remember(special_appendix):
        !           732: |sp{/} |sp{minus} |sp{\}
        !           733: |sp{.} |sp{degree} |sp{bullet}
        !           734: |sp{copyright} |sp{registered} |sp{TM}
        !           735: |sp{|} |sp{bold vertical}
        !           736: |sp{dagger} |sp{section}
        !           737: |sp{rhand} |sp{lhand}
        !           738: |sp{hyphen} |sp{underrule}
        !           739: |sp{open quote} |sp{close quote}
        !           740: |sp{grave} |sp{cedilla} |sp{lower case umlaut} |sp{upper case umlaut}
        !           741: |sp{alpha} |sp{beta} |sp{gamma} |sp{delta} |sp{epsilon}
        !           742: |sp{+-} |sp{>=} |sp{<=} |sp{!=} |sp{-wig} |sp{wig}
        !           743: |sp{times} |sp{divide} |sp{prop}
        !           744: |sp{integral} |sp{partial}
        !           745: |sp{not} |sp{or} |sp{rceil}
        !           746: |sp{square} |sp{del} |sp{empty} |sp{member}
        !           747: |sp{isuperset} |sp{cap}
        !           748: |sp{->} |sp{uarrow} |sp{darrow}
        !           749: |sp{cent} |sp{quarter} |sp{3quarter}
        !           750: |sp{mu} |sp{nu} |sp{xi} |sp{omicron}
        !           751: |sp{pi} |sp{ff} |sp{ffi} |sp{ffl} |sp{TEX} |sp{LATEX}.
        !           752: |p
        !           753: |cw<|sp(|)sp> can also be used to control spacing and carriage movement
        !           754: precisely.
        !           755: There are spaces of five different widths,
        !           756: shown below opposite the commands that produce them.
        !           757: 
        !           758: |begin(verbatim)
        !           759: |cw<|sp(|)sp{space}> `|sp{space}',
        !           760: |cw<|sp(|)sp{digit space}> `|sp{digit space}',
        !           761: |cw<|sp(|)sp{narrow space}> `|sp{narrow space}',
        !           762: |cw<|sp(|)sp{half narrow space}> `|sp{half narrow space}'
        !           763: |cw<|sp(|)sp{zero width space}> `|sp{zero width space}'
        !           764: |end(verbatim)
        !           765: 
        !           766: |p
        !           767: 
        !           768: |style(double_space)
        !           769: 
        !           770: The carriage can be moved up and down:
        !           771: |cw<|sp(|)sp{up}> moves |sp{up}up,|sp{down}
        !           772: while |cw<|sp(|)sp{reverse}> moves
        !           773: |sp{reverse}up|sp{down}|sp{down}by twice as much.
        !           774: The command |cw<|sp(|)sp{down}> moves |sp{down}down.|sp{up}
        !           775: 
        !           776: |style(single_space)
        !           777: 
        !           778: |p
        !           779: |cw<|sp(|)sp{break and spread}> pads the current line according to the document
        !           780: style and breaks to the next line.
        !           781: To force hyphenation at a particular position in a word, use
        !           782: |cw<|sp(|)sp{hyphenation}>.
        !           783: |cw<|sp(|)sp{tab}> generates horizontal motion to the next tab stop;
        !           784: |cw<|sp(|)sp{leader}> generates a string of periods to the next tab stop.
        !           785: 
        !           786: |subsection(Headings)
        !           787: 
        !           788: |comment<|subsection(Hyphenation and Justification)>
        !           789: |comment<|subsection(Section headings)>
        !           790: 
        !           791: |subsubsection(Numbered headings.)
        !           792: 
        !           793: |cw<|sp(|)chapter> starts a new page; leaves a blank space;
        !           794: puts ``Chapter |i<n>'' against the right hand margin;
        !           795: skips more space;
        !           796: puts the title against the right hand margin;
        !           797: and skips more space before beginning the text body.
        !           798: No chapters appear in this document.
        !           799: The commands
        !           800: to declare the current section, subsection, and subsubsection include:
        !           801: 
        !           802: |begin(cwfigure)
        !           803: |sp(|)section(Content Formatting Commands)
        !           804: |sp(|)subsection(Headings)
        !           805: |sp(|)subsubsection(Numbered headings.)
        !           806: |end(cwfigure)
        !           807: 
        !           808: The first appendix at the end was produced by
        !           809: |cw<|sp(|)appendix(List of Commands)>.
        !           810: |paragraph(numbered)
        !           811: This numbered paragraph is produced by the command
        !           812: |cw<|sp(|)paragraph(numbered)>,
        !           813: which may be abbreviated as |cw<|sp(|)paragraph(n)> or |cw<|sp(|)p(n)>.
        !           814: 
        !           815: |subsubsection(Unnumbered headings.)
        !           816: 
        !           817: The analogous unnumbered headings produce the same spacing but omit
        !           818: heading names, e.g. chapter, and numerical labels.
        !           819: Chapter titles remain right justified,
        !           820: and appendix titles are still centered;
        !           821: but the various section titles are now flush with the left margin.
        !           822: |cw<|sp(|)unnumbered_chapter> is useful for preface and acknowledgement
        !           823: pages.
        !           824: Available commands include:
        !           825: 
        !           826: |begin(cwfigure)
        !           827: |sp(|)unnumbered_chapter(Preface)
        !           828: |sp(|)unnumbered_section(|small[SECTION])
        !           829: |sp(|)unnumbered_subsection(Subsection)
        !           830: |sp(|)unnumbered_subsubsection(Subsubsection.)
        !           831: |sp(|)unnumbered_appendix(|small[APPENDIX])
        !           832: |end(cwfigure)
        !           833: 
        !           834: |p(f)
        !           835: There are flushed and indented unnumbered paragraphs.
        !           836: The indented paragraphs are used throughout this paper,
        !           837: except for this paragraph,
        !           838: which is produced using the command |cw<|sp(|)p(f)>.
        !           839: The commands to skip a line and begin the text flush with the left margin
        !           840: include:
        !           841: 
        !           842: |begin(cwfigure)
        !           843: |sp(|)paragraph(f)
        !           844: |sp(|)p(f)
        !           845: |sp(|)paragraph(flushed)
        !           846: |sp(|)p(flushed)
        !           847: |end(cwfigure)
        !           848: 
        !           849: The commands to indent the first line of the paragraph and
        !           850: produce spacing identical to the flushed paragraph include:
        !           851: 
        !           852: |begin(cwfigure)
        !           853: |sp(|)paragraph(i)
        !           854: |sp(|)p(i)
        !           855: |sp(|)paragraph(indented)
        !           856: |sp(|)p(indented)
        !           857: |end(cwfigure)
        !           858: |blank_space(-1)
        !           859: 
        !           860: |subsubsection(Paragraphs)
        !           861: 
        !           862: The command |cw(|sp(|)paragraph) or its abbreviation |cw(|sp(|)p)
        !           863: is used throughout this paper to produce the default paragraph style.
        !           864: In this paper the normal default,
        !           865: |cw(flushed), was changed through use of the |cw<|sp(|)style> command to |cw(indented)
        !           866: (see Section |remember(style_section)).
        !           867: 
        !           868: |subsection(Setting page, heading and figure numbers)
        !           869: 
        !           870: Page, heading, figure, and table numbers can be changed by the authors.
        !           871: |index(set page numbers)|index(page numbers)
        !           872: |index(section numbers)|index(section counters)
        !           873: Set the current page counter to three using
        !           874: the command |cw<|sp(|)set_counter(page 3)>.
        !           875: At the next page boundary the page number will be incremented to four.
        !           876: The command |cw<|sp(|)set_counter( table 12)>
        !           877: sets the current table number to 12.
        !           878: Multiple counters can be set with a single command:
        !           879: |cw<|sp(|)set_counter(page 10, chapter 4, section 3, subsection 1)>.
        !           880: Available commands include:
        !           881: 
        !           882: |begin(cwfigure)
        !           883: |sp(|)set_counter(page 3)
        !           884: |sp(|)set_counter(chapter 4)
        !           885: |sp(|)set_counter(section 1)
        !           886: |sp(|)set_counter(subsection 9)
        !           887: |sp(|)set_counter(subsubsection 3)
        !           888: |sp(|)set_counter(paragraph 0)
        !           889: |sp(|)set_counter(appendix 3)
        !           890: |sp(|)set_counter(footnote 17)
        !           891: |sp(|)set_counter(note 122)
        !           892: |sp(|)set_counter(figure 8)
        !           893: |sp(|)set_counter(table 0)
        !           894: |end(cwfigure)
        !           895: 
        !           896: |p
        !           897: Care must be taken in positioning all these commands:
        !           898: if you want to change a section number, then you must position the
        !           899: |cw<|sp(|)set_counter> command before the section itself
        !           900: so that the numbered title will be correct.
        !           901: To number the next section four, you must type
        !           902: |cw<|sp(|)set_counter(section 3)> before the |cw<|sp(|)section> command,
        !           903: because the section number will be incremented
        !           904: when the |cw<|sp(|)section> command itself is read.
        !           905: Similarly,
        !           906: if you want the page number in headers and footers to display a new value,
        !           907: then the value must be changed before the break to the new page occurs.
        !           908: To set the next page to page number three,
        !           909: the command |cw<|sp(|)set_counter(page 2)> must appear on the current page.
        !           910: |p
        !           911: Once a value is set, the computer will use that number and increment it
        !           912: appropriately; but if it is set wrong, it will remain wrong.
        !           913: If you change counters, you are responsible for
        !           914: insuring consistency and correctness.
        !           915: 
        !           916: |subsection(Setting page headers and footers)
        !           917: 
        !           918: Both page headers and footers can be set using the |cw<|sp(|)set_string> command
        !           919: as follows:
        !           920: 
        !           921: |begin(cwfigure)
        !           922: |sp(|)set_string(page_headers
        !           923:     "'left'center'right'")
        !           924: |sp(|)set_string(even_headers
        !           925:     "'left'center'right'")
        !           926: |sp(|)set_string(odd_headers
        !           927:     "'left'center'right'")
        !           928: |sp(|)set_string(page_footers
        !           929:     "'left'center'right'")
        !           930: |sp(|)set_string(even_footers
        !           931:     "'left'center'right'")
        !           932: |sp(|)set_string(odd_footers
        !           933:     "'left'center'right'")
        !           934: |end(cwfigure)
        !           935: 
        !           936: |cw<page_headers>, |cw<even_headers>, and |cw<odd_headers> set the headers
        !           937: on all pages, even pages, and odd pages, respectively.
        !           938: |index(headers)|index(page headers)
        !           939: Page headers appear above the even and odd headers.
        !           940: All headers consist of three strings, any of which may be blank or long
        !           941: enough to overlap.
        !           942: Any character, can be used to delimit the strings.
        !           943: The strings |i(left), |i(center), and |i(right) are left-justified, centered,
        !           944: and right-justified, respectively.
        !           945: Parallel commands serve
        !           946: to specify page footers.|index(footers)|index(page footers)
        !           947: 
        !           948: |comment<|subsection(Grouping text - Displays)>
        !           949: 
        !           950: |subsection(Inserting other files)
        !           951: 
        !           952: Other files may be inserted using the command |cw<|sp(|)insert>.|index(insert)
        !           953: These files will also be processed by |i<monk> and
        !           954: may in turn insert other files.
        !           955: Loops will indeed cause disaster.
        !           956: A file that will not be processed may also be included
        !           957: using the |cw<|sp(|)source> command.|index(source)
        !           958: 
        !           959: |subsection(Figures)
        !           960: 
        !           961: The lumberjack poem above was formatted as a figure.
        !           962: Figures are printed with blank space above and below and can be split
        !           963: across a page boundary.
        !           964: Lines are not filled.
        !           965: If you want some lines to be filled, put them within the delimiters of the
        !           966: command |cw<|sp(|)text>.
        !           967: |cw<|sp(|)figure_caption> centers and labels the caption.
        !           968: Given
        !           969: 
        !           970: |begin(cwfigure)
        !           971: |sp(|)begin(figure)
        !           972: Like the lumberjack poem above,
        !           973: this text is within a |sp(|)cw<|sp(|)sp(|sp(|))figure>
        !           974: command.
        !           975: |sp(|)end(figure)
        !           976: |sp(|)figure_caption(This is a figure caption).
        !           977: |end(cwfigure)
        !           978: 
        !           979: |i<monk> produces
        !           980: 
        !           981: |begin(here)
        !           982: |begin(figure)
        !           983: Like the lumberjack poem above,
        !           984: this text is within a |cw<|sp(|)figure>
        !           985: command.
        !           986: |end(figure)
        !           987: |figure_caption(This is a figure caption)
        !           988: |end(here)
        !           989: 
        !           990: |p
        !           991: To create a non-filled display without spacing above and below, use the
        !           992: command |cw<|sp(|)verbatim>.
        !           993: To indent either a figure or a verbatim display,
        !           994: simply enclose it within an |cw<|sp(|)indent> command:
        !           995: 
        !           996: |begin(cwfigure)
        !           997: |sp(|)begin(here)
        !           998: |sp(|)begin(indent)
        !           999: |sp(|)begin(figure)
        !          1000: This is a short figure
        !          1001: |sp(|)end(figure)
        !          1002: |sp(|)end(indent)
        !          1003: |sp(|)figure_caption(with a short caption)
        !          1004: |sp(|)end(here)
        !          1005: |end(cwfigure)
        !          1006: 
        !          1007: The command |cw<|sp(|)indent> can appear either inside or around the
        !          1008: |cw<|sp(|)figure> command.
        !          1009: However, because the caption is centered, it should not be indented.
        !          1010: |p
        !          1011: The |cw<|sp(|)here> command keeps all the text within its delimiters
        !          1012: together on one page.
        !          1013: It is important to include both the figure proper and its caption within
        !          1014: the delimiters so that the caption is never orphaned.
        !          1015: If there is not enough room on the current page, |cw<|sp(|)here>
        !          1016: leaves the rest of the
        !          1017: page blank and skips to the next page or next column to print the block.
        !          1018: It is useful after comments such as ``An example follows:'',
        !          1019: because it guarantees the relative position of the comment and the block.
        !          1020: |p
        !          1021: Another command, |cw<|sp(|)around>, also keeps the enclosed text together.
        !          1022: If it cannot print the block on the current page, however, it continues
        !          1023: printing text, postponing the block until there is enough room for it.
        !          1024: Usually the block will be positioned at the top of the next page;
        !          1025: however, if there are multiple large floating blocks that cannot fit together
        !          1026: on that page, then they will appear in order as soon as possible.
        !          1027: You can use the command |cw<|sp(|)around_placement> to force all outstanding
        !          1028: blocks to be printed at the end of a section or chapter.
        !          1029: 
        !          1030: |subsection(Equations)
        !          1031: 
        !          1032: |i<Monk> uses |i<eqn>|reference<latest eqn> to format equations.
        !          1033: The |i<monk> command |cw<|sp(|)equation> delimits an equation offset from the text.
        !          1034: Note that |i<monk> commands may appear within the line;
        !          1035: they do not need to be at the beginning of a line.
        !          1036: 
        !          1037: |begin(cwfigure)
        !          1038: |sp(|)begin(center)
        !          1039: |sp(|)equation_number[(1a)]
        !          1040: |sp(|)begin(equation)x = 2 pi int
        !          1041: sin ( omega t ) dt
        !          1042: |sp(|)end(equation)
        !          1043: |sp(|)end(center)
        !          1044: |end(cwfigure)
        !          1045: 
        !          1046: When formatted the above input produces:
        !          1047: 
        !          1048: |begin(center)
        !          1049: |equation_number[(1a)]
        !          1050: |begin(equation)x = 2 pi int
        !          1051: sin ( omega t ) dt
        !          1052: |end(equation)
        !          1053: |end(center)
        !          1054: |blank_space(-1)
        !          1055: 
        !          1056: The same output is produced by the short |i<monk> form:
        !          1057: |cw<|sp(|)equation[x = 2 pi int sin ( omega t ) dt]>.
        !          1058: Captions are specified using |cw<|sp(|)equation_caption>.
        !          1059: |p
        !          1060: The equation itself
        !          1061: is explained on page 2 of the Kernighan and Cherry memo.|footnote{
        !          1062: Remember that the |i<monk> command |cw<|sp(|)equation(...)> replaces all
        !          1063: instances of |cw<.EQ> and |cw<.EN> and that |cw<|sp(|)e(...)> replaces the
        !          1064: |cw<$...$> delimiters for in-line equations.}
        !          1065: To write equations in-line with text, delimit the equation using |cw<|sp(|)e>.
        !          1066: The input |cw{|sp(|)e<x = 2 pi int sin ( omega t ) dt>}
        !          1067: produces the equation |e<x = 2 pi int sin ( omega t ) dt>
        !          1068: without offsetting it.
        !          1069: 
        !          1070: |subsection(Tables)
        !          1071: |save(table_example)
        !          1072: 
        !          1073: |i<Monk> does not provide any new capabilities for formatting tables;
        !          1074: it uses |i(tbl)|reference(latest tbl).
        !          1075: It provides |i<monk>-style commands for positioning both the table and its caption
        !          1076: and automatically invokes the standard |i(tbl) formatting program.
        !          1077: The following input formats the table in the file |i(examples/example.table),
        !          1078: which appears as Appendix |remember(table_appendix).|footnote{
        !          1079: The formatting commands |cw<.TS> and |cw<.TE>
        !          1080: need to be omitted from the sample file.}
        !          1081: The table could be typed into the file directly; here it is put into another
        !          1082: file just to simplify and condense the |i<monk> example.
        !          1083: 
        !          1084: |begin(cwfigure)
        !          1085: |sp(|)begin(here)
        !          1086: |sp(|)table_caption(Example of table)
        !          1087: |sp(|)begin(table)
        !          1088: |sp(|)insert(examples/example.table)
        !          1089: |sp(|)end(table)
        !          1090: |sp(|)end(here)
        !          1091: |end(cwfigure)
        !          1092: 
        !          1093: |p
        !          1094: The command |cw<|sp(|)here> guarantees that the caption will not be separated
        !          1095: from the table if it happens to hit a page boundary.
        !          1096: The remainder of the page would be blank,
        !          1097: and the table with caption would be printed on the next page
        !          1098: or in the next column for multi-column documents.
        !          1099: Together |i<monk> and |i<tbl> produce
        !          1100: 
        !          1101: |begin(here)
        !          1102: |table_caption(Example of table)
        !          1103: |begin(table)
        !          1104: |insert(examples/example.table)
        !          1105: |end(table)
        !          1106: |end(here)
        !          1107: 
        !          1108: |p
        !          1109: If you have a 5620 or a 630MTG terminal,
        !          1110: the interactive table editor |i<vtbl>
        !          1111: can be used to prepare |i<tbl> input.|reference(Murrel bitmaps build tables)
        !          1112: 
        !          1113: |comment[
        !          1114: |subsection(Computer Programs and Output)
        !          1115: Two special types of figures are provided for computer-related text.
        !          1116: The command |cw<|sp(|)program> beautifies the source code of C,
        !          1117: a high-level programming language.
        !          1118: It will try to beautify anything appearing within its delimiters following a simple
        !          1119: set of rules that identify program segments.
        !          1120: |begin(program)
        !          1121: main()
        !          1122: {
        !          1123:        printf("Hello World\n");
        !          1124: }
        !          1125: |end(program)
        !          1126: Used inappropriately, it will produce good looking garbage.
        !          1127: |cw<|sp(|)computeroutput_caption (Example of computer output)> and
        !          1128: |cw<|sp(|)program_caption (Example of program)>
        !          1129: provide the associated captions.]
        !          1130: 
        !          1131: |subsection(Computer Output)
        !          1132: 
        !          1133: The command |cw<|sp(|)computeroutput> produces a figure using a constant width
        !          1134: type that resembles low quality line printer output.
        !          1135: 
        !          1136: |begin(computeroutput)
        !          1137: Program: SINDSCAL-symmetric indscal
        !          1138: 
        !          1139: ***********************************
        !          1140: parameters
        !          1141:  dim  irdata  itmax   irn
        !          1142:   2      2    200     9342
        !          1143: no. of matrices=5  no. of stim.=9
        !          1144: ***********************************
        !          1145: 
        !          1146:  correlations    vaf       loss
        !          1147:  y(data)&yhat   (r**2)  (y-yhat)**2
        !          1148:    .161169     .025975    .974025
        !          1149:    .650655     .423352    .605140
        !          1150: |end(computeroutput)
        !          1151: |blank_space(-1)
        !          1152: |computeroutput_caption(Example of computer output)
        !          1153: 
        !          1154: |cw<|sp(|)computeroutput_caption (Example of computer output)>
        !          1155: provides the associated caption.
        !          1156: Currently these captions are the same as figure captions.
        !          1157: 
        !          1158: |subsection(Pictures)
        !          1159: |save(picture_example)
        !          1160: 
        !          1161: |i<Monk> commands also provide access to |i<pic>, a graphics language for
        !          1162: typesetting.|reference[latest pic]
        !          1163: Borrowing an example from the |i<PIC User Manual>,|footnote{
        !          1164: Remember that the |i<monk> command |cw|sp(|)picture(...)> replaces all
        !          1165: instances of |cw<PS> and |cw<PE>.}
        !          1166: the |i<monk> input
        !          1167: 
        !          1168: |begin(cwfigure)
        !          1169: |sp(|)begin(here)
        !          1170: |sp(|)begin(picture)
        !          1171: |sp(|)insert(examples/example.pic1)
        !          1172: |sp(|)end(picture)
        !          1173: |sp(|)picture_caption(Example of picture)
        !          1174: |sp(|)end(here)
        !          1175: |end(cwfigure)
        !          1176: 
        !          1177: produces
        !          1178: 
        !          1179: |begin(picture)
        !          1180: |insert(examples/example.pic1)
        !          1181: |end(picture)
        !          1182: |picture_caption(Example of picture)
        !          1183: 
        !          1184: |p
        !          1185: If you have a 5620 or a 630MTG terminal,
        !          1186: the interactive drawing program |i<cip>
        !          1187: can be used to prepare |i<pic> input.|reference(latest cip)
        !          1188: |p
        !          1189: Another example from Kernighan's |i<PIC Revised User Manual> illustrates
        !          1190: the use of an in-line equation embedded in a picture.|footnote{
        !          1191: In this example, the equation within the delimiters must be placed within the
        !          1192: |cw<|sp(|)e> command.}
        !          1193: 
        !          1194: |comment<box "|sp(|s)e[space 0 {H( omega )} over {1 - H( omega )}]">
        !          1195: 
        !          1196: |begin(cwfigure)
        !          1197: |sp(|)begin(here)
        !          1198: |sp(|)begin(picture)
        !          1199: arrow
        !          1200: box "|sp(|)e[{H( omega )} over {1 - H( omega )}]"
        !          1201: arrow
        !          1202: |sp(|)end(picture)
        !          1203: |sp(|)picture_caption(Picture with equation)
        !          1204: |sp(|)end(here)
        !          1205: |end(cwfigure)
        !          1206: 
        !          1207: produces the following beauty
        !          1208: 
        !          1209: |begin(here)
        !          1210: |begin(picture)
        !          1211: arrow
        !          1212: box "|e[{H( omega )} over {1 - H( omega )}]"
        !          1213: arrow
        !          1214: |end(picture)
        !          1215: |picture_caption(Picture with equation)
        !          1216: |end(here)
        !          1217: 
        !          1218: |comment{
        !          1219: |subsection(Strings)
        !          1220: |cw<|sp(|)savestring> saves strings for you to use later.
        !          1221: |savestring(os "The UNIX operating system")
        !          1222: After the command |cw<|sp(|)savestring(os "The UNIX operating system")>,
        !          1223: |cw<|sp(s)remember(os)> is replaced by |remember(os).
        !          1224: They are especially useful when you want to repeatedly use some long name or
        !          1225: phrase.
        !          1226: }
        !          1227: 
        !          1228: |subsection(Citations)
        !          1229: |save(save_section)
        !          1230: 
        !          1231: |i<Monk> uses the program |i<cite> to handle citations.
        !          1232: The command |cw<|sp(|)save(tag)>
        !          1233: remembers the last important numbered item as the label
        !          1234: |i[tag].
        !          1235: It saves the number of the last figure, picture, equation, table,
        !          1236: section, subsection, subsubsection or appendix.
        !          1237: At this point the command |cw<|sp(|)save(this_section)> stores
        !          1238: the number of the current subsection as |cw(this_section).
        !          1239: |save(this_section)
        !          1240: The command |cw<|sp(|)remember(this_section)> is replaced by
        !          1241: that stored value wherever it appears in the text:
        !          1242: |cw[This section is |sp(|)remember(this_section)] appears in the
        !          1243: final output as This section is |remember(this_section).
        !          1244: It is crucial to understand that |cw[|sp(|)save] stores the most recent
        !          1245: counter, whatever its type.
        !          1246: If a numbered figure appears between the section header and the |cw[|sp(|)save]
        !          1247: command, then the number saved will be that figure number.
        !          1248: The tag name itself has no particular meaning.
        !          1249: Position is what counts.
        !          1250: |p
        !          1251: Page numbers can be saved using the command |cw<|sp(|)savepage.>
        !          1252: |cw<|sp(|)savepage(tag)> saves the current page number as
        !          1253: the label |cw[tag].
        !          1254: Again, |cw<|sp(|)remember(tag)> substitutes the number
        !          1255: associated with |cw[tag].
        !          1256: The text
        !          1257: |cw<the current page is |sp(|)savepage(foobar) |sp(|)remember(foobar)>
        !          1258: generates |cw<the current page is |savepage(foobar)|remember(foobar)>.
        !          1259: |p
        !          1260: If all citations are saved before they are used, then the user need
        !          1261: only enter the commands shown above in the |i<monk> input text.
        !          1262: If, however, the input uses a citation before it really is saved,
        !          1263: as in the example below, then there is more to do.
        !          1264: 
        !          1265: |begin(cwfigure)
        !          1266: All commands are listed in appendix
        !          1267: |sp(|)remember(appendix_commands).
        !          1268: |sp(zero width space)|b(...)
        !          1269: |sp(|)appendix(|s(LIST OF COMMANDS))
        !          1270: |sp(|)save(appendix_commands)
        !          1271: |end(cwfigure)
        !          1272: 
        !          1273: Forward referencing depends on a file named |cw<.cite>,
        !          1274: which is generated each time the input is formatted.
        !          1275: The |small<UNIX> command
        !          1276: 
        !          1277: |begin(figure)
        !          1278: |cw(cite |sp(minus)s .cite > myfile.cite)
        !          1279: |end(figure)
        !          1280: 
        !          1281: reports any redefinitions or unused definitions and produces a consistent
        !          1282: set of citations.
        !          1283: The output file |cw<myfile.cite> needs to be inserted in the |i<monk> input
        !          1284: before the first citation.
        !          1285: Do so using the command |cw<|sp(|)insert(myfile.cite)>.
        !          1286: 
        !          1287: |comment[
        !          1288: |subsection(Creating an Index)
        !          1289: You can specify keywords to be inserted in an index using |cw(|sp(|)index):
        !          1290: |cw<|sp(|)index(these words)>.
        !          1291: The keywords |i<these words> will appear in the index with the current page
        !          1292: number.]
        !          1293: ........
        !          1294: 
        !          1295: |subsection(Document Styles)|save(style_section)
        !          1296: 
        !          1297: By default,
        !          1298: all documents are single-spaced and single column.
        !          1299: Page width is 6 inches; length is 11 inches.
        !          1300: The font family is |i{times} and the font size 10.
        !          1301: Paragraphs skip a line and begin the text flush with the left margin.
        !          1302: |p
        !          1303: You can change any of these defaults using the |cw(|sp(|)style) command.
        !          1304: The command |cw<|sp(|)style(page_width 7i)> sets the page width to 7 inches.
        !          1305: To get the maximum page width on most output devices, type:
        !          1306: |cw<|sp(|)style(page_offset 0, page_width 8.5i)>.
        !          1307: The |cw(page_length) and |cw(font_size) can be set in a similar manner.
        !          1308: |p
        !          1309: |cw<|sp(|)style(font_size 14)> changes the default font to size 14 to print
        !          1310: out your papers for your grandparents or to prepare invitations to a party.
        !          1311: |cw(|sp(|)big) or |cw(|sp(|)small)
        !          1312: will still provide one size bigger or smaller, respectively.
        !          1313: |p
        !          1314: Font families provide complementary styles for each of the four fonts:
        !          1315: bold, italics, roman, and cw.
        !          1316: The standard font family is times.
        !          1317: Alternative font families include
        !          1318: palatino, helvetica, bembo, optima, souvenir, and cw,
        !          1319: but not all families are available on all output devices.
        !          1320: Some examples are shown in Table |remember(The alphabet in common type families).
        !          1321: To select helvetica, type |cw<|sp(|)style( font_family helvetica)>.
        !          1322: 
        !          1323: |begin(around)
        !          1324: \!.sp -1
        !          1325: |table_caption(The alphabet in common type families)
        !          1326: |save(The alphabet in common type families)
        !          1327: |begin(verbatim)
        !          1328: .ta .7i 1.3i
        !          1329: |comment{|b<Family     Face    Sample>}
        !          1330: |r(times       roman   abcdefghijklm...uvwxyz)
        !          1331: |i(    italics abcdefghijklm...uvwxyz)
        !          1332: |b(    bold    abcdefghijklm...uvwxyz)
        !          1333: |style(font_family palatino)
        !          1334: |r(palatino    roman   abcdefghijklm...uvwxyz)
        !          1335: |i(    italics abcdefghijklm...uvwxyz)
        !          1336: |b(    bold    abcdefghijklm...uvwxyz)
        !          1337: |style(font_family helvetica)
        !          1338: |r(helvetica   roman   abcdefghijklm...uvwxyz)
        !          1339: |i(    italics abcdefghijklm...uvwxyz)
        !          1340: |b(    bold    abcdefghijklm...uvwxyz)
        !          1341: |end(verbatim)
        !          1342: 
        !          1343: |style(font_family times)
        !          1344: |end(around)
        !          1345: 
        !          1346: .ta
        !          1347: |p
        !          1348: 
        !          1349: |style(double_space)
        !          1350: 
        !          1351: |cw<|sp(|)style(double_space)> double spaces the text, while
        !          1352: |cw<|sp(|)style( single_space)> restores single spacing.
        !          1353: 
        !          1354: |style(single_space)
        !          1355: 
        !          1356: You can change the paragraph style throughout the rest of your document
        !          1357: by typing |cw<|sp(|)style(paragraph_style indented)> or
        !          1358: |cw<|sp(|)style(paragraph_style numbered)>,
        !          1359: after which the simple command |cw<|sp(|)p>
        !          1360: will produce indented or numbered paragraphs.
        !          1361: To indent or number a single paragraph,
        !          1362: use |cw<|sp(|)p(i)> or |cw<|sp(|)p(n)>, respectively.
        !          1363: To restore the original style paragraph,
        !          1364: type |cw<|sp(|)style( paragraph_style flushed)>.
        !          1365: |p
        !          1366: The command |cw<|sp(|)style(one_column)> begins formatting text in one column.
        !          1367: The command |cw<|sp(|)style(two_column)> restores two column formatting.
        !          1368: 
        !          1369: |subsection(Lists)
        !          1370: 
        !          1371: There are nine types of lists, which differ only in the labeling of list items:
        !          1372: 
        !          1373: |begin(cwfigure)
        !          1374: |sp(|)number_list
        !          1375: |sp(|)A_list
        !          1376: |sp(|)a_list
        !          1377: |sp(|)I_list
        !          1378: |sp(|)i_list
        !          1379: |sp(|)p_number_list
        !          1380: |sp(|)p_a_list
        !          1381: |sp(|)dash_list
        !          1382: |sp(|)bullet_list
        !          1383: |end(cwfigure)
        !          1384: 
        !          1385: A simple numbered list is created by the following commands:
        !          1386: 
        !          1387: |begin(cwfigure)
        !          1388: |sp(|)begin(number_list)
        !          1389: |sp(|)item first item
        !          1390: |sp(|)item second item is on two lines in the
        !          1391: input, but will be filled in the output
        !          1392: |sp(|)item third
        !          1393: |sp(|)end(number_list)
        !          1394: |end(cwfigure)
        !          1395: 
        !          1396: |p
        !          1397: |cw<|sp(|)A_list> items are marked with capital letters;
        !          1398: |cw<|sp(|)a_list> with lower-case letters followed by '|cw<)>'.
        !          1399: |cw<|sp(|)I_list> items are marked with upper-case roman numerals;
        !          1400: |cw<|sp(|)i_list> with lower-case roman numerals followed by '|cw<)>'.
        !          1401: Number and lower-case letter labels are enclosed in parentheses in
        !          1402: |cw<|sp(|)p_number_list> and |cw<|sp(|)p_a_list>, respectively.
        !          1403: Bullets or dashes label the items in a |cw<|sp(|)bullet_list>
        !          1404: or a |cw<|sp(|)dash_list>, respectively.
        !          1405: |p
        !          1406: Multi-level lists of up to six levels can be built by putting lists inside
        !          1407: lists.
        !          1408: A standard outline format of six levels consists of an outer |cw<|sp(|)I_list>,
        !          1409: an |cw<|sp(|)A_list>, a |cw<|sp(|)number_list>, an |cw<|sp(|)a_list>,
        !          1410: an inner |cw<|sp(|)number_list>, and a |cw<|sp(|)p_a_list>.
        !          1411: The following produces, in outline format, a description of two kingdoms.
        !          1412: 
        !          1413: |begin(cwfigure)
        !          1414: |sp(|)begin(I_list)
        !          1415: |sp(|)item Animal Kingdom
        !          1416: |sp(|)begin(A_list)
        !          1417:  |sp(|)item Arthropods
        !          1418: |sp(|)begin(number_list)
        !          1419:   |sp(|)item Trilobites
        !          1420:   |sp(|)item Insects
        !          1421: |sp(|)end(number_list)
        !          1422:  |sp(|)item Chordates
        !          1423: |sp(|)begin(number_list)
        !          1424:   |sp(|)item Vertebrates
        !          1425: |sp(|)begin(a_list)
        !          1426:    |sp(|)item Birds
        !          1427:    |sp(|)item Reptiles
        !          1428:    |sp(|)item Mammals
        !          1429: |sp(|)begin(number_list)
        !          1430:     |sp(|)item Marsupials
        !          1431:     |sp(|)item Monotremes
        !          1432: |sp(|)begin(p_a_list)
        !          1433:      |sp(|)item platypus
        !          1434:      |sp(|)item echidna
        !          1435: |sp(|)end(p_a_list)
        !          1436:     |sp(|)item Placental mammals
        !          1437: |sp(|)begin(p_a_list)
        !          1438:      |sp(|)item Cetacea
        !          1439:      |sp(|)item Primates
        !          1440: |sp(|)end(p_a_list)
        !          1441: |sp(|)end(number_list)
        !          1442: |sp(|)end(a_list)
        !          1443:   |sp(|)item Notocords
        !          1444: |sp(|)end(number_list)
        !          1445:  |sp(|)item Mollusks
        !          1446: |sp(|)end(A_list)
        !          1447: |sp(|)item Plant Kingdom
        !          1448: |sp(|)end(I_list)
        !          1449: |end(cwfigure)
        !          1450: 
        !          1451: |begin(I_list)
        !          1452: |item Animal Kingdom
        !          1453: |begin(A_list)
        !          1454:  |item Arthropods
        !          1455: |begin(number_list)
        !          1456:   |item Trilobites
        !          1457:   |item Insects
        !          1458: |end(number_list)
        !          1459:  |item Chordates
        !          1460: |begin(number_list)
        !          1461:   |item Vertebrates
        !          1462: |begin(a_list)
        !          1463:    |item Birds
        !          1464:    |item Reptiles
        !          1465:    |item Mammals
        !          1466: |begin(number_list)
        !          1467:     |item Marsupials
        !          1468:     |item Monotremes
        !          1469: |begin(p_a_list)
        !          1470:      |item platypus
        !          1471:      |item echidna
        !          1472: |end(p_a_list)
        !          1473:     |item Placental mammals
        !          1474: |begin(p_a_list)
        !          1475:      |item Cetacea
        !          1476:      |item Primates
        !          1477: |end(p_a_list)
        !          1478: |end(number_list)
        !          1479: |end(a_list)
        !          1480:   |item Notocords
        !          1481: |end(number_list)
        !          1482:  |item Mollusks
        !          1483: |end(A_list)
        !          1484: |item Plant Kingdom
        !          1485: |end(I_list)
        !          1486: 
        !          1487: |subsection(Footnotes)
        !          1488: 
        !          1489: A numbered footnote is generated by the command |cw[|sp(|)footnote] appended to
        !          1490: the running text.|footnote(This is the first numbered footnote on this page)
        !          1491: The text |cw<|sp(|)footnote(This is the second numbered footnote on this page)>
        !          1492: produces
        !          1493: numbered footnotes.|footnote(This is the second numbered footnote on this page)
        !          1494: Analogously, |cw<|sp(|)dagnote> and |cw<|sp(|)starnote> produce
        !          1495: daggered footnotes|dagnote(This is a daggered footnote)
        !          1496: and starred footnotes.|starnote(This is a starred footnote)
        !          1497: Footnote types can be mixed, as in this section.
        !          1498: 
        !          1499: |subsection(References)
        !          1500: 
        !          1501: |i<Monk> uses |i<prefer> to extract references from a
        !          1502: bibliographic database.|reference<Derr Prefer>
        !          1503: To use |i<prefer> capabilities with |i<monk>,
        !          1504: there are only two additional things you need to know.
        !          1505: First, the |cw<|sp(|)reference> command passes a partial reference to
        !          1506: |i<prefer>, as in:
        !          1507: |cw<|sp(|)|sp(zero width space)reference( Derr Prefer)>.
        !          1508: When this command is used, |i<monk> will automatically invoke |i<prefer>.
        !          1509: Second, the |cw<|sp(minus)R> option to |i<monk> serves to specify
        !          1510: a local or private bibliography file:
        !          1511: 
        !          1512: |begin(cwfigure)
        !          1513: monk |sp(minus)Sproof |sp(minus)R bibliofile myfile
        !          1514: |end(cwfigure)
        !          1515: 
        !          1516: |section(Advanced Monk)
        !          1517: 
        !          1518: |subsection(Preparing a large document)
        !          1519: 
        !          1520: When working on large documents,
        !          1521: it is important to be able to run off parts of the document separately,
        !          1522: while maintaining correct numbering and references to other parts of the document.
        !          1523: You can do this with |i<monk> by dividing the document into several files
        !          1524: and identifying each file appropriately.
        !          1525: |p
        !          1526: The top-level file should contain all style information
        !          1527: and include the various segments.
        !          1528: For a book with three chapters, the parent file |cw<myfile> might look like:
        !          1529: 
        !          1530: |begin(cwfigure)
        !          1531: |sp(|)make(kluwer)
        !          1532: |sp(|)style(page_width 7i)
        !          1533: |sp(|)insert(chapter1)
        !          1534: |sp(|)insert(chapter2)
        !          1535: |sp(|)insert(chapter3)
        !          1536: |end(cwfigure)
        !          1537: 
        !          1538: The first line of each chapter file should identify it as a part
        !          1539: of |cw<myfile>: |cw<|sp(|)part(myfile)>.
        !          1540: |p
        !          1541: When you run off the entire document, |i<monk> will remember the assorted
        !          1542: section, display, and page numbers.
        !          1543: 
        !          1544: |comment{as well as information you save using
        !          1545: |cw<|sp(|)save> or |cw<|sp(|)savepage>.}
        !          1546: 
        !          1547: These numbers will then be used when you run off individual parts.
        !          1548: Note that the numbers should always be reasonable approximations, but may
        !          1549: not always be correct.
        !          1550: When several sections are changing simultaneously, you will need to
        !          1551: generate the entire document periodically to guarantee that all numbers
        !          1552: are exact.
        !          1553: 
        !          1554: |comment{
        !          1555: |subsection(Table of contents)
        !          1556: To run off a table of contents with your document,
        !          1557: use the |cw(|sp(minus)ZZZ) option.
        !          1558: To run off only a table of contents, ZZZ.
        !          1559: By default, this will produce ZZZ.
        !          1560: |p
        !          1561: You have the following options: ZZZ.}
        !          1562: 
        !          1563: |comment{
        !          1564: |section(Error messages)
        !          1565: The following are the error messages currently given by monk:
        !          1566: |begin(figure)
        !          1567: |begin(cw)
        !          1568: usage: monk [-d database_dir -n ] filename; no option g
        !          1569: fiugre is not a monk command: use ``|sp(|)sp(|sp(|))'' to put `|sp(|)' in text
        !          1570: Expecting end for figure begun at line 112; got end for table
        !          1571: No end for figure begun at line 112
        !          1572: Unexpected end for figure
        !          1573: Mismatched delimiters around figure; expecting >, got EOF
        !          1574: Mismatched delimiters around figure; expecting >, got ]
        !          1575: |end(cw)
        !          1576: |end(figure)}
        !          1577: ......
        !          1578: 
        !          1579: |subsection(Modifying the standard formats)
        !          1580: 
        !          1581: You can redefine existing |i<monk> commands,
        !          1582: such as |cw<|sp(|)ret_address> and |cw<|sp(|)p>,
        !          1583: and you can create new document types using the standard
        !          1584: |i<monk> database language.
        !          1585: An early description of the database language is available,|reference{monk
        !          1586: database}
        !          1587: but there is no up-to-date guide.
        !          1588: When the dust has settled,
        !          1589: a new manual will be written.
        !          1590: Currently, any augmentations you write should be considered temporary.
        !          1591: 
        !          1592: |comment{
        !          1593: When you change an existing |i<monk> command, the message
        !          1594: ``|cw<file line_number: Redefining definition_name>''
        !          1595: will be printed, where |i<file> and |i<line_number> identify where the
        !          1596: redefinition of |i<definition_name> was encountered.
        !          1597: A definition can appear anywhere in user text, but must precede its first usage.
        !          1598: We recommend maintaining separate files of definitions, rather than including
        !          1599: them in-line with your text.
        !          1600: The definition file can be typed on your command line,
        !          1601: |cw<monk definition_file text_file>, or
        !          1602: included in your text file after the |cw<|sp(|)make> command,
        !          1603: |cw<|sp(|)insert(definition_file)>.
        !          1604: If you change a definition in the middle of a document,
        !          1605: all instances before the redefinition will use the original,
        !          1606: all later instances the new.
        !          1607: |p
        !          1608: Certain words are reserved as internal database commands and
        !          1609: cannot be redefined:
        !          1610: |cw<associate>, |cw<attribute>, |cw<begin>, |cw<comment>, |cw<define>, |cw<end>,
        !          1611: |cw<environment>, |cw<for>, |cw<if>, |cw<else>, |cw<ifvalue>, |cw<insert>,
        !          1612: F|cw<macro>, |cw<part>, and |cw<source>.}
        !          1613: 
        !          1614: |p
        !          1615: You can also cheat by adding commands in the underlying
        !          1616: formatting language;|reference<troff latest reference>|reference<troff tutorial latest>
        !          1617: this method may offer quick fixes,
        !          1618: but the results might not work smoothly with the |i<monk> program.
        !          1619: 
        !          1620: |subsection(Other related programs)
        !          1621: 
        !          1622: There are two other programs useful to |i(monk) users:
        !          1623: |i(demonk) is the moral equivalent of |i(deroff), and |i(monkmerge)
        !          1624: is the functional equivalent of |i(soelim).
        !          1625: These tools are helpful when processing |i(monk) files by other
        !          1626: programs like |i(spell).
        !          1627: 
        !          1628: |reference_placement
        !          1629: 
        !          1630: |new_page
        !          1631: .ad l
        !          1632: |appendix(List of Commands)
        !          1633: 
        !          1634: |section(Global Commands)
        !          1635: 
        !          1636: |insert(commands/global)
        !          1637: 
        !          1638: |section(Letters)
        !          1639: 
        !          1640: |insert(commands/letter)
        !          1641: 
        !          1642: |section(Memoranda)
        !          1643: 
        !          1644: |insert(commands/memo)
        !          1645: 
        !          1646: |section(Merit Review Form 1)
        !          1647: 
        !          1648: |insert(commands/form1)
        !          1649: 
        !          1650: |section(Bi-Annual Research Reports)
        !          1651: 
        !          1652: |insert(commands/research)
        !          1653: 
        !          1654: |section(Center Phone Books)
        !          1655: 
        !          1656: |insert(commands/centerpb)
        !          1657: 
        !          1658: |section(Technical Memoranda)
        !          1659: 
        !          1660: |insert(commands/tm)
        !          1661: 
        !          1662: |section(Internal Memoranda)
        !          1663: 
        !          1664: |insert(commands/im)
        !          1665: 
        !          1666: |section(Technical Correspondence)
        !          1667: 
        !          1668: |insert(commands/tc)
        !          1669: 
        !          1670: |section(Release Papers)
        !          1671: 
        !          1672: |insert(commands/rp)
        !          1673: 
        !          1674: |section(Association for Computing Machinery Proceedings)
        !          1675: 
        !          1676: |insert(commands/acm)
        !          1677: 
        !          1678: |section(Conference Proceedings Model Sheets)
        !          1679: 
        !          1680: |insert(commands/model)
        !          1681: 
        !          1682: |section(Computer Science Press Books)
        !          1683: 
        !          1684: |insert(commands/cspress)
        !          1685: 
        !          1686: |section(Kluwer Academic Publishers Books)
        !          1687: 
        !          1688: |insert(commands/kluwer)
        !          1689: 
        !          1690: |section(Nursing Home Song Sheets)
        !          1691: 
        !          1692: |insert(commands/song)
        !          1693: 
        !          1694: .ad b
        !          1695: 
        !          1696: |appendix(List of Special Characters)
        !          1697: |save(special_appendix)
        !          1698: 
        !          1699: The special characters that control spacing and carriage movements are
        !          1700: described in section |remember(special_section).
        !          1701: All other special characters are listed below.
        !          1702: For each character,
        !          1703: column |cw<Char> contains the final printed character
        !          1704: and column |cw<Name> contains the keywords
        !          1705: given to |i<monk> to specify the character.
        !          1706: To print the character |sp(rhand), type |cw<|sp(|)sp(rhand)>
        !          1707: in your input file.
        !          1708: 
        !          1709: |insert(examples/special)
        !          1710: 
        !          1711: |appendix(List Of Examples)
        !          1712: 
        !          1713: This appendix provides the input text for examples that appear in
        !          1714: this |i<Monk> user guide.
        !          1715: They are not intended for a novice user,
        !          1716: but for those already familiar with these formatting tools.
        !          1717: If you want to learn how to use |i<tbl> or |i<pic>
        !          1718: do not look at these examples.
        !          1719: Please read the guides that are listed in the references.
        !          1720: These guides, which are readily available,
        !          1721: begin with simple examples.
        !          1722: 
        !          1723: |comment<|section(Table in section |remember(table_example))>
        !          1724: |section(Table in section 4.12)
        !          1725: |save(table_appendix)
        !          1726: 
        !          1727: .ta 1.4i 2.6i
        !          1728: 
        !          1729: |begin(figure)
        !          1730: |source(examples/example.table)
        !          1731: |end(figure)
        !          1732: 
        !          1733: .ta
        !          1734: 
        !          1735: |comment<|section(Picture in section |remember(picture_example))>
        !          1736: |section(Picture in section 4.14)
        !          1737: 
        !          1738: .ta .2i
        !          1739: 
        !          1740: |begin(figure)
        !          1741: |source(examples/example.pic1)
        !          1742: |end(figure)
        !          1743: 
        !          1744: .ta
        !          1745: 
        !          1746: |keywords(Word Processing,
        !          1747: Text Processing,
        !          1748: Formatting)
        !          1749: 
        !          1750: |comment{
        !          1751: |mercury(cmp)
        !          1752: |att(is_release yes)
        !          1753: |director_name(J. L. Flanagan)
        !          1754: |distribute_complete_memo(Executive Directors 112
        !          1755: Directors 112
        !          1756: Department Heads 1122
        !          1757: Department Heads 1127
        !          1758: Directors 113
        !          1759: Department Heads 1138)
        !          1760: |distribute_cover_sheet(A. A. Penzias
        !          1761: 1122 MTS)
        !          1762: |cover_sheet}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.