% \iffalse meta-comment
%
% Copyright 1994 the LaTeX3 project and the individual authors.
% All rights reserved. For further copyright information see the file
% legal.txt, and any other copyright indicated in this file.
% 
% This file is part of the LaTeX2e system.
% ----------------------------------------
% 
%  This system 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 bugs.txt.
% 
% 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 are allowed to distribute this file under the condition that
% it is distributed together with all files mentioned in manifest.txt.
% 
% 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
% \iffalse
%%% File: exscale.dtx
%% Copyright (C) 1992-1994 Frank Mittelbach and Rainer Sch\"opf,
%% all rights reserved.
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{exscale}
%<package>     [1994/11/06 v2.1e Standard LaTeX package exscale]
%<*driver>
\documentclass{ltxdoc}
\usepackage{exscale}
\GetFileInfo{exscale.sty}
\begin{document}
\title{The \texttt{exscale} package\thanks
       {This file has version number \fileversion, dated \filedate.}\\
      for use with \LaTeX2e}
\author{Frank Mittelbach \and Rainer Sch\"opf}
\date{\filedate}
 \maketitle
 \DocInput{exscale.dtx}
\end{document}
%</driver>
% \fi
%
% \CheckSum{57}
%
% \changes{v2.1d}{1994/05/09}{Added setting \cs{big}... sizes.}
% \changes{v2.1c}{1994/05/08}{Changed to new documentation standards.}
% \changes{v2.1a}{1993/12/12}{Update for \LaTeXe}
%
% \def\MF{\textsf{Metafont}}
% \def\dst{{\normalfont\scshape docstrip}}
%
%
% \section{Introduction}
%
% On popular request, this package implements scaling of the
% math extension font `cmex'. If this package is used the site needs
% scaled versions of the \texttt{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 package by placing its name
% in the argument of
% |\usepackage|, 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{exscale.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
% package file they would come out the same on both sites.
%
% \StopEventually{}
%
%
% \section{Implementation}
%
%
%    In case this should produce a font definition file we write
%    a message to the transcript file only.
%    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\string:\space
 \string`exscale.fdd\string'\space \fileversion\space
 \string<\filedate\string>\space
 \string(FMi\space and\space RmS\string)}
%</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|package>
\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|package>
%    \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}
%<*package>
\DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n}
%    \end{macrocode}
%
% Finally we redefine the primitive commands |\big|, |\Big|, |\bigg|
% and |\Bigg| to change size with main size changes. To this end we
% need a new dimen register |\big@size|.
%    \begin{macrocode}
\newdimen\big@size
%    \end{macrocode}
% This dimen is set with every size change to $1.2$ times the height
% of a left parenthesis.
% \changes{v2.1e}{1994/11/06}{Renamed \cmd\every@size to 
%                             \cmd\every@math@size}
% \changes{v2.1e}{1994/11/06}{Update \cmd\big@size globally}
%    \begin{macrocode}
\addto@hook\every@math@size{\setbox\z@\vbox{\hbox{$($}\kern\z@}%
   \global\big@size 1.2\ht\z@}
%    \end{macrocode}
% Now we can define the macros. Note: |\n@space| sets the internal
% variables |\nulldelimiterspace| and |\mathsurropund| to zero length.
%    \begin{macrocode}
\def\bBigg@#1#2{%
   {\hbox{$\left#2\vcenter to#1\big@size{}\right.\n@space$}}}
\def\big{\bBigg@\@ne}
\def\Big{\bBigg@{1.5}}
\def\bigg{\bBigg@\tw@}
\def\Bigg{\bBigg@{2.5}}
%</package>
%    \end{macrocode}
%
% \Finale
%
\endinput
