PCjs Machines

Home of the original IBM PC emulator for browsers.


PC-SIG Diskette Library (Disk #1540)

[PCjs Machine "ibm5170"]

Waiting for machine "ibm5170" to load....

Information about “NEAT FORMATTER”

NEAT reads in a standard ASCII file format created by most
wordprocessors and writes a "formatted" file in output.  Use NEAT and
you can:

~ Print multiple copies

~ Begin and end on specified pages of a document

~ Pause for single-sheet feeding

~ Make room for your data during text formatting

~ Include other text files up to a nested level of four

~ Include merge fields from a second merge file.

NEAT also has font controls for double width, boldface, double strike,
italics, two forms of underlining, letter-quality mode, headers and
footers for every page, automatic page numbering in header or footer,
even/odd page margin shifting, line centering, adjustable line spacing,
and more.


Disk No: 1540
Disk Title: Neat Formatter
PC-SIG Version: S2

Program Title: Neat Text Formatter
Author Version: 3.00
Author Registration: $15.00
Special Requirements: Printer.

NEAT reads in a standard ASCII file format created by most
wordprocessors and writes a ``formatted'' file in output.  Use NEAT and
you can:

~ Print multiple copies

~ Begin and end on specified pages of a document

~ Pause for single-sheet feeding

~ Make room for your data during text formatting

~ Include other text files up to a nested level of four

~ Include merge fields from a second merge file

NEAT also has font controls for double width, boldface, double strike,
italics, two forms of underlining, letter-quality mode, headers and
footers for every page, automatic page numbering in header or footer,
even/odd page margin shifting, line centering, adjustable line spacing,
and more.

File Descriptions:

D630     CFG  Printer configuration file.
FLYER    TXT  Other programs available from author.
IDSPRISM CFG  Printer configuration file.
LABELS   CFG  Printer congifuration file.
MX80FT   CFG  Printer configuration file.
NEAT     CFG  Printer configuration file.
NEAT     EXE  NEAT main program.
NEAT     DOC  Documentation to print with DOS command.
NEAT     MAN  Documentation already formatted to print with NEAT.
NONIBM   XLT  Data file.
NORMAL   XLT  Data file.
NULL     CFG  Printer configuration file.
OKIML84  CFG  Printer configuration file.
OKIPACE  CFG  Printer configuration file.
ORDER    FRM  Registration form.
README        Instruction on how to print the documentation.
ROMAN    CFG  Printer configuration file.
SERIF    CFG  Printer configuration file.
SPG8010  CFG  Printer configuration file.

1030D East Duane Avenue
Sunnyvale, Ca. 94086
(408) 730-9291
(c) Copyright 1988,89 PC-SIG, Inc.



         SEM  Software  is  a  growing  collection  of shareware software
         products for the MS-DOS community.  Prices are  reasonable,  and
         quality  is  high,  since  all software is created by a fulltime
         professional  software  engineer  with   a   Chicago   high-tech
         consulting firm.   Help to registered users is available through
         Compuserve, GEnie, or mail.  Orders and inquiries  are  normally
         processed within  48  hours.   Free trial copies of all software
         may be obtained  from  Compuserve  (IBMSIG),  Public  (Software)
         Library  of Houston, GEnie, and many systems around the country.
         Unless noted otherwise, all programs  operate  under  MS-DOS  or
         PC-DOS  2.1 and above, on IBM XTs, ATs, or compatibles, and will
         work on MDA, Hercules, and all color video cards.
                        FOR PRINTING AND TEXT PROCESSING:

              *****   SUPER PRINT   *****
              The ultimate in printing utilities,  SUPER  PRINT  has
              just   about  any  printing  feature  which  could  be
              desired.  SUPER PRINT will print files  with  embedded
              control   characters,   will  slash  zeros,  add  line
              numbers, add left margin space for  three-hole  paper,
              page  number, print file time and date in heading, and
              other stuff.  Recent  additions  include  page  length
              setting,  top and bottom margins, wild card filenames,
              prompted   printing,   printer   configuration   file,
              adjustable tab  expansion, and more!  This is also one
              of the few printing utilties which may be  the  target
              of piped data from another program.  Now, version 2.80
              includes  even  more enhancements, including character
              translation capabilities and front/back printing.  The
              most software you can get for only $10!

              ******   NEAT   *****
              This is a text  formatting  program  similar  to  UNIX
              nroff, except  oriented to the PC user.  Virtually any
              printer can be supported with several different  fonts
              or ribbon options.  This program also has file merging
              features for creating form letters merged with address
              lists, or other such uses.



                           FOR C LANGUAGE PROGRAMMERS:

              *****   STEVE'S TURBO-C LIBRARY   *****
              This  expansion library for Borland's Turbo-C has over
              130 functions and growing.  Although Version 2.0 of TC
              contains direct video access,  "Steve's  Library"  was
              the  FIRST  to  contain a full library of direct video
              text functions for this compiler.  Many users say that
              my functions are even better and easier  to  use  than
              Borland's.   The library includes complete source code
              in C and assembler, plus several useful header  files.
              Included  are  printer  BIOS service routines for fast
              printer access, and  async  communications  functions,
              directly  accessing  the  serial ports for fast access
              without buffering.  Up to 9600 baud is possible!
              Need to accept wildcard filenames on the command line?
              My exparg() function re-arranges (argc,  argv)  to  an
              expanded array with all wildcards expanded to matching
              An  installable  interrupt  handler for the 18.2 Hertz
              interrupt  is  included  so  that   simple   real-time
              applications  can  be  programmed  which will function
              properly regardless of the type of system in use.
              Functions for file opening  from  PATH  and  specified
              environment  variables make opening a file anywhere in
              the environment totally transparent to the programmer.
              And now, support  is  also  included  for  the  switch
              inputs on  the  game  port!    This 4-bit port is very
              handy for reading switches or other logic levels  from
              any outside device.
              Full  documentation  suitable for printing and placing
              in a binder is  provided,  along  with  a  utility  to
              automate the printing.
              To demonstrate various functions from STEVE'S LIBRARY,
              six utilites  with  source  code  are  included.   The
              utilities include:
              GTOD - Reports time and date in many formats
              TC - Compare two text files and report differences
              WC - Count words,  lines,  characters,  and  checksums
              OKISET  -  Configure  an  Okidata  Printer  or similar
              IBM-type printer
              INPATH - Locate an executable file in current PATH
              DUMP - Unique hex dump program in COLOR, with optional
              highlighted bytes.

                           FOR AMATEUR RADIO OPERATORS



              *****   CONLOG   *****
              This is the first in what  will  become  a  series  of
              contest   logging   programs  for  the  Amateur  Radio
              Operator.  CONLOG is intended for the annual  November
              Sweepstakes.   This  package is more than one program.
              There is a logging program for use during the contest,
              and  two  support  programs  to  print  the  resulting
              logsheets, summary,  and  duplicate check sheets.  All
              forms  are  printed  with  slick  graphics  (for   IBM
              compatible  printers only), but can be also printed on
              non-IBM printers without the graphics.  The forms have
              been approved by the  ARRL  for  submission  as  valid
              contest entries.     Extra  care  has  been  taken  to
              preserve all log entries, even if there is a system or
              power failure.   The  user  can  configure  all  video
              attributes,   plus   name,   QTH,   rig,  and  section
              information.  This program is the  result  of  various
              programs  written  over  the  last seven years for the
              Sweepstakes.  No guarantees are made, but MY score has
              increased by over 25% as a result of computer logging!
              And the time saved in re-copying  the  logs  (to  make
              them readable!)  is  incredible.   My entry is usually
              ready for mailing about 30 minutes after  the  contest
              ends.   All new contest rules are supported, including
              the new West Texas section, and QRP power  precedence.
              Provisions  are  made  to  edit  or delete log entries
              during the contest, and the  program  absolutely  will
              not let  you  log a duplicate callsign!  Log size is a
              hefty 2500 entries to  cover  even  you  guys  in  the
              COLorado section.    Try  it once, and throw away your
              pencil!  And when you work  the  contest,  say  hi  to
              WA9DRE when we work!

         Corporations and clubs: Quantity discounts and/or site licensing
         agreements are   welcomed.      Send  your  requirements  for  a




                            |         NEAT           |
                            | Text Formatter Utility |
                            |      Version 3.00      |
                            |        - by -          |
                            |   Steven E. Margison   |

                  Program and Documentation Copyright 1986 - 89
                   by Steven E. Margison -- All Rights Reserved



                      --------- TABLE OF CONTENTS ---------

              I.    Introduction ................................. 1
              II.   Overview of Features ......................... 2
              III.  Command Line Usage............................ 3
              IV.   In Text Commands.............................. 5
              V.    On Formatting, Justification, etc............. 12
              VI.   Configuration Files........................... 17
              VII.  Using Daisy Wheel Printers.................... 20
              VIII. Character Translation ........................ 21
              IX.   Program Operation ............................ 23
              X.    "We Get Letters, Stacks & Stacks of Letters" . 24
              XI.   Shareware and Online Help .................... 27
              XII.  Warranty ..................................... 29
                    Registration Form ............................ --



                          NEAT -- TEXT FORMATTER PROGRAM

               NEAT is  a  post-editing  word  processor  program.  It is
         called a post-editing  program  since  all  document  formatting
         takes  place after editing has been completed and the editor has
         written the file out.  This may seem more cumbersome  than  some
         word  processors,  such  as  WordStar,  PFS:Write,  and  a whole
         plethora of others, but there are definitely some advantages  in
         this  method,  since NEAT has the ability to do some things that
         word processors/editors  can't  do  easily,  if  at  all.     In
         addition, files edited for the NEAT format are portable from one
         computer  to  another,  since  they  are  standard  ASCII files,
         without the "special" characters that some other programs  leave
         behind (such  as  WordStar and PFS:Write).  NEAT files can often
         be formatted and printed out correctly (less font  controls)  on
         systems which don't even have the NEAT program!
               If this all sounds a little like the UNIX program "nroff",
         it's no coincidence, because NEAT is a work-alike to nroff, with
         features desirable  to  the  micro-computer  user.  In addition,
         almost every popular operating system has  an  nroff  work-alike
         these  days:  FORMAT for CP/M, public domain ROFF for MS-DOS (in
         about a dozen different flavors), and probably a version for OS9
         systems as well.  This is  what  makes  documents  in  the  NEAT
         format transportable.  Naturally, each system's version of nroff
         will have some differences, but they are largely the same in the
         basic  features  of headers, footers, margins, justification and
         line filling, page breaks, etc.
               To get a little historical  for  a  moment,  the  original
         nroff  for UNIX was meant to be a program for typesetting usage,
         along with a specialized version called troff.    To  this  end,
         these  programs  are  usually  supported  by configuration files
         oriented toward commercial typesetting equipment.    In  the  PC
         world,  however,  our  typesetters  are  usually  made by Epson,
         Okidata, Dataproducts, or whatever.  Many other  nroff  spinoffs
         for  the  PC  user  eliminate  font  controls, with the possible
         exception of boldfacing via overstriking.  NEAT  addresses  this
         deficiency by supporting 5 font controls, which are configurable
         to virtually  any  printer, including daisywheels.  For printers
         which don't support all types of fonts,  they  can  be  declared
         "non-existent"  and  the font command in the text file is simply
         ignored.  Or, the 5 font controls  can  be  used  (with  certain
         limitations)  to  support  other unique features, such as ribbon
         color changes.

                      NEAT Text Formatter             Page 1             


               Here  is  a  list of the goodies available with NEAT using
         either command line options or in-text commands:

              * Output redirectable in normal DOS fashion
              * Multiple copy printout
              * begin and end on specified pages of a document
              * pause for single sheet feeding
              * even/odd page printing
              * different configuration files can  be  specified  on
              command line
              *  configuration  files  are  simple  text  and can be
              edited in any manner
              * configuration files will be automatically located in
              current directory or in PATH environment  variable  --
              NEAT  and  its  support  do not have to be in the same
              directory as the file being processed.
              * text can make room  for  user-inputted  data  during
              text formatting
              * main text file can include other text files, up to a
              nesting level of 4
              *  main  text  file  allows merge fields from a second
              merge file
              * font controls for  double  width,  boldface,  double
              strike,  italics,  two  forms  of  underlining, letter
              quality mode, plus 10 special purpose codes
              * headers and footers for  every  page,  or  different
              ones for even and odd pages
              *   selectable  automatic  centering  of  headers  and
              * automatic page numbering in header or footer
              * even/odd page margin shifting
              * adjustable right, left,  top,  bottom  margins,  and
              page length
              * temporary indenting for paragraphs
              *  "squeezing"  from  both  margins  for  special text
              effects (like this section of text)
              * specification of lines which must be  kept  together
              and not separated by automatic page breaks
              *   switchable   line   filling   and   right   margin
              justification by space embedding
              * line centering
              * adjustable line spacing
              * blank page space reservation for later  addition  of
              drawings or other non-text items
              * character translation

                      NEAT Text Formatter             Page 2             


               NEAT is invoked as any other DOS program, except that  the
         order of  filenames  is  meaningful to the program.  The default
         output is LPT1:,  or  whatever  is  specified  in  the  optional
         configuration file.      Normal  DOS  redirection  via  the  '>'
         character will override the default output, so that  output  can
         be directed to a file or any valid DOS I/O channel.  Options can
         be  preceeded  by  a  hyphen  (-)  or  a  slash  (/), and can be
         specified at any point  in  the  command  line,  as  can  output
         redirection.   The  filenames  to process must be specified in a
         particular order:
              NEAT <sourcefile> <mergefile>
         If only one filename is specified, then no merging  is  assumed.
         If two filenames are specified, the first filename is assumed to
         be  the  master  file,  and the second is assumed to be the file
         containing the data to be merged (such as names and  addresses).
         Reversing  the order creates some very "unique" effects -- trust
         me, you don't want to try it!
               A configuration file may  be  specified  anywhere  on  the
         command line.   It  is recognized by the extension ".CFG".  Note
         that you may NOT have that extension on a source or merge  file,
         since  NEAT  will  attempt  to  use  it  as  configuration data.
         Multiple configuration files may be  used,  with  the  last  one
         specified being  the  last one to be read and used.  There is no
         real reason to use more than one configuration file at  a  time,
         but  it  is  allowed,  since  each  is  read  and  used as it is
               Options may be specified anywhere  on  the  command  line,
         following  a  single  hyphen  or  split  into several arguments.
         Upper or lower case is acceptable.
             NEAT filename -options >output.txt special.cfg -moreoptions
         Command line options are as follows:

         Give short  usage  message  and  exit.    Overrides  all   other

         Pause between pages.    User  is prompted to continue.  A 'C' or
         'c' in response cancels future  pauses,  a  'Q'  or  'q'  aborts
         printout, and any other response prints next page.

         Like the  P option, except for single sheet feeding.  Line feeds
         stop after the last printed line, rather than  stepping  to  the
         top of  the  next  sheet.   In addition, the 'C' or 'c' response
         will NOT cancel future pauses.

         Begin on page number #.  Pages prior to this one are not output.

                      NEAT Text Formatter             Page 3             


         End on  page  number  #.    Printing  stops  after  this page is
         complete.  For one page of a document,  specify  begin  and  end
         pages the same.

         Start on copy  #.  Used for multiple copies of a file.  Defaults
         to 1.

         Finish on copy #.  Specifies last copy #  to  print.    Used  by
         itself, specifies number of copies to print.  When -S and -F are
         used  with  -B  and/or  -E,  copies  in between the Begin page #
         option and the End page # option are printed in their  entirety.
         For  instance:  -B3S1F4E5  will print from pages 3 on in copy 1,
         all of copy 2 and 3, and up to page 5 in copy 4.  Normally,  the
         S/F and B/E options are not used in combination.

         Specifies a  page  offset  of  #  columns.  Identical to the .po
         command, described in detail in the next section.

         Prints only even numbered pages.

         Prints only odd numbered pages.

         Perform all operations "quietly".  Report only fatal  errors  to
         the screen.

                      NEAT Text Formatter             Page 4             


               All special text and font formatting commands  are  placed
         within  the  text  file,  as  separate  lines  beginning  with a
         "command character".   This  command  character  defaults  to  a
         period  (.)  but may be changed within the text or configuration
         file to any other printable character except a  space.    Format
         commands must always start as the first character on a line, and
         must not contain any other information in the line.  Examine the
         following section of text:

         .ce 1
         This line will be centered followed by a blank line.
         .sp 1
         This is another line of text.

         In  the  above lines, the command lines begin with a period, and
         the text lines don't.  It's that simple!  Word  of  caution:  If
         you  want  to  deliberately  begin  lines  in your text with the
         command character, you must first change the  command  character
         to  something else. (In the above example, the command character
         was first changed to a tilde '~', and then  changed  back  to  a
               Here is a list of all the recognized commands:

              FONT CONTROLS

              .bf #     BOLDFACE
              Enable  boldface  printing  for  specified  number  of
              formatted lines.  A value of 0 disables boldfacing  at
              once.  No  value defaults to 1.  If unsure of how many
              lines to  specify,  use  a  number  much  larger  than
              necessary,  and  then explicitly disable it with .bf 0
              command.  This holds true for all formatting commands.
              To boldface a single word, use the sequence:
              .bf 0
              This technique  can  be  employed  for  all  the  font

              .cu #     CONTINUOUS UNDERLINE
              Enable  continuous  underlining  of  text, even across
              white space.  A value of 0 disables  underlining,  and
              no  value  defaults  to 1. (See also: .ul) Caution: Do
              not attempt to use this command for any other  printer

              .dw #     DOUBLE WIDTH
              Enable double width characters.  Note that spaces will
              NOT  be sent as double width to the printer (see notes
              on document formatting).  A value of 0 disables double
              width, and no value defaults to 1.   Caution:  Do  not

                      NEAT Text Formatter             Page 5             


              attempt to use this  command  for  any  other  printer

              .it #     ITALICS
              Enable italics  font.  A value of 0 disables font, and
              no value defaults to 1.   If  printer  does  not  have
              italics,  this  command  may be configured to select a
              different printer option.

              .ds #     DOUBLE STRIKE
              Enable double strike font.   A  value  of  0  disables
              font, and no value defaults to 1.  If printer does not
              have  double strike, this command may be configured to
              use a different font.

              .lq #     LETTER QUALITY
              Enable letter quality font.  A  value  of  0  disables
              font, and no value defaults to 1.  If printer does not
              have  a  letter  quality  mode,  this  command  may be
              configured to use a different font.

              .nu       NO UNDERLINING
              Disables all underlining.  Functionally equivalent  to
              either .cu 0 or .ul 0 commands.

              .ul #     UNDERLINE
              This   is   another  underling  command,  except  that
              underling is done only on  printable  characters,  and
              automatically  skips  all white space. (See also: .cu)
              Caution: Do not attempt to use this  command  for  any
              other printer feature!

              FORMAT CONTROLS

              .bp #     BEGIN PAGE
              Complete  formatting  on  current  line  and force new
              page.  An optional value may be given to set the  page
              number  value,  otherwise  the  current page number is
              incremented by 1.

              .br       BREAK
              Complete formatting current  line  and  print  as  is,
              forcing the start of a new line.

              .ce #     CENTER TEXT
              Center  the  specified  number  of  text lines between
              right and  left  margins.    A  value  of  0  disables
              centering and  no  value  defaults to 1.  This command
              causes a line break (see .br command).

                      NEAT Text Formatter             Page 6             


              .fi       FILL LINE
              This command causes current lines to be filled with as
              much text  as possible.  This is the default mode. .fi
              is provided to reverse the effects of a  .nf  command.
              This command causes a line break.

              .in #     INDENT
              This  command  causes  a  line break and then adds (or
              subtracts) the specified  value  to  the  left  margin
              value.   The  sum  of  the  left  margin  value  and a
              negative indent value must not be  allowed  to  become
              less than 0 (the start of the line).

              .ju       JUSTIFY
              This  command causes lines to be padded with spaces to
              create even right margin effect.   Since  it  defaults
              on,  this command is provided to reverse the action of
              a .nj command.  This command causes a line break.

              .lm #     LEFT MARGIN
              This command causes a line break, and then resets  the
              left margin value to the value specified.  The default
              value is 11.

              .ls #     LINE SPACING
              Changes  line spacing from default value of 1 to value

              .m1 #     MARGIN 1
              Changes the number of lines in the  top  margin.    No
              value defaults  to  1.   If used with the .pl command,
              this command must come first.

              .m2 #     MARGIN 2
              Changes the number of lines between margin 1  and  the
              body of the  text.   Default value is 2.  This command
              must be used before a .pl command.

              .m3 #     MARGIN 3
              Changes the number of lines between the  body  of  the
              text and margin 4.   Default value is 2.  This command
              must be used before a .pl command.

              .m4 #     MARGIN 4
              Changes the number of  lines  in  the  bottom  margin.
              Default value  is 9.  This command must be used before
              a .pl command.

              .mp #     MINIMUM PARAGRAPH SPACE
              The value  supplied  to  this  command  specifies  the
              minimum  amount of space which must be available for a
              paragraph.  If space remaining on page is too  little,

                      NEAT Text Formatter             Page 7             


              a  page  break  is  forced  before  the  paragraph  is
              started. .ne 4

              .ne #     NEED LINES
              This  command  causes  a  line break, and then insures
              that the specified number of lines  are  available  on
              the current page.  If not, a page break is issued.

              .nf       NO FILL
              This  command  causes a line break and then stops line
              filling.  In other words, text lines will begin to  be
              printed as they exist in the source file.  Since right
              margin   justification   depends  upon  line  filling,
              justification is also disabled by this command.    Use
              .fi to restore filling operation.

              .nj       NO JUSTIFY
              This  command causes a line break, and then stops line
              padding with spaces.  If line filling is still active,
              text will continue to fill lines, but the right margin
              will not  be  justified.      Use   .ju   to   restore

              .pg      PARAGRAPH INDENT
              This command is functionally identical to the command:
              ".ti +6".

              .pl #     PAGE LENGTH
              This  command  sets the page length, which defaults to
              66.  The minimum value for .pl is the sum  of  margins
              1, 2, 3, and 4, plus 1.

              .po #     PAGE OFFSET
              The  value specified is the number of spaces to indent
              odd pages from the right,  and  even  pages  from  the
              left.   This  is  the  same as the command line option
              -O#, and defaults to 0 if not used.

              .rm #     RIGHT MARGIN
              Changes the value of  the  right  hand  margin.    The
              default value   is   74.      Has   meaning  only  for

              .rs #     RESERVE SPACE
              This command causes the specified number of  lines  to
              be reserved  on  the  current  page.  If there are not
              enough lines on the current  page,  a  page  break  is
              forced and  a  new  page started.  No more than 1 full
              page can be reserved with a single command.

              .sq #     SQUEEZE
              This command causes a line  break,  and  then  indents

                      NEAT Text Formatter             Page 8             


              both right and left margins by the specified  amounts,
              in  addition  to  the  current  right  and left margin
              settings.  This section of text is using  the  command
              .sq 5.    Using  a  minus  sign  before the value will
              subtract from the current squeeze value, and  using  a
              plus sign adds to it.  No value cancels squeezing.

              .sp #     SPACE
              This  command causes a line break, and then issues the
              specified number of line feeds.  No value defaults  to
              a single blank line.

              .ti  #     TEMPORARY INDENT
              This  command  causes  a line break, and then adds (or
              subtracts) the specified value from  the  left  margin
              for the next line only.  A minus sign before the value
              will  subtract  the  value  from the left margin. (See
              also: .pg)


              .bc ?     BLANK CHARACTER
              In order to keep certain words together with  a  fixed
              number  of  spaces,  a  blank  character is used which
              "fools" the formatting into thinking that  the  entire
              character   sequence  is  one  word,  but  the  output
              actually uses  a  true  blank  instead  of  the  blank
              character.   The character defaults to "@", and may be
              changed to any printable character with this  command.
              This feature is helpful to make sure that phrases like
              "Mr. Jones"  are  not  considered  as  the  end of one
              sentence and the beginning of  another.    This  would
              almost  certainly  cause  extra spaces to be inserted.
              By  entering  the  text  as  "Mr.@Jones",  the  proper
              spacing is maintained.

              .cc ?     COMMAND CHARACTER
              This  command  cause the default command character (.)
              to be changed to the indicated character.

              .cw        CHANGE WHEEL
              This is a special form of the COMMENT  command,  which
              will pause  and  allow  changing  of a daisy wheel.  A
              message of up to 40 characters may be supplied  as  an
              argument, but is not necessary.

              .ef  text     EVEN PAGE FOOTER
              The  text  is printed as a footer on all even numbered
              pages.  Omitting a text string cancels any even footer
              currently specified. .ne 4

                      NEAT Text Formatter             Page 9             


              .eh text     EVEN PAGE HEADER
              Like .ef, except that the text becomes a page header.

              .fo text     FOOTER
              The  specified  text  is  printed  as  a footer on all
              pages.  If no text is specified, footer  is  disabled.
              This overrides both .ef and .of commands.

              .he text     HEADER
              The  specified  text  is  printed  as  a header on all
              pages.  If no text is specified, header  is  disabled.
              This overrides both .eh and .oh commands.

              .mc ?     MERGE CHARACTER
              This changes the character to be used as a merge field
              indicator.  The default is "|".

              .of text     ODD PAGE FOOTER
              Like .ef except specifies footer for odd pages.

              .oh text     ODD PAGE HEADER
              Like .eh, except specifies header for odd pages.

              .pr text     PROMPT
              The  text  is  printed  to the console and the user is
              prompted to enter information from the keyboard.   The
              keyboard  data is read as though it were text from the
              file, until a control-Z is entered.    Note  that  the
              keyboard  is  read  through  the  DOS "standard input"
              channel, and therefore may be redirected from  a  file
              or  other  source  on  the  command  line with the '<'
              operator.  All other keyboard responses, such  as  for
              "pause"  or  "single  sheet"  modes, are read directly
              from the keyboard, and cannot be redirected.  The text
              argument is limited to 64 characters.  This feature is
              only available with the "-Q" option from  the  command

              .so filename     INCLUDE SOURCE FILE
              The  specified  file  (directories  are  supported) is
              included in the output and then  the  original  source
              file is  resumed.  Includes may be nested to four open
              source files.

              . text     COMMENT
              A line beginning with  one  command  character  and  a
              space is  printed  to the console as a comment.  Limit
              is 64 characters.

              .u1        User Code #1
              This  command  inserts  into  the  output  stream  the
              control  codes  specified in the configuration file as

                     NEAT Text Formatter             Page 10             


              "1=".   This  is  a "one-shot" insert, and may be used
              for things such as ribbon color changes, reverse  line
              feeds, etc.  Use caution when invoking features on the
              printer  which will alter line spacing or position, or
              character width.  NEAT has no  knowledge  of  what  is
              happening,  and  therefore cannot adjust justification
              and paging accordingly.  Note also  that  headers  and
              footers will be subjected to the last code sent.

              .u2        User  Code  #2  The  second  user specified
              code, like .u1

              .u3        User Code #3 The third user specified code,
              like .u1

              .u4 - .u0  User Code #4 - 10 The fourth through  tenth
              user codes, just like .u1

              ..         ignore
              This   allows  a  file  to  have  any  command  string
              "ignored" by simply adding an extra command character.

                     NEAT Text Formatter             Page 11             


               Although  NEAT  is very easy to use, there are some issues
         of use which may not be obvious at first glance.  It is  helpful
         in  the following discussions to have a printed copy of NEAT.DOC
         and a printed copy of NEAT.MAN which was NOT processed by  NEAT.
         This  will  give  you  a  side-by-side  look at the source which
         created this manual, and the resulting output.

                                   LINE FILLING
         The default mode of NEAT is to read source text and  attempt  to
         fill output  lines  with as many words as possible.  This can be
         turned off using the  .nf  command  and  resumed  with  the  .fi
         command.  Note that line filling does not necessarily mean right
         margin justification.

         The  default  mode of NEAT is to justify the right margin of all
         lines by padding the line with extra spaces between words and at
         sentence endings.  For justification to  operate,  line  filling
         MUST be  enabled.   Justification may be turned off with the .nj
         command, and resumed with the .ju command.  Note that if .nf (no
         fill) is issued, justification is also disabled.  When  resuming
         line  filling,  justification will also resume if it was enabled
         before line filling was disabled.

                                HEADERS & FOOTERS
         Text up to the limit of  the  right  and  left  margins  can  be
         specified for  either  headers  or  footers.    Separate headers
         and/or footers may be specified for even or odd pages.    Or,  a
         single header or footer can be specified for all pages.  The .fo
         and  .he  commands  are  the  same as issuing .ef/.of or .eh/.oh
         commands with the same text for each.  The odd/even  header  and
         footer  commands  should  not  be  used  in conjunction with the
         .fo/.he commands.  Any font controls in effect for the  body  of
         the text are automatically switched off for headers and footers,
         which always  appear  as  normal characters.  No line filling or
         justification is used on headers and footers, but it is possible
         to center the text using fraction bar delimiters as follows:
         .fo /this footer will be centered/
         .fo this footer will be left justified
         .fo /footer with two fields/which are centered and spaced/
         The following is the most common footer:
         .fo /document name/Page #/

                     NEAT Text Formatter             Page 12             


         The  last  line  above  shows  another  feature: the # sign in a
         header or footer is automatically replaced by the  current  page
         number.   A  simple centered page number footer or header can be
         specified thusly:

         .fo /- # -/

                                 PAGE FORMATTING
         Page breaks are, of course, calculated automatically.   However,
         it  is often desirable to force page breaks at desired points in
         the text.  A simple page break can be done with the .bp command.
         If an argument is given, it will be used  as  the  next  current
         page number.    Otherwise,  page  numbering starts at page 1 and
         increments with each page.  Using the .ne and .mp  commands  can
         cause  automatic  page  breaks  based upon the formatting of the
         file.   The  .ne  command  is  useful  in  keeping  a  table  of
         information together on the same page.  If the table has, say 16
         lines, the command .ne 16 would cause a page break if there were
         less than  16  lines  left  on the current page.  Otherwise, the
         table goes on the current page.  This  is  extremely  handy  for
         making  sure  that certain information stays together, while the
         rest of the file may be re-edited causing layout changes.

                             FONT CONTROLS - GENERAL
         Font controls may be used anywhere.  Normally, a font is  turned
         on with its command and a value greater than 0.  The value given
         is  the  number  of formatted lines to be printed under the font
         specified.  Multiple fonts can be specified for the  same  text,
         within the  limits  of  the available printer.  Often, it is not
         known when the text is edited how many lines will be  generated.
         Therefore,  a  larger  than  necessary value can be specified to
         start the font, and a value of 0 used to finish it.   With  this
         means,  it is possible to alter fonts on individual words within
         a line, since the font control takes effect as  soon  as  it  is
         invoked, and cancelled as soon as it is satisfied or given a new
         value  of  0. (Look at NEAT.MAN to see how the previous line was
         NEAT also provides 10 user-defined  codes,  which  do  not  have
         "on/off" features, like the other font controls.  These 10 codes
         may be defined in the configuration file to perform any function
         desired on the printer.  Note, however, that it is VERY possible
         to issue  codes  which  will  ruin  the  printout.  For example,
         setting a code which forces 8 lines per inch without  a  similar
         command  to NEAT to adjust lines per page will result in "short"
         pages.  Sending a code to force subscript printing may  cause  a
         header  or  footer  to  be  printed in subscript as well, if the
         "normal" code is not sent before a page break.   Experimentation
         is the key to using the user-defined control codes.
         NEAT  takes  care  to  print all headers and footers in "normal"

                     NEAT Text Formatter             Page 13             


         font.   That  is, if a header or footer is printed while another
         font is in effect, the font is turned off while  the  header  or
         footer is  printed,  and  then  restored.  This feature does not
         work with the user-defined codes, however.

                           FONT CONTROLS - UNDERLINING
         Underlining  can  be  invoked  as  either  continuous  (.cu)  or
         non--continuous (.ul).    The only difference is that continuous
         mode underlines across white space, while the  other  mode  does
         not.   Either  mode  can be cancelled by a value of 0 or the .nu
         command.  Note that it is not possible to create a line  of  all
         spaces with  underlining  (as  for a form).  To do this, use the
         .nf command to suppress formatting, and then  enter  a  line  of
         underline characters.  It may also be possible to make a line of
         "blank"  characters  with  underlining enabled, but this may not
         work with all printers, since some printers will ignore  a  line
         of all spaces.

                           FONT CONTROLS - DOUBLE WIDTH
         Double  width  font  automatically  adjusts  all  line character
         counts to allow for the fact  that  double  characters  actually
         take two normal character spaces.  However, real spaces are sent
         to the  printer  as  non-double  spaces.  This is important only
         when centering  lines.    To  overcome  this,  either  turn  off
         justification, or use the blank character to insert double-width
         spaces  where  desired.  (Refer  to  the  page  1 title block of
         NEAT.MAN for an example of this technique.) It should  be  noted
         that  some  printers  will not print the extended IBM characters
         (such as the box drawing characters) in double width.   However,
         NEAT  will  continue  to  allow  2  spaces for these characters.
         There is no fix for this discrepancy.  Just  avoid  it  if  your
         printer does not print these special characters as double width.

                          FONT CONTROLS - LETTER QUALITY
         Letter quality is actually more of a "mode" than a special font.
         Normally,  it  would be desirable to print an entire document in
         letter quality, which could be done by specifying the .lq option
         with a very large number at the beginning of the file.  However,
         any headers or footers would invoke  the  "letter  quality  off"
         code, and  therefore  print in normal quality.  Invoking some of
         the other fonts could also cause a reversion to normal  printing
         when turned  off.    To solve this, create a special CFG file in
         which all of the "off" font control strings contain the codes to
         reset the printer into LQ mode.  Now, the  printer  will  always
         remain in  LQ  mode as the "normal" mode.  It would also be wise
         to insert the LQ enabling codes in  the  printer  initialization
         string,   and   the  "normal"  printing  codes  in  the  printer
         de-initialization string.

                     NEAT Text Formatter             Page 14             


                             FONT CONTROLS - ITALICS
         NEAT  really  doesn't  have any idea what italics are; it merely
         responds to the command and sends an appropriate command to  the
         printer.   Therefore, this command may be set to almost anything
         supported  by  the  available  printer,  provided  the  function
         selected does  NOT  alter line length or character width.  To do
         so would give unpredictable results in the  output  format.    A
         typical  alternate  use  for  the italics mode would be a ribbon
         color change.

                                 BLANK CHARACTER
         NEAT treats true space characters as breaks between words  which
         may be padded for justification.  Periods followed by spaces are
         considered  as  sentence ends, and will be preferentially padded
         with spaces.  Sometimes, it is  not  desirable  to  allow  extra
         spaces,  especially  between  a  person's  title and their name:
         Mr. Jones.  The blank character, which defaults to  "@"  can  be
         used  to  fool  NEAT  into  thinking that the entire string is a
         single word, since the blank character is not  recognized  as  a
         space.   However,  when  the formatted line is output, the blank
         character is trapped and a true space is output  instead.    The
         blank character  may  be  changed  with the ".bc" command.  Note
         that the current blank character will always print as  a  space,
         never as  itself.    If  you want to literally print the current
         blank character, change the blank character  to  something  else

                                  MERGING FILES
         NEAT  can  be  used  as  a mail merging program, to allow a form
         document to be  printed  many  times,  with  different  data  in
         certain areas  for  each  copy.    The  merge  character  is the
         vertical bar (|) character, and becomes significant  only  if  a
         merge  file  is  open  and  the  merge  character  is  used in a
         particular manner.  The merge character may be changed with  the
         .mc command.    If  you change the merge character in the source
         file, use the modified character in the merge file as well!
         Merge information is contained in the merge file, with the merge
         character separating each field.  All information for  a  single
         source  copy  must  be  on  a  single  line of not more than 190
         characters.  One copy of the source file is  produced  for  each
         line  in  the merge file, unless the -B and -E options are used.
         A typical address line in a merge file may look like this:

         John Doe|1234 Graft Drive|Chicago, IL

         In the source file, each merge field is identified by  a  number
         between the  merge  characters:  |1| .  The number refers to the
         merge field in the associated merge line.    If  a  merge  field
         doesn't  exist  or is empty, then the resulting output will also
         be empty.  The address heading for a letter using the above line

                     NEAT Text Formatter             Page 15             


         would look like:


         The  fourth field would allow for a potential fourth line in the
         address.  Any merge field can be used as often as desired in the
         source file.  The name field in this example could then be  used
         in the greeting:

         Dear Mr. |1|:

         The  number of merge fields is limited only by the length of the
         merge line.

                                    USER INPUT
         The .pr command may be inserted anywhere in a file to prompt the
         user for data from the keyboard.  All entered text is  processed
         as  though  it  were  part  of  the current source file, until a
         control-Z character is entered.  Since text is read through  the
         DOS  "standard  input"  channel,  input  redirection via the '<'
         operator on the command line is possible.  Please note that this
         feature is ONLY available when using  the  "-Q"  option  on  the
         command line.

                      NEAT Text Formatter             Page 16            


               Printer and port configuration is established by  optional
         configuration files.   If no file is present, the output of NEAT
         defaults to LPT1: and the printing controls default to those for
         an Epson MX/FX/RX series printer.  If no configuration  file  is
         specified  on  the  command  line,  NEAT  looks for a file named
         NEAT.CFG. The current directory is searched  first  and  if  not
         found,  the  PATH  environment  string is searched for the file.
         Normally, NEAT.EXE and NEAT.CFG should be in the same directory,
         and if that directory is in the PATH, then it will  be  possible
         to  run  NEAT with proper configuration from any other directory
         desired.  A different configuration file may be specified on the
         command line, and the same order of searching will be performed.
         However, if a command line configuration file is specified  with
         a  drive  or  directory,  then only that drive/directory will be
         searched for the file.  Any configuration item not found in  the
         file defaults  as  indicated  above.    A file named NULL.CFG is
         provided with NEAT which turns off all font controls.   This  is
         useful  to  create  a  document  file for distribution to others
         whose printer abilities are not known. (This is how NEAT.DOC was
               Entries in the configuration file may be in any order, but
         only one entry can be on a line.  All printer control characters
         are entered as decimal number strings, separated by commas.   In
         addition  to  font controls, a printer initialization string and
         closing string are provided,  plus  a  default  NEAT  output  if
         different than LPT1:, and a name string which is reported to the
         display when  the  program  reads the entry.  The name string is
         for user enlightenment only; it does  not  affect  operation  of
         NEAT.  Each  control code entry consists of a series of numbers;
         the first number is the number of control  characters  to  send,
         and can  be  set to 0 to disable the feature.  Do not count this
         first number in the total.  Each control character then  follows
         in the  order  in  which  it should be sent to the printer.  All
         control character  definitions  are  separated  by  commas.    A
         maximum of 9 control characters are allowed in any field.  Extra
         characters  are  ignored,  as there is a finite amount of string
         space in the NEAT program for each entry.  Leading zeros are not
         needed.  Entries must  be  formatted  as  follows  (do  not  add
         unnecessary space characters):

                      NEAT Text Formatter             Page 17            


         ;Double Width ON (+) and OFF (-)
         D+=character count,first character, second character, nth character
         D-=    "          ,     "         ,      "          ,      "
         ;Underline ON (+) and OFF (-)
         U+=character count,first character, second character, nth character
         U-=    "          ,     "         ,      "          ,      "
         ;Boldface ON (+) and OFF (-)
         B+=character count,first character, second character, nth character
         B-=    "          ,     "         ,      "          ,      "
         ;Double Strike ON (+) and OFF (-)
         S+=character count,first character, second character, nth character
         S-=    "          ,     "         ,      "          ,      "
         ;Letter Quality Mode ON (+) and OFF (-)
         L+=character count,first character, second character, nth character
         L-=    "          ,     "         ,      "          ,      "
         ;Italics ON (+) and OFF(-)
         I+=character count,first character, second character, nth character
         I-=    "          ,     "         ,      "          ,      "
         ;The following are the 10 user-defined control codes
         1=     "          ,     "         ,      "          ,      "
         2=     "          ,     "         ,      "          ,      "
         3=     "          ,     "         ,      "          ,      "
         4=     "          ,     "         ,      "          ,      "
         5=     "          ,     "         ,      "          ,      "
         6=     "          ,     "         ,      "          ,      "
         7=     "          ,     "         ,      "          ,      "
         8=     "          ,     "         ,      "          ,      "
         9=     "          ,     "         ,      "          ,      "
         0=     "          ,     "         ,      "          ,      "
         ;following sets default initialization of no justification
         ;(see text which follows)
         ;following changes default right margin to 90 chars
         .rm 90
         ;Initialization String
         O=     "          ,     "         ,      "          ,      "
         ;Closing String
         C=     "          ,     "         ,      "          ,      "
         N=Name of this configuration file
         ;Default output if different than LPT1:
         ;Semi-Colon denotes a comment line which is ignored

         Several  configuration  files  are  included   with   the   NEAT
         distribution to  support different printers.  Rename the desired
         file to NEAT.CFG and modify it as necessary.    Notice  that  to
         disable  a  feature  not  supported  by  a  printer,  specify  a
         configuration ON/OFF value of 0 characters.
               The printer assignment defaults to  LPT1:  using  ROM-BIOS
         access, which  is  very  fast.   Changing the "P=" string in the
         configuration file to "P=2" or "P=3" will alter output to  LPT2:
         or LPT3:  respectively.   Giving the entry "P=P" will set output

                     NEAT Text Formatter             Page 18             


         to the  DOS  channel  PRN:.  This is somewhat slower, but allows
         access  to  serial  ports  if  the   PRN:   channel   has   been
         appropriately re-directed.    Any  command line redirection will
         override the "P=" entry in the configuration file.
               Several of the "dot commands" can also be specified in the
         configuration file, just as though they were in the text.  These
         commands will take effect at program initialization, and at  the
         beginning of  each new copy of the printout.  The "dot commands"
         allowed are:
             .nf - turn line filling off
             .nj - turn justification off
             .ls - select line spacing
             .pl - specify page length
             .lm - specify left margin
             .rm - specify right margin
             .cc - change command character
             .mc - change merge character
             .bc - change blank character
             .m1 -
             .m2 -
             .m3 -
             .m4 - set margins 1 through 4
         Each command should be specified exactly as it would  be  if  it
         were issued in the text, including any required parameters.

                      NEAT Text Formatter             Page 19            


               NEAT is an ideal  program  to  operate  with  Daisy  Wheel
         printers, and a sample configuration file, D630.CFG, is provided
         with codes  for  Diablo  630  type codes.  If using single sheet
         paper, be sure to use the -L option  and  align  each  sheet  as
               Changing  of  the printwheel can be done within a printout
         by the use of  the  .cw  command.    This  command,  when  used,
         suspends processing  and  waits  for any keypress.  This feature
         can be used to provide a pause in the printing for changing  the
         wheel.   When  it  is  changed,  simply  type  any key to resume
         processing.  An optional string  to  the  .cw  command  will  be
         displayed on the screen.  Unfortunately, you can't change in the
         middle of  a  line,  but  you  can  change at any line break.  A
         typical command sequence would look like this:

              some text
              some more text
              this is the end of a sentence.
              .cw Orator 90%
              The text continues on a new line here
              and here is still more text.

         When this file gets printed, the .cw command  will  display  the
         message "CHANGE WHEEL: Orator 90%" and wait for a keypress.

                      NEAT Text Formatter             Page 20            


               NEAT provides a character translation feature.  This means
         that any character from the input can be changed to a  different
         character when  output.    This is a handy feature when printing
         files which contain characters from the extended  IBM  character
         set  on a printer which does not support those extra characters.
         This would include almost all  daisy  wheel  printers  and  many
         dot-matrix printers   from   pre-IBM   days.      The  character
         translations are user-created and contained in a  special  file.
         Like  the  CFG configuration file, it is a plain text ASCII file
         which may be created or modified with  any  plain  text  editor.
         The distribution of NEAT contains two translation files:
         The  NONIBM.XLT  file  translates  all  characters  from the IBM
         extended set to the nearest normal ASCII character, or  in  some
         cases just  periods  and  spaces.  There is nothing sacred here;
         modify as you see fit!    The  other  file,  NORMAL.XLT,  really
         doesn't  translate  anything, since each character is translated
         to itself.  It is provided more as an  example  and  a  starting
         template for translation files of your own.
               A  translation  file  consists  of  1  or more lines, each
         translating a  single  character.    In   the   computer   world
         characters are actually numbers in the range of 0-255 (decimal).
         Numbers  0-31  are  "control  characters" and are not printable.
         This includes line feeds, carriage returns, form feeds, and many
         other specials.  Numbers 32-126 are normal letters, numbers, and
         punctuation.  Number 127 is kind of special.  Some printers will
         print it as a solid block, others will simply ignore it or print
         a space instead.   The  numbers  128-255  are  the  special  IBM
         characters,   and   contain   foreign   symbols,   line  drawing
         characters, various  shaded  block  characters,  and  the  like.
         Translation  is  a  process  of defining a character and its new
         value as follows:
         In this example, the  single  vertical  bar  graphic  character,
         #179,  is  to  be  printed  as the ASCII broken vertical bar (|)
         character #124.  It's that simple!  Do  you  need  to  translate
         everything?  No.    All characters will be left unchanged unless
         there is a translation value.  In the above example, if that was
         the only character to translate, then  that  is  the  only  line
         required in  the translation file.  The syntax is not difficult,
         but it isn't forgiving either.  The form is nnn=nnn,  where  the
         first   number  is  the  decimal  number  of  the  character  to
         translate, and the second number is the decimal  number  of  the
         character to  substitute.  Leading zeros don't hurt, but they're
         not needed either.  Each number is separated by  ONLY  an  equal
         sign (=).   Each  number  must  be in the range of 0-255.  Other
         values are reported as errors.  Character translations may be in
         any order within the file.  They do not need to be in  numerical
         order.   Any  line  beginning  with  a semi-colon is a "comment"
         line, and may be used to add information to the file which  will

                      NEAT Text Formatter             Page 21            


         be ignored.  In addition, comments may be added on a translation
         line if the second number is followed by  at  least  one  space.
         This  is  even  handier for documenting what is being changed to
               All characters except carriage return  (13)  and  linefeed
         (10) may be translated.  These may be entered in the translation
         file,  but NEAT will stubbornly put them back the way they were.
         Can't play with the characters that signal the end  of  a  line!
         In  addition,  be  careful  about  the control-Z (26) character.
         This is a control character which signals the end of a text file
         to many programs, NEAT  included.    If  you  translate  another
         character  to  this  value, you will be inserting an end-of-file
         mark into your output where you probably don't want one.   There
         is  no  automatic  protection  against  changing  or  using this
               The rules for specifying a translation  file  are  exactly
         the  same  as  for specifying a "CFG" configuration file, except
         that the extension is "XLT".  Like CFG files, if no XLT file  is
         specified  on  the  command  line then the current directory and
         PATH are searched for a possible NEAT.XLT file.  No  problem  if
         it doesn't  exist.    If one isn't found, then no translation is
         done.  Or, use any other XLT name on the command line to  invoke
         a translation file.    You may use multiple files, too.  Perhaps
         one file translates all the  extended  characters,  and  another
         translates all lower case to upper case.  You could specify both
         files to  perform both translations.  Remember, the command line
         is  parsed  left-to-right,  which  means  that   the   left-most
         translation  file will be read before the right-most translation
         file.  This only  becomes  significant  if  each  file  were  to
         translate the  same character or characters.  The last file read
         (right-most file) would be the one that would actually determine
         the translation.  Also, if you want to use a special translation
         file and the default NEAT.XLT file, you must specify both on the
         command line since the automatic search for NEAT.XLT is canceled
         if any XLT file is specified on the command line.

                     NEAT Text Formatter             Page 22             


               First,  understand  that there are two modes in which NEAT
         may operate; the "quiet" mode, and the  normal  mode.    If  the
         "quiet"  mode  is  selected, via the -Q option when invoking the
         program, most of the information in this  section  will  not  be
         true.  In the "quiet" mode, NEAT just sits there and attempts to
         generate  output,  and only sends messages to the console in the
         event of a prompt command (.pr) or  fatal  error.    If  the  -Q
         option is NOT used, then NEAT will present a box on the console,
         containing information  about  what  it  is  doing.    This  box
         contains the names of active files, the  page  number  currently
         printing,  the  copy  number printing (if more than 1 copy), and
         the total sheets printed so far.  Note that the page  number  in
         the  display  will match the page number used in the headers and
         footers, while the sheet number is the total  number  of  sheets
               If  output  is  being  sent to one of the printer channels
         LPT1, 2, or 3, NEAT will constantly  check  the  status  of  the
         printer to  verify  that it is ready for data.  If an abnormally
         long time passes  without  being  ready,  an  error  message  is
         displayed in the box.  Correct the printer problem and press any
         key EXCEPT  the <ESC>ape key to continue printing.  The <ESC>ape
         key may be used to abort the processing of the file.
               At any time that NEAT is  processing  data  (except  while
         waiting  for  the  printer  to  become ready) the program may be
         interrupted with the <ESC>ape key.   You  will  be  prompted  to
         abort  the  program  with  a 'Q' key, or continue with any other
         key.   Interrupting  the  program  with   the   <Control-C>   or
         <Control-Break>  key  will immediately cancel further processing
         and exit to DOS.
               NEAT uses the standard DOS critical error handler.    This
         is  the  one  that displays the "Abort, retry, ignore" prompt on
         the console.  For technical and economic  reasons  the  decision
         has  been  made not to add a special disk error handler to NEAT.
         This means that the nice box display may get messed  up  in  the
         event of  a  critical  disk  error.   This is NOT a program bug.
         Simply reply to the error prompt  as  necessary  and  NEAT  will
         continue processing  data.  It is never a good idea to reply 'I'
         to a DOS critical error.  If you tell DOS to 'I'gnore an  error,
         garbage  data  will  be sent to NEAT and in turn be generated as
         well. (Garbage in, garbage out!)

                     NEAT Text Formatter             Page 23             


         X. "We get Letters, Stacks & Stacks of Letters..."
               If  you're old enough to remember Perry Como's show you're
         permitted to chuckle at this chapter's title.   Seriously,  here
         are  some  of the questions asked by users of previous versions.
         They are included here to  assist  you  in  using  NEAT  without
         having to wait for a reply from me.

         *Q.  "Just  before NEAT exits after doing its work, a commercial
         is displayed and if I hit any key other than  N  a  registration
         form is printed  out.    This  is  somewhat annoying.  Can I get
         around this?"
         *A. You sure can!  Register the program!  All registered  copies
         of NEAT have the "commercial" defeated.

         *Q.  "Your distribution disk has all the NEAT files, plus an ARC
         file as well.  The ARC file seems to have the same stuff.    Why
         is it there?"
         *A. This is explained in the "README" file on the disk.  The ARC
         file  is for uploading to your favorite BBS or sharing with your
         friends.  It is virtually the same  as  your  registered  files,
         except that it contains an unregistered version of NEAT.EXE, and
         is  already ARC'd in an acceptable format for any BBS. This is a
         convenience for you, and a help for me, since  it  prevents  too
         many registered  copies  from being posted.  Thank you for using
         this file as the "share" copy!

         *Q. "Do you accept VISA or Mastercharge?"
         *A. No, unfortunately.

         *Q. "Do you offer volume discounts or site-licensing?"
         *A. Yes.  Write me or EMail me with your requirements  and  I'll
         make you an offer you can't refuse!

         *Q.  "I  am  a school teacher and I would like to use NEAT in my
         computer classes.  Do  I  need  to  purchase  a  copy  for  each
         computer in the class, or for each student?"
         *A. Certainly  not.   If you would like a complementary copy for
         use in class, just write me on your school's letterhead.  You'll
         get a distribution disk from which you can make copies for  your
         students.   All  I  require is that you explain to your students
         (and other faculty!) what Shareware is,  and  that  they  should
         purchase  their own copy if they are going to use the program on
         their OWN computer OUTSIDE of class.  Use within a class as part
         of the course I consider to be "evaluation" use.    However,  if
         the  program  is going to be presented to the student as part of
         books or other materials for which the student is charged,  then
         you WILL  have to negotiate a site license agreement with me.  I
         have no problem with a school district using my  work  to  teach
         computer  techniques,  but  I  do have a problem with the school
         "selling" my product.

                      NEAT Text Formatter             Page 24            


         *Q. "I'm a minister of the First ------- Church.  Do  you  waive
         your registration fee if the program is  used  in  a  charitable
         *A. Does  General  Motors  give  you a free Buick?  I appreciate
         what you do for a living, but please appreciate  what  I  do  as
         well.  If  I come to your church, I'll make an offering.  If you
         use my software, I'll be expecting your check.

         *Q. "Your program is nice, but I only need it about once a month
         to print a special report that looks better with  justification.
         That isn't  using  it  often  enough  to register.  Just thought
         you'd like to know its useful, though."
         *A. You use your car only once a week to go fetch  groceries  so
         you shouldn't  have  to  pay  for it?  Have you met the minister
         from the previous question?  If you find the program of ANY use,
         you are OBLIGATED to register it.  I'll be expecting your check,

         *Q. "I want to use NEAT, but my printer is a serial  printer  on
         COM port 2.    How  can I use it?  Your options do not allow for
         serial printers."
         *A. Oh yes they do!  If you have  a  serial  printer,  you  have
         undoubtedly  used  the  DOS  "MODE"  command  to assign the PRN:
         channel to the COM port used by your printer.  So, in  all  your
         .CFG files, set the printer option:
         to  assign  the  PRN:  channel  as  the default for the program.
         Alternatively, redirect the output of NEAT to whichever COM port
         your printer is assigned, or to PRN:.

         *Q. "Does your program work with resident spooler programs?  Are
         there any conflicts with other programs?"
         *A.    NEAT does not "chain" onto any DOS  interrupt,  so  there
         are no  known  problems  with  other  programs.  As long as your
         print spooler software traps all data assigned to one of the LPT
         channels, it will handle the output of this program very nicely.
         However, it has been tested only  with  "PRINTQ",  a  commercial
         spooling program  from another manufacturer.  Although it should
         work with any other, I can make no guarantees.  Chances are that
         if other programs which output to the  printer  work  with  your
         spooler, NEAT will too.

         *Q. "Does NEAT 'spool' files?"
         *A. No, it just prints them.  To spool files you will need other
         software or  hardware.   An excellent software program is PRINTQ
         (available everywhere) which costs around $100.    However,  for
         about  $150  you can get a hardware printer buffer of up to 128K
         bytes of  space.    A  hardware  buffer  is  by  far  a   better
         investment,  since it does not depend upon a particular computer
         or operating system, and because it doesn't attempt to make  DOS
         a multi-tasking  system.    In  other words, it runs MUCH faster
         than spooling software.

                     NEAT Text Formatter             Page 25             


         *Q.  "Why  don't  you have a printed and bound manual instead of
         making us print out our own?"
         *A. First, you can't post a printed manual on a BBS or  send  it
         on a  disk.  Second, many shareware programs do not have printed
         manuals for that and economic reasons.  There's no way  to  sell
         this program for $15 with a fancy printed manual.  Would you pay
         $35  for  NEAT  with  the only improvement a bound, glossy-paged
         manual?  I feel that the lower price is more attractive than the
         "glitter" of a fancy manual.  Most manuals just sit on  a  shelf
         and catch dust anyway.

                      NEAT Text Formatter             Page 26            


         XI. SHAREWARE
               Shareware  is  "try-before-you-buy"  software,  reasonably
         priced and  user-supported.   This simply means that you can get
         trial copies of shareware from anyone who has a copy,  or  often
         from bulletin  board  systems.  If you use and like the program,
         then the author asks that you register  (purchase)  the  program
         for an amount usually much smaller than an equivalent commercial
         program.   By  registering you will often also receive notice of
         available upgrades or supplemental programs.  Keep in mind  that
         the  purchase  of  a program from a public domain distributor or
         payment to an online  service  (such  as  CompuServe)  does  NOT
         constitute registration of the program since the producer of the
         program does  NOT  receive one penny of that payment.  Shareware
         is NOT public domain software, and continued use  of  a  program
         carries with  it  the  OBLIGATION  to purchase the program.  The
         free  distribution  method  is  intended  only  as  a  means  of
         obtaining a copy to evaluate before purchasing.
               NEAT is  a  shareware  program.    If  you  use it, please
         complete the order form enclosed with the distribution, or allow
         NEAT to print an order form for you. (This is a feature  present
         in  unregistered  copies  only.) You will be placed on a mailing
         list for any future upgrade notices, and will be registered as a
         user of this program.  You will also receive a diskette with the
         latest version of the program and documentation.  Online help is
         available  through  CompuServe  (74435,1042)   or   GEnie   mail
         (S.MARGISON).   Sorry,  but  online  help  is  available ONLY to
         registered users.
               Help is also available by mail.  I will try to answer  all
         letters within  48  hours.   Non-registered users must include a
         SASE for a reply.  The degree of help offered to  non-registered
         users is  purely  discretionary.  No phone calls, please. (Users
         outside the U.S. cannot, of course, send a SASE. I  will  excuse
         you from this requirement.)
               NEAT may  be  freely exchanged or given away.  However, it
         may not be included or "bundled" with any software which is sold
         or is a commercial product without prior permission.  No  charge
         may  be  made for copying or transferring the files, except that
         PC Users groups and PD/Shareware distributors (such  as  PC-SIG,
         or  Houston's  Public Software Library) may charge a nominal fee
         not to exceed $6.00. (Please request a complementary copy of the
         latest release rather than use a copy from another user.    This
         insures  that you have the most accurate copy, and that you will
         be on my list for future updates.)
               NEAT and its documentation  may  not  be  transferred  nor
         exchanged in  any  modified  form.  I cannot be expected to help
         others use this program if it is not the same  as  it  was  when
         distributed.   Under  no circumstances may the copyright notices
         be altered or removed from the program or this documentation.
               If you decide not to use NEAT, then just erase it or  pass
         it on  to  someone  else.    If you do use it, please honor your
         obligation and send in your registration.  Inexpensive shareware
         cannot continue to exist if those who use it treat it as a gift,

                     NEAT Text Formatter             Page 27             


         rather  than  as  a  product  for  which the author must receive
         payment.  Shareware used regularly  without  payment  is  piracy
         just   as  much  as  illegally  copying  "Lotus"  or  any  other
         commercial product.  Ignore  the  claims  by  some  people  that
         shareware, because of its unique distribution method, carries no
         obligation to  the  regular  user.   These claims are false, and
         discourage many good programs from remaining as shareware.

                     NEAT Text Formatter             Page 28             


         XII. WARRANTY
               Oh,   this   shouldn't  be  necessary  among  friends  and
         gentlemen, but it's really the lawyers who  run  the  world  and
         they say we gotta do this:

              ** NEAT and this documentation are copyright 1986 - 89
              by Steven E. Margison.

              ** This program and documentation are provided "as is"
              without  warranty  of  any  kind,  either expressed or
              implied, including but  not  limited  to  the  implied
              warranties   of  merchantability  and  fitness  for  a
              particular purpose.

              ** The user of this program and documentation agree to
              hold the author and/or distributor(s) of this  program
              and   documentation   harmless   for   any  direct  or
              consequential damages resulting  from  its  use.    In
              other words, "you're on your own!"

              **  IBM  is  a  registered  trademark of International
              Business Machines Corporation.

              ** All other trademarks used in this manual are hereby

                     NEAT Text Formatter             Page 29             


         A separate form must be filled out for each product ordered or
         registered.  This form may be photocopied, printed out, or
         edited to include all information and re-printed.
         PRODUCT: ---------------- NEAT Text Formatter V3.00  -------------------
         Quantity                                                 Amount:
         ____   Standard non-commercial registration   $15.00     $______
                Shipping (outside of U.S. or Canada)              $ 2.00
         Corporations: Please inquire about multi-copy discounts
                       and site licenses.
                                          TOTAL ENCLOSED:         $______
              Payment must be made in U.S. Funds
         If you already have this program, where was it obtained?
         [ ]CompuServe  [ ]Friend  [ ]Employer  [ ]BBS:__________________
         Version___________ Serial No._______________
         Payment is by check[ ] or money order[ ] (Sorry - no COD or charges)
         NAME _______________________________________________________
         COMPANY ____________________________________________________
         ADDRESS ____________________________________________________
         CITY _______________________________________________________
         STATE___________________________ ZIP _______________________
         Send completed form and payment to:
                             Steven E. Margison
                              124 Sixth Street
                          Downers Grove, IL, 60515


Directory of PC-SIG Library Disk #1540

 Volume in drive A has no label
 Directory of A:\

D630     CFG       322   8-31-89  10:07p
FILE1540 TXT      1869  10-02-89  12:53p
FLYER    TXT      7823   7-30-89  10:41a
GO       BAT        14   9-28-89   8:56a
IDSPRISM CFG       356   8-31-89   9:32p
LABELS   CFG       175   8-31-89   9:33p
MX80FT   CFG       180   8-31-89   9:31p
NEAT     CFG       834   9-06-89  12:46p
NEAT     DOC     76847   9-06-89   7:44p
NEAT     EXE     34340   9-06-89   6:17p
NEAT     MAN     60853   9-06-89   7:44p
NONIBM   XLT      1471   8-09-89   9:50a
NORMAL   XLT      2084   8-09-89   9:50a
NULL     CFG       339   8-31-89   9:35p
OKIML84  CFG       422   9-06-89  12:53p
OKIPACE  CFG       393   9-06-89  12:53p
ORDER    FRM      2010   7-30-89  10:42a
PAGE     COM       325   1-06-87   4:21p
README            1856   9-06-89   1:07p
ROMAN    CFG       650   8-31-89   9:35p
SERIF    CFG       655   8-31-89   9:35p
SPG8010  CFG       401   9-06-89  12:53p
       22 file(s)     194219 bytes
                      115712 bytes free