Trailing-Edge - PDP-10 Archives - decuslib20-08 - decus/20-0178/wpsim.rnd
There is 1 other file named wpsim.rnd in the archive. Click here to see a list.
.title WPSIM - A Word Processor Simulation Editor
.c;WPSIM - A Word Processor Simulation Editor
.c;November 1983
.s1.c;Written by:
.s1.c;Douglas Bigelow
.c;Wesleyan Computing Center
.c;Wesleyan University
.c;Middletown, CT  06457
.hl 1 Table of contents
1.0     TABLE OF CONTENTS  . . . . . . . . . . . . . . . . . 2
2.0     INTRODUCTION . . . . . . . . . . . . . . . . . . . . 3
3.0     BASIC DOCUMENT CREATION  . . . . . . . . . . . . . . 3
3.1       Terminals Supported By WPSIM . . . . . . . . . . . 3
3.2       Creating A Document  . . . . . . . . . . . . . . . 3
3.3       Editing A Document . . . . . . . . . . . . . . . . 4
3.4       Using WPSIM As Your Primary Editor . . . . . . . . 4
3.5       Using Pre-defined Forms  . . . . . . . . . . . . . 5
3.6       Control Characters . . . . . . . . . . . . . . . . 5
3.7       Numeric Command Arguments  . . . . . . . . . . . . 5
4.0     BASIC TEXT MANIPULATION COMMANDS . . . . . . . . . . 5
4.1       String Search And Replacement Commands . . . . . . 6
4.2       Cursor Positioning Commands  . . . . . . . . . . . 6
4.3       Text Deletion Commands . . . . . . . . . . . . . . 7
4.4       Insertion Commands . . . . . . . . . . . . . . . . 8
4.5       Special Tabs . . . . . . . . . . . . . . . . . . . 9
4.6       Moving Text  . . . . . . . . . . . . . . . . . . . 9
4.7       Double Spacing . . . . . . . . . . . . . . . . .  10
4.8       Evening Out The Text Lines . . . . . . . . . . .  10
4.9       Pagination . . . . . . . . . . . . . . . . . . .  11
4.10      Setting And Removing Tab Positions . . . . . . .  12
4.11      Changing Margin Settings . . . . . . . . . . . .  13
4.12      Dynamically Adjusting Margin Settings  . . . . .  13
4.13      Showing Current Tab And Margin Settings  . . . .  13
4.14      Changing Scrolling Value . . . . . . . . . . . .  13
4.15      Centering Text . . . . . . . . . . . . . . . . .  13
4.16      Making Text Flush Right  . . . . . . . . . . . .  14
4.17      Joining Two Lines  . . . . . . . . . . . . . . .  14
4.18      Interactive Program Help . . . . . . . . . . . .  14
4.19      Inserting A New Input File . . . . . . . . . . .  14
5.0     CHANGING SPECIAL SYSTEM PARAMETERS . . . . . . . .  15
5.1       WPSIM INI Files  . . . . . . . . . . . . . . . .  17
5.2       Special Functions  . . . . . . . . . . . . . . .  17
5.3       Special Print Options  . . . . . . . . . . . . .  18
6.0     DISASTER RECOVERY  . . . . . . . . . . . . . . . .  19
7.0     OUTPUT FILE OPTIONS  . . . . . . . . . . . . . . .  20
8.0     USING WPFORMAT TO FORMAT WPSIM TEXT  . . . . . . .  21
9.0     COMMAND SUMMARY  . . . . . . . . . . . . . . . . .  23
.hl 1 Introduction
        WPSIM is a program designed to provide the basic facilities of
a word processor while running on a DECSYSTEM-20.  WPSIM is designed for
the person who wants to produce a document, memo or letter quickly, easily
and without fuss, while producing output that is neat and well formatted.
WPSIM requires little knowledge of computers, text editors or formatting
programs -- just type your material.  You don't even have to bother
with carriage returns, since the program will automatically insert them
at the proper breaking point on the line.
        The primary design goal of WPSIM was a product that could quickly
and easily produce well formatted documents.  WPSIM is not suited for
applications that require printed tables, footnotes or
any number of complex options.  Users who need such capability may turn
to RUNOFF, a more sophisticated (and more complicated) document preparation
.hl 1 Basic Document Creation
.hl 2 Terminals supported by WPSIM
        WPSIM runs only upon properly supported CRT terminals, and cannot
run on a hardcopy terminal.  At present only the major types of WCC
CRT terminals are supported:
.le;Viewpoint terminal.
.le;Datamedia terminal.
.le;VT100 (alias DT80) terminal.
.le;VT52 terminal.
        The terminals have different operating characteristics, but
all have the same basic control keys -- the arrows and the HOME key.
Adding a new terminal type is usually not difficult.
.hl 2 Creating a document
        Log in and type "WPSIM<cr>" in response to the "@" prompt.  The
program will ask you to enter a file name.  Type SAMPLE
followed by a carriage return.
	After a message from WPSIM saying that it is creating the new file
SAMPLE.WPS, you will be looking at a blank screen with the cursor in the upper
left-hand corner.  This is called the "home" position.  From now on
anything that you type is becoming part of your file, and what you see
on the screen is what your finished product will look like.  Use the cursor
keys to move anywhere you want, or push the home key to return to the home
position.  Anything that you type over is gone, replaced by the new text.
        If you try typing a sentence that is longer than one line, note
what happens as you approach the right margin -- the sentence is
automatically split at the most convenient space break.
        As you approach the bottom of the screen, the terminal will scroll
in the normal fashion.  Just keep typing.
        When you've finished your document, type a _^E (control-E).  The
program will clear the screen and type out the name SAMPLE.WPS for
your approval.  Type a carriage return to use that name, or you could change
the name by typing in something else.  The program will now exit and you have
a new file in your area.
.hl 2 Editing a document
        Suppose you'd like to make some changes to an existing document.
Just run WPSIM again.  This time, when the program asks for the
name of your file, give the name of the file you wish to change.
        Now instead of looking at a blank screen, you're looking at the
first page of your document.  What you type changes the current text.
Note that the screen behaves differently if you move the cursor down past
the bottom of the screen - if there is more text to be displayed you will
see the next eight lines scrolled in.
        Again, type the _^E when you've finished, and select a new name
(or use the old one) for the output text.  If you wish to maintain the
same name for the edited file, just type a carriage return
and WPSIM will use the old name, which
was printed at the top of the screen for your information.
.hl 2 Using WPSIM as your primary editor
	If you wish to use WPSIM as your primary editor, you would put the
following line in your LOGIN.CMD or COMAND.CMD file, or issue the command
while in EXEC mode:
	Then you may use the standard EDIT command to create a new file or
edit an existing one: EDIT FILENAME.EXT.
	Alternately, you may edit or create a file just by typing:
	This will act just like the EDIT command would, above.
.hl 2 Using pre-defined forms
        Pre-defined forms are useful for typing standard documents.  For
example, you could design a memo form which contains the standard heading
for your department and has "TO:", "FROM:" and "SUBJECT:" already in place.
Then call in the standard form when you start your memo creation
and just fill in the blanks.
.hl 2 Control characters
        All of the special commands are handled by control characters.  In
this document these are indicated by a "_^" before a letter.  Most of the
special commands are described in the next section, but here are two you'll
always need.
.le;_^E -- Exit.  This command asks you to name a file to hold the text you've
created, and terminates the program.
.le;_^L -- This command refreshes the screen by clearing it and re-typing
all the current text.  This is very useful if a system message has appeared
on your screen somewhere  (such as an "Operator off duty" message.)  You
should type the _^L immediately to make sure you're looking only at text that
you inserted.
.hl 2 Numeric command arguments
	A number of WPSIM commands will accept a numeric argument that
specifies how many times to repeat the command.  A numeric argument is
given by typing <escape> (the ESCAPE or ALTMODE key) followed by a
number, right before giving a WPSIM command.  The <escape> and the
number will not show on the screen.
	This feature is particularly useful with cursor movement -- if you
type <escape>15<up-arrow>, your cursor will move up 15 lines.
	If the command that follows the numeric argument does not use a
repeat count, the number you typed will be ignored and discarded.
.hl 1 Basic text manipulation commands
.hl 2 String search and replacement commands
        There are three commands for manipulating strings, one to search
for a string, one to replace a string, and one to repeat the last search
or replace command.  These are:
.le;_^W -- Search or Replace command.  WPSIM asks for a string at the bottom of
the screen.  If you type a character string followed by a carriage return,
WPSIM positions the cursor to the next available incidence of that string.
If you type a character string, an escape ($), another string, and then a
carriage return, WPSIM will search for the first string and then replace it
by the second string.
	If you wish to search backwards in the file, you may precede the
_^W command by an $-1 (escape, minus one).  This will search backwards
towards the beginning of the file.
.le;_^X -- Repeat previous search or replace.  Re-executes the last _^W
command exactly as it was given.
	The _^X command is initialized upon startup to look for a "@", so
this character is very useful in pre-defined memo forms.  You can put the
at-sign where you will want the date, names, etc and then move from field
to field with one keystroke.
.hl 2 Cursor positioning commands
        A number of special commands are available to move the cursor more
quickly than is practical with the arrow keys.  These are the _^P
(Position) commands.  Each command takes two keystrokes, as follows:
.le;_^PL - Position to beginning of current Line.
.le;_^PA - Position to Append to current line.
.le;_^PW - Position to beginning of next Word.
.le;_^PB - Position to Beginning of file.
.le;_^PE - Position to End of file.
.le;_^PN - Position to Next page of file.
.le;_^PP - Position to Previous page of file.
.le;_^PC - Position to Center of screen.  This refreshes the screen and
centers it around the current line.  The cursor position stays the same.
Any other character following a _^P will not echo and will be ignored.
	A repeat count (see section 3.7) can be given before the commands
_^PN and _^PP to move multiple pages forward or backward.  If a repeat count
is given before the commands _^PC and _^PL, the behavior of these commands
is altered to mean change cursor position forward or backward by some
number of lines (L) or characters (C).  The repeat count given before _^PC
and _^PL may be negative or positive.
.hl 2 Text deletion commands
        There exist several ways to delete text.  Ordinarily the typist
corrects a mistake by backspacing over the misspelling and re-typing it.
	The DELETE or RUBOUT key is also available but has a different effect.
This key deletes the character which is at the cursor, and shifts the
remainder of the line one place to the left.
If there is no character at or following the cursor, the program
backs up one character and deletes that one.
        For more complex deletions, the _^D command is available.  Like
the positioning commands, two keystrokes are necessary.  The options are
as follows:
.le;_^DC - Delete Character.  This command functions the same as the
rubout key, removing the character the cursor is on and moving the remainder
of the line one space to the left.
.le;_^DW - Delete Word.  This moves to the beginning of the word currently
overlapping the cursor position or to the next word on the line if the
cursor is on a space, and deletes it and its trailing spaces.  The
remainder of the text on the line is shifted right the appropriate number
of spaces.  If no word follows the cursor, delete the previous word.
.le;_^DR - Delete Remainder.  This deletes the remainder of the text on the
current line, from the cursor position onward.  (On a Datamedia, there
is a special key marked DEL EOL for this function.)
.le;_^DB - Delete Beginning.  This deletes from the beginning of the current
line to the current cursor position.  The rest of the line is shifted over
to start in the first column.
.le;_^DL - Delete Line.  This deletes the entire current line, and moves
all remaining lines in the file back by one.  In other words, the line
is deleted without leaving blanks in its place.
.le;_^DE - Delete to End of file.  This removes all text after the cursor.
Since this command can be dangerous if given accidentally, it always
requires confirmation -- the terminal bell beeps and **#you must type a _^G#**
(a bell)  to carry out the action.
.le;_^DF - Delete File.  This deletes the whole file.  To prevent
accidental use, this command **#must be confirmed by a _^G.#**
	A repeat count may be specified before the commands _^DC and _^DL,
to delete a number of lines or characters with one command.
	An alternate method of deleting text is to use the <escape> -
<angle-bracket> commands.  To delete a block of text
that spans several lines but does not start or end on line boundaries,
you can use the $<##...##$>D command, described in section 4.6.
.hl 2 Insertion commands
        Ordinary insertion is done by simply typing, but adding new text
in the middle of old text without wiping out previous work is more
involved.  There are several insertion commands, double keystroke commands
that start with a _^N:
.le;_^NL - iNsert Line.  This command creates a blank line in place of
the line where the cursor is, by moving that and all succeeding lines down
by one.  The cursor is then positioned at the beginning of the new line.
.le;_^NS - iNsert, Splitting line.  This command creates a blank line following
the line where the cursor is.  It then moves all text on the current line
following the cursor down into the new blank space.  The cursor is left
on the original line in its starting position, followed by the newly
created gap.  This is the main way to insert new text in the middle of
a line rather than between two lines.
.le;_^NI - enter Insert mode.  This command acts like the _^NS
command, except that whenever the cursor is advanced to the next line a
blank line is inserted in the text to write over.  This command is like a
toggle switch - typing _^NI again will end insert mode and even out the
text in the current paragraph.
.le;_^NC - iNsert Character.  This command inserts a blank at the cursor
and moves the remainder of the line one place to the right.  Characters
shifted past the right margin are lost.
.le;_^NF - iNsert Function.  This command asks for the function name and
text of the function.  Please see section 5.2 for a discussion of functions.
	A repeat count may be specified before the commands _^NL and _^NC,
to insert a number of lines or characters with one command.
.hl 2 Special tabs
        There are three types of tabs available.  The ordinary tab is
generated by the TAB key or by a _^I.  This tab is destructive; if you
tab over existing text you replace it by spaces.  The other types of tabs
.le;_^T - Transparent tab.  This tab moves over text without affecting
it, but otherwise acts like an ordinary tab.
.le;_^R - Reverse tab.  This backs up the cursor to the previous tab stop
without affecting text passed over.
        All of the tabs can pass line boundaries -- tabbing past the last
column on a line will put the cursor on the next line, and reverse tabbing
past the first column will put the cursor on the previous line.
        The number of spaces per tab is variable -- by default it is eight
spaces, but you can use the /TABS:n switch to set "n" spaces per tab.
(See section 5.0 for more information on switch settings.)
.hl 2 Moving text
        It is sometimes useful to be able to move text from one place in
the file to another.  Two commands exist for doing this:
.le;_^G - Get text into buffer.  This command picks up some number of
lines of text and puts them into a text buffer for later use.  There are
99 lines of storage available in the buffer.  The command
can be preceeded by a repeat count given by the <escape>number method unless
you wish to pick up only one line.  It should be followed by one of:
.le;C - Copy text (don't delete it.)
.le;M - Move text (delete from current location.)
.le;_^O - retrieve Old text.  Take the current contents of the storage
buffer and copy them into the file at the current line.  New lines are
created and the existing text is not overlaid.  The storage buffer is not
affected and you can use the _^O command repeatedly.
	An alternate method of moving text eliminates the need for line
boundaries - the <escape><angle-bracket> method.  By this method you can
flag the beginning and end of a string of text such as a sentence, a
paragraph, or more, and pick it up for later use.
The commands are:
.le;$< - Mark beginning of text. This command does not echo, and marks the
current line and column as being the start of a text string.
.le;$> - Mark ending of text.  This command must be given at a cursor position
that is further along in the file than the place where the $< command was
given.  This command must be immediately followed by a code specifying what
to do with the text:
.le;C -Copy the text without deleting it.
.le;M - Move the text into text buffer, delete it from current position.
.le;D - Delete the text without affecting the current text buffer contents.
.le;R - Return cursor to position of beginning marker.
	When you remove text from the file with the $<#...#$>M command,
the current paragraph is evened out.  (See section 4.8)
	The text is again retrieved with the _^O command, described above.
However, the text will be inserted at the current cursor position when the
_^O command is given, and the paragraph will be evened out after the
insertion takes place.
	Evening out the text will not take place if /PROGRAM mode has
been specified (see section 5).
.hl 2 Double spacing
	Text may be entered double spaced by using the _^KD (Double spacing)
command.  When in double spaced mode, any movement up or down in the file
moves you by two lines instead of one.  Typing text automatically leaves
blank lines between lines of text.  This format is useful for most academic
	Double and single spacing mode may be mixed, as for example when you
wish to embed a single spaced indented quotation within double spaced text.
Just use _^KD to toggle between the two modes.
	Evening out your text needs special handling when you're dealing with
double spaced text.  See the next section for details.
.hl 2 Evening out the text lines
        After several delete operations or some insertions, your file may
not have the nice evenly-spaced lines it started with.  The _^V (eVen)
command has several variations:
.le;_^VP - eVen Paragraph.  Starting at the current line, even out the
text lines by filling in each line up to the margin with words from
succeeding lines.  Stop the process when a paragraph break is
reached.  (A paragraph break is defined as a blank line, a line
whose first word starts off the left margin, or a line beginning with
a dot in column one.)
.le;_^VD - eVen Double-spaced paragraph.  Starting at the current line,
even out double spaced input text.  The paragraph is broken when a double
spaced line is blank, starts with the first word off the left margin,
or begins with a dot in column one.
.le;_^VF - eVen File.  Even out the whole file, and leave the cursor
positioned at the beginning.  Starts on the current line.  Works only with
single spaced text.
.le;_^VA - eVen All.  Even out entire file like _^VF, but accepts text in
double spaced input mode only.
	These commands work only with neatly formatted lines.  If you need
to even lines that are mixed spacing modes or which start at different 
indentations, you may preface the _^VP or _^VD command with a number of lines
to even.  (Using the escape-number convention.)  This will define the paragraph
as exactly that number of lines and ignore any conventional paragraph break
	The formatted lines are written out in the prevailing spacing mode --
i.e. a paragraph may be changed from single to double spacing simply by using
_^VP on it while the double spacing toggle (_^KD) is set to double spacing.
	All _^V commands are disabled if /PROGRAM mode has been specified.
.hl 2 Pagination
	WPSIM has automatic pagination available, obtained by using the
/PAGINATE switch.  In this mode, (which is always turned off when you're in
/PROGRAM mode) your input text will have page markers set automatically every
PAGESIZE lines, which is set to 52 by default.  You will know a page break
by seeing a "P" in the last column of the screen, in reverse video on any
terminal but a DATAMEDIA.  The line the "P" appears on is the first line of
the next page.
	When the file is output to disk, each page break will be turned into
a formal page header with a page number at the top followed by three blank
lines before the text resumes.
	There are two styles of header: the default is a "-#(number)#-"
centered in the middle of the page.  The alternate style is a special header
string on the left hand side of the page and the words "Page (number)" on
the right hand side.
	The header string can be specified by using the _^KH command.  This 
causes WPSIM to ask for a 1-50 character line to be output at the top of each
page.  If you don't use the _^KH command, the centered page number will be
used instead.
	There are times when you wish to manually insert a page break.  You may
do this by typing the _^KB (pageBreak) command on the line where you wish to insert
a break.  This causes a permanent page marker to be inserted, for example at a
chapter start.  These permanent page breaks will remain even across several
editing sessions, leaving and re-entering WPSIM.
	The automatic page breaks, indicated by the highlighted "P", are "soft"
page markers and go away when you read a paginated file back into WPSIM.
Reading in a paginated file causes the entire page header to be removed.
	Hard (or "manual") page marks are indicated by a "~" symbol (a tilda)
in column one of an otherwise blank line.  These symbols are converted to a
_^L character (a hardware form feed) whenever you exit from WPSIM, then
converted back when you reenter.
	When in /PROGRAM mode, and in some other cases, you may need to leave
_^L symbols alone and not convert them to page headers.  This would be true
of most cases where you aren't working on a document, but on some type of
program or data.  In this case the /NOPAGINATE switch will tell WPSIM to leave
page break symbols alone when either entering or exiting.
	The default is /NOPAGINATE when editing any normal file.  The
exception to this is a previously paginated file -- WPSIM can detect a file
paginated by WPSIM version 3.0 or later, and will automatically go into
pagination mode when reading such a file in.  For page headers created by
older versions of WPSIM, version 2.7 or earlier, you must specifically use
the /PAGINATE switch to strip off the old page headers.  (Note: you can tell
what version of WPSIM you're working with simply by typing WPSIM followed by
a carriage return in EXEC mode.  The first line of printing tells the version.
Version 3.0 was implemented September 1, 1983.)
	When reading in a previously paginated file, WPSIM will take note of
any page header that you created with the _^KH command.  This old header will
be stored for later use when you again exit from the program.
	If you are creating a new file and remember only after you entered
WPSIM that you wish to paginate it, you don't have to exit and re-enter
using the /PAGINATE switch.  Simply use the _^KP command (Paginate) while
in WPSIM and it will toggle the /PAGINATE switch on or off -- on if it was
off before, off if it was on.
.hl 2 Setting and removing tab positions
        If you aren't happy with the default tab stops being set every "n"
spaces (where "n" defaults to eight unless you change it), you may manually
set tab stops wherever you wish them, and remove them where you don't.
        The _^KS command sets a tab stop, and the _^KR command removes one.
Just position the cursor via the arrow keys to where you'd like a tab
and type _^KS.  Nothing will show up on the screen.  To remove one, tab or
reverse tab to the tab stop you wish to delete, then type _^KR.  Again,
nothing will show up on the screen.
.hl 2 Changing margin settings
	You can dynamically adjust the current margins of your file without
exiting by using the _^KI and _^KM commands.  _^KI sets the default indentation
to be to the column where the cursor is currently located.  _^KM sets the
maximum right margin in the same way.  It's just like setting tab stops.  For
more information on margin setting, please refer to section 5.
.hl 2 Dynamically adjusting margin settings
	The _^KA (Adjust) command is used to adjust margin settings in or out
on both sides of the page.  Typing _^KA will cause both margins
to be indented 15 spaces, suitable for indented notes or quotations.  Typing
_^KA again will return to the previous margins.
	Use the /SHRINK:n switch on entry to WPSIM to specify the amount to
shrink or expand the margins when _^KA is used.  The default is 15.
.hl 2 Showing current tab and margin settings
	The _^KW (What) command is used to show the current tab and
margin settings at the bottom of the screen.  The display is cleared when you
type a space.  It also shows several other parameters.
.hl 2 Changing scrolling value
	When you switch display pages by using the arrow keys to move off the
screen, the screen moves eight lines up or down by default.  You can switch
the number of lines scrolled to any value between 1 and 24 by using the
_^KV command.  Just type <ESCAPE> followed by the number desired; then followed
by the _^KV command.
.hl 2 Centering text
        The _^KC command automatically centers text for you.  Type the text
to be centered on a blank line, starting at the normal left margin.  At the
end of the text, use the _^KC command.  The text will be centered between
the right and the left margins.  Type no spaces between the end of the text
and the command, or the centering will be incorrect.
Any text on the line following the _^KC command will be lost.
.hl 2 Making text flush right
	The _^KF command causes text to be placed flush against the right
margin.  It works like the center command -- type the text on a blank line
starting at the normal left margin, then type _^KF.  The text will then
be shifted on the line so that column where the cursor had been when you
typed the command is now against the right hand margin.  Any text that may
have been on the line beyond the cursor position where you typed _^KF is
.hl 2 Joining two lines
	The _^KJ command deletes from the current cursor position to the
end of the current line, and appends as much of the following line as will
fit.  The remainder of the following line is deleted.
Leading spaces on the second line are discarded.
.hl 2 Interactive program help
	The _^K? command will put page one of a two-page command summary on
the screen.  Typing a space will toggle between the two help pages, and
a carriage-return will return to your original text.  This provides a
quick and easy reference for any commands you may have forgotten.
.hl 2 Inserting a new input file
	The _^KN command will load a new input file.  If you wish to discard
the contents of your current editing buffer without saving the work you've done,
you can replace your text with the contents of a new input file.  Type _^KN
and the terminal will beep.  If you wish to confirm the command, type a _^G.
The program will then ask you for the name of the new file  You cannot
specify any switches and /TYPE checking will not be done.
.hl 1 Changing special system parameters
        Several special parameters which affect the appearance of the text
can be changed when starting up the program.  These parameters are
changed by switches on the input file command line when you first start
the program.  If the switch name is followed by ":N", it means
that N is a number you specify for the switch value.  These parameters are:
.le;/AUTOSAVE:N -- this switch will cause your file to
be automatically backed up every n characters.  See section 6 for more
.le;/BACKUP:N -- this value, currently set at 15, is the maximum
number of characters that the program will back up looking for a space.
If the overlapping word is more than 15 characters long, it is broken
at the right margin,and will be hyphenated at that point.
.le;/CIPHER:N -- Reads in a file previously encrypted by the use of the
/CIPHER:N switch on output.  N is any non-zero integer, and must be the same
cipher key as the one used to encrypt the output file.  Beware: if you forget
what the encryption key was for a particular ciphered file, you may as well
just throw the file away.
.le;/[NO] EXPAND -- Allow current maximum margin setting to be expanded if you
are editing a document which was created with larger margins.  Without this
switch, WPSIM will automatically wrap any words beyond the margin onto the
following line.
.le;/[NO] EXPERT -- Inhibits typing of most error messages.  Error messages in
WPSIM are displayed on the bottom two lines of the screen in reverse video,
and are displayed for 1.5 seconds.  This switch keeps such messages from
appearing, and errors are signaled by the failure of an expected action to
.le;/[NO] FILETAB -- Converts multiple spaces to tabs on output.
.le;/FUNCTION:code#"function text" -- Allows the use of special command
combinations as pre-defined functions.  Code is either 1-6 or A-J, and
"function text" is any string of characters or control characters that you
can legitimately type to WPSIM.  See section 5.2 for details.
.le;/INDENT:N -- Lines can be automatically indented to any column you
wish when you type a carriage return or when your text is automatically
split at end of line.  Auto indentation does not affect the use of the
arrow keys or any other functions.  The default indentation is zero.
.le;/LETTERHEAD:N -- when paginating a document, you usually want the
first page to contain less lines than the rest to allow room for a
letterhead or just a large top margin.  The letterhead:n switch allows you
to specify how many lines should be subtracted from the standard pagesize
for the first page only.  The default is 0 lines.
.le;/MAXIMUM:N --if the text reaches column 65 without a
space break, the program searches back to the last space seen and
re-writes the current word onto the next line.  Starting four spaces
before the maximum, WPSIM looks for a space on which to break the
.le;/MODEL2 -- Used only if you are on Viewpoint terminal model 2, and are
using the special function keys in the top right corner.  (Viewpoint model
one terminals have a white dot below the power light, model two terminals
don't.)  See section 5.2.
.le;/NOHYPHEN -- Prevents the hyphenation that takes place when a word at
the end of a line is too long to move.  (See /BACKUP).  The word gets
split at the margin with no continuation character.
.le;/NUMBER:N -- Starts file page numbering at page N.
.le;/PAGESIZE:N -- by default, the number of lines per page is 52.  This
is only used when you paginate the file.  You can set this value to whatever
you wish.
.le;/[NO] PAGINATE -- this switch causes your input file, should you have one,
to have soft page headings stripped.  It also puts WPSIM into auto pagination
mode and causes page headers to be created upon output.
.le;/[NO] PROGRAM -- Sets WPSIM into programming mode, which tends to be different
from text preparation mode.  This sets the screen width to the maximum,
prevents word wrap, prevents automatic justification of text, and prevents
.le;/RECOVER -- this switch enables you to recover input
lost due to a system crash, if you used the /AUTOSAVE switch.  See section
6 for more information.
.le;/SETTABS:n,n,n.. -- Sets tab stops at all the positions given in the
list.  The list may contain column numbers from 1 to 78 and may be of any length.
.le;/SHRINK:N -- Sets margin adjustment value to N characters, for use with
the _^KA (Adjust) command.
.le;/SCROLL:N -- Sets default scrolling size to N.  N must be between one
and 24.
.le;/TABS:N -- tabs are set by default to every eight spaces.  You
may reset that to have tabs every "n" spaces.
.le;/TYPE:filetype -- Specifies the type of file you are editing or
creating.  The significance of the file type is explained in the next section.
.le;/[NO] VT102 -- Tells WPSIM that a VT100 terminal has VT102-style
advanced line and character insertion and deletion functions available.
        You can reset any of these parameters when starting the program
by appending switches after the file name you are asked for.
        Note that it is not necessary to type out the full name of the
switch as long as you have enough characters to make the switch unique.
Typing /I:5/MA:60/BA:20 would be quite sufficient for WPSIM.
.hl 2 WPSIM INI files
        It is possible to customize your WPSIM parameters, if you always
reset the switch defaults to some standard value.  You can create a WPSIM.INI
file in your login directory which contains the switch settings you would
normally use, and these settings will become the default.
	The first line of the INI file will always be executed.  Subsequent
lines are optional, but must start with an option selection keyword if used.
This keyword is
initially assumed to be the extension of the file that you are editing, such
as WPS, PAS, RNO, etc.  Alternately, you may specify the keyword by using the
/TYPE: switch followed by the proper option selection code.
	If the option selection keyword is matched in the INI file, the 
switches on that line will be executed.  This allows you to specify different
switches for editing different types of files.  An example WPSIM.INI file
might contain:
	Thus, you would have five-space tabs when editing FILE.WPS, but have
eight-space tabs when editing FILE.RNO.
	The WPSIM.INI file is executed from the directory you are connected
to when you run WPSIM.  If the file is not found there, your login directory
will also be searched before the program decides that no INI file exists.
.hl 2 Special functions
	WPSIM can execute special user-defined functions, if you define
such functions in your WPSIM.INI file or define them when you start the
program.  A function is loaded by using the /FUNCTION switch, specifying a function
code of 1-6 or A-J, and giving a string of quoted characters that represent
some sequence of WPSIM commands.
You may also load functions using the _^KF command (see section 4.4).
	Functions are executed in two ways -- on the Viewpoint terminal,
the special keys F1, F2 and F3 give you functions 1-3, and shifted they give
functions 4-6.  Functions A-J are executed by using the _^B command -- type _^B and
follow it by a letter between A and J to execute the corresponding function.
	Executing a function is exactly like typing in the characters that
are specified in the function string.  Control characters in function strings
are represented in the up-arrow--character format, and escapes are represented
as dollar signs.  Function strings can be up to 119 characters long.
	For an example, if you wished to use a function that jumped to the
beginning of the current line and then centered the word "MEMO", you could
give the following function definition in your WPSIM.INI file:
	You would execute this function by typing _^BA while you were in
	There are also three pre-defined functions available (which you can
re-define if desired), which give you job-style information.  Function U will
print your user name, function C will print your connected directory name,
and function D will print the date and time.
	The command _^KL will list your custom functions while you are in
WPSIM.  The display will return to the original state when you type a space
to clear the function list, just as with the _^KW command.
.hl 2 Special print options
        When your output is going to be printed on an Anderson-Jacobson
(AJ) terminal or on the lineprinter, two special features are available:
underlining and boldfacing.
        Boldfacing portions of your text is done by preceding the text by
a "`" (accent) character.  Place another "`" character immediately after the
text that should be boldfaced.
        Underlining a phrase is done by preceding the phrase with a "__"
(underline) character, and ending the phrase with the same character.
        While you are are creating it, your text will look like this:
        `This is in bold characters`, and __this is underlined__.
	To transform these special characters into the proper output codes for
the device selected, you must use the WPFORMAT program.  Please see section
8 for more information.
.hl 1 Disaster recovery
	WPSIM has an AUTOSAVE feature similar to the one in the EDIT program
which can protect you from losing data in the event of a system crash.
When using the /AUTOSAVE:n switch, the state of your file will be
automatically stored every n characters you type.  The value n must be at least
100, and the auto-store operation will occur no more then once per minute
in any case.  This option causes the creation of a WPSIM-BACKUP.WPS file.
	The default value of /AUTOSAVE is 200, so autosaving is always set and
you need not specify the switch unless you wish to change the value.
To turn off the autosaving feature, use the switch /AUTOSAVE:0.
	If the system crashes during an editing session,
you can recover most of your work.  Enter
WPSIM and respond NEWFILENAME.WPS/RECOVER to the input file prompt.
Recovery information
is stored in the file WPSIM-BACKUP.WPS.  This file may be deleted except when
you need to recover lost information from it.  Note that this file is written
in WPSIM internal format and won't make sense unless you use the /RECOVER
	The recovery feature is of most use when a system crash causes you
to lose a file that you've been typing in.  However, it can also help if you've
made an editing mistake.  If you delete your file by mistake, for example,
you should immediately exit from WPSIM.  Then start WPSIM again and use the
/RECOVER switch when it prompts for a filename.  In most circumstances,
you will then get your original file back, minus the last line or two that
you typed.  You must type a non-existing filename before the switch.
	Note that there is only one backup copy available, the most recent.
It is important that you use the /RECOVER option as soon as possible after
you've lost something.  In the example above, if you delete your file,
type three more lines, and then exit and recover you'll probably
have overwritten your backup file with your last input.
.hl 1 Output file options
	Special switches allow you to specify special options for your
output file.  When you type a _^E, the system shows you your
default name but allows you to select an alternate output file.  Either type
in a name or use escape to fill in the name above, then follow it by one
or more of the following switches:
.le;/CIPHER:N - Encrypt the output using cipher key "n", where n is any
non-zero integer.  This renders the file unreadable except via WPSIM.  To
read in a ciphered file, use the /CIPHER:n switch on input with the same
value of n.
.le;/FILETAB - Convert multiple spaces to tabs on output.  This feature 
allows you to save storage space by compressing the number of characters
in your file on disk.  However, tabs may interfere with the use of RUNOFF
or some compilers.
.le;/NOFILETAB - Don't convert multiple spaces to tabs on output.
.hl 1 Using WPFORMAT to format WPSIM text
        The WPFormat program is a post-processor to the WPSIM editor.  WPFormat was
designed to allow underlining and boldfacing in a document created by WPSIM
to be printed on the lineprinter.  WPFormat also allows you to go from WPSIM
format (underscore, accent) to a format compatible with the Anderson Jacobsen
(AJ) letter-quality printer.  WPFormat is simple to use, and
alleviates the problem of having to use RUNOFF commands in WPSIM to underline
and boldface.
        Using WPSIM to prepare your document for the post-processor:
.le;Create your document with WPSIM.
.le;Wherever you want to underline, place an underscore character
at each end of the text to be underlined.
.le;Wherever you want to boldface, place an accent character
at each end of the text to be boldfaced.
.le;Exit WPSIM in the normal fashion.
        Using the WPFormat program:
.le;Run WPFormat by typing "wpformat" at the EXEC prompt (@).
.le;WPFormat will prompt you for an input file; enter the name of
the document you created using WPSIM.
.le;WPFormat will prompt you for an output file; enter a filename
different from the document you created with WPSIM.  If
you do not enter a different file name, WPFormat will write
over your original document.
.le;WPFormat will prompt you for the number of spaces to indent
the left margin.  (Note: documents created to eventually
be printed on the AJ letter-quality printer should have
a left margin of 0. If you enter "5" to this WPFormat prompt
and have your document printed on the lineprinter,
your document will look the same as it will when it is
printed on the AJ).
.le;WPFormat will prompt you for the output format.  This can be one
of WPSIM, AJ, or GENERAL.  However, the program will only
convert in the following ways:
.i5;wpsim => aj
.br.i5;wpsim => general
.br.i5;aj    => wpsim
        This means that you will, in general, always want to keep a
copy of the original file which you created with WPSIM.
The "wpsim" format is the format of a file which can be
edited with wpsim; the underscore and accent characters are
in the file.  The "aj" format consists of character strings
which are meaningful to the Anderson-Jacobsen
letter-quality printer.  The "general" format contains the
control characters which force boldfacing and underscoring
on the lineprinter.
.le;When you see the EXEC prompt, submit the OUTPUT file to be
printed, using whatever switches you want.
        This is an example of a document created with WPSIM for use
with the WPFormat post-processor (test.wps) :
.i8;__This is a test of underlining__
.br;.i8;`This is a test of boldfacing`
.i8;This is a test of __underlining which
.br.i8;overlaps__ to the next line
        This is a sample run using WPFormat:
Input file: TEST.WPS
Output file: TEST.LPT
Indentation: 5
Output format: GENERAL
.le;If you use the WPFormat output format option "general", you
cannot return the new file to a WPSIM compatible file.
.le;If you move the left margin of your document farther
right with the WPFormat "indentation" option, WPSIM cannot
move it back for you.
.le;In general, you should always keep the original WPSIM-
created document.
.hl 1 Command summary
.ts 7,18,31
Primary	Secondary
Command	Command	Function
.ts 7,21,32
	_^L		Refresh the screen
	_^E		Exit from program.  Allows you to
			specify output file.
	_^C	###**	Abort all editing, quit without saving file.
	_^P	B	Position to Beginning of file.
		E	Position to End of file.
		L	Position to start of current Line.
		A	Position to Append to current line.
		W	Position to start of next Word.
		N##*	Position to Next page (screen).
		P##*	Position to Previous page (screen).
		C	Position to Center (alternate refresh).
	_^D	C##*	Delete Character.
		W	Delete Word.
		L##*	Delete Line.
		R	Delete Remainder of line.
		B	Delete to Beginning of line.
		E##**	Delete to End of file.
		F##**	Delete File.
	_^N	C##*	iNsert Character.
		L##*	iNsert Line.
		S	iNsert, Splitting line at cursor.
		I	Insert mode - toggle on or off.
		F	iNsert Function.
	_^W	###*	Search for and optionally replace string.
	_^X		Repeat last search or replace operation.
	_^G	C##*	Copy lines into text buffer.
		M##*	Move lines into text buffer, deleting.
	$<		Set beginning of text string.
	$>	C	Set end of string, copy into buffer.
		M	Set end of string, move into buffer.
		D	Set end of string, delete string.
		R	Return to beginning of string.
	_^O		Retrieve contents of move buffer.
*###Indicates that command can accept a numeric argument.
**##Indicates that command must be confirmed by _^G.
.ts 7,18,31
Primary	Secondary
Command	Command	Function
.ts 7,21,32
	_^T ; _^R		Tab and Reverse tab.
	_^B	code	Execute function code, code is A-J.
		U	Insert user name into file at cursor.
		C	Insert connected directory at cursor.
		D	Insert date and time at cursor.
	_^V	P##*	eVen out text lines in Paragraph.
		D##*	eVen out Double spaced lines.
		F	eVen out text lines in File.
		A	eVen out All text lines, double spaced.
	_^K	A	Adjust margins.
		B	set page Break.
		C	Center text.
		D	Double spacing mode toggle.
		F	make current line Flush right.
		H	specify a pagination Header.
		I	set new value for /INDENT.
		J	Join two lines together.
		L	List user-defined functions.
		M	set new value for /MAXIMUM.
		N##**	load New file into memory
		P	toggle Pagination mode.
		R	Remove a tab stop.
		S	Set a tab stop.
		U	Unpaginate - remove perm. page markers.
		V##*	set new scrolling Value.
		W	show What tab and margin settings are.
		?	show a command summary.
*###Indicates that command can accept a numeric argument.
**##Indicates that command must be confirmed by _^G.