summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/fixcmex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/fixcmex
Initial commit
Diffstat (limited to 'macros/latex/contrib/fixcmex')
-rw-r--r--macros/latex/contrib/fixcmex/README36
-rw-r--r--macros/latex/contrib/fixcmex/fixcmex.dtx157
-rw-r--r--macros/latex/contrib/fixcmex/fixcmex.ins53
-rw-r--r--macros/latex/contrib/fixcmex/fixcmex.pdfbin0 -> 201807 bytes
4 files changed, 246 insertions, 0 deletions
diff --git a/macros/latex/contrib/fixcmex/README b/macros/latex/contrib/fixcmex/README
new file mode 100644
index 0000000000..043eb8ba2c
--- /dev/null
+++ b/macros/latex/contrib/fixcmex/README
@@ -0,0 +1,36 @@
+The fixcmex package provides fully scalable
+Computer Modern Math Extensions font.
+
+This is version 1.1 of the package
+
+ Copyright 2019 Enrico Gregorio
+
+ This program is provided under the terms of the
+ LaTeX Project Public License distributed from CTAN
+ archives in directory macros/latex/base/lppl.txt.
+
+ Author: Enrico Gregorio
+ Enrico dot Gregorio at univr dot it
+
+ This work has the LPPL maintenance status "author-maintained".
+
+ This work consists of the following files:
+
+README (this file)
+fixcmex.dtx
+fixcmex.ins
+fixcmex.pdf
+
+ and of the derived file
+
+fixcmex.sty
+
+To install the distribution:
+
+o run "latex fixcmex.ins"
+o move "fixcmex.sty" to locations where LaTeX will find
+ it (the FAQ on CTAN in /help/uktug-FAQ gives more
+ information about this magic place
+
+2019/08/05
+Enrico Gregorio
diff --git a/macros/latex/contrib/fixcmex/fixcmex.dtx b/macros/latex/contrib/fixcmex/fixcmex.dtx
new file mode 100644
index 0000000000..1e40030074
--- /dev/null
+++ b/macros/latex/contrib/fixcmex/fixcmex.dtx
@@ -0,0 +1,157 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2015-2019 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>
+ [2019/08/05 v1.1 Scalable math extensions font (Enrico Gregorio)]
+%</package>
+%
+%<*driver>
+\documentclass{ltxdoc}
+
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{fixcmex.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{48}
+%
+% \changes{v1.0}{2015/11/10}{Initial version}
+% \changes{v1.1}{2019/08/05}{Fix lmodern}
+%
+% \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}
+% \changes{v1.1}{2019/08/05}{Fix lmodern}
+% 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
+ }{}%
+ \SetSymbolFont{largesymbols}{normal}{OMX}{cmex}{m}{n}%
+ \SetSymbolFont{largesymbols}{bold}{OMX}{cmex}{m}{n}%
+ \mathversion{\math@version}%
+}
+\@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/macros/latex/contrib/fixcmex/fixcmex.ins b/macros/latex/contrib/fixcmex/fixcmex.ins
new file mode 100644
index 0000000000..145c469835
--- /dev/null
+++ b/macros/latex/contrib/fixcmex/fixcmex.ins
@@ -0,0 +1,53 @@
+%%
+%% Copyright (C) 2015-2019 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-2019 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
diff --git a/macros/latex/contrib/fixcmex/fixcmex.pdf b/macros/latex/contrib/fixcmex/fixcmex.pdf
new file mode 100644
index 0000000000..ba138302dd
--- /dev/null
+++ b/macros/latex/contrib/fixcmex/fixcmex.pdf
Binary files differ