home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR16
/
DPS11.ZIP
/
DPS.DOC
next >
Wrap
Text File
|
1993-10-17
|
89KB
|
1,928 lines
D P S
Document Processing System
A Shareware Program
Phillip H. Sherrod
and
Daniel J. Cappannari
DPS reads a document source file which includes style,
spacing, and formatting commands, and generates a
formatted ASCII output file suitable for printing on any
type of computer printer. DPS is well suited for
preparing documentation for programs or other technical
projects. DPS provides table of contents and index
generation and cross references by section and page
numbers. DPS also provides automatic section numbering
and a variety of list types.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Installing DPS . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Using DPS . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. DPS Operation . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Text, Figures, and Verbatim . . . . . . . . . . . . . . . . 4
2.2 Page Dimensions . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Chapters and Sections . . . . . . . . . . . . . . . . . . . 6
2.4 Styles . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Centering Text . . . . . . . . . . . . . . . . . . . . . . 11
2.6 Indentation . . . . . . . . . . . . . . . . . . . . . . . . 12
2.7 Double Sided Printing . . . . . . . . . . . . . . . . . . . 13
2.8 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.9 Blank Lines and Page Ejects . . . . . . . . . . . . . . . . 15
2.10 Page and Section References . . . . . . . . . . . . . . . 17
2.11 Table of Contents . . . . . . . . . . . . . . . . . . . . 17
2.12 Index Entries . . . . . . . . . . . . . . . . . . . . . . 18
2.13 Including External Files . . . . . . . . . . . . . . . . . 18
2.14 Foreign Language Support . . . . . . . . . . . . . . . . . 19
3. Command Reference . . . . . . . . . . . . . . . . . . . . . . 20
3.1 Between Line Commands . . . . . . . . . . . . . . . . . . . 20
3.2 Within Line Commands . . . . . . . . . . . . . . . . . . . 23
3.3 Style Parameter Commands . . . . . . . . . . . . . . . . . 23
4. Use And Distribution of DPS . . . . . . . . . . . . . . . . . 28
4.1 Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . 29
5. Other Software . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1 Mathplot -- Mathematical Function Plotting Program . . . . 30
5.2 Nonlin -- Linear & Nonlinear Statistical Regression . . . . 30
5.3 TSX-32 -- Multi-User Operating System . . . . . . . . . . . 31
6. Software Order Form . . . . . . . . . . . . . . . . . . . . . 33
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
i
Chapter 1
Introduction
DPS (Document Processing System) is a program which formats text
files for printing on any type of printer. DPS can be used to
format letters, articles, books, and documentation. It is
particularly well suited for preparing documentation for programs
and other technical projects because it has cross reference
facilities that automatically fill in section and page numbers for
referenced items, and it has built in facilities for producing an
index. This document was prepared using DPS; the source file is
provided for your examination in a file named DPS.DPS.
By design, DPS does not utilize any printer control functions other
than carriage-return, line-feed, and form-feed. This allows the
output of DPS to be printed on a wide variety of printers ranging
from inexpensive dot matrix devices through fancy laser printers.
DPS is similar to word processing programs in that it helps you to
produce a formatted document. However, DPS is different from
programs like WordPerfect and Microsoft Word in the way that you
specify formatting commands. With the typical word processing
program you use function keys to specify formatting actions and
with most of these programs you see the result on the screen
immediately. With DPS you use an editor such as DOS EDIT or EDLIN
to create a "source" document file that contains both the text of
the document and embedded DPS commands that describe what
formatting is to be done for each part of the document. You then
use DPS to process this source file and produce a formatted output
file.
1.1 Installing DPS
The installation of DPS is very simple. Create a directory for the
DPS files and use PKUNZIP to unpack the compressed file or copy in
all of the files from your distribution disk. You should add the
DPS directory to your PATH command so that DOS can find the DPS.EXE
file if some other directory is your current directory.
The DPS distribution includes the following files:
1
Chapter 1. Introduction 2
DPS.EXE -- Executable program.
DPS.DOC -- Documentation file.
DPS.DPS -- Source file for DPS.DOC to use as an example.
REGISTER.DOC -- Software registration form.
VENDOR.DOC -- Information for shareware vendors.
README.DOC -- Introduction file.
FILE_ID.DIZ -- Information for bulletin boards.
1.2 Using DPS
The first step in using DPS is to create a "source" document file
containing your text and DPS commands. It is best to give this
file the extension ".DPS".
The source file should be in "flat ASCII format", meaning that it
simply consists of ASCII characters with carriage-return, line-feed
sequences separating the records. This is the type of file
produced by various text editors such as the EDIT and EDLIN
programs available with DOS. You may use a word processor such as
WordPerfect to produce the file, but you should be sure that the
output is in "DOS text" format with no extra data inserted for the
benefit of the word processor.
Once you have created a source file you can use DPS to format it.
The form of the DPS command is:
DPS source_file [output_file]
Where "source_file" is the name of your source document file and
"output_file" is the name of the file to which the formatted output
is to be written. The default extension for the source file is
".DPS". The default extension for the output file is ".DOC". If
no output file is specified DPS creates an output file with the
same name as the source file but with the extension ".DOC".
For example, the following command would read a source file named
MATHPLOT.DPS and produce a formatted document file named
MATHPLOT.DOC:
DPS MATHPLOT
The following command would read a source file named NONLIN.DPS and
produce a formatted output file named REGRESS.LST:
DPS NONLIN REGRESS.LST
You can also use the .INCLUDE command within a DPS source file to
cause another file to be inserted as the file is processed. This
is useful for large documents that can be maintained as separate
sections but combined into a single formatted listing.
Chapter 2
DPS Operation
In addition to your text, the input file may contain two types of
DPS commands: "between line" and "within line". The between line
type of commands are the most common. These commands begin with a
period as the first character of the line and are terminated by the
end of the line. For example,
.CHAPTER Introduction
marks the beginning of a new chapter named "Introduction".
If you have text lines that begin with a period, or you would just
prefer some introducer character other than period, you can use the
.BLCMD command to specify another introducer character. The form
of this command is:
.BLCMD character
where 'character' is the character to be used as the command
introducer. For example, the following command causes comma to be
set as the introducer character:
.BLCMD ,
After this command you would type comma as the first character of
each between line command.
Within line commands can occur in the middle of a line of text.
These commands are denoted with an introducer character which is
normally backslash (\). An example of a within line command is
"\PAGEREF{name}" which might be used in a line of text such as
follows:
For a description of the process, see page \pageref{mrdesc}.
This command tells DPS to insert the page number for a section
labeled "mrdesc".
If you need to use the '\' character within the text of your
document specify two '\' characters in a row. For example, you
would type the string "C:\\DPS\\DPS.EXE" to produce the string
"C:\DPS\DPS.EXE".
3
Chapter 2. DPS Operation 4
To change the within line introducter character from backslash to
something else, use the .WLCMD command whose syntax is
.WLCMD character
DPS commands are case insensitive so you can use either upper or
lower case letters.
Chapter 3, starting on page 20, provides a complete reference for
the DPS commands. The remainder of this chapter discusses the
commands from an operational point of view.
2.1 Text, Figures, and Verbatim
The bulk of your source document will consist of the text that DPS
is to format. During its normal operation, DPS reads this text,
combines words into lines and paragraphs, and outputs pages with
headers and numbers if requested. While it is performing this
formatting DPS is said to be in "text mode".
Two additional modes are used to temporarily disable formatting of
input text. These are "figure mode" and "verbatim mode".
A figure is a series of records in the input document which should
not be formatted, and which should be kept together (not split
across pages). While in figure mode DPS does not rearrange words
on lines. It maintains the same spacing as in the source file but
may indent all of the lines a fixed amount which can be controlled
by the .FINDENT command (by default, figures are not indented).
You can also enclose a figure in .CENTER and .ENDCENTER commands to
cause the entire figure to be centered on the page.
You cannot use within line commands within figures because all
characters are taken "literally". This means it is not necessary
to specify "\\" to produce a single "\" within a figure. Use
figure mode for figures, diagrams, and so forth. Place a .FIGURE
command at the front of a figure and .ENDFIGURE at the end. The
following example demonstrates how to use figure mode to produce a
centered figure:
Chapter 2. DPS Operation 5
.center
.figure
+-------+ +----------+ +--------+
| TRAIN |-->| Conveyor |-->| Sorter |
+-------+ +----------+ +--------+
| |
V V
+---------+ +---------+
| Cracker | | Grinder |
+---------+ +---------+
| |
V V
+---------+ +---------+
| Packer | | Packer |
+---------+ +---------+
| |
V V
+----------+ +-----------+
|Whole nuts| |Ground nuts|
+----------+ +-----------+
.endfigure
.endcenter
Verbatim mode is very similar to figure mode. Like figure mode,
verbatim mode preserves the source format of each line and does not
move words from one line to another or adjust spacing. However,
verbatim mode does not guarantee that all of the lines in the group
will fit on a single page. Use the .VERBATIM command to begin
verbatim mode and the .ENDVERBATIM command to return to normal text
mode. The following example demonstrates the use of verbatim text:
.verbatim
/*-----------------------------------------------------------
* Function
* Convert a year/month/day date into the corrsponding
* day of the week.
*/
int dtu_weekday(int year,int month,int date)
{
/*
* Declarations
*/
int j10,j14,value,w0to7;
/*
* Code
*/
j10 = month + 10;
j14 = year + (month-14)/12;
value = (13*(j10-j10/13*12)-1)/5+date+77
+5*(j14-j14/100*100)/4
+j14/400-j14/100*2;
w0to7 = value%7;
return w0to7+1;
Chapter 2. DPS Operation 6
}
.endverbatim
2.2 Page Dimensions
To properly format output text, DPS must know certain things about
the capabilities of your printer. These are the maximum number of
lines which can be printed on the page, the maximum width of each
line, and the margins to leave on the left and right edges of the
paper.
The default page length is 58 lines, the default page width is 80
characters, and the default left and right margins are 6
characters. You can use the following commands to change these
values:
.LENGTH value -- Specify number of lines per page.
.WIDTH value -- Specify number of characters per line.
.LMARGIN value -- Specify left margin spaces.
.RMARGIN value -- Specify right margin spaces.
If you want to adjust these parameters it is best to place these
commands at the front of your source document file before any text.
2.3 Chapters and Sections
A simple document such as a letter does not need to be divided into
sections. An article may be divided into a number of sections such
as the introduction, main body, and conclusions. Longer documents,
such as this one, are divided into chapters and sections.
DPS allows you to divide a document in a heirarchical manner, with
chapters, main sections, sub-sections, sub-sub-sections,
sub-sub-sub-sections, and so forth. This allows you to organize
your material using as much detail as it requires. Up to nine
levels of sections can be used. DPS automatically numbers the
chapters and sections and uses this information in the table of
contents.
Chapters, when used, are introduced with the .CHAPTER command, as
with:
.CHAPTER Technical Specification
See Section 2.14 for information about specifying a different word
than "Chapter" for non-English documents.
Sections are introduced with .HLn commands, where "n" denotes the
depth of the section level. .HL1 introduces the highest level
section (within a chapter), HL2 introduces a sub-section, HL3 a
sub-sub-section, etc. Take the following example:
Chapter 2. DPS Operation 7
.CHAPTER Technical Specification
.HL1 Scope of this document
This document describes the use of the butterfly clamp.
.HL1 Intended audience
.HL2 Doctors
Doctors need to know whether it works.
.HL2 Nurses
Nurses need to know how to use it.
The output would appear as follows:
Chapter 1
Technical Specification
1.1 Scope of this document
This document describes the use of the butterfly clamp.
1.2 Intended audience
1.2.1 Doctors
Doctors need to know whether it works.
1.2.2 Nurses
Nurses need to know how to use it.
If you are producing a document that does not have chapters but
which does have sections, you can use .HL0 to produce the highest
level section numbers (which would ordinarily correspond to chapter
numbers), and .HL1, .HL2, etc. for subsections.
Each .CHAPTER or .HL directive in the file produces an entry in the
table of contents. DPS always begins chapters on a new page. If
the .DSIDE (double side printing) command is in effect, blank pages
are inserted if necessary to force chapters to begin on odd pages
(which are printed on the right side).
The .NLAHL command is used to set the number of blank lines to be
left above a section header. The .SLMLOP command sets the number
of lines that must remain on a page for DPS to begin a new section
on the current page.
Chapter 2. DPS Operation 8
2.4 Styles
People have individual tastes and needs for the style of formatted
text. Furthermore, a single document may need some text formatted
in one style and other text in a different style.
To deal with this situation DPS comes preloaded with a number of
different styles and allows you to create additional styles as
needed. This section describes styles, documents the preloaded
styles, and shows you how to create and use custom styles.
DPS comes preloaded with styles named STANDARD, PLAIN, REPORT, and
LETTER. The STANDARD style is the default that is used unless you
select a different style using the .STYLE command.
A new style can be selected or created at any point in the document
by using the .STYLE command, as shown in the following examples:
.STYLE STANDARD
This text will be formatted according to the standard style.
.STYLE CUSTOM
This text is formatted according to the style CUSTOM.
If the style you list in a .STYLE command does not exist it will be
created for you. New styles start out being the same as style
STANDARD.
The current style can be customized at any point by the style
commands listed in Section 3.3 beginning on page 23. Since style
commands always modify the current style, you can use them to
modify built in styles or to create a new style. For example,
simply stating
.NOJUSTIFY
.LMEXTRA 5
at the top of your document modifies the standard style,
deactivating text justification and specifying that all lines of a
paragraph except the first should be indented 5 spaces.
Alternatively you could specify
.STYLE DESCRIPTION
.NOJUSTIFY
.LMEXTRA 5
to create a new style called DESCRIPTION with these modifications.
The new style would remain in effect until DPS encounters another
style command such as
.STYLE STANDARD
to return to the standard style.
Chapter 2. DPS Operation 9
You can switch between styles as often as you like. If you modify
attributes for a style the modifications remain in effect when you
switch back to the style.
The following table documents parameters for the four
built-in styles.
Parameter STANDARD REPORT LETTER PLAIN
----------- ----------- ----------- ----------- -----------
BLBP 1 1 1 1
MLOP 2 2 2 2
LMFIRST 0 0 0 0
LMEXTRA 0 0 0 0
NLAH 0 0 0 0
NLBH 2 2 2 2
NLAF 2 2 2 2
H1TEXT 0 0 0 0
HXTEXT 2 0 0 0
H1PN 0 0 0 0
HXPN 1 0 0 0
F1TEXT 0 0 0 0
FXTEXT 0 0 0 0
F1PN 2 2 0 0
FXPN 0 2 0 0
FINDENT 0 0 0 0
CHAPHEAD 1 0 0 0
JUSTIFY 1 1 0 1
NLAHL 5,2,1,1,1, 5,2,1,1,1, 5,2,1,1,1, 5,2,1,1,1,
1,1,1,1 1,1,1,1 1,1,1,1 1,1,1,1
INDENT 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0,
0,0,0,0 0,0,0,0 0,0,0,0 0,0,0,0
LIST_IN1 4,8,12,16, 4,8,12,16, 4,8,12,16, 4,8,12,16,
20,24,28,32 20,24,28,32 20,24,28,32 20,24,28,32
LIST_INX 4,8,12,16, 4,8,12,16, 4,8,12,16, 4,8,12,16,
20,24,28,32 20,24,28,32 20,24,28,32 20,24,28,32
LIST_BULCHR period period period period
LIST_BULPOS 2,6,10,14, 2,6,10,14, 2,6,10,14, 2,6,10,14,
18,22,26,30 18,22,26,30 18,22,26,30 18,22,26,30
SLMLOP 5,5,5,5,5 5,5,5,5,5 5,5,5,5,5 5,5,5,5,5
5,5,5,5 5,5,5,5 5,5,5,5 5,5,5,5
Some style parameters are defined as lists of values instead of a
single value. Some, such as .NLAHL (Number of Lines Above Header
at each Level) define a separate value for every chapter or section
level. Others, such as .LIST_IN1 (LIST INdentation for the first
line of a list at each list nesting level) define a separate value
for each depth to which lists can be nested.
To modify these parameters you must first specify the name of the
parameter, then the section or nesting level which you are
modifying, then finally the value you wish to specify.
Take .NLAHL as an example. This parameter specifies the number of
blank lines to leave above the header line for a specific section
Chapter 2. DPS Operation 10
level. The level 1 value specifies what is used for .HL1, level 2
for .HL2, and so forth. Hence the style modification command
.NLAHL 1 4
means that you want 4 lines above the heading generated by a .HL1
command.
For the STANDARD style DPS places a page number at the bottom
center of the first page of a chapter and places a page heading
with a page number at the margin of subsequent pages of the
chapter. The .H1TEXT and .HXTEXT style parameters determine the
type of header printed. The .H1PN and .HXPN parameters determine
the type of page number for the heading. The .F1TEXT and .FXTEXT
parameters control the footer style and the .F1PN and .FXPN
parameters control the style of page number in the footer. The
.NLAH, .NLAF and .NLBH parameters control the spacing above and
below the header and footer.
The following numeric codes are used to define header and footer
styles: Headers are printed at the top of each page; footers are
printed at the bottom.
0 -- No text at all in the header or footer.
1 -- Standard style, showing current chapter and section. The
contents of the header or footer will vary depending on whether
single or double page mode is being used. In single page mode
(the default), the current chapter name is always left
justified in the header or footer. In double page mode, the
chapter name goes on the right end of the even pages and the
section name goes on the left end of the odd pages. Double
sided mode is described in Section 2.7.
2 -- Restrict text to name of the current chapter, omitting the
section name. In single sided mode this places the chapter
name on the left end. In double sided mode the chapter name is
on the right end of even pages and the left end of odd pages.
The following numeric codes are used to define page numbering
styles:
0 -- No page number at all.
1 -- Decimal value at end of line. For single side mode this is
always the left end. For double sided mode it alternates
sides.
2 -- Decimal value in the center of the line.
3 -- Roman numeric at end of line. For single side mode this is
always the left end. For double sided mode it alternates
sides.
Chapter 2. DPS Operation 11
4 -- Roman numeral in the center of the line.
2.5 Centering Text
Often you will want to center a single line of text in the midst of
normally formatted text. The .SCENTER command is used for this.
DPS will center the line which follows it, then return to normal
processing of input. For example, the input text file:
He wandered on through the forest, checking his compass
regularly to be sure that he was still heading toward
the general's house. About an hour after he stopped to
eat his sack lunch, he encountered a tree into which
a message had been carved:
.SCENTER
"The great man retains the childs mind"
He wondered, as he neared the house of the fierce military
leader, if the general had ever been exposed to Taoist
principles.
produces the output text:
He wandered on through the forest, checking his compass
regularly to be sure that he was still heading toward the
general's house. About an hour after he stopped to eat
his sack lunch, he encountered a tree into which a
message had been carved:
"The great man retains the childs mind"
He wondered, as he neared the house of the fierce
military leader, if the general had ever been exposed to
Taoist principles.
Sections of centered text can be begun with a .CENTER command and
finished with a .ENDCENTER command. Note that DPS does not fill
paragraphs while in center mode. Each line of the source file is
taken as a single line figure which is centered. Hence the input
file:
.CENTER
He wandered on through the forest, checking his compass
regularly to be sure that he was still heading toward
the general's house. About an hour after he stopped to
eat his sack lunch, he encountered a tree into which
a message had been carved:
"The great man retains the childs mind"
He wondered, as he neared the house of the fierce military
leader, if the general had ever been exposed to
Taoist principles.
.ENDCENTER
produces the following output file:
Chapter 2. DPS Operation 12
He wandered on through the forest, checking his compass
regularly to be sure that he was still heading toward
the general's house. About an hour after he stopped to
eat his sack lunch, he encountered a tree into which
a message had been carved:
"The great man retains the childs mind"
He wondered, as he neared the house of the fierce military
leader, if the general had ever been exposed to
Taoist principles.
2.6 Indentation
The margins imposed by the printer's ability to print on a piece of
paper has already been discussed. This is covered by the .WIDTH,
.LMARGIN, and .RMARGIN commands. All text, including formatted
text and figures, is placed within these boundaries. The default
width is 80 characters. The default margins are 6 characters each.
Thus the default area in which text can be printed is 68 columns.
The length of the paper can be specified using the .LENGTH command
whose default value is 58 lines.
Formatted text has left margins imposed by the style. The .LMFIRST
and .LMEXTRA commands specify the left margin for the first and
each subsequent line of a paragraph. Lists, which are described in
chapter 2.8, are given separate margins by the style commands
.LIST_IN1 and .LIST_INX.
The .HANG command can be used to create paragraphs with hanging
indentation. When a non-zero value is specified for the hanging
indentation DPS indents all lines of subsequents paragraphs by this
amount but leaves the first line of each paragraph unindented so it
is flush with the left margin. For example, the command
.HANG 5
causes all lines other than the first line of each subsequent
paragraph to be indented 5 spaces. Specify "HANG 0" to turn off
hanging indentation. See also the .DESCRIPTION command on page 14
for a similar facility for formatting lists with hanging
indentation.
A command which is similar to .HANG is .SQUEEZE. This causes
formatted text to be "squeezed" by the specified number of columns.
In other words, the command
.SQUEEZE 5
adds 5 to the left margin and subtracts 5 from the right margin.
This is useful for quotations and other material that should be
indented on both sides. Put the command ".SQUEEZE 0" at the end of
the material to terminate the squeeze condition.
Chapter 2. DPS Operation 13
2.7 Double Sided Printing
DPS has the ability to print double sided text. This format is
used when producing output which is to be bound. Double sided mode
has the following effects on the formatted document:
. The left and right margin values (.LMARGIN and .RMARGIN) are
reversed for even pages which normally appear on the left side
of a bound document. This means that the left margin value is
always used on the side of the page nearest to the binding.
For a bound document you may want to use a larger value for the
left margin to allow room for the space used by the binding.
. Blank pages are inserted as necessary to force chapters to
start on odd numbered pages.
. The standard heading is changed so that the the chapter name
goes on the right end of the even pages and the section name
goes on the left end of the odd pages.
Double sided printing mode is specified with either of these
commands:
.DSIDED
.DOUBLESIDED
If you wish to use double sided mode you should put one of these
commands at the front of your source document.
2.8 Lists
Lists are a special paragraph style used when describing a set of
things. Lists can contain sublists, and so forth, nested up to 9
levels deep. The current style determines the indentation of the
first and subsequent line of each list item, and also provides for
a "bullet" character at a given position to visually mark the start
of the next item.
There are three types of lists in DPS: regular lists, numbered
lists, and description lists. When you nest lists you can intermix
these types but each list, regardless of its type, counts against
the nesting limit of 9.
A regular list begins with the .LIST command and ends with the
.ENDLIST command. Each new element of the list is denoted with a
line that starts out with a .ITEM (or .LE) command, followed by the
text of the item. The text may be continued to subsequent lines if
it does not fit on a single line. (The .LE command is equivalent
to .ITEM). DPS performs formatting and justification of the text
of each list item. The following is an example of a list:
Chapter 2. DPS Operation 14
.LIST
.ITEM Shareware programs are an excellent value because you can
try a program to see if it suitable for your needs before you
buy it.
.ITEM Many shareware programs work as well as expensive
commercial products but cost much less to register.
.ITEM Shareware is very convenient because you can find
programs of interest on many bulletin boards and
download them without leaving your home.
.ENDLIST
This produces the following output:
. Shareware programs are an excellent value because you can try a
program to see if it suitable for your needs before you buy it.
. Many shareware programs work as well as expensive commercial
products but cost much less to register.
. Shareware is very convenient because you can find programs of
interest on many bulletin boards and download them without
leaving your home.
Each element of a regular list begins with a line containing the
"bullet" character. The default bullet character is a period but
you can use the .LIST_BULCHR command to set any desired character
as the bullet for any level of list nesting. Style elements
.LIST_IN1, .LIST_INX, and .LIST_BULPOS control the indentation of
the first line, indentation of subsequent lines, and bullet
position at each list nesting level.
Numbered lists are like regular lists except that the elements are
numbered instead of being marked with bullet characters. The same
style parameters, .LIST_IN1 and .LIST_INX control the indentation
for NLISTS but a separate style attribute, .NLIST_NUMPOS, controls
the column used for formatted the numbers. Numbered lists are
begun with the .NLIST command and ended with .ENDLIST. Each
element in the list is introduced with a .ITEM command. The
following is an example of a numeric list specification:
.NLIST
.ITEM Insert the disk in either drive A or B.
.ITEM Type "MD \DPS"
.ITEM Type "CD \DPS"
.ITEM TYPE "COPY *.*"
.ENDLIST
Description lists are used when you want the indentation, not a
bullet or number, to mark the beginning of the list element. With
a description list the first line of each item is not indented but
subsequent lines are. This causes the first line of each item
stand out. Description lists are begun with the .DESCRIPTION
command and ended with .ENDLIST. The indentation for the first
line of a description list element is controlled by the style
Chapter 2. DPS Operation 15
attribute .DESC_IN1, which is specified for each nesting level.
Indentation of subsequent lines is controlled by .DESC_INX.
List items may have multiple paragraphs. Only the first line of
each item is marked or numbered.
The following is an example of a description list definiton:
.DESCRIPTION
.ITEM TSX-32 -- Multi-user operating system that is very
powerful and runs on 386 and 486 computers. Some TSX
sites support over 150 terminals on a single computer.
.ITEM Mathplot -- Mathematical function plotting program.
Excellent program for visualizing mathematical
functions. Enter a function using normal algebraic
notation and it is immediately graphed.
.ITEM Nonlin -- Linear and nonlinear statistical
regression analysis and curve fitting. Nonlin determines
the values of parameters for a function that cause the
function to best fit a set of data values.
.ENDLIST
The output produced by these commands is shown below:
TSX-32 -- Multi-user operating system that is very powerful and
runs on 386 and 486 computers. Some TSX sites support over 150
terminals on a single computer.
Mathplot -- Mathematical function plotting program. Excellent
program for visualizing mathematical functions. Enter a
function using normal algebraic notation and it is immediately
graphed.
Nonlin -- Linear and nonlinear statistical regression analysis and
curve fitting. Nonlin determines the values of parameters for
a function that cause the function to best fit a set of data
values.
2.9 Blank Lines and Page Ejects
DPS advances to the next page of the document when the current page
is filled up. However, there are various circumstances when DPS
checks to see if it should go ahead and start a new page before the
current one is completely full.
DPS will always start a new page at the beginning of a new chapter.
The beginning of each section within the chapter forces DPS to
consider whether enough space on the page remains to begin it.
This prevents a section header appearing by itself at the bottom of
the page, or with very few lines of text. Styles control the
minimum number of lines on a page for each nested section level,
using the .SLMLOP command.
Chapter 2. DPS Operation 16
In addition to checking for a minimum number of available lines
before starting a section, DPS also checks for a minimum number of
lines before starting a new paragraph. The default number of lines
that must be available for starting a new paragraph is 2, but you
can change this value by use of the .MLOP command. The .BLBP style
parameter controls the number of blank lines between paragraphs.
The default value is 1.
Since figures must all fit on a page, DPS may also prematurely
eject the page to fit the figure on the next page.
You can force DPS to be sure that a certain number of lines appear
on a page if you don't want certain text to be broken across pages
by using the .NEED command. For example,
.NEED 12
asks DPS to be sure that at least 12 lines remain on the current
output page. If fewer than 12 lines remain, a new page is started.
A more forcible command is .PAGE, which tells DPS to begin a new
page if there is any text at all on the current one.
To finish the subject of blank lines and page ejection we have the
commands .SPACE and .FSPACE. First consider the command:
.SPACE 5
In normal text mode, this command tells DPS to finish the current
paragraph and check to see how close to the end of the page it is.
The next paragraph will begin 5 lines down on the current page if
there is enough room. If there is not, it will begin at the top of
the next page.
A related command is .FSPACE. The command
.FSPACE 5
means that you want 5 blank lines to preceed the next paragraph,
even if the space must be placed at the top of the next page. This
could be used to leave space for a figure or clip art.
Note that when in figure or centered mode, .SPACE acts like
.FSPACE.
Chapter 2. DPS Operation 17
2.10 Page and Section References
It is often necessary, especially in technical documentation, to
refer the reader to other sections of the document for further
information on a particular subject. We have done this in this
manual when we say things like "Lists are described in Section 2.8
on page 13". The author did not count sections and determine that
Section 2.8 documents lists. This would make a document tedious to
maintain because insertion of new material would change all the
numbers. Instead, the text used the \REF within line command:
Lists are described in Section \ref{lists}.
When DPS encounters a \REF{name} command it looks up the label name
enclosed in braces and determines the chapter and section where the
label was defined. It then replaces the \REF command with the
corresponding chapter or section number.
A similar command is \PAGEREF. This command causes the page number
where a label was defined to be inserted in the text. For example,
the text
See page \pageref{lists} for more information about lists.
produces the output: See page 13 for more information about lists.
In order for DPS to be able to locate the page, chapter, or section
to which you are referring, both \REF and \PAGEREF commands take a
string argument, enclosed in braces. This descriptive name must
have a corresponding .LABEL command located near the text to which
you are referring. .LABEL commands for chapters and sections
should usually immediately follow the .CHAPTER or .HLn commands
that start the chapter or section. However, you can place .LABEL
commands deep within sections when you want to define a label to be
used as a page reference. The following is an example .LABEL
command that defines a label named 'intro': .figure .LABEL INTRO
.endfigure
DPS is a multi-pass processor so you can use \ref and \pageref
commands to refer to labels that are defined after the reference
point.
2.11 Table of Contents
DPS will automatically produce a table of contents for your
document showing chapter and section numbers and pages. This
information is determined by DPS from the .CHAPTER and .HLn
commands.
To allow you to have heading pages in front of the table of
contents, you must insert a .TOC command in your source file at the
point where you want the table of contents generated. If you do
not use a .TOC command no table of contents will be generated.
Chapter 2. DPS Operation 18
See Section 2.14 for information about specifying a different
phrase than "Table of Contents" for non-English documents.
2.12 Index Entries
An index is a valuable part of any large document. If you write
technical manuals, try to bear in mind that your readers will not
always read your document from cover to cover, or even an entire
chapter, when they are searching for a particular fact. Having an
index that can be used to rapidly locate topics greatly enhances
the value of a manual.
Index entries are generated by the .X command. You should place
the .X command on a line immediately preceeding the text you are
referring to, as shown in the following example:
.X Record length
The maximum record length is 256 characters,
but records are normally...
Index entries can have both a main topic and a subtopic. To do
this separate the main topic entry from the subtopic by a semicolon
as shown by the following example:
.X File;Input
.X File;Output
.X File;Opening
See Section 2.14 for information about specifying a different word
than "Index" for non-English documents.
2.13 Including External Files
The .INCLUDE command causes a file to be inserted in the document
at the point where the .INCLUDE command occurs. The form of the
.INCLUDE command is
.INCLUDE filename
where 'filename' is the name of the file to be inserted. If no
extension is specified with the file name, ".DPS" is used by
default. For example, the following command causes a file named
"STDTERMS.DPS" to be inserted in the document:
.INCLUDE STDTERMS
The .INCLUDE command is especially useful for large documents which
can be maintained as separate section files and then combined when
the document is formatted. You can also use this command to insert
standard "boiler plate" material or style definitions. Include
files may contain other .INCLUDE commands (i.e., they may be
nested).
Chapter 2. DPS Operation 19
2.14 Foreign Language Support
Although DPS was written by programmers who speak English, it is
suitable for formatting documents written in other languages. DPS
accepts and processes extended (8 bit) ASCII characters making it
possible to write documents with accented characters or characters
that are not part of the standard Roman ASCII character set. In
addition, three commands are provided to allow you to specify the
words or phrases that DPS is to print for the following labels: (1)
"Chapter"; (2) "Table of Contents"; and (3) "Index". These
commands are
.WORDCHAPTER string -- String for "Chapter" word.
.WORDTOC string -- String for "Table of Contents".
.WORDINDEX string -- String for "Index" word.
Chapter 3
Command Reference
This chapter contains an alphabetical list of the DPS commands
divided into three sections: between line, within line, and style
modification.
3.1 Between Line Commands
.BLCMD character -- Specifies a new introducer character for
between line commands. The default character is period.
.CENTER -- Causes each line of text between this command and the
corresponding .ENDCENTER command to be centered on the page.
The contents of each line is preserved (i.e., words are not
moved between lines).
.CHAPTER title -- Begins a new chapter. The title string is
printed as the chapter heading and used in the table of
contents. DPS starts each chapter on a new page. If double
sided printing is in effect (see the .DSIDE command) then a
blank page is ejected if needed to start the chapter on an odd
page number.
.DESCRIPTION -- Begins a description type list. The first line of
each item in the list is not indented but other lines are
indented. The list is terminated by a .ENDLIST command.
.DSIDE -- Specifies that the document will be printed on both sides
of the paper. If this is wanted the .DSIDE command should
appear at the front of the document. Double sided mode has the
following effects:
. The left and right margin values (.LMARGIN and .RMARGIN)
are reversed for even pages which normally appear on the
left side of a bound document. This means that the left
margin value is always used on the side of the page nearest
to the binding. For a bound document you may want to use a
larger value for the left margin to allow room for the
space used by the binding.
. Blank pages are inserted as necessary to force chapters to
start on odd numbered pages.
20
Chapter 3. Command Reference 21
. The standard heading is changed so that the the chapter
name goes on the right end of the even pages and the
section name goes on the left end of the odd pages.
.ENDCENTER -- Ends centered mode that was started with a .CENTER
command.
.ENDFIGURE -- Ends figure mode that was started with a .FIGURE
command.
.ENDLIST -- Ends list mode that was started with a .LIST, .NLIST,
or .DESCRIPTION command.
.ENDVERBATIM -- Ends verbatim mode that was started with a
.VERBATIM command.
.FIGURE -- Begins figure mode. Use the .ENDFIGURE command to
terminate figure mode. No formatting takes place in figure
mode and within line commands are not recognized. You may use
the .FINDENT command to cause figures to be indented.
.FSPACE number -- Forces the specified number of blank lines to be
skipped over.
.HANG number -- Specifies that the following paragraphs are to have
hanging indentation. The first line of the paragraph is not
indented but all other lines are indented the specified number
of spaces.
.HLn text -- Specify the heading for a section. The 'n' character
in .HLn should be replaced with a digit. .HL1 specifies the
heading for the highest section level (below a chapter), .HL2
specifies the heading for a sub-section, .HL3 for a
sub-sub-section, etc. The text string specified following .HLn
is used as the heading for the section and also appears in the
table of contents.
.INCLUDE file -- Causes the specified file to be inserted in the
document at the location of the .INCLUDE command. This is
useful for large documents that can be maintained as separate
sections but combined into a single formatted listing. You can
also use .INCLUDE to insert common style descriptions that you
may want to use in multiple documents. If no extension is
specified with the file name, ".DPS" is used by default.
Include files may be nested.
.ITEM text -- Specifies an item of a list. This can be used in the
range of .LIST, .NLIST, and .DESCRIPTION. The text that begins
on the command line may be continued to subsequent lines.
.LABEL name -- Defines a label that may be referenced by the
\ref{name} and \pageref{name} within line commands.
.LE text -- Equivalent to .ITEM. Specifies an item of a list.
Chapter 3. Command Reference 22
.LENGTH number -- Specifies the number of lines to be printed on
each page.
.LIST -- Begins a list whose items are marked by "bullet"
characters. The default bullet character is the period but you
may use the .LIST_BULCHR command to specify a different bullet
character. The list is terminated by a .ENDLIST command.
.LMARGIN number -- Specifies the number of spaces to use for the
left margin of the page. The default value is 6.
.NEED number -- Causes DPS to check to see if there are at least as
many lines remaining on the page as the specified value. If
there are not, the current page is ejected and the text that
follows is printed at the top of the next page.
.NLIST -- Begins a numbered list. Each item in the list is
numbered. The list is terminated by a .ENDLIST command.
.PAGE -- Forces a page eject at the current point.
.RMARGIN number -- Specifies the number of spaces to use for the
right margin of the page. The default value is 6.
.SCENTER -- Causes the next single line to be centered. Normal
text formating mode resumes after the following line.
.SPACE number -- If at least the specified number of lines remain
on the current page they are skipped over and left blank. If
fewer than the specified number of lines remain, the current
page is ejected and printing resumes at the top of the next
page. See also the .FSPACE command.
.SQUEEZE number -- Causes the following text to be indented the
specified number of spaces on both the left and right sides.
Specify ".SQUEEZE 0" to cancel squeeze mode.
.STYLE name -- Selects a specified style for the text that follows.
If the name matches a style that has already been defined then
that style is resumed and any style parameters that were
specified for it continue in effect. If the style name has not
been previously used then a new style definition is begun. New
styles are initialized to the parameters for the STANDARD
style.
.TOC -- Causes the table of contents to be generated at this point
in the document.
.VERBATIM -- Begins verbatim mode. In verbatim mode no formatting
is done and words are not moved between lines. Verbatim mode
is similar to figure mode but the text is not required to fit
on a single page. Verbatim mode is terminated by a
.ENDVERBATIM command.
Chapter 3. Command Reference 23
.WIDTH number -- Specifies the page width. The actual area that
the document text is printed in is equal to the page width
minus the left and right margins. The default width is 80.
.WLCMD character -- Specifies a new introducer character for within
line commands. The default character is '\'.
.WORDCHAPTER string -- Specifies the string to be printed in a
chapter heading where the word "Chapter" normally appears.
.WORDINDEX string -- Specifies the string to be printed in the
index heading where the word "Index" normally appears.
.WORDTOC string -- Specifies the string to be printed in the table
of contents heading where "Table of Contents" normally appears.
.X item1[;item2] -- Defines an entry to go in the index. If you
want a two level entry specify the primary index phrase
followed by a semicolon and the secondary phrase.
3.2 Within Line Commands
The following commands may appear within the body of your text.
They are not recognized in figure or verbatim mode. You can use
the .WLCMD command to change the introducer character.
\PAGEREF{name} -- When this command is encountered in your document
it is replaced by the page number where the specified label
name was defined. The "name" must be defined somewhere in your
document by use of the .LABEL command (see Section 2.10 on page
17).
\REF{name} -- When this command is encountered it is replaced by
the chapter or section number where the label was defined by
use of a .LABEL command. If the label was defined after a
.CHAPTER command but before any .HLn command then the number
will be an integer that corresponds to the chapter number. If
the label was defined after a .HLn command then a section
number of the form 'n.m.i' will be inserted.
3.3 Style Parameter Commands
The following commands set parameters for the currently selected
style. You choose a style by using the .STYLE command. If you
change some parameters for a style, select another style, and then
reselect the first style, the changed parameters are remembered.
See Section 2.4 starting on page 8 for additional information about
styles.
.BLBP number -- Specifies the number of blank lines that DPS should
insert between paragraphs. The default value is 1.
Chapter 3. Command Reference 24
.CHAPHEAD number -- Specifies whether a chapter heading is to be
printed on the first page of a chapter. A chapter heading
consists of some blank lines, a line such as "Chapter nn", and
the chapter title line. Specify 1 to enable chapter headings
or 0 to disable them. The STANDARD style has chapter headings
enabled, the REPORT, LETTER, and PLAIN styles default chapter
headings off.
.DESC_IN1 level amt -- Amount to indent the text on the first line
of each paragraph within a description type list. The 'level'
number specifies the list nesting level; 0 corresponds to a
list that is not within another list. The 'amt' number
specifies the number of spaces to indent. By default, an
unnested list (level 0) is indented 0 spaces and each deeper
level of nesting is indented an additional 4 spaces.
.DESC_INX level amt -- Amount to indent the text on all lines other
than the first line of each paragraph within a description type
list. The 'level' number specifies the list nesting level; 0
corresponds to a list that is not within another list. The
'amt' number specifies the number of spaces to indent. By
default, an unnested list (level 0) is indented 4 spaces and
each deeper level of nesting is indented an additional 4
spaces.
.F1PN number -- Type of page number to print in the footer line of
first page of a chapter. 0 = no number, 1 = decimal page
number at right end of line or alternating left/right for
double sided, 2 = decimal number in center of line, 3 = decimal
number at right end of line, 4 = roman numberal centered in
line. The default value is 2 for STANDARD and REPORT styles
and 0 for the other styles.
.F1TEXT number -- Type of footer to be printed on the first page of
a chapter. Specify 0 for no footer, 1 for the chapter name, or
2 for the section name. The default is 0.
.FINDENT number -- Specifies the number of characters that figures
are to be indented from the left margin. The default value is
0.
.FXPN number -- Type of page number to print in footer lines of
pages after the first page of a chapter. 0 = no number, 1 =
decimal page number at right end of line or alternating
left/right for double sided, 2 = decimal number in center of
line, 3 = decimal number at right end of line, 4 = roman
numberal centered in line. The default value is 2 for REPORT
style and 0 for all other styles.
.FXTEXT number -- Type of footer to be printed on pages after the
first page of a chapter. Specify 0 for no footer, 1 for the
chapter name, or 2 for the section name. The default is 0.
.H1PN number -- Type of page number to print in the heading line of
the first page of a chapter. 0 = no number, 1 = decimal page
Chapter 3. Command Reference 25
number at right end of line or alternating left/right for
double sided, 2 = decimal number in center of line, 3 = decimal
number at right end of line, 4 = roman numberal centered in
line. The default value is 0.
.H1TEXT number -- Type of header to be printed on the first page of
a chapter. Specify 0 for no header, 1 for the chapter name, or
2 for the section name. The default is 0.
.HXPN number -- Type of page number to print in heading line of
pages after the first page of a chapter. 0 = no number, 1 =
decimal page number at right end of line or alternating
left/right for double sided, 2 = decimal number in center of
line, 3 = decimal number at right end of line, 4 = roman
numberal centered in line. The default value is 1 for STANDARD
style and 0 for all other styles.
.HXTEXT number -- Type of header to be printed on pages after the
first page of a chapter. Specify 0 for no header, 1 for the
chapter name, or 2 for the section name. The default is 2 for
STANDARD style and 0 for PLAIN, LETTER, and REPORT styles.
.INDENT level amt -- Amount to indent text based on the section
level. The 'level' number is in the range 1 to 9 and
corresponds to a section level as specified by the .HLn command
(see Section 2.3 on page 6). All text at the specified section
level is indented the number of spaces specified by the 'amt'
number. The default value for all section levels is 0.
.JUSTIFY number -- Specify if DPS is to add spaces to lines to
cause the right margin to be justified (flush). Specify 1 to
enable right margin justification; specify 0 for a ragged right
margin. The .NOJUSTIFY command is equivalent to ".JUSTIFY 0".
The default value is 0 for LETTER style and 1 for all other
styles.
.LIST_BULCHR level char -- Specify the character that is to be used
as the "bullet" marker character for each item of a list. The
'level' number specifies the list nesting level: 0 corresponds
to a list that is not within another list. The 'char' item
must be a single character. The default bullet character is a
period.
.LIST_BULPOS level amt -- Number of characters to indent the bullet
character for each item of a list. The 'level' number
specifies the list nesting level: 0 corresponds to a list that
is not within another list. The 'amt' number specifies the
number of characters to indent the bullet for the specified
level. The default value is 2 for an unnested list and 4
additional characters for each level of nesting.
.LIST_IN1 level amt -- Amount to indent the text on the first line
of each item within a list. The bullet character, or number in
the case of a .NLIST, is indented less so that it hangs out to
the left of the text. The 'level' number specifies the list
Chapter 3. Command Reference 26
nesting level: 0 corresponds to a list that is not within
another list. The 'amt' number specifies the number of spaces
to indent. By default, an unnested list (level 0) is indented
4 spaces and each deeper level of nesting is indented an
additional 4 spaces.
.LIST_INX level amt -- Amount to indent the text on all lines other
than the first line of each item within a list. The 'level'
number specifies the list nesting level: 0 corresponds to a
list that is not within another list. The 'amt' number
specifies the number of spaces to indent. By default, an
unnested list (level 0) is indented 4 spaces and each deeper
level of nesting is indented an additional 4 spaces.
.LIST_NUMPOS level amt -- Number of characters to indent the number
for each item of a .NLIST (numbered) type list. The 'level'
number specifies the list nesting level: 0 corresponds to a
list that is not within another list. The 'amt' number
specifies the number of characters to indent the number for the
specified level. The default value is 0 for an unnested list
and 4 additional characters for each level of nesting.
.LMEXTRA number -- Specify the number of characters to indent all
lines of a paragraph after the first line. See also the
description of the .HANG command. If both .LMEXTRA and .HANG
are specified, their values are added to determine the
indentation amount. The default value for .LMEXTRA is 0.
.LMFIRST number -- Specify the number of characters to indent the
first line of each paragraph. The default value is 0.
.MLOP number -- Specify the minimum number of lines that must
remain on a page for a new paragraph to be started on the page.
If fewer than this many lines remain on the page the page is
ejected and the paragraph begins at the top of the next page.
This prevents "orphan" lines where you have only the first line
of a paragraph at the bottom of a page. The default value is
2.
.NLAF number -- Number of blank lines to leave between the last
text line on a page and the footer line. The default value is
2.
.NLAH number -- Number of blank lines to leave above the header
line at the top of each page. The default value is 0.
.NLAHL level lines -- Number of blank lines to leave above a
section header. These blank lines separate a new section from
the previous section. The 'level' number is in the range 0 to
9 and corresponds to the section heading level specified by the
.HLn command (see page 21). The special section number 0 can
be used to specify the number of blank lines to put before the
chapter heading. The 'lines' number is the number of lines to
be set for this section level number. The default value is 5
Chapter 3. Command Reference 27
lines for section 0 (chapter header), 2 lines for section 1,
and 1 line for all other section levels.
.NLBH number -- Number of blank lines to leave between the header
line at the top of each page and the first line of text on the
page. The default value is 2.
.SLMLOP level amt -- Minimum number of lines that must be available
on a page for DPS to start the section on the page. If fewer
lines are available DPS ejects the current page and starts the
section at the top of the next page. The 'level' number is in
the range 1 to 9 and corresponds to a section level as
specified by the .HLn command (see Section 2.3 on page 6). The
'amt' number is the minimum number of lines that must be
available.
Chapter 4
Use And Distribution of DPS
You are welcome to make copies of this program and pass them on to
friends or post this program on bulletin boards or distribute it
via disk catalog services provided the entire DPS distribution is
included in its original, unmodified form. A distribution fee may
be charged for the cost of the diskette, shipping and handling.
However, DPS may not be sold, or incorporated in another product
that is sold, without the permission of the authors. However,
permission is granted to include DPS as part of "shareware
collections" that are sold on CD ROM's. Vendors are encouraged to
contact the authors to get the most recent version of DPS.
As a shareware product, you are granted a no-cost, trial period of
30 days during which you may evaluate DPS. If you find DPS to be
useful, educational, and/or entertaining, and continue to use it
beyond the 30 day trial period, you are required to compensate the
authors by sending the registration form printed at the end of this
document (and in REGISTER.DOC) with the appropriate registration
fee to help cover the development and support of DPS.
In return for registering, you will be authorized to continue using
DPS beyond the trial period and you will receive a registered
version of DPS which does not display the shareware message and
pause. You will also receive a laser-printed, bound manual, and
three months of support via telephone, mail, or CompuServe. Your
registration fee will be refunded if you encounter a serious bug
that cannot be corrected.
You are welcome to contact the authors:
Phillip H. Sherrod
4410 Gerald Place
Nashville, TN 37205-3806 USA
615-292-2881 (evenings)
CompuServe: 76166,2640
Internet: 76166.2640@compuserve.com
Dan Cappannari
CCI Computing, Inc.
P.O. Box 210963
Nashville TN 37221
28
Chapter 4. Use And Distribution of DPS 29
Both the DPS program and documentation are copyright (c) 1993 by
Phillip H. Sherrod and Daniel J. Cappannari. You are not
authorized to modify the program or documentation.
This program is produced by a member of the Association of
Shareware Professionals (ASP). ASP wants to make sure that the
shareware principle works for you. If you are unable to resolve a
shareware-related problem with an ASP member by contacting the
member directly, ASP may be able to help. The ASP Ombudsman can
help you resolve a dispute or problem with an ASP member, but does
not provide technical support for members' products. Please write
to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442 or send
a CompuServe message via CompuServe Mail to ASP Ombudsman
7007,3536.
4.1 Disclaimer
DPS is provided "as is" without warranty of any kind, either
expressed or implied. This program may contain "bugs". The
authors assume no responsibility for the use of DPS and will not be
responsible for any damage resulting from its use.
Chapter 5
Other Software
If you like DPS, you should check out the following programs.
5.1 Mathplot -- Mathematical Function Plotting Program
Mathplot allows you to specify complicated mathematical functions
using ordinary algebraic expressions and immediately plot them.
Four types of functions may be specified: cartesian (Y=f(X));
parametric cartesian (Y=f(T) and X=f(T)); polar (Radius=f(Angle));
and parametric polar (Radius=f(T) and Angle=f(T)). Up to four
functions may be plotted simultaneously. Scaling is automatic.
Options are available to control axis display and labeling as well
as grid lines. Hard copy output may be generated as well as screen
display. Mathplot is an ideal tool for engineers, scientists, math
and science teachers, and anyone else who needs to quickly
visualize mathematical functions.
5.2 Nonlin -- Linear & Nonlinear Statistical Regression
Nonlin performs linear and nonlinear statistical regression
analysis. What is regression analysis? Regression analysis is a
mathematical technique for determining the best values of
parameters to fit an equation to a set of data points. For
example, you might want to develop an equation of the form
price = p0 + p1*age + p2*miles
to predict the price of a used car based on its age and the number
of miles driven. With Nonlin you can collect data from car ads and
then perform the analysis using the following set of commands:
VARIABLES PRICE,AGE,MILES
PARAMETERS P0,P1,P2
FUNCTION PRICE = P0 + P1*AGE + P2*MILES
DATA
Nonlin will analyze the data and determine the best values of the
parameters P0, P1, and P2 to fit the data values.
Ordinary linear regression programs can only determine parameter
values for linear (straight line) equations. Nonlin, on the other
hand, can handle multivariate, linear, polynomial, and general
30
Chapter 5. Other Software 31
nonlinear equations. For example, using Nonlin you can easily
determine the best values for the parameters Offset, Amplitude, and
Frequency for an equation of the form:
Y = Offset + Amplitude * sin(Frequency * X)
Nonlin uses the same expression evaluator as Mathplot so you can
model complicated equations using the full set of operators and
library functions available in Mathplot.
Nonlin comes with a 48 page manual that explains regression
analysis and gives many examples. Nonlin is in use at many
universities and research labs around the world.
5.3 TSX-32 -- Multi-User Operating System
If you have a need for a multi-user, multi-tasking operating
system, you should look into TSX-32. TSX-32 is a full-featured,
high performance, multi-user operating system for the 386 and 486
that provides both 32-bit and 16-bit program support. With
facilities such as multitasking and multisessions, networking,
virtual memory, X-Windows, background batch queues, data caching,
file access control, real-time, and dial-in support, TSX-32
provides a solid environment for a wide range of applications.
A two user, shareware version of TSX-32 called TSX-Lite is also
available.
TSX-32 is not a limited, 16-bit, multi-DOS add-on. Rather, it is a
complete 32-bit operating system which makes full use of the
hardware's potential, including protected mode execution, virtual
memory, and demand paging. TSX-32 sites range from small systems
with 2-3 terminals to large installations with more than 100
terminals on a single 486.
In addition to supporting most popular 16-bit DOS programs, TSX-32
also provides a 32-bit "flat" address space with both Phar Lap and
DPMI compatible modes of execution.
Since the DOS file structure is standard for TSX-32, you can
directly read and write DOS disks. And, you can run DOS part of
the time and TSX-32 the rest of the time on the same computer.
TSX-32 allows each user to control up to 10 sessions. Programs can
also "fork" subtasks for multi-threaded applications. The patented
Adaptive Scheduling Algorithm provides consistently good response
time under varying conditions.
The TSX-32 network option provides industry standard TCP/IP
networking through Ethernet and serial lines. Programs can access
files on remote machines as easily as on their own machine. The
SET HOST command allows a user on one machine to log onto another
computer in the network. FTP, Telnet, and NFS are available for
interoperability with other systems.
Chapter 5. Other Software 32
System requirements: 386 or 486 system, 4MB memory, 12MB of free
disk space (Stacker and DoubleSpace are not supported).
TSX-32 is, quite simply, the best and most powerful operating
system available for the 386 and 486. For additional information
contact:
S&H Computer Systems, Inc.
1027 17th Avenue South
Nashville, TN 37212 USA
615-327-3670 (voice)
615-321-5929 (fax)
CompuServe: 71333,27
Internet: 71333.27@compuserve.com
===============================================================
Software Order Form
===============================================================
Name ______________________________________________________
Address ___________________________________________________
City _______________________ State _______ Zip ___________
Country ____________________ Telephone ___________________
CompuServe account (optional) _____________________________
DPS version _______________________________________________
Bulletin board where you found DPS ________________________
Comments __________________________________________________
Check the boxes which indicate your order type:
___ I wish to register DPS ($25).
___ I wish to order Mathplot ($20).
___ I wish to order Nonlin ($25)
Add $5 to the total amount of the order if the software is being
shipped out of the United States. I cannot accept checks from
non-US banks. Visa, MasterCard and American Express credit card
charges are accepted but a check, money order, or cash is
preferred. If you wish to use a credit card specify the billing
name, address, card number, and expiration date.
In return for registering, you will receive the most recent version
of the program, a laser-printed, bound copy of the manual, and
three months of telephone or CompuServe support. Your registration
fee will be refunded if you find a serious bug that cannot be
corrected.
Distribution disk choice (check one):
3.50" HD (1.4 MB) ______
5.25" HD (1.2 MB) ______
5.25" DD (360 KB) ______
Send this form with the amount indicated to the author:
Phillip H. Sherrod
4410 Gerald Place
Nashville, TN 37205-3806 USA
615-292-2881 (evenings)
CompuServe: 76166,2640
Internet: 76166.2640@compuserve.com
Index 34
ASP, 29 HANG command, 12, 21
Between line commands, 3, 20 Headers, 10
Blank lines, 15 lines above, 26
BLBP command, 16, 23 lines below, 27
BLCMD command, 3, 20 page number, 24, 25
Bullet character, 14, 25 style of, 10, 25
Bullet position, 14 HLn command, 6, 21
Cappannari, Dan, 28 HXPN command, 10, 25
CENTER command, 11, 20 HXTEXT command, 10, 25
centering figures, 4 INCLUDE command, 2, 18, 21
Centering text, 11 INDENT command, 25
CHAPHEAD command, 24 Index, 18
CHAPTER command, 6, 20 Input File, 2
Chapter keyword, 19 Internet, 32
Chapters, 6 ITEM command, 13, 21
Command syntax, 3 JUSTIFY command, 8, 25
CompuServe, 32 LABEL command, 17, 21
Copyright notice, 28 Labels, 17
Cross references, 17 LE command, 13, 21
Curve fitting, 30 LENGTH command, 6, 22
DESCRIPTION command, 13, 14, LIST command, 13, 22
20 Lists, 13
DESC_IN1 command, 14, 24 Description, 14
DESC_INX command, 14, 24 Numbered, 14
Disclaimer, 29 Regular, 13
Double sided printing, 13, 20 LIST_BULCHR command, 14, 25
DOUBLESIDED command, 13 LIST_BULPOS command, 14, 25
DPMI support, 31 LIST_IN1 command, 12, 14, 25
DSIDE command, 20 LIST_INX command, 12, 14, 26
DSIDED command, 13 LIST_NUMPOS command, 26
Ejecting pages, 15 LMARGIN command, 6, 22
ENDCENTER command, 11, 21 LMEXTRA command, 8, 12, 26
ENDDESCRIPTION command, 13 LMFIRST command, 12, 26
ENDFIGURE command, 21 Margins, 12
ENDLIST command, 13, 21 Mathplot, 30
ENDVERBATIM command, 21 MLOP command, 16, 26
F1PN command, 10, 24 Mode
F1TEXT command, 10, 24 figure, 4
FIGURE command, 4, 21 text, 4
Figure mode, 4 verbatim, 5
File Multi-user operating system,
Input, 2 31
FINDENT command, 24 NEED command, 16, 22
Flush right margin, 25 Networking, 31
Footer, 10 NLAF command, 10, 26
Footers NLAH command, 10, 26
lines above, 26 NLAHL command, 9, 26
page number, 24 NLBH command, 10, 27
style of, 10, 24 NLIST command, 14, 22
Foreign language support, 19 NLIST_NUMPOS command, 14
FSPACE command, 16, 21 NOJUSTIFY command, 25
FXPN command, 10, 24 Nonlin, 30
FXTEXT command, 10, 24 Nonlinear regression, 30
H1PN command, 10, 24 Numbered lists, 14
H1TEXT command, 10, 25 Order form, 33
Index 35
PAGE command, 16, 22
Page Layout, 6, 12, 15
Page number
in footer, 24
in header, 24, 25
style codes, 10
PAGEREF command, 17, 23
Ragged right margin, 25
REF command, 17, 23
Registering DPS, 28
Registration form, 33
Regression analysis, 30
RMARGIN command, 6, 22
S&H Computer Systems, Inc.,
32
SCENTER command, 11, 22
Sections, 6
blank lines between, 26
minimum lines remaining,
15, 27
Sherrod, Phillip H., 28
SLMLOP command, 15, 27
SPACE command, 16, 22
SQUEEZE command, 12, 22
STYLE command, 22
Styles, 8
Table of contents, 17
TCP/IP, 31
Text mode, 4
TOC command, 17, 22
TSX-32, 31
TSX-Lite, 31
VERBATIM command, 5, 22
Verbatim mode, 5
Warranty, 29
WIDTH command, 6, 23
Within line commands, 3, 23
WLCMD command, 4, 23
WORDCHAPTER command, 19, 23
WORDINDEX command, 19, 23
WORDTOC command, 19, 23
X command, 18, 23