From 60134622cf5eb833e549dd5dfefb08a674b5a78c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 12 Sep 2012 22:14:06 +0000 Subject: isomath (12sep12) git-svn-id: svn://tug.org/texlive/trunk@27654 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/isomath/README.html | 109 ++- Master/texmf-dist/doc/latex/isomath/README.txt | 52 +- .../texmf-dist/doc/latex/isomath/isomath-test.pdf | Bin 351869 -> 147158 bytes .../texmf-dist/doc/latex/isomath/isomath-test.tex | 101 +- Master/texmf-dist/doc/latex/isomath/isomath.html | 1019 +++++++++++--------- Master/texmf-dist/doc/latex/isomath/isomath.pdf | Bin 512685 -> 475097 bytes .../texmf-dist/doc/latex/isomath/isomath.sty.html | 322 ++++--- .../texmf-dist/doc/latex/isomath/isomath.sty.txt | 118 ++- Master/texmf-dist/doc/latex/isomath/isomath.txt | 722 +++++++------- Master/texmf-dist/tex/latex/isomath/isomath.sty | 120 ++- 10 files changed, 1419 insertions(+), 1144 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/isomath/README.html b/Master/texmf-dist/doc/latex/isomath/README.html index 35e0cf95488..708196e29f7 100644 --- a/Master/texmf-dist/doc/latex/isomath/README.html +++ b/Master/texmf-dist/doc/latex/isomath/README.html @@ -3,15 +3,15 @@ - -isomath README - - + +isomath + + -
-

isomath README

+
+

isomath

+

Mathematical style for science and technology

Date
-
2011-02-01
+
2012-09-04
- +
Licence

This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either @@ -767,10 +792,12 @@ 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 80000-2.

+

The isomath package provides tools for a mathematical style +that conforms to the International Standard ISO 80000-2 and is +common in science and technology: capital Greek letters in italic +shape, bold italic and sans-serif bold italic math alphabets with +Latin and Greek characters, and macros for markup of vector, +matrix and tensor symbols.

Files

@@ -779,12 +806,12 @@ by the International Standard ISO 80000-2.

- +

README.txt

Requirements, Installation, Usage

README.html

-

browser friendly README

+

Requirements, Installation, Usage (HTML)

isomath.sty

literate source (the actual LaTeX package)

@@ -814,7 +841,7 @@ by the International Standard ISO 80000-2.

The bidirectional text <-> code converter PyLit can convert between isomath.sty and isomath.sty.txt.

-

The Python Docutils and pdflatex were used to generate the HTML and PDF +

The Docutils and pdflatex were used to generate the HTML and PDF documentation from the reStructuredText sources.

@@ -827,20 +854,24 @@ bold italic fonts matching with Computer Modern and derivatives.

Installation

-
    -
  • Unpack isomath.zip (preferably in a TDS documentation folder).

  • -
  • Make sure LaTeX can find isomath.sty:

    -

    Copy/Move/Link it to a suitable place in the TDS and run texhash -or place it in the current working directory (e.g. for testing).

    -
  • +

    If possible, get this package from your distribution using its installation +manager.

    +

    Otherwise, make sure LaTeX can find the file isomath.sty:

    +
      +
    • Download and unpack isomath.zip or just download isomath.sty.

    • +
    • Copy/Move/Link isomath.sty to a suitable place in the TDS and run +texhash, or place it in the current working directory (e.g. for +testing).

Usage

+

Load the package and (optionally) change the default \vec macro with:

\usepackage{isomath}
+\renewcommand{\vec}{\vectorsym}  % optional
 
-

Option description, more examples and usage hints are in the user -documentation.

+

Option description, more examples and usage hints are in the user +documentation.

diff --git a/Master/texmf-dist/doc/latex/isomath/README.txt b/Master/texmf-dist/doc/latex/isomath/README.txt index 613161aac1d..107c024a5dc 100644 --- a/Master/texmf-dist/doc/latex/isomath/README.txt +++ b/Master/texmf-dist/doc/latex/isomath/README.txt @@ -1,24 +1,29 @@ -isomath README -~~~~~~~~~~~~~~ - -:Date: 2011-02-01 -:Copyright: © 2008, 2011 Günter Milde - +isomath +******* +Mathematical style for science and technology +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:Author: Günter Milde +:Date: 2012-09-10 +:Copyright: © 2008, 2012 Günter Milde :Licence: This work may be distributed and/or modified under the 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 80000-2. +:Abstract: The `isomath` package provides tools for a mathematical style + that conforms to the International Standard ISO 80000-2 and is + common in science and technology. It changes the default shape of + capital Greek letters to italic, sets up bold italic and + sans-serif bold italic math alphabets with Latin and Greek + characters, and defines macros for markup of vector, matrix and + tensor symbols. Files ===== ==================== ================================= README.txt Requirements, Installation, Usage -README.html browser friendly README +README.html Requirements, Installation, Usage (HTML) isomath.sty literate source (the actual LaTeX package) isomath.sty.txt literate source (text version) @@ -35,7 +40,7 @@ isomath-test.pdf Test example (PDF output) The bidirectional text <-> code converter PyLit_ can convert between ``isomath.sty`` and ``isomath.sty.txt``. -The Python Docutils_ and pdflatex were used to generate the HTML and PDF +The Docutils_ and pdflatex were used to generate the HTML and PDF documentation from the reStructuredText_ sources. @@ -50,26 +55,33 @@ bold italic* fonts matching with Computer Modern and derivatives. All required packages are part of TeXLive and MikTeX. + Installation ============ -* Unpack isomath.zip (preferably in a TDS_ documentation folder). +If possible, get this package from your distribution using its installation +manager. + +Otherwise, make sure LaTeX can find the file `isomath.sty`: -* Make sure LaTeX can find isomath.sty: +* Download and unpack `isomath.zip` or just download `isomath.sty`. + +* Copy/Move/Link ``isomath.sty`` to a suitable place in the TDS_ and run + ``texhash``, or place it in the current working directory (e.g. for + testing). - Copy/Move/Link it to a suitable place in the TDS_ and run ``texhash`` - or place it in the current working directory (e.g. for testing). Usage ===== -:: +Load the package and (optionally) change the default ``\vec`` macro with:: \usepackage{isomath} + \renewcommand{\vec}{\vectorsym} % optional -Option description, more examples and usage hints are in the user -documentation. +Option description, more examples and usage hints are in the `user +documentation`_. .. References ========== @@ -84,3 +96,5 @@ documentation. .. _kvoptions: http://mirror.ctan.org/help/Catalogue/entries/kvoptions.html .. _TDS: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds + +.. _user documentation: isomath.sty.html diff --git a/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf b/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf index 07bc2bcc2c0..083afc40d1c 100644 Binary files a/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf and b/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf differ diff --git a/Master/texmf-dist/doc/latex/isomath/isomath-test.tex b/Master/texmf-dist/doc/latex/isomath/isomath-test.tex index b640a4ff66b..daed2193a50 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath-test.tex +++ b/Master/texmf-dist/doc/latex/isomath/isomath-test.tex @@ -1,4 +1,4 @@ -%isomath-test.tex: test and template for isomath.sty +% isomath-test.tex: test and template for isomath.sty % =================================================== % % Copyright © 2008 Günter Milde @@ -24,72 +24,70 @@ % (Auxiliary commands for package and option selection, so that the % selections can be shown in the test sheet.) % -% Uncomment the option(s) and package you want to test :: - -\newcommand*{\fontpackageoptions}{% -% default% with gfsneohellenic -% charter% with mathdesign -% garamond% with mathdesign -% utopia% with mathdesign -} - -\newcommand*{\fontpackage}{% -% ae,% \sfdefault is cmss -% anttor,% \sfdefault is cmss (use iwona) -% arev,% normal and sans identic (also in math) -% beton,% bitmap fonts -% concmath,% -% cmbright,% -% fourier,% incompatible (uses private font encoding) -% gfsneohellenic,% (use option [default]) no bold -% hfoldsty,% bitmap fonts -% iwona,% sets cmss as sans font (use iwona) -% kpfonts,% no sans serif italic -% kerkis,% no bold math, -% lmodern,% \sfdefault is cmss -% lucidabr,% commercial, subset (no math) free as bitmap -% lxfonts,% normal and sans identic, -% mathdesign,% \sfdefault is cmss, provides roman and roman-bold in OML -% mathptmx,% in mathnormal, Greek is larger than Latin! -% mbtimes,% \sfdefault is cmss -% mathpazo,% \sfdefault is cmss -% pxfonts,% needs reuseMathAlphabets, no sans-serif -tgcursor,% avoid bitmap tt -tgheros,% avoid bitmap sf -% tgpagella,% \sfdefault is cmss -tgtermes,% \sfdefault is cmss -% txfonts,% no sans-serif -% zefonts% +% Uncomment the package you want to test :: + +\newcommand*{\fontsetup}{\usepackage% +% {ae}% \sfdefault is cmss +% {anttor}% \sfdefault is cmss (use iwona) +% {arev}% normal and sans identic (also in math) +% {beton}% bitmap fonts +% {concmath}% +% {cmbright}% +% {fourier}% incompatible (uses private font encoding) +% [default]{gfsneohellenic}% no bold +% {hfoldsty}% bitmap fonts +% {iwona}% sets cmss as sans font (use iwona) +% [nomathscript]{kpfonts}% "Too many math alphabets" with OMLmathsfit option +% {kerkis}% no bold math, +% {lmodern}% \sfdefault is cmss +% {lucidabr}% commercial, subset (no math) free as bitmap +% {lxfonts}% normal and sans identic, +[utopia]{mathdesign}% \sfdefault is cmss, provides roman and roman-bold in OML +% [charter]{mathdesign}% +% [garamond]{mathdesign}% +% {mathptmx}% in mathnormal, Greek is larger than Latin! +% {mbtimes}% \sfdefault is cmss +% {mathpazo}% \sfdefault is cmss +% {newcent}% \sfdefault is cmss +% {pxfonts}% needs reuseMathAlphabets, no sans-serif +% {tgcursor}% avoid bitmap tt +% {tgheros}% avoid bitmap sf +% {tgpagella}% \sfdefault is cmss +% {tgtermes}% \sfdefault is cmss +% {txfonts}% no sans-serif } -% Isomath options -% ~~~~~~~~~~~~~~~ +% Isomath setup +% ~~~~~~~~~~~~~ % % Uncomment the option(s) you want to test :: -\newcommand*{\isomathoptions}{% +\newcommand*{\isomathsetup}{\usepackage[% % reuseMathAlphabets,% -% OMLmathrm,% -% OMLmathbf,% +OMLmathrm,% +OMLmathbf,% % OMLmathsf,% -OMLmathsfit,% +% OMLmathsfit,% % OMLmathtt,% % OMLmathsans,% backwards compatibility option alias +% rmdefault=zpple,% Mathpazo alternative % rmdefault=qtxmia,% TeX Gyre Termes math with alternative glyphs % sfdefault=cmbr,% default % sfdefault=iwona,% Iwona sans (Greek glyphs too close to roman) -% sfdefault=fav,% Arev sans (scale down (ca. 0.87)) +sfdefault=fav,% Arev sans (scale down (ca. 0.87)) +scaled=0.875% scaling for Arev (small letters) % sfdefault=llcmss,% LX sans (glyphs too close to italic, scale down) -% scaled=0.875% scaling for Arev (small letters) +% sfdefault=jkpss,% Kepler Sans +% scaled=0.95% scaling for Kepler Sans (small letters) +]{isomath}% } % Load customisable packages % -------------------------- % :: -\usepackage[\fontpackageoptions]{\fontpackage} -\usepackage[\isomathoptions]{isomath} - +\fontsetup +\isomathsetup % Auxiliary definitions % --------------------- @@ -101,7 +99,7 @@ OMLmathsfit,% % Fall-back definition for \mathsfit:: \providecommand*{\mathsfit}[1]% -{\textsf{mathsfit not defined, use \texttt{OMLmathsfit} option}} +{\emph{mathsfit not defined (requires \texttt{OMLmathsfit} option)}} % use Arev as "heavy" sans serif font:: @@ -118,10 +116,11 @@ OMLmathsfit,% \section*{Test the isomath Package} + % Print font package, isomath options, and resulting font families:: -Fontpackage: [\fontpackageoptions]\{\fontpackage\}\\ -Isomath: [\isomathoptions]\{isomath\}\\ +Font Setup: \detokenize\expandafter{\fontsetup}\\ +Isomath: \detokenize\expandafter{\isomathsetup}\\ Default font families: \makeatletter \begin{tabular}[t]{lrlrl} diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.html b/Master/texmf-dist/doc/latex/isomath/isomath.html index 3ed67206bc3..1d31f461d7c 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath.html +++ b/Master/texmf-dist/doc/latex/isomath/isomath.html @@ -3,16 +3,16 @@ - -isomath: Math for scientists + +isomath - - + + -
-

isomath: Math for scientists

+
+

isomath

+

Mathematical style for science and technology

Author
Günter Milde
Date
-
2011-01-14
+
2012-09-04
- +
Licence

This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either @@ -770,39 +795,29 @@ version 1.3 of this license or (at your option) any later version.

Abstract

-

The isomath package sets up an “ISO math style” allowing the -use of Greek and Latin letters as symbols for scalars, -vectors, matrices, and tensors in the typefaces recommended -for scientific papers by the International Standard -ISO 80000-2.

+

The isomath package provides tools for a mathematical style +that conforms to the International Standard ISO 80000-2 and is +common in science and technology. It changes the default shape of +capital Greek letters to italic, sets up bold italic and +sans-serif bold italic math alphabets with Latin and Greek +characters, and defines macros for markup of vector, matrix and +tensor symbols.

-

1 Features

+

1 Features

-

Leading international scientific organisations recommend math layout -rules in line with the International Standard [ISO-80000-2] in their -style guides, e. g., [typefaces], [checklist], [SI], [fonts_for_symbols], -[Red-Book], [Green-Book]:

+*sans-serif bold italic* typeface, as recommended by [typefaces]_? --> +

In their style guides, e. g. [typefaces], [checklist], [SI], +[fonts_for_symbols], [Red-Book], [Green-Book], many international +scientific organisations recommend layout rules for mathematics in line with +the International Standard [ISO-80000-2].

+
+

International standard layout rules

  • The overall rule is that symbols representing physical quantities (or variables) are italic, but symbols representing units, or labels, are roman.

  • -
  • Symbols for vectors are boldface italic, symbols for tensors are -sans-serif bold italic, and symbols for matrices are boldface -italic.

  • -
  • The above rules apply equally to letter symbols from both the Greek -and the Latin alphabet.

  • +
  • Symbols for vectors and matrices are bold italic, symbols for tensors +are sans-serif bold italic.

  • +
  • The above rules apply equally to letter symbols from the Greek and the +Latin alphabet.

-

The traditional TeX math style deviates from this rules in some +

+ +

TeX's default mathematical style deviates from this rules in several points:

    -
  • capital Greek letters default to upright shape,

  • -
  • small Greek letters are excluded from font changes with the math -alphabets.

  • -
  • The \vec command produces an arrow accent.

  • +
  • Capital Greek letters default to upright shape,

  • +
  • small Greek letters are excluded from font changes with the math +alphabet commands, and

  • +
  • the \vec command produces an arrow accent.

-

The isomath package implements an ISO math style and provides -new math alphabets with bold italic and sans-serif bold italic -typeshape that can be used for vector and tensor symbols.

+

The isomath package implements an “ISO” math style, provides new math +alphabets with bold italic and sans-serif bold italic type and macros +for semantic markup of vector, matrix and tensor symbols. It can be +combined with most packages for mathematical typesetting (see +isomath-test.tex and the sections on alternatives and conflicts).

-

1.1 ISO math style

-

The required package fixmath changes the default math layout to the -“ISO” math style:

+

1.1 “ISO” math style

+

Isomath builds on the package fixmath by Walter Schmidt to change the +default mathematics layout to the “ISO” math style:

    -
  • Uppercase Greek letters are typeset italic by default.

  • +
  • Capital Greek letters are typeset in italic shape by default.

  • Both, Greek and Latin letters change shape if a different math alphabet is used.

-

However, fixmath works only for the Computer Modern font family. -With isomath,

-
    -
  • the used math fonts are configurable (using the rmdefault and -sfdefault options), and

  • -
  • upright Greek letters can be made available through the common -\math* alphabets via the OMLmath* options if the -corresponding fonts support the OML font encoding.

  • -

Caution!

-

Using Greek letters in standard math alphabets, e. g., -\mathrm{\pi}, can lead to garbage, as the standard math -alphabets are usually taken from text fonts that have ligatures and -non-alpha symbols in place of the small Greek letters. -Do not use small Greek letters in the standard math alphabet commands -mathit, mathrm, mathbf, mathsf, and mathtt -unless you use the OMLmath* options.

-

Some packages provide alternative macros or options for upright -Greek letters (cf. Table 6).

+

Be careful with Greek letters in the argument of \mathit, \mathrm, +\mathbf, \mathsf, and \mathtt. By default, these math +alphabets use text fonts. Fonts in OT1 text font encoding have capital +(but not small) Greek letters at the expected places, T1 encoded text fonts +have no Greek letters at all.

+

See the examples section on how to get upright small Greek letters in +mathematical context.

-

1.2 New math alphabets

-

Isomath defines three new math alphabets:

-
+

1.2 New math alphabets

+

Isomath defines the new math alphabets:

- + @@ -929,30 +919,27 @@ Greek letters (cf. Table 

\mathbfit

boldface italic

vector and matrix symbols

-
+

For compatibility with earlier versions and related packages, the +new math alphabets are also available under the aliases +\mathbold, \mathsans, and \mathboldsans.

The rmdefault and sfdefault options set the font family used for these alphabets.

Caution!

-

Using the new math alphabets for numbers can result in upright -old-style numbers instead of italic ones, because some italic math -fonts (e. g., cmr, cmbr) have old-style numbers in place of italic -digits.

+

Using the new math alphabets for numbers can result in upright old-style +numbers instead of italic ones, because some italic math fonts (e. g., +cmr, cmbr) contain old-style in place of italic digits.

-

For compatibility with earlier versions and related packages, the -new math alphabets are also available under the aliases -\mathbold, \mathsans, and \mathboldsans.

-

1.3 Semantic markup

-

The following commands set the argument in an ISO-conforming math alphabet:

-
+

1.3 Semantic markup

+

The following commands set the argument in an ISO-conforming math alphabet:

- + @@ -962,25 +949,29 @@ bold upright for numbers

\vectorsym, \matrixsym

bold italic for Greek and Latin letters, bold upright for numbers

-
-

2 Usage

-

Make sure that LaTeX can find isomath.sty and load it with -\usepackage (see also Options and Examples).

+

2 Usage

+

Make sure that LaTeX can find isomath.sty and load it with:

+
\usepackage{isomath}
+
+

Optionally redefine the standard vector macro \vec:

+
\renewcommand{\vec}{\vectorsym}
+
+

(see also Options, Examples, and isomath-test.tex).

-

2.1 Options

+

2.1 Options

-

2.1.1 rmdefault

+

2.1.1 rmdefault

Family for serif math fonts (\mathrm, \mathbf, \mathit, \mathbfit). The default is to use the corresponding text font family (the value of \rmdefault). The font must be available in OML font encoding (cf. Table 3).

-

2.1.2 sfdefault

-

Family for sans-serif math fonts. The default is cmbr because many +

2.1.2 sfdefault

+

Family for sans-serif math fonts. The default is cmbr because most sans-serif fonts define the Computer Roman font cmm as OML substitution (see Table 4).

There are only few sans serif fonts in OML font encoding:

@@ -988,7 +979,7 @@ sans-serif fonts define the Computer Roman font cmm as OML substitu - +

Name

@@ -996,7 +987,7 @@ sans-serif fonts define the Computer Roman font cmm as OML substitu

Comment

- +

cmbr

cmbright

Computer Modern Bright, bitmap, slightly lighter @@ -1004,34 +995,36 @@ than cmss (Type 1 fonts with fav

arev

-

Arev (Vera Sans) with math extension, -large x-height

+

Arev (Vera Sans), large x-height

+ +

hvm

+

hvmath

+

Helvetica Math, commercial, free bitmap version

iwona

iwona

-

Humanistic Sans Serif, +

Iwona, humanistic sans serif, some shapes very similar to roman

-

hvm

-

hvmath

-

Helvetica Math, commercial, free bitmap version

+

jkpss

+

kpfonts

+

Kepler Sans, quite light

llcmss

lxfonts

-

LX Fonts, very wide, eccentric, large x-height, -new in 2008

+

LX Fonts, “slide fonts”, very wide, large x-height

-

2.1.3 scaled

-

To improve the chances of configuring a matching sans serif math font, -the fonts, fav, llcmss, and iwona can be scaled with the -scaled option (cf. Examples).

+

2.1.3 scaled

+

To improve the chances of finding a matching sans serif math font, the +fonts fav, iwona, jkpss, and llcmss can be scaled with the +scaled option (cf. Examples). For other fonts, the option is ignored.

-

2.1.4 reuseMathAlphabets

+

2.1.4 reuseMathAlphabets

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 @@ -1039,46 +1032,40 @@ option tells isomath to re-use the existing \ma

1

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, so watch for -side-effects.

+\textsf commands might be used. Watch for side-effects, as these +commands switch to text mode so that the font settings in the embedding +text apply.

-

2.1.5 OMLmathrm, OMLmathbf, OMLmathsf, OMLmathsfit, OMLmathtt

-

With Greek letters defined as \mathalpha, the letter fonts are -expected to be in OML font encoding. The predefined -math alphabets, however, use OT1 encoded text fonts. These fonts -have ligatures and accents in place of the small Greek letters. -The \mathsfit alphabet is not required for ISO conforming math.

+

2.1.5 OMLmathrm, OMLmathbf, OMLmathsf, OMLmathsfit, OMLmathtt

The OMLmath* options bind the corresponding \math* command to an -OML-encoded font. -This enables use of small Greek letters in math alphabet commands, -e. g., \mathrm{\pi} if an OML encoded font is available. -Table 3 lists font families supporting the OML encoding.

+OML-encoded font.

+

The \mathsfit alphabet is not required for ISO conforming mathematical +layout and therefore only defined if the OMLmathsfit argument is used.

+

The predefined math alphabets \mathrm, \mathbf, and \mathtt +use OT1 encoded text fonts with ligatures and accents in place of the small +Greek letters. The OMLmath* options enable the use of small Greek +letters in math alphabet commands, e. g. \mathrm{\pi}, if the +corresponding font is available in OML font encoding. Table 3 lists +font families supporting the OML encoding.

Caution!

-

If no matching OML encoded font is found, LaTeX's substitute -mechanism kicks in and selects a font with different font attributes -(for all letters, not only Greek). Currently, only the mathdesign -package provides upright fonts in OML encoding. Many font packages -define an italic font as OML substitute for roman fonts.

+

If no matching OML encoded font is found, LaTeX's substitute mechanism +selects a font with different font attributes (for all letters, not only +Greek). Currently, only the mathdesign package provides upright fonts in +OML encoding. Many font packages define an italic font as OML substitute +for roman fonts.

With some packages, these options can result in a “too many math alphabets used in version normal” error.

-

2.2 Examples

+

2.2 Examples

    -
  • Redefine the standard \vec command to set its argument in an -ISO-conforming math alphabet.:

    -
    \usepackage{isomath}
    -\renewcommand{\vec}{\vectorsym}
    -
    -
  • -
  • Use scaled arev fonts for the sans serif alphabets +

  • Use scaled arev fonts for the sans serif math alphabets (adapt the scaling factor to your needs):

    \usepackage[sfdefault=fav,scaled=0.875]{isomath}
     
    @@ -1098,9 +1085,9 @@ bold version of \mathsfbfit:

-

See also the isomath-test.tex test document.

+

See also the isomath-test.tex test document.

-

2.2.1 How to get upright small Greek letters

+

2.2.1 How to get upright small Greek letters

Of the following methods, only the first requires isomath:

  1. Use isomath and the mathdesign package:

    @@ -1118,14 +1105,13 @@ fonts, e. g.:

    (check if the letter shapes match with the rest of the document).

  2. Use a package that provides macros for upright Greek letters -in math:

    -
    +in math mode:

    - + @@ -1140,7 +1126,6 @@ in math:

    fourier

    \otheralpha ... \otherOmega

    -
  3. Use an upright text character (requires a matching LGR-encoded Greek text font). The following lines redefine \pi to set @@ -1152,6 +1137,15 @@ the mathematical constant pi upright:

    \renewcommand{\pi}{\text{\textrm{\greektext p }}}
  4. +
  5. Use the text character with the alphabeta package from the lgrx +bundle:

    +
    \usepackage{amsmath}
    +\usepackage{alphabeta}
    +
    +

    and in the body

    +
    $ u = 2 \text{\pi} r $
    +
    +
@@ -1191,30 +1185,32 @@ letters will not match in size.

3.3 Alternatives

-

See Table 2 for other packages that implement the “ISO” math -style and Table 6 for packages that provide bold italic -math fonts.

+

The TUGboat article by Claudio Beccari [becc97] discusses tricks and +commands for physicists and engineers in order to satisfy the international +regulations and to distinguish similar symbols with different meanings.

+

See Table 2 for other packages that implement the “ISO” math style and +Table 6 for packages that provide bold italic math fonts.

“In-line math versions”

can be used as ISO-conforming replacement for \vec:

-
\text
-

from amsmath can be used to get, e. g., upright or sans-serif -bold italic Greek symbols from a text font into a formula (see +

amsmath
+

provides the command \text, that can be used to get, e. g., upright or +sans-serif bold italic Greek symbols from a text font into a formula (see How to get upright small Greek letters).

unicode-math

for XeTeX and LuaTeX allows mathematical typesetting using OpenType math fonts. It supports the “ISO” math style and all mathematical characters in the Unicode standard.

-

unicode-math cannot be used together with isomath. It can, however, +

unicode-math cannot be used together with isomath. It can, however, replace all of isomath's functionality. See the discussion of the unicode-math package below.

@@ -1231,9 +1227,10 @@ than 16 fonts into the normal
  • The kpfonts, pxfonts, and txfonts packages define many -additional math alphabets.

  • +additional math alphabets (kpfonts works with isomath, if +it is loaded with \usepackage[nomathscript]{kpfonts}).

  • The bm package normally allocates several symbol fonts for bold -and heavy fonts. Their number can be customized by defining +and heavy fonts. Their number can be customised by defining \bmmax and \hmmax before loading the package.

  • @@ -1248,26 +1245,32 @@ math font encodings. It cannot be used with isomath.

    sfdefault=arev,scaled=0.85]{isomath} +
    sansmath
    +

    defines a sans math version using text fonts in OT1 or T1 font +encoding. As fixmath/isomath expect math fonts in OML font encoding, +Greek letters will not work inside the sans math version defined by +sansmath.

    +

    4 Background

    -

    This section discusses LaTeX math font selection, suitable -math letter fonts for the ISO math style, and the relation of LaTeX and -Unicode mathematical typesetting.

    +

    This section discusses LaTeX math font selection, the OML font +encoding, and the relation of LaTeX and Unicode mathematical +typesetting.

    4.1 Math font selection

    There are three complementary methods to set font attributes in LaTeX -math mode: LaTeX 2e font selection [fntguide] describes math +math mode: LaTeX 2e font selection [fntguide] describes math alphabets and math versions, several extension packages -provide alternative math styles (cf. Table 2).

    +provide alternative math styles.

    -

    4.1.1 Math alphabets

    -

    Math alphabets are a counterpart to the mathematical alphanumeric +

    4.1.1 Math alphabets

    +

    TeX's math alphabets correspond to the mathematical alphanumeric symbols block in Unicode. Both are “to be used for mathematical variables where style variations are important semantically”. -The font guide [fntguide] defines in +The font guide [fntguide] defines in section 3:

    Some math fonts are selected explicitly by one-argument commands @@ -1279,18 +1282,17 @@ commands that allow the attributes to be individually changed. Instead, the conversion from math fonts to these five attributes is controlled by the math version.

    The predefined math alphabets are:

    -
    - + - + - + @@ -1310,15 +1312,14 @@ controlled by the math versio

    \mathnormal

    default2

    default2

    \mathrm

    roman3

    roman3

    \mathbf

    bold roman

    -
    -
    2
    +
    2

    \mathnormal is used by default for alphanumeric characters in math mode. It sets the letter shape according to character class and math style. (Table 1 shows the default letter shapes for common math styles).

    -
    3
    +
    3

    The specifier “roman” is ambiguous: roman shape stands for upright, while roman type stands for serif (as @@ -1331,30 +1332,56 @@ opposed to sans serif).

    letter a in upright bold type.

    -

    4.1.2 Math versions

    -

    The number of mathematical symbols exceeds the maximal number of -characters in a TeX font file by an order of magnitude.4 -Grouping math fonts with common characteristics in math versions -simplifies the setting of font attributes for mathematical expressions.

    -

    Math versions set up “math symbol fonts” for non-alphanumeric -symbols and bind the math alphabet commands to fonts using default -values for non-specified font attributes. TeX limits the number of -(symbol + alphanumeric) fonts per math version to 16.

    +

    4.1.2 Math versions

    +

    Math versions specify the mapping from commands for mathematical +symbols and math alphabets to a set of mathematical fonts4. +They are intended for mathematical content in a special context like a +bold section heading. Selecting a math version resembles +the individual selection of text font attributes.

    +
    +
    Example:
    +

    Some alternatives to set the letter a in a bold upright sans-serif +font:

    + ++++ + + + + + + + + + + + + + + + + +

    Text

    Math

    \textbf{\textsf{a}}

    $\bm{\mathsf{a}}$

    \bfseries \textsf{a}

    \mathversion{bold} $\mathsf{a}$

    \bfseries \sffamily a

    $\mathsfbf{a}$

    +
    +

    The predefined math versions are normal and bold with the -defaults:

    +following defaults for non-specified font attributes:

    - +
    ---+++ - - - - + + + + + + @@ -1370,36 +1397,42 @@ defaults:

    -

    normal

    bold

    attribute

    normal

    bold

    type

    serif

    serif

    -

    Packages can define additional math versions, e. g., the wrisym package -defines a mono math version. A sans math version example is -available from a comp.text.tex post

    -

    Math versions are intended for mathematical content in a special -context, e. g., a bold section heading. -Setting a math version resembles the individual selection of text -font attributes (bold, sans-serif, monospaced).

    +

    Packages can define additional math versions, e. g., the kpfonts package +defines a sans math version (another sans math version example is +available from a comp.text.tex post`) and the wrisym package defines a +mono math version.

    Math versions can only be changed outside of math mode. The commands \boldsymbol (amsmath) and \bm (bm) behave like “in-line math versions”: they typeset their argument using the fonts of the bold math version but can be used inside math mode.

    -

    Example: four ways to set the letter a in a bold -sans-serif font:

    -
    % Text                 Math:
    -\textbf{\textsf{a}}    $\bm{\mathsf{a}}$
    -\bfseries \textsf{a}   \mathversion{bold} $\mathsf{a}$
    -
    -
    4
    -
    -

    Unicode provides about 2500 math characters. Font files used -by 8-bit TeX engines can hold up to 256 characters. The standard -math fonts adhere to the original limit of 128 characters.

    +
    4
    +
    +

    The number of mathematical symbols exceeds the maximal number of +characters in a TeX font file by an order of magnitude: Unicode +defines about 2500 mathematical characters [tr25], font files used by +8-bit TeX engines are limited to 256 characters. The standard math +fonts adhere to the original limit of 128 characters. Grouping math +fonts with common characteristics in math versions simplifies the +setting of font attributes for mathematical expressions. TeX limits +the number of (symbol + alphanumeric) fonts per math version to 16.

    -

    4.1.3 Math styles

    +

    4.1.3 Math styles

    A math style is a document-level feature that determines the default letter shape in math mode (i. e. the shape attribute of letters in the -\mathnormal math alphabet).

    +\mathnormal math alphabet).5 +LaTeX defaults to the “TeX” math style (without naming it such). +Alternative math styles are introduced by extension packages +(Table 2).

    +
    5
    +
    +

    The math-style option of unicode-math changes also the shape +attribute of other math alphabets (see also section +the unicode-math package).

    +
    +
    @@ -1417,7 +1450,7 @@ letter shape in math mode (i. e. the shape attribute of letters in the - + @@ -1444,11 +1477,8 @@ letter shape in math mode (i. e. the shape attribute of letters in the
    Default letter shapes for common math styles

    Greek

    TeX

    it

    it

    -

    LaTeX defaults to the “TeX” math style (without naming it such). -Alternative math styles are introduced by extension packages -(Table 2).

    - +@@ -1460,7 +1490,7 @@ Alternative math styles are introduced by extension packages - + @@ -1542,30 +1572,30 @@ Alternative math styles are introduced by extension packages
    Packages providing math stylesPackages providing alternative math styles

    Option(s)

    ISO

    fixmath

     
    -
    -

    4.2 Math letter fonts

    -

    The equal treatment of Latin and Greek letters in the ISO math -style is simplest achieved with a font that contains all required +

    +

    4.2 OML font encoding

    +

    The equal treatment of Latin and Greek letters in the “ISO” math +style is best achieved with a font that contains all required letters in one file.

    There is only one established LaTeX font encoding that contains Latin and Greek letters, the OML font encoding. The standard Greek font encoding T7 is just a “reserved name” and the de-facto standard Greek text font encoding LGR has no Latin letters. Unfortunately, OML support is limited to a few (mostly italic) fonts.

    -
    -

    4.2.1 OML font encoding

    -

    The LaTeX font encodings guide [encguide] names the OML encoding +

    +

    4.2.1 Discussion

    +

    The LaTeX font encodings guide [encguide] names the OML encoding 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 +

    The OML encoding contains italic Latin and Greek letters for use in +mathematical formulae (typically used for variables) together with some symbols.

    The reference to italic shape is odd:

      -
    • No other font encoding is specific to the font shape.

    • +
    • No other font encoding is specific to a font shape.

    • The different font selection and the semantic of font features in -math do not interfere with the font encoding: Both, +mathematical formulae do not interfere with the font encoding: 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 @@ -1579,7 +1609,7 @@ Modern fonts: Computer Modern Math Italic (cmmi).

    • Drop the italic from the definition. Optionally add an explanation:

      The OML encoding contains Latin and Greek letters for use in -mathematical formulas (typically used for variables) together with +mathematical formulae (typically used for variables) together with some symbols. It first appeared in the Computer Modern Math Italic (cmmi) font.

      @@ -1593,12 +1623,12 @@ Math Letters. The latter would also explain the acronym OML.

    -

    4.2.2 OML Support

    +

    4.2.2 OML Support

    Unfortunately, support for the OML encoding is missing for many font families even if the text font defines Greek letters. Supported font families can be found searching for oml*.fd files and grepping for DeclareFont.*OML in *.sty files.

    -

    Table 3 lists the findings for a selection of TeXLive 2009 + some +

    Table 3 lists the findings for a selection of TeXLive 2012 + some additionally installed font packages.

    • If there is an alias (substitution) from the text font to a @@ -1607,56 +1637,52 @@ math-variant, only the text font is listed.

    • however mapping to an italic variant of the OML encoded font. These are not listed as supporting m/n or bx/n here.

    +

    Table 4 lists some fonts that define cmm as OML substitution. +With isomath, a better matching substitution can be set using the +rmdefault or sfdefault options.

    ----+++++- - + - - - - - - - - + - + - + - + - + @@ -1677,70 +1703,161 @@ are not listed as supporting m/n or   - + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + - + @@ -1761,10 +1878,24 @@ are not listed as supporting m/n or

    - + + + + + + + + + + + + + + + @@ -1789,14 +1920,14 @@ are not listed as supporting m/n or   - + - + @@ -1817,21 +1948,21 @@ are not listed as supporting m/n or   - + - + - + @@ -1844,15 +1975,8 @@ are not listed as supporting m/n or   - - - - - - - - + @@ -1866,14 +1990,14 @@ are not listed as supporting m/n or   - + - + @@ -1881,9 +2005,6 @@ are not listed as supporting m/n or
    Font families supporting the OML encoding

    Name

    Family

    Family (package)

    m/it

    bx/it

    m/n

    bx/n

    aer

    AE (Almost European)

      

    antt

    Antykwa Torunska

    Antykwa Torunska (anttor)

       

    cmr

    Computer Modern Roman

    Computer Modern

       

    ccr

    Concrete

    Concrete Roman (concmath)

       

    cmbr

    Computer Modern Bright

    CM Bright (cmbright)

     

    iwona

    Iwona (sans serif)

    Iwona (sans serif) (iwona)

      

    iwonal

    Iwona light

      

    iwonac

    Iwona condensed

      

    iwonalc

    Iwona light condensed

       

    jkp

    Kepler Serif

    Kepler Serif (kpfonts)

       

    jkpl

    Kepler Serif

    jkpw

    Kepler Serif wide

       

    jkpvos

    Kepler Serif

    Kepler Serif oldstyle

      

    jkpvosw

    Kepler Serif oldstyle wide

      

    jkpl

    Kepler Serif light

      

    jkplw

    Kepler Serif light wide

       

    jkplvos

    Kepler Serif

    Kepler Serif light oldstyle

      

    jkplvosw

    Kepler Serif light os wide

      

    jkpss

    Kepler Sans (kpfonts)

      

    jkpssvos

    Kepler Sans oldstyle

      

    jtm

    expanded Times (jamtimes)

       

    llcmm

    LX Fonts (sans serif)

    LX Fonts (sans serif) (lxfonts)

       

    lmr

    Latin Modern Roman

    Latin Modern Roman (lmodern)

       

    mak

    Kerkis

    Kerkis (kerkis)

         

    kurier

    Kurier

    Kurier (sans serif) (kurier)

      

    kurierc

    Kurier condensed

      

    kurierl

    Kurier light

      

    kurierlc

    Kurier light condensed

       

    mdbch

    Math Design Charter

    Math Design Charter (mathdesign)

    neohellenic

    GFS Neohellenic

    Neohellenic (gfsneohellenic)

       

    ntxmi

    Times (newtx)

       

    nxlmi

    Libertine (newtx)

       

    plcm

    ptmcm

    Times (psfont)

    Times (mathptmx)

         

    pxr

    Palatino (pxfonts)

    Palatino (pxfonts)

     

    txr

    Times (txfonts)

    Times (txfonts)

       

    udidot

    Didot (gfsdidot)

    Didot (gfsdidot)

         

    ywclm

    (greektex)

    (greektex)

      

    zesfcm

    (efont)

       

    zplm

    Palatino (mathpazo)

    Palatino (mathpazo)

     

    ztmcm

    Times (mathptmv)

    Times (mathptmx)

         

    zer

    Computer Modern (zefonts)

    Computer Modern (zefonts)

     
    -

    Table 4 lists some fonts that define cmm as OML substitution. -With isomath, a better matching substitution can be set using the -rmdefault or sfdefault options.

    @@ -1895,7 +2016,7 @@ With isomath, a better matching substitution can be set using the - + @@ -1939,7 +2060,7 @@ With isomath, a better matching substitution can be set using the - + @@ -1961,29 +2082,65 @@ With isomath, a better matching substitution can be set using the
    -

    4.3 Unicode mathematical typesetting

    -

    The technical report [tr25] presents an in-depth discussion of the -mathematics character repertoire of the Unicode Standard as well as +

    4.3 Unicode mathematical typesetting

    +

    This section compares math font selection in LaTeX and Unicode. It +suggests a set of 14 math alphabet commands that covers all Unicode +mathematical alphanumeric symbols and discusses compatibility issues +between math typesetting with traditional (8-bit) TeX engines versus the +unicode-math package for Unicode-enabled TeX engines (XeTeX, LuaTeX).

    +

    The technical report [tr25] presents an in-depth discussion of the +mathematical character repertoire of the Unicode Standard as well as mathematical notation in general.

    -

    This section compares math font selection in LaTeX and Unicode. -It suggests a set of 14 math alphabets that covers all Unicode -mathematical alphanumeric symbols and discusses compatibility -issues between math typesetting with traditional (8-bit) TeX engines -versus the unicode-math package for Unicode-enabled TeX engines -(XeTeX, LuaTeX).

    -
    -

    4.3.1 Unicode math alphabets

    -

    Chapter 2 Mathematical Character Repertoire of [tr25] lists 14 +

    +

    4.3.1 Unicode mathematical alphabets

    +

    Chapter 2 Mathematical Character Repertoire of [tr25] lists 14 Mathematical Alphabets in Table 2.1. These mathematical alphabets are a superset of the predefined math alphabets in the LaTeX core.

    -

    Unicode assignes code points to most letters of the mathematical +

    Unicode assigns code points to most letters of the mathematical alphabets in the mathematical alphanumeric symbols Unicode block. -The plain (upright, serifed) letters have been unified with the +The plain (upright) letters have been unified with the existing characters in the Basic Latin and Greek blocks.

    Table 5 maps the 14 Unicode mathematical alphabets to LaTeX commands according to the naming scheme below. Table 6 lists the status of -LaTeX support for the mathematical alphanumeric symbols. Full support is -provided by the unicode-math package.

    +LaTeX support for the mathematical alphanumeric symbols.

    +
    +

    4.3.1.1 Naming scheme

    +

    The naming scheme is an extension of the predefined math alphabet +commands with the established short-cuts:

    +
    Non-CM fonts with cmm as OML substitution

    Name

    bch

    Charter (psnfss)

    Courier

    unc

    New Courier (nctrsbk)

    New Century Schoolbook (psnfss)

    uni

    Universal (universa)

    ++++ + + + + + + + + + + + + + + + + + + + + +

    bf

    bold

    it

    italic

    cal

    script (calligraphic)

    frak

    fraktur

    bb

    double-struck (blackboard bold)

    sf

    sans serif

    +

    combined to commands in the form \math<type><weight><shape>.

    +

    The <type>, <weight>, and <shape> specifiers are optional +(defaults depend on the math version). Their order matches the +names of Unicode Mathematical Alphanumeric Symbols.

    +

    Examples:

    +
    \mathbf{d}     % MATHEMATICAL BOLD SMALL D
    +\mathsfbfit{d} % MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D.
    +
    @@ -2002,11 +2159,11 @@ math alphabets. - + - +
    Mapping Unicode mathematical alphanumeric symbols to LaTeX math alphabets.

    math alphabet

    serif

    medium

    upright

    Latin/Greek/digits5

    Latin/Greek/digits6

    \mathrm

    @@ -2098,52 +2255,18 @@ math alphabets.
    -
    5
    +
    6
    -(1, 2)

    plain standard characters outside the +(1, 2)

    plain standard characters outside the mathematical alphanumeric symbols Unicode block.

    -
    -

    4.3.1.1 Naming scheme

    -

    The naming scheme is an extension of the predefined math alphabet -commands with the short-cuts

    -
    - ---- - - - - - - - - - - - - - - - - - - - - -

    bf

    bold,

    it

    italic,

    cal

    script (calligraphic),

    frak

    fraktur,

    bb

    double-struck (blackboard bold),

    sf

    sans serif

    -
    -

    combined to commands in the form \math<type><weight><shape>.

    -

    The <type>, <weight>, and <shape> specifiers are optional -(defaults depend on the math version). Their order matches the -names of Unicode Mathematical Alphanumeric Symbols.

    -

    Examples:

    -
    \mathbf{d}     % MATHEMATICAL BOLD SMALL D
    -\mathsfbfit{d} % MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D.
    -
    +
    +
    +

    4.3.1.2 LaTeX support

    +

    Most commonly used math alphabets are supported either by the TeX kernel +or additional packages. Full support is only provided by the unicode-math +package.

    @@ -2157,33 +2280,33 @@ names of Unicode

    package, comment

    -
    - + + - + - + - + - + - + +mathptmx, tmmath8

    @@ -2197,7 +2320,7 @@ names of Unicode \mathcal

    -
    + @@ -2221,7 +2344,7 @@ names of Unicode \mathbb

    +mathpazo, sbbm

    @@ -2235,7 +2358,7 @@ names of Unicode \mathsf

    -
    + @@ -2243,11 +2366,11 @@ names of Unicode \mathsfit

    -
    + - + @@ -2261,43 +2384,44 @@ names of Unicode \mathtt

    -
    +
    LaTeX support for mathematical alphanumeric symbols.

    plain5

    plain6

    \mathrm

    predefined6

    predefined7

    \mathup

    unicode-math

    unicode-math, kpfonts

    bf

    \mathbf

    predefined6

    predefined7

    it

    \mathit

    predefined6

    predefined7

    bf it

    \mathbfit

    isomath7

    isomath8

    \mathbold

    fixmath, mathpazo, -mathptmx, tmmath7

    predefined8

    predefined9

    amssymb, bbold, mathbbol, mbboard, -mathpazo

    predefined6

    predefined7

    sf bf

    \mathbfsfup

    isomath7

    isomath8

    sf bf it

    \mathsfbfit

    isomath7

    isomath8

    predefined6

    predefined7

    -
    6
    +
    7
    -(1, 2, 3, 4, 5)

    no small Greek, full Greek with OMLmath* options.

    +(1, 2, 3, 4, 5)

    no small Greek, full Greek with OMLmath* options and +OML-encoded fonts

    -
    7
    +
    8
    -(1, 2, 3, 4)

    Some italic math fonts (e. g., cmr, cmbr) have old-style +(1, 2, 3, 4)

    Some italic math fonts (e. g., cmr, cmbr) have old-style numbers in place of italic digits.

    -
    8
    +
    9
    -

    no small Latin, formal script with calrsfs, eucal, fourier

    +

    formal script with calrsfs, eucal, fourier, +small Latin letters only with urwchancal

    -

    4.3.2 The unicode-math package

    +

    4.3.2 The unicode-math package

    Users of UTF-8 enabled TeX engines (XeTeX, LuaTeX) can typeset mathematics with the experimental unicode-math package by Will Robertson. It provides a LaTeX interface to OpenType fonts with math support, e. g., Asana Math, Cambria Math, New Euler or XITS, with -commands to access the complete mathematics character repertoire of the -Unicode Standard

    +commands to access the complete mathematical character repertoire of the +Unicode Standard.

    LaTeX math font selection methods with unicode-math:

    -
    -
    math alphabets
    -

    map to a range of the mathematical alphanumeric symbols block in the -current font (or a substitution defined with the range math font -option).

    +
      +
    • Math alphabets map to a range of the mathematical alphanumeric +symbols block in the current font (or a substitution defined with the +range math font option).

      Some command names differ from the predefined math alphabets or the above naming scheme:

      - +
      @@ -2307,7 +2431,7 @@ above naming scheme:

      - + @@ -2328,50 +2452,26 @@ behave similar to achieved via the options bold-style=upright and sans-style=upright.

      \mathbfsfit reverses the order of the sf and bf selectors, -so that, e. g., the Unicode character MATHEMATICAL SANS-SERIF BOLD -ITALIC CAPITAL A is selected by the non-mnemonic \mathbfsfit{A}.

      - -
      math versions
      -

      are not directly supported but easy to emulate.

      -

      As Unicode fonts can hold all math symbols in a single font file, a -single \setmathfont[<font features>]{<font name>} can replace -the \mathversion{<mathversion>} command if a complete OpenType -math font in the desired version is available.

      -

      However, complete OpenType math fonts are rare. Therefore -unicode-math supports using multiple fonts with the range -option. This way one can emulate, e. g., the bold math version -via:

      -
      \renewcommand{\boldmath}{%
      -  \setmathfont{XITS Bold}%
      -  \setmathfont[range={"1D400-"1F020}]{XITS Math}%
      -  \setmathfont[range=\mathup->\mathbfup]{XITS Math}%
      -  \setmathfont[range=\mathsfit->\mathbfsfit]{XITS Math}%
      -  % ...
      -}
      -
      -

      It would be nice if unicode-math could provide a \newmathversion -command similar to the \newfontfamily in fontspec for such setups.

      -

      For alphanumerical characters, the \mathbf, \mathsf, and -\mathsfbf behave like “in-line math versions”.

      -
      -
      math styles
      -

      are supported with the math-style package option that accepts the -values TeX, ISO, french, upright, and literal.

      -
      - +so that, e. g., the Unicode character MATHEMATICAL SANS-SERIF BOLD +ITALIC CAPITAL A is selected by the non-mnemonic \mathbfsfit{A}.

      + +
    • Math versions can be set up using the syntax +\setmathfont[version=<version name>,<font features>]{<font name>}

    • +
    • Several math styles are supported with the math-style package +option that accepts the values TeX, ISO, french, upright, +and literal.

    • +
      -

      4.4 Conclusions and outlook

      -

      It is hoped, that in the future more fonts families will support the +

      4.4 Conclusions and outlook

      +

      It is hoped, that in the future more font 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 with math alphabets. (With mathdesign @@ -2382,8 +2482,8 @@ users of Unicode-enabled TeX engines (XeTeX or LuaTeX).

      -

      5 References

      -
      [ISO-80000-2]
      +

      5 References

      +
      [ISO-80000-2]

      Quantities and units – Part 2: Mathematical signs and symbols to be used in the natural sciences and technology: @@ -2395,14 +2495,14 @@ and symbols to be used in the natural sciences and technology:

      Quantities and units, Superseded by [ISO-80000].

      -
      [typefaces]
      +
      [typefaces]

      National Institute of Standards and Technology (NIST), Typefaces for Symbols in Scientific Manuscripts: http://physics.nist.gov/cuu/pdf/typefaces.pdf.

      -
      [checklist]
      +
      [checklist]

      National Institute of Standards and Technology (NIST), SI Unit rules and style conventions @@ -2410,7 +2510,7 @@ Check List for Reviewing Manuscripts: http://physics.nist.gov/cuu/Units/checklist.html.

      -
      [fonts_for_symbols]
      +
      [fonts_for_symbols]

      International Union of Pure and Applied Chemistry (IUPAC), On the use of italic and roman fonts for symbols @@ -2418,14 +2518,14 @@ in scientific text, (Revised December 1999): http://old.iupac.org/standing/idcns/fonts_for_symbols.html.

      -
      [SI]
      +
      [SI]

      Bureau international des poids et mesures (BIPM), The International System of Units (SI): http://www.bipm.org/en/si/si_brochure/.

      -
      [Green-Book]
      +
      [Green-Book]

      International Union of Pure and Applied Chemistry (IUPAC), Quantities, Units and Symbols in Physical Chemistry, @@ -2433,14 +2533,21 @@ in scientific text, (Revised December 1999): [ISBN 0 85404 433 7; ISBN-13 978 0 85404 433 7].

      -
      [Red-Book]
      +
      [Red-Book]

      International Union of Pure and Applied Physics (IUPAP), Symbols, Units, Nomenclature and Fundamental Constants in Physics: http://metrology.wordpress.com/measurement-process-index/iupap-red-book/index-iupap-red-book/.

      -
      [encguide]
      +
      [becc97]
      +
      +

      Claudio Beccari, Typesetting mathematics for science and +technology according to ISO 31 XI, TUGboat, Volume 18, 1997, No. 1: +http://www.tug.org/TUGboat/tb18-1/tb54becc.pdf.

      +
      +
      +
      [encguide]

      Frank Mittelbach, Robin Fairbairns, Werner Lemberg, LaTeX3 Project Team, LaTeX font encodings: @@ -2449,13 +2556,13 @@ LaTeX3 Project Team, LaTeX font encodings:

      [fntguide]
      -(1, 2)

      LaTeX3 Project Team, LaTeX 2e font selection: +(1, 2)

      LaTeX3 Project Team, LaTeX 2e font selection: http://mirror.ctan.org/macros/latex/doc/fntguide.pdf.

      [tr25]
      -(1, 2)

      Barbara Beeton, Asmus Freytag, Murray Sargent III, +(1, 2, 3)

      Barbara Beeton, Asmus Freytag, Murray Sargent III, Unicode Support for Mathematics, Unicode Technical Report #25: http://www.unicode.org/reports/tr25/.

      diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.pdf b/Master/texmf-dist/doc/latex/isomath/isomath.pdf index b91d0a8ef3a..803a6f6fd2a 100644 Binary files a/Master/texmf-dist/doc/latex/isomath/isomath.pdf and b/Master/texmf-dist/doc/latex/isomath/isomath.pdf differ diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.sty.html b/Master/texmf-dist/doc/latex/isomath/isomath.sty.html index 8d459c5d09e..86244f53e7b 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath.sty.html +++ b/Master/texmf-dist/doc/latex/isomath/isomath.sty.html @@ -3,14 +3,15 @@ - -isomath.sty: Math for scientists - + +isomath + + -
      -

      isomath.sty: Math for scientists

      +
      +

      isomath

      +

      Mathematical style for science and technology

      +
      Date
      +
      2012-09-10
      - +
      Licence

      This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either @@ -777,73 +792,77 @@ version 1.3 of this license or (at your option) any later version.

      Identification
      \NeedsTeXFormat{LaTeX2e}
       \ProvidesPackage{isomath}
      -[2011/02/01 v0.5 ISO math style]
      +[2012/09/04 v0.6.1 ISO math style]
       

      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 80000-2.

      +

      The isomath package provides tools for a mathematical style +that conforms to the International Standard ISO 80000-2 and is +common in science and technology. It changes the default shape of +capital Greek letters to italic, sets up bold italic and +sans-serif bold italic math alphabets with Latin and Greek +characters, and defines macros for markup of vector, matrix and +tensor symbols.

      unicode-math

      \mathbf

      \mathbfup

      ---+++ - + @@ -904,24 +923,32 @@ by the International Standard ISO 80000-2.

      + + + + + + + +

      0.1

      2008-09-25

      first public version.

       

      upright numbers with \vectorsym.

      0.6

      2012-09-10

      Scaling for Kepler Sans (sfdefault=jkpss);

       

      documentation update, new caption and abstract.

    -

    Requirements

    +

    Requirements

    -

    fixmath.sty

    +

    fixmath.sty

    The package fixmath by Walter Schmidt defines Greek letters as symbols -of type \mathalpha and takes them from the letters SymbolFont in +of type \mathalpha and takes them from the letters symbol font in \mathnormal (as opposed to operators in fontmath.ltx).

    -

    fixmath also defines the \mathbold alphabet, setting it to cmm. -This definition will be overwritten with a configurable value for -the font family below.

    +

    fixmath also defines the \mathbold alphabet, setting it to cmm. +isomath overwrites this definition with a configurable value for +the font family.

    \RequirePackage{fixmath}
     
    -

    kvoptions.sty

    +

    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}
    @@ -929,9 +956,9 @@ package options and provides a key=value interface (based on 
    -

    Options

    +

    Options

    -

    rmdefault

    +

    rmdefault

    Family for roman math fonts. Must be available in OML encoding. The default is to use the corresponding text font family (\rmdefault).

    @@ -939,21 +966,22 @@ encoding. The default is to use the corresponding text font family
    -

    sfdefault

    +

    sfdefault

    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.

    +

    scaled

    +

    The sans-serif fonts, fav (Arev), llcmss (LX Fonts), +jkpss (Kepler Serif) and iwona can be scaled +with the scaled option.

    \DeclareStringOption[1.0]{scaled}
     
    -

    reuseMathAlphabets

    +

    reuseMathAlphabets

    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 @@ -963,7 +991,7 @@ bold.

    -

    OMLmath*

    +

    OMLmath*

    The following options cause isomath to (re)define the corresponding math alphabets in OML encoding:

    \DeclareBoolOption{OMLmathrm}
    @@ -974,10 +1002,10 @@ bold.

    % backwards compatibility option alias \DeclareVoidOption{OMLmathsans}{\isomath@OMLmathsfittrue}
    -

    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.

    +

    Setting these options enables access to small Greek letters in different +shapes with e.g. \mathrm{\pi} but only 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.


    @@ -987,16 +1015,16 @@ used in version normal” error.

    -

    Declarations

    +

    Declarations

    -

    Math alphabets

    +

    Math alphabets

    In math, LaTeX uses “absolute” fontnames instead of a selection by family, shape, and weight because typefaces have a semantic meaning [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. The +limited to 16, so we have to be careful not to exceed this. The reuseMathAlphabets option reduces the number of math alphabet definitions by two, with the side effect of italic shape with \mathbf and \mathsf commands:

    @@ -1008,7 +1036,7 @@ definitions by two, with the side effect of italic shape with \fi
    -

    mathbfit

    +

    mathbfit

    The bold italic math alphabet is named \mathbfit like in unicode-math (with an alias \mathbold like in fixmath and related packages). With the reuseMathAlphabets option, the roman bold @@ -1024,11 +1052,11 @@ distinguishing between b and bx

    alias (overwriting the definition from fixmath):

    -
    \renewcommand{\mathbold}{\mathbfit}
    +
    \renewcommand*{\mathbold}{\mathbfit}
     
    -

    mathsfit

    +

    mathsfit

    For sans-serif italic, we define a new alphabet \mathsfit (with the alias \mathsans in analogy to \mathbold). As this typeface is not required by ISO 80000-2 and TeX limits the number of math alphabets @@ -1042,9 +1070,9 @@ to 16 per math version, it is only defined if the OMLmathsfi

    -

    mathsfbfit

    +

    mathsfbfit

    The sans serif bold italic alphabet is used for tensor symbols. -Following the Unicode math name scheme it is called +Following the Unicode naming scheme it is called \mathsfbfit``(with the backwards compatibility alias ``\mathboldsans). With the reuseMathAlphabets option, the upright sans serif math alphabet \mathsf is redefined and \mathsfbfit made an @@ -1059,7 +1087,7 @@ alias to it:

    -

    Redefine standard alphabets

    +

    Redefine standard alphabets

    Redefine standard alphabets in OML font encoding if the corresponding OMLmath* option is true:

    \ifisomath@OMLmathrm
    @@ -1081,16 +1109,15 @@ if the corresponding OMLmath*
     
    -

    Command aliases

    +

    Command aliases

    The following macros allow semantic markup of mathematical symbols. The argument is typeset as proposed by ISO 80000-2 and Typefaces for Symbols in Scientific Manuscripts.

    -

    \vectorsym

    +

    \vectorsym

    Alphabetic vectors symbols are typeset boldface italic while numeric ones (e.g. zero vector) are typeset boldface upright. The number -test is a simplified version from the LaTeX FAQ -Is the argument a number? +test is a simplified version from the LaTeX FAQ "Is the argument a number?" It fails if a number is followed by a non-number, e.g. \vectorsym{1a}, but this is no valid vector symbol and would look strange with the \vec accent, too.

    @@ -1106,26 +1133,34 @@ you might want to re-define the standard \vec command a package.

    -

    \matrixsym

    +

    \matrixsym

    Symbols for matrices are typeset boldface italic, i. e. in the same face as vectors.

    \providecommand*{\matrixsym}{\vectorsym}
     
    -

    \tensorsym

    +

    \tensorsym

    Symbols for tensors are sans-serif bold italic:

    \providecommand*{\tensorsym}{\mathsfbfit}
     
    -
    -

    Font mappings

    +
    +

    Font setup fixes

    Substitutions needed for the math alphabet definitions and setup for scaled fonts. For details about the font definition macros see -[fntguide].

    -
    -

    Common family name for text and math

    +[fntguide].

    +
    +

    Unknown makro in font definition file

    +

    The Kepler Sans font definition file omljkpss.fd contains a boolean +that is defined in kpfonts.sty. This leads to errors if the fonts are +used from another package. Provide a dummy definition:

    +
    \newif\ifkp@upRm
    +
    +
    +
    +

    Common family name for text and math fonts

    Some font packages provide matching text and math font but do not define a substitution in their *.fd files. Ideally, the following mappings should be moved there.

    @@ -1136,35 +1171,40 @@ mappings should be moved there.

    -

    Scaling

    -

    Scale the fav (Arev), llcmss (LX Fonts), and iwona fonts -by the value of the scaled option.

    +

    Scaling

    +

    Scale the fav (Arev), iwona, jkpss (Kepler Sans) and +llcmss (LX Fonts) sans serif 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

    +

    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}{llcmss}{\skewchar\font'177}
    -\DeclareFontShape{OML}{llcmss}{m}{it}{<-> s * [\isomath@scaled] lcmmi8}{}
    -\DeclareFontShape{OML}{llcmss}{bx}{it}{<-> s * [\isomath@scaled] lcmmib8}{}
    -
    -

    Ivona (see omliwona.fd) iwona ↔ mi-iwona:

    +

    Iwona (see omliwona.fd) iwona ↔ mi-iwona:

    \DeclareFontFamily{OML}{iwona}{}
     \DeclareFontShape{OML}{iwona}{m}{it}{<-> s * [\isomath@scaled] mi-iwonari}{}
     \DeclareFontShape{OML}{iwona}{bx}{it}{<-> s * [\isomath@scaled] mi-iwonabi}{}
     
    +

    Kepler Serif (see omljkpss.fd):

    +
    \DeclareFontFamily{OML}{jkpss}{\skewchar\font127 }
    +\DeclareFontShape{OML}{jkpss}{m}{it}{<-> s * [\isomath@scaled] jkpssmi}{}
    +\DeclareFontShape{OML}{jkpss}{bx}{it}{<-> s * [\isomath@scaled] jkpssbmi}{}
    +
    +

    LX Fonts (see lxfonts.sty) llcmss ↔ llcmm:

    +
    \DeclareFontFamily{OML}{llcmss}{\skewchar\font'177}
    +\DeclareFontShape{OML}{llcmss}{m}{it}{<-> s * [\isomath@scaled] lcmmi8}{}
    +\DeclareFontShape{OML}{llcmss}{bx}{it}{<-> s * [\isomath@scaled] lcmmib8}{}
    +
    -

    References

    +

    References

    [fntguide]
    -(1, 2)

    LaTeX 2e font selection: +(1, 2)

    LaTeX 2e font selection: http://mirror.ctan.org/macros/latex/doc/fntguide.pdf.

    diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt b/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt index df34d12eee9..bff05720225 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt +++ b/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt @@ -1,47 +1,55 @@ -isomath.sty: Math for scientists -******************************** +isomath +******* +Mathematical style for science and technology +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -: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 80000-2. - -:Copyright: © 2008, 2010 Günter Milde +:Date: 2012-09-10 +:Copyright: © 2008, 2012 Günter Milde :Licence: This work may be distributed and/or modified under the 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 provides tools for a mathematical style + that conforms to the International Standard ISO 80000-2 and is + common in science and technology. It changes the default shape of + capital Greek letters to italic, sets up bold italic and + sans-serif bold italic math alphabets with Latin and Greek + characters, and defines macros for markup of vector, matrix and + tensor symbols. + :Identification: :: \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{isomath} - [2011/02/01 v0.5 ISO math style] + [2012/09/04 v0.6.1 ISO math style] .. contents:: - + History ======= .. class:: borderless -=== ============ ======================================================== -0.1 2008-09-25 first public version. -0.2 2008-10-02 bugfix: a usage example was uncommented; +===== =========== ======================================================== +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. -0.3 2009-06-19 documentation update; +0.3 2009-06-19 documentation update; \ fix OMLmathrm and OMLmathsans definitions; \ switch license to LPP. -0.4 2010-08-23 split user documentation from literate source; +0.4 2010-08-23 split user documentation from literate source; \ option ``scaled``; \ documentation update. -0.5 2011-01-04 math alphabet names matching Unicode; +0.5 2011-01-04 math alphabet names matching Unicode; \ documentation review and extension; \ bold alphabet variants in ``bold`` math version; \ upright numbers with ``\vectorsym``. -=== ============ ======================================================== +0.6 2012-09-10 Scaling for Kepler Sans (``sfdefault=jkpss``); +\ documentation update, new caption and abstract. +===== =========== ======================================================== Requirements @@ -53,9 +61,9 @@ The package fixmath_ by Walter Schmidt defines Greek letters as symbols of type ``\mathalpha`` and takes them from the ``letters`` symbol font in ``\mathnormal`` (as opposed to ``operators`` in ``fontmath.ltx``). -fixmath_ also defines the ``\mathbold`` alphabet, setting it to ``cmm``. -This definition is be overwritten with a configurable value for -the font family below. :: +`fixmath` also defines the ``\mathbold`` alphabet, setting it to ``cmm``. +`isomath` overwrites this definition with a configurable value for +the font family. :: \RequirePackage{fixmath} @@ -75,8 +83,7 @@ rmdefault --------- Family for roman math fonts. Must be available in OML encoding. The default is to use the corresponding text font family -(``\rmdefault``). -:: +(``\rmdefault``). :: \DeclareStringOption[\rmdefault]{rmdefault} @@ -89,9 +96,9 @@ most sans serif fonts are not available in OML encoding:: scaled ------ -The sans-serif fonts, ``fav`` (Arev), ``llcmss`` (LX Fonts), and -``iwona`` can be scaled with the ``scaled`` option. -:: +The sans-serif fonts, ``fav`` (Arev), ``llcmss`` (LX Fonts), +``jkpss`` (Kepler Serif) and ``iwona`` can be scaled +with the ``scaled`` option. :: \DeclareStringOption[1.0]{scaled} @@ -102,8 +109,7 @@ 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. -:: +bold. :: \DeclareBoolOption{reuseMathAlphabets} @@ -120,10 +126,10 @@ The following options cause `isomath` to (re)define the corresponding % backwards compatibility option alias \DeclareVoidOption{OMLmathsans}{\isomath@OMLmathsfittrue} -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. +Setting these options enables access to small Greek letters in different +shapes with e.g. ``\mathrm{\pi}`` but only *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. @@ -180,7 +186,7 @@ distinguishing between ``b`` and ``bx``?) :: alias (overwriting the definition from fixmath):: - \renewcommand{\mathbold}{\mathbfit} + \renewcommand*{\mathbold}{\mathbfit} mathsfit ~~~~~~~~ @@ -199,7 +205,7 @@ to 16 per math version, it is only defined if the ``OMLmathsfit`` or mathsfbfit ~~~~~~~~~~~~ The *sans serif bold italic* alphabet is used for tensor symbols. -Following the Unicode math name scheme it is called +Following the Unicode naming scheme it is called ``\mathsfbfit``(with the backwards compatibility alias ``\mathboldsans``). With the reuseMathAlphabets_ option, the upright sans serif math alphabet ``\mathsf`` is redefined and ``\mathsfbfit`` made an @@ -246,9 +252,7 @@ The argument is typeset as proposed by ISO 80000-2 and ~~~~~~~~~~~ Alphabetic vectors symbols are typeset *boldface italic* while numeric ones (e.g. zero vector) are typeset *boldface upright*. The number -test is a simplified version from the LaTeX FAQ -`Is the argument a number? -`__ +test is a simplified version from the LaTeX FAQ "`Is the argument a number?`__" It fails if a number is followed by a non-number, e.g. ``\vectorsym{1a}``, but this is no valid vector symbol and would look strange with the ``\vec`` accent, too. :: @@ -264,6 +268,8 @@ 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. +__ http://www.tex.ac.uk/cgi-bin/texfaq2html?label=isitanum + \\matrixsym ~~~~~~~~~~~ Symbols for matrices are typeset *boldface italic*, i. e. in the same face @@ -278,16 +284,24 @@ Symbols for tensors are *sans-serif bold italic*:: \providecommand*{\tensorsym}{\mathsfbfit} -Font mappings -------------- +Font setup fixes +---------------- Substitutions needed for the math alphabet definitions and setup for scaled fonts. For details about the font definition macros see [fntguide]_. -Common family name for text and math -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Unknown makro in font definition file +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The `Kepler Sans` font definition file ``omljkpss.fd`` contains a boolean +that is defined in ``kpfonts.sty``. This leads to errors if the fonts are +used from another package. Provide a dummy definition:: + \newif\ifkp@upRm + + +Common family name for text and math fonts +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Some font packages provide matching text and math font but do not define a substitution in their ``*.fd`` files. Ideally, the following mappings should be moved there. @@ -301,31 +315,37 @@ Mathpazo (Palatino) ppl ↔ zplm :: Scaling ~~~~~~~ -Scale the ``fav`` (Arev), ``llcmss`` (LX Fonts), and ``iwona`` fonts -by the value of the scaled_ option. +Scale the ``fav`` (Arev), ``iwona``, ``jkpss`` (Kepler Sans) and +``llcmss`` (LX Fonts) sans serif 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 :: +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}{llcmss}{\skewchar\font'177} - \DeclareFontShape{OML}{llcmss}{m}{it}{<-> s * [\isomath@scaled] lcmmi8}{} - \DeclareFontShape{OML}{llcmss}{bx}{it}{<-> s * [\isomath@scaled] lcmmib8}{} - Iwona (see ``omliwona.fd``) iwona ↔ mi-iwona:: \DeclareFontFamily{OML}{iwona}{} \DeclareFontShape{OML}{iwona}{m}{it}{<-> s * [\isomath@scaled] mi-iwonari}{} \DeclareFontShape{OML}{iwona}{bx}{it}{<-> s * [\isomath@scaled] mi-iwonabi}{} +Kepler Serif (see ``omljkpss.fd``):: + + \DeclareFontFamily{OML}{jkpss}{\skewchar\font127 } + \DeclareFontShape{OML}{jkpss}{m}{it}{<-> s * [\isomath@scaled] jkpssmi}{} + \DeclareFontShape{OML}{jkpss}{bx}{it}{<-> s * [\isomath@scaled] jkpssbmi}{} + +LX Fonts (see ``lxfonts.sty``) llcmss ↔ llcmm:: + + \DeclareFontFamily{OML}{llcmss}{\skewchar\font'177} + \DeclareFontShape{OML}{llcmss}{m}{it}{<-> s * [\isomath@scaled] lcmmi8}{} + \DeclareFontShape{OML}{llcmss}{bx}{it}{<-> s * [\isomath@scaled] lcmmib8}{} + References ========== diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.txt b/Master/texmf-dist/doc/latex/isomath/isomath.txt index 23100dcacfe..f91e12e6678 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath.txt +++ b/Master/texmf-dist/doc/latex/isomath/isomath.txt @@ -1,22 +1,26 @@ .. -*- rst-mode -*- -isomath: Math for scientists -**************************** +isomath +******* +Mathematical style for science and technology +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :Author: Günter Milde -:Date: 2011-01-14 -:Copyright: © 2008, 2011 Günter Milde +:Date: 2012-09-10 +:Copyright: © 2008, 2012 Günter Milde :Licence: This work may be distributed and/or modified under the 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 sets up an “ISO math style” allowing the - use of Greek and Latin letters as symbols for scalars, - vectors, matrices, and tensors in the typefaces recommended - for scientific papers by the International Standard - ISO 80000-2. +:Abstract: The `isomath` package provides tools for a mathematical style + that conforms to the International Standard ISO 80000-2 and is + common in science and technology. It changes the default shape of + capital Greek letters to italic, sets up bold italic and + sans-serif bold italic math alphabets with Latin and Greek + characters, and defines macros for markup of vector, matrix and + tensor symbols. -.. contents:: +.. contents:: :depth: 2 .. sectnum:: @@ -24,121 +28,122 @@ Features -------- .. How do you write the stress tensor ``$\sigma$`` in a - `sans-serif bold italic` typeface, as recommended by [typefaces]_? - -Leading international scientific organisations recommend math layout -rules in line with the International Standard [ISO-80000-2]_ in their -style guides, e. g., [typefaces]_, [checklist]_, [SI]_, [fonts_for_symbols]_, -[Red-Book]_, [Green-Book]_: - -* The overall rule is that symbols representing physical quantities - (or variables) are italic, but symbols representing units, or - labels, are roman. - -* Symbols for vectors are boldface italic, symbols for tensors are - sans-serif bold italic, and symbols for matrices are boldface - italic. - -* The above rules apply equally to letter symbols from both the Greek - and the Latin alphabet. - -The traditional TeX `math style`_ deviates from this rules in some + *sans-serif bold italic* typeface, as recommended by [typefaces]_? + +In their style guides, e. g. [typefaces]_, [checklist]_, [SI]_, +[fonts_for_symbols]_, [Red-Book]_, [Green-Book]_, many international +scientific organisations recommend layout rules for mathematics in line with +the International Standard [ISO-80000-2]_. + +.. admonition:: International standard layout rules + + * The overall rule is that symbols representing physical quantities + (or variables) are italic, but symbols representing units, or + labels, are roman. + + * Symbols for vectors and matrices are bold italic, symbols for tensors + are sans-serif bold italic. + + * The above rules apply equally to letter symbols from the Greek and the + Latin alphabet. + +.. The recommendations in this standard are intended mainly for use in the + natural sciences and technology, but also apply to other areas where + mathematics is used. + +TeX's default mathematical style deviates from this rules in several points: -* capital Greek letters default to upright shape, +* Capital Greek letters default to upright shape, * small Greek letters are excluded from font changes with the `math - alphabets`_. + alphabet`_ commands, and -* The ``\vec`` command produces an arrow accent. +* the ``\vec`` command produces an arrow accent. -The `isomath` package implements an `ISO math style`_ and provides -`new math alphabets`_ with bold italic and sans-serif bold italic -typeshape that can be used for vector and tensor symbols. +The `isomath` package implements an `“ISO” math style`_, provides `new math +alphabets`_ with *bold italic* and *sans-serif bold italic* type and macros +for `semantic markup`_ of vector, matrix and tensor symbols. It can be +combined with most packages for mathematical typesetting (see +``_ and the sections on alternatives_ and conflicts_). -.. _`equal treatment of Latin and Greek`: -ISO math style -~~~~~~~~~~~~~~ +“ISO” math style +~~~~~~~~~~~~~~~~ -The required package fixmath_ changes the default math layout to the -“ISO” `math style`_: +Isomath builds on the package fixmath_ by Walter Schmidt to change the +default mathematics layout to the “ISO” `math style`_: -+ Uppercase Greek letters are typeset italic by default. ++ Capital Greek letters are typeset in italic shape by default. + Both, Greek and Latin letters change shape if a different `math alphabet`_ is used. -However, fixmath works only for the Computer Modern font family. -With `isomath`, - -+ the used math fonts are configurable (using the rmdefault_ and - sfdefault_ options), and - -+ upright Greek letters can be made available through the common - ``\math*`` alphabets via the `OMLmath*`_ options if the - corresponding fonts support the `OML font encoding`_. - .. Caution:: - Using Greek letters in standard `math alphabets`_, e. g., - ``\mathrm{\pi}``, can lead to garbage, as the standard math - alphabets are usually taken from text fonts that have ligatures and - non-alpha symbols in place of the small Greek letters. - Do not use small Greek letters in the standard math alphabet commands - ``mathit``, ``mathrm``, ``mathbf``, ``mathsf``, and ``mathtt`` - unless you use the `OMLmath*`_ options. + Be careful with Greek letters in the argument of ``\mathit``, ``\mathrm``, + ``\mathbf``, ``\mathsf``, and ``\mathtt``. By default, these `math + alphabets`_ use text fonts. Fonts in OT1 text font encoding have capital + (but not small) Greek letters at the expected places, T1 encoded text fonts + have no Greek letters at all. - Some packages provide alternative macros or options for upright - Greek letters (cf. `Table 6`_). + See the examples_ section on `how to get upright small Greek letters`_ in + mathematical context. New math alphabets ~~~~~~~~~~~~~~~~~~ -`Isomath` defines three new `math alphabets`_: +`Isomath` defines the new `math alphabets`_: - .. class:: borderless +.. class:: borderless - =============== ====================== ================================= - ``\mathbfit`` boldface italic vector and matrix symbols - ``\mathsfit`` sans-serif italic optional (see OMLmath*_ options) - ``\mathsfbfit`` sans-serif bold italic tensor symbols - =============== ====================== ================================= +=============== ====================== ================================= +``\mathbfit`` boldface italic vector and matrix symbols +``\mathsfit`` sans-serif italic optional (see OMLmath*_ options) +``\mathsfbfit`` sans-serif bold italic tensor symbols +=============== ====================== ================================= + +For compatibility with earlier versions and `related packages`_, the +new math alphabets are also available under the aliases +``\mathbold``, ``\mathsans``, and ``\mathboldsans``. The rmdefault_ and sfdefault_ options_ set the font family used for these alphabets. .. Caution:: - Using the new math alphabets for numbers can result in _`upright - old-style numbers` instead of italic ones, because some italic math - fonts (e. g., cmr, cmbr) have old-style numbers in place of italic - digits. + Using the new math alphabets for numbers can result in upright old-style + numbers instead of italic ones, because some italic math fonts (e. g., + ``cmr``, ``cmbr``) contain old-style in place of italic digits. -For compatibility with earlier versions and `related packages`_, the -new math alphabets are also available under the aliases -``\mathbold``, ``\mathsans``, and ``\mathboldsans``. Semantic markup ~~~~~~~~~~~~~~~ -The following commands set the argument in an ISO-conforming math alphabet: +The following commands set the argument in an ISO-conforming `math alphabet`_: - .. class:: borderless +.. class:: borderless - ========================== ======================================== - ``\vectorsym, \matrixsym`` bold italic for Greek and Latin letters, - bold upright for numbers +========================== ======================================== +``\vectorsym, \matrixsym`` bold italic for Greek and Latin letters, + bold upright for numbers - ``\tensorsym`` sans-serif bold italic - ========================== ======================================== +``\tensorsym`` sans-serif bold italic +========================== ======================================== Usage ----- -Make sure that LaTeX can find ``isomath.sty`` and load it with -``\usepackage`` (see also Options_ and Examples_). +Make sure that LaTeX can find ``isomath.sty`` and load it with:: + + \usepackage{isomath} + +Optionally redefine the standard vector macro ``\vec``:: + + \renewcommand{\vec}{\vectorsym} + +(see also Options_, Examples_, and isomath-test.tex_). Options ~~~~~~~ @@ -153,7 +158,7 @@ family (the value of ``\rmdefault``). The font must be available in sfdefault ''''''''' -Family for sans-serif math fonts. The default is ``cmbr`` because many +Family for sans-serif math fonts. The default is ``cmbr`` because most sans-serif fonts define the Computer Roman font `cmm` as OML substitution (see `Table 4`_). @@ -161,26 +166,25 @@ There are only few sans serif fonts in `OML font encoding`_: .. class:: borderless -========== =========== =================================================== +========== =========== ===================================================== Name Package Comment -========== =========== =================================================== +========== =========== ===================================================== ``cmbr`` cmbright_ `Computer Modern Bright`, bitmap, slightly lighter than cmss (Type 1 fonts with hfbright_) -``fav`` arev_ `Arev` (`Vera Sans`) with math extension, - large x-height -``iwona`` iwona_ Humanistic Sans Serif, - some shapes very similar to roman +``fav`` arev_ `Arev` (`Vera Sans`), large x-height ``hvm`` hvmath_ `Helvetica Math`, commercial, free bitmap version -``llcmss`` lxfonts_ `LX Fonts`, very wide, eccentric, large x-height, - new in 2008 -========== =========== =================================================== +``iwona`` iwona_ `Iwona`, humanistic sans serif, + some shapes very similar to roman +``jkpss`` kpfonts_ `Kepler Sans`, quite light +``llcmss`` lxfonts_ `LX Fonts`, “slide fonts”, very wide, large x-height +========== =========== ===================================================== scaled '''''' -To improve the chances of configuring a matching sans serif math font, -the fonts, ``fav``, ``llcmss``, and ``iwona`` can be scaled with the -``scaled`` option (cf. Examples_). +To improve the chances of finding a matching sans serif math font, the +fonts ``fav``, ``iwona``, ``jkpss``, and ``llcmss`` can be scaled with the +``scaled`` option (cf. Examples_). For other fonts, the option is ignored. reuseMathAlphabets @@ -191,34 +195,35 @@ 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, so watch for - side-effects. + ``\textsf`` commands might be used. Watch for side-effects, as these + commands switch to text mode so that the font settings in the embedding + text apply. .. _OMLmath*: OMLmathrm, OMLmathbf, OMLmathsf, OMLmathsfit, OMLmathtt ''''''''''''''''''''''''''''''''''''''''''''''''''''''' -With Greek letters defined as ``\mathalpha``, the letter fonts are -expected to be in `OML font encoding`_. The predefined -`math alphabets`_, however, use OT1 encoded text fonts. These fonts -have ligatures and accents in place of the small Greek letters. -The ``\mathsfit`` alphabet is not required for ISO conforming math. - The ``OMLmath*`` options bind the corresponding ``\math*`` command to an OML-encoded font. -This enables use of small Greek letters in `math alphabet`_ commands, -e. g., ``\mathrm{\pi}`` *if an OML encoded font is available*. -`Table 3`_ lists font families supporting the OML encoding. + +The ``\mathsfit`` alphabet is not required for ISO conforming mathematical +layout and therefore only defined if the ``OMLmathsfit`` argument is used. + +The predefined `math alphabets`_ ``\mathrm``, ``\mathbf``, and ``\mathtt`` +use OT1 encoded text fonts with ligatures and accents in place of the small +Greek letters. The ``OMLmath*`` options enable the use of small Greek +letters in `math alphabet`_ commands, e. g. ``\mathrm{\pi}``, if the +corresponding font is available in `OML font encoding`_. `Table 3`_ lists +font families supporting the OML encoding. .. caution:: - If no matching OML encoded font is found, LaTeX's substitute - mechanism kicks in and selects a font with different font attributes - (for all letters, not only Greek). Currently, only the mathdesign_ - package provides upright fonts in OML encoding. Many font packages - define an *italic* font as OML substitute for roman fonts. + If no matching OML encoded font is found, LaTeX's substitute mechanism + selects a font with different font attributes (for all letters, not only + Greek). Currently, only the mathdesign_ package provides upright fonts in + OML encoding. Many font packages define an *italic* font as OML substitute + for roman fonts. With some packages, these options can result in a “`too many math alphabets used in version normal`_” error. @@ -227,13 +232,7 @@ e. g., ``\mathrm{\pi}`` *if an OML encoded font is available*. Examples ~~~~~~~~ -* Redefine the standard ``\vec`` command to set its argument in an - ISO-conforming math alphabet.:: - - \usepackage{isomath} - \renewcommand{\vec}{\vectorsym} - -* Use scaled arev_ fonts for the sans serif alphabets +* Use scaled arev_ fonts for the sans serif math alphabets (adapt the scaling factor to your needs):: \usepackage[sfdefault=fav,scaled=0.875]{isomath} @@ -254,7 +253,8 @@ Examples \DeclareFontShape{OML}{fav}{bx}{it}{<-> s * [0.875] zavmbi7m}{} \SetMathAlphabet{\mathsfbfit}{bold}{OML}{fav}{bx}{it} -See also the ``isomath-test.tex`` test document. +See also the `isomath-test.tex`_ test document. + How to get upright small Greek letters '''''''''''''''''''''''''''''''''''''' @@ -278,16 +278,16 @@ b) To get upright small Greek letters without affecting other fonts, (check if the letter shapes match with the rest of the document). c) Use a package that provides macros for upright Greek letters - in math: - - .. class:: borderless - - ============= ===================================== - fourier_ ``\otheralpha ... \otherOmega`` - kpfonts_ ``\alphaup ... \Omegaup`` - mathdesign_ ``\alphaup ... \Omegaup`` - upgreek_ ``\upalpha ... \upOmega`` - ============= ===================================== + in math mode: + + .. class:: borderless + + ============= ===================================== + fourier_ ``\otheralpha ... \otherOmega`` + kpfonts_ ``\alphaup ... \Omegaup`` + mathdesign_ ``\alphaup ... \Omegaup`` + upgreek_ ``\upalpha ... \upOmega`` + ============= ===================================== d) Use an upright text character (requires a matching LGR-encoded Greek text font). The following lines redefine ``\pi`` to set @@ -299,6 +299,15 @@ d) Use an upright text character (requires a matching LGR-encoded \let\mathpi\pi \renewcommand{\pi}{\text{\textrm{\greektext p }}} +e) Use the text character with the `alphabeta` package from the lgrx_ + bundle:: + + \usepackage{amsmath} + \usepackage{alphabeta} + + and in the body :: + + $ u = 2 \text{\pi} r $ Related packages @@ -337,23 +346,26 @@ arev_ Alternatives ~~~~~~~~~~~~ -See `Table 2`_ for other packages that implement the “ISO” `math -style`_ and `Table 6`_ for packages that provide bold italic -math fonts. +The TUGboat article by Claudio Beccari [becc97]_ discusses tricks and +commands for physicists and engineers in order to satisfy the international +regulations and to distinguish similar symbols with different meanings. + +See `Table 2`_ for other packages that implement the “ISO” `math style`_ and +`Table 6`_ for packages that provide bold italic math fonts. `“In-line math versions”`_ can be used as ISO-conforming replacement for ``\vec``: + * ``\bm`` from the `bm`_ package. Combining `bm` and `isomath` may + lead to the `too many math alphabets used in version normal`_ error. + * ``\boldsymbol`` from `amsbsy`_ (part of `amsmath`_, the near-indispensable adjunct to serious mathematical typesetting in LaTeX), - * ``\bm`` from the `bm`_ package. Combining `bm` and `isomath` may - lead to the `too many math alphabets used in version normal`_ error. - -``\text`` - from `amsmath`_ can be used to get, e. g., upright or sans-serif - bold italic Greek symbols from a text font into a formula (see +amsmath_ + provides the command ``\text``, that can be used to get, e. g., upright or + sans-serif bold italic Greek symbols from a text font into a formula (see `How to get upright small Greek letters`_). unicode-math_ @@ -361,7 +373,7 @@ unicode-math_ math fonts. It supports the “ISO” `math style`_ and all mathematical characters in the Unicode standard. - unicode-math cannot be used together with `isomath`. It can, however, + `unicode-math` cannot be used together with `isomath`. It can, however, replace all of isomath's functionality. See the discussion of `the unicode-math package`_ below. @@ -379,10 +391,11 @@ Conflicts Examples for problematic combinations: + The `kpfonts`_, `pxfonts`_, and `txfonts`_ packages define many - additional math alphabets. + additional math alphabets (`kpfonts` works with `isomath`, if + it is loaded with ``\usepackage[nomathscript]{kpfonts}``). + The `bm`_ package normally allocates several symbol fonts for bold - and heavy fonts. Their number can be customized by defining + and heavy fonts. Their number can be customised by defining ``\bmmax`` and ``\hmmax`` before loading the package. fourier_ @@ -397,13 +410,19 @@ fourier_ \usepackage[OMLmathbf,rmdefault=mdput, sfdefault=arev,scaled=0.85]{isomath} +sansmath_ + defines a ``sans`` `math version`_ using **text** fonts in OT1 or T1 font + encoding. As fixmath/isomath expect math fonts in `OML font encoding`_, + Greek letters will not work inside the ``sans`` math version defined by + sansmath. + Background ---------- -This section discusses LaTeX `math font selection`_, suitable -`math letter fonts`_ for the ISO math style, and the relation of LaTeX and -`Unicode mathematical typesetting`_. +This section discusses LaTeX `math font selection`_, the `OML font +encoding`_, and the relation of LaTeX and `Unicode mathematical +typesetting`_. Math font selection @@ -412,14 +431,14 @@ Math font selection There are three complementary methods to set font attributes in LaTeX math mode: `LaTeX 2e font selection` [fntguide]_ describes `math alphabets`_ and `math versions`_, several extension packages -provide alternative `math styles`_ (cf. `Table 2`_). +provide alternative `math styles`_. .. _math alphabet: Math alphabets '''''''''''''' -Math alphabets are a counterpart to the `mathematical alphanumeric +TeX's *math alphabets* correspond to the `mathematical alphanumeric symbols`_ block in Unicode. Both are “to be used for mathematical variables where style variations are important semantically”. The font guide [fntguide]_ defines in @@ -437,17 +456,17 @@ section 3: The _`predefined math alphabets` are: - .. class:: borderless + .. class:: borderless - ================= =============== - ``\mathnormal`` default [#mathnormal]_ - ``\mathrm`` roman [#roman]_ - ``\mathbf`` bold roman - ``\mathsf`` sans serif - ``\mathit`` text italic - ``\mathtt`` typewriter - ``\mathcal`` calligraphic - ================= =============== + ================= =============== + ``\mathnormal`` default [#mathnormal]_ + ``\mathrm`` roman [#roman]_ + ``\mathbf`` bold roman + ``\mathsf`` sans serif + ``\mathit`` text italic + ``\mathtt`` typewriter + ``\mathcal`` calligraphic + ================= =============== .. [#mathnormal] ``\mathnormal`` is used by default for alphanumeric characters in math mode. It sets the letter shape according to @@ -470,53 +489,61 @@ letter ``a`` in **upright** bold type. Math versions ''''''''''''' -The number of mathematical symbols exceeds the maximal number of -characters in a TeX font file by an order of magnitude. [#max]_ -Grouping math fonts with common characteristics in math versions -simplifies the setting of font attributes for mathematical expressions. +*Math versions* specify the mapping from commands for mathematical +symbols and `math alphabets`_ to a set of mathematical fonts [#]_. +They are intended for mathematical content in a special context like a +bold section heading. Selecting a math version resembles +the individual selection of text font attributes. + +Example: + Some alternatives to set the letter ``a`` in a bold upright sans-serif + font: + + .. class:: borderless + + ============================ =================================== + Text Math + ============================ =================================== + ``\textbf{\textsf{a}}`` ``$\bm{\mathsf{a}}$`` + ``\bfseries \textsf{a}`` ``\mathversion{bold} $\mathsf{a}$`` + ``\bfseries \sffamily a`` ``$\mathsfbf{a}$`` + ============================ =================================== -*Math versions* set up “math symbol fonts” for non-alphanumeric -symbols and bind the `math alphabet`_ commands to fonts using default -values for non-specified font attributes. TeX limits the number of -(symbol + alphanumeric) fonts per math version to 16. The predefined math versions are ``normal`` and ``bold`` with the -defaults: +following defaults for non-specified font attributes: - .. class:: borderless +.. class:: borderless - ======== ========== ======== - .. ``normal`` ``bold`` - *type* serif serif - *weight* medium bold - *shape* upright upright - ======== ========== ======== +========= ========== ======== +attribute ``normal`` ``bold`` +========= ========== ======== +*type* serif serif +*weight* medium bold +*shape* upright upright +========= ========== ======== -Packages can define additional math versions, e. g., the wrisym_ package -defines a ``mono`` math version. A ``sans`` math version example is -available from a `comp.text.tex post -`__ +Packages can define additional math versions, e. g., the kpfonts_ package +defines a ``sans`` math version (another ``sans`` math version example is +available from a `comp.text.tex post``__) and the wrisym_ package defines a +``mono`` math version. -Math versions are intended for mathematical content in a special -context, e. g., a bold section heading. -Setting a math version resembles the individual selection of text -font attributes (bold, sans-serif, monospaced). +__ http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2007-09/msg00181.html Math versions can only be changed outside of math mode. The commands ``\boldsymbol`` (amsmath_) and ``\bm`` (bm_) behave like _`“in-line math versions”`: they typeset their argument using the fonts of the ``bold`` math version but can be used inside math mode. -Example: four ways to set the letter ``a`` in a bold -sans-serif font:: - - % Text Math: - \textbf{\textsf{a}} $\bm{\mathsf{a}}$ - \bfseries \textsf{a} \mathversion{bold} $\mathsf{a}$ +.. [#] The number of mathematical symbols exceeds the maximal number of + characters in a TeX font file by an order of magnitude: Unicode + defines about 2500 mathematical characters [tr25]_, font files used by + 8-bit TeX engines are limited to 256 characters. The standard math + fonts adhere to the original limit of 128 characters. Grouping math + fonts with common characteristics in math versions simplifies the + setting of font attributes for mathematical expressions. TeX limits + the number of (symbol + alphanumeric) fonts per math version to 16. -.. [#max] Unicode provides about 2500 math characters. Font files used - by 8-bit TeX engines can hold up to 256 characters. The standard - math fonts adhere to the original limit of 128 characters. .. _math style: @@ -525,9 +552,16 @@ Math styles A *math style* is a document-level feature that determines the default letter shape in math mode (i. e. the shape attribute of letters in the -``\mathnormal`` `math alphabet`_). +``\mathnormal`` `math alphabet`_). [#]_ +LaTeX defaults to the “TeX” math style (without naming it such). +Alternative math styles are introduced by extension packages +(`Table 2`_). + +.. [#] The ``math-style`` option of unicode-math_ changes also the shape + attribute of other math alphabets (see also section + `the unicode-math package`_). -.. _Table 1: +.. _ Table 1: .. table:: Default letter shapes for common math styles @@ -540,13 +574,10 @@ letter shape in math mode (i. e. the shape attribute of letters in the upright up up up up ============ ======= ======= ======= ======= -LaTeX defaults to the “TeX” math style (without naming it such). -Alternative math styles are introduced by extension packages -(`Table 2`_). .. _Table 2: -.. table:: Packages providing math styles +.. table:: Packages providing alternative math styles ============ ============= ================================== math style Package Option(s) @@ -572,11 +603,11 @@ Alternative math styles are introduced by extension packages ============ ============= ================================== -Math letter fonts +OML font encoding ~~~~~~~~~~~~~~~~~ -The equal treatment of Latin and Greek letters in the `ISO math -style`_ is simplest achieved with a font that contains all required +The equal treatment of Latin and Greek letters in the `“ISO” math +style`_ is best achieved with a font that contains all required letters in one file. There is only one established LaTeX font encoding that contains Latin and @@ -585,22 +616,22 @@ encoding `T7` is just a “reserved name” and the de-facto standard Greek text font encoding `LGR` has no Latin letters. Unfortunately, `OML support`_ is limited to a few (mostly italic) fonts. -OML font encoding -''''''''''''''''' +Discussion +'''''''''' The `LaTeX font encodings` guide [encguide]_ names the OML encoding `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 + The OML encoding contains italic Latin and Greek letters for use in + mathematical formulae (typically used for variables) together with some symbols. The reference to *italic* shape is odd: -* No other font encoding is specific to the font shape. +* No other font encoding is specific to a font shape. * The different font selection and the semantic of font features in - math do not interfere with the font *encoding*: Both, + mathematical formulae do not interfere with the font *encoding*: 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 @@ -615,7 +646,7 @@ Proposals: * Drop the *italic* from the definition. Optionally add an explanation: The OML encoding contains Latin and Greek letters for use in - mathematical formulas (typically used for variables) together with + mathematical formulae (typically used for variables) together with some symbols. It first appeared in the `Computer Modern Math Italic` (cmmi) font. @@ -635,7 +666,7 @@ families even if the text font defines Greek letters. Supported font families can be found searching for ``oml*.fd`` files and grepping for ``DeclareFont.*OML`` in ``*.sty`` files. -`Table 3`_ lists the findings for a selection of TeXLive 2009 + some +`Table 3`_ lists the findings for a selection of TeXLive 2012 + some additionally installed font packages. * If there is an alias (substitution) from the text font to a @@ -645,56 +676,69 @@ additionally installed font packages. however mapping to an italic variant of the OML encoded font. These are not listed as supporting ``m/n`` or ``bx/n`` here. +`Table 4`_ lists some fonts that define ``cmm`` as OML substitution. +With `isomath`, a better matching substitution can be set using the +rmdefault_ or sfdefault_ options. + .. _Table 3: .. table:: Font families supporting the OML encoding - ============= =========================== ======= ======== ====== ======= - Name Family m/it bx/it m/n bx/n - ============= =========================== ======= ======== ====== ======= - aer AE (Almost European) ✓ ✓ - antt Antykwa Torunska ✓ ✓ - cmr Computer Modern Roman ✓ ✓ - ccr Concrete ✓ ✓ - cmbr Computer Modern Bright ✓ ✓ - hlh Lucida ✓ ✓ - hfor CM with old-style digits ✓ ✓ - iwona Iwona (sans serif) ✓ ✓ - jkp Kepler Serif ✓ ✓ - jkpl Kepler Serif ✓ ✓ - jkpvos Kepler Serif ✓ ✓ - jkplvos Kepler Serif ✓ ✓ - llcmm LX Fonts (sans serif) ✓ ✓ - lmr Latin Modern Roman ✓ ✓ - mak Kerkis ✓ - kurier Kurier ✓ ✓ - mdbch Math Design Charter ✓ ✓ ✓ ✓ - mdput Math Design Utopia ✓ ✓ ✓ ✓ - mdugm Math Design Garamond ✓ ✓ ✓ ✓ - neohellenic GFS Neohellenic ✓ - plcm CM (PLaTeX) ✓ - ptmom Times (Omega or MB-Times) ✓ ✓ - ptmomu Times (Omega or MB-Times) ✓ ✓ - ptmcm Times (psfont) ✓ - pxr Palatino (pxfonts) ✓ ✓ - qpl Palatino/Pagella (qpxmath) ✓ ✓ - qtm Times/Termes (qtxmath) ✓ ✓ - txr Times (txfonts) ✓ ✓ - udidot Didot (gfsdidot) ✓ - ywclm (greektex) ✓ ✓ - zavm Arev (Vera Sans-Serif) ✓ ✓ - zesfcm (efont) ✓ - zplm Palatino (mathpazo) ✓ ✓ - zpple Palatino ✓ ✓ - ztmcm Times (mathptmv) ✓ - zer Computer Modern (zefonts) ✓ ✓ - ============= =========================== ======= ======== ====== ======= + ============= ================================= ======= ======== ====== ======= + Name Family (package) m/it bx/it m/n bx/n + ============= ================================= ======= ======== ====== ======= + antt Antykwa Torunska (anttor_) ✓ ✓ + cmr Computer Modern ✓ ✓ + ccr Concrete Roman (concmath_) ✓ ✓ + cmbr CM Bright (cmbright_) ✓ ✓ + hlh Lucida ✓ ✓ + hfor CM with old-style digits ✓ ✓ + iwona Iwona (sans serif) (iwona_) ✓ ✓ + iwonal Iwona light ✓ ✓ + iwonac Iwona condensed ✓ ✓ + iwonalc Iwona light condensed ✓ ✓ + jkp Kepler Serif (kpfonts_) ✓ ✓ + jkpw Kepler Serif wide ✓ ✓ + jkpvos Kepler Serif oldstyle ✓ ✓ + jkpvosw Kepler Serif oldstyle wide ✓ ✓ + jkpl Kepler Serif light ✓ ✓ + jkplw Kepler Serif light wide ✓ ✓ + jkplvos Kepler Serif light oldstyle ✓ ✓ + jkplvosw Kepler Serif light os wide ✓ ✓ + jkpss Kepler Sans (kpfonts_) ✓ ✓ + jkpssvos Kepler Sans oldstyle ✓ ✓ + jtm expanded Times (jamtimes_) ✓ ✓ + llcmm LX Fonts (sans serif) (lxfonts_) ✓ ✓ + lmr Latin Modern Roman (lmodern) ✓ ✓ + mak Kerkis (kerkis_) ✓ + kurier Kurier (sans serif) (kurier_) ✓ ✓ + kurierc Kurier condensed ✓ ✓ + kurierl Kurier light ✓ ✓ + kurierlc Kurier light condensed ✓ ✓ + mdbch Math Design Charter (mathdesign_) ✓ ✓ ✓ ✓ + mdput Math Design Utopia ✓ ✓ ✓ ✓ + mdugm Math Design Garamond ✓ ✓ ✓ ✓ + neohellenic Neohellenic (gfsneohellenic_) ✓ + ntxmi Times (newtx_) ✓ ✓ + nxlmi Libertine (newtx_) ✓ ✓ + plcm CM (PLaTeX) ✓ + ptmom Times (Omega or MB-Times) ✓ ✓ + ptmomu Times (Omega or MB-Times) ✓ ✓ + ptmcm Times (mathptmx_) ✓ + pxr Palatino (pxfonts_) ✓ ✓ + qpl Palatino/Pagella (qpxmath) ✓ ✓ + qtm Times/Termes (qtxmath) ✓ ✓ + txr Times (txfonts_) ✓ ✓ + udidot Didot (gfsdidot_) ✓ + ywclm (greektex_) ✓ ✓ + zavm Arev (Vera Sans-Serif) ✓ ✓ + zplm Palatino (mathpazo_) ✓ ✓ + zpple Palatino ✓ ✓ + ztmcm Times (mathptmx_) ✓ + zer Computer Modern (zefonts_) ✓ ✓ + ============= ================================= ======= ======== ====== ======= -`Table 4`_ lists some fonts that define ``cmm`` as OML substitution. -With `isomath`, a better matching substitution can be set using the -rmdefault_ or sfdefault_ options. - .. _Table 4: .. table:: Non-CM fonts with ``cmm`` as OML substitution @@ -716,7 +760,7 @@ rmdefault_ or sfdefault_ options. ubk Bookman (bookman) ucr Courier (courier) ucrs Courier - unc New Courier (nctrsbk) + unc New Century Schoolbook (psnfss) uni Universal (universa) uhv Helvetica (helvetic) upl Palatino (palatino) @@ -728,35 +772,61 @@ rmdefault_ or sfdefault_ options. Unicode mathematical typesetting ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +This section compares `math font selection`_ in LaTeX and Unicode. It +suggests a set of 14 math alphabet commands that covers all Unicode +`mathematical alphanumeric symbols`_ and discusses compatibility issues +between math typesetting with traditional (8-bit) TeX engines versus `the +unicode-math package`_ for Unicode-enabled TeX engines (XeTeX, LuaTeX). + The technical report [tr25]_ presents an in-depth discussion of the -mathematics character repertoire of the Unicode Standard as well as +mathematical character repertoire of the Unicode Standard as well as mathematical notation in general. -This section compares `math font selection`_ in LaTeX and Unicode. -It suggests a set of 14 math alphabets that covers all Unicode -`mathematical alphanumeric symbols`_ and discusses compatibility -issues between math typesetting with traditional (8-bit) TeX engines -versus `the unicode-math package`_ for Unicode-enabled TeX engines -(XeTeX, LuaTeX). - .. _mathematical alphanumeric symbols: -Unicode math alphabets -'''''''''''''''''''''' +Unicode mathematical alphabets +'''''''''''''''''''''''''''''' Chapter 2 `Mathematical Character Repertoire` of [tr25]_ lists 14 `Mathematical Alphabets` in Table 2.1. These mathematical alphabets are a superset of the predefined `math alphabets`_ in the LaTeX core. -Unicode assignes code points to most letters of the mathematical +Unicode assigns code points to most letters of the mathematical alphabets in the `mathematical alphanumeric symbols Unicode block`_. -The plain (upright, serifed) letters have been unified with the +The plain (upright) letters have been unified with the existing characters in the Basic Latin and Greek blocks. `Table 5`_ maps the 14 Unicode mathematical alphabets to LaTeX commands according to the `naming scheme`_ below. `Table 6`_ lists the status of -LaTeX support for the mathematical alphanumeric symbols. Full support is -provided by `the unicode-math package`_. +LaTeX support for the mathematical alphanumeric symbols. + +Naming scheme +````````````` + +The naming scheme is an extension of the predefined `math alphabet`_ +commands with the established short-cuts: + +.. class:: borderless + +===== ================================ +bf bold +it italic +cal script (calligraphic) +frak fraktur +bb double-struck (blackboard bold) +sf sans serif +===== ================================ + +combined to commands in the form ``\math``. + +The <*type*>, <*weight*>, and <*shape*> specifiers are optional +(defaults depend on the `math version`_). Their order matches the +names of Unicode `Mathematical Alphanumeric Symbols`_. + +Examples:: + + \mathbf{d} % MATHEMATICAL BOLD SMALL D + \mathsfbfit{d} % MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D. .. _table 5: @@ -786,33 +856,12 @@ provided by `the unicode-math package`_. .. [#up] plain standard characters outside the `mathematical alphanumeric symbols` Unicode block. -Naming scheme +LaTeX support ````````````` -The naming scheme is an extension of the predefined `math alphabet`_ -commands with the established short-cuts: - - .. class:: borderless - - ===== ================================ - bf bold - it italic - cal script (calligraphic) - frak fraktur - bb double-struck (blackboard bold) - sf sans serif - ===== ================================ - -combined to commands in the form ``\math``. - -The <*type*>, <*weight*>, and <*shape*> specifiers are optional -(defaults depend on the `math version`_). Their order matches the -names of Unicode `Mathematical Alphanumeric Symbols`_. - -Examples:: - - \mathbf{d} % MATHEMATICAL BOLD SMALL D - \mathsfbfit{d} % MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D. +Most commonly used math alphabets are supported either by the TeX kernel +or additional packages. Full support is only provided by `the unicode-math +package`_. .. _Table 6: @@ -823,7 +872,7 @@ Examples:: style math alphabet package, comment ============ ========================= =========================== plain [#up]_ ``\mathrm`` predefined [#no-g]_ - .. ``\mathup`` unicode-math_ + .. ``\mathup`` unicode-math_, kpfonts_ bf ``\mathbf`` predefined [#no-g]_ it ``\mathit`` predefined [#no-g]_ bf it ``\mathbfit`` isomath [#digits]_ @@ -840,7 +889,7 @@ Examples:: bf frak ``\mathbffrak`` unicode-math_ bb ``\mathbb`` amssymb_, bbold_, mathbbol_, mbboard_, - mathpazo_ + mathpazo_, sbbm_ .. ``\mathbbm`` bbm_ .. ``\mathds`` dsfont (doublestoke_) sf ``\mathsf`` predefined [#no-g]_ @@ -852,10 +901,12 @@ Examples:: tt ``\mathtt`` predefined [#no-g]_ ============ ========================= =========================== -.. [#no-g] no small Greek, full Greek with `OMLmath*`_ options. +.. [#no-g] no small Greek, full Greek with `OMLmath*`_ options and + OML-encoded fonts .. [#digits] Some italic math fonts (e. g., cmr, cmbr) have old-style numbers in place of italic digits. -.. [#script] no small Latin, formal script with calrsfs_, eucal_, fourier_ +.. [#script] formal script with calrsfs_, eucal_, fourier_, + small Latin letters only with urwchancal_ The unicode-math package @@ -865,18 +916,19 @@ Users of UTF-8 enabled TeX engines (XeTeX, LuaTeX) can typeset mathematics with the experimental unicode-math_ package by Will Robertson. It provides a LaTeX interface to OpenType fonts with math support, e. g., `Asana Math`_, Cambria Math, `New Euler`_ or XITS_, with -commands to access the complete mathematics character repertoire of the -Unicode Standard +commands to access the complete mathematical character repertoire of the +Unicode Standard. LaTeX `math font selection`_ methods with unicode-math: -`math alphabets`_ - map to a range of the `mathematical alphanumeric symbols`_ block in the - current font (or a substitution defined with the ``range`` math font - option). +* `Math alphabets`_ map to a range of the `mathematical alphanumeric + symbols`_ block in the current font (or a substitution defined with the + ``range`` math font option). Some command names differ from the `predefined math alphabets`_ or the above `naming scheme`_: + + .. class:: borderless =============== =============== LaTeX unicode-math @@ -894,46 +946,21 @@ LaTeX `math font selection`_ methods with unicode-math: ``sans-style=upright``. ``\mathbfsfit`` reverses the order of the ``sf`` and ``bf`` selectors, - so that, e. g., the Unicode character `MATHEMATICAL SANS-SERIF BOLD - ITALIC CAPITAL A` is selected by the non-mnemonic ``\mathbfsfit{A}``. - -`math versions`_ - are not directly supported but easy to emulate. - - As Unicode fonts can hold all math symbols in a single font file, a - single ``\setmathfont[]{}`` can replace - the ``\mathversion{}`` command if a complete OpenType - math font in the desired version is available. - + so that, e. g., the Unicode character MATHEMATICAL SANS-SERIF BOLD + ITALIC CAPITAL A is selected by the non-mnemonic ``\mathbfsfit{A}``. - However, complete OpenType math fonts are rare. Therefore - unicode-math supports using multiple fonts with the ``range`` - option. This way one can emulate, e. g., the ``bold`` math version - via:: +* `Math versions`_ can be set up using the syntax + ``\setmathfont[version=,]{}`` - \renewcommand{\boldmath}{% - \setmathfont{XITS Bold}% - \setmathfont[range={"1D400-"1F020}]{XITS Math}% - \setmathfont[range=\mathup->\mathbfup]{XITS Math}% - \setmathfont[range=\mathsfit->\mathbfsfit]{XITS Math}% - % ... - } - - It would be nice if unicode-math could provide a ``\newmathversion`` - command similar to the ``\newfontfamily`` in fontspec_ for such setups. - - For alphanumerical characters, the ``\mathbf``, ``\mathsf``, and - ``\mathsfbf`` behave like `“in-line math versions”`_. - -`math styles`_ - are supported with the ``math-style`` package option that accepts the - values ``TeX``, ``ISO``, ``french``, ``upright``, and ``literal``. +* Several `math styles`_ are supported with the ``math-style`` package + option that accepts the values ``TeX``, ``ISO``, ``french``, ``upright``, + and ``literal``. Conclusions and outlook ~~~~~~~~~~~~~~~~~~~~~~~ -It is hoped, that in the future more fonts families will support the +It is hoped, that in the future more font 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. @@ -942,9 +969,6 @@ 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 with `math alphabets`_. (With mathdesign_ @@ -991,6 +1015,10 @@ References `Symbols, Units, Nomenclature and Fundamental Constants in Physics`: http://metrology.wordpress.com/measurement-process-index/iupap-red-book/index-iupap-red-book/. +.. [becc97] Claudio Beccari, `Typesetting mathematics for science and + technology according to ISO 31 XI`, TUGboat, Volume 18, 1997, No. 1: + http://www.tug.org/TUGboat/tb18-1/tb54becc.pdf. + .. [encguide] Frank Mittelbach, Robin Fairbairns, Werner Lemberg, LaTeX3 Project Team, `LaTeX font encodings`: http://mirror.ctan.org/macros/latex/doc/encguide.pdf. @@ -1026,6 +1054,7 @@ References .. _amsfonts: http://mirror.ctan.org/help/Catalogue/entries/amsfonts.html .. _amsmath: http://mirror.ctan.org/help/Catalogue/entries/amsmath.html .. _amssymb: http://mirror.ctan.org/help/Catalogue/entries/amssymb.html +.. _anttor: http://mirror.ctan.org/help/Catalogue/entries/anttor.html .. _arev: http://mirror.ctan.org/help/Catalogue/entries/arev.html .. _Asana Math: http://mirror.ctan.org/help/Catalogue/entries/asana-math.html .. _bm: http://mirror.ctan.org/help/Catalogue/entries/bm.html @@ -1033,7 +1062,9 @@ References .. _bbold: http://mirror.ctan.org/help/Catalogue/entries/bbold.html .. _calrsfs: http://mirror.ctan.org/help/Catalogue/entries/calrsfs.html .. _cmbright: http://mirror.ctan.org/help/Catalogue/entries/cmbright.html +.. _concmath: http://mirror.ctan.org/help/Catalogue/entries/concmath.html .. _doublestoke: http://mirror.ctan.org/help/Catalogue/entries/doublestoke.html +.. _efont: http://mirror.ctan.org/help/Catalogue/entries/efont.html .. _eucal: http://mirror.ctan.org/help/Catalogue/entries/eucal.html .. _eufrak: http://mirror.ctan.org/help/Catalogue/entries/eufrak.html .. _eulervm: http://mirror.ctan.org/help/Catalogue/entries/eulervm.html @@ -1042,13 +1073,20 @@ References .. _fix-cm: http://mirror.ctan.org/help/Catalogue/entries/fix-cm.html .. _fourier: http://mirror.ctan.org/help/Catalogue/entries/fourier.html .. _fontspec: http://mirror.ctan.org/help/Catalogue/entries/fontspec.html +.. _gfsdidot: http://mirror.ctan.org/help/Catalogue/entries/gfsdidot.html +.. _gfsneohellenic: http://mirror.ctan.org/help/Catalogue/entries/gfsneohellenic.html +.. _greektex: http://mirror.ctan.org/help/Catalogue/entries/greektex.html .. _hvmath: http://mirror.ctan.org/help/Catalogue/entries/hvmath.html .. _hfbright: http://mirror.ctan.org/help/Catalogue/entries/hfbright.html .. _ifthen: http://mirror.ctan.org/help/Catalogue/entries/ifthen.html .. _iwona: http://mirror.ctan.org/help/Catalogue/entries/iwona.html +.. _jamtimes: http://mirror.ctan.org/help/Catalogue/entries/jamtimes.html +.. _kerkis: http://mirror.ctan.org/help/Catalogue/entries/kerkis.html +.. _keyval: http://mirror.ctan.org/help/Catalogue/entries/keyval.html .. _kpfonts: http://mirror.ctan.org/help/Catalogue/entries/kpfonts.html +.. _kurier: http://mirror.ctan.org/help/Catalogue/entries/kurier.html .. _kvoptions: http://mirror.ctan.org/help/Catalogue/entries/kvoptions.html -.. _keyval: http://mirror.ctan.org/help/Catalogue/entries/keyval.html +.. _lgrx: http://mirror.ctan.org/help/Catalogue/entries/lgrx.html .. _lxfonts: http://mirror.ctan.org/help/Catalogue/entries/lxfonts.html .. _lucimatx: http://pctex.com/files/managed/b/bf/lucimatxAbbrev.pdf .. _mathbbol: http://mirror.ctan.org/help/Catalogue/entries/mathbbol.html @@ -1056,14 +1094,20 @@ References .. _mathdesign: http://mirror.ctan.org/help/Catalogue/entries/mathdesign.html .. _mathpazo: http://mirror.ctan.org/help/Catalogue/entries/mathpazo.html .. _mathptmx: http://mirror.ctan.org/help/Catalogue/entries/mathptmx.html +.. _mathptmv: http://mirror.ctan.org/help/Catalogue/entries/mathptmv.html .. _mathrsfs: http://mirror.ctan.org/help/Catalogue/entries/mathrsfs.html +.. _newtx: http://mirror.ctan.org/help/Catalogue/entries/newtx.html .. _New Euler: https://github.com/khaledhosny/euler-otf .. _pxfonts: http://mirror.ctan.org/help/Catalogue/entries/pxfonts.html +.. _sansmath: http://mirror.ctan.org/help/Catalogue/entries/sansmath.html +.. _sbbm: http://mirror.ctan.org/help/Catalogue/entries/sbbm.html .. _sfmath: http://dtrx.de/od/tex/sfmath.html .. _tmmath: http://mirror.ctan.org/help/Catalogue/entries/tmmath.html .. _txfonts: http://mirror.ctan.org/help/Catalogue/entries/txfonts.html .. _unicode-math: http://mirror.ctan.org/help/Catalogue/entries/unicode-math.html .. _upgreek: http://mirror.ctan.org/help/Catalogue/entries/upgreek.html +.. _urwchancal: http://mirror.ctan.org/help/Catalogue/entries/urwchancal.html .. _wrisym: http://phong.informatik.uni-leipzig.de/~kuska/wri_texmf_4.2.zip .. _XITS: http://mirror.ctan.org/help/Catalogue/entries/xits.html +.. _zefonts: http://mirror.ctan.org/help/Catalogue/entries/zefonts.html diff --git a/Master/texmf-dist/tex/latex/isomath/isomath.sty b/Master/texmf-dist/tex/latex/isomath/isomath.sty index 55ee4f50ac5..97a6ee32bd6 100644 --- a/Master/texmf-dist/tex/latex/isomath/isomath.sty +++ b/Master/texmf-dist/tex/latex/isomath/isomath.sty @@ -1,47 +1,55 @@ -% isomath.sty: Math for scientists -% ******************************** +% isomath +% ******* +% Mathematical style for science and technology +% ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ % -% :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 80000-2. -% -% :Copyright: © 2008, 2010 Günter Milde +% :Date: 2012-09-10 +% :Copyright: © 2008, 2012 Günter Milde % :Licence: This work may be distributed and/or modified under the % 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 provides tools for a mathematical style +% that conforms to the International Standard ISO 80000-2 and is +% common in science and technology. It changes the default shape of +% capital Greek letters to italic, sets up bold italic and +% sans-serif bold italic math alphabets with Latin and Greek +% characters, and defines macros for markup of vector, matrix and +% tensor symbols. +% % :Identification: % :: \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{isomath} -[2011/02/01 v0.5 ISO math style] +[2012/09/04 v0.6.1 ISO math style] % .. contents:: -% +% % History % ======= % % .. class:: borderless % -% === ============ ======================================================== -% 0.1 2008-09-25 first public version. -% 0.2 2008-10-02 bugfix: a usage example was uncommented; +% ===== =========== ======================================================== +% 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. -% 0.3 2009-06-19 documentation update; +% 0.3 2009-06-19 documentation update; % \ fix OMLmathrm and OMLmathsans definitions; % \ switch license to LPP. -% 0.4 2010-08-23 split user documentation from literate source; +% 0.4 2010-08-23 split user documentation from literate source; % \ option ``scaled``; % \ documentation update. -% 0.5 2011-01-04 math alphabet names matching Unicode; +% 0.5 2011-01-04 math alphabet names matching Unicode; % \ documentation review and extension; % \ bold alphabet variants in ``bold`` math version; % \ upright numbers with ``\vectorsym``. -% === ============ ======================================================== +% 0.6 2012-09-10 Scaling for Kepler Sans (``sfdefault=jkpss``); +% \ documentation update, new caption and abstract. +% ===== =========== ======================================================== % % % Requirements @@ -53,9 +61,9 @@ % of type ``\mathalpha`` and takes them from the ``letters`` symbol font in % ``\mathnormal`` (as opposed to ``operators`` in ``fontmath.ltx``). % -% fixmath_ also defines the ``\mathbold`` alphabet, setting it to ``cmm``. -% This definition is be overwritten with a configurable value for -% the font family below. :: +% `fixmath` also defines the ``\mathbold`` alphabet, setting it to ``cmm``. +% `isomath` overwrites this definition with a configurable value for +% the font family. :: \RequirePackage{fixmath} @@ -75,8 +83,7 @@ % --------- % Family for roman math fonts. Must be available in OML % encoding. The default is to use the corresponding text font family -% (``\rmdefault``). -% :: +% (``\rmdefault``). :: \DeclareStringOption[\rmdefault]{rmdefault} @@ -89,9 +96,9 @@ % scaled % ------ -% The sans-serif fonts, ``fav`` (Arev), ``llcmss`` (LX Fonts), and -% ``iwona`` can be scaled with the ``scaled`` option. -% :: +% The sans-serif fonts, ``fav`` (Arev), ``llcmss`` (LX Fonts), +% ``jkpss`` (Kepler Serif) and ``iwona`` can be scaled +% with the ``scaled`` option. :: \DeclareStringOption[1.0]{scaled} @@ -102,8 +109,7 @@ % % As a workaround, this option tells `isomath` to re-use the existing % ``\mathbf`` and ``\mathsf`` alphabets for *italic* bold and sans-serif -% bold. -% :: +% bold. :: \DeclareBoolOption{reuseMathAlphabets} @@ -120,10 +126,10 @@ % backwards compatibility option alias \DeclareVoidOption{OMLmathsans}{\isomath@OMLmathsfittrue} -% 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. +% Setting these options enables access to small Greek letters in different +% shapes with e.g. ``\mathrm{\pi}`` but only *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. @@ -180,7 +186,7 @@ % alias (overwriting the definition from fixmath):: -\renewcommand{\mathbold}{\mathbfit} +\renewcommand*{\mathbold}{\mathbfit} % mathsfit % ~~~~~~~~ @@ -199,7 +205,7 @@ % mathsfbfit % ~~~~~~~~~~~~ % The *sans serif bold italic* alphabet is used for tensor symbols. -% Following the Unicode math name scheme it is called +% Following the Unicode naming scheme it is called % ``\mathsfbfit``(with the backwards compatibility alias ``\mathboldsans``). % With the reuseMathAlphabets_ option, the upright sans serif math % alphabet ``\mathsf`` is redefined and ``\mathsfbfit`` made an @@ -246,9 +252,7 @@ % ~~~~~~~~~~~ % Alphabetic vectors symbols are typeset *boldface italic* while numeric % ones (e.g. zero vector) are typeset *boldface upright*. The number -% test is a simplified version from the LaTeX FAQ -% `Is the argument a number? -% `__ +% test is a simplified version from the LaTeX FAQ "`Is the argument a number?`__" % It fails if a number is followed by a non-number, e.g. ``\vectorsym{1a}``, % but this is no valid vector symbol and would look strange with the % ``\vec`` accent, too. :: @@ -264,6 +268,8 @@ % you might want to re-define the standard ``\vec`` command after loading this % package. % +% __ http://www.tex.ac.uk/cgi-bin/texfaq2html?label=isitanum +% % \\matrixsym % ~~~~~~~~~~~ % Symbols for matrices are typeset *boldface italic*, i. e. in the same face @@ -278,16 +284,24 @@ \providecommand*{\tensorsym}{\mathsfbfit} -% Font mappings -% ------------- +% Font setup fixes +% ---------------- % % Substitutions needed for the math alphabet definitions and setup for % scaled fonts. For details about the font definition macros see % [fntguide]_. % -% Common family name for text and math -% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -% +% Unknown makro in font definition file +% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +% The `Kepler Sans` font definition file ``omljkpss.fd`` contains a boolean +% that is defined in ``kpfonts.sty``. This leads to errors if the fonts are +% used from another package. Provide a dummy definition:: + +\newif\ifkp@upRm + + +% Common family name for text and math fonts +% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Some font packages provide matching text and math font but do not % define a substitution in their ``*.fd`` files. Ideally, the following % mappings should be moved there. @@ -301,31 +315,37 @@ % Scaling % ~~~~~~~ -% Scale the ``fav`` (Arev), ``llcmss`` (LX Fonts), and ``iwona`` fonts -% by the value of the scaled_ option. +% Scale the ``fav`` (Arev), ``iwona``, ``jkpss`` (Kepler Sans) and +% ``llcmss`` (LX Fonts) sans serif 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 :: +% 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}{llcmss}{\skewchar\font'177} -\DeclareFontShape{OML}{llcmss}{m}{it}{<-> s * [\isomath@scaled] lcmmi8}{} -\DeclareFontShape{OML}{llcmss}{bx}{it}{<-> s * [\isomath@scaled] lcmmib8}{} - % Iwona (see ``omliwona.fd``) iwona ↔ mi-iwona:: \DeclareFontFamily{OML}{iwona}{} \DeclareFontShape{OML}{iwona}{m}{it}{<-> s * [\isomath@scaled] mi-iwonari}{} \DeclareFontShape{OML}{iwona}{bx}{it}{<-> s * [\isomath@scaled] mi-iwonabi}{} +% Kepler Serif (see ``omljkpss.fd``):: + +\DeclareFontFamily{OML}{jkpss}{\skewchar\font127 } +\DeclareFontShape{OML}{jkpss}{m}{it}{<-> s * [\isomath@scaled] jkpssmi}{} +\DeclareFontShape{OML}{jkpss}{bx}{it}{<-> s * [\isomath@scaled] jkpssbmi}{} + +% LX Fonts (see ``lxfonts.sty``) llcmss ↔ llcmm:: + +\DeclareFontFamily{OML}{llcmss}{\skewchar\font'177} +\DeclareFontShape{OML}{llcmss}{m}{it}{<-> s * [\isomath@scaled] lcmmi8}{} +\DeclareFontShape{OML}{llcmss}{bx}{it}{<-> s * [\isomath@scaled] lcmmib8}{} + % References % ========== -- cgit v1.2.3