diff options
author | Karl Berry <karl@freefriends.org> | 2015-11-10 22:21:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-11-10 22:21:04 +0000 |
commit | cfedff84c2eb997ea48b7db2fb55fe8c83f2d10e (patch) | |
tree | 6e1c185e0439977181d8edca5ddca6f37a907db2 /Master/texmf-dist/source | |
parent | 38d357ac3a320398e30d4a18616908fbef22d03c (diff) |
fixcmex (10nov15)
git-svn-id: svn://tug.org/texlive/trunk@38816 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/fixcmex/fixcmex.dtx | 154 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/fixcmex/fixcmex.ins | 53 |
2 files changed, 207 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/fixcmex/fixcmex.dtx b/Master/texmf-dist/source/latex/fixcmex/fixcmex.dtx new file mode 100644 index 00000000000..89b932b6717 --- /dev/null +++ b/Master/texmf-dist/source/latex/fixcmex/fixcmex.dtx @@ -0,0 +1,154 @@ +% \iffalse meta-comment +% +% Copyright (C) 2015 by Enrico Gregorio +% <Enrico dot Gregorio (at) univr dot it> +% --------------------------------------- +% +% This file 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: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.3c or later is part of all distributions of LaTeX +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{fixcmex.dtx} +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<package>\ProvidesPackage{fixcmex} +%<*package> + [2015/11/10 v1.0 Scalable math extensions font (Enrico Gregorio)] +%</package> +% +%<*driver> +\documentclass{ltxdoc} + +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{fixcmex.dtx} +\end{document} +%</driver> +% \fi +% +% \CheckSum{45} +% +% \changes{v1.0}{2015/11/10}{Initial version} +% +% \GetFileInfo{fixcmex.dtx} +% +% \DoNotIndex{\begingroup,\endgroup,\aftergroup,\@nil,\cmex,\lmex} +% \DoNotIndex{\def,\edef,\else,\escapechar,\expandafter,\fi,\ifx} +% \DoNotIndex{\m@ne,\string,\textfont,\the,\thr@@} +% +% +% \title{The \textsf{fixcmex} package\thanks{This document corresponds +% to \textsf{itnumpar}~\fileversion, dated \filedate.}} +% +% \author{Enrico Gregorio \\ \texttt{Enrico dot Gregorio (at) univr +% dot it}} +% +% \date{\filedate} +% +% \maketitle +% +% \section{Description} +% +% Knuth's Computer Modern fonts only provide the math extensions +% font \texttt{cmex10} at just one size. Together with a release +% of AMS-\TeX{}, the American Mathematical Society also provided +% the font at sizes 7, 8 and 9; these fonts are automatically loaded +% when \verb+\usepackage{amsmath}+ is done for a document. The +% option \texttt{cmex10} is allowed for reverting back to the fixed +% size, but it should only be used when the \TeX{} distribution is +% more than, say twenty years old (at the time of writing). +% +% Where's the difference? With the standard setup, a symbol like +% summation or integral in a footnote or in a \verb+\Large+ context +% will have the same size as in normal text. This size is also +% independent of the main point size of a document. +% +% When \textsf{amsmath} (or \textsf{exscale}) is loaded, the symbols +% will be scaled, but only at the standard sizes, not arbitrarily. +% This is not a limitation any more, because the Type1 version of +% the \texttt{cmex} fonts has been available for several years and +% this package addresses it. +% +% Many people use the Latin Modern fonts that are, in several respects, +% superior to the European Modern fonts when T1 font encoding is +% required. However, when \verb+\usepackage{lmodern}+ is done, +% the situation about the math extensions font goes back to the +% standard state described above, because \texttt{lmex10} is only +% provided at a fixed size. +% +% The present package can be used when the main font of the document +% is Computer Modern (or European Modern, if T1 encoding is selected) +% or Latin Modern. It redefines the math extensions font so that it +% is arbitrarily scalable, using the optical size fonts provided by +% the AMS together with the original \texttt{cmex10} font. +% +% The package should be loaded as late as possible, in any case +% \emph{after} any font package. Its position with respect to +% \textsf{hyperref} or \textsf{cleveref} is irrelevant. It will do +% nothing if the math extensions font turns out to be not from +% Computer Modern or Latin Modern (with a warning). +% +% There are no options and no commands. +% +% \StopEventually{\PrintChanges\PrintIndex} +% +% \section{Implementation} +% \begin{macro}{\fixcmex@fix} +% The main command just resets the math extensions font to +% be \texttt{cmex}, fully scalable. +% \begin{macrocode} +%<*package> +\def\fixcmex@fix{% + \DeclareFontShape{OMX}{cmex}{m}{n}{% + <-7.5> cmex7 + <7.5-8.5> cmex8 + <8.5-9.5> cmex9 + <9.5-> cmex10 + }{} + \DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n} +} +\@onlypreamble\fixcmex@fix +% \end{macrocode} +% \end{macro} +% +% Next, at begin document, the \verb+\check@mathfonts+ command +% makes sure the font assignments are performed for the normal +% size and the family name corresponding to the OMX encoding +% is extracted. If it is either \texttt{cmex} or \texttt{lmex} +% the command \verb+\fixcmex@fix+ will be executed. Otherwise +% a warning is issued, telling that the package has done nothing. +% \begin{macrocode} +\AtBeginDocument{% + \begingroup + \check@mathfonts + \expandafter\expandafter\expandafter + \split@name\expandafter\string\the\textfont\thr@@\@nil + \escapechar=\m@ne + \edef\fixcmex@cmex{\string\cmex}\edef\fixcmex@lmex{\string\lmex}% + \ifx\f@family\fixcmex@cmex + \aftergroup\fixcmex@fix + \else + \ifx\f@family + \fixcmex@lmex\aftergroup\fixcmex@fix + \else + \PackageWarningNoLine{fixcmex} + {No change in the math extension font}% + \fi + \fi + \endgroup +} +%</package> +% \end{macrocode} +% \Finale +\endinput diff --git a/Master/texmf-dist/source/latex/fixcmex/fixcmex.ins b/Master/texmf-dist/source/latex/fixcmex/fixcmex.ins new file mode 100644 index 00000000000..e3fd8f97791 --- /dev/null +++ b/Master/texmf-dist/source/latex/fixcmex/fixcmex.ins @@ -0,0 +1,53 @@ +%% +%% Copyright (C) 2015 by Enrico Gregorio <Enrico dot Gregorio (at) univr dot it> +%% +%% This file 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: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3c or later is part of all distributions of LaTeX +%% + +\input docstrip.tex +\keepsilent + +\usedir{tex/latex/fixcmex} + +\preamble + +This is a generated file. + +Copyright (C) 2015 by Enrico Gregorio <Enrico dot Gregorio (at) univr dot it> + +This file 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: + + http://www.latex-project.org/lppl.txt + +and version 1.3c or later is part of all distributions of LaTeX + +\endpreamble + +\generate{\file{fixcmex.sty}{\from{fixcmex.dtx}{package}}} + +\obeyspaces +\Msg{*************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* fixcmex.sty *} +\Msg{* *} +\Msg{* To produce the documentation run the file skeleton.dtx *} +\Msg{* through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} + +\endbatchfile |