diff options
author | Karl Berry <karl@freefriends.org> | 2008-10-04 23:50:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-10-04 23:50:58 +0000 |
commit | d5d609e002170e08c67f533bcd4f4fada5196187 (patch) | |
tree | 4b1c02f4c562ceaadb494d5894d2e625f8b9c52a /Master/texmf-dist/doc/latex/isomath/isomath.sty.txt | |
parent | 27ba1b8d22c0132a0b0c5fba15fb37ea10205cd3 (diff) |
isomath update (4oct08)
git-svn-id: svn://tug.org/texlive/trunk@10854 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/isomath/isomath.sty.txt')
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath.sty.txt | 245 |
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 |