By downloading this code you agree to the
Source Code Use License (PDF). |
{ 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}