\documentclass[11pt,titlepage]{article}
\usepackage{html}
\usepackage{url,alltt}
\usepackage{times} % For PDF version of the manual.  It makes it much smaller.

\newcommand{\ex}{\textbf{Excalibur}}
\newcommand{\oz}{O\kern-.03em z\kern-.15em\TeX}
\newcommand{\AmS}{\latex{{\protect\the\textfont2
        A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}\html{AMS}}
\newcommand{\textures}{\emph{Textures}}
\newcommand{\SLiTeX}{\latex{\textsc{Sli\TeX}}\html{SliTeX}}
\begin{document}

\title{Excalibur 3.0}
\author{Rick Zaccone}
\date{October 11, 1999}
\pagenumbering{roman}
\tableofcontents
\newpage
\pagenumbering{arabic}
\maketitle
\sloppy

\section{Introduction}

\ex{} is a Macintosh spelling checker.  It will spell check documents
created by any text editor such as \texttt{BBEdit}, \texttt{Alpha},
\texttt{Emacs} or \texttt{MPW}.  It will also spell check the
clipboard, making it a useful spelling checker for mail programs such
as \texttt{Eudora} and news readers such as \texttt{NewsWatcher}.  It
will also work with any word processing program that supports
\htmlref{Word Services}{sec:word-services}
\begin{latexonly}
  (section~\ref{sec:word-services} on
  page~\pageref{sec:word-services})
\end{latexonly}
such as AppleWorks (formerly ClarisWorks) or WordPerfect.

\ex{} is also a very good \LaTeX{} spelling checker.  \LaTeX{} is a
collection of typesetting macros.  If you are a \LaTeX{} user, you
should turn on the option that makes \ex{} aware of \LaTeX.  See
\htmlref{\textbf{\LaTeX{} Options}}{sec:latex-options}
\begin{latexonly}
  (section~\ref{sec:latex-options} on
  page~\pageref{sec:latex-options})
\end{latexonly}
for more information.

If you don't know what \LaTeX{} is and you would like more
information, there are some very good resources available on the
Internet.  Probably the best place to start is Gary Gray's
Macintosh \TeX/\LaTeX{} \htmladdnormallink{web page.}
{http://www.esm.psu.edu/mac-tex/}
\begin{latexonly}
\begin{alltt}
\url{http://www.esm.psu.edu/mac-tex/}
\end{alltt}
\end{latexonly}

George Gr\"{a}tzer has a good book called \emph{Math into \LaTeX}.
You can download part~1 of this book from his \htmladdnormallink{web
  page.}
{http://server.maths.umanitoba.ca/homepages/gratzer.html/LaTeXBooks.html}

\begin{latexonly}
\begin{alltt}
\url{http://server.maths.umanitoba.ca/homepages/gratzer.html/LaTeXBooks.html}
\end{alltt}
\end{latexonly}

\ex{} is a stand-alone spelling checker that you can use with many
other applications.  If you want to use it for spell checking the
clipboard, it's probably best to turn on the \textbf{Open the
  Clipboard} option or the \textbf{Open the Clipboard and Go} option.
See \htmlref{\textbf{Start-up Actions}}{sec:start-up-actions}
\begin{latexonly}
  (section~\ref{sec:start-up-actions} on
  page~\pageref{sec:start-up-actions})
\end{latexonly}
for more information.

\ex{} supports Word Services which streamlines its operation with
MT-NewsWatcher, Eudora Pro, Communicate, Nisus Writer, and
AppleWorks (formerly ClarisWorks).

\section{Excalibur's \LaTeX\ Philosophy}

One approach to \LaTeX{} spell checking is to put all the commands
into the dictionary. This yields limited success because it does not
specify what should be done with the arguments of the commands. For
example, the \verb+\label+ command has an argument that should always
be ignored. On the other hand, the \verb+\section+ command has an
argument that should always be spell checked. To complicate things
more, there are commands such as \verb+\addtocontents+ that have one
argument that should be ignored, and another that should be spell
checked.

\ex{} does \emph{not} put \LaTeX{} commands into its dictionary.
Instead, it knows how to process each command intelligently. It knows
which arguments to ignore and which it should spell check. As a
result, \ex{} is a \LaTeX{} spelling checker that does a very good
job.

\section{Installing Excalibur}

We have packaged \ex{} so that it is ready to go.  \ex{} will know
about any dictionaries that it finds in its folder.  If you would like
to keep your dictionaries on a server, put aliases to them in the
\ex{} folder.  Then, \ex{} will be able to insert them into its
\textbf{Dictionary} menu when it starts up.

If you use dictionaries other than the Standard Dictionary, adjust
\ex's memory partition.  System 8 is a bit more picky about having the
memory partition set properly than System 7.  See
\htmlref{\textbf{Large Documents and Dictionaries}}{sec:large-docs}
\begin{latexonly}
  (section~\ref{sec:large-docs} on page~\pageref{sec:large-docs})
\end{latexonly}
for more information.

\section{Uninstalling Excalibur}

To uninstall \ex, just throw the \ex{} folder in the trash.  You
should also remove the file \textbf{Excalibur Preferences} in the
Preferences folder.  There are no other files to remove.

\section{Excalibur Features}

\begin{itemize}

\item \ex{} recognizes \LaTeX, \AmS-\LaTeX, and \texttt{epic}
  commands. It also recognizes a fair number of plain \TeX{} commands.

\item You can teach \ex{} about new commands and environments that you
  define.

\item \ex{} knows about accented characters and ligatures. This should
  help non English speaking users. They can add words with accents and
  ligatures to their dictionaries.

\item \ex{} knows about discretionary hyphens.

\item \ex{} will optionally ignore text in the \verb+\tt+ font. This
  is very useful for people (like us) who are in computer science and
  often sprinkle their documents with file names in the typewriter
  font.

\item \ex{} ignores everything that appears in the following
  environments:

  \html{
    \begin{rawhtml}
      <P>
      <TABLE BORDER=2 CELLSPACING=2 CELLPADDING=2 >
      <TR><TD><TT>alltt        </TT></TD> <TD><TT>equation    </TT></TD></TR>
      <TR><TD><TT>cprog        </TT></TD> <TD><TT>math        </TT></TD></TR>
      <TR><TD><TT>displaymath  </TT></TD> <TD><TT>subeqnarray </TT></TD></TR>
      <TR><TD><TT>eqnarray     </TT></TD> <TD><TT>verbatim    </TT></TD></TR>
      <TR><TD><TT>eqnarray*    </TT></TD> <TD><TT>verbatim*   </TT></TD></TR>
      </TABLE>
      </P>
    \end{rawhtml}
  }

  \begin{latexonly}
    \begin{tt}
      \begin{tabular}{ll}
        alltt       & equation    \\
        cprog       & math        \\
        displaymath & subeqnarray \\
        eqnarray    & verbatim    \\
        eqnarray*   & verbatim*
      \end{tabular}
    \end{tt}
  \end{latexonly}

  \ex{} ignores the following \AmS-\LaTeX{} environments:

  \html{
    \begin{rawhtml}
      <P>
      <TABLE BORDER=2 CELLSPACING=2 CELLPADDING=2 >
      <TR><TD><TT>align     </TT></TD> <TD><TT>gather*    </TT></TD></TR>
      <TR><TD><TT>align*    </TT></TD> <TD><TT>multiline  </TT></TD></TR>
      <TR><TD><TT>alignat   </TT></TD> <TD><TT>multiline* </TT></TD></TR>
      <TR><TD><TT>alignat*  </TT></TD> <TD><TT>xalignat   </TT></TD></TR>
      <TR><TD><TT>comment   </TT></TD> <TD><TT>xalignat*  </TT></TD></TR>
      <TR><TD><TT>equation* </TT></TD> <TD><TT>xxalignat  </TT></TD></TR>
      <TR><TD><TT>gather    </TT></TD> <TD><TT>xxalignat* </TT></TD></TR>
      </TABLE>
      </P>
    \end{rawhtml}
  }

  \begin{latexonly}
    \begin{tt}
      \begin{tabular}{ll}
        align     & gather*    \\
        align*    & multline   \\
        alignat   & multline*  \\
        alignat*  & xalignat   \\
        comment   & xalignat*  \\
        equation* & xxalignat  \\
        gather    & xxalignat*
      \end{tabular}
    \end{tt}
  \end{latexonly}

  It also ignores everything that appears within
  \begin{itemize}
  \item \verb+\[+\ldots\verb+\]+,
    \verb+\(+\ldots\verb+\)+,\verb+$+\ldots\verb+$+,
    \verb+$$+\ldots\verb+$$+ and
    \verb+\begintt+\ldots\verb+\endtt+.
  \end{itemize}

\item \ex{} ignores the arguments of \verb+\verb+ and \verb+\verb*+
  commands.

\item \ex{} will warn you if it thinks it found a \LaTeX{} syntax
  error in a file. This usually means that you have unmatched braces,
  unmatched \verb+\begin+ \ldots \verb+\end+ pairs, or an unmatched
  math mode delimiter.

\item \ex{} will spell check the contents of the clipboard.  You can
  copy text to the clipboard, have \ex{} check it, and then write the
  results back onto the clipboard.  With this feature you can use
  \ex{} as a spelling checker for programs such as Eudora Lite.

\end{itemize}

\section{Word Services}
\label{sec:word-services}

Word Services is a protocol that allows any program to link to \ex{}
as if it were a built-in spelling checker.  For a partial list of
programs that support Word Services, see the Word Services
\htmladdnormallink{web page.}{http://www.wordservices.org/}
\begin{latexonly}
\begin{verbatim}
<http://www.wordservices.org/>
\end{verbatim}
\end{latexonly}

Here are the advantages of using Word Services as quoted from the Word
Services web page.

\begin{quote}
  Word Services is good for users as you can share a single speller,
  and a single dictionary among all your applications that use Word
  Services. You can have a single interface for spelling, and the you
  are not stuck with a built-in speller. If you don't like the speller
  your application came with, you can use another, or even add
  several, one for each language that you use.
\end{quote}

\textbf{Note:} If you are using Word Services, you should have \ex's
\htmlref{Start-Up Actions}{sec:start-up-actions}
\begin{latexonly}
  (section~\ref{sec:start-up-actions} on
  page~\pageref{sec:start-up-actions})
\end{latexonly}
set to ``Do Nothing.''

\section{Program Menus}

This section explains \ex's menus.

\subsection{The File Menu}

Most of the items in the \textbf{File} menu are standard for a
Macintosh application. This menu contains items to open a file, close
a file, save the changes to a file, reverting a file, and quitting the
program.  If you have started to spell check a file and you suddenly
remember that you forgot to activate a dictionary, you can use
\textbf{Revert} to put the spell checking operation in its initial
state.  Then, activate your dictionary and hit \textbf{Start}.

The \textbf{Open Clipboard} item will let you open the clipboard for
spell checking.  When spell checking the clipboard, the \textbf{Save}
item becomes \textbf{Save Clipboard} so you can save your changes back
to the clipboard.  This is useful if you want to spell check just a
small portion of a document.  You can copy the text to the clipboard,
check its spelling, save the result back to the clipboard, and then
paste the result back into your document.

\subsection{The Edit Menu}

The \textbf{Edit} menu contains the \textbf{Preferences} item which
lets you change \ex{} settings.

\subsection{The Dictionary Menu}

The \textbf{Dictionary} menu lets you create new dictionaries and add
words to existing dictionaries. It also lets you select the
dictionaries that you would like to use for spell checking.

\subsubsection{Create Dictionary}

\ex{} comes with a Standard Dictionary of about 161,000 English words.
If you would like to create your own dictionary so you can add words
that aren't in the Standard Dictionary, use the \textbf{Create
  Dictionary} item in the \textbf{Dictionary} menu. You can save the
dictionary any place you like, but \ex{} looks first in its own folder
for dictionaries. If it doesn't find any dictionaries there, you will
have to tell it where to find them. It's probably easiest to save your
dictionaries in the \ex{} folder.  \ex{} is capable of keeping track
of up to 7 dictionaries at a time.

\subsubsection{Open Dictionary}

You can use \textbf{Open Dictionary} to add another dictionary to the
\textbf{Dictionary} menu.  Since no dictionary may appear in the
\textbf{Dictionary} menu more than once, the open file dialog will not
display any file name that already appears in the \textbf{Dictionary}
menu.

\subsubsection{Save Dictionaries}

The \textbf{Save Dictionaries} menu item will save any dictionaries
that have changed since you started \ex. If you forget to invoke the
\textbf{Save Dictionaries} command, \ex{} will warn you when you try
to quit.

\subsubsection{Add Word}

You can use this to add a word to a dictionary when you are not spell
checking a document. You must have a user defined
\htmlref{\emph{active dictionary}}{sec:act-dict} for this item to be
enabled.
\begin{latexonly}
  See \textbf{Active Dictionaries} (section~\ref{sec:act-dict}
  page~\pageref{sec:act-dict}) for more information on active
  dictionaries.
\end{latexonly}

This dialog will let you add a word if it is not already present in
another dictionary.  If the word is already present, \ex{} quietly
does nothing when you hit the \textbf{Add} button.  If you would like
to add a word to a selected dictionary even if it is already present
in another dictionary, hold down the option key when you click on the
\textbf{Add} button.

\subsubsection{Conversions}

Using the \textbf{Conversions} menu you can convert a dictionary to a
text file so you can edit it. This is useful if you want to remove or
add words. You can also convert a text file to a dictionary. The words
do not have to be sorted.

When you convert a dictionary to a text file, \ex{} gives you the
option of setting the file creator for the resulting text file.  You
can choose Alpha, BBEdit, Emacs \ex, MPW, MS~Word, Nisus, \oz{} and
\textures.

You can't do conversions when the \textbf{Dictionary} menu lists 7
dictionaries. In this case you should quit \ex. If you normally use 7
dictionaries, move one of them into a different folder and relaunch
\ex.

When you convert a text file to a dictionary, \ex{} gives you the
option of saving the file as \emph{read only}.  If you choose this
option, you will not be able to add words to the dictionary from
within \ex.  It's a good idea to keep the Standard Dictionary read
only.

\ex{} will recognize accents and ligatures if the \textbf{Do \LaTeX{}
  Command Parsing} option is checked.  If you don't have any accents
or ligatures, you can uncheck this option and the conversion will be a
little faster.

\ex{} also looks at the \textbf{Word Boundaries} options when doing a
text to dictionary conversion.  So, if you have \textbf{Regard 's as
  end of word} selected, \ex{} will not add any words ending in 's to
your dictionary.

You can use \ex{}'s conversions to produce a sorted list of words that
appear in a document.  First, perform a text to dictionary conversion
using a text document as input.  Then, convert your new dictionary to
a text document.  The result will be a sorted list of all the words
that appear in your document.

\subsubsection{The Dictionary List}

The bottom portion of the Dictionary menu contains a list of your
dictionaries. \ex{} uses the checked dictionaries in its spell
checking operation. You can check and uncheck dictionaries before you
begin the spell check operation. Once you have begun, you can't change
them. You \emph{can} change dictionaries \emph{between} spell checking
operations.  Any dictionary that is checked is an
\htmlref{\emph{active dictionary}}{sec:act-dict}.
\begin{latexonly}
  See section~\ref{sec:act-dict} on page~\pageref{sec:act-dict} for
  more information on active dictionaries.
\end{latexonly}

If a dictionary name appears in plain text, it is modifiable.  That
is, you can add words to it.  If the name appears in italics, the
dictionary is read only.

\subsection{LaTeX Menu}
\label{sec:latex}

You can teach \ex{} about new \LaTeX{} commands and environments that
you have defined with the \textbf{LaTeX} menu.
If you define a new command with either \verb+\newcommand+ or
\verb+\renewcommand+, you can tell \ex{} about it by selecting the
\textbf{Edit Commands\ldots} item.  Enter the name of your command
in the text box, select the number of arguments with the pop-up menu,
and hit the \textbf{Add} button.  You can add any number of commands
to the list.  Each command in the list is followed by the number of
arguments that \ex{} should ignore.  Thus, if you define a command
that has three arguments and you would like \ex{} to spell check the
third argument, tell \ex{} to ignore two arguments.

You can tell \ex{} about new environments in a similar fashion.  Use
the \textbf{Edit Environments\ldots} menu item.  It performs exactly
the same as the \textbf{Edit Commands\ldots} item.

You cannot specify the number of arguments for an environment since
\ex{} doesn't need to know this number.  If you add an environment
called \texttt{foo}, \ex{} will ignore everything between
\verb+\begin{foo}+ and \verb+\end{foo}+.  Thus, the number of
arguments is irrelevant.

Use the \textbf{Save Definitions\ldots} command to save the commands
and environments that you have defined to a file.  You can read a file
that contains command and environment definitions with the
\textbf{Read Definitions\ldots} command.

The \textbf{Clear Definitions} command will cause \ex{} to forget
about the currently defined definitions.

\ex{} will check the list of user defined commands and environments before
checking to see if a command or environment is part of standard
\LaTeX.  Thus, if you change the definition of a standard \LaTeX
command with
\begin{verbatim}
\renewcommand
\end{verbatim}
\ex{} will not get confused.

\subsection{Spell Menu}

This menu provides menu and keyboard equivalents to the buttons in the
spell check window.

\subsection{The Help Menu}

You can use the Help menu to get access to the complete \ex{} manual
and the \ex{} home page.  \ex{} will use the browser specified by
Internet Config to open these URLs.  If you do not have Internet
Config installed on your machine, these menu items will not be
available.

\htmladdnormallink{Internet Config}
{http://www.quinn.echidna.id.au/Quinn/Config/} is free and \emph{very}
useful.  If you don't have it installed, you should consider it.  It
is available from most Macintosh archive sites and from the author:
\begin{verbatim}
<http://www.quinn.echidna.id.au/Quinn/Config/>
\end{verbatim}

\section{Other Program Components}

This section explains other program concepts and components.

\subsection{Active Dictionaries}
\label{sec:act-dict}

Throughout this manual, we will refer to any dictionary that is
checked in the \textbf{Dictionary} menu as an \emph{active
  dictionary}.  You can add or remove a check mark by selecting that
menu item. \ex{} uses the active dictionaries when spell checking.

\textbf{Note:} In order for the \textbf{Add\ldots} button to be
operational, you must have at least one modifiable dictionary that is
active.  A dictionary is not modifiable if its name appears in italics
in the \textbf{Dictionary} menu.  A dictionary is active if it is
checked.

\subsection{The Document Display}

The top portion of \ex's display is the document display. \ex{} will
show you the context for your misspelled words here.

\subsection{The Spell Check Window}

\begin{rawhtml}
<P>
<IMG SRC=main-screen.gif>
<P>
\end{rawhtml}

Most of your interaction with \ex{} will be through the spell check
window. It contains buttons for starting the spell check operation and
for making corrections to words. You must open a document using
\textbf{Open\ldots} in the \textbf{File} menu for the spell check
window to appear.

\section{Program Operation}

This section explains how to perform a typical spell check operation.
It also explains how to change \ex's settings.

\subsection{Getting Started}

If you don't already have a document open, open one now with the
\textbf{Open} or \textbf{Open Clipboard} items in the \textbf{File}
menu.  You can also open a document by dragging it onto the \ex{}
icon.  Note that \ex{} opens plain text documents only.

To begin spell checking, hit the \textbf{Start} button.

\ex{} will display incorrect words in the \textbf{Unknown Word} field.
This means that it wasn't able to find the word in any \htmlref{active
  dictionary}{sec:act-dict}.
\begin{latexonly}
  See \textbf{Active Dictionaries} (section~\ref{sec:act-dict} on
  page~\pageref{sec:act-dict}) for more information on active
  dictionaries.
\end{latexonly}

\subsection{How To Make a Spelling Correction}

You enter spelling corrections through the \textbf{Change To:} box.
You can get text into this box in several ways.

\begin{enumerate}
\item Simply enter the correct word.

\item Hit the \textbf{Change} button. This will copy the incorrect
  word to the \textbf{Change To:}\ box. You can then edit the word.

\item Double click on the misspelled word in the document.  This will
  copy the incorrect word to the \textbf{Change To:}\ box.  You can
  then edit the word.

\item Ask \ex{} to suggest a correction by hitting the
  \textbf{Suggest} button. If you see the correct spelling in the list
  of words that \ex{} presents, double click on it. This will copy the
  correct word into the \textbf{Change To:}\ box.
\end{enumerate}

To complete the change operation, hit the \textbf{Change} button.

\textbf{Helpful hint:} If the \textbf{Change To:}\ box is empty, then
\ex{} uses the flagged word to create its suggestion list. If the
\textbf{Change To:}\ box has text in it, \ex{} uses that text as a
basis for its suggestion list. So, if \ex{} doesn't give you a
suggestion that you like, hit the \textbf{Change} button to copy the
flagged word into the \textbf{Change To:}\ box. Then change its
spelling slightly and hit \textbf{Suggest} again.

\subsection{Ignoring a Word}

If you would like to ignore what \ex{} thinks is a misspelled word,
hit the \textbf{Ignore} button. \ex{} will ignore any subsequent
occurrence of this word also. You can change this behavior in the
\textbf{Preferences} dialog.

\subsection{Adding Words to a Dictionary}

\begin{rawhtml}
<P>
<IMG ALIGN=LEFT SRC=add-word.gif>
<P>
\end{rawhtml}

\ex{} flags any word that is not in an active dictionary. To add the
flagged word to an active dictionary, hit the \textbf{Add\ldots}
button.  You can add the word to any active dictionary that is
modifiable.  The Standard Dictionary is read only.

Use the checkbox to always select the same dictionary for the word you
are spell checking. When you do this, \ex{} will stop presenting the
\textbf{Add} dialog every time you add a word. If you have checked
this box, you can force \ex{} to bring up the dialog by holding the
shift key down while you click on \textbf{Add}. This allows you to
deselect the checkbox or select a new set of dictionaries to
automatically select from then on.

After adding a word to a dictionary, you will still have to take an
action on the current word. It will often be the case that you would
like to simply ignore the word now that you have entered it into a
dictionary. You can use the \textbf{Options} menu to make this the
default action.

\textbf{Note:} In order for the \textbf{Add\ldots} button to be
operational, you must have at least one modifiable dictionary that is
active.  A dictionary is not modifiable if its name appears in italics
in the \textbf{Dictionary} menu.  A dictionary is active if it is
checked.

\subsection{Quitting Excalibur}

To quit \ex, select \textbf{Quit} from the \textbf{File} menu. If you
forgot to save your corrections, \ex{} will warn you. \ex{} will also
warn you if you forgot to save any changes to your dictionaries or if
you have not saved any changes to your definitions.

\subsection{Changing Preferences}

You can change preferences by selecting \textbf{Preferences} from the
\textbf{Edit} menu.

\subsubsection{Spell Checking Options}
\label{sec:spell-check-options}

\begin{rawhtml}
<P>
<IMG ALIGN=LEFT SRC=spell-check-options.gif>
<P>
\end{rawhtml}

\textbf{Ignore All CAPS} instructs \ex{} to ignore words that do not
contain any lower case letters.

If you hit the \textbf{Ignore} button and the \textbf{Ignore
  Throughout} option is checked, \ex{} will ignore any subsequent
occurrences of the word.

If you change a word and the \textbf{Replace Throughout} option is
checked, \ex{} will replace all subsequent occurrences of the word
also.  Note that you have to finish spell checking the document for
this to happen.  If you stop spell checking a document before reaching
the end, \ex{} may not replace all occurrences of the word even though
you have checked this option.

If you select the \textbf{Auto Suggest} option, \ex{} will
automatically make suggestions when it shows you a misspelled word.

If you select the \textbf{Spell Check URLs} option, \ex{} will spell
check e-mail addresses and other web addresses.  If you uncheck this
option, \ex{} will skip over these URLs.

\subsubsection{Dialog Behavior Options}

\begin{rawhtml}
<P>
<IMG SRC=dialog-options.gif>
<P>
\end{rawhtml}

If you attempt to replace a misspelled word with a word that is not in
any active dictionary, you may have \ex{} display a warning.  If you
tell \ex{} to proceed with the replacement anyway, \ex{} will remember
the word and it will not ask you about it again.  If you cancel the
operation you will have the opportunity to use a different
replacement.  You could also cancel and then enter the word into a
dictionary.

\paragraph{Press Ignore Button Automatically}

If you have just added a word to the dictionary, you will often want
to press \textbf{Ignore} to indicate that you are finished with the
word.  This option causes this to happen automatically. You will
immediately advance to the next misspelled word when this option is
checked. If you find that you often want to enter several words at
once to the dictionary (for example, the same word with several
different endings), then you may wish to uncheck this option.

\paragraph{Press Change Button Automatically}

If you have just added a replacement word to the dictionary, you will
often want to press \textbf{Change} to make the change and advance you
to the next word. This option causes this to happen automatically. If
you find that you often want to enter several words at once to the
dictionary (for example, the same word with several different
endings), then you may wish to uncheck this option.

\paragraph{Save Dictionaries Automatically}

If you have made changes to user defined dictionaries and you quit
\ex, it will automatically save your dictionaries for you if this
option is set. If this option is not set, \ex{} will warn you before
quitting.

\subsubsection{Word Boundary Options}

\begin{rawhtml}
<P>
<IMG ALIGN=LEFT SRC=word-boundaries.gif>
<P>
\end{rawhtml}

The \textbf{Use German babel conventions} option tells \ex{} that you
are using \texttt{"} when typing an umlaut.  For example, this tells
\ex{} that \verb+"u+ is the same as \verb+\"u+.  When you turn on this
option \ex{} will also know about the German double quotes \verb+"'+
and \verb+"`+, the French double quotes \verb+"<+ and \verb+">+, the
hyphens \verb+"-+, \verb+""+, and \verb+"=+, and the \ss{} (es-zet)
\verb+\3+, \verb+"s+ and \verb+"z+.  This option is not available if
you do not have \LaTeX{} command parsing turned on.

The \textbf{Treat single quotation mark as end of word} option tells
\ex{} that a single quote will never be part of a word. This is
probably not useful for English speaking users since this causes \ex{}
to no longer recognize contractions. It may be useful in French
though. If the word ``application'' is in the dictionary, then \ex{}
won't flag ``l'application.'' Even if this option is checked, \ex{}
will still recognize the \verb+\'+ accent.

The \textbf{Regard 's as end of word} option tells \ex{} to stop
parsing a word when it reaches 's.  Thus, if the word ``Knuth'' is in
your dictionary, \ex{} won't flag ``Knuth's''.  This option is
probably most useful to English speaking users.  This option is not
available if \textbf{Single quote marks end of word} is checked.

\subsubsection{Start-Up Actions}
\label{sec:start-up-actions}

\begin{rawhtml}
<P>
<IMG ALIGN=LEFT SRC=start-up-options.gif>
<P>
\end{rawhtml}

The \textbf{Present an Open File dialog} option tells \ex{} to present
a standard open file dialog when the program starts.

The \textbf{Open the clipboard} option tells \ex{} to open the
clipboard when the program starts.  This will only happen if the
clipboard contains text.  This option also causes \ex{} to
automatically open the clipboard whenever you bring \ex{} into the
foreground.  If you keep \ex{} running so that you can periodically
spell check the contents of the clipboard, this will make this
operation faster.

The \textbf{Open clipboard and go} option is similar to the
\textbf{Open the clipboard} option.  It tells \ex{} to open the
clipboard when the program starts or when you bring \ex{} into the
foreground.  It starts spell checking immediately without the need to
press the \textbf{Start} button.  When you close the window, \ex{}
saves the results back onto the clipboard.  To override this option,
hold down the shift key when you bring \ex{} into the foreground.  It
will still open the clipboard, but it won't automatically start spell
checking.  If you hold down the shift key when you close the window,
\ex{} will not automatically write the document back onto the
clipboard.  Instead, it will warn you if the document is dirty.

The \textbf{Do nothing} option causes \ex{} to do neither of the above
actions when you start the program.  You should set this option if you
are using Word Services.

\subsubsection{\LaTeX\ Options}
\label{sec:latex-options}

\begin{rawhtml}
<P>
<IMG ALIGN=LEFT SRC=latex-options.gif>
<P>
\end{rawhtml}

If \textbf{Do \LaTeX{} Command Parsing} is checked, \ex{} assumes that
the file you are processing contains \TeX/\LaTeX{} commands.

\textbf{Ignore} \verb+\tt+ \textbf{Text} instructs \ex{} to not spell
check words that are in the typewriter font.

\textbf{Warn on parsing errors} causes \ex{} to warn you if it thinks
it found a \LaTeX{} syntax error.

\textbf{Use \TeX{} style accents} instructs \ex{} to use escape
sequences when making corrections that use accents.  For example, when
making a correction it will represent the word na\"{\i}ve as
\verb+na\"{\i}ve+.  If you type text into the \textbf{Change To:} box
using the extended character set, \ex{} will translate the text so
that it uses \TeX{} style accents when making the correction.  This is
useful if you don't remember the \TeX{} sequence for a particular
accent.

This option also affects how \ex{} copies text from the suggestion
list to the \textbf{Change To:} box.  Words always appear in the
suggestion box using the extended character set.  However, \ex{} will
copy them to the \textbf{Change To:} box with \TeX{} style accents so
you can see how they will appear in the document.

\textbf{Use extended character set} instructs \ex{} to use Apple's
extended character set when making corrections that use accents.  For
example, it will use na\"{\i}ve instead of \verb+na\"{\i}ve+.  Even if
you type text in the \textbf{Change To:} box using escape sequences,
\ex{} will translate the text into the extended character set when
making the correction.  If no translation is available (for example,
the character \v{c} doesn't exist in Apple's character set) \ex{} will
insert the word unchanged.

\section{Known Problems}
\label{sec:problems}

When you correct a word, \ex{} does not update the screen to reflect
the correction. However, the change \emph{does} take place.

\section{Large Documents and Dictionaries}
\label{sec:large-docs}

The size of a document or dictionary is limited only by the amount of
memory on your machine.  \ex{} will use any free memory on your
machine to load large documents or dictionaries, or to perform
dictionary conversions.  Quitting other applications will make more
memory available to \ex.

To set the optimal partition size under all versions of the system
software, use the following formula.  Compute the total size of all
your dictionaries and add 567K.  For example, if the dictionaries you
are using have a total size of 1,000K, set \ex's memory partition to
1,567K.

\section{Frequently Asked Questions}
\label{seq:faq}

\begin{enumerate}

\item If there is a \TeX{} and \LaTeX{} way of doing the same thing,
  which should I choose?

  If there is a \TeX{} and \LaTeX{} way of doing things, \ex{} usually
  handles the \LaTeX{} method better. For example, use
\begin{verbatim}
\input{file}
\end{verbatim}
  instead of
\begin{verbatim}
\input file
\end{verbatim}

  Use the \verb+\symbol{}+ command instead of \verb+\char+. For
  example, you should use
\begin{verbatim}
\symbol{'134}
\end{verbatim}
  instead of
\begin{verbatim}
\char'134
\end{verbatim}
  to produce a backslash.  (Actually, the preferred method for producing
  a backslash is to use \verb+\textbackslash+, or \verb+$\backslash$+.)

  Use the \verb+\setlength{}{}+ command change the length of
  something. For example, you should use
\begin{verbatim}
\setlength{\textwidth}{6.5in}
\end{verbatim}
  instead of
\begin{verbatim}
\textwidth=6.5in
\end{verbatim}

  Use \verb+\newcommand+ or \verb+\renewcommand+ instead of
  \verb+\def+ to define a command.

\item I've redefined a \LaTeX{} command to have a different number of
  arguments than usual and now \ex{} is confused.  What should I do?

  Be careful when using \verb+\renewcommand+. \ex{} doesn't look at
  the new definition of a command. If you define it to have a
  different number of arguments than the original command, \ex{} will
  get confused.  Tell \ex{} about the new form of the command by using
  the \htmlref{\textbf{LaTeX} menu.}{sec:latex}
  \begin{latexonly}
    See section~\ref{sec:latex} on
    page~\pageref{sec:latex}.
  \end{latexonly}

\item \ex{} seems to be skipping large portions of my file.  How do I
  fix this?

  \ex{} knows a fair amount about \TeX/\LaTeX{} syntax. If it looks
  like it's skipping large portions of a file, it's probably because
  of an unmatched brace or some other syntax error. It's best to run
  it on a syntactically correct file. It will warn you if it thinks it
  found a syntax error.

\item How do I get \ex{} to recognize accents in a tabbing
  environment?

  The commands \verb+\=+, \verb+\'+, and \verb+\`+ usually produce
  accents. However, they are redefined in a tabbing environment. To
  make sure that \ex{} interprets them properly in a tabbing
  environment, precede (unless at the beginning of a line) and follow
  them by a space. \ex{} knows about the special \verb+\a+ accent in
  the tabbing environment.

\item \ex{} is having trouble finding the end of an environment.  How
  do I fix this?

  For any environment that \ex{} ignores, there should be no spaces
  between the \verb+\end+ and the left curly brace. For example,
  \verb+\end {verbatim}+ will confuse \ex.

\item I'm using \verb+\equation+ \ldots \verb+\endequation+ and
  \ex{} is not ignoring the equations contained within.  What's wrong?

  If you use \verb+\equation+ \ldots \verb+\endequation+ to delimit
  the bounds of an equation, \ex{} won't ignore it. You should use
\begin{verbatim}
\begin{equation}
\end{equation}
\end{verbatim}
  instead.

\item Are there any limitations on \ex's parsing of \TeX{} documents?

  A word may not begin with a left curly brace, but it may contain
  embedded curly braces. For example, \ex{} will recognize the word
  ``na\"\i ve'' when it is written as \verb+na\"{\i}ve+,
  \verb+na\"\i{}ve+, or \verb+na\"\i ve+ but not \verb+{na\"\i}ve+,
  even though this last form is syntactically correct. Note that a
  space may be part of a word.

\item \ex{} is having trouble suggesting accented words.  Why?

  If you are using version 2.3 or later, \ex{} will do a much better
  job of suggesting words if your dictionary has words stored using
  Apple's extended character set.

\item I've defined my own shorthand verbatim environment and \ex{} doesn't
  like it.  How do I instruct \ex{} about my verbatim environment?

  A declaration such as \verb+\def|{\verb|}+ will allow you to write
  \verb+|\rule|+ as a shorthand for \verb+\verb|\rule|+.  However,
  this will completely confuse \ex.  It will start looking for the
  arguments to \verb+\rule+ and report a syntax error.  Use
  \verb+\MakeShortVerb{\|}+ instead and \ex{} will do the right thing.
  It knows about \verb+\DeleteShortVerb{\|}+ too.

  If you have an old \LaTeX{} 2.09 file that creates a shorthand
  verbatim environment in the manner just described, you can trick
  \ex{} into recognizing it by including the following lines in your
  file.
\begin{verbatim}
\iffalse
\MakeShortVerb{\|}
\fi
\end{verbatim}
  \ex{} doesn't process the \verb+\iffalse+ command and so it will
  process the \verb+\MakeShortVerb+ command.

\item I've checked the option that instructs \ex{} to ignore
  \verb+\tt+ text, but it doesn't ignore \verb+\texttt+ text.  How do
  I get it to ignore this too?

  \LaTeXe{} defines the command \verb+\texttt+ for specifying text in
  the typewriter font.  The option to ignore \verb+\tt+ text does not
  have any effect on this command.  If you want \ex{} to ignore the
  argument of \verb+\texttt+, use the \textbf{Edit Commands} dialog.

\item I want to nest math environments, but \ex{} gets confused by
  this.  Is there a way around this?

  If you nest math environments which are delimited by \$'s, \ex{}
  will get confused.  You should use \verb+\(+\ldots\verb+\)+ instead.
  For example, instead of
\begin{verbatim}
$\Lambda = n \in I \mbox{for all $n \ge 0$}$
\end{verbatim}
use
\begin{verbatim}
\(\Lambda = n \in I \mbox{for all \(n \ge 0\)}\)
\end{verbatim}

\item I'm using a package that redefines the \verb+\cite+ command to
  have more than one optional argument.  Now \ex{} refuses to spell
  check my document.  How do I tell \ex{} that \verb+\cite+ may have
  more than one optional argument?

  Use the \textbf{Edit Commands} dialog to tell \ex{} that the
  \verb+\cite+ command has one argument.  This may not seem different
  than the usual definition, but there's a subtle difference.  \ex{}
  will ignore \emph{all} optional arguments for commands defined using
  the \textbf{Edit Commands} dialog.  If you use this package
  frequently, save your preferences and \ex{} will remember this
  setting every time you use it.

\item How do I tell \ex{} not to spell check an e-mail or HTML
  address?

  Uncheck the \textbf{Spell check URLs} options.

\item How do I use \ex{} with AppleWorks (ClarisWorks)?

  \ex{} and AppleWorks communicate through Word Services. AppleWorks
  doesn't make this very obvious.  For a good explanation of how it
  works, see \htmladdnormallink{Using Word Services with ClarisWorks.}
  {http://www.wordservices.org/Products/clarisworksinst.html}
  \begin{latexonly}
\begin{alltt}
\url{http://www.wordservices.org/Products/clarisworksinst.html}
\end{alltt}
  \end{latexonly}

\end{enumerate}

\section{Plans for the Future}

I will fix any bugs that people find. Please use the information in
\htmlref{\textbf{Suggestions and Bug Reports}}{sec:bugs}
\begin{latexonly}
  (section~\ref{sec:bugs} on page~\pageref{sec:bugs})
\end{latexonly}
to send bug reports.

I welcome suggestions on how to improve \ex.

\section{Suggestions, Bug Reports, and Contact Information}
\label{sec:bugs}

I am very interested in maintaining and improving this program.  If
you have a \htmladdnormallink{bug
  report}{http://www.eg.bucknell.edu/\~{}excalibr/excalbug.html}
and your bug is not easy to reproduce, try to send us a small file
that readily reproduces the problem.  Be sure to mention which version
of \ex{} you are using.

Send comments, suggestions, contributions, and bug reports to:

\begin{flushleft}
Rick Zaccone \\
Computer Science Department \\
Bucknell University \\
Lewisburg, PA 17837 \\
U.S.A \\[4pt]

Phone: 570-577-1393 \\[4pt]

Electronic mail: \verb+zaccone@bucknell.edu+ \\
\end{flushleft}

\section{Other Dictionaries}
\label{sec:dictionaries}

You will always find the latest version of \ex{} on the
\htmladdnormallink{\ex{} home
  page.}{http://www.eg.bucknell.edu/\~{}excalibr/excalibur.html}
\begin{latexonly}
\begin{alltt}
\url{http://www.eg.bucknell.edu/~excalibr/excalibur.html}
\end{alltt}
\end{latexonly}
You will also find dictionaries for atomic elements, British English,
Catalan, Danish, Dutch, French, German, HTML, Italian, life sciences,
Manx Gaelic, medical terms, Norwegian, Portuguese, and Spanish.

\section{Acknowledgments}

Special thanks to Adrienne Forbes for her tireless testing and
Stephanie DiBello for \ex's new splash screen and About box.

I produced \ex{} using \htmladdnormallink{Metrowerks
  CodeWarrior}{http://www.metrowerks.com/}.

We wish to acknowledge the efforts of Matt Biar for Version 1.0
\LaTeX{} parsing and significant contributions to the design of \ex.
We also thank Mohamad Daimon for great user interface ideas,
knick-knacks, and hours of tedious testing.

We also acknowledge the rest of the original \ex{} team: Nancy Dodge
(documentation), Dan Jamieson , John Meehan, James Mitchell, Frank
Lijoi, and Joe Lijoi.

\section{Excalibur Legend}

Excalibur is King Arthur's great sword. It sometimes gives off light
and occasionally is wielded by Gawain. Excalibur is given to Arthur,
and finally taken from him, by a hand in the lake.  Merlin, who brings
Arthur to the Lady of the Lake to receive Excalibur, informs the King
that the scabbard is worth far more than the sword itself, for the
former will protect its bearer from injury. Despite this fact, it is
the sword rather than its scabbard that has captured the imagination
of later writers and readers.

\section{Legal Fine Print}

\ex{} is free. However it is not public domain and we retain the
copyright. You may not charge to redistribute this program except for
normal download fees.  You may not distribute \ex{} with a commercial
package without written permission from the authors.

\htmladdnormallink{\textures{}}{http://www.bluesky.com/textures.html}
is a commercial version of \TeX{} for the Macintosh produced by
\htmladdnormallink{Blue Sky Research}{http://www.bluesky.com/}.

\htmladdnormallink{\oz{}}{http://www.kagi.com/authors/akt/oztex.html}
is a shareware version of \TeX{} for the Macintosh produced by
\htmladdnormallink{Andrew
  Trevorrow}{http://www.kagi.com/authors/akt/}.

\section{Excalibur Genealogy}

\ex{} has its roots in a software engineering course at Bucknell
University in the spring semester of 1990.  Rick Zaccone produced the
current version using the original application as a base.

\subsection{Version 3.0, October 11, 1999}

\begin{itemize}
\item New Features:

  \begin{itemize}

  \item \ex{} will now optionally skip over URLs.  By default, it will
    skip over URLs when spell checking.

  \item You can zoom and grow \ex's window.

  \item Preferences are now in a tab panel and they are automatically
    saved.

  \item Spell checking, particularly on large documents, is much
    faster.

  \item Text to dictionary conversions are dramatically faster,
    regardless of the ordering of the original text file.  Dictionary
    to text conversions are about twice as fast as before.

  \item Adding words to an existing dictionary is faster.

  \item Improved how Replace Throughout works.  \ex{} now does a
    better job with case preservation and multi-word replacements.

  \item Made some corrections to the Standard Dictionary.  Eliminated
    a few errors and added more words. There are now 161,855 words in
    the Standard Dictionary!

  \item Improved suggestions.

  \item Changed the behavior when replacing a word with something that
    is not in an active dictionary.

  \item There are keyboard equivalents for most operations.

  \item Added Nisus Writer to the file type popup menu.

  \item \ex{} is now PowerPC only.

  \item Many smaller changes.

  \end{itemize}

\item Bugs Fixed:
  \begin{itemize}

  \item Fixed a bug that caused the last word in a text file to
    sometimes not get included when doing a text to dictionary
    conversion.

  \item Fixed a bug that would have caused a few error message not to
    be displayed properly.

  \end{itemize}

\item Special Notes:

  \begin{itemize}

  \item \ex{} is still freeware, but please consider helping me defray
    development costs by making a contribution.  I have supported this
    program since 1991 and I will continue to do that.  However,
    development tools are expensive.  If you would like to contribute
    a development tool directly, please contact me and I'll let you
    know what I need.

  \item Special thanks to Adrienne Forbes for her tireless testing and
    Stephanie DiBello for \ex's new splash screen and About box.

  \end{itemize}

\end{itemize}


\subsection{Version 2.6, November 5, 1998}

\begin{itemize}
\item New features:

  \begin{itemize}
  \item You can now drag multiple files on \ex.  When you do, it will
    operate in a slightly different fashion.  It will automatically
    start spell checking each file and it will auto save each file
    when you are finished with it.

  \item Added Navigation Services support.  You can select more than
    one file to spell check.  When you select more than one file, the
    behavior is the same as when you drop multiple files onto \ex.

  \item \ex{} has a significantly better Standard Dictionary.  The new
    dictionary is several times larger than the previous one.  As a
    result, \ex's suggested application size is now about 2~MB.  I am
    grateful to Adrienne Forbes for her invaluable help in putting
    this dictionary together.

  \end{itemize}

\item Bugs fixed:

  \begin{itemize}
  \item Fixed a display bug that appeared when a document was open and
    you tried to open another document that was busy.

  \item Fixed the handling of \textbf{Save As}\ldots while correcting.

  \item Clicking on the splash screen no longer causes a crash.
  \end{itemize}

\end{itemize}

\subsection{Version 2.5.2, August 8, 1998}

\begin{itemize}

\item Bugs fixed:

  \begin{itemize}

  \item Fixed \ex's handling of Word Services.  It works much better
    with most applications now.  In particular, you don't lose
    formatting with ClarisWorks and WordPerfect.

  \item \ex{} knows about \verb+\tabularnewline+, \verb+\r+ (ring
    accent), \verb+\SS+ (capital \verb+\ss+), \verb+\k+ (ogonek
    accent), \verb+\DH+ (eth), \verb+\DJ+ (dbar), \verb+\NG+ (eng),
    \verb+\TH+ (thorn) and their lower case equivalents.

  \item Zap null characters if they're present in a file.  This
    prevents parsing errors that sometimes occurred.

  \item Double clicking on a misspelled word should copy it into the
    \textbf{Change To:} box.  When the word was at the beginning of a
    line, this did not always work.  It does now.

  \item Fixed some internal workings that are not presently a problem,
    but might cause problems in future versions of the operating
    system.

  \item Fixed a bug that could have caused an occasional crash while
    saving commands.  (No crash was ever reported.)

  \item Updated the popup menu that appears in the Save dialog when
    performing dictionary to text conversions.

  \item Fixed a cosmetic problem related to window shading.

  \item Fixed a bug that prevented \ex{} from adding certain
    dictionary names to the Dictionary menu properly.

  \item Many other minor changes.

  \end{itemize}

\end{itemize}

\subsection{Version 2.5.1, November 26, 1997}

\begin{itemize}

\item Bugs fixed:

  \begin{itemize}

  \item \ex{} no longer displays a dialog when it receives an Apple
    Event it doesn't understand.

  \item \ex{} now handles DOS and Unix files correctly.

  \item Fixed a rare bug that sometimes caused saves to fail under
    System~6 while running over an AppleTalk network.

  \end{itemize}

\end{itemize}

\subsection{Version 2.5, July 3, 1997}

\begin{itemize}
\item New Features:

  \begin{itemize}

  \item \ex{} supports the Word Services batch check, check word and
    guess word events.  I have tested it with MT-NewsWatcher, Eudora
    Pro, Communicate 2.0 (due in late summer), Nisus Writer, and
    ClarisWorks.  \ex{} is a plain text spell checker, so it works
    best in Nisus Writer and ClarisWorks if you check a segment of
    text that uses a single font and size.

  \item The \ex{} manual and the \ex{} home page are now available
    through the help menu if you have Internet Config installed.

  \item If you have Internet Config installed, \ex{} will use it to
    determine the file type when you select \textbf{Save As}.

  \end{itemize}

\item Bugs Fixed:

  \begin{itemize}

  \item Fixed a bug that caused buttons to appear as check boxes under
    System~8.

  \item Fixed another bug related to converting very large
    dictionaries to text files on 68K machines.

  \end{itemize}

\end{itemize}


\subsection{Version 2.4, June 1, 1997}

\begin{itemize}
\item New Features:

  \begin{itemize}
  \item Improved suggestions.

  \item Use a AGA compliant popup menu in the edit commands dialog if
    possible.

  \item Changed the \textbf{Edit Commands} dialog so that there is
    more room for the command name.

  \item The ``Use german.sty conventions'' option is now called ``Use
    German babel conventions''.

  \item \ex{} knows how to translate \texttt{"s} and \texttt{"z} when
    German babel conventions are turned on.

  \item Added a check box to the open file dialog that enables you to
    view only \texttt{*.tex} and \texttt{*.ltx} files.  If you save
    preferences, \ex{} will remember the contents of this check box.

  \item \ex{} knows about the Catalan geminated-l digraph.  In
    \LaTeX{} it recognizes \verb+\l.l+ and \verb+\L.L+.  Using the
    Macintosh character set, type
    \html{\texttt{l.l}}\latex{\texttt{l}$\cdot$\texttt{l}} or
    \html{\texttt{L.L}}\latex{\texttt{L}$\cdot$\texttt{L}} where
    \latex{$\cdot$}\html{\texttt{.}} is a centered dot.

  \item Modal dialogs are now moveable.

  \item Better handling of eastern European and extended Roman
    scripts.
  \end{itemize}

\item Bugs Fixed:

  \begin{itemize}
  \item Fixed a crashing bug when converting a dictionary to text.  It
    only occurred when converting very large dictionaries.

  \item Fixed an minor update problem in the spell check window.

  \item Better error detection when opening files.  It knows about
    AppleShare deny modes and it checks for locked volume.

  \item Fixed a minor update problem in open and save file dialogs.

  \end{itemize}

\end{itemize}

\subsection{Version 2.3.1, November 17, 1996}

\begin{itemize}
\item New features:
  \begin{itemize}
  \item Added some conformance to Apple's Grayscale Appearance.

  \item If you ask \ex{} to remember which dictionaries are currently
    active, it checks to see if the file or an alias to it is in its
    folder.  If not, it will remind you that it won't be able to find
    the dictionary the next time you launch the program.
  \end{itemize}

\item Bugs fixed:

  \begin{itemize}
  \item Suggestions are much faster.

  \item Fixed a bug that caused \ex{} to squeeze blanks out of words
    in the \textbf{Change To:} box.

  \item Fix a problem with \ex{} not being able to recognize
    characters in the extended character set on systems that use a non
    Roman script.
  \end{itemize}
\end{itemize}

\subsection{Version 2.3, September 7, 1996}

\begin{itemize}
\item New features:
  \begin{itemize}
  \item \ex{} is much better at making suggestions.

  \item \ex{} gives you the option of making corrections using \TeX{}
    style accents or with Apple's extended character set.  See
    \htmlref{\textbf{\LaTeX{} Options}}{sec:latex-options}
    \begin{latexonly}
      on page~\pageref{sec:latex-options}
    \end{latexonly}
    for more information.

  \item When \ex{} adds a word to a dictionary, it will do so using
    Apple's extended character set if possible.  This helps to make
    the new suggestion algorithm work better.

    If you have been saving words with \TeX{} style accents, you
    should convert your dictionary.  Using \ex{} 2.3, convert your
    current dictionary to a plain text file.  Then, convert it back
    into a dictionary.  Don't forget to set your spell checking
    options before doing this second conversion.  You do not need to
    make any changes to the Standard Dictionary.

  \end{itemize}

\item Bug fixes:
  \begin{itemize}
  \item Improved error checking and error recovery when opening and
    saving files that are in use by other applications.
  \end{itemize}
\end{itemize}

\subsection{Version 2.2.2, April 18, 1996}

\begin{itemize}
\item New features:

  \begin{itemize}
  \item Added processing for
\begin{verbatim}
\DeclareMathOperator
\font
\textcircled
\end{verbatim}

  \item \ex{} now knows about the \AmS-\LaTeX{} variants of the
    following commands:
\begin{verbatim}
\newcommand
\newenvironment
\newtheorem
\parbox
\providecommand
\renewcommand
\renewenvironment
\end{verbatim}

  \item Buttons are now indented when you press them so they look like
    they're pressed.
  \end{itemize}

\item Bugs Fixed:

  \begin{itemize}

  \item Fixed a bug that caused \ex{} to skip two characters following
    a math environment delimited by \verb+\(+\ldots\verb+\)+.

  \item Fixed a hard to reproduce bug that caused \ex{} to crash
    on some machines that don't have color.

  \item Corrected the processing of \verb+\email+.

  \item Shift key didn't bring up Add Words dialog if there was only
    one modifiable dictionary.

  \end{itemize}

\end{itemize}

\subsection{Version 2.2.1, March 13, 1996}

\begin{itemize}

\item New features:

  \begin{itemize}

  \item \ex{} knows about the commands
\begin{verbatim}
\MakeShortVerb
\DeleteShortVerb
\end{verbatim}

  \item Added a start-up option that causes \ex{} to start spell
    checking whenever it opens the clipboard.  When this option is
    set, closing the window saves the results back to the clipboard.
    Holding down the shift key overrides the new behavior in both
    cases.

  \item Got rid of the \textbf{Save To Clipboard} menu item.  Now the
    text of the \textbf{Save} item changes to \textbf{Save Clipboard}
    when the document is a clipboard.

  \item Allow the nesting of \verb+\(+\ldots\verb+\)+ pairs.

  \item Better memory management.  You don't have to increase the
    application size to use a large dictionary.

  \end{itemize}

\item Bugs fixed:

  \begin{itemize}

  \item Fixed a bug that caused the \textbf{Add} button to not update
    when the user creates a new dictionary.

  \item Fixed the About Box animation.

  \item Fixed a bug that caused new commands not to get inserted into
    the list of commands properly.

  \item Improved reporting for \LaTeX{} syntax errors.  Most of the
    parsing code is new.

  \item Better recovery when a dictionary fails to load.

  \item Disable \textbf{Convert} menu if the dictionary list is full.

  \item Fixed two minor bugs that caused Excalibur to report a syntax
    error when there was no error.

  \end{itemize}

\end{itemize}

\subsection{Version 2.2, January 25, 1996}

\begin{itemize}

\item Got rid of some of \ex's alerts.  The program operation is much
  smoother.  \ex{} displays the current state of the program rather
  than announce it with alerts.

\item \ex{} no longer beeps when it can't find a suggestion.  Instead,
  it puts a message into the suggestion box.  It's much less annoying
  now, and it's fast enough on the power Mac that you may want to
  leave the \textbf{Auto Suggest} option checked.

\item \ex{} will now open aliases to dictionaries.  For example,
  suppose there's a dictionary on a server that you would like to use
  every time you launch \ex.  Put an alias to that dictionary in the
  \ex{} folder and it will open it when you launch the program.

\item If a document is already open, you can replace it with another
  as long as a spell check operation is not in progress.

\item \ex{} now has a Spanish dictionary.  See \htmlref{\textbf{Other
      Dictionaries}}{sec:dictionaries}
    \begin{latexonly}
      (section~\ref{sec:dictionaries} on
      page~\pageref{sec:dictionaries})
    \end{latexonly}
    for information on where to find it and other dictionaries.

\item \ex{} remembers the folder of the last file you opened.

\item \ex{} continues to look for dictionaries after finding an old
  style dictionary.

\item Fixed a dictionary conversion bug that caused \ex{} to think it
  was out of memory when it really wasn't.

\item Revised \ex's balloon help.

\item Dialogs draw faster on a PowerPC.

\item Numbers now have a thousands separator.

\item Fixed a problem with hitting the \textbf{Restart} button when
  the document is a clipboard snapshot.

\item Updated the \texttt{BBEdit} icon so that it is in step with the
  \texttt{BBEdit}~3.5 icon.

\item Fixed a bug that caused \ex{} to not properly remember your
  preferences for commands.

\item Fixed a menu update problem.

\item Made e-mail address in About Box easier to read.

\item There are many other minor changes.

\end{itemize}

\subsection{Version 2.1, March 28, 1995}

\begin{itemize}
\item \ex{} now has a new look!

\item There are better error message when \ex{} detects a syntax
  error.

\item There are better error messages when doing conversions.

\item When doing a dictionary to text conversion you can select the
  text file type from a pop-up menu.

\item Double clicking on a misspelled word copies it into the
  \textbf{Change To: box}.

\item If you have just one modifiable dictionary, \ex{} doesn't ask
  you which dictionary to add a word.

\item \ex{} requires System 6.0.5 or greater.

\item \ex{} now observes the \textbf{Ignore all CAPS} option when
  converting from text to dictionary.

\item Fixed a bug that caused \ex{} to sometimes suggest the same word
  more than once.

\item Added support for the \texttt{german.sty} sequences \verb+"|+
  (separate ligatures) and \verb+"~+ (unbreakable hyphen).

\item The About box animation works at the same rate regardless of the
  CPU speed.

\item There are various other adjustments and bug fixes.

\end{itemize}

\subsection{Version 2.0.1, January 12, 1995}

\begin{itemize}
\item A word is considered to be all caps if it doesn't contain any
  lower case letters.  Thus, ``FRED'S'' is now all caps as is ``68K''.
  Previously, all characters had to be upper case letters.

\item \ex{} sometimes thought that definitions were dirty when they
  were not.  This no longer happens.

\item Fixed some minor problems with dictionary names in the
  \textbf{Dictionary} menu.

\item Better handling of dictionaries and memory.  Unchecking a
  dictionary purges it from memory.

\item The Edit Commands and Edit Environments dialogs are now in
  color.

\item It's now legal to create a command with zero arguments.  This is
  useful if you want to override a built-in command to have zero
  arguments.

\item Fixed a problem that caused \ex{} to sometimes not find
  dictionaries at start-up.

\item Various other minor fixes.

\end{itemize}

\subsection{Version 2.0, July 6, 1994}

\begin{itemize}

\item \ex{} now runs in native mode on a PowerPC.

\item \ex{} uses a new dictionary format that greatly speeds up
  operations in languages other than English.

  You will need to convert any dictionaries you created with a
  previous version of \ex{} to this new format.  Here's the procedure
  for doing that.  (The dictionary we are distributing with \ex{} 2.0
  is a new version of the Standard Dictionary.)

  Use your current version of \ex{} (1.x) convert your dictionary to a
  text file.  Then use \ex{} 2.0 to convert that text file back into a
  dictionary.  Don't forget to pay attention to your option settings
  when creating a new dictionary.  For example, if you set the option
  to treat 's as the end of a word, no words with 's will appear in
  your dictionary.

  \ex{} 2.0 is smart enough to display an error message if you try to
  open an old style dictionary.  Old versions of \ex{} may crash if
  you try to open a new style dictionary.

\item \ex{} uses temporary memory to open large files and when doing
  text to dictionary and dictionary to text conversions.  This means
  that if there is enough memory on your machine, you won't have to
  increase \ex's partition size to open a large file or to do a
  conversion.

\item \ex{} has a vastly improved memory management scheme.  It should
  always recover gracefully from a low memory situation.

\item Text to dictionary conversions use much less memory.  Fixed a
  few bugs associated with conversions.

\item Hitting the Enter key selects the default item in the spell
  check window.

\item \ex{} knows about the \SLiTeX{} and \texttt{seminar.sty}
  versions of the slide environment.

\item \ex's interaction with Alpha is smoother.  If you select
  Spellcheck Window in Alpha and \ex{} already has a window open, it
  will close it and spell check the new document.  It does this more
  smoothly now.

\item \ex{} uses intelligent suggestions for the new file names when
  doing conversions.  You can customize the strings that \ex{} uses
  for extensions by changing resource \verb+STR#+ 306.

\item The behavior of the \textbf{Add Word}\ldots menu item has
  changed slightly.  Now it adds a word only if it doesn't appear in
  any other active dictionary.  If you would like to add a word to a
  dictionary even if it appears in another dictionary, hold down the
  option key when you click on the Add button.

\item Various smaller changes.

\end{itemize}

\subsection{Version 1.5.1, April 10, 1994}

\begin{itemize}

\item Fixed some clipboard problems that surfaced when running
  System~6.

\item Saving now works properly on EasyServer and CAP (Columbia
  AppleTalk Package) volumes.  It now works under A/UX~3.0 too.
  (Thanks to Stuart Castergine for helping me fix this.)

\item \ex{} knows about new \LaTeXe{} commands.

\item Put up an alert if the preferences file is out of date.

\item The updating of statistics while spell checking is now flicker
  free.

\item The buttons in the spell check window are handled a bit more
  intelligently. If the text in the \textbf{Change To:} box and the
  flagged word are the same, then the \textbf{Change} button is
  inactive.  If there is no text in the \textbf{Change To:} box, then
  the \textbf{Ignore} button is the default.

\item A `@' can now be part of a user defined command or environment
  name.

\item Fine tuned memory management somewhat.

\item Fixed a rare bug that would cause \ex{} to be unable to find
  dictionaries.

\end{itemize}

\subsection{Version 1.5, January 14, 1994}

\begin{itemize}

\item Added options that let the user choose how \ex{} should behave
  when you launch it.  You may choose to present an ``open file''
  dialog, open the clipboard if it has text, or do nothing.  When the
  clipboard option is checked, \ex{} will also open the clipboard when
  it receives a resume event (if it contains text).

\item Adjusted a few of the dialogs so that they all appear and behave
  consistently.  Hitting Return or Enter is the same as clicking the
  default button.  Command period is the same as cancel.

\item Made some changes so that \ex's interactions with Alpha are
  better.

\item Fixed the \textbf{Edit Commands} dialog so that it is a bit more
  intuitive.

\item Fixed the \textbf{Edit Environments} dialog so that you no
  longer enter the number of arguments.  \ex{} never used these values
  anyway.

\item You can now drag \ex's windows to another monitor.

\item Fixed a few minor bugs.

\end{itemize}

\subsection{Version 1.4.2, August 11, 1993}

Fixed a bug that caused all the buttons in the spell check window to
be inactive during the correction phase.  This happened on 68000 based
machines.

\subsection{Version 1.4.1, August 4, 1993}

\begin{itemize}

\item Repaired several minor bugs including better error handling
  under low memory conditions.

\item You can now convert larger text files into dictionaries.  If you
  create a really large dictionary you may not be able to read it with
  an older version of \ex{}.

\item \ex{} knows about the conventions in \texttt{german.sty}.  If
  you turn on the option to treat \texttt{"} as if it were \verb+\"+,
  \ex{} will also know about the hyphens and quotes defined in
  \texttt{german.sty}.

\end{itemize}

\subsection{Version 1.4, July 11, 1993}

\begin{itemize}

\item You may now spell check the contents of the clipboard.  You may
  save the results back to the clipboard too.

\item You may now teach \ex{} about new commands and environments that
  you have defined.

\item Fixed some update problems that occurred when balloon help was
  on.

\item Fixed a problem with the \textbf{Save As\ldots} command.

\item Fixed a problem that caused a flagged word to not appear on the
  screen.  This occurred very rarely.

\item \ex{} now handles the \verb+\cite+ command properly.

\item Fixed an obscure bug in the \textbf{Add Words\ldots} dialog.

\item Added an option that tells \ex{} to treat \texttt{"} as if it
  were \verb+\"+.  If you type \"u as \verb+"u+ instead of \verb+\"u+,
  \ex{} will be happy.  Many German speaking users requested this
  change.

\item There is an option that will cause \ex{} to always have a single
  quote mark the end of a word.  This is not good for English speaking
  users since \ex{} will not recognize contractions when this is on.
  However, many French speaking users requested this.

\item When the \textbf{Use selection from now on} box is checked in
  the \textbf{Add\ldots} dialog, the ellipses no longer appear in
  the \textbf{Add} button.  This gives you a visual indication that
  this box is checked.

\item If you have an older version of \ex{}, you will need to
  rebuild your desktop in order to see the new icon for definition
  files.
\end{itemize}

\subsection{Version 1.3.3, May 1, 1993}

\begin{itemize}

\item Version 1.3.3 has a better algorithm for suggesting words with
  accents.

\item Added processing for \verb+\epsfbox+ command.

\item Most text that appears in dialog boxes is now in string
  resources. This should make it easier to localize \ex.

\item Some \ex{} users have been kind enough to contribute additional
  dictionaries. There are British, Dutch, French, German, Italian and
  Spanish dictionaries.  We will gladly accept any other
  non-copyrighted dictionaries that users are willing to contribute.

\item We also eliminated the help facility in this version. The
  balloon help makes it unnecessary.

\end{itemize}

\subsection{Version 1.3.2, April 10, 1993}

\begin{itemize}
\item \ex{} now has balloon help.

\item You may now optionally ignore \texttt{'s} at the end of words.

\item There is an option to automatically suggest a correction to a
  misspelled word.

\item The error correction phase of \ex{} is now faster. Under certain
  rare circumstances, the error correction phase would slow down. This
  no longer happens.

\item In preparation for some future additions to \ex{}, we have
  rewritten much of the display code. A few things look different, but
  there are a lot of changes under the hood.

\item Fixed some problems with the Standard Dictionary.

\item Numerous minor fixes and adjustments.
\end{itemize}

\subsection{Version 1.3.1, February 7, 1993}

This version corrects a bug in the \LaTeX{} parsing, and it correct
several minor display problems.

\subsection{Version 1.3, January 10, 1993}

\begin{itemize}
\item \ex{} handles disk insert events. If you insert an uninitialized
  disk while \ex{} is running, it will ask you if you want to
  initialize it.

\item \ex{} now recognizes the \verb+\lefteqn+ command.

\item \ex{} positions alerts and dialogs according to the Human
  Interface Guidelines.

\item \ex{} saves both the resource and data forks of a file.
  Previously, it didn't save the resource fork under System~7.

\item \ex{} looks at the ``Do LaTeX Parsing'' option when doing text
  to dictionary conversions. If this option is checked, \ex{} will
  recognize \TeX{} accents and ligatures in words.

\item Text to Dictionary conversions are faster. They also require
  more memory.

\item \ex{} correctly updates the document display.

\item Drag and Drop should work better.

\item Numerous bug fixes.
\end{itemize}

\subsection{Version 1.2}

We produced version 1.2 in September 1992.  Here are the features and
bug fixes we added.

\begin{itemize}

\item Fixed problem with recognizing the \texttt{tabular*}
  environment.

\item \ex{} is now System~7 friendly. It handles the required Apple
  events. (It handles the Print event, although it doesn't do
  anything.) As a result, it handles drag and drop operations
  properly. You may drag just one file at a time.

\item \ex{} now uses a ``safe save'' technique for saving files if you
  are running System~7. That is, it saves the file into a temporary
  file. Once the save has successfully completed, \ex{} moves the file
  onto the original.  This may make a difference if you are saving
  onto a floppy disk.  Make sure there is enough room for two copies
  of the file.

\item \ex{} now requires System 6.0.4 or higher.

\item \ex{} recognizes the Apple extended character set.

\item Fixed a display bug in the ``About the Authors'' dialog.

\item \ex{} now recognizes \AmS-\LaTeX{} environments. In particular,
  it knows about the environments

  \latex{
    \begin{tt}
      \begin{tabular}{ll}
        align     & gather*    \\
        align*    & multline   \\
        alignat   & multline*  \\
        alignat*  & xalignat   \\
        comment   & xalignat*  \\
        equation* & xxalignat  \\
        gather    & xxalignat*
      \end{tabular}
    \end{tt}
  }
  \html{
    \begin{rawhtml}
      <P>
      <TABLE BORDER=2 CELLSPACING=2 CELLPADDING=2 >
      <TR><TD><TT>align      </TT></TD> <TD><TT>gather*    </TT></TD></TR>
      <TR><TD><TT>align*     </TT></TD> <TD><TT>multline   </TT></TD></TR>
      <TR><TD><TT>alignat    </TT></TD> <TD><TT>multline*  </TT></TD></TR>
      <TR><TD><TT>alignat*   </TT></TD> <TD><TT>xalignat   </TT></TD></TR>
      <TR><TD><TT>comment    </TT></TD> <TD><TT>xalignat*  </TT></TD></TR>
      <TR><TD><TT>equation*  </TT></TD> <TD><TT>xxalignat  </TT></TD></TR>
      <TR><TD><TT>gather     </TT></TD> <TD><TT>xxalignat* </TT></TD></TR>
      </TABLE>
      </P>
    \end{rawhtml}
  }

\item It knows the \AmS-\LaTeX{} commands

  \html{
    \begin{rawhtml}
      <P>
      <TABLE BORDER=2 CELLSPACING=2 CELLPADDING=2 >
      <TR><TD><TT>accentedsymbol </TT></TD>
      <TD><TT>numberwithin          </TT></TD></TR>
      <TR><TD><TT>addtoversion   </TT></TD>
      <TD><TT>operatorname          </TT></TD></TR>
      <TR><TD><TT>email          </TT></TD>
      <TD><TT>operatornamewithlimits</TT></TD></TR>
      <TR><TD><TT>eqref          </TT></TD>
      <TD><TT>series                </TT></TD></TR>
      <TR><TD><TT>family         </TT></TD>
      <TD><TT>shape                 </TT></TD></TR>
      <TR><TD><TT>newmathalphabet</TT></TD>
      <TD><TT>theoremstyle          </TT></TD></TR>
      </TABLE>
      </P>
    \end{rawhtml}
  }

  \begin{latexonly}
    \begin{tt}
      \begin{tabular}{ll}
        accentedsymbol  & numberwithin            \\
        addtoversion    & operatorname            \\
        email           & operatornamewithlimits  \\
        eqref           & series                  \\
        family          & shape                   \\
        newmathalphabet & theoremstyle
      \end{tabular}
    \end{tt}
  \end{latexonly}

\item If \ex{} gets an error while trying to save a file, it tries to
  print a meaningful error message. If it gets an error for which it
  doesn't have a message, it prints the error number.

\item Added Preferences File that saves spell-checking and dialog
  options as well as the names of active dictionaries.

\item Changed Help dialog button from OK to Done.

\item Added Text to Dictionary and Dictionary to text file
  conversions. Text files can be saved as MS Word, Alpha, or generic
  text files.  Alpha contains some nice support for \LaTeX.  It's well
  worth the shareware fee.
\end{itemize}

\subsection{Version 1.1}

Version 1.1 was produced in February 1992. We have rewritten
substantial portions of version 1.0.

Some new features include:

\begin{itemize}
\item User defined dictionaries now work.

\item Many improvements to the user interface.

\item \LaTeX/\TeX{} command recognizer completely rewritten.  \LaTeX{}
  command recognition is now excellent. Plain \TeX{} command
  recognition is good. The syntax of plain \TeX{} is difficult to
  parse. We are not sure how much the plain \TeX{} recognition will
  improve in the future, but please send us information about any
  problems you have.

\item \ex{} knows about accented characters and ligatures.

\item \ex{} will optionally ignore text in the \verb+\tt+ font.

\item \ex{} will now warn you if it thinks it found a \LaTeX{} syntax
  error in a file.

\item \ex{} is considerably faster than version 1.0.
\end{itemize}

\subsection{Version 1.0}

Version 1.0 was produced in May 1990.

\end{document}

% Local Variables:
% mode: outline-minor
% outline-regexp: "\\\\section\\|\\\\subsection\\|\\\\subsubsection"
% End:
