Delila Program: split

split program

Documentation for the split program is below, with links to related programs in the "see also" section.

{   version = 3.54; (* split 2019 Apr 08}

(* begin module describe.split *)
(*
name
      split: split a wide file into printable pages

synopsis
      split(fin: in, fout: out, splitp: in, output: out)

files
      fin: the file to be split into pages
      fout: the split result
      splitp: parameters to control split.  if splitp is empty,
         defaults are used.  otherwise splitp must contain 3 to 5 lines:
         1. if the first character is p (for 'page prompting') then the
            pagination is controlled by the fin.  (this is done by
            duplicating the first several columns to all the horizontal
            pages, as determined by the second parameter.)
            otherwise, pages begin as determined by the second parameter.
         2. for page prompting (see parameter 1) this is the number of
            columns to duplicate from the left margin to all pages.
            if not page prompting, then this is the lines per page in fin.
         3. columns per page in fin (not less than 1).
         4. number of header lines to copy to fout before splitting the rest.
         5. if 4. is negative, this is a trigger inside quotes (").
            -(4.) lines beyond this trigger splitting will begin.
         note: columns and lines per page refer to the input file, fin.
         to find the actual width of the output file pages, add 1 to
         parameter three (when not page prompting) or
         add parameter two to parameter three (when page prompting).
         one extra line is added per page for the page coordinate.
      output: messages to the user.

description
      the split program slices up the fin file into an array of pages,
      each located by an (x,y) coordinate.  in this way a file which is too
      large to print can be printed and then reconstructed.  in otherwords,
      if you have a program which produces output that is wider than the
      printer page (or the screen of the crt, for that matter) then you can
      run your output through split to obtain pages that will print ok.
      the upper lefthand corner of each page tells the coordinate of the page
      as (x down, y across).  a header page shows all the page coordinates.

examples
      if splitp contains: n/60/130/10 (on 4 lines) then fin will be
      split into 60 line by 130 column pages, after 10 header lines.
      if splitp contains: p/1/120/-5/"trigger" then each page will be 120
      characters wide and the first column will be copied to each page.
      the header extends 5 lines beyond and including the trigger.
      for p/5/132 the first 5 columns will be copied to each page.

author
      thomas d. schneider

bugs
      none known

technical notes
      constant pagecharacter is the (system dependent) begin page character.
*)
(* end module describe.split *)
{This manual page was created by makman 1.45}


{created by htmlink 1.62}