\documentstyle[11pt,reduce]{article}
\title{HELP: The REDUCE Help System}
\author{ }
\date{}

\begin{document}
\maketitle

\index{HELP package}

\section{Help Request}

Information about syntax and functionality of various elements
of {\REDUCE}  can be retrieved on line by the {\tt help} system.
Items can be searched using a directory structure or keywords
with hypertext like cross links. The help system can be invoked
either by the help button in a window oriented environment
or by the command

\begin{quote}
    \k{HELP;}
\end{quote}
or
\begin{quote}
    \k{HELP $<topic>$;}
\end{quote}
or
\begin{quote}
    \k{HELP $<package>$;}
\end{quote}

where $<topic>$ is the item (string, keyword) for which you
need information and $<package>$ is the name of a
package. If no package is given the {\REDUCE} reference
is meant.  The {\tt help} command starts a process
which opens a window to the information and which allows
you to browse around in the information structure. Under
multi process systems the {\tt help} runs in a separate
task such that you can continue your {\REDUCE}  session.
Single process systems halt the {\REDUCE}  session to
be continued after leaving the help server.

\section{HELP servers}

Under all operating systems the help material is collected
in a subdirectory {\tt help} of the {\REDUCE} root
directory.

\subsection{UNIX}

Under UNIX the {\REDUCE}  help information is encoded according
to the syntax of the ``GNU info format''. For display {\REDUCE} 
tries to call one of the programs
\begin{itemize}
\item GNU Xinfo
\item GNU info
\item \$reduce/help/help program
\end{itemize}
in the above sequence. So if e.g. in your PATH the GNU program
``xinfo'' can be reached, this is used for accessing the
{\REDUCE}  help structure. The program $\$reduce/help/help$
has been supplied for configurations where the GNU programs are
not available.

If the GNU programs are available but are not accessible in
your path, you can supply their location in a resource file
{\tt redhelp.rc}; such file will be loaded (if existent)
first from {\tt \$reduce}, then from {\tt \$HOME} and 
finally  from your local directory. It should contain
one command in {\REDUCE} syntax assigning
a string with the help server command to the variable
{\tt help\_command}, e.g.

\begin{verbatim}
help_command := 
    "/Gnu/sun4/bin/xinfo -file "$
end;
\end{verbatim}
Note that the command does not contain the target file
name -- this will be added at run time according to the
actual selection. Please note that different programs
have different keywords for the file parameter: xinfo uses 
``--file" while Gnu info and the program help in the
help subdirectory of {\REDUCE} use ``--f".


\subsection{DOS, Windows NT}

For DOS and Windows NT the {\REDUCE}  help information is 
supplied as {\tt .HLP} files in the format of MS Windows help. 
If running under
Windows 3.1 or Windows NT the MS help system is called 
by the help command or when you click the help menu button.

Under bare DOS the program 
\begin{verbatim}
    %reduce%\help\help.exe
\end{verbatim}
is used for display. This uses the GNU info format in
the files {\tt *.INF}. 

If you don't use both versions you might
delete one of the help data files in order to save disk space.
The program help.exe expects that your monitor is a color VGA and
that you have ANSI.SYS loaded. If that is not the case you
should replace HELP.EXE by HELP0.EXE -- this is an equivalent
program which does not rely on these features.

\end{document}
