% \iffalse meta-comment
%
% Copyright (C) 1989-1992 by Frank Mittelbach, Rainer Schoepf.
% All rights reserved.
% 
% This file is part of the NFSS (New Font Selection Scheme) package.
% 
% IMPORTANT NOTICE:
% 
% You are not allowed to change this file.  You may however copy
% this file to a file with a different name and then change the copy
% if you obey the restrictions on file changes described in
% readme.mz.
% 
% You are allowed to distribute this file under the condition that
% it is distributed together with all files mentioned in readme.mz3.
% If you receive only some of these files from someone, complain!
% 
% You are NOT ALLOWED to distribute this file alone.  You are NOT
% ALLOWED to take money for the distribution or use of either this
% file or a changed version, except for a nominal charge for copying
% etc.
% 
% For error reports in case of UNCHANGED versions see readme files.
% 
% Please do not request updates from us directly.  Distribution is
% done through Mail-Servers and TeX organizations.
% 
% \fi

\def\fileversion{v1.0g}
\def\filedate{92/06/20}
\def\docdate {92/06/20}

%% \CheckSum{81}
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%
%
%\iffalse   % This is a META comment
%
% File `euscript.doc'.
%% Copyright (C) 1990-1992 Frank Mittelbach and Rainer Sch\"opf,
%% all rights reserved.
%
%\fi
%
% \changes{1.0g}{92/06/20}{Driver file added.}
% \changes{1.0g}{92/06/20}{Documentation updated.}
%
% \MakeShortVerb{\|}
% \def\Warning#1{\begin{quote}{\bf Warning:\quad}#1\end{quote}}
%
%
% \title{The {\tt euscript} style option\thanks
%        {This file has version number \fileversion, dated \filedate.
%         The documentation was last revised on \docdate}\\
%       for use with the new font selection scheme}
% \author{Frank Mittelbach \and Rainer Sch\"opf}
%
%
% \maketitle
%
% \section{Introduction}
%
% This style option sets up some font shape definition to use the Euler
% script symbols in math mode.  It can only  be used with the new font
% selection scheme but does not require the option {\tt amstex}.
%
% \DescribeMacro\EuScript
% To access the Euler Script alphabet a \meta{math alphabet identifier}
% called |\EuScript| is provided. For example, the input
% \begin{verbatim}
% \[
%    \EuScript{A} \neq \cal{A}
% \]
%\end{verbatim}
% will produce
% \[
%    \EuScript{A} \neq \cal{A}
% \]
% provided the {\tt margid} option is in force. Otherwise the
% \meta{math alphabet identifier}s don't have arguments but simply
% switch to the corresponding fonts so that the equation is better
% entered as
% \begin{verbatim}
% \[
%    {\EuScript A} \neq {\cal A}
% \]
%\end{verbatim}
% even if in this case the results are the same.
%
% 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 style option,
% 2) enlarging the font shape tables and 3) defining the \meta{math
% alphabet identifier}.
% We start by writing to the VDU and the transcript file.
%    \begin{macrocode}
%<*style>
\typeout{Style Option: `euscript'
  \fileversion\space <\filedate> (FMi and RmS)}
\typeout{English Documentation
  \@spaces\@spaces\space <\docdate> (FMi)}
%    \end{macrocode}
% But we should also check if the new font selection is actually in
% force otherwise the user will get a lot of uninstructive error
% messages later on. 
%    \begin{macrocode}
\@ifundefined{selectfont}
     {\@latexerr{`euscript' style option can only be used
                  with the new font selection scheme}\@eha
      \endinput}{}
%    \end{macrocode}
%
% Now we define the font shapes for Euler Script medium and bold.
% \changes{v1.0c}{90/01/28}{Fifth argument for `new@fontshape.}
%    \begin{macrocode}
\new@fontshape{eus}{m}{n}{%
   <5>eusm5%
   <6>eusm6%
   <7>eusm7%
   <8>eusm8%
   <9>eusm9%
   <10>eusm10%
   <11>eusm10 at10.95pt%
   <12>eusm10 at12pt%
   <14>eusm10 at14.4pt%
   <17>eusm10 at17.28pt%
   <20>eusm10 at20.74pt%
   <25>eusm10 at24.88pt}{}

\new@fontshape{eus}{b}{n}{%
   <5>eusb5%
   <6>eusb6%
   <7>eusb7%
   <8>eusb8%
   <9>eusb9%
   <10>eusb10%
   <11>eusb10 at10.95pt%
   <12>eusb10 at12pt%
   <14>eusb10 at14.4pt%
   <17>eusb10 at17.28pt%
   <20>eusb10 at20.74pt%
   <25>eusb10 at24.88pt}{}
%    \end{macrocode}
% If there is any |\skewchar| for accents it should be added to
% the `extra' macro.
% \Warning{Maybe we have to add something here.}
%    \begin{macrocode}
\extra@def{eus}{}{\noaccents@}
%    \end{macrocode}
%
% Now we define the \meta{math alphabet identifier}. At the moment
% this is only a copy of the documentation for |\frak| from {\tt
% amsfonts.doc} with a rename of the macro names.
% \begin{macro}{\EuScript}
% \begin{macro}{\pEuScript}
% \begin{macro}{\EuScript@}
%    The $\EuScript{EULER\ SCRIPT}$ alphabet will be accessed by the
%    command |\EuScript| inside of math mode. Since the current
%    \LaTeX{} version 2.9 has problems with so called {\em fragile\/}
%    commands we define |\EuScript| simply as:
%    \begin{macrocode}
\def\EuScript{\protect\pEuScript}
%    \end{macrocode}
%    Note that this command has no arguments, it simply calls or
%    protects (depending on the current meaning of |\protect|)
%    the |\pEuScript| macro.  This macro now checks if it is called
%    in math mode and if so calls the correct \meta{math alphabet
%    identifier}.
%    \begin{macrocode}
\def\pEuScript{\RIfM@\expandafter\EuScript@\else
                 \expandafter\nonmatherr@\expandafter\EuScript\fi}
%    \end{macrocode}
%    Now we define the \meta{math alphabet identifier} |\EuScript@|.
%    In this case we do not give a default value since the
%    corresponding font exists in different weights.
%    \begin{macrocode}
\newmathalphabet\EuScript@
\addtoversion{normal}\EuScript@{eus}{m}{n}
\addtoversion{bold}\EuScript@{eus}{b}{n}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
%  \begin{macro}{\RIfM@}
%    Some code from {\tt amstex.sty}:
%  \changes{v1.0e}{91/11/22}{Added missing definition.}
%    \begin{macrocode}
\def\RIfM@{\relax\protect\ifmmode}
%    \end{macrocode}
%  \end{macro}
%
%  \begin{macro}{\noaccents@}
%    If we don't have a definition for |\noaccents@| we provide a
%    dummy.
%  \changes{v1.0f}{92/02/09}{Added another missing definition.}
%    \begin{macrocode}
\ifx\noaccents@\undefined
  \let\noaccents@\@empty
\fi
%</style>
%    \end{macrocode}
%  \end{macro}
%
%
% \section{The documentation driver file}
%
% The next bit of code contains the documentation driver file for
% \TeX{}, i.e., the file that will produce the documentation you are
% currently reading. It will be extracted from this file by the {\tt
% docstrip} program.
%    \begin{macrocode}
%<+driver>\documentstyle[euscript,newlfont,doc]{article}
%<+driver>
%<+driver>% dimensions from ltugboat.sty:
%<+driver>
%<+driver>\setlength\textwidth{31pc} 
%<+driver>\setlength\textheight{54pc}
%<+driver>\setlength{\parindent}{0pt}
%<+driver>\setlength{\parskip}{2pt plus 1pt minus 1pt}
%<+driver>\setlength{\oddsidemargin}{8pc} 
%<+driver>\setlength{\marginparwidth}{8pc}
%<+driver>\setlength{\topmargin}{-2.5pc} 
%<+driver>\setlength{\headsep}{20pt}
%<+driver>\setlength{\columnsep}{1.5pc} 
%<+driver>\setlength{\columnwidth}{18.75pc}
%<+driver>
%<+driver>\EnableCrossrefs         
%<+driver>%\DisableCrossrefs % Say \DisableCrossrefs if index is ready
%<+driver>
%<+driver>\RecordChanges     % Gather update information
%<+driver>
%<+driver>\CodelineIndex     % Index code by line number
%<+driver>
%<+driver>%\OnlyDescription  % comment out for implementation details
%<+driver>%\OldMakeindex     % use if your MakeIndex is pre-v2.9
%<+driver>\begin{document}
%<+driver>   \DocInput{euscript.doc}
%<+driver>\end{document}
%    \end{macrocode}
%
% \Finale

\endinput
