This submission consists of 2 rather inconsequential command procedures. I was asked to submit CBAR.COM in an L&T session when I mentioned I had such a beast. I threw in DSR.COM because it was handy. 1) CBAR.COM is an automatic change bar generator for runoff files. It takes three arguments: the current version of the runoff input file, an older version of the same runoff input file, and an output file name. The output is a runoff input file that is the same as that given as the first parameter with the exception that change bar commands have been added. Note that you must execute runoff with the "/CHANGE" qualifier to actually get the change bars. CBAR.COM isn't too smart, and it will try to flag changes to runoff commands with change bars (though if they don't produce output there will be no effect). A rather more serious shortcoming is that they don't respect .literal commands, and so will insert change bar commands into a block of literal text. The commands will then be literally reproduced as part of the text... Having seen input for DOCUMENT, it seems like all that would be needed to use CBAR.COM with DOCUMENT would be to change the actual commands inserted, but I don't know for sure, as I don't know DOCUMENT. 2) My other submission is a command procedure (DSR.COM) that I use to build documents with runoff. It automatically generates a table of contents and an index and then builds the entire document, all in one step. It takes 1 required parameter, and 1 optional parameter. The optional parameter is described later. The required parameter is the FILE NAME ONLY, NO FILE TYPE of the document to be built. There are 3 supported file types .rnd, .rnm, and .rns. These produce output documents with the extensions .doc, .man, and .std, respectively. More can easily be added. DSR.COM looks a file with the supplied name and one of these extentions to be found in the current directory. Each document is built from 2 files. The file with the above extention contains the title page and .require commands for the table of contents, the actual document, and the index. I also usually put in commands between these pieces to control page numbering and the like. DSR.COM references CBAR.COM using the logical name "util", which will have to be defined or editted at the user's site. The other file is a file of the same name with file type .rno, located in the current directory. This is .require'd by the first file. This is the file that is processed to generate the index and table of contents, so it should contain the entire document starting at page 1 and going to the end. I have included samples of the 2 files for a skeleton document, ref.rnm and ref.rno. The command @dsr ref will build the output file ref.man, containing a title page, table of contents, a bit of text, and an index. The optional second parameter, mentioned earlier, is the file spec of an older version of the .rno file. If this is supplied, CBAR.COM is used to generate a document with change bars showing the differences between the current .rno file and the file whose file spec is given as the second argument. WARNING. The output of CBAR.COM when used by DSR.COM is the next version of your .rno file. This is then deleted after the document is built, but if you abort DSR, it could be left around. Also, be sure you have a version limit of at least 2, or you will lose your .rno file altogether! This is done this way so the file will be there for the .require command in your primary input file. I suppose a safer way would be to create a temp copy of that as well and change the .require to point at the change bar version of the source, then delete them both. This is left as an exercise to the reader. I hope these are of some use to somebody. -- Terry Poot (800)255-2762, in Kansas (913)776-4041 The McCall Pattern Company, 615 McCall Rd., Manhattan, KS 66502, USA UUCP: rutgers!ksuvax1!mccall!tp Internet: tp%mccall@ksuvax1.cis.ksu.edu