%%% ====================================================================
%%%  @LaTeX-file{
%%%     filename        = "euscript.dtx",
%%%     version         = "2.1e",
%%%     date            = "1994/12/13",
%%%     time            = "11:46:00 EST",
%%%     author          = "American Mathematical Society",
%%%     address         = "American Mathematical Society,
%%%                        Technical Support,
%%%                        Electronic Products and Services,
%%%                        P. O. Box 6248,
%%%                        Providence, RI 02940,
%%%                        USA",
%%%     telephone       = "401-455-4080 or (in the USA and Canada)
%%%                        800-321-4AMS (321-4267)",
%%%     FAX             = "401-331-3842",
%%%     checksum        = "16377 194 878 7371",
%%%     email           = "tech-support@math.ams.org (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "latex, amslatex, ams-latex, amsfonts, msam,
%%%                        msbm, eufm, blackboard bold",
%%%     supported       = "yes",
%%%     abstract        = "This is part of the AMS-\LaTeX{} distribution.
%%%                        It is a \LaTeX{} package that sets up some
%%%                        font shape definitions to use the Euler
%%%                        script symbols in math mode. These fonts are
%%%                        part of the AMSFonts font set.",
%%%     docstring       = "The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility.",
%%%  }
%%% ====================================================================
%
%\iffalse
%<*driver>
\documentclass{amsdtx}
\usepackage{eucal}
\begin{document}
\title{The \pkg{eucal} and \pkg{euscript} packages}
\author{Frank Mittelbach\and Rainer Sch\"opf\and Michael Downes}
\date{Version \fileversion, \filedate}
\hDocInput{euscript.dtx}
\end{document}
%</driver>
%\fi
%
% \iffalse
%<euscript|eucal>\NeedsTeXFormat{LaTeX2e}
%<euscript>\ProvidesPackage{euscript}
%<eucal>\ProvidesPackage{eucal}
%<euscript|eucal>  [1994/12/13 v2.1e LaTeX package Euler Script]
% \fi
%
% \maketitle
%
% \changes{v2.1e}{1994/12/13}{Added MakeShortVerb cmd in dtx file}
% \changes{v2.1d}{1994/10/21}{Some documentation cleanup}
% \changes{v2.1d}{1994/10/18}{Added psamsfonts option}
% \changes{v2.1d}{1994/10/18}{Changed cmd names to mathcal/mathscr}
% \changes{v2.1d}{1994/10/18}{Added eucal package}
% \changes{v2.1d}{1994/10/14}{Moved to AMS-LaTeX distribution (mjd).}
% \changes{v2.1c}{1994/05/08}{Changed to new documentation standards.}
% \changes{v2.1a}{93/12/12}{Update for LaTeX2e}
%
% \MakeShortVerb{\|}
%
% \section{Introduction}
%
%    This package was written originally by Frank Mittelbach and Rainer
%    Sch\"opf; later it was moved into the AMS-\LaTeX{} distribution
%    with only minor modifications.
%
%    It sets up some font shape definitions to use the Euler
%    script symbols in math mode. These fonts are part of the AMS font
%    package which can be found on many \TeX{} servers. It is also
%    directly available from the AMS and from \TeX{} user groups.
%
%    The package does not require the \pkg{amstex} package.
%
% \DescribeMacro\EuScript
%    The expected normal use of the Euler Script alphabet is as a
%    substitute for the Computer Modern calligraphic alphabet found in
%    \fn{cmsy}. Therefore we change the meaning of \cn{mathcal}.
% \begin{verbatim}
% \[ \mathcal{A} = \EuScript{A} \neq \CMcal{A} \]
%\end{verbatim}
% will produce
% \[ \mathcal{A} = \EuScript{A} \neq \CMcal{A} \]
%
% Here is a complete table of the  beautiful letters drawn by Hermann
% Zapf:
% \begin{displaymath}
%   \newcommand{\E}[1]{\EuScript{#1} &}
%   \begin{array}{*{10}c}
%     \E{A} \E{B} \E{C} \E{D} \E{E} \E{F} \E{G} \E{H} \E{I} \\
%     \E{J} \E{K} \E{L} \E{M} \E{N} \E{O} \E{P} \E{Q} \E{R} \\
%     \E{S} \E{T} \E{U} \E{V} \E{W} \E{X} \E{Y} \E{Z}
%   \end{array}
% \end{displaymath}
%
% \StopEventually{}
%
% \section{The Implementation}
%
% We have three things to do: 1) identifying the current package,
% 2) enlarging the font shape tables and 3) defining the \meta{math
% alphabet identifier}.
%    \begin{macrocode}
%<*euscript|eucal>
%    \end{macrocode}
%
%    The font shapes for the Euler Script medium and bold are defined
%    in the amsfonts.fdd file which comes with the AMS font package.
%    We repeat their default definition here for reference only.
%    \begin{verbatim}
% \DeclareFontFamily{U}{eus}{\skewchar\font'60}
% \DeclareFontShape{U}{eus}{m}{n}{
%     <5> <6> <7> <8> <9> gen * eusm
%    <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>eusm10}{}
% \DeclareFontShape{U}{eus}{b}{n}{
%     <5> <6> <7> <8> <9> gen * eusb
%    <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>eusb10}{}
%\end{verbatim}
%
% \begin{macro}{\EuScript}
%    Now we define the \meta{math alphabet identifier} |\EuScript|
%    both for the normal and the bold math version
%    \begin{macrocode}
\DeclareMathAlphabet\EuScript{U}{eus}{m}{n}
\SetMathAlphabet\EuScript{bold}{U}{eus}{b}{n}
%    \end{macrocode}
% \end{macro}
%
%    For flexibility and backward compatibility with versions 2.1c and
%    earlier, we save the old meaning of \cn{mathcal} as \cn{CMcal}, and
%    use \cn{EuScript} as the initial name of the new math alphabet.
%    Notice that we don't do any checking to make sure the previous
%    version of \cn{mathcal} actually refers to cmsy.
%    \begin{macrocode}
\newcommand{\CMcal}{}
\let\CMcal=\mathcal
%    \end{macrocode}
%
%    The `psamsfonts' option is intended to mean that the Y\&Y/Blue Sky
%    Research PostScript versions of the AMSFonts should be used. In
%    that font set, the only \fn{.tfm} files provided below size 10 are
%    5 and 7, rather than 5,6,7,8,9. See \fn{amsfonts.dtx} for more
%    discussion.
%    \begin{macrocode}
\DeclareOption{psamsfonts}{\input{Ueus57.fd}}
%    \end{macrocode}
%
%    Here is a table describing the action of the \pkg{eucal},
%    \pkg{euscript}, and \pkg{eufrak} packages.
% \begin{center}
% \begin{tabular}{lll}
%    Package&  Option&    Commands provided\\
%    \hline
%    eucal&    none&      \cn{mathcal}\\
%    eucal&    [mathcal]& \cn{mathcal}\\
%    eucal&    [mathscr]& \cn{mathscr} (\cn{mathcal} unchanged)\\
%    euscript& none&      \cn{EuScript} (obsolete)\\
%    euscript& [mathcal]& \cn{mathcal}\\
%    eufrak&   none&      \parbox[t]{12pc}{\cn{mathfrak} (as well as
%                         obsolete \cn{EuFrak} for compatibility)}
% \end{tabular}
% \end{center}
%
%    \begin{macrocode}
\DeclareOption{mathcal}{\renewcommand{\mathcal}{\EuScript}}
\DeclareOption{mathscr}{%
  \providecommand{\mathscr}{}\renewcommand{\mathscr}{\EuScript}%
%<eucal>  \let\mathcal=\CMcal
}
%    \end{macrocode}
%
%    Process the package options.
%    \begin{macrocode}
%<eucal>\ExecuteOptions{mathcal}
\ProcessOptions
%</euscript|eucal>
%    \end{macrocode}
%
%    The usual \cs{endinput} to ensure that random garbage at the end of
%    the file doesn't get copied by \fn{docstrip}.
%    \begin{macrocode}
\endinput
%    \end{macrocode}
%
% \CheckSum{27}
% \Finale
