summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-09-18 00:10:58 +0000
committerKarl Berry <karl@freefriends.org>2010-09-18 00:10:58 +0000
commit3e043cb9a8d83174690ec924925f69217e3f1fcb (patch)
tree062b6cd49afe87309be093ad755e258b853bd2e5 /Master/texmf-dist/tex/latex
parent079fd1cddf588d6f323494351c5f11cccb6f2381 (diff)
isomath update (24aug10)
git-svn-id: svn://tug.org/texlive/trunk@19786 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/isomath/isomath.sty713
1 files changed, 129 insertions, 584 deletions
diff --git a/Master/texmf-dist/tex/latex/isomath/isomath.sty b/Master/texmf-dist/tex/latex/isomath/isomath.sty
index c20b6e9a1d5..2686cbcefba 100644
--- a/Master/texmf-dist/tex/latex/isomath/isomath.sty
+++ b/Master/texmf-dist/tex/latex/isomath/isomath.sty
@@ -1,409 +1,25 @@
-% isomath: Math for scientists
-% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+% isomath.sty: Math for scientists
+% ********************************
%
-% :Copyright: © 2008, 2009 Günter Milde
+% :Copyright: © 2008, 2010 Günter Milde
% :Licence: This work may be distributed and/or modified under the
-% conditions of the `LaTeX Project Public License`_, either
+% conditions of the `LaTeX Project Public License`_, either
% version 1.3 of this license or (at your option) any later version.
%
-% :Abstract: The isomath package enables formatting Greek and Latin
-% letters as symbols for vectors, matrices, and tensors
-% in the typefaces recommended for scientific papers
-% by the International Standard ISO 31. For this, a *bold italic*
-% and a *sans-serif bold italic* math alphabet are defined.
-%
-% .. contents::
-%
-% Introduction
-% ************
-%
-% Motivation
-% ==========
-%
-% .. Did you ever manage to write the stress tensor ``$\sigma$`` in a
-% *sans-serif bold italic* typeface, as recommended by [typefaces]_?
-%
-% Scientific organisations like IUPAP_, IUPAC_, NIST_, BIPM_, and others
-% recommend typesetting math according to the International Standard ISO 31
-% `Quantities and units` [ISO-31]_.\ [#]_
-%
-% The traditional `LaTeX math style` deviates in some points from this rules:
-%
-% * The ``\vec`` command produces an array accent, while ISO 31 recommends
-% a *bold italic* typeface for vector symbols.
-%
-% * Greek letters are excluded from font changes with the math alphabets,
-% while the ISO 31 rules apply equally to letters from both the Greek
-% and the Latin alphabet.
-%
-% * There is no provision for typesetting of Greek letters in *bold italic*
-% style recommended for vectors.
-%
-% * There is no provision for typesetting letters in *sans-serif bold italic*
-% recommended for typesetting tensor symbols.
-%
-% Some of these points are adressed by `related packages`_, however
-% there is currently no package (known to the author) that defines the
-% *sans-serif bold italic* math alphabet needed for tensor symbols.
-%
-% .. [#] Summaries of these rules are free available, see [typefaces]_,
-% [checklist]_, [fonts-for-symbols]_, and [SI-brochure]_.
-%
-%
-% Features
-% ========
-%
-% The ``isomath.sty`` package facilitates the task to abide with ISO 31 when
-% typesetting math with LaTeX:
-%
-% * Equal treatment of Latin and `Greek in math`_ via fixmath.sty_:
-%
-% + Greek letters change shape together with Latin letters if a different
-% math alphabet is used.
-%
-% + Uppercase Greek letters are typeset in italic style by default.
-%
-% + Upright Greek letters can be made available through the ``\mathrm``
-% and ``\mathbf`` alphabets, if the corresponding fonts support the
-% `OML font encoding`_.
-%
-% * The `command aliases`_ ``\vectorsym``, ``\matrixsym``, and ``\tensorsym``
-% allow semantic markup. They print the argument in an ISO-conforming
-% typeface.
-%
-% * For this, new `math alphabets`_ are defined:
-%
-% :``\mathbold``: *boldface italic* (vector and matrix symbols),
-% :``\mathsans``: *sans-serif italic* (optional),
-% :``\mathboldsans``: *sans-serif bold italic* (tensor symbols).
-%
-% The family for these fonts is by default taken from the document's
-% ``\rmdefault`` and ``\sfdefault`` values. The ``rmdefault=<family>`` and
-% ``sfdefault=<family>`` options_ can be used to override the defaults.
-%
-% * Missing `font mappings`_ are defined for font families which have an OML
-% encoded counterpart but no substitution definition in their ``*.fd``
-% files.
-%
-%
-% Usage
-% =====
-%
-% Make sure that LaTeX can find ``isomath.sty`` and insert the command
-% ``\usepackage{isomath}`` in the document preamble.
-%
-% For package options, see the Options_ section below.
-%
-% Examples
-% --------
-%
-% * In many cases (e.g. when ``\sfdefault`` expands to "cmss"), the
-% ``\mathboldsans`` alphabet is neither bold nor sans, as "cmss" has no OML
-% encoded variants and maps to "cmmi".
-%
-% Use cmbright_ for sans-serif math alphabets::
-
-% \usepackage[sfdefault=cmbr]{isomath}
-%
-% Define also a slanted sans-serif math alphabet::
-
-% \usepackage[sfdefault=cmbr,OMLmathsans]{isomath}
-%
-% * Redefine the standard ``\vec`` macro to typeset its argument in `bold
-% italic`::
-
-% \usepackage[sfdefault=cmbr]{isomath}
-% \renewcommand{\vec}{\vectorsym}
-%
-% * The mathdesign_ package provides an OML encoded *bold roman* font but does
-% not set it up for ``\mathbf``::
-
-% \usepackage[charter]{mathdesign}
-% \usepackage[OMLmathbf,sfdefault=cmbr]{isomath}
-%
-% Now, ``\mathbf{\pi}`` produces a bold upright pi symbol.
-%
-% Related packages
-% ================
-%
-% A set of packages at CTAN also defines Greek letters as ``\mathalpha`` and
-% provide the ``\mathbold`` alphabet (in OML):
-%
-% * arev_ (Arev/Vera Sans)
-% * cmbright_ (CM Bright)
-% * eulervm_ (Euler Math)
-% * fixmath_ (Computer Modern)
-% * hvmath_ (HV-Math/Helvetica)
-% * mathpazo_ (Palatino)
-% * tmmath_ (TM-Math/Times)
-%
-% This package requires and extends fixmath.sty_.
-%
-% The cmbright_ package provides *sans serif* and *sans-serif bold* fonts for
-% the ``\mathsans`` and ``\mathboldsans`` alphabets that match with Computer
-% Modern and derivatives.
-%
-% Conflicts
-% ---------
-%
-% The `fourier`_ package for math typesetting with Utopia defines its own,
-% incompatible math font encodings. It cannot be used with ``isomath``
-% but provides other means to typeset upright or italic Greek (see its
-% documentation).\ [#]_
-%
-% The `kpfonts`_, `pxfonts`_, and `txfonts`_ packages define many additional
-% math alphabets the additional definitions in isomath lead to a "too many
-% math alphabets used in version normal" error. The error can be avoided with
-% the reuseMathAlphabets_ option.
-%
-% .. [#] However, it is possible to use the symbols from `fourier`_ together
-% with math alphabets from another package, e.g `mathdesign`_::
-
-% \usepackage{fourier}
-% \usepackage[OMLmathbf,rmdefault=mdput,sfdefault=cmbr]{isomath}
-%
-%
-% Greek in Math
-% =============
-%
-% IUPAC_'s [fonts-for-symbols]_ guide says:
-%
-% 2. The overall rule is that symbols representing physical quantities (or
-% variables) are italic, but symbols representing units, or labels, are
-% roman. [...]
-%
-% 3. The above rule **applies equally to letter symbols from both the Greek
-% and the Latin alphabet**, although authors often appear to resist
-% putting Greek letters into italic.
-%
-% [emphasis by the author]. In contrast, the standard LaTeX style treats Greek
-% symbols as invariant operators with lower case italic and upper case upright.
-%
-% Unicode Math Support
-% --------------------
-%
-% The technical report `Unicode Support for Mathematics` [tr25]_ lists
-% "lphanumeric symbols encountered in mathematics"in table 2 `Mathematical
-% Alphabets`.
-%
-% The Unicode block `mathematical alphanumeric symbols`_ provides style
-% variants for Latin and Greek letters and digits. It is labelled "to be used
-% for mathematical variables where style variations are important
-% semantically".
-%
-% .. _table 1:
-%
-% .. table:: Styles in the `mathematical alphanumeric symbols`_
-% Unicode block
-% :class: booktab
-%
-% ================= ==== ================= ============================
-% Style LGD LaTeX macro Package, Comment
-% [#]_
-% ================= ==== ================= ============================
-% bold LGD ``\mathbf`` no Greek
-%
-% italic LG ``\mathit`` no Greek
-% \ ``\mathnormal`` small Greek but
-% old-style roman Digits
-% bold italic LG ``\mathbold`` fixmath and friends
-% \ ``\boldsymbol`` ams
-% script L ``\mathcal`` or only capital Latin
-% (calligraphic) ``\mathscr``
-% bold script L
-% fraktur L ``\mathfrak`` eufrak
-% double-struck L D ``\mathbb`` bbold, mathbbol,
-% mbboard
-% \ ``\mathbbm`` bbm
-% \ ``\mathds`` dsfont
-% bold fraktur L
-% sans-serif L D ``\mathsf`` no Greek
-% sans-serif bold LGD
-% sans-serif italic L ``\mathsans`` isomath
-% sans bold italic LG ``\mathboldsans`` isomath
-% monospace L D ``\mathtt`` no Greek
-% ----------------- ---- ----------------- ----------------------------
-% *Not in the mathematical alphanumeric symbols block*:
-% ---------------------------------------------------------------------
-% plain LGD ``\mathrm`` no Greek
-% \ ``\mathnormal`` capital Greek
-% ================= ==== ================= ============================
-%
-% .. [#] LGD: **L**\ atin, **G**\ reek, **D**\ igits
-%
-%
-% OML font encoding
-% -----------------
-%
-% *OML* is the only established font encoding providing Latin and Greek
-% letters in one font. (The text font encoding *LGR* is Greek-only while *T7*
-% is just a "reserved name" for a standard Greek encoding.)
-%
-% Definition
-% """"""""""
-%
-% The `LaTeX font encodings` guide [encguide]_ names OML `TeX math italic` and
-% defines:
-%
-% The OML encoding contains italic Latin and Greek letters for use in
-% mathematical formulas (typically used for variables) together with some
-% symbols.
-%
-% However, the reference to **italic** letters seems to be a description of
-% the *state of the art* rather than a necessary restriction:
-%
-% * There is only one OML encoded font in the Computer Modern fonts:
-% `Computer Modern Math Italic` (cmmi).
-%
-% * Generally, font encodings (T1, OT1) are not specific to the font shape.
-%
-% * Both, ``\DeclareSymbolFont`` and ``\DeclareMathAlphabet`` require a
-% {<shape>} argument. Thus it is possible to set up OML encoded math
-% alphabets in roman {n} as well as italic {it} shape without conflicts.
-%
-% * The name `TeX math italic` can be interpreted as "encoding *of* `Computer
-% Modern Math Italic`" rather than "encoding *for* math italic" fonts.
-%
-% A less confusing name would be `TeX math letters` or `Original/Old
-% Math Letters`. The latter would also explain the acronym OML.
-%
-% A more inclusive definition would be:
-%
-% The OML encoding contains Latin and Greek letters for use in mathematical
-% formulas (typically used for variables) together with some symbols.
-% It first appeared in the `Computer Modern Math Italic` (cmmi) font.
-%
-%
-%
-% Support
-% """""""
-%
-% Unfortunately, support for the OML encoding is missing for many font
-% families even if the base font contains all Greek letters.
-% Supported font families can be found searching for ``oml*.fd`` files and by
-% grepping for "DeclareFont.*OML", "SymbolFont.*OML" and "MathAlphabet.*OML"
-% in ``*.sty`` files.
-%
-% .. _table 2:
-%
-% .. table:: Fonts supporting the OML font encoding
-% :class: booktab
-%
-% ============= =========================== ======= ======== ====== =======
-% Name Family {m}{it} {bx}{it} {m}{n} {bx}{n}
-% ============= =========================== ======= ======== ====== =======
-% aer AE (Almost European) x x
-% antt Antykwa Torunska x x
-% cmr Computer Modern Roman x x
-% ccr Concrete x x
-% cmbr Computer Modern Bright x x
-% hlh Lucida x x
-% hfor CM with old-style digits x x
-% iwona Iwona (sans serif) x x
-% jkp Kepler Serif x x
-% jkpl Kepler Serif x x
-% jkpvos Kepler Serif x x
-% jkplvos Kepler Serif x x
-% llcmm LXfonts (sans serif) x x
-% lmr Latin Modern Roman x x
-% mak Kerkis x
-% mdbch Math Design Charter x x x x
-% mdput Math Design Utopia x x x x
-% mdugm Math Design Garamond x x x x
-% neohellenic GFS Neohellenic x
-% plcm CM (PLaTeX) x
-% ptmom Times (Omega or MB-Times) x x
-% ptmomu Times (Omega or MB-Times) x x
-% ptmcm Times (psfont) x
-% pxr Palatino (pxfonts) x x
-% qpl Palatino/Pagella (qpxmath) x x
-% qtm Times/Termes (qtxmath) x x
-% txr Times (txfonts) x x
-% ywclm (greektex) x x
-% zavm Arev (Vera Sans-Serif) x x
-% zesfcm (efont) x
-% zplm Palatino (mathpazo) x x
-% zpple x x
-% ztmcm Times (mathptmx) x
-% zer Computer Modern (zefonts) x x
-% ============= =========================== ======= ======== ====== =======
-%
-% Explanations:
-%
-% * If there is an alias (substitution) from the text font to a math-variant,
-% only the text font is listed.
-%
-% * Many text fonts define substitutions also for {n}, however mapping to
-% an italic variant of the OML encoded font. These are not listed as
-% supporting {m}{n} or {bx}{n} here.
-%
-% The following fonts define ``cmm`` as OML substitution. A better matching
-% substitution can be set with the rmdefault_ or sfdefault_ options.
-%
-% .. _table 3:
-%
-% .. table:: Non-CM fonts with ``cmm`` as OML substitution
-% :class: booktab
-%
-% ============= ===============================
-% Family Name
-% ============= ===============================
-% bch Charter (psnfss)
-% pag Avant Garde (psnfss)
-% pbk Bookman (psnfss)
-% pcr Courier (psnfss)
-% phv Helvetica (psnfss)
-% pnc New Century Schoolbook (psnfss)
-% ppl Palatino (psnfss)
-% ptm Times Roman (psnfss)
-% put Utopia (psnfss)
-% pzc Zapf Chancery (psnfss)
-% uag Avant Garde (avantgar)
-% ubk Bookman (bookman)
-% ucr Courier (courier)
-% ucrs Courier
-% unc New Courier (nctrsbk)
-% uni Universal (universa)
-% uhv Helvetica (helvetic)
-% upl Palatino (palatino)
-% utm Times (times)
-% uzc Zapf Chancery (zapfchan)
-% ============= ===============================
-%
-% Conclusions and outlook
-% -----------------------
-%
-% It is hoped, that in the future more fonts families will support the OML
-% encoding in normal and bold weight as well as upright and italic shape.
-% This would be a major step towards a LaTeX equivalent of the `Mathematical
-% Alphanumeric Symbols`_ Unicode block.
-%
-% This should be (relatively) easy to achieve via virtual fonts when the
-% glyphs for the Greek letters already exist. Examples are Latin Modern,
-% Kerkis, GFS-Neohellenic, LX-Fonts and KP-Serif.
-%
-% Alternatively, the T7 encoding could be used for math alphabets (if it ever
-% happens to materialise).
-%
-% Upright small Greek letters in ``\mathrm`` would enable the specification of
-% the constant pi, Myons, Pions, alpha-particles, photons, and neutrinos
-% without special packages. (With mathdesign_, this is already possible
-% today.)
-%
-%
-% Implementation
-% **************
-%
-% Identification
-% ==============
-% ::
+% :Identification:
+% ::
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{isomath}
-[2009/06/19 v0.3 typeset math according to International Standard ISO 31]
+[2010/08/23 v0.4 Mathematics conformant to ISO 31.]
+% :Abstract: The `isomath` package enables formatting Greek and Latin
+% letters as symbols for vectors, matrices, and tensors
+% in the typefaces recommended for scientific papers
+% by the International Standard ISO 31.
+%
% History
-% -------
+% =======
%
% .. class:: borderless
%
@@ -415,124 +31,87 @@
% \ option reuseMathalphabets -> reuseMathAlphabets.
% 0.3 2009-06-19 documentation update;
% \ fix OMLmathrm and OMLmathsans definitions;
-% \ switch license to LPPL
+% \ switch license to LPP.
+% 0.4 2010-08-23 split user documentation from literate source;
+% \ option ``scaled``;
+% \ documentation update.
% === ============ ========================================================
%
+% .. contents::
+%
%
% Requirements
% ============
%
% fixmath.sty
% -----------
-%
% The package fixmath_ by Walter Schmidt defines Greek letters as symbols
-% of type ``\mathalpha`` and takes them from the "letters" SymbolFont in
-% ``\mathnormal`` (as opposed to "operators" in ``fontmath.ltx``).
+% of type ``\mathalpha`` and takes them from the ``letters`` SymbolFont in
+% ``\mathnormal`` (as opposed to ``operators`` in ``fontmath.ltx``).
%
% fixmath_ also defines the ``\mathbold`` alphabet, setting it to ``cmm``.
-% However, this definition will be overwritten with a configurable value for
-% the font family below.)
+% This definition will be overwritten with a configurable value for
+% the font family below.
% ::
\RequirePackage{fixmath}
-% .. caution::
-%
-% After loading fixmath, placing Greek letters in a math alphabet, e.g.
-% ``\mathrm{k\Omega}``, can lead to garbage, as the standard math alphabets
-% are usually taken from OT1 encoded fonts that have ligatures and
-% non-alpha symbols in place of the small Greek letters.
-%
-% If the chosen font supports the `OML font encoding`_, you can use the
-% options for `OML math alphabets`_. Otherwise, place Greek letters
-% outside the math alphabet command.
-%
-% Some packages provide ``\up*`` or ``\var*`` macros for upright Greek
-% letters, e.g. ``\mathrm{k}\upOmega``.
-%
-%
+
% kvoptions.sty
% -------------
-%
% The kvoptions_ package in the oberdiek_ bundle facilitates the setup of
% package options and provides a key=value interface (based on keyval_)::
\RequirePackage{kvoptions}
+
% Options
% =======
%
% rmdefault
% ---------
-%
-% Alternative family for roman math fonts. The default is to use the
-% corresponding text font family (``\rmdefault``) in OML encoding.
-% `Table 3`_ lists some fonts where a different setting is advised.
-%
+% Family for roman math fonts. Must be available in OML
+% encoding. The default is to use the corresponding text font family
+% (``\rmdefault``).
% ::
\DeclareStringOption[\rmdefault]{rmdefault}
% sfdefault
% ---------
-%
-% Alternative family for sans-serif math fonts. The default is to use the
-% corresponding text font family (``\sfdefault``) in OML encoding.
-%
-% Computer Modern Sans Serif (cmss) has no OML encoded variant. Nor have many
-% derivatives (lmss, aess, ...). Actually, there are only a few OML-encoded
-% sans-serif fonts (all slanted/italic):
-%
-% :zavm: arev_ (Vera Sans with math extension, large x-hight)
-% :cmbr: cmbright_ (Computer Modern Bright, slightly lighter than cmss)
-% :iwona: iwona_ (Humanistic Sans Serif, some shapes very similar to roman)
-% :hvm: hvmath_ (Helvetica Math, commercial, free bitmap version)
-% :llcmm: lxfonts_ (LX Fonts, very wide, excentric, large x-hight, new in 2008)
-%
-% For most fonts (especially CM and related), ``[sfdefault=cmbr]`` is the
-% recommended setting.
-%
+% Family for sans-serif math fonts. The default selects `CM Bright`, as
+% most sans serif fonts are not available in OML encoding::
+
+\DeclareStringOption[cmbr]{sfdefault}
+
+% scaled
+% ------
+% The sans-serif fonts, ``fav`` (Arev), ``llcmss`` (LX Fonts), and
+% ``iwona`` can be scaled with the ``scaled`` option.
% ::
-\DeclareStringOption[\sfdefault]{sfdefault}
+\DeclareStringOption[1.0]{scaled}
+% Use a key definition like in inconsolata.sty (cf. also helvet.sty)?
+% \define@key{isomath}{scaled}[1.0]{\def\isomath@scaled{s*[#1]}}
-% TODO
-% Allow scaling?
-%
-%
% reuseMathAlphabets
% ------------------
+% The definition of new `math alphabets`_ can lead to a “too many math
+% alphabets used in version normal” error.
%
-% The definition of new `math alphabets`_ can lead to a "too many math
-% alphabets used in version normal" error.
-%
-% As a workaround, this option tells ``isomath`` to re-use the existing
-% ``\mathbf`` and ``\mathsf`` alphabets for italic bold and sans-serif bold.
-%
-% To access the upright shapes, the corresponding ``\textbf`` and ``\textsf``
-% commands might be used (however, this toggles the math-mode off and
-% might use a different font).
-%
+% As a workaround, this option tells `isomath` to re-use the existing
+% ``\mathbf`` and ``\mathsf`` alphabets for *italic* bold and sans-serif
+% bold.
% ::
\DeclareBoolOption{reuseMathAlphabets}
-% .. caution::
-% Do not use ``reuseMathAlphabets`` together with the ``OMLmathbf`` or
-% ``OMLmathsf`` options.
-%
-%
-% OML math alphabets
-% ------------------
-%
-% With Greek letters defined as ``\mathalpha``, the math alphabets are
-% expected to be in `OML font encoding`_. Unfortunately, the standard math
-% alphabets are usually taken from OT1 encoded fonts that have ligatures and
-% non-alpha symbols in place of the small Greek letters.
-%
-% The following options cause isomath to (re)define `math alphabets`_ in OML
-% encoding::
+
+% OMLmath*
+% --------
+% The following options cause `isomath` to (re)define the corresponding
+% `math alphabets`_ in OML encoding::
\DeclareBoolOption{OMLmathrm}
\DeclareBoolOption{OMLmathbf}
@@ -540,20 +119,16 @@
\DeclareBoolOption{OMLmathsans}
\DeclareBoolOption{OMLmathtt}
-% Setting these options enables access to small Greek letters in different
-% shapes with e.g. ``\mathrm{\pi}`` — *if an OML encoded font is available*.
-% Currently, support for the `OML font encoding`_ is rather limited:
-%
-% * only the mathdesign_ fonts support roman in OML encoding, while
-% * many font packages define an italic font as OML replacement for a roman
-% font.
+% Setting these options enables access to small Greek letters in
+% different shapes with e.g. ``\mathrm{\pi}`` **if an OML encoded font
+% is available**. Currently, only the mathdesign_ fonts support roman in
+% OML encoding.
%
-% With some packages, these options can result in a "too many math alphabets
-% used in version normal" error.
+% With some packages, these options can result in a “too many math alphabets
+% used in version normal” error.
%
% Process Options
% ---------------
-%
% Process the options with ``kvoptions`` extensions::
\ProcessKeyvalOptions*
@@ -562,27 +137,35 @@
% Declarations
% ============
%
+%
% Math alphabets
% --------------
%
-% In math, LaTeX uses "absolute" fontnames instead of a selection by family,
-% shape, and weight because typefaces have a semantic meaning [fntguide]_.
-% This correlates with the `Unicode math support`_ where the
-% `mathematical alphanumeric symbols`_ block defines distinct Unicode
-% characters for Greek and Latin letters in different typefaces.
+% In math, LaTeX uses “absolute” fontnames instead of a selection by
+% family, shape, and weight because typefaces have a semantic meaning
+% (see fntguide_).
%
-% Isomath defines a math alphabet for every required font variant and
-% optionally re-defines the standard math alphabets in `OML font encoding`_.
-% Unfortunately, the number of math alphabets in one math version is limited
-% to 16, so we have to be carefull not to exceed this.
+% `isomath` defines a math alphabet for every required font variant and
+% optionally re-defines the standard math alphabets in `OML` font encoding.
%
+% Unfortunately, the number of math alphabets in one math version is
+% limited to 16, so we have to be carefull not to exceed this. The
+% ``reuseMathAlphabets`` option reduces this number by two, with the
+% side effect of italic shape with ``\mathbf`` and ``\mathsf`` commands::
+
+\ifisomath@reuseMathAlphabets
+ \PackageWarningNoLine{isomath}{%
+ Re-using math alphabet `mathsf' for \protect \mathboldsans
+ \MessageBreak and `mathbf' for \protect \mathbold
+ }
+\fi
+
% mathbold
-% """"""""
-%
+% ~~~~~~~~
% The *italic bold* math alphabet is named ``\mathbold`` like in
-% `related packages`_. With the reuseMathAlphabets_ option, ``\mathfb``
-% is redefined and ``\mathbold`` made an alias (overwriting existing
-% definitions)::
+% fixmath_ and related packages. With the reuseMathAlphabets_ option,
+% the roman bold math alphabet ``\mathbf`` is redefined and
+% ``\mathbold`` made an alias (overwriting existing definitions)::
\ifisomath@reuseMathAlphabets
\DeclareMathAlphabet{\mathbf}{OML}{\isomath@rmdefault}{bx}{it}
@@ -592,8 +175,7 @@
\fi
% mathsans
-% """"""""
-%
+% ~~~~~~~~
% For *italic sans-serif*, we define a new alphabet named ``\mathsans`` (in
% analogy to ``\mathbold``). As this typeface is not required by ISO 31, it
% is only defined if the ``OMLmathsans`` option is set::
@@ -603,11 +185,11 @@
\fi
% mathboldsans
-% """"""""""""
-%
-% A *sans serif slanted bold* alphabet is needed for tensor symbols. With the
-% reuseMathAlphabets_ option, ``\mathsf`` is redefined and ``\mathboldsans``
-% made an alias::
+% ~~~~~~~~~~~~
+% A *sans serif slanted bold* alphabet is needed for tensor symbols.
+% With the reuseMathAlphabets_ option, the upright sans serif math
+% alphabet ``\mathsf`` is redefined and ``\mathboldsans`` made an
+% alias::
\ifisomath@reuseMathAlphabets
\DeclareMathAlphabet{\mathsf}{OML}{\isomath@sfdefault}{bx}{it}
@@ -617,10 +199,10 @@
\fi
% Redefine standard alphabets
-% """""""""""""""""""""""""""
+% ~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
-% Redefine standard alphabets in `OML font encoding`_
-% if the corresponding `OML math alphabets`_ option is true::
+% Redefine standard alphabets in `OML` font encoding
+% if the corresponding `OMLmath*`_ option is true::
\ifisomath@OMLmathrm
\SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{m}{n}
@@ -639,18 +221,18 @@
% ---------------
%
% The following macros allow semantic markup of mathematical symbols.
-% The argument is typeset as proposed by ISO 31 and [typefaces]_.
+% The argument is typeset as proposed by ISO 31 and
+% `Typefaces for Symbols in Scientific Manuscripts`_.
%
% \\vectorsym
-% """""""""""
-%
+% ~~~~~~~~~~~
% Symbols for vectors are typeset *boldface italic*::
\newcommand{\vectorsym}{\mathbold}
% For easier writing or to make existing documents conform to the standard,
% you might want to re-define the standard ``\vec`` command after loading this
-% package (cf. the Examples_ section).
+% package (cf. the Examples section of the documentation).
%
% Attention: Some fonts (CM, Latin Modern, ...) have old-style figures in
% their math italic version. The Null vector must not be written ``\vec{0}``
@@ -659,8 +241,7 @@
% alias for a bold vector.
%
% \\matrixsym
-% """""""""""
-%
+% ~~~~~~~~~~~
% Symbols for matrices are typeset *boldface italic*, i. e. in the same face
% as vectors. ::
@@ -668,114 +249,78 @@
% \\tensorsym
-% """""""""""
-%
+% ~~~~~~~~~~~
% Symbols for tensors are *sans-serif bold italic*::
\newcommand{\tensorsym}{\mathboldsans}
+
% Font mappings
% -------------
%
-% Some font packages provide a matching math font but do not define a
-% substitution in their ``*.fd`` files.
+% Some font packages provide matching text and math font but do not
+% define a substitution in their ``*.fd`` files.
%
-% We define the substitutions needed for the math alphabet definitions in this
-% package. Ideally, these should become part of a more complete set of
-% definitions in the package's ``*.fd`` files:
+% We define the substitutions needed for the math alphabet definitions
+% in this package. Ideally, these should become part of the package's
+% ``*.fd`` files.
%
-% Mathpazo (Palatino) ppl -> zplm ::
+% For details about the font definition macros see the fntguide_.
+%
+% Mathpazo (Palatino) ppl <-> zplm ::
\DeclareFontFamily{OML}{ppl}{\skewchar\font127}
\DeclareFontShape{OML}{ppl}{m}{it}{<-> ssub * zplm/m/it}{}
\DeclareFontShape{OML}{ppl}{bx}{it}{<-> ssub * zplm/b/it}{}
-% Arev (see omlzavm.fd): fav -> zavm ::
-\DeclareFontFamily{OML}{fav}{\skewchar \font =127}
-\DeclareFontShape{OML}{fav}{m}{it}{<->ssub * zavm/m/it}{}
-\DeclareFontShape{OML}{fav}{bx}{it}{<->ssub * zavm/b/it}{}
+% Scaling
+% ~~~~~~~
+% Scale the ``fav`` (Arev), ``llcmss`` (LX Fonts), and ``iwona`` fonts
+% by the value of the ``scaled`` option.
+%
+% To get scaled versions of a font, you cannot use the ``ssub``
+% `size function`, but must use the empty function or ``s`` with the font
+% file as argument [found by experiment, GM 2010-01-28].
+%
+% Arev (see omlzavm.fd): fav <-> zavm ::
+
+\DeclareFontFamily{OML}{fav}{\skewchar\font127}
+\DeclareFontShape{OML}{fav}{m}{it}{<-> s * [\isomath@scaled] zavmri7m}{}
+\DeclareFontShape{OML}{fav}{bx}{it}{<-> s * [\isomath@scaled] zavmbi7m}{}
% LX Fonts (see lxfonts.sty): llcmss -> llcmm ::
-\DeclareFontFamily{OML}{llcmm}{\skewchar\font'177}
-\DeclareFontShape{OML}{llcmm}{m}{it}{<-> lcmmi8}{}
-\DeclareFontShape{OML}{llcmm}{bx}{it}{<-> lcmmib8}{}
+\DeclareFontFamily{OML}{llcmss}{\skewchar\font'177}
+\DeclareFontShape{OML}{llcmss}{m}{it}{<-> s * [\isomath@scaled] lcmmi8}{}
+\DeclareFontShape{OML}{llcmss}{bx}{it}{<-> s * [\isomath@scaled] lcmmib8}{}
-\DeclareFontFamily{OML}{llcmss}{}
-\DeclareFontShape{OML}{llcmss}{m}{it}{<-> ssub * llcmm/m/it}{}
-\DeclareFontShape{OML}{llcmss}{bx}{it}{<-> ssub * llcmm/bx/it}{}
+% Ivona (see ``omliwona.fd``)::
+\DeclareFontFamily{OML}{iwona}{}
+\DeclareFontShape{OML}{iwona}{m}{it}{<-> s * [\isomath@scaled] mi-iwonari}{}
+\DeclareFontShape{OML}{iwona}{bx}{it}{<-> s * [\isomath@scaled] mi-iwonabi}{}
% No declarations below this point::
\endinput
-
-% References
-% **********
-%
-% .. [ISO-31] International Standard 31 `Quantities and units`,
-% (ISO 31-0:1992 to ISO 31-14:1992):
-% http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202
-%
-% .. [typefaces] `Typefaces for Symbols in Scientific Manuscripts`:
-% http://physics.nist.gov/Document/typefaces.pdf
-%
-% .. [checklist] `SI Unit rules and style conventions`
-% Check List for Reviewing Manuscripts:
-% http://physics.nist.gov/cuu/Units/checklist.html
-%
-% .. [fonts-for-symbols] `On the use of italic and roman fonts for symbols
-% in scientific text`, (Revised December 1999):
-% http://old.iupac.org/standing/idcns/fonts_for_symbols.html
-%
-% .. [SI-brochure] `The International System of Units (SI)`:
-% http://www.bipm.org/en/si/si_brochure/
-%
-% .. [encguide] `LaTeX font encodings`:
-% http://dante.ctan.org/CTAN/macros/latex/doc/encguide.pdf
-%
-% .. [fntguide] `LaTeX 2e font selection`:
-% http://dante.ctan.org/CTAN/macros/latex/doc/fntguide.pdf
-%
-% .. [tr25] `Unicode Support for Mathematics`, Unicode Technical Report #25:
-% http://www.unicode.org/reports/tr25/
-%
-% .. see also
-% [koma-mail] Custom font substitution: http://www.komascript.de/node/823
-%
-% [Green-Book] `Quantities, Units and Symbols in Physical Chemistry`,
-% 3rd edition, RSC Publishing, Cambridge 2007:
-% [ISBN 0 85404 433 7; ISBN-13 978 0 85404 433 7]
-%
% .. Links
% .. *****
%
% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
-% .. _BIPM: http://www.bipm.org/
-% .. _IUPAC: http://iupac.org/
-% .. _IUPAP: http://www.iupap.org/
-% .. _NIST: http://physics.nist.gov/
-% .. _mathematical alphanumeric symbols:
-% http://www.unicode.org/charts/PDF/U1D400.pdf
% .. _arev: http://dante.ctan.org/CTAN/help/Catalogue/entries/arev.html
% .. _cmbright: http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html
-% .. _eulervm: http://dante.ctan.org/CTAN/help/Catalogue/entries/eulervm.html
% .. _fixmath: http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html
-% .. _fix-cm: http://dante.ctan.org/CTAN/help/Catalogue/entries/fix-cm.html
-% .. _fourier: http://dante.ctan.org/CTAN/help/Catalogue/entries/fourier.html
+% .. _fntguide: http://dante.ctan.org/CTAN/macros/latex/doc/fntguide.pdf
% .. _hvmath: http://dante.ctan.org/CTAN/help/Catalogue/entries/hvmath.html
-% .. _ifthen: http://dante.ctan.org/CTAN/help/Catalogue/entries/ifthen.html
% .. _iwona: http://dante.ctan.org/CTAN/help/Catalogue/entries/iwona.html
-% .. _kpfonts: http://dante.ctan.org/CTAN/help/Catalogue/entries/kpfonts.html
-% .. _kvoptions: http://dante.ctan.org/CTAN/help/Catalogue/entries/kvoptions.html
% .. _keyval: http://dante.ctan.org/CTAN/help/Catalogue/entries/keyval.html
+% .. _kvoptions: http://dante.ctan.org/CTAN/help/Catalogue/entries/kvoptions.html
% .. _lxfonts: http://dante.ctan.org/CTAN/help/Catalogue/entries/lxfonts.html
% .. _mathdesign: http://dante.ctan.org/CTAN/help/Catalogue/entries/mathdesign.html
-% .. _mathpazo: http://dante.ctan.org/CTAN/help/Catalogue/entries/mathpazo.html
+% .. _mathematical alphanumeric symbols:
+% http://www.unicode.org/charts/PDF/U1D400.pdf
% .. _oberdiek: http://dante.ctan.org/CTAN/help/Catalogue/entries/oberdiek.html
-% .. _sfmath: http://dtrx.de/od/tex/sfmath.html
-% .. _pxfonts: http://dante.ctan.org/CTAN/help/Catalogue/entries/pxfonts.html
-% .. _tmmath: http://dante.ctan.org/CTAN/help/Catalogue/entries/tmmath.html
-% .. _txfonts: http://dante.ctan.org/CTAN/help/Catalogue/entries/txfonts.html
+% .. _`Typefaces for Symbols in Scientific Manuscripts`:
+% http://physics.nist.gov/Document/typefaces.pdf