Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-11 - 43,50541/mail.doc
There are 20 other files named mail.doc in the archive. Click here to see a list.















       MAIL   *ADD  SS*  STEM*MAIL    ADDRESS*S  TEM*  ILING*A
       *  IL NG  D RE S* Y    *  I    *    E  *S S  M*MA     *
       M   ILI   ADD   S*SY  EM  A    G*  DR   *SY  EM  AILING
       E    I    *A  R  S*S  TE  M     G  DD    *S  T  *MAILIN
       T  *   L  G  DDR  S*  ST  *     N  AD  E  *  S  M*    I
       S  M* AI  N       SS  YS  M     I  *A  RE    Y  EM*M  L
       Y  EM*MA  I  *AD  ES  SY  EM*MAIL  G*  DRE   SY  EM*  I
       S  TEM*M  L  G*A  R    S       A    G  DDRE  *SYS     A
       *SYSTEM*MAILING*ADDRESS*SYSTEM*MAILING*ADDRESS*SYSTEM*MA
        *S STEM    LING    RESS     EM*       *AD     *SY     M
       SS   STE  MA  IN  AD  ES  SYS  M  AILING  DDRESS  YSTEM*
      RE  *  ST  *MA  I  *AD  E  *SY  E  MAILIN  ADDRES  SYST
      D  SS*  S  M*M  L  G*A  R     YST     ILING   DRESS   STE
      D       Y  EM*  I  NG*  D  S  SYS  M*MAILING*A  RESS*S  T
      A  RES  S  TE  MA  IN  AD  ES  SY  EM*MAILING*  DRESS*  S
      *  DRE  *    EM*M    NG*A  RES  S       A     *AD     *SY
      G*ADDRESS*SYSTEM*MAILING*ADDRESS*SYSTEM*MAILING*ADDRESS
        *AD     *  STEM  AIL     D        S       L  G*ADD  S
        G  DDRESS*  ST  *M  LING*ADDR  S*SY  EM*MAI   G*A   E
        N  ADDRESS*    EM*  ILING*ADD  SS*S  TEM*MA    G    R
        ING   DRESS*  STEM*M   ING*AD  ESS*     M*M  L   *  D
          NG*A  RESS  YSTEM*MAI  NG*A  RESS  YSTEM*  IL NG  D
        ILING*  DRES  SYSTEM*MA  ING*  DRES  SYSTEM  AILIN  A
        A     *ADDRE  *SYS     AILING  DDRE       E  MAILI  *
        MAILING*ADDRESS*SYSTEM*MAILING*ADDRESS*SYSTEM*MAILING




                        Mailing Address System

                           Donald E. Barth

                               8-Jun-83


















        MM     MM    A    IIII LL      IIII NN    NN    GGGGG
        MMM   MMM   AAA    II  LL       II  NNN   NN  GG
        MMMM MMMM  AA AA   II  LL       II  NNNN  NN GG
        MM MMM MM AA   AA  II  LL       II  NN NN NN GG  GGGG
        MM  M  MM AAAAAAA  II  LL       II  NN  NNNN GG    GG
        MM     MM AA   AA  II  LL       II  NN   NNN  GG   GG
        MM     MM AA   AA IIII LLLLLLL IIII NN    NN    GGGGG

          A    DDDD    DDDD    RRRRR   EEEEEEE   SSSSS   SSSSS
         AAA   DD  DD  DD  DD  RR   RR EE      SS      SS
        AA AA  DD   DD DD   DD RR   RR EE      SS      SS
       AA   AA DD   DD DD   DD RRRRR   EEEEE     SSS     SSS
       AAAAAAA DD   DD DD   DD RR RR   EE           SS      SS
       AA   AA DD  DD  DD  DD  RR  RR  EE           SS      SS
       AA   AA DDDD    DDDD    RR   RR EEEEEEE SSSSS   SSSSS

           SSSSS YY    YY   SSSSS TTTTTTTT EEEEEEE MM     MM
         SS       YY  YY  SS         TT    EE      MMM   MMM
         SS        YYYY   SS         TT    EE      MMMM MMMM
           SSS      YY      SSS      TT    EEEEE   MM MMM MM
              SS    YY         SS    TT    EE      MM  M  MM
              SS    YY         SS    TT    EE      MM     MM
         SSSSS      YY    SSSSS      TT    EEEEEEE MM     MM





                        Mailing Address System

                           Donald E. Barth

                               8-Jun-83




                        MAILING ADDRESS SYSTEM
                        ------- ------- ------

     This package consists of several FORTRAN programs which  can
     print addresses onto various types of paper stock for use in
     making mass mailings.  The addresses  can  be  printed  onto
     envelopes  and  labels  and,  with the use of an appropriate
     word processing program, can  be  inserted  into  customized
     form  letters.   The programs accumulate the addresses which
     are to be written in  a  single  row,  shift  the  addresses
     horizontally  to be the proper distance from the edge of the
     paper stock, and generate enough blank lines above and below
     to place each row of addresses onto a new row of forms.  The
     dimensions of several standard sizes of forms are built into
     the  programs, but the user can also match the dimensions of
     other forms.

     The programs in this package are not used  to  maintain  the
     address  lists.  Instead, the addresses are read from a file
     which  has  been  previously  generated  by  an  independent
     program.   There  might  be many address lists maintained by
     several programs.  It is only necessary  that  each  of  the
     programs  which  maintain  the  address  lists  be  able  to
     generate the same form of intermediate files which can  then
     be  read  by  the  programs  in this package.  The format of
     these  intermediate  files  is  described  later   in   this
     document.  The intermediate files can contain the completely
     formatted  addresses,  or   can   contain   the   individual
     components, each separately identified, of each of the lines
     which are to be included in the addresses.   Both  types  of
     files  can  be read by most of the programs in this package,
     but the form of the intermediate files which  specifies  the
     components of the addresses is more generally useful.

     The programs in this package do  not  obtain  the  addresses
     directly  from  the  original  data bases because that would
     have required the writing  of  a  separate  version  of  the
     programs  for  each  different  data base structure.  Having
     only a single version of each program makes the programs  in
     this  package  easier  to develop and to maintain.  However,
     having the programs read an intermediate  file  rather  than
     the  original data base does require more run time since the
     intermediate file must first  be  produced  by  the  program
     which  maintains  the  address  list, and requires more disk
     space to store the intermediate file.

     Once a programmer has converted the programs which  maintain
     the  address lists to produce the proper intermediate files,
     the user should be able to run the programs in this  package
     without  consulting  this  manual.   The questions which are
     asked by these programs are all  simple,  although  in  some
     cases  there  are  many  of  them.   The user can request an
     explanation  of  the  available  options  by  pressing   the
     question mark key and then the RETURN key in response to any
     request other than for the name of a file.
2                                     Mailing Address System


The following programs are contained in this package.

The ENVELO program writes the addresses to a file which  can
be  printed  later  onto  envelopes  mounted  on  continuous
fanfold  paper.   The  ENVELO  program  can  also  type  the
addresses   directly   onto  envelopes  which  are  inserted
individually by hand into the controlling terminal or  which
are mounted on continuous fanfold paper.

The LABELS program writes the addresses to a file which  can
be  printed later onto parallel columns of labels mounted on
continuous fanfold paper.  The LABELS program can also  type
the  addresses  directly  onto  labels mounted on continuous
fanfold paper which has been inserted into  the  controlling
terminal.

The SPLICE program writes the addresses to a file which  can
be  used  with the aid of a suitable word processing program
to  insert  inside  addresses  and  salutations  into   form
letters.   The  SPLICE  program  does  not itself insert the
addresses into the form letters.

The MRGADR program merges 2 or more files which specify  the
components of the addresses and which are each sorted in zip
code order.   The  resulting  single  address  file  can  be
processed  by  the  ENVELO,  LABELS or SPLICE programs.  The
MRGADR program does not  itself  print  the  addresses  onto
paper stock.



   INPUT FILES CONTAINING PREVIOUSLY FORMATTED ADDRESSES
   ----- ----- ---------- ---------- --------- ---------

The addresses which are to be processed by the  programs  in
this  package  are read from a file which was written by the
program which maintains the address  list.   This  file  can
contain  either  the  previously formatted addresses, or the
separate components of the addresses.

If the addresses have already been formatted, then at  least
1 line starting with a period in the left column must appear
between successive addresses.  Lines starting  with  periods
can  also appear at the start and at the end of the file but
are not required at these positions.  The  contents  of  the
lines  which  start  with  periods  are  not copied into the
addresses.

The addresses  can  include  salutations  which  are  to  be
incorporated  into  form  letters.   These  salutations  are
suppressed when the  addresses  are  typed  onto  labels  or
envelopes.   In  order to be recognized as a salutation, the
salutation must appear on the final  line  in  the  address,
must  start  with the word "Dear" and must end with either a
colon or a comma.  The salutation will not be recognized  if
     Input Files Containing Previously Formatted Addresses      3


     it  violates any of these requirements.  The salutation line
     should be separated from the rest of the address by at least
     one  blank  line,  although  this  is  not required.  If the
     address  does  not  end  with  a  salutation  line,  then  a
     salutation can instead be constructed from the person's name
     in the first line  of  the  address.   However,  salutations
     constructed  in  this  manner should be carefully checked by
     the user since the program  cannot  recognize  all  possible
     variations in people's names.



            INPUT FILES CONTAINING COMPONENTS OF ADDRESSES
            ----- ----- ---------- ---------- -- ---------

     Each line of a file which specifies the  components  of  the
     addresses,  rather  than  addresses  which have already been
     formatted, starts with an at sign (the @ character) followed
     immediately  by  a single character which specifies the type
     of component which is defined by that line.  These  first  2
     characters  on  each  line are not copied into the resulting
     address.  If the character to the right of the  at  sign  is
     one  of the alphabetic letters A through Z, then this letter
     can appear in either upper case (a capital letter) or  lower
     case  (a  small  letter).   The  various  components  of the
     address can be specified in any order.

     The programs in this package insert punctuation marks  where
     needed  into lines, such as the name line and the city line,
     which  are  constructed  from  several  components.    Those
     portions  of  the  address  which  require  a full line, for
     example the department name, the organization name, and  the
     street address, can be continued on as many subsequent lines
     as  are  necessary,  but  the  extra  lines  must  each   be
     identified by the same at sign character pair in the first 2
     columns.  Each continuation line begins a new  line  in  the
     resulting  address.  If a single component is continued onto
     subsequent lines,  then  these  continuation  lines  can  be
     separated  in  the  input  file  by lines which define other
     components.   The  initial  and  continuation  lines  for  a
     particular  component  of  the  address  are copied into the
     address in the order in which they were encountered  in  the
     input  file,  but grouped together on adjacent lines.  Extra
     spaces are deleted at the left end of the initial line for a
     particular  component,  but  are retained at the left end of
     the continuation lines for the same component.

     The at sign character pairs which  identify  the  components
     needed  by  these  programs  to  construct the addresses are
     listed below.  If a particular component is not defined  for
     an  address,  then a line starting with the corresponding at
     sign character pair, but containing nothing else, is allowed
     but not required.  The contents of a line are ignored if the
     line begins with an at sign  character  pair  which  is  not
     listed here.
4                                     Mailing Address System


@#  Start of  new  address.   The  address  defined  by  the
    preceding  lines  is  complete.  The rest of the current
    line is  ignored.   The  following  lines  start  a  new
    address.

@@  End of file.  Not required.   Subsequent  lines  in  the
    file are not read.

@A  Street address.  This item can be continued on following
    lines.

@C  City name.

@D  Department  name.   This  item  can  be   continued   on
    following lines.

@E  Suffix to be placed to the right of  the  person's  last
    name.  Examples are Jr., III, etc.

@F  Person's first name.

@G  Name for salutation.  This might be a first name  for  a
    personal letter or a Mr. or Ms. prefix together with the
    last name  for  a  business  letter.   This  should  not
    include  either  the word "Dear" or a following colon or
    comma.  The word "Dear" and the final  punctuation  mark
    will  be inserted by the SPLICE program.  The salutation
    is ignored by the other programs.

@K  Code line.  The LABELS program can place  this  line  at
    the  top of the labels.  The code line is ignored by the
    other programs.  This line can contain any characters.

@L  Person's last name.

@M  Person's middle name.  This should include the period if
    it is an initial.

@N  Country.  This is not needed if the address is  for  the
    local country.

@O  Organization  name.   This  item  can  be  continued  on
    following lines.

@P  Prefix to be placed to the left of  the  person's  first
    name.  Examples are Mr., Ms., Professor, etc.

@S  State name.  This can have any form, such as a 2  letter
    abbreviation,  a  4  letter  abbreviation  or  the  full
    spelling.  The state name is used  exactly  as  supplied
    and is not verified.

@T  Title to be placed below the person's name.   This  item
    can  be  continued  on  following  lines.   The title is
    considered to be  expendable  if  the  address  must  be
     Input files Containing Components of Addresses             5


         reduced in height to fit onto a small label.

     @X  Line to be inserted below the salutation by  the  SPLICE
         program.   This  is ignored by the other programs.  This
         item could be used for something which is to be inserted
         into the body of the letter.  This item can be continued
         on following lines.

     @Y  Any additional line to be at the bottom of the  address.
         This  will  appear above the salutation as a part of the
         address.  An example might be CAMPUS MAIL.

     @Z  Zip code.  This can have any form, such as 5 digits or 9
         digits.

     The components defined by these at sign character pairs  are
     inserted into the address in the order which is shown below.
     The list of items which appear in the address is defined  by
     2 arrays which appear in the PUTADR subroutine and which are
     easily changed.  The contents of these arrays are  described
     later in this document.

     .LITERAL               Word processor instruction
     @K                     Code (optional)
     @P @F @M @L, @E        Prefix First Middle Last, Suffix
     @T                     Title
     @D                     Department
     @O                     Organization
     @A                     Street
     @C, @S @Z, @N          City, State Zip, Country
     @Y                     Final line in place of above line

     Dear @G:               Salutation if supplied in input file
     Dear @F,               Alternate form of personal salutation
     Dear @P @L:            Alternate form of business salutation
     .END LITERAL.END SPLICE
     @X                     Extra line to be spliced into letter

     For example, an input file having the contents shown below

     @PMr.
     @FJohn
     @MB.
     @LSmith
     @EJr.
     @TDirector
     @DCareer Counseling Office
     @OCentral College
     @CRockport
     @SCT
     @Z06352
     @GMr. Smith
     @#
     @GLinda
     @Z51222
6                                     Mailing Address System


@STN
@CVictorville
@A6721 Main Street
@OVillage University
@OCollege of Science
@DDepartment of Chemistry
@LJones
@MF.
@FLinda
@PMs.
@@

would be converted by the SPLICE program into an output file
having the contents shown below.

.LITERAL
Mr. John B. Smith, Jr.
Director
Career Counseling Office
Central College
Rockport, CT  06352

Dear Mr. Smith:
.END LITERAL.END SPLICE
.LITERAL
Ms. Linda F. Jones
Department of Chemistry
Village University
College of Science
6721 Main Street
Victorville, TN  51222

Dear Linda:
.END LITERAL.END SPLICE

The file produced by the  SPLICE  program  could  itself  be
treated  as  an  input  file which is to be processed by the
ENVELO, LABELS  and  SPLICE  programs.   If  such  a  second
generation  file  were  to  be processed again by the SPLICE
program, then the  resulting  third  generation  file  would
exactly  duplicate  the second generation file.  However, an
output file which has been produced by  the  SPLICE  program
cannot be correctly processed by any of the programs in this
package if this output file contains  any  lines  after  the
.END LITERAL.END SPLICE  commands  which are to be merged by
the word processing  program  into  the  body  of  the  form
letter.
     Starting at an Address Beyond First Address in File        7


         STARTING AT AN ADDRESS BEYOND FIRST ADDRESS IN FILE
         -------- -- -- ------- ------ ----- ------- -- ----

     An interruption while the addresses are  being  printed  can
     mean that the paper stock has to be realigned in the printer
     or that the printing process has to be started over.   Since
     considerable  time  or expensive paper stock might have been
     used for the addresses which have been printed correctly, it
     may  be  desirable  to  run  the  program  which  copied the
     addresses again starting at or just before the first address
     which  was  spoiled.  The programs in this package allow the
     user to type a word or a phrase which appears in  the  first
     address  which  is to be copied but which does not appear in
     any address which is located earlier in the  file.   If  the
     ENVELO  program  is  being  used  to type the addresses onto
     separate  envelopes,  then,  after  any  envelope  has  been
     completed,  the user can merely press the RETURN key to type
     the next address or else the user  can  type  a  word  or  a
     phrase  which  is  unique to a subsequent address to skip to
     that address.  If the addresses are being typed onto  labels
     or  onto  envelopes  which are mounted on continuous fanfold
     paper,  then  all  of  the  addresses  appearing  after  the
     selected address will be generated.

     The word  or  phrase  which  the  user  types  to  select  a
     particular  address must be longer than 1 character.  If the
     ENVELO  program  is  being  used,  then  a  single  printing
     character  can be typed by the user before the first address
     is generated to obtain  a  target  pattern  instead,  and  a
     single printing character can be typed by the user after any
     address has been typed on a separate envelope to repeat that
     address.   If there are several addresses which have not yet
     been generated and which contain the word  or  phrase,  then
     the  first  of  these  will  be  selected.   If  the user is
     inserting individual envelopes and if an address is obtained
     which  is  too  early  in the file, then the user can merely
     specify the word  or  phrase  again  after  the  incorrectly
     selected  address  has  been  generated.   However,  if  the
     addresses are being typed  onto  labels  or  onto  envelopes
     which are mounted on continuous fanfold paper, then there is
     no way to interrupt the typing of the addresses  other  than
     to stop the program entirely.

     The word or phrase typed by the user will match the word  or
     phrase having the same spelling in the address regardless of
     the cases of the alphabetic letters, i.e. whether these  are
     capital or small letters.

     The word matched in the address must start  with  the  first
     printing  character on the line or must start with the first
     printing character following either a space or a comma.  The
     word must extend through the final printing character on the
     line or must be followed by a space or must be followed by a
     printing  character  which  is neither one of the alphabetic
     letters A through Z nor one of the digits 0 through 9.
8                                     Mailing Address System


Spaces between words typed by the  user  indicate  the  only
locations  in  the address at which spaces are allowed for a
match, but spaces are not required  for  a  match  at  these
locations  in  the  address.  For example, if the user types
the single word "NewHaven", then this word  will  match  the
single  word  "NewHaven"  in the address, but will not match
the 2 word phrase "New  Haven"  with  a  space  between  the
words.  If the user types the 2 word phrase "New Haven" with
a space between the  words,  then  this  phrase  will  match
either  the  single word "NewHaven" without a space or the 2
word phrase "New Haven" with a space between the words.



                   FILE NAME CONVENTIONS
                   ---- ---- -----------

On either the  DECsystem10  or  DECsystem20  computers,  the
names of the files which are read or written by the programs
in this package must consist of 1 to 6  letters  or  digits,
optionally  followed  by a period and then by 0 to 3 letters
or digits.  If the user does not type a period in  the  file
name,  or  if a period is typed but nothing else is typed to
the right of the period, then the  name  of  the  file  will
consist  only  of  the characters which were actually typed.
No default or standard file name extension  (file  type)  is
assumed.   If  the user types ABC as the file name, then the
name of the file  will  be  exactly  this,  not  ABC.RNO  or
ABC.TXT or ABC.ADR or any other combination.

The files written by the LABELS program are named LABELS.DDD
where  DDD  is  a  decimal number from 001 through 999.  The
program checks for the first currently unused file  name  in
the  sequence and writes the new labels into this file.  For
a large label run in which more labels  are  generated  than
the operators of the computer want to have in a single file,
the LABELS program will create additional  output  files  as
necessary,  each time selecting the next unused file name in
the  sequence.   The  first  output  file  would  be   named
LABELS.001  if  a file with this name did not already exist,
the second output file would be named LABELS.002, and so on.
The  files written by the ENVELO program are similarly named
ENVELO.DDD where DDD is a decimal number  from  001  through
999.  The user is not able to change the manner in which the
names of the output files produced by the LABELS and  ENVELO
programs are constructed.
     Instructions for Using the ENVELO Program                  9


              INSTRUCTIONS FOR USING THE ENVELO PROGRAM
              ------------ --- ----- --- ------ -------

     The ENVELO program writes the addresses into an output  file
     which  can be printed later onto envelopes which are mounted
     on continuous fanfold paper.  The ENVELO  program  can  also
     type  the  addresses  directly onto separate envelopes which
     are inserted  individually  by  hand  into  the  controlling
     terminal  or  onto envelopes which are mounted on continuous
     fanfold paper.   The  dimensions  of  2  standard  sizes  of
     envelopes  are built into the program, but the user can also
     specify the exact dimensions of any other size of envelopes.
     The  user  can  request  that  the  program generate as many
     target patterns as are necessary to align the paper stock in
     the   terminal   prior  to  the  generation  of  the  actual
     addresses.   If  separate  envelopes  are   being   inserted
     individually by hand into the terminal, then the program can
     repeat an address if an envelope is seen to be spoiled.

     The program either can type just the  destination  addresses
     read from an input file onto the envelopes, or can type both
     the destination addresses and a return address specified  by
     the  user  when the program is started.  If a return address
     is requested, then the return address can be  typed  in  the
     upper  left  corner  with  the  destination  address  at the
     center, or these positions can be exchanged.

     Salutations specified by the input file are not  typed  onto
     the  envelopes.  If the input file specifies addresses which
     have already been formatted, then the salutation  lines  are
     recognized by their starting with the word "Dear" and ending
     with either a colon or a comma.

     It is strongly recommended that if the addresses are  to  be
     typed  directly  onto envelopes which are mounted on fanfold
     paper, then the initial interaction with the program be done
     on regular paper and that the fanfold paper be inserted into
     the  terminal  just  before  the  program  types  the  first
     address.   Attempting  to  type the initial interaction onto
     envelopes which are  mounted  on  fanfold  paper  can  cause
     extremely  bad  paper  jams when the terminal types onto the
     bottom edges of envelopes if these are attached only at  the
     top.   Once  the typing of the addresses has begun, there is
     little danger of paper jams since the program will only type
     on the central portions of the envelopes.

     A typical dialog between the user and the ENVELO program  is
     shown  below.   The  phrases which end in question marks are
     the requests typed by the program.  The  characters  to  the
     right  of  the  question  marks  were  typed  by the user in
     response to these requests.
10                                    Mailing Address System


ENVELO (03/83)

Separate or Continuous envelopes or File (S, C or F)? F
Number of target envelopes in each file? 10
Maximum number of envelopes in each file? 1000
Wide, Narrow or Other size envelopes (W, N or O)? N
Pica or Elite spacing (P or E)? P
Light or dark type (L or D)? L
Type how many copies of each envelope? 1
Did a blank line appear after your last answer (Y or N)? N
Type return address (press RETURN key again when done)
?First line of Return address
?
Return address at corner, middle or both (C, M or B)? C
File containing addresses? ADDRSS
Output file number   1 is named ENVELO.001
Output file number   1 contains       208 envelopes
Process additional addresses (Y or N)? N
Total envelopes produced:       208

EXIT

The items which the user must type are  described  below  in
the order in which these items are requested.  The user will
not always be asked to specify every item.  Which items  are
requested  will  depend  upon  what  responses  the user has
already made.

1.  Whether the addresses are to be written into  an  output
    file or are to be typed directly onto separate envelopes
    or directly onto envelopes  mounted  on  fanfold  paper.
    The  user  should respond by typing one of the following
    letters.

    S  (for  Separate)  if  the  addresses  will  be   typed
       directly  onto  separate envelopes which are inserted
       individually by hand into the terminal.  The  program
       will  pause  after each envelope is finished and wait
       for the user to insert the next envelope.

    C  (for Continuous)  if  the  addresses  will  be  typed
       directly onto envelopes mounted on continuous fanfold
       paper.  The program will not pause between envelopes.

    F  (for File) if the addresses are to be written into an
       output   file   which  will  be  printed  later  onto
       envelopes which are  mounted  on  continuous  fanfold
       paper.

2.  The number of target envelopes which are to  be  written
    at the start of each output file for use in aligning the
    paper in the printer  or  terminal.   This  question  is
    asked  only  if  the addresses are being written into an
    output file rather than being typed  directly  onto  the
    envelopes.   The  locations of the corner address and of
     Instructions for Using the ENVELO Program                 11


         the middle address will be outlined  on  each  of  these
         target  envelopes.   Target envelopes are also available
         when the addresses are being  typed  directly  onto  the
         envelopes,  but  in that case these target envelopes are
         requested  one  by  one  until  the  paper  is  properly
         aligned.

     3.  The maximum number of envelopes  which  can  be  written
         into  a single output file.  This question is asked only
         if the addresses are being written into an  output  file
         rather  than  being  typed  directly onto the envelopes.
         The maximum number of envelopes should include both  the
         target  envelopes  and those actually bearing addresses.
         The program will begin a new output file starting with a
         set  of  target  envelopes  each  time  that the desired
         maximum number of envelopes has been  written  into  the
         current  output  file.   This  limit  should  be used to
         assure that no more envelopes are written into a  single
         output file than can be printed onto the envelopes which
         are mounted on a single  length  of  continuous  fanfold
         paper.

     4.  Whether the addresses will be typed onto wide or  narrow
         envelopes,  the  dimensions  of which are built into the
         program, or whether the  user  will  specify  the  exact
         dimensions of the envelopes.  The user should respond by
         typing one of the following letters.

         W  (for Wide) if the envelopes are 9 1/2 inches wide  by
            4 1/8 inches high.

         N  (for Narrow) if the envelopes are 7 1/2  inches  wide
            by 4 inches high.

         O  (for  Other)  if  the  envelopes  have   some   other
            dimensions.   The  user  will  be asked the following
            additional questions if this option is selected.

            Maximum number of lines above corner address?
            Minimum number of lines below corner address?
            Maximum number of lines above middle address?
            Minimum number of lines below middle address?
            Height of envelope as number of lines?
            Number of blank columns left of corner address?
            Number of blank columns left of middle address?

            The dimensions of the 2 standard sizes of  envelopes,
            narrow  and  wide,  which  are  built into the ENVELO
            program, are shown below.   The  dimensions  in  this
            table  should be consulted if only a minor adjustment
            of the size is necessary.  Which address  is  labeled
            "corner"  and which is labeled "middle" is based upon
            the  default  positions  for  these  addresses.   The
            positions  of  these  addresses could be interchanged
            provided that the  answers  to  the  other  questions
12                                    Mailing Address System


       which  mention  "corner"  and  "middle"  are likewise
       reversed.  The column  offsets  for  the  corner  and
       middle addresses are stated assuming an elite spacing
       of 12 characters per  inch.   These  offsets  can  be
       multiplied  by 10/12 to get the corresponding offsets
       for a pica spacing of 10 characters per inch.

size:          Narrow      Narrow       Wide        Wide
how fed:      Separate     Fanfold    Separate     Fanfold
locations:   Middle Both Middle Both Middle Both Middle Both

above corner     -     0     -     2     -     0     -     2
below corner     -     3     -     3     -     3     -     3
above middle     6    11    10    10     7    12    10    10
below middle     3     3     3     3     3     3     3     3
total height    17    22    21    21    18    23    21    21
offset corner    -     0     -     0     -     0     -     0
offset middle   28    34    34    34    40    46    46    46

       In the above table, the column headings "Narrow"  and
       "Wide"  refer  to  the envelope size.  "Separate" and
       "Fanfold"  refer  to  whether   the   envelopes   are
       separately  fed  into the the terminal or are mounted
       on fanfold  paper.   "Middle"  and  "Both"  refer  to
       whether  only  the  middle address is to be typed, or
       whether both the corner and middle addresses  are  to
       be  typed.   Minus  signs  appear  where  a dimension
       refers to the corner address but no corner address is
       being typed.  If the addresses are being written into
       a file which will be typed later onto the  envelopes,
       then  the dimensions in the columns labeled "Fanfold"
       and  "Both"  are  used,  regardless  of  whether  the
       envelopes bear return addresses or not.

5.  Whether Pica or Elite character spacing is desired.  The
    character spacing is used to calculate the offset of the
    central address from the  left  edge  of  the  envelope.
    This question is not asked if the user is specifying the
    envelope dimensions directly.   This  program  does  not
    issue control character or escape character sequences to
    set the character spacing on the  terminal  or  printer.
    Instead, it is the responsibility of the operator of the
    terminal or printer to adjust the terminal or printer to
    give the desired character spacing.

    The user should respond to this question by  typing  one
    of the following letters.

    P  (for Pica) if the addresses are to  be  typed  at  10
       characters per inch.

    E  (for Elite) if the addresses are to be  typed  at  12
       characters per inch.
     Instructions for Using the ENVELO Program                 13


     6.  Whether the addresses are to be overprinted to make them
         appear  darker.   This  question  is  not  asked  if the
         addresses are being written into an output  file  to  be
         typed  later.   The user should respond by typing one of
         the following letters.

         L  (for Light) if each line is to be typed only once for
            normal density.

         D  (for Dark) if each line is to be typed twice to  make
            it darker.

     7.  The number of  envelopes  upon  which  each  destination
         address  or  each  combination  of  return  address  and
         destination address is to be typed.  As an example, this
         would  have  the  value 1 if both the return address and
         destination address are being typed and one envelope  is
         desired with the destination address in the middle and a
         second envelope is desired with the destination  address
         in the corner.

     8.  Whether a blank line  appeared  after  the  last  answer
         typed  by  the  user.  This question is not asked if the
         addresses are being written into an  output  file  which
         will  be  typed later.  The particular FORTRAN operating
         system  being  used  determines  whether  a  blank  line
         appears  between  a  line typed by the user and the next
         line displayed by a program.  The user will usually  not
         have  any  control  over which operating system is used.
         The answer to this question is used to keep track of the
         number  of  lines  typed  onto  the  terminal  while the
         envelopes which are mounted on fanfold paper  are  being
         aligned   in  the  terminal.   After  each  envelope  is
         finished,  the  program  generates  enough  blank  lines
         before  the  next  address is typed so as to realign the
         paper  with  the  top  of  the  next  address.   If  the
         addresses  are  being  typed  onto  envelopes  which are
         mounted on fanfold paper, then the  correct  calculation
         of  the  number  of  lines  displayed on the terminal is
         necessary if the addresses are to be aligned the same as
         the  target  patterns,  and  also  if the addresses in a
         subsequent file are  to  be  aligned  the  same  as  the
         addresses in the first file.

         The user should respond by typing one of  the  following
         letters.

         Y  (for Yes) if a blank line  appeared  after  the  last
            answer typed by the user.

         N  (for No) if a blank line did  not  appear  after  the
            last answer typed by the user.
14                                    Mailing Address System


9.  The return address.  If  the  user  specifies  a  return
    address  here, then this return address will be typed on
    each of the envelopes in  addition  to  the  destination
    addresses read from the input address file.  This return
    address will be typed on the envelopes exactly as it  is
    typed  by  the  user.   The return address can be just a
    single line, or can be  continued  onto  several  lines.
    The  user must press the RETURN key after each line, and
    must press the RETURN key an extra time after  the  last
    line  has  been typed.  If no return address is desired,
    then the user must still press the RETURN  key  once  in
    response to this request.

10.  Whether the return address is to be typed at the  upper
    left corner of the envelope with the destination address
    in the middle, or in the  middle  with  the  destination
    address  at  the  upper  left  corner.  This question is
    asked only if a return address has been specified.   The
    user  should  respond  by  typing  one  of the following
    letters.

    C  (for Corner) if the return address is  to  appear  at
       the  upper  left  corner  of  the  envelope  and  the
       destination address is to appear in the middle.

    M  (for Middle) if the return address is  to  appear  in
       the  middle  of  the  envelope  and  the  destination
       address is to appear at the upper left corner.

    B  (for Both) if 2 times the number of  copies  of  each
       envelope  specified  earlier are to be produced typed
       with  each  destination  address.   Half   of   these
       envelopes are to have the return address at the upper
       left corner and the other half are to have the return
       address in the middle.

11.  The name of the address file which is  to  be  read  by
    this  program.   The  address  file either specifies the
    components of the addresses or contains  the  previously
    formatted  addresses.  If the address file specifies the
    components, then each line starts with an at  sign.   If
    the  address  file  contains  the  previously  formatted
    addresses, then these are separated  by  lines  starting
    with periods.

The program will instruct the user how to  align  the  first
envelope.   After  the first envelope has been inserted into
the terminal, the user can press the RETURN key to signal to
the  program  that the first address can be typed.  The user
can instead request that the program type  a  stylized  test
address  onto  the  envelope  currently  in  the terminal by
pressing the key for  a  single  printing  character  before
pressing  the  RETURN  key.   If  additional  stylized  test
envelopes are needed to align the paper, then the  user  can
again  press the key for a single printing character and the
     Instructions for Using the ENVELO Program                 15


     RETURN key for each of these.

     If the addresses are being typed onto envelopes  mounted  on
     fanfold  paper,  then  the  program  will  type  all  of the
     addresses in the input file before halting.  If the user  is
     instead  inserting  individual  envelopes into the terminal,
     then the user will have to press the RETURN key again  after
     each  envelope  has  been  inserted to signal to the program
     that it can type the next address.  If individual  envelopes
     are being inserted into the terminal, and if one of these is
     spoiled in some manner, then the user can press  either  the
     TAB  key or the key for any single printing character before
     pressing the RETURN key to cause the program to  retype  the
     current  address.   If  the  TAB  key,  which does not print
     anything on the envelope, is pressed, then the address  will
     be  retyped  onto  the envelope already in the terminal.  If
     the key for a single printing character is pressed  instead,
     then  the program will type a stylized test address onto the
     envelope currently in the terminal and will  then  wait  for
     the user to insert another envelope and press the RETURN key
     again.  There is no way to retype an address which  appeared
     before  the  current  address other than to stop the program
     and then start over.

     Instead of merely pressing the RETURN key  to  generate  the
     first  address  after  the  envelopes have been aligned, the
     user can type any word or phrase which appears on  any  line
     of  an  address  appearing  later in the file to select that
     address as the first which  is  to  be  generated.   If  the
     addresses  are being typed onto separate envelopes which are
     being individually inserted into the  terminal,  then  after
     any  address  has  been  typed,  the user can insert a scrap
     sheet of paper into the terminal and type a word  or  phrase
     to  skip  forward  to  the  address  containing that word or
     phrase.  If the addresses are  being  typed  onto  envelopes
     which  are  mounted  on  fanfold  paper, then such a word or
     phrase can  only  be  typed  before  the  first  address  is
     generated  and  the  paper  stock  must  already  have  been
     correctly aligned.

     The word or phrase should be unique to the desired  address.
     The  word  or phrase must be longer than 1 character since a
     single letter would cause the current address to be  retyped
     instead.   If there are several addresses which have not yet
     been typed and which contain the word or  phrase,  then  the
     first  of  these will be selected.  If the user is inserting
     individual envelopes and if an address is obtained which  is
     too  early in the file, then the user can merely specify the
     word or phrase again after the incorrectly selected  address
     has  been  typed.  However, if the addresses are being typed
     onto envelopes which are  mounted  on  fanfold  paper,  then
     there  is  no  way  to interrupt the typing of the addresses
     other than to stop the program entirely.
16                                    Mailing Address System


         INSTRUCTIONS FOR USING THE LABELS PROGRAM
         ------------ --- ----- --- ------ -------

The LABELS program writes the addresses into an output  file
which  can  be printed later onto parallel columns of labels
which are mounted on continuous fanfold paper.   The  LABELS
program  can  also  type  the addresses directly onto labels
mounted on continuous fanfold paper which has been  inserted
into  the  controlling  terminal.   Several  rows  of target
labels can appear before the addresses for use  in  aligning
the  paper stock in the printer or terminal.  A single minus
sign is also printed at the left edge between  the  rows  of
addresses  for  confirming  the  alignment once printing has
begun.  If the paper stock is properly aligned,  then  these
minus  signs  will  be  printed  in  the  spaces between the
labels.  Since labels can be relatively small,  the  program
can  be given a vocabulary of words which can be abbreviated
and of words which can be deleted  to  shorten  long  lines.
The  person's  job  title can also be deleted if the address
contains too many lines.  If the  input  file  contains  the
previously formatted addresses, then the second line of each
address  is  assumed  to  contain  the  job  title  and  the
following  lines  are  assumed  to  be extensions of the job
title if they are indented to the right of the left column.

The vocabulary of words which can be abbreviated or  deleted
is   read  from  an  input  file.   These  replacements  and
deletions are performed only in lines which are too long  to
fit  onto  the  labels.  If the user specifies that words in
long lines  cannot  be  abbreviated,  then  the  file  which
defines  the  vocabulary  will  not  be  read  and  no  such
replacements will be made.  Each  line  in  the  file  which
defines  the  vocabulary  should  contain  either one or two
words.  Lines containing 1 and 2 words  can  be  intermixed.
The  first  word  on  a  line  can  start either in the left
column,  or  further  to  the  right.   If  a  line  in  the
vocabulary  file  contains  a single word, then this word is
taken to be a word which can be deleted to  shorten  a  line
which  is  too  long  in  an  address.   If  a  line  in the
vocabulary file contains 2 words  separated  by  1  or  more
spaces,  then  the  shorter word is taken to be a synonym by
which the longer word can be replaced.  If the words are  of
the  same  length,  then  the  first  can be replaced by the
second, although this would not change  the  length  of  the
line  and  would  be  done only if the line were already too
long.  The words in the vocabulary are  recognized  ignoring
the  cases of the alphabetic letters A through Z.  The cases
of the alphabetic letters in the words  which  are  inserted
into  the  addresses  are  the same as were specified in the
vocabulary file.

The following lines could appear in the vocabulary  file  to
specify  that the word THE could be deleted and the word AND
could be replaced by an ampersand (the & character).
     Instructions for Using the LABELS Program                 17


     THE
     AND &

     A typical dialog between the user and the LABELS program  is
     shown  below.   The  phrases which end in question marks are
     the requests typed by the program.  The  characters  to  the
     right  of  the  question  marks  were  typed  by the user in
     response to these requests.

     LABEL (04/83)

     Type number which selects intial dimensions you then modify
     1 for 1 column  of 4 by 1 1/2 labels, 10 pitch, 6 lines/inch
     2 for 4 columns of 3 3/8 by 1 labels, 12 pitch, 8 lines/inch
     Set dimensions initially to which default? 2
     A) Asterisk on labels with code
     B) Boxes (rows of for alignment)     33
     C) Columns of labels                  4
     D) Detach bottom line and zip code  YES
     E) Each address on how many labels    1
     G) Gutter width (spaces between)      4
     H) Height of each label in inches 1.000
     I) Initial code lines                NO
     L) Line spacing (lines per inch)      8
     M) Maximum rows of labels in file  5000
     O) Offset (extra spaces at left)      0
     P) Pitch (characters per inch)       12
     S) Separate CAMPUS MAIL,zip,neither  NO
     T) Tab characters replace spaces    YES
     U) Upper case conversion             NO
     W) Width of each label in inches  3.375
     Are the above all correct (Y or N)? N
     Press RETURN key extra time when all items are correct
     Change item? B
     Number of rows of alignment boxes? 5
     Press RETURN key extra time to list all items
     Change item? M1000
     Change item?
     A) Asterisk on labels with code
     B) Boxes (rows of for alignment)      5
     C) Columns of labels                  4
     D) Detach bottom line and zip code  YES
     E) Each address on how many labels    1
     G) Gutter width (spaces between)      4
     H) Height of each label in inches 1.000
     I) Initial code lines                NO
     L) Line spacing (lines per inch)      8
     M) Maximum rows of labels in file  1000
     O) Offset (extra spaces at left)      0
     P) Pitch (characters per inch)       12
     S) Separate CAMPUS MAIL,zip,neither  NO
     T) Tab characters replace spaces    YES
     U) Upper case conversion             NO
     W) Width of each label in inches  3.375
     Are the above all correct (Y or N)? Y
18                                    Mailing Address System


Are addresses to be written into an output file (Y or N)? Y
Did a blank line appear after your last answer (Y or N)? N
Abbreviate words in long lines (Y or N)? Y
File specifying abbreviations? ABBREV
Abbreviations
Remove: THE
Change: AND to &
File containing addresses? SAMPLE
Word or phrase unique to first label?
Output file number   2 is named LABELS.002
Output file number   2 contains       416 labels
Process additional addresses (Y or N)? N
Total labels produced:       416

EXIT

The values of the items which can be selected and changed by
the  user  are  summarized  in the tables shown in the above
dialog.   To   change   a   particular   value   or   option
specification,  the  user  first  types  the letter which is
shown to the left of the item in the table.  Only the single
letter,  not  the  full  word which it represents, should be
typed by the user.

The user can type the  new  value  or  option  specification
either  to the right of the letter or else on the next line.
If the user types the new value or option  specification  to
the  right  of  the  letter,  then one or more spaces can be
typed between  the  letter  and  the  new  value  or  option
specification,  but  such  spaces  are not required.  If the
user types the new value  or  option  specification  to  the
right   of   the   letter,  and  if  this  value  or  option
specification is within the valid range,  then  the  program
will merely ask what item the user wants to change next.  If
the user does not type a value or  option  specification  to
the  right  of  the  letter, then the program will display a
short description of the  item.   The  user  can  press  the
question  mark (the ? character) key and then the RETURN key
to  obtain  a  more   complete   description.    The   short
description will then be displayed again.

Where a YES or NO answer is expected, Y and N are sufficient
responses,  but  the  user  can type the full words instead.
Where a height in inches or a width in inches  is  expected,
the  user can type a period between the whole number portion
of the answer and  the  fractional  portion.   The  original
value  or  option  specification will usually be retained if
the user merely presses the RETURN key in  response  to  the
short  description.   However, an empty or null answer, when
setting the code which is to be matched for addresses  which
are  to  be  marked  with  asterisks  on the labels, instead
specifies that  no  addresses  are  to  be  marked  in  this
fashion, and is a valid response.
     Instructions for Using the LABELS Program                 19


     The items which the user can set are described  below.   The
     letter by which the item is selected is shown to the left in
     the margin.  To the  right  of  this  letter  is  shown  the
     question  which  is  displayed by this program to prompt the
     user to enter the new value or option specification.

       A  Asterisks on labels with code (*,% are wild cards)?

          The user should type the  identification  code  of  any
          address  which is to bear an asterisk (the * character)
          at the upper right corner of the label.  This option is
          active  only if the input file specifies the components
          of the  addresses.   The  identification  code  is  the
          sequence  of  characters which are defined in the input
          file on the line starting with an  @K  character  pair.
          The  label  can  be marked with an asterisk even if the
          identification code  is  not  itself  copied  into  the
          label.

          The cases of the alphabetic letters  A  through  Z  are
          ignored,  both in the code typed by the user and in the
          codes specified in the input file.  A percent sign (the
          %  character)  can be included in the code typed by the
          user where any  single  printing  character  is  to  be
          allowed.   The  percent  sign  will  not match either a
          space or a code which is shorter than the  location  of
          the  percent  sign.  An asterisk can be included at the
          right end of the code if any sequence of characters  is
          to  be  allowed  starting  at that point.  The asterisk
          will match a sequence of characters  which  contains  a
          space  or spaces and will not prevent the matching of a
          code  which  is  shorter  than  the  location  of   the
          asterisk.   If  the  user specifies the code A%C*, then
          labels  containing  addresses  having  codes  such   as
          AAC...,  ABC...,  ACC...  etc.  would  be  marked  with
          asterisks regardless of the cases of the letters in the
          codes.

          If the user selected a code previously, but  has  since
          decided  that  the  labels  are  not  to be marked with
          asterisks, then the user should just press  the  RETURN
          key again when asked to type the code.

       B  Number of rows of alignment boxes?

          Several rows of label outlines can be generated  before
          the  first  address  in each output file to be used for
          alignment of the paper in the terminal or printer.  The
          user  should  type  the  number  of rows of empty boxes
          which  are  desired.   Probably  zero  rows  of  labels
          outlines  should  be selected here if the addresses are
          to be typed directly  onto  the  controlling  terminal,
          since  in  that case the user can interactively request
          as many rows of label  outlines  as  are  necessary  to
          align the paper in the controlling terminal.
20                                    Mailing Address System


  C  Number of parallel columns of labels?

     The addresses can be arranged in a single column, or in
     2  to  4  parallel columns.  If 3 columns of labels are
     selected here, then the  first  3  addresses  would  be
     placed  on  the  first  row of 3 labels, and the fourth
     address would be on the left label in the second row.

  D  Detach bottom line and zip from address (Y or N)?

     The bottom line of the address, which usually  contains
     the  city  and  state  names, can be separated from the
     rest of the address by an extra blank line, and the zip
     code at the right end of the bottom line can be shifted
     a few extra spaces  to  the  right.   In  order  to  be
     recognized,  the  zip  code  must  consist  either of 5
     digits or of 5 digits followed immediately by  a  minus
     sign and 4 digits.

     The user should type either of the following letters.

     Y  to separate the bottom line from  the  rest  of  the
        address  by an extra blank line and to shift the zip
        code slightly to the right.

     N  to have the bottom line be contiguous with the  rest
        of  the  address and to have the zip code be just to
        the right of the state.

  E  Each address is to be printed on how many labels?

     The user should type the number of  labels  onto  which
     each  address  is to be printed.  If each address is to
     be printed onto 2 labels, then the number 2 would typed
     here.   The  duplicate  copies  of  the  addresses  are
     printed on adjacent labels.  To print 1 complete set of
     labels  to be followed by a second complete set, either
     the input file  should  be  processed  twice,  or  this
     program should be run twice.

  G  Width of gutters between labels (columns)?

     The  user  should  type  the  number  of   columns   of
     characters  which are to be kept blank between adjacent
     labels to allow  for  horizontal  misalignment  of  the
     paper stock in the terminal or printer.  The user would
     type 4 here if 2 columns are to be kept  blank  at  the
     right  edge of each label and 2 more columns to be kept
     blank at the left edge  of  the  adjacent  label.   The
     label  width specified elsewhere in inches must include
     the width of these blank columns.
     Instructions for Using the LABELS Program                 21


       H  Height of labels in inches?

          The user should type the distance between the  tops  of
          successive  labels.   The  user should type 1.25 if the
          labels are 1 and 1/4 inches high.

       I  Include initial code line (Y or N)?

          The code specified  in  the  address  file  by  a  line
          starting  with  an  @K character pair can be typed on a
          separate line above the rest of the address.  This code
          can  be  included  on the labels only if the input file
          specifies the components of the  addresses.   Inclusion
          of this code on the label is independent of the marking
          of an asterisk at the upper right corner  of  addresses
          having particular codes.

          The user should type either of the following letters.

          Y  to include the code on the top line of each label.

          N  to exclude the code.

       L  6 or 8 lines per inch?

          The line spacing  is  used  to  calculate  the  maximum
          number of lines in a single address.  The operator must
          adjust the terminal or  printer  to  obtain  this  line
          spacing.   This  program  does  not  insert  escape  or
          control character sequences into the output file to set
          the  terminal  or  printer  to the desired line spacing
          automatically.

          The user should type either of the following numbers.

          6  if the terminal or the printer  is  adjusted  for  6
             lines per inch.

          8  if the terminal or the printer  is  adjusted  for  8
             lines per inch.

       M  Maximum number of rows of labels?

          The user should type the  maximum  number  of  rows  of
          labels which can appear in a single output file.  A new
          output file will be begun after  this  many  rows  have
          been  written  to the current output file.  The maximum
          number of rows of labels includes the rows of alignment
          boxes  which  are generated at the start of each output
          file.  If each file starts with 10 rows of  boxes,  and
          if  there  are  3  parallel  columns  of  labels,  then
          selecting 1000 rows here would allow up to  3*(1000-10)
          or 2970 labels actually bearing addresses in each file.
22                                    Mailing Address System


  O  Offset left label to right how many spaces?

     The user should type the number of extra  spaces  which
     are  to be inserted to the left of the addresses in the
     leftmost column of labels.  Unlike the  spaces  in  the
     gutter  between adjacent labels, the spaces inserted to
     the left of the addresses in  the  leftmost  column  of
     labels  should  not  be  included  in  the width of the
     labels stated in inches elsewhere.  This offset  shifts
     all  of  the  addresses  on  each  row of labels to the
     right.  The offset does not change the placement of the
     addresses relative to one another.

  P  Pitch?

     The pitch or characters per inch is used  to  calculate
     the  number  of  characters which can appear across the
     width of each label.   The  operator  must  adjust  the
     terminal  or  printer to obtain this character spacing.
     This  program  does  not  insert  escape   or   control
     character  sequences  into  the  output file to set the
     terminal or printer to the  desired  character  spacing
     automatically.

     The user should type either of the following numbers.

     10 if 10 characters are  being  typed  per  inch  (Pica
        spacing).

     12 if 12 characters are being  typed  per  inch  (Elite
        spacing).

  S  Separate CAMPUS MAIL, ZIP and neither (Y or N)?

     On the system for which these programs were  originally
     developed,  foreign and campus mail addresses often had
     derelict United States zip codes.  The addresses  which
     were  sorted  by  United  States  zip  codes  could  be
     separated into the correct  groups  only  by  making  3
     passes through the input file.  This option is probably
     useless elsewhere.

     The user should type either of the following letters.

     Y  to scan the input file 3 times, producing first  the
        labels which have CAMPUS MAIL on the last line, then
        the labels which have neither CAMPUS MAIL nor a  zip
        code  on the last line, and finally the labels which
        have a zip code on the last line.

     N  to produce the labels exactly in the order in  which
        these are specified in the input file.
     Instructions for Using the LABELS Program                 23


       T  Convert multiple spaces to tab characters (Y or N)?

          This  program  can  convert  multiple  spaces  to   tab
          characters to save transmission time to the terminal or
          printer and/or to save disk space  if  the  labels  are
          being  written to an output file.  The tab character is
          a non-printing character which causes the next printing
          character  to  appear to the right of the next integral
          multiple of 8 column positions.

          The user should type either of the following letters.

          Y  if multiple  spaces  are  to  be  converted  to  tab
             characters.

          N  if multiple spaces are not to be  converted  to  tab
             characters.   This  should  be  used  if  either the
             operating system  or  the  output  device  does  not
             support the tab character.

       U  Convert lower case to upper case (Y or N)?

          Whether labels are more  legible  when  the  alphabetic
          letters  A  through Z are typed in the mixture of upper
          and lower cases specified in the address file  or  when
          all  alphabetic letters have been converted entirely to
          upper case will depend upon  the  terminal  or  printer
          used.

          The user should type either of the following letters.

          Y  to convert all lower case alphabetic letters in  the
             addresses to upper case (capitals).

          N  to keep all alphabetic  letters  in  their  original
             cases.

       W  Width of labels in inches including gutters?

          The user should type the distance in inches between the
          left  edges  of  adjacent  parallel  columns of labels.
          This distance must include the columns which are in the
          blank  gutter  between  the labels.  This distance must
          not include the columns by which the labels at the left
          are  offset  from the left edge of the paper.  The user
          should type 3.5 if the labels  are  3  and  1/2  inches
          wide.

     After the user has verified  that  the  description  of  the
     labels   is  correct,  the  program  will  ask  whether  the
     addresses are to be written into an output file  which  will
     be  printed  later onto the labels.  If the user responds by
     typing "NO", then the addresses are instead  typed  directly
     onto the controlling terminal.  Later, just before the first
     address  is  typed  onto  the   terminal,   the   user   can
24                                    Mailing Address System


interactively  request  one by one as many label outlines as
are necessary to align the labels in the terminal.

If the labels are being typed onto the controlling terminal,
then  the  user  will be asked whether a blank line appeared
after the last answer typed by  the  user.   The  particular
FORTRAN  operating  system  being  used determines whether a
blank line appears between a line typed by the user and  the
next line displayed by a program.  The user will usually not
have any control over which operating system is  used.   The
answer  to this question is used to keep track of the number
of lines typed onto the terminal while the labels which  are
mounted  on fanfold paper are being aligned in the terminal.
After each row of labels is finished, the program  generates
enough  blank  lines  before  the next row is typed so as to
realign the paper with the top of  the  next  address.   The
correct  calculation of the number of lines displayed on the
terminal is necessary if the addresses are to be aligned the
same  as the target patterns, and also if the addresses in a
subsequent file are to be aligned the same as the  addresses
in the first file.

The program will  ask  whether  a  list  of  words  will  be
supplied  which can be abbreviated or deleted in lines which
are too long to fit onto the labels.  If such a list  is  to
be  supplied,  then the program will ask the user to specify
the name of the file which specifies the list.   A  list  of
the  deletions  and substitutions which are specified by the
file will be displayed to the user.

After the user has specified the name of the  address  file,
the  user  will  be  asked to type a word or phrase which is
found first on any of the lines of the first  address  which
is to be copied onto a label.  Addresses which appear before
the  first  appearance  of  this  word  or  phrase  will  be
discarded.  If there are several addresses which contain the
word or phrase, then the first of these  will  be  selected.
If  a  single  word  is typed, then it must be longer than a
single  character.   All  punctuation  marks  which   appear
between  the  words of a phrase must be included.  The cases
of the alphabetic letters A through Z are ignored.  Only the
RETURN  key  should  be  pressed  to  start  with  the first
address.

If the  addresses  are  being  typed  onto  the  controlling
terminal,  then,  instead of typing a word or a phrase which
appears in the first address,  the  user  can  type  just  a
single  printing character before pressing the RETURN key to
obtain  a  single  row  of  target  labels.   The  user  can
repeatedly  type  a  single character to request such target
labels until the paper is properly aligned in the  terminal.
Once  the  paper  has  been  properly  aligned, the user can
either press the RETURN key an extra time to start with  the
first  address, or can type a word or a phrase which appears
in a later address to skip over the earlier addresses.
     Instructions for Using the SPLICE Program                 25


              INSTRUCTIONS FOR USING THE SPLICE PROGRAM
              ------------ --- ----- --- ------ -------

     The SPLICE program writes  addresses  into  an  output  file
     which   can  be  processed  later  by  an  independent  word
     processing program  to  insert  these  addresses  into  form
     letters.   Extra  lines  are  inserted before and after each
     address to serve as instructions  for  the  word  processing
     program  named  FROFF.  The statements in the SPLICE program
     which generate these extra lines can be  changed  easily  to
     generate  whatever  instructions  are required by some other
     word processing program.  FROFF  emulates  the  RUNOFF  word
     processing  program,  but FROFF provides many more features.
     FROFF is a FORTRAN program written by the same author as the
     programs in this package.

     A typical dialog between the user and the SPLICE program  is
     shown  below.   The  phrases which end in question marks are
     the requests displayed by the program.   The  characters  to
     the  right  of  the question marks were typed by the user in
     response to these requests.

     SPLICE (05/83)

     Business, Personal or No salutations (B, P or N)? B
     Default title if salutation is missing? Dr.
     Include lines to be merged into body of letter (Y or N)? Y
     Input address file? ADDRS1
     Word or phrase unique to first address? JIM SMITH
     Output splice file? SPLICE
        Number of addresses read:   108
      Number of addresses copied:    57
     Number of added Salutations:     4
     Process additional addresses (Y or N)? Y
     Input address file? ADDRS2
     Word or phrase unique to first address? JANE DOE
     Continuing output file
        Number of addresses read:     9
      Number of addresses copied:   ALL
     Number of added Salutations:     1
      Number of addresses copied:    66 (total)
     Process additional addresses (Y or N)? N
        Number of addresses read:   117
      Number of addresses copied:    66
     Number of added Salutations:     5

     EXIT

     The items which the user must type are  described  below  in
     the order in which these items are requested.  The user will
     not always be asked to specify every item.  Which items  are
     requested  will  depend  upon  what  responses  the user has
     already made.
26                                    Mailing Address System


1.  Whether  the  addresses  are  to  include  business   or
    personal  salutations  or are not to include salutations
    at all.  This determines whether a colon or a  comma  is
    to  be attached to the right end of each salutation.  If
    the  input  file  specifies  the  previously   formatted
    addresses  separated  by lines which start with periods,
    and if the bottom line in an address  is  a  salutation,
    i.e. it starts with the word "Dear" and ends with either
    a comma or a colon, then the terminal comma or colon  is
    removed and replaced by the punctuation mark selected by
    the answer to this question.

    If the input file does not specify a  salutation  for  a
    particular  address,  then  the  answer to this question
    also specifies whether the person's first name  or  last
    name is to be used in the salutation.  If the input file
    contains previously  formatted  addresses  separated  by
    lines which start with periods, then the name from which
    the salutation is constructed must be obtained from  the
    contents  of the first line of the address.  Salutations
    which are constructed in this manner should be carefully
    verified by the user.

    The user should respond by typing one of  the  following
    letters.

    B  (for Business) to place a colon at the right  end  of
       each  salutation.   A  salutation will be constructed
       using the person's last  name  in  each  address  for
       which a salutation is not defined by the input file.

    P  (for Personal) to place a comma at the right  end  of
       each  salutation.   A  salutation will be constructed
       using the person's first name  in  each  address  for
       which a salutation is not defined by the input file.

    N  (for No) if no salutations are to be copied into  the
       output  file.  Salutations will not be copied even if
       salutations  are   defined   by   the   input   file.
       Salutations   will   not   be  constructed  in  those
       addresses for which salutations are  not  defined  by
       the input file.

2.  If business salutations are selected, then the user will
    be  asked to specify a title such as Professor or Doctor
    or  Dr.   which  is  to  be  used  in  constructing  the
    salutation  for  each address which does not already end
    with  a  salutation.   Such  a   salutation   would   be
    constructed  from  the  information in the first line of
    the address.  If  the  input  file  contains  previously
    formatted  addresses separated by lines which start with
    periods, and if the first line of an address starts with
    an  abbreviation  such as Ms.  or Mr.  which ends with a
    period,  then  this  abbreviation  will   be   used   in
    constructing  a  salutation  for that address instead of
     Instructions for Using the SPLICE Program                 27


         the title which you specify here.   If  the  input  file
         specifies the components of the addresses on lines which
         start with at signs,  and  if  the  name  prefix  for  a
         particular  address  is specified by a line which starts
         with an @P character pair, then this name prefix will be
         used  in  constructing  a  salutation  for  that address
         instead of the title which you specify here.

         The user should merely press the RETURN key  if  all  of
         the  addresses  already  contain  salutations  or  if  a
         default title is not to be included in salutations which
         are constructed by this program.

     3.  Whether lines which start with an @X character  pair  in
         an  input  file  which  specifies  the components of the
         addresses are to be copied into the  output  file  after
         the   .END LITERAL.END SPLICE   commands   so  that  the
         contents of these lines can be merged into the  body  of
         the letter.

         The  user  should  respond  by  typing  either  of   the
         following letters.

         Y  if lines starting with an @X character pair are to be
            copied  into  the  output  file after the .END SPLICE
            command.

         N  if lines starting with an @X character pair  are  not
            to be copied into the output file.

         The answer to this question is used only  if  the  input
         file  specifies  the  components of the addresses.  This
         question must still  be  answered,  but  the  answer  is
         ignored,   if   the   input  file  specifies  previously
         formatted addresses separated by lines which start  with
         periods.  If lines which start with an @X character pair
         are to be copied into the output file, then each address
         should  have  the  same number of lines which start with
         this character pair, and, if  there  is  more  than  one
         input  file,  then all of the input files should specify
         the components of the addresses.

     4.  The name of the address file which is to be read by this
         program.    The   address   file  either  specifies  the
         components of the addresses or contains  the  previously
         formatted  addresses.  If the address file specifies the
         components, then each line should start with an at  sign
         character  pair.   If  the  address  file  contains  the
         previously formatted addresses, then these are separated
         by  lines  starting  with  periods.  If the address file
         contains the previously formatted addresses, then  blank
         lines  within each address are retained, but blank lines
         at the start or end of each address are discarded.
28                                    Mailing Address System


5.  A word or phrase which  is  found  first  in  the  first
    address  which  is  to  be  copied into the output file.
    Addresses which appear before the  first  appearance  of
    this word or phrase will be discarded.  If a single word
    is  typed,  then  it  must  be  longer  than  a   single
    character.   All  punctuation marks which appear between
    the words of a phrase must be included.   The  cases  of
    the alphabetic letters A through Z are ignored.

    If the input address file specifies  the  components  of
    the  addresses,  then the word or phrase, in order to be
    matched, must appear on one of the lines of the address,
    but not in the salutation nor in an extra line after the
    salutation which is to be merged into the  body  of  the
    letter.

    Only the RETURN key should be pressed to start with  the
    first address.

6.  The name of the file into which the addresses are to  be
    copied.  A .LITERAL command will be inserted before each
    address which is copied into this file, and the pair  of
    commands  .END LITERAL.END SPLICE will be inserted after
    each address.
     Instructions for Using the MRGADR Program                 29


               INSTRUCTIONS FOR USING THE MRGADR PRORAM
               ------------ --- ----- --- ------ ------

     The MRGADR program can merge up to 5  files  each  of  which
     specify  the  components of a group of addresses and each of
     which are already sorted in increasing zip code order.   The
     zip  codes  can  consist either of 5 digits or of the 5 most
     significant digits followed by a minus sign and  then  by  4
     less  significant digits.  The MRGADR program cannot process
     files  which  contain  the  previously  formatted  addresses
     rather than the components of the addresses.

     The program reads the first address contained in each of the
     input  files,  determines  the address having the lowest zip
     code among these several addresses, writes out  the  address
     having  the  lowest  zip code, and reads in the next address
     from the file from which the address having the  lowest  zip
     code  code  was  originally  read.   The  address having the
     lowest zip code among the new group  of  addresses  is  then
     determined,  and  so  on  until the ends of all of the input
     files have been reached.

     Addresses which were read from a  particular  file  will  be
     copied  in  their  original  order  relative  to  the  other
     addresses from the same file, but  these  addresses  may  be
     interspersed  with  addresses which were read from the other
     input files.  If some of the addresses do  not  include  zip
     codes,  then  these  addresses should appear at the start of
     the input files.  If more than one input  file  starts  with
     addresses  which  do  not  include  zip  codes, or, for that
     matter, if more than one input file contains addresses which
     include  a  particular  zip  code,  then these addresses are
     copied into the output file in any order which is convenient
     for  the  program.   If  the order of addresses which do not
     include zip codes must be maintained, then  these  addresses
     must appear in only one of the input files.

     A typical dialog between the user and the MRGADR program  is
     shown  below.   The  program  only  asks for file names, and
     nothing else.  The phrases which end in question  marks  are
     the  requests  displayed  by the program.  The characters to
     the right of the question marks are  the  file  names  which
     were  typed  by the user in response to these requests.  The
     MRGADR program does not have any built in help messages.
30                                    Mailing Address System


MRGADR (05/83)

Merges up to  5 address files previously sorted by zip code
New composite file? MERGED
Original file (press RETURN again if no more)? FIRST
Original file (press RETURN again if no more)? SECOND
Original file (press RETURN again if no more)? THIRD
Original file (press RETURN again if no more)? FOURTH
Original file (press RETURN again if no more)?
Total number of addresses copied:     113

EXIT

If the user wants to merge less than 5 address  files,  then
only  the  RETURN  key  should be pressed in response to the
request for the name of the next file.
     Arrays and Variables Used by These Programs               31


             ARRAYS AND VARIABLES USED BY THESE PROGRAMS
             ------ --- --------- ---- -- ----- --------

     The programs in this package use  the  same  names  for  the
     arrays and variables which perform identical functions.

     The arrays which are used to store  the  components  of  the
     address  and  the  dimensions  of these arrays are described
     below.  These arrays are used only if the components of  the
     addresses  are  read  from  a file in which each line starts
     with an at sign.  The arrays are not used if  the  addresses
     are  read  from  a  file  in  which the previously formatted
     addresses are separated by lines starting with periods.

     LTRKND = Array containing the characters which identify  the
              various  types  of components of the address.  Both
              LTRKND  and  ISTART  are  dimensioned  at   LMTKND.
              Currently,  LTRKND  contains  the  letters  of  the
              alphabet, and LMTKND is 26,  so  there  can  be  26
              different types of components, each identified by a
              different letter of the alphabet.  The number  sign
              (the  #  character)  and  the  at  sign itself as a
              second  character  on  the  line  are  tested   for
              explicitly  and are not specified within the LTRKND
              array.  If one or more lines  in  the  input  array
              start  with  an  @C  character pair, then ISTART(3)
              contains the subscript of the location  within  the
              LOCATN  array  which in turn contains the subscript
              of the location in the LTRSTR array which  contains
              the   first   character   of  the  first  component
              specified by these lines.

     ISTART = Array containing the subscripts of the locations in
              the   LOCATN   array  which  in  turn  contain  the
              subscripts of the locations  in  the  LTRSTR  which
              contain   the   first   characters   of  the  first
              components of each type.

     LMTKND = Dimension of the LTRKND and ISTART arrays.  This is
              the  number of different kinds of components of the
              address.  LMTKND does not  place  a  limit  on  the
              number of components of a single type however.

     LOCATN = Array containing the subscripts  of  the  locations
              within  the  LTRSTR  array  which contain the first
              characters of each component of the  address.   The
              ICHAIN, LOCATN and LENGTH arrays are dimensioned at
              LMTSEC.   If  there  is  only  1  component  of   a
              particular  type, then the parallel location in the
              ICHAIN  array  is  zero.   If  there  are   several
              components  of a particular type, then the parallel
              locations  in  the   ICHAIN   array   contain   the
              subscripts  of  the ICHAIN, LOCATN and LENGTH array
              locations which describe the next component of  the
              same   type.    The  ICHAIN  entry  for  the  final
32                                    Mailing Address System


         component of a particular type is always zero.

ICHAIN = Array containing the subscripts  of  the  locations
         within  the  ICHAIN, LOCATN and LENGTH arrays which
         describe the next component of a  particular  type.
         The  ICHAIN  entry  for  the  final  component of a
         particular type is always zero.

LENGTH = Array containing the number of characters  in  each
         component.

LMTSEC = Dimension of the ICHAIN, LOCATN and LENGTH  arrays.
         LMTSEC  is  the maximum number of components of all
         types in  a  single  address,  counting  separately
         every appearance of components of the same type.

LTRSTR = Array which stores the letters of the components of
         the address in the order in which these are defined
         in  the  input  file.   LTRSTR  is  dimensioned  at
         LMTSTR.

LMTSTR = Dimension of  the  LTRSTR  array.   LMTSTR  is  the
         maximum  number of characters which can appear in a
         single address.

LTRBFR = Array into which each line in  the  input  file  is
         read.   LTRBFR  is  dimensioned  to LMTBFR which is
         therefore  2  more  than  the  maximum  number   of
         characters  in  a  single  component of the address
         since the first 2 letters in each line in the input
         file  identify the type of component being defined.
         LMTONE is the maximum length of a single  component
         in  the  output file.  LMTTWO is the maximum length
         of a line in the reconstructed address if this line
         is   constructed   of   more  than  just  a  single
         component.  If the next component which  is  to  be
         appended  to  the  line  would cause the line to be
         longer than LMTTWO characters,  then  the  line  is
         split  before  this  next  component.   Either  the
         component already in  the  line  or  the  component
         about  to  be  added  could  be  of  length LMTONE.
         LMTONE is therefore an absolute  upper  limit,  but
         LMTTWO  is  merely a suggested length.  LMTTWO must
         be less than or  equal  to  LMTONE.   LMTONE  would
         probably equal LMTBFR-2.  Neither LMTONE nor LMTTWO
         are used as dimensions of any array.

LMTBFR = Dimension of the LTRBFR array.  This is the maximum
         number  of characters including the initial at sign
         and the following character in a single line in the
         file which defines the components of the address.
     Arrays and Variables Used by These Programs               33


     For example, if  the  input  file  contained  the  following
     specifications of the components of an address,

     @CFIRST
     @ASECOND
     @BTHIRD
     @BFOURTH
     @CFIFTH
     @BSIXTH

     then this information would be stored  as  is  shown  below.
     Subscript  1  is  at  the bottom in the diagram, subscript 2
     immediately above, and so on.

     ISTART   ICHAIN  LENGTH  LOCATN
     array    array   array   array

               +-> 0       5  28 >------------------------+
               !                                          !
               !   0 <---+ 5  23 >-------------------+    !
               !         !                           !    !
               +-< 6 <-+ ! 6  17 >-------------+     !    !
                       ! !                     !     !    !
     +-< 1     /-> 4 >-+ ! 5  12 >--------+    !     !    !
     !        /          !                !    !     !    !
     !   3 >-/ /-> 0     ! 6   6 >--+     !    !     !    !
     !        /          !          !     !    !     !    !
     !   2 >-/ /-> 5 >---+ 5   1    !     !    !     !    !
     !        /                !    !     !    !     !    !
     +-------/                 FIRSTSECONDTHIRDFOURTHFIFTHSIXTH

                               LTRSTR array

     The arrays which are needed for  the  assembly  process  and
     their dimensions are described below.  The components stored
     in the LTRSTR array are copied into the LTRADR array and the
     lengths  of  the  resulting  lines  are stored in the LNGLIN
     array.  The KONTNT and ITRAIL arrays specify which types  of
     components  go  into  which  lines  and with what separating
     characters.

     If the input file specifies the components of  the  address,
     then  neither  the  salutation nor the blank line before the
     salutation are stored in the LTRSTR AND LNGLIN arrays.   The
     salutation  and  the  blank  line before the salutation must
     however be stored in these arrays if the input file contains
     the  previously formatted addresses separated by lines which
     start with periods.

     LTRADR = The array which  contains  the  characters  of  the
              formatted address.  This is dimensioned at LMTCHR.

     LMTCHR = The maximum number of characters which can be in  a
              formatted address.
34                                    Mailing Address System


LNGLIN = The array which contains the lengths of each of the
         lines   in   the   formatted   address.    This  is
         dimensioned at LMTLIN.

LMTLIN = The  maximum  number  of  lines  in  the  formatted
         address.   This  does not include the salutation or
         the blank line before the salutation if the address
         is reassembled from its components.

LMTONE = The maximum allowable length of a  line  consisting
         of  a  single component in the reassembled address.
         Any characters in excess of this are discarded.

LMTTWO = The  desired  maximum  width  of  a  line  in   the
         reassembled  address.   The  next  component of the
         current line of the address  is  reserved  for  the
         next  output line if addition of the next component
         to the line would cause the line  to  contain  more
         than  LMTTWO  characters.  LMTTWO must be less than
         or equal to LMTONE.

KONTNT = The array which defines  which  components  of  the
         address   are   to  appear  on  each  line  in  the
         reassembled address.   The  values  in  the  KONTNT
         array  are  the  locations  in  the alphabet of the
         letters which  identified  the  components  in  the
         original  file  which  was read as data.  The final
         component on each line is  indicated  by  an  extra
         zero  value.   The  values  in the ITRAIL array are
         parallel.

ITRAIL = Indicates what characters are to be inserted before
         the  item  indicated  by  the parallel entry in the
         KONTNT array if this item is not the first  on  the
         current  line  of  the  address.   No  character is
         inserted before the component if the  component  is
         the  first  on  the  line  either because it is the
         first component  specified  for  the  line  by  the
         KONTNT  array  or  because it would have caused the
         line of which it would normally have been a part to
         have  been  too  long.   The value in this array is
         ignored if the parallel value in the  KONTNT  array
         is zero.

       = 0, Insert a single space between adjacent items  on
         the same line.

       = 1, Insert a comma  and  a  space  between  adjacent
         items on the same line.

       = 2, Insert 2 spaces between adjacent  items  on  the
         same line.
     List of Files Forming This Package                        35


                  LIST OF FILES FORMING THIS PACKAGE
                  ---- -- ----- ------- ---- -------

     The routines which manipulate file names and which open  and
     close  files  are  dependent  upon  the  particular computer
     system being  used.   These  routines  have  been  collected
     together  in  a single file.  A version of these routines is
     supplied for use with the TOPS10 emulator on the DECsystem20
     computer.    The  argument  lists  and  functions  of  these
     routines  are  described  within  the  routines  themselves.
     These  routines  should be relatively easy to modify for use
     on other computer systems.

     ENVELO.CMD  Command file used to load the ENVELO program  on
                 the DECsystem10 or DECsystem20 computers.

     ENVELO.FOR  The source of the  ENVELO  program.   This  file
                 must be loaded with the LBLLIB, LBLD10 and MACRO
                 (or MACD20) packages.

     ENVHLP.RNO  Rough text used to construct the  help  messages
                 for  the  ENVELO  program.   This  file  must be
                 processed by the FORMAT program to  produce  the
                 FORTRAN source of the ENVHLP routine.  FORMAT is
                 a FORTRAN program which was written by the  same
                 author as the programs in this package and which
                 is available from the DECUS DECsystem10  program
                 library.   If  this  file  is  modified so as to
                 change the number of lines in any message  which
                 is  issued after the addresses start to be typed
                 on the terminal, then the amount  by  which  the
                 KNTOUT variable is incremented after the message
                 must be changed accordingly in the  ENVELO  main
                 program.

     LABELS.CMD  Command file used to load the LABELS program  on
                 the DECsystem10 or DECsystem20 computers.

     LABELS.FOR  The source of the  LABELS  program.   This  file
                 must be loaded with the LBLLIB, LBLD10 and MACRO
                 (or MACD20) packages.

     LBLD10.FOR  The computer  dependent  subroutines  which  are
                 needed  by the ENVELO, LABELS, MRGADR and SPLICE
                 programs.  The routines in this package evaluate
                 file  names  typed  by  the user, open and close
                 files, and  convert  contiguous  spaces  to  tab
                 characters.   These  routines are dependent upon
                 the  hardware,  operating  system  and  run-time
                 library   of  the  computer  being  used.   This
                 version is for the DECsystem10 computer  or  for
                 use  with the TOPS10 emulator on the DECsystem20
                 computer.   These  routines  should  be   easily
                 modified for use on other computers.
36                                    Mailing Address System


LBLHLP.RNO  Rough text used to construct the  help  messages
            for  the  LABELS  program.   This  file  must be
            processed by the FORMAT program to  produce  the
            FORTRAN  source  of the LBLHLP routine.  If this
            file is modified so as to change the  number  of
            lines  in  any message which is issued after the
            addresses start to be  typed  on  the  terminal,
            then  the amount by which the KNTOUT variable is
            incremented after the message  must  be  changed
            accordingly in the LABELS main program.

LBLLIB.FOR  The computer independent subroutines  which  are
            needed   by   the   ENVELO,  LABELS  and  SPLICE
            programs.  The routines in this package evaluate
            the  commands  typed  by the user, read the file
            specifying the components of the  addresses  and
            construct the addresses from their components.

MACRO.FOR   A non-functional FORTRAN version of some  useful
            but   non-essential  routines.   If  functional,
            these  routines  would   set   terminal   output
            characteristics  and  turn off the exit messages
            from FORTRAN programs.

MACD20.MAC  An assembly language  version  of  the  routines
            which  set  terminal  output characteristics and
            turn  off  the  exit   messages   from   FORTRAN
            programs.   This version is for the DECsystem20.
            The   file   named    MACRO.FOR    contains    a
            non-functional    FORTRAN   version   of   these
            routines.

MAIL.DOC    The instruction manual for the programs in  this
            package.   This  was  produced by processing the
            rough text in the MAIL.RNO file using the  FROFF
            word  processing  program.   FROFF  is a FORTRAN
            program which was written by the same author  as
            the programs in this package.

MAIL.RNO    Rough text which produces the instruction manual
            for  the programs in this package when processed
            by the FROFF  word  processing  program.   Minor
            changes would be necessary if this file is to be
            processed by RUNOFF.

MRGADR.CMD  Command file used to load the MRGADR program  on
            the DECsystem10 or DECsystem20 computers.

MRGADR.FOR  The source of the  MRGADR  program.   This  file
            must be loaded with the LBLD10 package.

SPLICE.CMD  Command file used to load the SPLICE program  on
            the DECsystem10 or DECsystem20 computers.
     List of Files Forming This Package                        37


     SPLICE.FOR  The source of the  SPLICE  program.   This  file
                 must be loaded with the LBLLIB, LBLD10 and MACRO
                 (or MACD20) packages.

     SPLHLP.RNO  Rough text used to construct the  help  messages
                 for  the  SPLICE  program.   This  file  must be
                 processed by the FORMAT program to  produce  the
                 FORTRAN source of the SPLHLP routine.

     TEST01.ADR  Short address  file  which  contains  previously
                 formatted  addresses  separated  by  lines which
                 start with periods.

     TEST02.ADR  Short   address   file   which   specifies   the
                 components of the addresses on lines which start
                 with at sign character pairs.