.enable toc .send toc ^&TABLE OF CONTENTS\& .SEND TOC .BL 2 .send toc Columns .send toc .lm +2 .disable toc .;REQUIRE "EDITORIAL.RNO" .REQUIRE "ARTICLE.HED" .enable toc .send toc 2,FROM THE EDITORS .disable toc .!FROM: Multitasker Editor .!SUBJECT: Editorial for February, 1984 .!DATE: 9-JAN-1984 .c;TABLE OF CONTENTS PAGE .page .S 4 .C;FROM THE EDITORS .s 4 Most of the material this issue contains is either written by the editors, received last month just after deadline, or copied from Symposia Session notes or scribe material. About 45 pages of the issue were written by the editors or Ralph Stamerjohn, the SIG Chairman. We have not received a single contribution, letter, question, -- not nothin -- in the last month. I refer to the period between December 9, 1983 and January 9, 1984. That is a bad time for extracurricular activity, I realize, but even so I expected ^&something\&. Reader! We desperately need your help. Please send in at least your questions or complaints; while they may not seem constructive, they will stimulate other readers to respond with answers or comments, and soon the Multitasker will be bulging its bindings again. Update B for RSX11M V4.1 has been out for a while as I write this, and it is supposed to be released this month (January) for M-PLUS V2.1. What has been your experience in installing it? What did you gain? What did you lose? Were there any problems? Does it appear to be a reliable release? Let other users know. It is rumored (by Carl Friedberg of the VAX SIG) that these updates incorporate vectored resident libraries for FCS (at least). Is it true? Do they work, and do they help? How? How do you like EDT V3.0? We want to make the Multitasker a valuable resource once again, but we are entirely dependent on your contributions. Please send machine-readable material if your contribution exceeds one page. .;REQUIRE "SUBMIT.RNO" .REQUIRE "ARTICLE.HED" .etc .send toc 2,Submitting Multitasker Articles .dtc .s 4 .C;^&SUBMITTING MULTITASKER ARTICLES\& .s 4 If you share our belief in RSX, then show it by sending articles, letters, questions, and discoveries to the Multitasker. Let's make it a rewarding experience to read every issue. .tp6 .s 2 .c;^&ACCEPTABLE MEDIA FORMAT\^ We are quite flexible in the formats in which articles can be submitted. All articles should be sent in some machine readable format, accompanied by hard copy if possible. The following media are acceptable: .s .rm +6 .nf ^&Magnetic tape\&: 800, 1600 or 6250 BPI FLX, BRU, PIP, or VMS BACKUP .s ^&Floppy Disk\&: RX01 or RX02 ODS-1 or ODS-2 .rm -5 .fill .s Any media sent to us will be returned to you. It would help if you include a return address label. In addition, for last minute submissions arrangements can be made to dial in to a special account on Allen Watson's VAX. Please phone him directly for details. .tp6 .s 2 .c;^&FORMAT OF ARTICLES\& The contents of the media should be in RUNOFF format, preferably. If you don't know RUNOFF then send straight unformatted text. The RUNOFF we use is VAX Digital Standard Runoff; John Clement's version on the RSX tapes has done a good job of maintaining compatibility with DSR. We use the following formats for most articles: .tp9.nf.lm +5 .s _.PAGE SIZE 58,72 _.layout 3,2 (page numbers at bottom) _.RIGHT MARGIN 72 _.LEFT MARGIN 5 _.SET PARAGRAPH 5,1,2 _.AUTOPARAGRAPH _.TITLE RSX MULTITASKER _.NO SUBTITLE .S .LM -5.fill This allows you 67 characters per line. Many program examples and command files will have to be edited if they exceed 67 characters per line; it would be very helpful if you tested things through RUNOFF first using these parameters and edited any long lines into what you would prefer they be. Otherwise we will have to do it, and you will have to take our decision on where to break lines. To make our editing easy, put all the above commands right at the top of your file while you are testing, and then remove them when you are done, replacing them with this: .s .i5;_.REQUIRE "[MULTITSK]ARTICLE.HED" .tp6 .s 2 .c;^&DEADLINES\& Deadlines for the Multitasker are as follows, and will be strictly observed: .tp3 .s .no fill .lm +5 Submissions: Second Friday of preceding month Mail to DECUS: Third Friday of preceding month .s .fill .lm -5 This means, for example, that the deadlines for the March issue are, for articles to reach us, February 10; for our camera ready copy to be mailed to DECUS, February 17. Sometimes (but not usually) material received between the second and third Fridays will be able to be included in the issue. Most often we will put the issue together the weekend after the second Friday and mail it to DECUS the following Monday or Tuesday. Please notice that for material to reach us (the editors) by the second Friday of a month, you will have to mail it to DECUS about two weeks earlier. They will then re-mail the material to us. Although this seems inconvenient it keeps a single mailing address for Multitasker material even if editorship changes. If you have some time-dependent material and are afraid it will not reach us in time through normal channels, phone one of us directly and we will help you get it to us. All submissions should be sent to: .lm +10 .s .nf .tp5 Multitasker Editor c/o DECUS One Iron Way MR2-3/E55 Marlboro, MA 10752 .fill .lm -10 .tp6 .right;Allen A. Watson######### .right;(201) 646-4111########## .s .right;Dominic DiNollo######### .right;(914) 968-2500#Ext. 2207 .right;Multitasker Editors##### .;REQUIRE "HINTS.RNO" .require "article.hed" .s4 .c;^&Hints 'N Things\& .s4 "Hints 'n Things" is a month potpourri of helpful tidbits and rumors. Readers are encouraged to submit items to this column. Any input about a way to make life easier on RSX is needed. Please beware that tiems in this column have not been checked for accuracy. Send any contributions to Multi-Tasker - "Hints 'N Things", c/o DECUS, One Iron Way, MR2-3/E55, Marlboro, MA 01752. .;REQUIRE "LETRTOED.RNO" .REQUIRE "ARTICLE.HED" .enable toc .send toc Hints and things .disable toc .;FROM: Carl Friedberg .;SUBJECT: RSX Mplus V2.1 Problems .;DATE: 10-JAN-1984 .s4 .c;^&RSX Mplus V2.1 problems\& .s 4 .c;Carl Friedberg .c;Seaport Systems, New York I recently completed two separate M Plus V2.1 Sysgens. Some problems which have occurred are: .lis 'o' .le Although non-privileged tasks built without any external library support should be transportable from earlier versions of M Plus or M, TKBBIG (from + V1.0 or M V3.2) dies during initialization with a trap 4 (probably execution of a halt [0]). ( We are running on a 768. KW 11/70). A quick look through the post mortem dump suggests that much of low core has been scribbled on. TSC has so far been unable to duplicate the problem. Their suggested workaround was to use TKB from V2.0 (which we never sysgen'ed). Aside from a message that module OVDAT multiply defined $$RTS, it does seem to work. This strange set of circumstances comes about if you have decided not to upgrade to BASIC PLUS-2 V2xx; then you have to use version 1.0 SYSLIB, BASRMS, and RMS OLB's, as well as using the earlier task builder. The current task builder on V 2.1 has been completely rewritten to support I/D overlays, version 2 RMS, etc, and was not usable for this environment. .le Standalone BRU ([6,54]BRUSYS) seems to have some problems, particularly when creating or restoring IMAGE (multiple volume floppy disk) save sets; this is documented in the Dispatch. However, the previous workaround of installing BRU non-checkpointable and then fixing it in memory, along with MOU and DMO, no longer works, as BRU is now OVERLAID (from disk, natch) and can't be fixed in memory. There are two major overlay legs, and it looks like a difficult chore to create memory resident overlays. DEVELOPERS: How about documenting this kind of change in the release notes; and can we build BRU with user I/D mapping to get rid of the overlays. Also, how about shipping updates to [6,54]BRUSYS with autopatch, whenever [3,54]BRU is upgraded. .le To work around the previous item, we built a bootable MPlus system on a single RX-50 diskette (800 blocks). Article coming next issue on that subject. .els .;REQUIRE "FLX.RNO" .require "article.hed" .s4 .c;^&FLX Record Length Problem\& .s4 .c;From North Texas LUG Newsletter In using FLX to copy RT-11 files to RSX V4.0, I discovered a gremlin in FLX. FLX will not accept a record length longer than 512 bytes. if it comes to the end of 512 characters without a , it declares that the record is not formatted ASCII (a bit frightening the first time that occurs) and throws away the record. The file is then closed at the end of the previous record. Also, if your last record does not end with a , it will be lost even though it is less than 512 characters. To overcome this, one needs to write a program to go into RT-11 file and count the characters since the last . If the count gets around 500, you will want to put an unusual sequence (such as ) at that point in the line. This will create records less than 512 bytes. After you transfer the file to RSX, you then use a program to search for every occurrence of the CR> and remove them. Your file will then look like it did before you transferred it. .;REQUIRE "SIGACT.RNO" .REQUIRE "ARTICLE.HED" .etc .send toc 2,RSX SIG - 1983 Activity Report .dtc .S4 .c;^&RSX SIG - 1983 Activity Report\& .S4 .C;Ralph Stamerjohn .c;RSX SIG Chairman This report covers RSX SIG activities for the calendar year 1983. This period saw the SIG in transistion, a process which is still underway. Key areas of transition include a split into two SIGs, a new operating procedure, an almost total change in leadership, and a changing focus in Digital's RSX operating systems. At the start of 1983, the SIG included the IAS operating system. A new IAS SIG has been formed through the efforts of Bob Curley and other DevIAS members. This properly positioned IAS within the DECUS structure. The two SIG's will work closely on common interest and share the Multi-Tasker for at least the next six months. The RSX SIG revised it operating procedures in May, 1983, clarifying the election procedures and definition of the Executive and Steering Committees. These changes were adopted by the membership in late summer. Under these new procedures, an election of five officers to the Executive Committee was scheduled for the Fall. However, after four of the nine nominees had to withdraw for various reasons, the five remaining people were declared elected by the DECUS Chapter Administrator. Following procedure, the five elected a new chairman (Ralph Stamerjohn) and he appointed the remaining three seats. The current Executive Committee (and Steering Committee) are shown in another article in this issue of the Multitasker. The SIG has experienced almost 100% turnover at the Executive Committee level in the last two years. The current Executive Committee has not yet had an opportunity to meet and work together. The RSX SIG was active in 1983 in the major areas of DECUS: publications, symposia, and library. It also celebrated its tenth anniversary with a formal banquet at the Las Vegas Symposium. The Multi-Tasker did suffer difficulties, failing to publish on a monthly schedule for the first time in eight years. A new editor, Charles Goodpasture, experienced personal problems and the changing SIG leadership caused a delay in getting a new editor. Four issues were published in 1983 and new co-editors, Allen Watson and Dominic DiNollo, have been found. RSX symposia activities continued quite well in 1983 under the direction of our Symposia Coordinator, Jim Hopp. The SIG no longer draws hundreds of people to its meetings, but a core group of around 300 to 400 attended the main RSX sessions. The SIG continued its successful library efforts with two substantial SIG tapes and some renewed submissions to the DECUS library, most notable a portable spreadsheet from Glenn Everhart. .;REQUIRE "STEERING.RNO" .REQUIRE "ARTICLE.HED" .etc .send toc 2,RSX SIG Steering Committee Members .dtc .TP 18 .S4 .C;^&RSX SIG STEERING COMMITTEE MEMBERS\& .S4 .C;Ralph Stamerjohn .c;RSX SIG Chairman .note FROM THE EDITOR This is an update to the list of steering committee members that appeared in the December, 1983 issue. It contains several additional addresses and corrections to previously published addresses. If a name appears more than once in the list, the address is given only the first time. .end note The following is the current composition of the RSX SIG Executive and Steering Committees as of this date. Positions in the left-most column are executive committee members. .NF .KEEP .tp4 CHAIRMAN: Ralph Stamerjohn 412 Falaise St. Louis, MO 63141 .tp5 LOBBYIST: Kerry Wyckoff LDS Church 125 North State St. Salt Lake City, UT 84103 .tp6 MENU COORDINATOR: Allen Bennett Clark Equipment Company Automated Systems Division 525 North 24th St. Battle Creek, MI 49016 .tp5 PLANNING COORDINATOR: Terry Medlin GEJAC Inc. P.O. Box 188 Riverdale, MD 20737 .tp2 BUDGET: (open) .tp2 LONG-RANGE PLANNING: (open) .tp7 RSX <-> SIG REPRESENTATIVES: RSX <-> IAS: Ray French Boeing Commercial Airplane Co. P.O. Box 3707, MS 6F-21 Seattle, WA 98124 .tp2 RSX <-> VAX: Joe Sventek .tp2 RSX <-> PC: (open) .tp5 PUBLICATIONS COORDINATOR: Allen Watson The Record 150 River Street Hackensack, NJ 07602 .tp8 MULTI-TASKER CO-EDITORS: Allen Watson Dominic DiNollo Loral Electronics Engineering Computer Center Ridge Hill, Yonkers, NY 10710 .tp5 SYMPOSIA SESSION NOTES: S. Reid Madsen Weidner Communications 1673 West 820 North Provo, UT 84601 .tp2 SCRIBE SERVICE: (open) .tp2 DECUS STORE/BOOKS: (open) .tp6 SOFTWARE COORDINATOR: Glenn Everhart RCA GSD Engineering 206-1 Route 38 Cherry Hill, NJ 08358 .tp2 TAPE COPY COORDINATOR: Glenn Everhart .tp2 TAPE COPY DISTRIBUTION: (open) .tp2 TAPE COPY INDEXING: (open) .tp2 DECUS LIBRARY: (open) .tp5 SPECIAL PROJECTS: Liz Bailey Tennessee Valley Authority 222 CEB Muscle Shoals, AL 35660 .tp2 AUDIO/VISUAL: (open) .tp2 VOLUNTEER RECRUITMENT DATA BASE: Liz Bailey .tp5 SYMPOSIA COORDINATOR: Jim Hopp Swift and Company 1919 Swift Drive Oak Brook, IL 60521 .tp2 SYMPOSIA SCHEDULING: Jim Hopp .tp5 PRE-SYMPOSIA SEMINARS: Steve Mylroie PRLS/Signetics, MS:0265 P.O. Box 3409 Sunnyvale, CA 94086 .tp2 CALLS FOR PARTICIPATION: (open) .tp6 SOFTWARE CLINIC: Edward Cetron The University of Utah Center for Biomedical Design 3168 Merrill Engineering Salt Lake City, UT 84112 .tp5 FACILITY/MANPOWER MANAGER: Gary Maxwell Scientific Research Management Corp. 848-3 E. Gish Road San Jose, CA 95112 .tp2 POSTER PAPERS: (open) .tp5 VOLUNTEER COORDINATOR: Nancy Pallett Cameron Shaw Associates 6735 Telegraph Rd. S#15 Birmingham, MI 48010 .tp2 VOLUNTEER NETWORK: Nancy Pallett .tp2 JOB DESCRIPTIONS: (open) .tp5 WORKING GROUP COORDINATOR: Jeff Hamilton E-Systems Greenville Division P.O. Box 1056, CBN27 Greenville, TX 75401 .tp3 Data Acquisition, Simulation and Process Control Allen Bennett .tp2 DECUS Library Glenn Everhart .tp5 RSX-11M Unsupported Versions Bill Burton Texas Research Institute 1300 Moursand Houston, TX 77030 .tp5 Runoff Chuck Spalding Adept Technology, Inc. 1202 Charleston Rd. Mountain View, CA 94043 .tp5 SIG Tape Collection Jim Neeland Hughes Research Lab 3011 Malibu Canyon Rd. Malibu, CA 90265 .tp5 SRD Bob Turkelson NASA/Goddard Space Flight Center Mail Code 935 Greenbelt, MD 20771 .tp6 System Performance and Accounting Paul Sorenson American Electric Power Interactive Graphics Section 1 Riverside Plaza Columbus, OH 43215 .tp2 DIGITAL REPRESENTATIVE: (Spring) Not known .tp5 DIGITAL REPRESENTATIVE: (Fall) Laine Heiser Digital Equipment Corporation 110 Spit Brook Rd. ZK01-3/J35 Nashau, NH 03062 .tp5 DECUS REPRESENTATIVE: Deborah Kleiner DECUS/U. S. One Iron Way, MR2-3/E55 Marlboro, MA 01752 .FILL .NOKEEP .note FROM THE EDITOR How about some volunteers to fill those ^&twelve open positions\&? If you are interested you are qualified; contact Ralph Stamerjohn. .end note .;REQUIRE "WORKGP.RNO" .REQUIRE "ARTICLE.HED" .etc .send toc 1,WORKING GROUP NEWS .dtc .s 4 .C;^&WORKING GROUP NEWS\& .S 4 .c;Jeff Hamilton .c;Working Group Coordinator .c;(214)454-4175 .skip1 .nf .KEEP Date of this report: 06JAN84 .LM +5 The working group chairmen are as follows: .TP5 RSX-11M Unsupported Versions: Bill Burton Texas Research Institute 1300 Moursand Houston, Texas 77030 .TP5 System Performance and Accounting Paul Sorenson AEP, Interactive Graphics 1 Riverside Plaza Columbus, Ohio 43215 .TP5 DECUS Library Bruce Zielinski RCA Marne Highway M/S 138-2 Moorestown, N. J. 08057 .TP5 SIG Tape Collection Glen Everhart RCA Government Systems Division Route 38 Cherry Hill, New Jersey 08358 .TP5 SRD Bob Turkelson NASA/Goddard Space Flight Center Mail Code 935 Greenbelt, Maryland 20771 .TP5 Data Acquisition, Simulation and Process Control (DASPC) Allen J. Bennett Clark Equipment Co. P.O.Box 3000 Battle Creek, Mich. 49016 .TP5 Runoff Chuck Spalding Adept Technology Inc. 1202 Charleston Rd. Mountain View, Calif. 94043 .j .f .NO KEEP .LM -5 The ^&Unsupported Version \&working group is currently planning sessions for the Spring Symposium for past unsupported versions of 11M/11M+. An article has been submitted to the Multitasker to show how to modify the magtape driver to provide better execution of BRU3.2. The ^&System Performance and Accounting \&working group is continuing to prepare an index of the past RSXSIG tapes as it applies to System performance and accounting features that can be provided. There is a session being planned for the Spring Symposium for the System Performance and Accounting working group to discuss further work to be done. A method will be supplied to the Spring 84 tape of a method of providing pass offspring capability in CCL to 3.1 and 3.2. A method is also shown of passing more than 80 bytes on a command line. This is not on the Fall 83 tape, but those desperate enough can contact Paul Sorenson. The ^&DECUS Library \&working group have continued efforts to construct a tape to provide to the DECUS library of the best software off of the past RSXSIG tapes. The tape should go out to the working group for evaluation in the second week of January. The ^&SIG Tape Collection \&working group is currently in the process of developing the summary of the Fall 83 tape. The starting packets have been sent to the tree structure. (Only half of the LUGS responded and those not responding should be dropped but will not be for now, due to the problems of mail, etc.) An article has been submitted to the multitasker with information about the Fall 83 tape. A correction to the SRD submitted to the Fall83 tape just made it in under the wire. It appears Swedish Pascal will be included due to the fact of it incorrectly building under 4.0 and 4.1. The preliminary Fall83 tape has been shipped to the DECUS library and will be updated when the tree delivered version goes out. There are many site problems with the LUGS which order tapes. A site with 1 tape drive and 20 Mbytes of disk storage will have trouble copying a RSXSIG tape. This also slows the tree down. The ^&SRD\& working group has supplied a NEW and improved SRD to the Fall 83 RSXSIG tape. A Multitasker article has been submitted describing it and all the neat things that can be done with it. This version is V6.4. The ^&DASPC \&working group has continued its efforts to lobby DEC for more real time development into RSX systems. This will continue into the future. Representatives from the LABS SIG, VAX Realtime Working Group and DASPC continued in their efforts to form a new SIG, but the status is unknown as of this writing. A seperate session is also planned for this working group. The ^&Runoff\& group has continued its effort to consolidate desirable features of several versions of Runoff into an "official" version. The latest Runoff working group version has been submitted to the DECUS Library. Telephone discussions have been held to review the charter that is held for the Runoff working group. Discussions were also held on the desirability of making Runoff more closely aligned with DSR. No sessions other than the general session is planned for the Spring Symposium. If you are interested in providing information to a special working group concerning problems or ideas in that area, please get in touch with the working group chairman of that group. .enable toc .send toc .bl 2 .lm -2 .send toc Articles .send toc .lm +2 .disable toc .;REQUIRE "RNOPRIMER.RNO" .REQUIRE "ARTICLE.HED" .! SUBJECT:Primer for RUNOFF Document Formatter .! AUTHOR: Allen Watson .enable toc .send toc 2,A Primer for RUNOFF .disable toc .s4 .C;^&A PRIMER FOR RUNOFF\& .s4 .C;Allen A. Watson .c;Multitasker Editor .NOTE At the Las Vegas DECUS Symposium in October, 1983, I gave a session entitled "The Hows and Whys of RUNOFF". Afterward, one gentleman came up to me and asked if I could either provide him with a copy of my overhead slides or publish them in the Multitasker. The talk I gave was based upon the following primer which I wrote for use in my own company, and the slides were hand-written; they would reproduce poorly. Rather than publish the slides, I felt publishing the entire primer might serve the same purpose, and do it better. .end note .SET LEVEL 1 .HL AN OVERVIEW OF RUNOFF RUNOFF (RNO) is a program to make the preparation of memos, letters, and documents easier and quicker. RNO reads an input file containing the text of the document and, interspersed in the text, ^&RUNOFF commands\& that tell RNO how to format the text. You input the text pretty much in free-form, and RNO takes care of making it look pretty. RUNOFF is available from several sources. The latest RSX SIG tape usually has at least one version. The DECUS library has a version dated January, 1982. And for RSX users who may sometimes use a VAX, RUNOFF is present in the VMS system where it is known as DSR (Digital Standard Runoff). RUNOFF is supported by the RSX SIG RUNOFF Working Group. There is a brief report on the activity of the working groups in this issue. .hl +1 HOW RUNOFF IS USED The basic usage of RNO is presented in ^&Figure 1\&. .tp 17 .C;^&FROM IDEA TO DOCUMENT\& .s 2 .lit ___________ __________ __________ __________ | TEXT | | | | | | | | EDITOR |--->| .RNO |--->| RUNOFF |--->| .DOC | | (EDT) | | FILE | | PROGRAM| | FILE | |_________| |________| |________| |________| | V __________ | | | PRINTED| | OUTPUT | |________| .el .c;FIGURE 1 Using a text editor program (EDT or TECO) you create a Runoff source file with a file extension of ".RNO". You include text and formatting commands. Next, you run the RNO program, for example "RNO#MEMO1=MEMO1". RNO creates an output file called, in this case, "MEMO1.DOC". (Some versions, such as DSR, default to a file type of ".MEM".) Now you review the output file, either at your terminal or by printing it. If changes are necessary, you go back to the text editor and make the changes ^&in the .RNO file\&, and run RNO again. When you are satisfied with the appearance of the output file, you can print it for final use. It's important to remember that all changes must be made to the Runoff source file with the extension of ".RNO", and not to the .DOC file that RNO produces. .HL THE ADVANTAGES OF RUNOFF RUNOFF allows you to easily correct and revise documents. When you insert a sentence, a few words, or several paragraphs, RNO will automatically reformat everything else. RNO paginates the output: that is, if you say there are 56 lines to a page, RNO will put 56 lines on a page. If you add text to a page, RNO will move an equal amount of text onto the next page. Pages are numbered automatically, as are sections, etc. RNO can indent text easily; it can do numbered lists; it can produce an index and a Table of Contents. RNO can ^&underline text like this\& with just a simple command. It can center lines of text within the margins, like this: .s .c;this text is centered .c;and so is this .c;and this It can even produce footnotes at the bottom of a page, automatically.* .footnote .skip .repeat 15 "__" .lm +5 .i-5;*####This is an example of a footnote. .end footnote In general, RNO can produce documents with a much neater appearance than most of us can produce at a typewriter. You can use a video terminal to create and edit the text, or to revise it, which is much easier than revising a hard copy document. .HL -1 FORMAT OF THE RUNOFF INPUT FILE All text in the file is taken as source text ^&except those lines which have a period in column one\&. Lines beginning with a period are understood to be RUNOFF commands. For example, here is a short section of an input file with a command calling for two spaces (lines) between two paragraphs: .lm +5 .rm -5 .nf .s This is an example of some text within a source file. This is the first short paragraph. It has several lines. .br _.skip 2 .br This is a second paragraph of text within the source file. As you can see, the previous line was a command to RNO to output two spaces. .lm-5 .rm +5.fill RUNOFF has certain characters that have special meaning to the program. They cannot be used as normal text characters to appear in the output, unless you precede them with a special "quote" character (known as an Accept Flag). The meaning RNO gives to these characters will be discussed later, but for now you should be aware that the following characters get special treatment: .tp 9.s .lm +5 .lit _ Underbar (quote character) # Number sign (explicit space) & Ampersand (underscoring) ^ Circumflex (mode lock) \ Backslash (mode unlock) = Equal sign (hyphenation disable) < Less than (capitalize next word) > Greater than (subindex) .el .lm-5 If you want to use any of these characters in the text of your file they must be preceded by the "quote character", which is the underbar. Thus, to have a number sign in the text like this -- _#33 -- it must be typed in looking like this -- ___# -- with a preceding underbar.* .footnote .skip .repeat 15 "__" .lm +5 .i-5;*####The underbar key is the shift of the hyphen. .efn .HL BASIC RUNOFF COMMANDS This section presents a selected subset of commands that can be used to prepare simple documents. RNO has over 85 commands, but you can do most simple documents using just the commands in the subset presented here. As a matter of fact, all of the basic commands have default settings. This means that you can actually process a text file through RNO without imbedding any commands at all. The default settings are listed in the RUNOFF manual for the version you are using. To get a quick idea of what RNO does, enter a short text file of two or three paragraphs, separating the paragraphs by blank lines, and then use RNO to process it, specifying your terminal as the output file, like this: .s .i5;RNO TI:=filespc You will see that RNO reformats all of the text. Any extra spaces or lines are stripped out so that the output will appear to be all one paragraph, with even left and right margins. The left margin is at column 5, and the right margin is at column 65. Note that the blank lines have disappeared, and RNO has inserted spaces between words to force the left and right margins to be even. In some cases, RNO has hyphenated words if that makes a better fit. RNO's hyphenation algorithm is very simplistic so it may make some bad hyphenation choices. If a high degree of literacy is important to your document you may need to override RNO's hyphenation choices; commands exist to do this. .hl +1 AUTOMATIC PARAGRAPHING Now edit the same test file and insert this line at the very beginning: .s .i5;_.AUTOPARAGRAPH Try RNO TI:=filespec again. As you will see, RNO now recognizes your paragraph breaks (indicated by two consecutive RETURN's) and automatically indents the first line of each paragraph five spaces. You may notice that the first paragraph is not indented; if this occurs, it is because that paragraph was not preceded by two RETURN's, and therefore RNO did not recognize it as the start of a paragraph. If you wish, you can re-edit the source file to include a blank line after the ".AUTOPARAGRAPH" command; now RNO will indent the first paragraph as well. When AUTOPARAGRAPH is in effect, RNO will recognize any blank line or formfeed followed by text, or a line starting with a space or tab as the start of a new paragraph. If the blank line or formfeed is followed by a command line (starting with a period), no paragraph is started. ^&This one command\& allows normally typed text to be justified without any further special commands. .hl PAGE LAYOUT Page layout refers to the way in which margins are set for the top and bottom of a page, as well as right and left margins. It also involves the number of lines used by RNO for the "page header". RNO automatically outputs page numbers at the top of each page. The page number is put on the first line, and then (in the default setting), four blank lines are output. .hl +1 The PAGE SIZE command The Page Size command tells RNO how large the paper is that you are using. It defines how many lines to print per page, and how many characters to print on each line. It looks like this: .s .i5;_.page size 58,70 The example informs RNO to use 58 lines per page and 70 characters per line. The default page size setting varies from version to version; in many versions it is 58 lines per page and 60 characters per line. Some of the versions on the RSX SIG tapes allow you to specify what the defaults will be when you Task Build RNO. .hl The MARGIN commands Once the intial page layout is set, you can alter the margin settings on the fly as you go. For example, to produce a paragraph indented on both sides you could set the left margin five higher, and the right margin five less. If you know the margin settings this can be done with absolute values. For example, if the left margin is at 0 and the right at 65, you could issue these two commands: .s .i5;_.LEFT MARGIN 5 .i5;_.RIGHT MARGIN 60 .lm +5.rm -5 This is the result of executing the two margin commands. As you can see, the text has been indented on both sides. This serves to set it off nicely from the surrounding text. .lm -5.rm +5 If you do not know the current margin settings you can use ^&relative\& arguments, like this: .s .i5;_.LEFT MARGIN +5_.RIGHT MARGIN -5 The above example also illustrates the fact that multiple commands may appear on a single line. To reset the margins to their original, default setting just issue the margin command with no argument: .s .i5;_.RIGHT MARGIN .i5;_.LEFT MARGIN The margin commands (like most RNO commands) can be abbreviated. For RIGHT MARGIN you may use RM, and for LEFT MARGIN, LM. It is not required to put spaces between the command and the numeric argument, so that the following are legal RNO commands: .s .i5;_.LM+5 .i5;_.RM-5 Command abbreviations are shown in the manual for each command. .hl The SPACING command Another frequent need is for double- or triple-spaced documents. This is accomplished with the .SPACING command. Normally RNO will single-space your document. If you want double-spacing, include the command .SPACING 2 or .SP 2 before any text in your file. The number can range from 1 to 5. You can change back and forth in the course of your document. .hl -1 TEXT FORMATTING COMMANDS Text formatting commands are used to alter the format of text within a page. .hl +1 The INDENT command Sometimes you just want to indent one line, as for example in the illustration of the command that follows immediately below. The indentation of the command line is accomplished by preceding the text with an ".INDENT 5" command. The numeric argument is followed by a semi-colon to separate it from the text that follows: .s .i5;_.INDENT 5;___.INDENT 5 In this particular case the "quote character" or underbar is required to force RNO to accept the period as text because on a command line, all periods are assumed to start commands. When the left margin has been set at other than zero, ^&negative indents\& are possible. This produces what typesetters call a "hanging indent", where the first line sticks out to the left and everything else is indented beneath it. Here is an example of a hanging indent, followed by an approximation of what the text looks like in the source file, including the command. .lm +10 .tp 5.s .i-10;RUNOFF HAS the capability of producing hanging indents such as is shown in this paragraph. The left margin is set at 10, and then a negative indent (.i-10) is done just before the first line of the paragraph to force it back to column 0. The rest of the text is justified against column 10. .lm-10 Now, here is the way it looked in the source file. .s.lit .lm +10 .s .i-10,RUNOFF HAS the capability of producing hanging indents such as is shown in this paragraph. The left margin is set at 10, and then a negative indent (.i-10) is done just before the first line of the paragraph to force it back to column 0. The rest of the text is justified against column 10. .lm-10 .el This technique can be used along with "explicit spaces" (number sign characters) to force a series of words to line up at a left margin while the text describing them is justified to a different left margin. Here is a short example: .s.lm +15.rm -20 .i-8;LM######LM is an abbreviation for the LEFT MARGIN command. It changes the setting of the left margin. .s.i-8;ELI#####ELI is an abbreviation for the END LITERAL command. It ends the literal mode started by a preceding LITERAL command. .lm -15.rm +20 .hl The BREAK command When you want to force a line to end without being justified, use the .BREAK command. This is useful in a short list of items, like this: .s This is line one. .br This is line two, and you can see it's not justified. .br This is line three There were two RNO command lines added to produce that: ".BR" between lines one and two, and between lines two and three. Without the Break commands, RNO would have ignored the line endings and justified all three lines on one or two lines. .hl The SKIP and BLANK commands SKIP (abbreviation .S) causes a "break" just as .BREAK does, but in addition outputs at least one blank line. If you say ".SKIP 3", three blank lines are output. (If you are double-spacing or more, SKIP will output the appropriate number of double or triple spaces. E.g. in double-space mode, .SKIP 2 outputs four blank lines.) BLANK does the same thing as SKIP except that the number is not multiplied by the spacing; .BLANK 2 puts out two blank lines regardless of whether you are double-spacing or not. When you are writing a paragraph and want to follow it with an indented example, as we have been doing throughout this document, the easiest way is to enter a line containing ".S", and then a line with ".I5;text". This would produce something looking like this: .s .i5;text .hl The CENTER command The .CENTER command (.C) causes a BREAK and centers the following text. The text is centered within the current margins, over column "right margin plus left margin, total divided by two". There are variants on the CENTER command not discussed here; see the manual for more information. The text must be separated from the command by a semicolon, like this: .s .i5;_.c;THIS IS CENTERED TEXT .s which produces the output: .s .c;THIS IS CENTERED TEXT This makes a nice way to do headings for tables or title pages of a document. .hl The PARAGRAPH command This command is used ^&to establish the format for output paragraphs\&, not to start a new paragraph. It determines how a paragraph looks when AUTOPARAGRAPH is in effect. It takes three main arguments: .s .i5;_.P [_],[_],[_] "ind" sets the number of spaces the first line of a paragraph is to be indented. By default this is 5; in this document I have set it to zero. "skip" is the number of blank lines between paragraphs; the default is 1. "start" is the minimum number of lines at the start of a paragraph which must appear on a page at the bottom; the default is 2. That means that when a paragraph starts, if there are not at least two lines remaining on the page, RNO will start a new page before beginning the paragraph. The setting of the PARAGRAPH command I inserted at the start of this document was: .s .i5;_.P 0,1,2 .hl 3 The LITERAL command The .LITERAL (.LIT) command disengages filling and justifying, and outputs the input text exactly as entered in the input file, with the exception of RNO's special characters, which still must be preceded by a "quote character". Any extra spaces included in the input will also be included in the output, and ^&no commands will be recognized except .END LITERAL\& or .el, which is the abbreviation for .END LITERAL. ^&Don't forget to use the ".END LITERAL" command after the part you want output literally\&, or all the rest of your file will be output exactly as you input it, including the RNO commands! The LITERAL command is useful for outputting tables and columnar material. Tabs can also be used. .hl Underscoring text To cause RNO to underline text in the output file, for emphasis, you must imbed special characters in the text. These special characters are: .s .i5;_^_&###-- to start underlining .i5;_\_&###-- to stop underlining For example, if this paragraph _^_&includes underscoring characters like this, the output would be underlined_\_&. Now I will repeat the paragraph with the characters actually there to do the underlining. For example, if this paragraph ^&includes underscoring characters like this, the output would be underlined\&. Now I will repeat the paragraph with the characters actually there to do the underlining. Notice that the spaces between words are not underlined. .hl -1 SECTIONS, NOTES, AND LISTS As you have been reading this document you have doubtless noticed that it is segmented into sections with numbered headings, such as the one above this paragraph. This has been done (almost) automatically by RNO; all of the numbering, spacing and so on was done by RNO as the result of just one command, called a "HEADER LEVEL" command. RNO can also do other types of automatic formatting for "notes" and "lists", which we will now discuss. .hl +1 The HEADER LEVEL command To understand header levels, you have to think of a document as having "levels" of sections. When you start a document, you are at "level 1" for headings. Level 1 headings are numbered "1.0", "2.0", "3.0" and so on. When you want a sub-heading under one of these, you call for a "level 2" heading. These would be numbered "2.1", "2.2", "2.3" and so on. If you want a sub-sub-heading under section 2.3, you would call for a "level 3" heading, which would produce numbers "2.3.1", "2.3.2", "2.3.3" and so on. The "HEADER LEVEL" command is used to do this (abbreviation ".HL"). It takes the form: .s .i5;_.HEADER LEVEL n text where "n" is a number from 1 to 5 (five is the highest level of heading allowed), and "text" is the text for the section heading. The HEADER LEVEL command line is usually followed by a blank line, or an indented one, to signify to RNO that the next text starts a new paragraph. For example, suppose RNO encountered the following HEADER LEVEL commands as it precedes through an input file: .s .tp 8.lm+5 .lit .HL 1 MAIN SECTION .HL 2 First sub-section .HL 2 Second sub-section .HL 3 First sub-sub section .HL 3 Second sub-sub section .HL 1 SECOND SECTION .HL 2 Another sub-section .HL 2 Last sub-section .el .lm-5 This would produce the following output at the start of each section: .s .tp 8.lm+5 .lit 1.0 MAIN SECTION 1.1 First sub-section 1.2 Second sub-section 1.2.1 - First sub-sub section 1.2.2 - Second sub-sub section 2.0 SECOND SECTION 2.1 Another sub-section 2.2 Last sub-section .el .lm-5 The HEADER LEVEL command also automatically outputs three blank lines ^&before\& the heading line, tests to be sure at least 5 lines remain on the page, and then outputs the heading line. You can see the effect of this command throughout this document. The test for 5 lines insures that a heading will not appear on a page without at least two lines of text on the same page.* .footnote .skip .repeat 15 "__" .lm +5 .i-5;*####There is a way this could still happen: if you input two HEADER LEVEL commands in a row, for example a ".HL 1" line followed by a ".HL 2", with no text for level 1. For this reason it is a good practice to include at least one line of text for each header level. .efn When you use HEADER LEVEL commands, most RSX versions of RNO will ^&automatically\& produce a neatly formatted Table of Contents at the end of your document, using the text from all the HEADER LEVEL commands and recording the page number on which each section starts.** .footnote .skip .repeat 15 "__" .lm+5 .i-5;**###This can be disabled using the .DISABLE CONTENTS command. The VAX version of RUNOFF requires that a separate program, TOC, be run to produce a Table of Contents. .end footnote .hl The LIST command The .LIST command starts an indented list with one blank line between each element of the list. The elements of the list will be numbered sequentially. Each element in the list must be preceded with a ".LIST ELEMENT" command (.LE) and the list is terminated with an ".END LIST" (.ELS) command. For example, here is a short list: .list .le;This is the first element of a list. .le;This is another element. .le;This is the next-to-last. .le;This is the last element. .end list .tp 7 This is the way the list appeared in the input file: .s .lm +5 .lit .list .le;This is the first element of a list. .le;This is another element. .le;This is the next-to-last. .le;This is the last element. .end list .el.lm-5 The nice part of using the .LIST command is that ^&you\& don't have to worry about the numbers; RNO does it for you. If you add a new element in the middle of the list, everything else is automatically re-numbered when you RUNOFF the file again. And all of the indenting and spacing is done automatically, too. A variant of .LIST produces an ^&unnumbered list\&, with a "mark character" instead of a number, like this: .list "o" .le;This is the first element of a list. .le;This is another element. .le;This is the next-to-last. .le;This is the last element. .end list The only difference in the input file between this and the previous example is that I said ".LIST 'o'" instead of just ".LIST"; when RNO sees a character after the .LIST command it uses that as a mark character instead of numbers.* .footnote .skip .repeat 15 "__" .lm+5 .i-5;*####See the manual for restrictions on characters that can be used as mark characters. One RSX version supports this feature with slightly different syntax. .efn .hl The NOTE command Frequently you want to call some short paragraph to the reader's attention by indenting it left and right and heading it with a special heading. RNO has a simple command to do all this for you: the .NOTE command. .NOTE HOW THE NOTE COMMAND LOOKS The .NOTE command produces output that looks like this! This is a note. The text is indented on both sides so it stands out to you as you are reading. .end note The input file for the above note looked like this: .s .lit .NOTE HOW THE NOTE COMMAND LOOKS The .NOTE command produces output that looks like this! This is a note. The text is indented on both sides so it stands out to you as you are reading. .end note .el If there is no text following the .NOTE command on the same line, RNO will center the word "NOTE" over the text of the note. .hl -1 PAGE HEADING COMMANDS Unless you suppress it, RNO automatically outputs page numbers at the top of each page. You can also have RNO output a document TITLE on each page, and in addition, SUBTITLES. You can see what that looks like by looking at the top of this page. .hl +1 The TITLE command If you want each page to have a title, include the ".TITLE" command near the start of your document, preferably before any text. If you have any text before the TITLE command, the title will not appear on the first page. This command takes any text on the same line and outputs it at the top of each page along with the page number. Example: .s .i5;_.TITLE RUNOFF PRIMER .hl The SUBTITLE command Subtitle works like title: the text is taken as a subtitle to appear beneath the title ^&on the next page\&. .hl The AUTOSUBTITLE command AUTOSUBTITLE takes all the work out of it for you and makes the SUBTITLE command unnecessary. Just include this at the start of your input file, and then any time you use a "HEADER LEVEL" command, the text from that section heading will also become the subtitle on the next page! .hl -1 PAGINATION COMMANDS Sometimes you will want to override the normal flow of RNO's output to force the start of a new page. The following commands allow you to do that. .hl +1 The PAGE command The .PAGE command causes a break and an advance to a new page. You would use this when you want to start a table that you know will take most of a page. .hl The TEST PAGE command The .TEST PAGE command (.TP) allows you to force the start of a new page ^&if there are not enough lines left on the current page to output what you want\&. For example, if you are going to output a "literal" section that is 12 lines long and you want to be sure all twelve lines are on the same page, you would precede the literal section with a ".TP 12" command. If twelve lines remain on the current page, nothing happens; but if not, RNO will start a new page. TEST PAGE will interpret the number you give according to the spacing; for example, if you are in ".SPACING 2" mode, RNO will test for 12 ^&double\& lines, or 24 lines. If you are not single spacing but want to test for a specific number of lines, use the ".TEST LINES" command (.TL). .hl -2 PRODUCING AN INDEX When you are writing a fairly long document such as this one, it is useful to have an index to it. RNO can do that for you, but not without a little work. If you include an index entry like this: _.INDEX term, RNO will save each entry as it finds it, remembering what page it was on, and at the end will produce an index for you. All of the sorting and formatting of the index is entirely automatic. You can index terms in the middle of a paragraph by including the _.INDEX command in the text, as long as the "dot" of the command occurs in column one. In producing the index RNO will distinguish between upper and lower case, so be sure you type the index entry the same each time. You can also have sub-entries in the index. If you look at the "RUNOFF" entry in the index you will see an example of sub-entries. Sub-entries are produced by entering index commands like this: .s .i5;_.x RUNOFF>Usage You can create a "main" entry with no page number associated by using the ".ENTRY" command (.Y), for example: .s .i5;_.Y MAIN ENTRY which can then be referenced in sub-entries such as: .s .i5;_.X MAIN ENTRY>Subtopic The easiest way to get used to indexing a document is to do it, use RNO outputting to your terminal, and see the result. .hl OTHER COMMANDS In this primer I have discussed only the commands I use most frequently in producing documents. There are scores of others, and in addition, there are execution time switches that can be used to alter the parameters under which RNO executes. Just to whet your appetite some more, let me end with a list of some of the commands we have not covered. .s .c;RNO COMMANDS NOT COVERED IN THIS PRIMER .list "o" .le;^&ALTERNATING TITLE\& -- flip-flops title and page number on alternate pages, as in this document, so page numbers are always at outside edge of a double-sided document. (This command has different names in different versions of RUNOFF; the VMS version uses _.LAYOUT.) .le;^&SUBPAGE\& -- special page numbering for revisions to documents. .le;^&CHAPTER\& -- starts a new chapter for chapter-oriented documents. .le;^&APPENDIX\& -- Starts a new appendix, titling with "APPENDIX A", then "B", etc. .le;^&EVEN and ODD\& -- forces to next even or odd page. (Not in all versions.) .le;^&RIGHT JUSTIFY\& -- forces text against right margin. .le;^&FOOTNOTE\& -- used to produce footnotes, as seen in this document. .le;^&BLOCK\& -- used to force output of a block of text as a single unit on a page: the current page if there is room, or if not, defer output until the next page. (Not in all versions.) .le;^&FIGURE\& -- used to reserve space on a page for something to be drawn or pasted in later. .le;^&OPTION\& -- one of a set of commands used to include ^&conditional input\& in an input file, so that a single source file can be used to produce several documents with varying content. Some versions have a full set of IF and ELSE commands. .end list .tp 8 .s4 .c;APPENDIX A .C;EXERCISES FOR RUNOFF .TITLE RSX MULTITASKER The exercises in this Appendix are optional, and are given to help you use some of the RNO commands discussed. References are given to the section of the primer that discusses the commands in each exercise. .hl NO COMMANDS (Section 3.0) Using EDT or TECO, enter a file containing two or three paragraphs, separated by blank lines, with no RUNOFF commands. Output it to your terminal with RNO by typing "RNO TI:=your-file-name". Notice how RNO has justified the text into even margins, and has removed any extra spaces and all blank lines. .hl AUTOMATIC PARAGRAPHING (Section 3.1) Add the .AUTOPARAGRAPH command at the beginning of your file, followed by a space, and output it with RNO to your terminal again. Notice that now RNO recognizes the blank lines as paragraph breaks. The first line of each paragraph is indented five spaces. .hl CHANGING PARAGRAPHING (Section 3.3.5) Now add a .PARAGRAPH command at the start of your file. Set the paragraph indent to 0 and the "skip" parameter to 2, like this: ".P 0,2,2". Output the file again. This time there is no indent for the first line, and there are ^&two\& blank lines between paragraphs instead of one. .hl CHANGING PAGE LAYOUT (Section 3.2.1) At the top of your file, add a line like this: ".PAGE SIZE 20,50". This tells RNO to output only 20 lines per page, and to justify in fifty columns. Again, output to your terminal to see the results. .hl CHANGING MARGINS IN THE FILE (Section 3.2.2) Remove the ".PAGE SIZE" command used in the previous exercise. Now, before the second paragraph in your file, enter two commands: .s .i5;_.LM +5 _.RM-5 Be sure to leave a blank line between the commands and the start of the paragraph so RNO will know it is a paragraph start. At the end of the second paragraph, enter the commands ".LM .RM" to reset the margins to their original values. Output the file to your terminal to see the result. .hl SPACING (Section 3.2.3) At the top of your file insert the line ".SPACING 2". Output the file to see the result. .hl USING INDENT (Section 3.3.1) Start a new file. This is to be a list of items, indented 5 spaces for each new column. The first column has no indent, the second is at 5; the third at 10, and the fourth at 15. Using only the indent command, try to reproduce the output you see below: .s TABLE OF INDENTED ITEMS .I5;First item .i5;Second item .i10;Part 2A .i10;Part 2B .i5;Third item .i10;Part 3A .i15;3A sub one .i15;3A sub two .i10;Part 3B .i5;Fourth item Each line except the first must begin with an indent command, for example, ".I10;Part 2A". Keep outputting the results to your terminal until you get the table to look right. .hl NEGATIVE INDENTING (Section 3.3.1) Start a new file. This file should begin with the command ".LEFT MARGIN 13". Use the ".PARAGRAPH" command to set the indent for new paragraphs to "-13", like this: ".P -13". Now enter several short paragraphs describing some RUNOFF commands like LAYOUT, SPACING, and AUTOSUBTITLE (use the Table of Contents to get other names). Start each paragraph with the command name followed by ^&explicit spaces\& to make the command name twelve characters long, like this: .s LAYOUT_#_#_#_#_#_# - the LAYOUT command is used to set the top, bottom left and right margins on a page. AUTOSUBTITLE - this command causes the text of each Header Level to be used as the subtitle when a new page is started. SKIP_#_#_#_#_#_#_#_# - the SKIP command causes a break and skips the indicated number of lines. When you output this to your terminal, because of the left margin being set at 13 and the negative indent for each paragraph, the result should look like this: .lm +13 .p -13 LAYOUT###### - the LAYOUT command is used to set the top, bottom left and right margins on a page. AUTOSUBTITLE - this command causes the text of each Header Level to be used as the subtitle when a new page is started. SKIP######## - the SKIP command causes a break and skips the indicated number of lines. .p 0.lm-13 .hl CENTER AND SKIP (Sections 3.3.3 and 3.3.4) Edit the file from the previous exercise and add a document title, centered, as the first line, like this: .s .i5;_.C;Description of RUNOFF commands Cause four blank lines to follow the title by adding the command ".SKIP 4". .hl UNDERLINING (Section 3.3.7) Change the title line in the previous example like this: .s .i5;_.C;_^_&Description of RUNOFF commands_\_& Output it again. ^&You will not see any underlining at your terminal\&! Now output it to a file by typing "RNO filename=filename", and then print the file on a lowercase printer. Remember to print filename.DOC, not filename.RNO. Look at the printed output and you will see the title is now underlined. Try underlining some of the other text in your file. .hl USING THE LITERAL COMMAND (Section 3.3.6) You may add this to any of your files, or create a new one. Insert a ".LITERAL" command. On the next line, start inputting some tabular text, such as that which follows: .s .lit DRIVE USE ACCESS FOR NUMBER CPUA CPUB CPUC __________________________________________ 0 CSI MASTER R/W -- -- 1 CSI PDUAL R/W -- -- 2 SHADOW -- -- R/W 3 BUSINESS -- RO R/W 4 DATA PACK -- RO R/W 5 PROGRAM DEV -- R/W RO .el You can use tabs to input it. End the table with an ".END LITERAL" command and input a few lines of normal text so you can see that normal justification has resumed. Output the file to your terminal. (Be sure your terminal tabs are set at the default positions, every eight columns.) If the results do not look right, replace the tabs with spaces and try RNO again. .hl LIST AND NOTE (Sections 3.4.2 and 3.4.3) Using the same file, add a NOTE at the top of the file. Put ".NOTE" on the first line, type a short paragraph, and then add a line saying ".END NOTE". Output it to see the result. Now at the end of the file, add a ".LIST" command, and then create a list of several elements, each one starting with ".LE;" or ".LIST ELEMENT;". The element can be one word, one line, or several paragraphs long. End the file with the command ".END LIST" or ".ELS". Output the results. Finally, change the ".LIST" command to use a hyphen as a mark character instead of numbering. .note The remaining commands, for the most part, require a multi-page document for efficient testing. If you have done all of the above exercises, you are ready to start using RNO to do your own documents. That will give you plenty of practice with HEADER LEVEL, INDEX,TITLE, and PAGE. .end note .;require "rnovers.rno" .REQUIRE "ARTICLE.HED" .enable toc .send toc 2,Concerning Versions of Runoff .disable toc .S4 .C;^&CONCERNING VERSIONS OF Runoff\& .S4 .C;Allen A. Watson .c;Multitasker Editor Runoff is an old program. When I first started programming over fifteen years ago my first project was converting a version of Runoff written at MIT in PL/1 that ran in batch mode on an IBM 360 to a time-shared version of PL/1. It had to run in a 16K user partition. Seven or eight years ago I ran into Runoff again, this time on a DEC 11/70 running Unix. Runoff is still in use on Unix systems, frequently known as NROFF or ROFF. The LBL Software Tools package by Joe Sventek (found on the RSX and VMS SIG tapes) contains another version, called FORMAT. On VAX systems there is Digital Standard Runoff Version 2.0, a supported product. The RSX world is dependent on volunteer labor to maintain Runoff. Early RSX systems were distributed with Runoff included among the unsupported utilities; this distributed version was the de facto standard version. Once users get source code, though, changes start happening, and this is what happened to RSX Runoff. Versions began to proliferate: a version to support Diablo printers, a version to support another printer, a version that did Tables of Contents, one that did indices, another that did multiple indices, and so on. A Runoff Working Group was formed with the purpose of maintaining and enhancing Runoff, and -- it is hoped -- consolidating the best features of the many versions. Charles Spalding is the current WG Coordinator (see the Working Group Report elsewhere in this issue). As yet, however, there is not a "standard" working group version of Runoff. For the last two years every RSX SIG tape has had releases of two different verions of Runoff, both excellent. Chuck Spalding submits one of them in UIC [333,10]. John Clement of Rice University submits the other version in UIC [332,12]. I have used both versions and found them almost equally useful; as a consequence I use both versions regularly depending on which features I need for the document I am working on. Those of us who met with the Runoff Working Group in Las Vegas expressed a strong hope that Chuck will be equal to the task of integrating these two versions. If you want the most recent Runoff, just get the most recent RSX SIG tape and look in those two UICs. Both versions come with installation command files, source code, and full, well-written documentation (produced with Runoff, of course). The version recently submitted to the DECUS library was Charles Spalding's version, the same revision level as the one that will be on the Fall 1983 RSX SIG tape, so if you can't get a SIG tape you can order Runoff by itself from the library. .s .tp 4 ^&Advantages of the two versions\& Both Spalding and Clement keep on making improvements to their versions. New features seem to appear on every tape (every six months) and it is hard to keep up with them. I once began a comparison chart for Spalding, Clement and DSR, but unfortunately I have lost it. The versions that I am now using and that I will discuss here all date from early 1983. .c;^&Spalding's Runoff\& .list .le;The Runoff Manual seems more complete and better organized. .le;Supports sub-indexing. .le;Supports alternating titles (flush left on even pages, flush right on odd pages). .le;Supports automatic subtitles based on Header Level commands. .le;Implements a base left margin. That is, you can set base left margin to column 5, for example. Subsequent margin setting commands will all start at column 5. .le;Extensions to TEST PAGE and PARAGRAPH for cleaner handling of end of page conditions. .le;EVEN and ODD commands to force output onto an even or odd page. .le;Allows redefinition of the Quote Character so that the underscore may be used freely in text. .le;DISABLE OUTPUT and ENABLE OUTPUT to turn output off and on; useful to output only selected portions of a file. .le;Extensions to LIST and NOTE commands for better control of line spacing. The LIST command supports the form ".LIST ,x" where "x" is a character to be output instead of consecutive numbers. .le;A FOOTNOTE LINE command to automatically output a separator between text and footnotes. .le;The BLOCK command, which denotes a block of text. If space exists on the current page it is output immediately. Otherwise it is deferred to the next page on which it will fit. .le;The FIGURE command allows inclusion of a figure caption. .le;Multiple Tables of Contents for separate referencing of text, tables, and figures. .le;A CONTENTS command to include a reference in the TOC even though not in a Header Level command. .le;More user control over the format of Tables of Contents; ability to force output of a TOC at any time. .le;Supports optional input in the sense of "if option #2, include this text". Multiple versions of a document can be produced from the same source file. .le;Allows processing of multiple input files into a single output file. .le;Allows appending output to an existing file. .end list .s2 .c;^&Clement's Runoff\& .list .le;Command line control to output only certain chapters or appendices. .le;Command line control to right shift output n characters. .le;Has overstrike flag character to allow overstriking. .le;Supports user definition and use of string substitution, e.g.: .S .I5;_.DEFINE SUBSTITUTE /SIG_$/Special Interest Group .s Each time _$SIG_$ occurs in the text the string "Special Interest Group" would be substituted for it. .le;Break flag character for better control of word breaks. .le;Allows centering of multiple lines of text with single command. .le;Automatically computes the number of lines needed for footnotes. .le;Supports several DISPLAY commands -- NUMBER, CHAPTER, APPENDIX, SUBPAGE, LEVELS, ELEMENTS -- that allow user control of formats for these items. Formats supported are Decimal Numbers, Uppercase Letters, Lowercase Letters, Mixed Letters, Uppercase and Lowercase Roman Numerals, and Roman mixed. .le;Allows more user control of format of header levels. .le;Supports seven different page layouts for titles and page numbering. .le;The LOCK command locks in basic page formatting parameters to aid in merging several files (created with different parameters) into one document. .le;Supports change bars. .le;Allows redefinition of all flag characters. .le;Implements user definition of escape sequences. Using this mechanism you can define non-printing escape sequences to control a variety of printers such as the Diablo or NEC Spinwriter. .le;Supports the REQUIRE command for inclusion of input text from another file. Five levels of nesting allowed. .le;PAGE SIZE command expanded to allow setting defaults for top and left margins. .le;SET PARAGRAPH command to set parameters for paragraphing without actually causing a break or starting a new paragraph. .le;More consistently compatible with VAX Digital Standard Runoff (a matter of opinion). .end list As you can see both versions have much to recommend them. Note that I have listed only things that appear in one version and not in the other. Both versions have many more useful features in common. .;require "rsx41gen.rno" .require "article.hed" .enable toc .send toc 2,RSX-11M V4.1 SYSGEN on a VAX .disable toc .NO PERIOD .s4 .C;RSX-11M V4.1 SYSGEN on a VAX .B4 .C;Frank J. Nagy, Laura Vanags, Lin Winterowd .C;Fermi National Accelerator Laboratory .C;P. O. Box 500 Mail Stop 306 .C;Batavia, IL 60510 .B2 .PERIOD .FLAG BREAK .BR.P;We have successfully completed a SYSGEN for RSX-11M V4.1 using the MCR CLI under VAX/VMS. For the most part, the instructions in the RSX SYSGEN Manual appropriate to online SYSGEN's are applicable to VAX/VMS. However, some preparatory work must be undertaken to successfully perform the SYSGEN. These include changes to be made in SYSGEN2.CMD and SYSGEN3.CMD dealing with assignment of the logical names TKL and VMR. In addition, some of the privileged .BLD files must be changed to avoid bugs in VMS MCR (VMS V3.4 was used). .BR.P In the past we have performed RSX V3.2 and V4.0 SYSGEN's under VMS V2.5 and V3.0. DEC seems to have come full circle on us as the V3.2 SYSGEN required modifications to the command procedures to perform correctly on the VAX. In contrast, the V4.0 SYSGEN required minor changes to some of the .BLD files to bypass a bug in MCR in VMS V2.5; with VMS V3.0 this bug was fixed and RSX V4.0 could be SYSGEN'ed on the VAX without modifying the command procedures. With RSX V4.1 we seem to be back to having to avoid a substantial MCR bug and having to fix problems in the SYSGEN procedures seemingly unrelated to possible MCR problems. We certainly wish DEC would get its act together on this issue and make a commitment to support RSX SYSGEN's under the new VAX-11 RSX layer product to be introduced with VMS V4.0. .BR.P;Our RSX distribution is the RL01/RL02 distribution kit on 9-|track magnetic tape. The VAX is equipped with RL02 disk drives which were used for the SYSGEN itself. The following DCL command sequence was used to copy the baseline distribution tape onto disk: .B.I+10;&$ MOUNT/NOWRITE/FOREIGN MT0: .I+10;&$ MOUNT/FOREIGN DL1: .I+10;&$ MCR BRU .I+10;^&RSX>\& /BACK: