By downloading this code you agree to the
Source Code Use License (PDF). |
{version = 4.26; (* of pbreak.p 1993 Jan 27}
(* begin module describe.pbreak *)
(*
name
pbreak: breaks a file into pages at a certain trigger phrase
synopsis
pbreak(pbreakp: in, input: in, output: out, list: out)
files
pbreakp: The parameter file which contains the trigger on one line.
Only one trigger is allowed in pbreakp.
The next line may contain one integer which represents the right most
position (in characters, 1 is the first character on a line)
where the trigger will be looked for. Default is an enormous number.
input: the file to break up
output: the broken file
list: where messages will appear.
description
The program pbreak will go through a file, line by line, looking for a
"trigger" phrase. Upon finding the trigger on a line, pbreak will insert a
"new page" mark at the beginning of the line. This will cause the printer
to start a new page at this line when the file is printed. A page number is
added and an alphabetical index of the lines containing the trigger strings
and their page numbers is printed at the end of the output file. The
trigger phrase can be any string of characters and is in the file pbreakp.
The pbreak program is thus useful for breaking up large files into
workable-size chunks, or to make a large file more readable.
examples
Pbreak has been used to make pascal source code easier to read and
work with by using the trigger "procedure" to make a file which
when printed has one procedure to a page. Pbreak also has been used
to make the delila manual, delman. Delman is one large, continuous
textfile, and pbreak is used to break delman into its formatted pages
by using the parameters
(@ begin module
1
which will only recognize modules that begin at the left margin.
(Note: the @ in the example above must be replaced by a '*' to
make the example work. The (@ form fools the compiler, and prevents
it from thinking I'm doing something funny.)
documentation
delman.intro.organization: "technical notes"
author
Patrick R. Roche
modified by Tom Schneider
bugs
none known
technical notes
Three procedures, firstpage, makepage and lastpage contain instructions for
forming new pages. These are system dependent. Constant pagelength
determines the size of the page.
If a line is too wide, the page number will not be printed, however the
number will override the characters on the line in the index at the end.
The constant "top" defines the maximum length of a buffer, thus the maximum
length of an input line or a trigger. The constant "pagewidth" defines the
page width for numbering of pages and the printing of the index. Pagewidth
should be set to the desired page width - 1 to come out right. The constant
liston (true or false) indicates whether or not to display the index on the
file list.
*)
(* end module describe.pbreak *)
{This manual page was created by makman 1.45}
{created by htmlink 1.62}