pkg://xspread-3.1.1c.tgz:286909/
share/
xspread/
doc/xspread.tex
downloads
\documentstyle [11pt,titlepage]{article}
\topmargin 0in
\headheight 0in
\headsep 0in
\textheight 9in
\textwidth 6.375in
\oddsidemargin 0in
\evensidemargin 0in
\columnsep 0.125in
\columnseprule 0.5pt
\title{\bf Xspread Reference Manual}
\author{James Cornelius\\ Michael Frey\\ Dan Gruber\\ Fang Wang\\
\\
Manual Updated by Robert Parbs II}
\date{December 12, 1992}
%
%namelist generates a list with an item width of
% your choice; form: \begin{namelist}{widestitem}
\newcommand{\namelistlabel}[1]{\mbox{#1}\hfil}
\newenvironment{namelist}[1]{%
\begin{list}{}
{
\let\makelabel\namelistlabel
\settowidth{\labelwidth}{#1}
\setlength{\leftmargin}{1.1\labelwidth}
}
}{%
\end{list}}
\newcommand{\twiddle}{$\tilde{ }$} % tilde character, verbatim
\newcommand{\ctrl}{\^{ }}
\begin{document}
\maketitle
\newpage
\pagenumbering{roman}
\tableofcontents
\newpage
\section*{Introduction}
\pagenumbering{arabic}
\addcontentsline{toc}{section}{Introduction}
Xspread is an electronic spreadsheet which runs under X Windows.
You must be using an X Windows terminal to be able to use this program.
Xspread supports many standard spreadsheet features. Among these are:
\begin{itemize}
\item{Cell entry and editing.}
\item{ Worksheet size: 702 columns by unlimited rows.}
\item{File reading and writing.}
\item{File encryption.}
\item{Absolute and relative cell references.}
\item{Numeric and label (i.e.character string) data in cells.}
\item{Left or right justification for labels.}
\item{Row and column insertion and deletion.}
\item{Hiding and unhiding of rows and columns.}
\item{Range names.}
\item{Manual or automatic recalculation.}
\item{Numeric operators ($+, -, *, /,$ \^{ }(exponentiation), \%(remaindering))}
\item{Relational operators ($<$, $<=$, $>$, $>=$, $=$, $!=$ (not equal))}
\item{Logical (or, Boolean) operators (\&(and), $|$ (or), \twiddle (not))}
\item{Function references.}
\item{References to external programs. These are called external functions.}
\item{Use of the mouse in pointing, and menu selecting.}
\end{itemize}
The structure and operation of the spreadsheet is similar to but not
identical with popular spreadsheets such as Lotus 1-2-3 and its clones. Like
other spreadsheets, the workspace is arranged into rows and columns of cells.
Each cell can contain a number, a label (i.e. character string), or a formula
which evaluates to a number or label.
You can start the program with or without specifying a file to be read in.
This file must be a saved worksheet. If a file is specified on the command
line, xspread attempts to locate and read in the file. If it is successful,
xspread starts with the file's contents in the workspace. If it is
unsuccessful or no file is specified on the command line, xspread starts with
the workspace empty.
For a tutorial of the spreadsheet program, type:
\centerline{\verb| xspread doc/tutorial|}
This directory also contains other spreadsheet templates which you may be
interested in.
To start xspread, type the program name, xspread, followed by any command
qualifiers you want to use and then by the optional file name. The full form
of the command line is:
% Peter Doemel, 11-Feb-1993
% {\tt xspread [-c] [-h] [-m] [-n] [-r] [-x] [-fn font] [filename]}
{\tt xspread [-c] [-h] [-m] [-n] [-x] [-N] [-C] [-R] [-fn font] [filename]}
Here, -c, -h, -m, -n, -r, and -x represent the command line qualifiers and
filename represents the file name of the optional worksheet file that you can
start up with.
The other qualifiers -N -C -R are only available, if your command line
interpreter distinguishes the case of letters (type {\tt xspread -h}
to see if you may use them).
% Xspread accepts several qualifiers on the command line. Here is a list of
% the qualifiers and what each of them does:
%
Here comes the description of these qualifiers:
\begin{description}
\item[-c]{ Recalculation is done in column order. When xspread recalculates, it will
start at the top of the leftmost column, and recalculate the all the cells
from top to bottom. Then, it will recalculate the next column in the same
order. It will continue in this fashion until it has recalculated the
rightmost column.\\
Xspread does NOT support natural order recalculation.\\
Default: Row order recalculation.}
\item[-h]{ Display command line help.}
\item[-m]{ Start with manual recalculation. With this option, the spreadsheet will
recalculate values only when the ``@'' command is used. With automatic
recalculation, the spreadsheet recalculates values whenever a cell's
contents change.\\
Default: Automatic recalculation.}
\item[-n]{Use standard data entry mode. In this mode the user must specify if
the data entry item is numeric or a label:}
% To tell Xspread that the
% item is a number, the first character must be a "=". To specify that
% the data is a label, the first character is a quote (").}
% With standard entry mode, you must use the first character to tell xspread
% whether the cell is a number or a label.
\begin{itemize}
\item{If the cell is to be a number, the first character must be an ``=''
sign.}
\item{If the cell is to be a label, the first character must be a double
quote (") for centered text, less than sign ($<$) for left justified,
or greater than sign ($>$) for right justified text.}
\end{itemize}
Default: Numeric entry mode:
\begin{itemize}
\item{If the first character is a numeral, a ``$+$'' sign, or a ``$-$'' sign,
the cell contains a number.}
\item{If the first character is a greater than sign ($>$), less than
sign ($<$), or double quote ("), the cell contains a label.}
\item{If it is anything else, the character is a command to xspread.}
\end{itemize}
\item[-r]{Recalculation is done in row order. When xspread recalculates,
it will start at the left of the topmost row, and recalculate all the
cells from left to right. Then, it will recalculate the next row in
the same order. It will continue in this fashion until it has
recalculated the bottommost row.\\
Xspread does NOT support natural order recalculation.\\
Default: Row order recalculation.}
\item[-x]{ Use encryption when reading and writing files.\\
Default: Do not use encryption.}
\item[-fn]{ Change the font size to whatever, now works!!!. ie. -fn 9x15.}
\item[-N]{ Do not show the cursor.\\
Default: Display it.}
\item[-C]{ The action after the {\tt ENTER / RETURN} key is released is
to move the cursor down the current column.}
\item[-R]{ The action after the {\tt ENTER / RETURN} key is released is
to move the cursor right in the current row.\\
Default: Stay at the current position.}
\end{description}
\newpage
\section*{Using the Worksheet}
\addcontentsline{toc}{section}{Using the Worksheet}
\subsection*{Worksheet Structure}
\addcontentsline{toc}{subsection}{Worksheet Structure}
Xspread divides the spreadsheet window into four regions. Xspread uses
the top line for displaying the cell address the cursor is on, displaying cell
values, and entering commands.
%The second line displays messages from xspread
%or options for the slash (/) commands.
The second region consists of the second and the third line. Here xspread
display messages or options for the slash (/) command. In the latter case
the third line is used to show a short description of the highlighted
option.
A third region is immediately under the third line and along the left edge
of the window. This region shows the column addresses and row addresses.
The fourth region is the worksheet work space which is currently displayed.
Unlike other spreadsheets, xspread does not have a status line showing
such information as the current time, operating mode, or amount of workspace
left.
The xspread electronic worksheet is organized in two dimensions: vertical
columns and horizontal rows. The worksheet has 702 columns labeled
alphabetically A through ZZ (A through Z and AA through ZZ). The number
of rows only depends on the available memory. Rows are numbered from 0 on.
Where a row meets a column, the intersection is called a cell. Cells have
addresses which consist of their column letter(s) and row number. Examples of
cell addresses are A1, E56, and AH187. The upper left corner has cell address
``A0''. The cell address occupied by the cursor is shown on the top line.
If a cell's numeric value is wider than the column width, the cell is
filled with asterisks. If the cell's label string is wider than the column
width, the display of the label is truncated at the start of the next
non-blank cell in the same row.
The xspread worksheet window has two cursors. The cell cursor highlights
the current cell.
% Xspread also displays a ``$<$'' sign at the right edge of the current cell.
The character cursor shows up when you type a command on the
top line.
% Otherwise, it is obscured by the cell cursor.
The user gives commands to xspread through the use of function keys and
slash (/) commands. Unlike other spreadsheets, xspread does NOT assume the
existence of dedicated function keys on the terminal keyboard. Therefore, you
have to enter all xspread commands using either printable ASCII characters or
control key combinations. All commands entered using printable characters are
case sensitive.
This manual indicates control key combinations by showing a caret (\ctrl )
immediately prior to the control key's letter. For example, control A is
shown as \ctrl A.
\subsection*{Navigating the Worksheet}
\addcontentsline{toc}{subsection}{Navigating the Worksheet}
\subsubsection*{Moving the Cursor One Cell at a Time}
Move the cursor around the worksheet by pressing these control keys. The
control key commands always are available even if the character cursor is on
the top line.
\begin{quote}
\ctrl B (back) and \ctrl F (forward) move the cursor left and right, respectively.\\
\ctrl P (previous) and \ctrl N (next) move the cursor up and down,
respectively.\\
The arrow keys also work. Left and right arrow keys move the cursor
left and right. Up and down arrow keys move the cursor up and down.
% The mouse can also be used for navagation. Pick the cell in the
% worksheet you would like to place the cursor and "click" with the left
% or center button. The mouse cursor will go to that cell.
% Please note that if you press the third button, you will enter the menu.
\end{quote}
There are some additional cursor control commands available if the
character cursor is not on the top line of the window. These commands are
intended to make xspread compatible with the vi editor commands:
\begin{quote}
h (back) and l (forward) move the cursor left and right.\\
k (up) and j (down) move the cursor up and down.
\ctrl H and the spacebar move the cursor back and forward, respectively.
\end{quote}
\subsubsection*{Larger Cursor Moves}
\begin{description}
\item[ \^{ } (top) and \# (bottom)]{ move the cursor to the top row and bottom row of
the current column, respectively.}
\item[0 (zero) (left edge) and \$ (right edge)]{ move the cursor to the left edge
(column A) and the right edge (the last column) of the worksheet,
respectively.}
\item[b]{ scans the cursor backwards (i.e. to the left and up) to the previous
valid (non-blank) cell.}
\item[w]{ scans the cursor forwards (i.e. to the right and down) to the next valid
(non-blank) cell.}
\item[\ctrl Ed]{ goes to the next non-blank cell in the indicated direction. The
character d must be replaced by one of the valid cursor direction indicators
(i.e., \ctrl B, \ctrl F, \ctrl P, or \ctrl N). When you execute this
command, if the cursor is on
a blank cell, it goes in the indicated direction until it reaches the first
non-blank cell.}
\end{description}
\subsubsection*{Moving to Specific Locations}
g goes to a specific cell. Xspread prompts for a cell address, range
name, a string expression surrounded by quotes, of a number. If you specify a
cell address or a range name, xspread goes directly to that cell, or the
starting (upper left) cell of the range. If you specify a string expression
surrounded by quotes, xspread will search for a cell containing that
expression. If you specify a number, xspread will search for a cell
containing that number.
Searches for either strings or numbers go forward from the current cell.
When the search reaches the end of the worksheet, xspread starts the search at
cell A0 and searches from there forward to the current cell.
\subsubsection*{Moving to Specific Locations via the mouse}
The mouse can also be used for navagation. Pick the cell in the worksheet you
would like to place the cursor and `click' with the left or center button. The
mouse cursor will go to that cell. Please note that if you press the third
button, you will enter the menu.
\subsection*{Cell Entry and Editing}
\addcontentsline{toc}{subsection}{Cell Entry and Editing}
Cells can contain either numeric or string expressions or constants.
\subsubsection*{Label Entry}
To enter a label, first enter one of these characters: $>$, $<$, or "
(double quote). Entering a letter first does NOT start a label, since
it is necessary to use letters to give commands to xspread.
\begin{quote}
" indicates that the label will be centered in the current cell.\\
$<$ indicates that the label will be entered into the current cell flush
left.\\
$>$ and indicates that the label will be entered into the current cell
flush right.
\end{quote}
\subsubsection*{Numeric Entry}
To enter a number, you have to know whether or not you are in quick
numeric entry mode.\\
If you are in standard mode, first use an = sign. Xspread prompts you for
the expression on the top line. Enter the number or numeric expression.\\
If you are in quick numeric entry mode, start the numeric expression with
a digit (0-9), $+$ sign, or $-$ sign. Then, finish entering the number or
numeric expression.
\subsubsection*{Cell Editing}
\begin{description}
\item[E]{ edits the label that already exists in the current cell. Xspread will
display the current label on the top line with the character cursor at the end
of the label. You can then edit the label.}
\item[e]{ edits the numeric value associated with the current cell. Xspread will
display the current numeric expression on the top line with the character
cursor at the end of the numeric expression. You can then edit the numeric
expression.}
\item[c]{ copies that last marked cell to the current cell.}
\item[m]{ marks a cell for later use by the copy command.}
\item[x]{ clears (erases) the current cell. You can use any of the pull commands
to retrieve cell contents that were previously deleted.}
\item[$+$]{ in standard mode, adds the value of its argument to the value
of the current cell and stores the result in the current cell. In quick
numeric mode, $+$ introduces a numeric expression or value.}
\item[$-$]{ in standard mode, subtracts the value of its argument from the
value of the current cell and stores the result in the current cell. In quick
numeric mode, $-$ introduces a numeric expression or value.}
\end{description}
\subsection*{Formulas, Cell Expressions, and Functions}
\addcontentsline{toc}{subsection}{Formulas, Cell Expressions, and Functions}
\subsubsection*{Formulas}
Without formulas, an electronic spreadsheet would not be any better than
its paper counterpart. It is the ability to enter and recalculate formulas
that gives an electronic spreadsheet its real power. Formulas can link result
cells to other cells in the spreadsheet. These other cells can, in turn,
reference still other cells so that a recalculation of the entire spreadsheet
can have a cascade effect. Through formulas, a single cell can affect cells
throughout the entire worksheet.
Formulas can reference cells either through the cell's address (e.g. K20)
or through defined range names. Both cell addresses and range names can be
either relative, absolute, or a combination of the two. Relative cell
addresses and range names change when the cell's formula is copied to another
position in the worksheet. Absolute cell addresses and range names do not
change when the cell's formula is copied to another position in the worksheet.
\subsubsection*{Cell References}
The method of specifying absolute cell addresses follows the convention of
Lotus 1-2-3. Absolute references are preceded by a dollar sign (\$). The
dollar sign can precede either the column reference, row reference, or both.
Here are some examples:
\begin{namelist}{\$K\$20xx}
\item[K20]{This references cell K20. Both the column and row references
change when the cell is copied.}
\item[\$K\$20]{This references cell K20. Both the column reference and row
reference remain fixed when the cell is copied.}
\item[\$K20]{This references cell K20. The column reference remains fixed but
the row reference changes when the cell is copied.}
\item[K\$20]{This references cell K20. The column reference changes but the
row reference remains fixed when the cell is copied.}
\end{namelist}
These conventions also hold on defined ranges. Range references vary when
formulas containing them are copied. If the range is defined with fixed
variable references, the references do not change.
\subsubsection*{Operators}
Xspread supports a number of operators for use in formulas. The numeric
operators for formulas include:
\begin{tabbing}
XXX\=XXX\=\kill
\> $+$ \> Addition\\
\> $-$ \> Subtraction\\
\> $*$ \> Multiplication\\
\> / \> Division\\
\> \^{ } \> Exponentiation (raise to a power)\\
\> \% \> Modulus, or, Remaindering\\
\> () \> Parentheses can be used to change the order of operations
\end{tabbing}
You can use relational operators to compare two numeric expressions to see
if they satisfy the specified relation. The result is a logical value, either
true or false. The relational operators are:
\begin{tabbing}
XXX\=XXX\=\kill
\> $=$ \> Equal to\\
\> $!=$ \> Not equal to\\
\> $>$ \> Greater than\\
\> $>=$ \> Greater than or equal to\\
\> $<$ \> Less than\\
\> $<=$ \> Less than or equal to
\end{tabbing}
You can use logical operators to affect compound logical expressions. The
logical operators are:
\begin{tabbing}
XXX\=XXX\=\kill
\> \twiddle \> Logical NOT\\
\> \& \> Logical AND\\
\> $|$ \> Logical OR\\
\end{tabbing}
You can use the conditional operator to test for a condition and take
action depending on whether that condition is true or false (i.e., perform an
IF test). This operator takes the place of the @IF function found in most
other spreadsheets. Xspread does not support an @IF function. The
conditional operator is:
\begin{description}
\item[e1?e2:e3]{Conditional operator. If expression e1 is true, return the
value of expression e2, otherwise return the value of
expression e3.}
\end{description}
\subsubsection*{Function References}
Xspread supports a number of functions that make it easy to perform
calculations of a specific nature. Formulas can reference any of the
functions defined in the Function Reference section. You can use these
function references just as you would any cell or range reference. All
functions begin with the ``@'' character. CAUTION: Since the ``@''
character by itself is used as a command character (to recalculate the
spreadsheet), you MUST precede the ``@'' character in a function reference
with a ``$+$'' sign or ``$-$'' sign if a function reference is the first
item in a formula.
\subsection*{Toggle Commands}
\addcontentsline{toc}{subsection}{Toggle Commands}
Xspread has several optional settings which operate like toggle switches.
Each switch has two settings. The toggle commands change the settings of the
selected switch to its opposite setting without forcing you to go through the
slash (/) command tree to set or reset them.
All of the toggle commands are of the form \ctrl To, where ``o''
represents a
letter that stands for the option that you want to toggle. The settings of
all toggle options are saved with the worksheet when it is written into a
worksheet file. The toggle options are:
\begin{description}
\item[{\bf a Automatic / Manual Recalculation.}]{If automatic recalculation is set,
every change to the spreadsheet will cause the spreadsheet to be
recalculated. If manual recalculation is set, xspread does not
recalculate the spreadsheet unless you explicitly issue a recalculation command
(@).}
\item[{\bf e External Function Execution.}]{If external functions are enabled,
xspread calls them whenever the screen is updated. If external
functions are disabled, any external functions that are referenced are
not called during screen updates. If external functions are
referenced in the worksheet and they are disabled, xspread prints a
warning each time that the screen is updated. The result from @ext()
is the value from the previous call, if any, or else a null string.}
\item[{\bf n Quick Numeric Entry.}]{ If set, you can start numeric entry with any
digit, a plus sign, or a minus sign. If not set, you must start
numeric entry with an equals sign.}
\item[{\bf t Top Line Display.}]{ If set, the top line of the worksheet window
displays the name and value of the current cell. If not set, the top
line is blank.}
\item[{\bf x Encryption.}]{ If set, worksheet files are encrypted when xspread saves
them using the /File Put command and xspread assumes that worksheets
that it reads using the /File Get command are encrypted. If not set,
xspread does not encrypt files with /File Put nor does it decrypt
files with /File Get.}
\item[{\bf \$ Dollar Prescale.}]{ If set, numeric amounts are automatically scaled by
.01 when you enter them into cells. This allows users to avoid typing
the decimal points in monetary amounts. If not set, numeric amounts
are not scaled.}
\item[{\bf r Newline action.}]{ Toggle between no action, move down
after entry and move right after entry.}
\item[{\bf z Set newline action limits.}]{ The limits are set to the
current row and column (for {\bf r} and {\bf z} see also set rowlimit=n,
collimit=n).}
\end{description}
\subsection*{Miscellaneous Commands}
\addcontentsline{toc}{subsection}{Miscellaneous Commands}
Xspread supports several miscellaneous commands. These do such things as
support various options, allow you to bail out of a command that you do not
want to execute, and offer on-line help. Here is the list:
\begin{description}
\item[{\bf \ctrl C, Q, q Exit xspread.}]{ All three of these commands exit the user from
xspread.}
\item[{\bf ESC, \ctrl G Abort Command.}]{ Hitting the ESC (escape) key
or \ctrl G are the bail out
commands. Either one of these will abort the current command and
return you to Ready mode.}
\item[{\bf ? Help.}]{ This will bring up an index to on-line help. The index will
display a list of topics together with the letter that allows you to
select a particular topic. The help facility is NOT context
sensitive.}
\item[{\bf TAB Point Command.}]{ When the character cursor is on the top line, you can
use TAB to define a range by pointing, instead of by specifying cell
addresses. When you press TAB the first time, xspread enters Point
mode. You can then specify the range to be selected by using the
cursor control keys. The cell that you were in when you pressed TAB
is one corner of the specified range. During the point operation, the
specified range at any time is highlighted. Pressing TAB the second
time exits point mode and makes the range selection final.}
\end{description}
Three commands redraw the screen:
\begin{description}
\item[{\bf \ctrl L Simple Screen Redraw.}]{ This command redraws the screen,
displaying the
values of expressions.}
\item[{\bf \ctrl R Redraw Screen with Values Highlighted.}]{ This redraw
command
highlights any cells which are referenced by formulas or expressions
but which do not contain formulas or expressions. This screen redraw
command is useful for showing those values which you need to provide
or update. With this command, xspread highlights all cells which
contain constant numeric values.}
\item[{\bf \ctrl X Redraw Screen with Expressions Highlighted.}]{This
screen redraw
command can be used to highlight those cells which contain expressions.
Xspread shows all expressions as formulas, not their current values. All
expressions are displayed as left-justified text. This command makes
it easier to check expressions.}
\end{description}
Three commands display current cell information in the command line:
\begin{description}
\item[{\bf \ctrl A Numeric Value.}]{ This command displays the numeric value of the current
cell in the command line.}
\item[{\bf \ctrl V Cell Name.}]{ This command displays the name of the current cell in the
command line.}
\item[{\bf \ctrl W Cell Expression.}]{ This command displays the expression attached to the
current cell, if any. If there is no expression, this command returns
``?''.}
\end{description}
\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Alphabetical Command Reference}
\addcontentsline{toc}{section}{Alphabetical Command Reference}
\subsection*{/C \ \ Column/Row}
\addcontentsline{toc}{subsection}{Column/Row Commands}
\subsubsection*{What the /Column/Row commands do}
These commands perform various operations on entire columns or rows in
the worksheet.
The Column/Row command provides the following options:
\begin{description}
\item[{\bf Insert}]{ Inserts a new row or column into the worksheet.
Append Insert a new row or column immediately following the source
row or column with a copy of the contents of the source row or
column.}
\item[{\bf Delete}]{ Deletes a row or column from the worksheet.}
\item[{\bf Pull}]{Reinsert (pull) deleted rows or columns back into the
worksheet.}
\item[{\bf Remove}]{ Remove expressions from the affected rows or columns, leaving
only the values of the expressions in the affected cells.}
\item[{\bf Hide}]{ Hides a row or column on the worksheet.}
\item[{\bf Show }]{Unhides a row or column on the worksheet.}
\item[{\bf Format}]{ Specifies the numeric display format for a column.}
\end{description}
\subsubsection*{How to use the /Column/Row commands}
\begin{enumerate}
\item{Place the cursor on a cell in the row or column you want to use
the command on.}
\item{Type /C.}
\item{Choose one of the Column/Row commands.}
\item{Choose whether to apply the command to a row or column.}
\end{enumerate}
\subsection*{/CA \ \ Column/Row Append}
\subsubsection*{What the command does}
This command inserts a new row or column which immediately follows the
cursor position and copies the contents of the current row or column
into the new inserted row or column.
\subsubsection*{How to use it}
\begin{enumerate}
\item{ Move the cursor to the cell in a row or column where you want the
new row or column to be inserted. Rows are inserted below and
columns to the right.}
\item{Type /CA.}
\item{Type R for Row or C for Column.}
\item{ Xspread inserts the row or column immediately below or to the
right of the cursor position. It then copies the values of the
cells in the current row or column into the newly inserted row or
column.}
\end{enumerate}
\subsection*{ /CD \ \ Column/Row Delete}
\subsubsection*{What the command does}
This command deletes a row or column from the worksheet. The
remaining rows or columns are renumbered to close the space. A new
row or column is added at the bottom or right edge of the worksheet.
\subsubsection*{How to use the command}
\begin{enumerate}
\item{Move the cursor to the row or column you want to delete.}
\item{Type /CD.}
\item{Type R for row or C for column.}
\item{Press Enter. The row or column at the current cursor position is
deleted.}
\end{enumerate}
\subsection*{/CF \ \ Column/Row Format}
\subsubsection*{What this command does}
This command sets column width and the numeric display format for a
column. There is no command to format a row.
\subsubsection*{How to use the command}
\begin{enumerate}
\item{Move the cursor to the column you want to format.}
\item{Type /CF.}
\item{Enter the column width.}
\item{Enter the number of digits to follow the decimal place. Values
are rounded off to the least significant digit displayed.}
\end{enumerate}
\subsection*{/CH \ \ Column/Row Hide}
\subsubsection*{What this command does}
This command hides the current row or column. This keeps it from
being displayed. However, it still remains in the worksheet.
\subsubsection*{How to use the command}
\begin{enumerate}
\item{Move the cursor to the row or column you want to format.}
\item{Type /CH.}
\item{Type R for row or C for column.}
\item{Press Enter. The row or column at the current cursor position is
hidden.}
\end{enumerate}
\subsection*{/CI \ \ Column/Row Insert}
\subsubsection*{What this command does}
This command inserts a row or column into the worksheet at the current
cursor position. The new row appears immediately below the cursor and
new columns immediately to the right.
\subsubsection*{How to use the command}
\begin{enumerate}
\item{Move the cursor to a cell in the row or column where you want the
new row or column to be inserted. Rows are inserted below and
columns to the right.}
\item{Type /CI.}
\item{Type R for Row or C for Column.}
\item{Xspread inserts the row or column immediately below or to the
right of the cursor position.}
\end{enumerate}
\subsection*{/CP \ \ Column/Row Pull}
\subsubsection*{What this command does}
This command reinserts (pulls) deleted information back into the
worksheet at the current cursor location. /CPR inserts enough rows to
hold the last deleted set of cells. /CPC inserts enough columns to
hold the last deleted set of cells. /CPM (Merge) does not insert rows
or columns; it overwrites the cells beginning at the current cursor
location.
\subsubsection*{How to use the command}
\begin{enumerate}
\item{Move the cursor to the position where you want the deleted
information to appear.}
\item{Type /CP.}
\item{Type R for row, C for column, or M for merge.}
\item{Press Enter. Xspread inserts the deleted information in the
manner specified.}
\end{enumerate}
\subsection*{/CR \ \ Column/Row Remove}
\subsubsection*{What this command does}
This command removes formulas in the affected rows or columns and
converts them to the values which were in the cells before the command
was executed.
\subsubsection*{How to use the command}
\begin{enumerate}
\item{Move the cursor to a cell in the row or column you want to convert
from formulas to formula values.}
\item{Type /CR.}
\item{Type R for row or C for column.}
\item{Press Enter. Xspread converts the formulas to their values in the
selected row or column.}
\end{enumerate}
\subsection*{/CS \ \ Column/Row Show}
\subsubsection*{What this command does}
This command shows (unhides) hidden rows or columns. It is the
reverse of the /CH (Column/Row Hide) command.
\subsubsection*{How to use the command}
\begin{enumerate}
\item{Type /CS.}
\item{Type R for row or C for column.}
\item{Enter a range of rows or columns to be revealed. The default
action is the first range of rows or columns currently hidden.}
\item{Press Enter. Xspread reveals the selected rows or columns.}
\end{enumerate}
\subsection*{/F \ \ File}
\addcontentsline{toc}{subsection}{File Commands}
\subsubsection*{What the /File commands do}
These commands transfer information between the current worksheet and
files on disk. The /FP (Put), /FT (Table), and /FW (Write) commands
can pipe their output to a program. In order to use this feature,
type ``$|$ progname'' to the prompt asking for a filename.
The File command provides the following options:
\begin{description}
\item[{\bf Get}]{Retrieves the specified files from the disk.}
\item[{\bf Put}]{Saves the current worksheet or a specified range to the disk
in worksheet format.}
\item[{\bf Write}]{Prints the current worksheet or a specified range to a file in
the format in which it is displayed on the screen.}
\item[{\bf Table}]{Prints the worksheet or a specified range in a format called
table format so that table processors such as tbl, \LaTeX, or
\TeX\ can use the data.}
\item[{\bf Merge}]{ Read in data from the named worksheet file and overwrite
corresponding cells.}
\item[{\bf Combine}]{ Run macros or combine the data in the designated file into the
current worksheet.}
\item[{\bf Directory}]{ Sets the current default directory for file
operations.}
\end{description}
\subsubsection*{ How to use the /File commands}
\begin{enumerate}
\item{Type /F.}
\item{Choose one of the File commands.}
\item{Select the file you want to use. The action you specify is
carried out on the selected file.}
\end{enumerate}
\subsection*{/FC \ \ File Combine}
\subsubsection*{What this command does}
This command imports the specified file. If the file contains macros,
it executes the macros in the file. If the file contains numeric or
character spreadsheet data, it overwrites the data in the current
worksheet.
\subsubsection*{How to use this command}
\begin{enumerate}
\item{Type /FC.}
\item{Xspread displays this prompt:\\
\verb|>> merge [ "macro_file" ] "/dir1/.../dirn/| \\
where /dir1.../dirn represent the directory path set using the
File Directory command. If no directory has been set, xspread
displays the home directory path. }
\item{Type in the name of the file that you want to combine into the
worksheet. If the directory is not the one that you want to use,
then delete out the unwanted parts
of the directory path and replace it with the path that you want.
If you do not specify the path, xspread will use the current
directory.}
\item{Xspread then reads the designated file into the worksheet. If it
is a macro file, xspread runs the macros. If the file contains
numeric or character data, this data overwrites all corresponding
cells in the current worksheet.}
\end{enumerate}
\subsection*{/FD \ \ File Directory}
\subsubsection*{What this command does}
This command sets the default directory to use for the other
File commands.
\subsubsection*{How to use this command}
\begin{enumerate}
\item{Type /FD.}
\item{Xspread displays this prompt:\\
\verb|>> mdir [ "macro_directory" ] "/dir1/.../dirn/|\\
where /dir1.../dirn will be the previous directory setting.
If no setting has been made yet, xspread displays the home
directory path as default. }
\item{Change the Unix pathname as needed. The pathname must be a valid
Unix directory path expression, and the final / and " may be
omitted. After entering the path, press RETURN. }
\end{enumerate}
\subsection*{/FG \ \ File Get}
\subsubsection*{What this command does}
This command retrieves a worksheet file from the disk. There are no
restrictions on the file name; it can be any valid Unix file name.
Xspread uses the current directory if no directory path is included in
the file name.
\subsubsection*{How to use this command}
\begin{enumerate}
\item{Type /FG.}
\item{Xspread displays this prompt:\\
\verb| >> get [ "source" ] "/default_path/default_file| }
\item{Enter the file name enclosed in double quotes. Xspread
automatically supplies the opening quote, along with the default
path and file name. After modifying the
file name, press RETURN.}
\end{enumerate}
\subsection*{/FM \ \ File Merge}
\subsubsection*{What this command does}
This command merges the specified file with the current worksheet.
The specified file overwrites the data in the current worksheet.
\subsubsection*{How to use this command}
\begin{enumerate}
\item{Type /FM.}
\item{Xspread displays this prompt:\\
\verb|>> merge [ "merge_file" ] "/dir1/.../dirn/|\\
where /dir1\ldots /dirn represent the directory path set using the
File Directory command. If no directory has been set, xspread
displays the home directory path. }
\item{Type in the name of the file that you want to merge into the
worksheet. If the directory is not the one that you want to use,
then delete out the unwanted parts
of the directory path and replace these parts with the path that
you want. If you do not specify the path, xspread will use the
current directory. }
\item{Xspread then reads the designated file into the worksheet. Data
from the merged file overwrites all corresponding cells in the
current worksheet.}
\end{enumerate}
\subsection*{/FP \ \ File Put}
\subsubsection*{What this command does}
This command saves the current worksheet or a specified range to the
disk. There are no restrictions on the file name; it can be any valid
Unix file name. Xspread uses the current directory if no directory
path is included in the file name.
\subsubsection*{How to use this command}
\begin{enumerate}
\item{Type /FP.}
\item{Xspread displays this prompt:\\
\verb|>> put [ "dest" range ] "/default_path/default_file|\\}
\item{Enter the name of the file enclosed in double quotes. Xspread
automatically supplies the opening quote, along with the default
path and file name. Optionally, you can add
a range specification after the closing quote. After modifying
the path/file name, press RETURN. If you specify a range, xspread
saves only the indicated range in the named file instead of the
whole worksheet.}
\end{enumerate}
\subsection*{/FT \ \ File Table}
\subsubsection*{What this command does}
This command writes out the worksheet or a specified range into a file
with delimiters suitable for processing by the tbl, \LaTeX, or
\TeX\ table processors. The tblstyle option controls the delimiters used.
\subsubsection*{How to use this command}
\begin{enumerate}
\item{Type /FT.}
\item{Xspread displays this prompt:\\
\verb|>> tbl [ "dest" range ] "/default_path/default_file|\\}
\item{Enter the name of the file enclosed in double quotes. Xspread
automatically supplies the opening quote, along with the default
path and file name. Optionally, you can add
a range specification after the closing quote. After modifying
the path/file name, press RETURN. If you specify a range, xspread
saves only the indicated range in the named file instead of the
whole worksheet.}
\end{enumerate}
\subsection*{/FW \ \ File Write}
\subsubsection*{What this command does}
This command prints the worksheet or a specified range out to a file
in the format that it appears on the screen.
\subsubsection*{How to use this command}
\begin{enumerate}
\item{Type /FW.}
\item{Xspread displays this prompt:\\
\verb|>> write [ "dest" range ] "/default_path/default_file|\\}
\item{Enter the name of the file enclosed in double quotes. Xspread
automatically supplies the opening quote, along with the default
path and file name. Optionally, you can add
a range specification after the closing quote. After modifying
the file name, press RETURN. If you specify a range, xspread
saves only the indicated range in the named file instead of the
whole worksheet.}
\end{enumerate}
\subsection*{G \ \ Graph}
\addcontentsline{toc}{subsection}{Graph Commands}
\subsubsection*{ What the /Graph commands do}
These commands create different kinds of graphs from worksheet data.
The Graph command provides the following options:
\begin{description}
\item[{\bf Type}]{ Selects the type of graph to create (i.e. line, bar, stacked
bar, XY, or pie). }
\item[{\bf X}]{ Selects X axis data range.}
\item[{\bf A, B, C, D, E, F}]{Set up to six data ranges for the Y axis
of a line, bar, stacked bar, or XY graph or
for each slice of a pie graph.}
\item[{\bf Reset}]{ Clears (resets) all of the parameters for graphs.}
\item[{\bf View}]{ Displays the current graph on the screen.}
\item[{Options}]{ Allows you to specify legends, formats, titles, scales, and
other special format options.}
\item[{\bf Sample}]{ Allows you to create and view a sample graph with a sample
data set without affecting the current graph definitions.}
\end{description}
\subsubsection*{How to use the /Graph commands}
\begin{enumerate}
\item{Type /G}
\item{Type T and select what type of graph you want to make.}
\item{Type X and specify the data range for the X axis.}
\item{Type A through F to specify up to 6 data ranges for the Y axis.}
\item{Type V to view the graph.}
\item{Type O to go to Options menu.}
\item{Type S to create a sample graph.}
\item{Type Q to exit the Graph menu and return to ready mode.}
\end{enumerate}
\subsection*{/G A-F Graph A-F (Data Ranges)}
\subsubsection*{What this command does}
This allows you to designate up to 6 data ranges for plotting on the Y
axis.
\subsubsection*{How to use this command}
\begin{enumerate}
\item{Type a letter from A through F from the Graph menu.}
\item{Xspread will give you this prompt (where x represents one of the
ranges A-F):\\
{\tt Input column label for range x -- 2 character max.:} \\
Respond with the column address of the range for the Y axis.}
\item{Xspread will give you this prompt (where x represents one of the
ranges A-F):\\
{\tt Input starting row number, 200 max., for range x:} \\
Respond with the row number for the start of the range for the Y
axis.}
\item{Xspread will give you this prompt (where x represents one of the
ranges A-F):\\
{\tt Input the ending row number >= nn for the range x:} \\
Here, nn is the row number that you just specified in response to
the previous prompt.\\
Respond with the row number for the end of the range for the Y
axis.}
\item{If you want to specify more ranges, use this command again with a
different letter for the next range.}
\end{enumerate}
\subsection*{/GO \ \ Graph Options}
\subsubsection*{What these commands do}
These commands allow you to add enhancements to your graph. The
options remain in effect until you change them, exit the program, or
load a different worksheet.
\begin{description}
\item[{\bf Legend }]{Adds text describing each Y axis data range.}
\item[{\bf Format }]{Defines how graph information will be presented.}
\item[{\bf Titles }]{Adds titles at the top of the graph and
along the X and Y axes.}
\item[{\bf Grid}]{ Adds horizontal and/or vertical lines to
your graph.}
\item[{\bf Scale }]{Sets the upper and lower limits for the graph and
the number of X axis data points to skip.}
\end{description}
\subsubsection*{How to use these commands}
\begin{enumerate}
\item{Type O from the Graph Option menu.}
\item{Select a graph option from the menu.}
\end{enumerate}
\subsection*{/GOF\ \ Graph Options Format}
\subsubsection*{What these commands do}
These commands control the use of symbols and lines in a line or XY
graph. The default setting is for both symbols and lines.
\begin{description}
\item[{\bf Line }]{Connects data points with a line.}
\item[{\bf Symbol }]{Assigns a symbol for each data point in a range
with a different symbol for each range (A-F).}
\item[{\bf Both }]{Uses both lines and symbols.}
\item[{\bf Neither }]{Uses neither lines nor symbols but displays data
labels if they are defined.}
\end{description}
\subsubsection*{How to use these commands}
\begin{enumerate}
\item{Type F from the Graph Options menu.}
\item{Select a single data range or the entire graph. These are your
choices:\\
{\tt Graph \ \ A\ \ B\ \ C\ \ D\ \ E\ \ F} }
\item{Choose a format for the specified range. The choices are:\\
{\tt Lines\ \ Symbols\ \ Both\ \ Neither} }
\item{Continue choosing ranges or formats as desired.}
\item{To exit the Graph Format menu, press the ESC key.}
\end{enumerate}
\subsection*{/GOG\ \ Graph Options Grid}
\subsubsection*{What this command does}
This command adds or clears grid lines from all graphs except the pie
graph. You can choose:
\begin{description}
\item[{\bf Horizontal }]{Draw horizontal grid lines only.}
\item[{\bf Vertical }]{Draw vertical grid lines only.}
\item[{\bf Both }]{Draw both horizontal and vertical grid lines.}
\item[{\bf Clear }]{Do not draw any grid lines.}
\end{description}
The default setting is no grid lines (clear).
\subsubsection*{How to use the commands}
\begin{enumerate}
\item{Type G from the Graph Options menu.}
\item{Set the grid option you want.}
\item{Xspread returns you to the Graph Options menu.}
\end{enumerate}
When you display the graph, it will have the grid lines that you specified.
\subsection*{/GOL\ \ Graph Options Legend}
\subsubsection*{What this command does}
This command displays descriptive text as a legend for each Y axis
data range.
\subsubsection*{How to use the command}
\begin{enumerate}
\item{Type L from the Graph Options menu.}
\item{Specify the data range (A-F) to be identified with a legend. This
prompt is displayed:\\
{\tt Enter the legend for x :}\\
where x is one of ``A'', ``B'', ``C'', ``D'', ``E'', or ``F''.}
\item{Type the legend you want to identify the range with and then press
RETURN. You can use up to 39 characters.}
\item{Xspread then returns you to the Graph Options Legend menu. To
exit the Graph Options Legend menu, press the ESC key.\\
If you want to create more than one legend, select another menu item.
When you display the graph, it will have the legend that you
specified.\\
CAUTION: When you select a legend data range, xspread does NOT retain
any previously defined legend for that data range. Instead, xspread
erases any previously defined legend.}
\end{enumerate}
\subsection*{/GOS\ \ Graph Options Scale}
\subsubsection*{What these commands do}
These commands automatically set the scales on the X and Y axes, or
let you set them manually. (Scaling does not apply to pie graphs.)
They also let you set the ``skip factor'' for the X axis labels.
If you select automatic scaling, the graph is adjusted to include all
points in each data range. If you select manual scaling, you specify
the upper and lower limits for the axis.
You can also set the skip factor for the X axis labels. The skip
factor directs xspread to use only every nth value in the X data range
as labels on the X axis.
\begin{description}
\item[{\bf X Axis}]{ Selects the options for scaling data along the X axis.}
\item[{\bf Y Axis}]{ Selects the options for scaling data along the Y axis.}
\item[{\bf Skip}] {Select the skip interval for data labels on the X axis.}
\end{description}
\subsubsection*{How to use these commands}
\begin{enumerate}
\item{Type S from the Graph Options menu.}
\item{Select the desired scaling option.}
\item{To exit from this menu or any submenu, hit the ESC key.}
\end{enumerate}
\subsection*{/GOSS\ \ Graph Options Scale Skip}
\subsubsection*{What this command does}
This command lets you set the skip factor for displaying X range
labels or values along the X axis of the graph.
\subsubsection*{How to use this command}
\begin{enumerate}
\item{Type S from the Graph Options Scale menu.}
\item{Type the desired skip factor and press RETURN.}
\end{enumerate}
\subsection*{/GOSX\ \ Graph Options Scale X-axis}
\subsection*{/GOSY\ \ Graph Options Scale Y-axis}
\subsubsection*{What these commands do}
These commands scale the X and Y axes. You can specify whether the
ranges which are displayed are automatic (i.e. controlled by xspread)
or manual (i.e. you decide the low and high limits for the axis
displays). If you select manual scaling, you can also specify the
lower and upper limits that you can display along the X axis (in XY
graphs) and along the Y axis (in all graphs except pie graphs).
These commands are independent of each other. You can have automatic
scaling on one axis and manual scaling on the other if you so choose.
Here are the options:
\begin{description}
\item[{\bf Automatic}]{Specifies that scaling will be automatically
controlled by xspread. This is the default option.}
\item[{\bf Manual}]{Specifies that scaling will be controlled by the
user.}
\item[{\bf Lower }]{Specifies the lower limit for manual scaling.}
\item[{\bf Upper }]{Specifies the upper limit for manual scaling.}
\end{description}
\subsubsection*{How to use these commands}
\begin{enumerate}
\item{Type X or Y from the Graph Options Scale menu.}
\item{Select and complete the entries for an item.}
\end{enumerate}
\subsection*{/GOSXA\ \ Graph Options Scale X-axis Automatic}
\subsection*{/GOSYA\ \ Graph Options Scale Y-axis Automatic}
\subsubsection*{What these commands do}
These options specify that xspread controls the scaling along the
respective axis. Automatic scaling is the default.
\subsubsection*{How to use these commands}
Type A from the /GOSX or /GOSY menus.
\subsection*{/GOSXL\ \ Graph Options Scale X-axis Lower}
\subsection*{/GOSYL\ \ Graph Options Scale Y-axis Lower}
\subsubsection*{What these commands do}
These commands set the lower limit along the X axis or Y axis when
manual scaling is in use.
\subsubsection*{How to use these commands}
\begin{e