summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/isomath/isomath.sty.txt')
-rw-r--r--Master/texmf-dist/doc/latex/isomath/isomath.sty.txt245
1 files changed, 145 insertions, 100 deletions
diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt b/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt
index eb407f37486..aa082fdd79c 100644
--- a/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt
+++ b/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt
@@ -23,10 +23,10 @@ Motivation
*sans-serif bold italic* typeface, as recommended by [typefaces]_?
Scientific organisations like IUPAP_, IUPAC_, NIST_, BIPM_, and others
-recommend typesetting math according to International Standard `ISO 31`_
-`Quantities and units` (ISO 31-0:1992 to ISO 31-14:1992).\ [#]_
+recommend typesetting math according to the International Standard ISO 31
+`Quantities and units` [ISO-31]_.\ [#]_
-The traditional `LaTeX-style` deviates in some points from this rules:
+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.
@@ -36,28 +36,17 @@ The traditional `LaTeX-style` deviates in some points from this rules:
and the Latin alphabet.
* There is no provision for typesetting of Greek letters in *bold italic*
- style recommended for vectors (even though the required fonts are
- available).
+ style recommended for vectors.
* There is no provision for typesetting letters in *sans-serif bold italic*
recommended for typesetting tensor symbols.
-Also, the Unicode Standard defines the block `mathematical alphanumeric
-symbols`_ — *To be used for mathematical variables where style variations
-are important semantically* — which contains Latin and Greek letters in
-bold, italic, bold italic, sans-serif bold, and sans-serif bold italic
-typeface.\ [#]_
-
-Some of these points are already adressed by `related packages`_, however
+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.
-.. [#] A summary of these rules is free available [typefaces]_. See also
- [fonts-for-symbols]_ and [SI-brochure]_.
-
-.. [#] Plus Number variants and Latin letters in script, bold script,
- fraktur, bold fraktur, double-struck, sans-serif and monospace;
- alltogether 1023 codepoints.
+.. [#] Summaries of these rules are free available, see [typefaces]_,
+ [fonts-for-symbols]_, and [SI-brochure]_.
Features
@@ -66,26 +55,20 @@ Features
The ``isomath.sty`` package facilitates the task to abide with ISO 31 when
typesetting math with LaTeX:
-* It utilises fixmath_ to re-define Greek letters as ``\mathalpha``, taking
- them from the "letters" symbol fonts (as opposed to "operators" in
- ``fontmath.ltx``). This ensures that
+* 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 are available through the ``\mathrm`` and
- ``\mathbf`` alphabets, if the corresponding fonts are OML encoded.
-
- Caution: small Greek letters in a math alphabet command can lead to garbage.
- Use the options for `OML math alphabets`_ (if the used font supports the
- `OML font encoding`_) or place Greek letters outside the math alphabet
- command. Some packages (including fixmath_) provide ``\up*`` or
- ``\var*`` macros for upright Greek letters, e.g. ``\mathrm{k}\upOmega``.
+ + 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 selecting an ISO-conforming typeface.
+ allow semantic markup. They print the argument in an ISO-conforming
+ typeface.
* For this, new `math alphabets`_ are defined:
@@ -98,13 +81,18 @@ typesetting math with LaTeX:
``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 miss the substitution definition in their ``*.fd``
+ encoded counterpart but no substitution definition in their ``*.fd``
files.
-Examples
-========
+Usage
+=====
+Make sure that LaTeX can find ``isomath.sty`` and insert the command
+``\usepackage{isomath}`` in the document preamble.
+
+Examples
+--------
* In many cases (e.g. when ``\sfdefault`` expands to "cmss"), the
``\mathboldsans`` alphabet is neither bold nor sans, as "cmss" has no OML
@@ -126,13 +114,13 @@ Examples
\usepackage[charter]{mathdesign}
\usepackage[OMLmathbf,sfdefault=cmbr]{isomath}
- Now, ``\mathbf{\pi}`` works as expected.
+ Now, ``\mathbf{\pi}`` produces a bold upright pi symbol.
Related packages
================
-Some packages already define Greek letters as ``\mathalpha`` and provide the
-``\mathbold`` alphabet (in OML):
+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)
@@ -142,11 +130,11 @@ Some packages already define Greek letters as ``\mathalpha`` and provide the
* mathpazo_ (Palatino)
* tmmath_ (TM-Math/Times)
-This package builds on and extends fixmath_ by Walter Schmidt
-(see Requirements_).
+This package requires and extends fixmath.sty_.
-The cmbright_ package provides fonts for ``\mathsans`` and
-``\mathboldsans`` matching with Computer Modern and derivatives.
+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
---------
@@ -158,22 +146,47 @@ documentation).
The `kpfonts`_, `pxfonts`_, and `txfonts`_ packages define many additional
math alphabets and can only be combined with ``isomath``, if the
-reuseMathalphabets_ option is used.
+reuseMathAlphabets_ option is used.
+
+Greek in Math
+=============
+
+Unicode Math Support
+--------------------
+
+The technical report `Unicode Support for Mathematics` [tr25]_ lists
+*alphanumeric symbols encountered in mathematics* in Table 2.1 `Mathematical
+Alphabets`. It includes Latin and Greek letters in the bold, italic, bold
+italic, sans-serif bold, and sans-serif bold italic math styles.
+
+The Unicode block `mathematical alphanumeric symbols`_ provides style
+variants for Latin and Greek letters and digits. It is "to be used for
+mathematical variables where style variations are important semantically".
+
OML font encoding
-=================
+-----------------
-The `LaTeX font encodings` guide [encguide]_ defines:
+The OML font encoding is the only established encoding providing
+Latin and Greek letters in one font:
+
+* LGR is Greek-only,
+* 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.
-and names it `TeX math italic`. However, the reference to *italic* seems to
-be a description of the *state of the art* rather than a necessary
-restriction:
+However, the reference to **italic** seems to be a description of the *state
+of the art* rather than a necessary restriction:
-* The only OML encoded CM font is "Computer Modern Math Italic" (cmmi),
+* The only OML encoded CM font is `Computer Modern Math Italic` (cmmi),
* but generally, font encodings (T1, OT1) are not specific to the font shape.
@@ -184,11 +197,8 @@ restriction:
* A more suitable public name would be `TeX math letters` or `Original/Old
Math Letters`. The latter would also explain the acronym OML.
-The OML font encoding is the only established encoding providing
-Latin and Greek letters in one font:
-
-* LGR is Greek-only,
-* T7 is just a "reserved name" for a standard Greek encoding.
+Support
+"""""""
Unfortunately, support for the OML encoding is missing for many font
families even if the base font contains all Greek letters.
@@ -283,17 +293,16 @@ substitution can be set with the rmdefault_ option.
============= ===============================
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 the full support of the `Mathematical
+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 is (relatively) easy to achieve via virtual fonts when the glyphs for
-the Greek letters already exist (this is the case for many fonts where the
-primary version is Unicode encoded). Examples are Latin Modern, Kerkis,
-GFS-Neohellenic, LX-Fonts and KP-Serif.
+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, T7 could be used for math alphabets (if it ever happens to
materialise).
@@ -311,25 +320,52 @@ Identification
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{isomath}
- [2008/06/23 v0.1 typeset math according to International Standard ISO 31]
+ [2008/10/02 v0.2 typeset math according to International Standard ISO 31]
+
+.. class:: borderless
+
+===== ========== ========================================================
+0.1 2008-09-25 first public version.
+0.2 2008-10-02 bugfix: a usage example was uncommented;
+ updated documentation;
+ define \mathsans only if OMLmathsans is true;
+ option reuseMathalphabets -> reuseMathAlphabets.
+===== ========== ========================================================
+
Requirements
============
-fixmath
--------
+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``).
-fixmath_ by Walter Schmidt defines Greek letters as symbols of type
-``\mathalpha`` and takes them from the "letters" SymbolFont in
-``\mathnormal``. (It also defines the ``\mathbold`` alphabet, setting it to
-``cmm``. This definition will be overwritten with a configurable value for
+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.)
+
::
\RequirePackage{fixmath}
-kvoptions
----------
+.. caution::
+
+ Placing small Greek letters in a math alphabet, e.g.
+ ``\mathrm{k\Omega}``, can lead to garbage.
+
+ 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_)::
@@ -377,7 +413,7 @@ TODO
Allow scaling?
-reuseMathalphabets
+reuseMathAlphabets
------------------
The definition of new `math alphabets`_ can lead to a "too many math
@@ -387,29 +423,37 @@ 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, that this toggles the math-mode off and
+commands might be used (however, this toggles the math-mode off and
might use a different font).
::
- \DeclareBoolOption{reuseMathalphabets}
+ \DeclareBoolOption{reuseMathAlphabets}
-Caution: Do not use ``reuseMathalphabets`` together with ``OMLmathbf`` or
-``OMLmathsf``.
+.. caution::
+ Do not use ``reuseMathAlphabets`` together with the ``OMLmathbf`` or
+ ``OMLmathsf`` options.
OML math alphabets
------------------
-The following options cause isomath to (re)define `math alphabets`_ in OML
-encoding.
-
With Greek letters defined as ``\mathalpha``, the math alphabets are
-expected to be in `OML font encoding`_ as OT1 encoded fonts have ligatures
-and non-alpha symbols in place of the small Greek letters.
+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::
+ \DeclareBoolOption{OMLmathrm}
+ \DeclareBoolOption{OMLmathbf}
+ \DeclareBoolOption{OMLmathsf}
+ \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**.
+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 *bold roman* in OML encoding, while
@@ -418,13 +462,6 @@ Currently, support for the `OML font encoding`_ is rather limited:
With some packages, these options can result in a "too many math alphabets
used in version normal" error.
-::
-
- \DeclareBoolOption{OMLmathrm}
- \DeclareBoolOption{OMLmathbf}
- \DeclareBoolOption{OMLmathsf}
- \DeclareBoolOption{OMLmathsans}
- \DeclareBoolOption{OMLmathtt}
---------------------------------------------------
@@ -439,22 +476,25 @@ Math alphabets
--------------
In math, LaTeX uses "absolute" fontnames instead of a selection by family,
-shape, and weight (see the [fntguide]_ for the rationale).
+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 in Greek and Latin letters in different typefaces.
-We define a math alphabet for every required font variant and optionally
-re-define the standard math alphabets in `OML font encoding`_.
+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.
mathbold
""""""""
-For the *`italic bold* math alphabet we use the name ``\mathbold``
-established in `related packages`_. With the reuseMathalphabets_ option,
-``\mathfb`` is redefined and ``\mathbold`` made an alias (overwriting
-existing definitions). ::
+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)::
- \ifisomath@reuseMathalphabets
+ \ifisomath@reuseMathAlphabets
\DeclareMathAlphabet{\mathbf}{OML}{\isomath@rmdefault}{bx}{it}
\def\mathbold{\mathbf}
\else
@@ -476,10 +516,10 @@ mathboldsans
""""""""""""
A *sans serif slanted bold* alphabet is needed for tensor symbols. With the
-reuseMathalphabets_ option, ``\mathsf`` is redefined and ``\mathboldsans``
+reuseMathAlphabets_ option, ``\mathsf`` is redefined and ``\mathboldsans``
made an alias::
- \ifisomath@reuseMathalphabets
+ \ifisomath@reuseMathAlphabets
\DeclareMathAlphabet{\mathsf}{OML}{\isomath@sfdefault}{bx}{it}
\def\mathboldsans{\mathsf}
\else
@@ -490,7 +530,7 @@ Redefine standard alphabets
"""""""""""""""""""""""""""
Redefine standard alphabets in `OML font encoding`_
-(if the corresponding `OML math alphabets`_ option is true). ::
+if the corresponding `OML math alphabets`_ option is true::
\ifisomath@OMLmathrm
\SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{n}{n}
@@ -509,7 +549,7 @@ Command aliases
---------------
The following macros allow semantic markup of mathematical symbols.
-The symbols argument is typeset as proposed by ISO 31 and [typefaces]_.
+The argument is typeset as proposed by ISO 31 and [typefaces]_.
\\vectorsym
"""""""""""
@@ -580,6 +620,10 @@ No declarations below this point::
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
@@ -596,6 +640,9 @@ References
.. [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
@@ -610,8 +657,6 @@ References
.. _IUPAC: http://iupac.org/
.. _IUPAP: http://www.iupap.org/
.. _NIST: http://physics.nist.gov/
-.. _ISO 31:
- http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202
.. _mathematical alphanumeric symbols:
http://www.unicode.org/charts/PDF/U1D400.pdf
.. _arev: http://dante.ctan.org/CTAN/help/Catalogue/entries/arev.html