summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex-dev/base/exscale.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex-dev/base/exscale.dtx')
-rw-r--r--Master/texmf-dist/source/latex-dev/base/exscale.dtx202
1 files changed, 202 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex-dev/base/exscale.dtx b/Master/texmf-dist/source/latex-dev/base/exscale.dtx
new file mode 100644
index 00000000000..49e53ca5f87
--- /dev/null
+++ b/Master/texmf-dist/source/latex-dev/base/exscale.dtx
@@ -0,0 +1,202 @@
+% \iffalse meta-comment
+%
+% Copyright 1993-2018
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% \iffalse
+%%% File: exscale.dtx
+%% Copyright (C) 1992-1997,2007 Frank Mittelbach and Rainer Sch\"opf,
+%% all rights reserved.
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{exscale}
+%<fd, >\ProvidesFile{OMXcmex.fd}
+%<package,fd> [2018/09/24 v2.1i
+%<package> Standard LaTeX package exscale]
+%<fd, > exscale package font definitions]
+%<*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}
+\MaintainedByLaTeXTeam{latex}
+ \maketitle
+ \DocInput{exscale.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+% \changes{v2.1g}{1997/06/16}{Documentation fix.}
+% \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 recommend 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.
+% \changes{v2.1f}{1995/11/27}{Use \cs{ProvidesFile}}
+% \begin{macrocode}
+%\ProvidesFile{OMXcmex.fd}[]% moved to top of the file
+% \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 \cs{every@size} to
+% \cs{every@math@size}}
+% \changes{v2.1e}{1994/11/06}{Update \cs{big@size} globally}
+% \changes{v2.1h}{2001/10/29}{Use box 0 within group to avoid changing this
+% scratch register}
+% \begin{macrocode}
+\addto@hook\every@math@size{%
+ \begingroup
+ \setbox\z@\vbox{\hbox{$($}\kern\z@}%
+ \global\big@size 1.2\ht\z@
+ \endgroup}
+% \end{macrocode}
+% Now we can define the macros. Note: |\n@space| sets the internal
+% variables |\nulldelimiterspace| and |\mathsurround| to zero length.
+%
+% Older kernels (e.g in roll back didn't have LR-mode with the
+% these commands) so we test for the support comment. This only works
+% if the rollback request is before loading this package but that is
+% where it should be.
+% \changes{v2.1i}{2018/09/24}{Start LR-mode if necessary (git/49)}
+% \begin{macrocode}
+\ifx\leavevmode@ifvmode\@undefined
+\def\bBigg@#1#2{%
+ {\hbox{$\left#2\vcenter to#1\big@size{}\right.\n@space$}}}
+\else
+\def\bBigg@#1#2{\leavevmode@ifvmode
+ {\hbox{$\left#2\vcenter to#1\big@size{}\right.\n@space$}}}
+\fi
+\def\big{\bBigg@\@ne}
+\def\Big{\bBigg@{1.5}}
+\def\bigg{\bBigg@\tw@}
+\def\Bigg{\bBigg@{2.5}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \Finale
+%
+\endinput