% \iffalse meta-comment
%
% Copyright (C) 1989--1993 by Frank Mittelbach, Rainer Schoepf.
% All rights reserved.
% 
% This file is part of the NFSS2 (New Font Selection Scheme) package.
% 
%  This package is distributed in the hope that it will be useful,
%  but WITHOUT ANY WARRANTY; without even the implied warranty of
%  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
% 
% 
% IMPORTANT NOTICE:
% 
% 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.
% 
% 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.mz8.
% 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.
% \fi
\def\filename{nfexscal}
\def\fileversion{v2.0c}
\def\filedate{93/08/03}
\def\docdate {93/08/03}

%% \CheckSum{63}
%% \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 METACOMMENT !
%
% File `nfexscal.dtx'.
% Copyright (C) 1992-1993 Frank Mittelbach and Rainer Sch\"opf,
% all rights reserved.
%
% \fi
%
%
% \MakeShortVerb{\|}
% \def\MF{{\sf Metafont}}
% \def\dst{{\csname mediumseries\endcsname\sc docstrip}}
% \setcounter{StandardModuleDepth}{1}
%
% \title{The file {\tt nfexscal.dtx}.\thanks{This file has version
%    number \fileversion, dated \filedate.  The documentation was last
%    updated on \docdate.}\\ It contains the code for {\tt
%    nfexscal.sty}.}
%
% \author{Frank Mittelbach \and Rainer Sch\"opf}
%
% \maketitle
%
% \section{Introduction}
%
% On popular request, this style option implements scaling of the
% math extension font `cmex'. If this option is used the site needs
% scaled versions of the {\tt cmex10} in the sizes 10.95pt, 12pt,
% 14.4pt , 17.28pt, 20.74pt, and 24.88pt which corresponds to standard
% magsteps using |\magstephalf|, and |\magstep1| through |\magstep5|.
% Additionally `cmex' variants for the sizes 7pt to 9pt are necessary.
% These fonts are part of the AMS font package and can be found on
% many servers.
%
% We don't think that using a scalable `cmex' font improves the
% appearance of the document very much because the linear scaling of
% the font introduces changes to font dimen parameters of the font
% that are used all over the place in \TeX's math placement routines
% and definitely shouldn't be scaled linearly.  As a positive result,
% however, symbols from this font will come out in approximately the
% right size when used with a large basis font size.
%
% We therefore strongly recomment the generation of designed fonts for
% the larger sizes and hope that the corresponding \MF{} sources will
% be available in the near future.
%
%
% \section{Usage}
%
% This file can be used either as a style option by placing its name
% in the comma separated list in the optional argument of
% |\documentstyle|, or by generating from it a |.fd| file which then
% replaces the normally used |.fd| file |OMXcmex.fd|.
%
% For the second solution you should prepare a small \dst{} command
% file containing the following statements:
% \begin{quote}
%   |\def\batchfile{|\meta{name-of-your-command-file}|}|  \\
%   |\input docstrip.tex|                         \\
%   |\generateFile{OMXcmex.fd}{t}{\from{nfexscal.dtx}{fd}}|
% \end{quote}
% and then run this file through \LaTeX.
% This would mean however, that your documents may look different if
% they are printed on another installation whereas when using the
% style file they would come out the same on both sites.
%
% \StopEventually{}
%
% \section{Implementation}
%
% We first check that the new font selection scheme is loaded, since
% otherwise the style option is useless.
%    \begin{macrocode}
%<*style>
\@ifundefined{DeclareFontShape}
     {\@ifundefined{selectfont}
        {\@latexerr{The `nfexscal' style option can only be used
                    with the new^^Jfont selection scheme}\@eha}
        {\@latexerr{The `nfexscal' style option can only be used
                    with the new^^Jfont selection scheme *release 2*}
                   {Your format contains NFSS release 1, but this style
                    option was^^Jdeveloped for release 2.}
        }
      \endinput}
     {}
%    \end{macrocode}
%
% Then we identify the style option and its current version.
%    \begin{macrocode}
\typeout{Style Option: `nfexscal'
  \fileversion\space <\filedate> (FMi and RmS)}
\typeout{English Documentation
  \@spaces\@spaces\space <\docdate> (FMi)}
%</style>
%    \end{macrocode}
%    In case this should produce a font definition file we write
%    something similar (but only to the transcript file).
%    The explicit spaces are necessary in an
%    |.fd| file and the |\string| guards against situations where |`|,
%    |<| or |>| is active.
%    \begin{macrocode}
%<*fd>
\wlog{Fontdef\space file\space produced\space from:\space
 \string`nfexscal.fdd'\space \fileversion\space
 \string<\filedate\string>\space (FMi\space and\space RmS)}
%</fd>
%    \end{macrocode}
%
% We now define to which external fonts the font/shape Computer Modern
% Extension Medium Normal. For the sizes 7--10pt we use fonts that are
% designed for the corresponding size and for the higher sizes we use
% scaled versions of the 10pt font since for these sizes no designed
% fonts are easily available.
%    \begin{macrocode}
%<*fd|style>
\DeclareFontShape{OMX}{cmex}{m}{n}{%
%    \end{macrocode}
%    According to Michael Downes `cmex5' and `cmex6' are not
%    distributed currently. Therefore we use `cmex7' in those size but
%    we omit a warning.
%    \begin{macrocode}
      <-8>sfixed * cmex7
      <8> cmex8
      <9> cmex9
      <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>cmex10
       }{}
%</fd|style>
%    \end{macrocode}
%
% We also redeclare the symbol font for large symbols. This is
% already done when the base format also uses CM math fonts, but it
% doesn't hurt either.
%    \begin{macrocode}
%<*style>
\DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n}
%</style>
%    \end{macrocode}
%
%
% \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[doc]{article}

% dimensions from ltugboat.sty:

\setlength\textwidth{31pc} 
\setlength\textheight{54pc}
\setlength{\parindent}{0pt}
\setlength{\parskip}{2pt plus 1pt minus 1pt}
\setlength{\oddsidemargin}{8pc} 
\setlength{\marginparwidth}{8pc}
\setlength{\topmargin}{-2.5pc} 
\setlength{\headsep}{20pt}
\setlength{\columnsep}{1.5pc} 
\setlength{\columnwidth}{18.75pc}

\EnableCrossrefs         
%\DisableCrossrefs % Say \DisableCrossrefs if index is ready

\RecordChanges     % Gather update information

\CodelineIndex     % Index code by line number

%\OnlyDescription  % comment out for implementation details
%\OldMakeindex     % use if your MakeIndex is pre-v2.9
\begin{document}
   \DocInput{nfexscal.dtx}
\end{document}
%</driver>
%    \end{macrocode}
%
% \Finale
% \DeleteShortVerb{\|}
%
\endinput
