From c68df5600f6190607d37be25c0a9508e58ebfef6 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 28 Sep 2008 00:46:28 +0000 Subject: new latex package isomath (25sep08) git-svn-id: svn://tug.org/texlive/trunk@10763 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/isomath/README | 78 ++ .../texmf-dist/doc/latex/isomath/isomath-test.pdf | Bin 0 -> 262731 bytes .../texmf-dist/doc/latex/isomath/isomath-test.tex | 119 ++ .../texmf-dist/doc/latex/isomath/isomath.sty.html | 1205 ++++++++++++++++++++ 4 files changed, 1402 insertions(+) create mode 100644 Master/texmf-dist/doc/latex/isomath/README create mode 100644 Master/texmf-dist/doc/latex/isomath/isomath-test.pdf create mode 100644 Master/texmf-dist/doc/latex/isomath/isomath-test.tex create mode 100644 Master/texmf-dist/doc/latex/isomath/isomath.sty.html (limited to 'Master/texmf-dist/doc/latex/isomath') diff --git a/Master/texmf-dist/doc/latex/isomath/README b/Master/texmf-dist/doc/latex/isomath/README new file mode 100644 index 00000000000..06c65512985 --- /dev/null +++ b/Master/texmf-dist/doc/latex/isomath/README @@ -0,0 +1,78 @@ +isomath.sty: Math layout for scientists +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Copyright © 2008 Günter Milde +Released under the terms of the GNU General Public License +(v. 2 or later) + +Abstract +======== + +The isomath package enables formatting Greek and Latin letters as symbols +for vectors, matrices, and tensors in the typefaces recommended for +scientific papers by the International Standard ISO 31. + + +Features +======== + +* Re-define Greek letters as \mathalpha, taking them from the "letters" + symbol fonts. + +* The macros \vectorsym, \matrixsym, and \tensorsym select an + ISO-conforming typeface. + +* For this, new math alphabets are defined: + + \mathbold: for *boldface italic* (vector and matrix symbols), + \mathsans: for *sans-serif italic* , + \mathboldsans: for *sans-serif bold italic* (tensor symbols). + + +Requirements +============ + +This package builds on and extends fixmath.sty by Walter Schmidt. +It also requires ifthen.sty and kvoptions.sty. + +The cmbright package is recommended for \mathsans and \mathboldsans +matching with Computer Modern and derivatives. + + +Installation +============ + +Copy isomath.sty to a suitable place in your TDS and make sure LaTeX can +find it. + +Optionally, copy the documentation to a place where texdoc can find it. + +Usage +===== + +* \usepackage{isomath} + + In many cases (when \sfdefault expands to "cmss"), the \mathboldsans + alphabet is neither bold nor sans, as "cmss" has no OML encoded + variants and maps to "cmmi". + +* Use cmbright for the sans-serif math alphabets:: + + \usepackage[sfdefault=cmbr]{isomath} + +* Redefine the standard \vec macro to typeset its argument in `bold + italic`:: + + \usepackage[sfdefault=cmbr]{isomath} + \renewcommand{\vec}{\vectorsym} + +* The mathdesign package comes with an OML encoded bold roman font but does + not use it for \mathbf in the default setting. With :: + + \usepackage[charter]{mathdesign} + \usepackage[OMLmathbf,sfdefault=cmbr]{isomath} + + \mathbf{\pi} works as expected. + + +2008-09-25 diff --git a/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf b/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf new file mode 100644 index 00000000000..5cdbfc2f5d4 Binary files /dev/null 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 new file mode 100644 index 00000000000..a9b18932979 --- /dev/null +++ b/Master/texmf-dist/doc/latex/isomath/isomath-test.tex @@ -0,0 +1,119 @@ +%% LyX 1.5.5 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[a4paper,british]{scrartcl} +% \usepackage[T1]{fontenc} +% \usepackage[latin1]{inputenc} +\pagestyle{empty} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. + +% Load a font package: + +% \usepackage{ae} +% \usepackage{anttor} +% \usepackage{arev} % normal and sans identic +% \usepackage{beton} % bitmap fonts +% \usepackage{concmath} +% \usepackage{cmbright} % keeps \mathrm and \mathbf as CM (roman) +\usepackage{fourier} +% \usepackage[LGR,T1]{fontenc}\usepackage[default]{gfsneohellenic} % no bold +% \usepackage{hfoldsty} % bitmap fonts +% \usepackage{iwona} % uses cmss --- cmbr is bad match +% \usepackage{kpfonts} % too many math alphabets used in version normal +% \usepackage{kerkis} % no bold math, no sans serif (choose iwona or arev?) +% \usepackage{lmodern} +% \usepackage{lucidabr} % commercial, subset free as bitmap +% \usepackage{lxfonts} % normal and sans identic, no \mathbold +%% mathdesign: % cmbr too light (bold ok) +%% % too many math alphabets without keepMathAlphabets +% \usepackage[charter]{mathdesign} % bitmap? +% \usepackage[garamond]{mathdesign} % bitmap? +% \usepackage[utopia]{mathdesign} % bitmap? +% \usepackage{mbtimes} +% \usepackage{gfsneohellenic} +% \usepackage{mathpazo} % +% \usepackage{pxfonts} % too many math alphabets used in version normal +% \usepackage{tgpagella}\usepackage{qpxmath} % cmbr too light (bold ok) +% \usepackage{tgtermes}\usepackage{qtxmath} % cmbr too light (bold ok) +% \usepackage{txfonts} % too many math alphabets used in version normal +% \usepackage{zefonts} % CM based + + +% load the isomath package with (or without) options +% -------------------------------------------------- + +\newcommand{\options}{} +% \renewcommand{\options}{omlMathalphabets} +% \renewcommand{\options}{reuseMathalphabets} +% \renewcommand{\options}{sfdefault=iwona} % with Iwona sans +% \renewcommand{\options}{sfdefault=zavm} % with Arew sans (larger than normal) +% \renewcommand{\options}{sfdefault=llcmm} % with LX sans (doesn't work) + +\usepackage[\options]{isomath} + + +% re-define \vec to comply with ISO 31:: +\renewcommand{\vec}{\vectorsym} + +\usepackage{babel} + +\begin{document} + +\section{Test the isomath Package} + +\makeatletter +Default font families: + serif \texttt{\rmdefault}, + sans-serif \texttt{\sfdefault}, + isomath-serif \texttt{\isomath@rmdefault}, + isomath-sf \texttt{\isomath@sfdefault}. +\makeatother + +\subsection{Math alphabets} + +The math alphabets should work with greek letters too (thus access +to upright greek is possible for both, small and capital letters). +If there are ligatures (ff, fi, ...) instead of small Greek letters +in a math alphabet, it uses T1 or OT1 encoding instead of OML. \begin{eqnarray*} +\mbox{mathnormal} & & a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega\\ +\mbox{mathit} & & \mathit{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}\\ +\mbox{mathrm} & & \mathrm{\mathrm{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}}\\ +\mbox{mathbf} & & \mathbf{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}\\ +\mbox{mathsf} & & \mathsf{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}\\ +\mbox{mathtt} & & \mathtt{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega} +\end{eqnarray*} + New alphabets are defined for italic-bold, italic-sans, and italic-sans-bold. +\begin{eqnarray*} +\mbox{mathbold} & & \mathbold{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}\\ +\mbox{mathsans} & & \mathsans{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}\\ +\mbox{mathboldsans} & & \mathboldsans{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega} +\end{eqnarray*} + + +\subsection{Vector symbols} + +Symbols for vectors are boldface italic $\vec{\alpha}=\vec{e}_{1}\cdot\vec{a}$ + + +\subsection{Matrix symbols} + +Symbols for matrices are boldface italic, i. e. typeset in the same +face as vectors:% +\footnote{However, matrix symbols are usually capital letters whereas vectors +are small ones. Exceptions are physical Quantities like the force +vector $\vec{F}$ or the electrical field $\vec{E}$.% +} $\matrixsym{\Gamma}=\matrixsym{E}\cdot\matrixsym{A}.$ + + +\subsection{Tensor symbols} + +Symbols for tensors are sans-serif bold italic, \begin{eqnarray*} +\tensorsym{\alpha} & = & \tensorsym{e}\cdot\tensorsym{a}.\\ +\alpha_{ijl} & = & e_{ijk}\cdot a_{kl}\end{eqnarray*} + + +The permittivity tensor describes the coupling of electric field and +displacement: \[ +\vec{D}=\epsilon_{0}\tensorsym{\epsilon}_{\mathrm{r}}\vec{E}\] + +\end{document} diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.sty.html b/Master/texmf-dist/doc/latex/isomath/isomath.sty.html new file mode 100644 index 00000000000..9dbe56f1413 --- /dev/null +++ b/Master/texmf-dist/doc/latex/isomath/isomath.sty.html @@ -0,0 +1,1205 @@ + + + + + + +isomath.sty: Math for scientists + + + + +
+

isomath.sty: Math for scientists

+ +++ + + + +
Copyright:© 2008 Günter Milde, +Released under the terms of the GNU General Public License +(v. 2 or later)
+
+

Abstract

+

The isomath package enables formatting Greek and Latin letters +as symbols for vectors, matrices, and tensors in the typefaces +recommended for scientific papers by the International +Standard ISO 31.

+
+ +
+

Introduction

+
+

Motivation

+

Scientific organisations like IUPAP, IUPAC, NIST, BIPM, and others +recommend typesetting math according to International Standard ISO 31 +Quantities and units (ISO 31-0:1992 to ISO 31-14:1992).[1]

+ + + + + +
[1]A summary of these rules is free available [typefaces]. See also +[symbol-fonts] and [SI-brochure].
+

The traditional LaTeX-style deviates in some points from this rules:

+
    +
  • The \vec command produces an array accent, while ISO 31 recommends +a bold italic typeface for vector symbols.
  • +
  • Greek letters are excluded from font changes with the math alphabets, +while the ISO 31 rules apply equally to letters from both the Greek +and the Latin alphabet.
  • +
  • There is no provision for typesetting of Greek letters in bold italic +style recommended for vectors (even though the required fonts are +available).
  • +
  • There is no provision for typesetting letters in sans-serif bold italic +recommended for typesetting tensor symbols.
  • +
+

Some of these points are already adressed by related packages, however +there is currently no package (known to the author) that defines the +sans-serif bold italic math alphabet needed for tensor symbols.

+
+
+

Features

+

The isomath.sty package facilitates the task to abide with ISO 31 when +typesetting math with LaTeX:

+
    +
  • It utilises fixmath to re-define Greek letters as \mathalpha, taking +them from the "letters" symbol fonts (as opposed to "operators" in +fontmath.ltx). This ensures that

    +
      +
    • Greek letters change shape together with Latin letters if a different +math alphabet is used.
    • +
    • Uppercase Greek letters are typeset in italic style by default.
    • +
    • Upright Greek letters are available through the \mathrm and +\mathbf alphabets, if the corresponding fonts are OML encoded.
    • +
    +
  • +
  • The command aliases \vectorsym, \matrixsym, and \tensorsym +select an ISO-conforming typeface.

    +
  • +
  • For this, new math alphabets are defined:

    + +++ + + + + + + + +
    \mathbold:for boldface italic (vector and matrix +symbols),
    \mathsans:for sans-serif italic ,
    \mathboldsans:for sans-serif bold italic (tensor symbols).
    +

    The family for these fonts is by default taken from the document's +\rmdefault and \sfdefault values. The rmdefault=<family> and +sfdefault=<family> options can be used to override the defaults.

    +
  • +
  • Font mappings are defined for families which have an OML encoded +counterpart but miss the substitution definition.

    +
  • +
+ +
+

Caution!

+

Using small Greek letters in a math alphabet command (e.g. +\mathrm{\pi}) can lead to garbage.

+

You can use the OML math* options (if the used font supports the +OML font encoding) or place the Greek letter outside the math +alphabet command. Some packages (including fixmath) provide \up* +or \var* macros for upright Greek letters, e.g. +\mathrm{k}\upOmega.

+
+
+
+

Examples

+
    +
  • \usepackage{isomath}

    +

    In many cases (when \sfdefault expands to "cmss"), the +\mathboldsans alphabet is neither bold nor sans, as "cmss" has no OML +encoded variants and maps to "cmmi".

    +
  • +
  • Use cmbright for the sans-serif math alphabets:

    +
    +\usepackage[sfdefault=cmbr]{isomath}
    +
    +
  • +
  • Redefine the standard \vec macro to typeset its argument in bold +italic:

    +
    +\usepackage[sfdefault=cmbr]{isomath}
    +\renewcommand{\vec}{\vectorsym}
    +
    +
  • +
  • The mathdesign package comes with an OML encoded bold roman font but does +not use it for \mathbf in the default setting. With

    +
    +\usepackage[charter]{mathdesign}
    +\usepackage[OMLmathbf,sfdefault=cmbr]{isomath}
    +
    +

    \mathbf{\pi} works as expected.

    +
  • +
+
+ +
+

OML font encoding

+

If a math alphabet shall support both, Greek and Latin letters, it must use +the OML font encoding — no other established encoding provides Latin and +Greek letters in one font:

+
    +
  • LGR is Greek-only,
  • +
  • T7 is just a "reserved name" for a standard Greek encoding.
  • +
+

The LaTeX font encodings guide [encguide] defines:

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

and names it TeX math italic. However, the reference to italic seems to +be a description of the state of the art rather than a necessary +restriction:

+
    +
  • The only OML encoded CM font is "Computer Modern Math Italic" (cmmi),
  • +
  • but generally, font encodings (T1, OT1) are not specific to the font shape.
  • +
  • Both, \DeclareSymbolFont and \DeclareMathAlphabet require a +{<shape>} argument. Thus it is possible to define OML encoded math +alphabets in roman {n} as well as italic {it} shape without conflicts.
  • +
  • A more suitable public name would be TeX math letters or Original/Old +Math Letters. The latter would also explain the acronym OML.
  • +
+

Unfortunately, support for the OML encoding is missing for many font +families even if the base font contains all Greek letters. +Supported font families can be found searching for oml*.fd files and by +grepping for "DeclareFont.*OML", "SymbolFont.*OML" and "MathAlphabet.*OML" +in *.sty files.

+ + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1: Fonts supporting the OML font encoding
NameFamily{m}{it}{bx}{it}{m}{n}{bx}{n}
aerAE (Almost European)xx  
anttAntykwa Torunskaxx  
cmrComputer Modern Romanxx  
ccrConcretexx  
cmbrComputer Modern Brightxx  
hlhLucidaxx  
hforCM with old-style digitsxx  
iwonaIwona (sans serif)xx  
jkpKepler Serifxx  
jkplKepler Serifxx  
jkpvosKepler Serifxx  
jkplvosKepler Serifxx  
llcmmLXfonts (sans serif)xx  
lmrLatin Modern Romanxx  
makKerkisx   
mdbchMath Design Charterxx?x
mdputMath Design Utopiaxx?x
mdugmMath Design Garamondxx?x
neohellenicGFS Neohellenicx   
plcmCM (PLaTeX)x   
ptmomTimes (Omega or MB-Times)xx  
ptmomuTimes (Omega or MB-Times)xx  
ptmcmTimes (psfont)x   
pxrPalatino (pxfonts)xx  
qplPalatino/Pagella (qpxmath)xx  
qtmTimes/Termes (qtxmath)xx  
txrTimes (txfonts)xx  
ywclm(greektex)xx  
zavmArev (Vera Sans-Serif)xx  
zesfcm(efont)x   
zplmPalatino (mathpazo)xx  
zpple xx  
ztmcmTimes (mathptmx)x   
zerComputer Modern (zefonts)xx  
+

Explanations:

+
    +
  • If there is an alias (substitution) from the text font to a math-variant, +only the text font is listed.
  • +
  • Many text fonts define substitutions also for {n}, however mapping to +an italic variant of the OML encoded font. These are not listed as +supporting {m}{n} or {bx}{n} here.
  • +
+

The following fonts define cmm as OML substitution. A better matching +substitution can be set with the rmdefault option.

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2: Non-CM fonts with cmm as OML substitution
FamilyName
bchCharter (psnfss)
pagAvant Garde (psnfss)
pbkBookman (psnfss)
pcrCourier (psnfss)
phvHelvetica (psnfss)
pncNew Century Schoolbook (psnfss)
pplPalatino (psnfss)
ptmTimes Roman (psnfss)
putUtopia (psnfss)
pzcZapf Chancery (psnfss)
uagAvant Garde (avantgar)
ubkBookman (bookman)
ucrCourier (courier)
ucrsCourier
uncNew Courier (nctrsbk)
uniUniversal (universa)
uhvHelvetica (helvetic)
uplPalatino (palatino)
utmTimes (times)
uzcZapf Chancery (zapfchan)
+
+
+

Conclusions and outlook

+

It is hoped, that in the future more fonts families will support the OML +encoding in normal and bold weight as well as upright and italic shape. +This would be a major step towards the full support of the Mathematical +Alphanumeric Symbols Unicode block.

+

This is (relatively) easy to achieve via virtual fonts when the glyphs for +the Greek letters already exist (this is the case for many fonts where the +primary version is Unicode encoded). Examples are Latin Modern, Kerkis, +GFS-Neohellenic, LX-Fonts and KP-Serif.

+

Alternatively, T7 could be used for math alphabets (if it ever happens to +materialise).

+

Upright small Greek letters in \mathrm would enable the specification of +Myons, Pions, alpha-particles, photons, and neutrinos without special +packages. (With mathdesign, this is already possible today.)

+
+
+
+

Implementation

+
+

Identification

+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{isomath}
+[2008/06/23 v0.1 typeset math according to International Standard ISO 31]
+
+
+
+

Requirements

+
+

fixmath

+

fixmath by Walter Schmidt defines Greek letters as symbols of type +\mathalpha and takes them from the "letters" SymbolFont in +\mathnormal. (It also defines the \mathbold alphabet, setting it to +cmm. This definition will be overwritten with a configurable value for +the font family below.)

+
+\RequirePackage{fixmath}
+
+
+
+

ifthen

+

The standard LaTeX package ifthen provides the commands \ifthenelse, +and \whiledo.

+
+\RequirePackage{ifthen}
+
+
+
+

kvoptions

+

The kvoptions package in the oberdiek bundle facilitates the setup of +package options and provides a key=value interface (based on keyval):

+
+\RequirePackage{kvoptions}
+
+
+
+
+

Options

+
+

rmdefault

+

Alternative math font family name for roman. The default is to use the +corresponding text font family (\rmdefault) in OMS encoding. +Table 2 lists some fonts where a different setting is advised.

+
+\DeclareStringOption[\rmdefault]{rmdefault}
+
+
+
+

sfdefault

+

Alternative math font family name for sans-serif. The default is to use the +corresponding text font family (\sfdefault) in OMS encoding.

+

Computer Modern Sans Serif (cmss) has no italic and bold variants in OMS +encoding. Nor have many derivatives (lmss, aess, ...). +Actually, there are only a few OML-encoded sans-serif fonts (all +slanted/italic):

+ +++ + + + + + + + + + + + +
zavm:arev (Vera Sans with math extension)
cmbr:cmbright (Computer Modern Bright, slightly lighter than cmss)
iwona:iwona (Humanistic Sans Serif)
hvm:hvmath (Helvetica Math, commercial, free bitmap version)
llcmm:lxfonts (LX Fonts, very wide and quite eccentric, new in 2008)
+

For many fonts (especially CM and related), [sfdefault=cmbr] is the +recommended setting.

+
+\DeclareStringOption[\sfdefault]{sfdefault}
+
+
+
+

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 \mathsf alphabets for italic bold and sans-serif.

+

To access the upright shapes, the corresponding \textbf and \textsf +command can be used (remember that this toggles the math-mode off and might +use a different font).

+

Both standard and new math alphabets are in upright shape, if this option +is combined with the corresponding OML math* option.

+
+\DeclareBoolOption{reuseMathalphabets}
+
+
+
+

OML math*

+

These options cause isomath to redefine standard alphabets in OML +encoding.

+

With Greek letters defined as \mathalpha, the math alphabets are +expected to be in OML font encoding. OT1 encoded fonts have ligatures and +non-alpha symbols in place of the small Greek letters.

+

Setting these options enables access to small Greek letters in different +shapes with e.g. \mathrm{\pi}. +Currently, support for the OML font encoding is rather limited:

+
    +
  • only the mathdesign fonts support bold roman in OML encoding, while
  • +
  • many font packages define an italic font as OML replacement for a roman +font.
  • +
+

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

+
+\DeclareBoolOption{OMLmathrm}
+\DeclareBoolOption{OMLmathbf}
+\DeclareBoolOption{OMLmathsf}
+\DeclareBoolOption{OMLmathtt}
+
+
+

Process the options with kvoptions extensions:

+
+\ProcessKeyvalOptions*
+
+
+
+
+

Declarations

+
+

New math alphabets

+

The italic bold math alphabet is named \mathbold in related +packages. For letters, this is the same as the bold version of +\mathnormal. With the reuseMathalphabets option, \mathfb is +redefined and \mathbold made an alias (overwriting existing +definitions).

+
+\ifthenelse{\boolean{isomath@reuseMathalphabets}}
+{
+  \DeclareMathAlphabet{\mathbf}{OML}{\isomath@rmdefault}{bx}{it}
+  \def\mathbold{\mathbf}
+}
+{
+  \DeclareMathAlphabet{\mathbold}{OML}{\isomath@rmdefault}{bx}{it}
+}
+
+

For italic sans-serif, we either redefine \mathsf (with +reuseMathalphabets) or, in analogy to \mathbold, we define the new +alphabet \mathsans:

+
+\ifthenelse{\boolean{isomath@reuseMathalphabets}}
+{
+  \DeclareMathAlphabet{\mathsf}{OML}{\isomath@sfdefault}{m}{it}
+  \def\mathsans{\mathsf}
+}
+{
+  \DeclareMathAlphabet{\mathsans}{OML}{\isomath@sfdefault}{m}{it}
+}
+
+

A sans serif slanted bold alphabet is needed for the tensor +symbols. As there is no standard math alphabet to re-use, we define the new +alphabet \mathboldsans:

+
+\DeclareMathAlphabet{\mathboldsans}{OML}{\isomath@sfdefault}{bx}{it}
+
+
+
+

Redefine standard alphabets

+

Redefine standard alphabets in OML font encoding +(if the corresponding OML math* option is true).

+
+\ifthenelse{\boolean{isomath@OMLmathrm}}
+{\SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{n}{n}}{}
+\ifthenelse{\boolean{isomath@OMLmathbf}}
+{\SetMathAlphabet{\mathbf}{normal}{OML}{\isomath@rmdefault}{b}{n}}{}
+\ifthenelse{\boolean{isomath@OMLmathbf}}
+{\SetMathAlphabet{\mathsf}{normal}{OML}{\isomath@sfdefault}{n}{n}}{}
+\ifthenelse{\boolean{isomath@OMLmathtt}}
+{\SetMathAlphabet{\mathtt}{normal}{OML}{\ttdefault}{n}{n}}{}
+
+
+
+

Command aliases

+

Define commands to typeset some symbol categories complying to +the ISO standard.

+
+

Vector symbols

+

Symbols for vectors are boldface italic:

+
+\newcommand{\vectorsym}{\mathbold}
+
+

For easier writing or to make existing documents conform to the standard, +you might want to re-define the standard \vec command after loading this +package (cf. the Examples section).

+
+
+

Matrix symbols

+

Symbols for matrices are boldface italic, i. e. typeset in the same face as +vectors (see [typefaces]). [2]

+
+\newcommand{\matrixsym}{\mathbold}
+
+ + + + + +
[2]However, matrix symbols are usually capital letters whereas vectors +are small ones. Exceptions are physical Quantities like the force +vector F or the electrical field E.
+
+
+

Tensor symbols

+

Symbols for tensors are sans-serif bold italic:

+
+\newcommand{\tensorsym}{\mathboldsans}
+
+
+
+
+

Font mappings

+

Some font packages provide a matching math font but do not define a +substitution in their *.fd files.

+

We define the substitutions needed for the math alphabet definitions in this +package. Ideally, these should become part of a more complete set of +definitions in the package's fd file(s):

+

Mathpazo (Palatino) ppl -> zplm

+
+\DeclareFontFamily{OML}{ppl}{\skewchar\font127}
+\DeclareFontShape{OML}{ppl}{m}{it}{<-> ssub * zplm/m/it}{}
+\DeclareFontShape{OML}{ppl}{bx}{it}{<-> ssub * zplm/b/it}{}
+
+

Arev (arev): fav -> zavm

+
+\DeclareFontFamily{OML}{fav}{}
+\DeclareFontShape{OML}{fav}{m}{it}{<->ssub * zavm/m/it}{}
+\DeclareFontShape{OML}{fav}{bx}{it}{<->ssub * zavm/b/it}{}
+
+

LX Fonts (lxfonts): llcmss -> llcmm

+
+\DeclareFontFamily{OML}{llcmss}{}
+\DeclareFontShape{OML}{llcmss}{m}{it}{<-> ssub * llcmm/m/it}{}
+\DeclareFontShape{OML}{llcmss}{bx}{it}{<-> ssub * llcmm/bx/it}{}
+
+
+
+
+

The end

+
+\endinput
+
+
+
+

TODO

+

The \mathsans definition "increases symmetry". However, it adds a math +alphabet that is rarely (or not at all) used. Giving the limit of 16 math +alphabets, it might be better not to define it. Make it an option?

+
+
+

About this file

+

The package documentation is included in the source file.

+

The bidirectional text <-> code converter PyLit can be used to transform +the LaTeX package isomath.sty to a reStructured Text document +isomath.sty.txt (and back again). To translate isomath.sty.txt to +LaTeX or HTML, the Python docutils are required.

+
+
+

References

+ + + + + +
[encguide]LaTeX font encodings: +http://dante.ctan.org/CTAN/macros/latex/doc/encguide.pdf
+ + + + + +
[symbol-fonts]On the use of italic and roman fonts for symbols in +scientific text, I.M. Mills and W.V. Metanomski (Revised December 1999): +http://old.iupac.org/standing/idcns/fonts_for_symbols.html
+ + + + + +
[Green-Book]Quantities, Units and Symbols in Physical Chemistry, +3rd edition, RSC Publishing, Cambridge 2007: +[ISBN 0 85404 433 7; ISBN-13 978 0 85404 433 7]
+ + + + + +
[typefaces](1, 2) Typefaces for Symbols in Scientific Manuscripts: +http://physics.nist.gov/Document/typefaces.pdf
+ + + + + +
[SI-brochure]The International System of Units (SI): +http://www.bipm.org/en/si/si_brochure/
+ + + +
+
+
+ + -- cgit v1.2.3