summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/isomath
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-06-21 00:24:47 +0000
committerKarl Berry <karl@freefriends.org>2009-06-21 00:24:47 +0000
commit1818174ad5a62aca7ee9a87c646d9888c0e1188a (patch)
treedcd4c6f5f20742233e74dc0af9b33e69d819f8df /Master/texmf-dist/tex/latex/isomath
parentd5c69362ef92a985a1cecefe6bbbca5eb51e822a (diff)
isomath 0.3 (20jun09)
git-svn-id: svn://tug.org/texlive/trunk@13844 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/isomath')
-rw-r--r--Master/texmf-dist/tex/latex/isomath/isomath.sty318
1 files changed, 209 insertions, 109 deletions
diff --git a/Master/texmf-dist/tex/latex/isomath/isomath.sty b/Master/texmf-dist/tex/latex/isomath/isomath.sty
index 89353a74869..c20b6e9a1d5 100644
--- a/Master/texmf-dist/tex/latex/isomath/isomath.sty
+++ b/Master/texmf-dist/tex/latex/isomath/isomath.sty
@@ -1,21 +1,22 @@
% isomath: Math for scientists
% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%
-% :Copyright: © 2008 Günter Milde
-% :Licence: Released under the terms of the GNU General Public License
-% (version 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
+% :Copyright: © 2008, 2009 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 31. For this, a *bold italic*
% and a *sans-serif bold italic* math alphabet are defined.
%
-% .. contents::
+% .. contents::
%
% Introduction
% ************
-%
+%
% Motivation
% ==========
%
@@ -46,7 +47,7 @@
% *sans-serif bold italic* math alphabet needed for tensor symbols.
%
% .. [#] Summaries of these rules are free available, see [typefaces]_,
-% [fonts-for-symbols]_, and [SI-brochure]_.
+% [checklist]_, [fonts-for-symbols]_, and [SI-brochure]_.
%
%
% Features
@@ -59,17 +60,17 @@
%
% + Greek letters change shape together with Latin letters if a different
% math alphabet is used.
-%
+%
% + Uppercase Greek letters are typeset in italic style by default.
-%
-% + Upright Greek letters can be made available through the ``\mathrm``
-% and ``\mathbf`` alphabets, if the corresponding fonts support the
+%
+% + Upright Greek letters can be made available through the ``\mathrm``
+% and ``\mathbf`` alphabets, if the corresponding fonts support the
% `OML font encoding`_.
%
% * The `command aliases`_ ``\vectorsym``, ``\matrixsym``, and ``\tensorsym``
% allow semantic markup. They print the argument in an ISO-conforming
% typeface.
-%
+%
% * For this, new `math alphabets`_ are defined:
%
% :``\mathbold``: *boldface italic* (vector and matrix symbols),
@@ -84,14 +85,16 @@
% encoded counterpart but no substitution definition in their ``*.fd``
% files.
%
-%
+%
% Usage
% =====
%
% Make sure that LaTeX can find ``isomath.sty`` and insert the command
% ``\usepackage{isomath}`` in the document preamble.
%
-% Examples
+% For package options, see the Options_ section below.
+%
+% Examples
% --------
%
% * In many cases (e.g. when ``\sfdefault`` expands to "cmss"), the
@@ -101,7 +104,11 @@
% Use cmbright_ for sans-serif math alphabets::
% \usepackage[sfdefault=cmbr]{isomath}
-%
+%
+% Define also a slanted sans-serif math alphabet::
+
+% \usepackage[sfdefault=cmbr,OMLmathsans]{isomath}
+%
% * Redefine the standard ``\vec`` macro to typeset its argument in `bold
% italic`::
@@ -113,7 +120,7 @@
% \usepackage[charter]{mathdesign}
% \usepackage[OMLmathbf,sfdefault=cmbr]{isomath}
-%
+%
% Now, ``\mathbf{\pi}`` produces a bold upright pi symbol.
%
% Related packages
@@ -140,38 +147,97 @@
% ---------
%
% The `fourier`_ package for math typesetting with Utopia defines its own,
-% incompatible math font encodings. It cannot be used with ``isomath`` but
-% provides other means to typeset upright or italic Greek (see its
-% documentation).
+% incompatible math font encodings. It cannot be used with ``isomath``
+% but provides other means to typeset upright or italic Greek (see its
+% documentation).\ [#]_
%
% The `kpfonts`_, `pxfonts`_, and `txfonts`_ packages define many additional
-% math alphabets and can only be combined with ``isomath``, if the
-% reuseMathAlphabets_ option is used.
+% math alphabets the additional definitions in isomath lead to a "too many
+% math alphabets used in version normal" error. The error can be avoided with
+% the reuseMathAlphabets_ option.
+%
+% .. [#] However, it is possible to use the symbols from `fourier`_ together
+% with math alphabets from another package, e.g `mathdesign`_::
+
+% \usepackage{fourier}
+% \usepackage[OMLmathbf,rmdefault=mdput,sfdefault=cmbr]{isomath}
+%
%
% Greek in Math
% =============
%
+% IUPAC_'s [fonts-for-symbols]_ guide says:
+%
+% 2. The overall rule is that symbols representing physical quantities (or
+% variables) are italic, but symbols representing units, or labels, are
+% roman. [...]
+%
+% 3. The above rule **applies equally to letter symbols from both the Greek
+% and the Latin alphabet**, although authors often appear to resist
+% putting Greek letters into italic.
+%
+% [emphasis by the author]. In contrast, the standard LaTeX style treats Greek
+% symbols as invariant operators with lower case italic and upper case upright.
+%
% Unicode Math Support
% --------------------
%
-% The technical report `Unicode Support for Mathematics` [tr25]_ lists
-% *alphanumeric symbols encountered in mathematics* in Table 2.1 `Mathematical
-% Alphabets`. It includes Latin and Greek letters in the bold, italic, bold
-% italic, sans-serif bold, and sans-serif bold italic math styles.
+% The technical report `Unicode Support for Mathematics` [tr25]_ lists
+% "lphanumeric symbols encountered in mathematics"in table 2 `Mathematical
+% Alphabets`.
%
% The Unicode block `mathematical alphanumeric symbols`_ provides style
-% variants for Latin and Greek letters and digits. It is "to be used for
-% mathematical variables where style variations are important semantically".
+% variants for Latin and Greek letters and digits. It is labelled "to be used
+% for mathematical variables where style variations are important
+% semantically".
+%
+% .. _table 1:
+%
+% .. table:: Styles in the `mathematical alphanumeric symbols`_
+% Unicode block
+% :class: booktab
+%
+% ================= ==== ================= ============================
+% Style LGD LaTeX macro Package, Comment
+% [#]_
+% ================= ==== ================= ============================
+% bold LGD ``\mathbf`` no Greek
+%
+% italic LG ``\mathit`` no Greek
+% \ ``\mathnormal`` small Greek but
+% old-style roman Digits
+% bold italic LG ``\mathbold`` fixmath and friends
+% \ ``\boldsymbol`` ams
+% script L ``\mathcal`` or only capital Latin
+% (calligraphic) ``\mathscr``
+% bold script L
+% fraktur L ``\mathfrak`` eufrak
+% double-struck L D ``\mathbb`` bbold, mathbbol,
+% mbboard
+% \ ``\mathbbm`` bbm
+% \ ``\mathds`` dsfont
+% bold fraktur L
+% sans-serif L D ``\mathsf`` no Greek
+% sans-serif bold LGD
+% sans-serif italic L ``\mathsans`` isomath
+% sans bold italic LG ``\mathboldsans`` isomath
+% monospace L D ``\mathtt`` no Greek
+% ----------------- ---- ----------------- ----------------------------
+% *Not in the mathematical alphanumeric symbols block*:
+% ---------------------------------------------------------------------
+% plain LGD ``\mathrm`` no Greek
+% \ ``\mathnormal`` capital Greek
+% ================= ==== ================= ============================
+%
+% .. [#] LGD: **L**\ atin, **G**\ reek, **D**\ igits
%
%
% OML font encoding
% -----------------
%
-% The OML font encoding is the only established encoding providing
-% Latin and Greek letters in one font:
-%
-% * LGR is Greek-only,
-% * T7 is just a "reserved name" for a standard Greek encoding.
+% *OML* is the only established font encoding providing Latin and Greek
+% letters in one font. (The text font encoding *LGR* is Greek-only while *T7*
+% is just a "reserved name" for a standard Greek encoding.)
%
% Definition
% """"""""""
@@ -179,24 +245,36 @@
% The `LaTeX font encodings` guide [encguide]_ names OML `TeX math italic` and
% defines:
%
-% The OML encoding contains italic Latin and Greek letters for use in
-% mathematical formulas (typically used for variables) together with some
-% symbols.
+% The OML encoding contains italic Latin and Greek letters for use in
+% mathematical formulas (typically used for variables) together with some
+% symbols.
%
-% However, the reference to **italic** seems to be a description of the *state
-% of the art* rather than a necessary restriction:
+% However, the reference to **italic** letters 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),
+% * There is only one OML encoded font in the Computer Modern fonts:
+% `Computer Modern Math Italic` (cmmi).
%
-% * but generally, font encodings (T1, OT1) are not specific to the font shape.
+% * 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
+% {<shape>} argument. Thus it is possible to set up 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
+% * The name `TeX math italic` can be interpreted as "encoding *of* `Computer
+% Modern Math Italic`" rather than "encoding *for* math italic" fonts.
+%
+% A less confusing name would be `TeX math letters` or `Original/Old
% Math Letters`. The latter would also explain the acronym OML.
%
+% A more inclusive definition would be:
+%
+% The OML encoding contains Latin and Greek letters for use in mathematical
+% formulas (typically used for variables) together with some symbols.
+% It first appeared in the `Computer Modern Math Italic` (cmmi) font.
+%
+%
+%
% Support
% """""""
%
@@ -206,7 +284,7 @@
% grepping for "DeclareFont.*OML", "SymbolFont.*OML" and "MathAlphabet.*OML"
% in ``*.sty`` files.
%
-% .. _table 1:
+% .. _table 2:
%
% .. table:: Fonts supporting the OML font encoding
% :class: booktab
@@ -229,9 +307,9 @@
% llcmm LXfonts (sans serif) x x
% lmr Latin Modern Roman x x
% mak Kerkis x
-% mdbch Math Design Charter x x ? x
-% mdput Math Design Utopia x x ? x
-% mdugm Math Design Garamond x x ? x
+% mdbch Math Design Charter x x x x
+% mdput Math Design Utopia x x x x
+% mdugm Math Design Garamond x x x x
% neohellenic GFS Neohellenic x
% plcm CM (PLaTeX) x
% ptmom Times (Omega or MB-Times) x x
@@ -260,9 +338,9 @@
% 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.
+% substitution can be set with the rmdefault_ or sfdefault_ options.
%
-% .. _table 2:
+% .. _table 3:
%
% .. table:: Non-CM fonts with ``cmm`` as OML substitution
% :class: booktab
@@ -296,7 +374,7 @@
% -----------------------
%
% 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.
+% 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.
%
@@ -304,12 +382,14 @@
% glyphs for the Greek letters already exist. Examples are Latin Modern,
% Kerkis, GFS-Neohellenic, LX-Fonts and KP-Serif.
%
-% Alternatively, T7 could be used for math alphabets (if it ever happens to
-% materialise).
+% 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
-% Myons, Pions, alpha-particles, photons, and neutrinos without special
-% packages. (With mathdesign_, this is already possible today.)
+% the constant pi, Myons, Pions, alpha-particles, photons, and neutrinos
+% without special packages. (With mathdesign_, this is already possible
+% today.)
+%
%
% Implementation
% **************
@@ -320,19 +400,25 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{isomath}
-[2008/10/02 v0.2 typeset math according to International Standard ISO 31]
+[2009/06/19 v0.3 typeset math according to International Standard ISO 31]
+% History
+% -------
+%
% .. class:: borderless
-%
-% ===== ========== ========================================================
+%
+% === ============ ========================================================
% 0.1 2008-09-25 first public version.
% 0.2 2008-10-02 bugfix: a usage example was uncommented;
-% updated documentation;
-% define \mathsans only if OMLmathsans is true;
-% option reuseMathalphabets -> reuseMathAlphabets.
-% ===== ========== ========================================================
+% \ updated documentation;
+% \ define \mathsans only if OMLmathsans is true;
+% \ option reuseMathalphabets -> reuseMathAlphabets.
+% 0.3 2009-06-19 documentation update;
+% \ fix OMLmathrm and OMLmathsans definitions;
+% \ switch license to LPPL
+% === ============ ========================================================
+%
%
-%
% Requirements
% ============
%
@@ -341,29 +427,30 @@
%
% The package fixmath_ by Walter Schmidt defines Greek letters as symbols
% of type ``\mathalpha`` and takes them from the "letters" SymbolFont in
-% ``\mathnormal`` (as opposed to "operators" in ``fontmath.ltx``).
+% ``\mathnormal`` (as opposed to "operators" in ``fontmath.ltx``).
%
% fixmath_ also defines the ``\mathbold`` alphabet, setting it to ``cmm``.
% However, this definition will be overwritten with a configurable value for
-% the font family below.)
-%
+% the font family below.)
% ::
\RequirePackage{fixmath}
-% .. caution::
+% .. caution::
+%
+% After loading fixmath, placing Greek letters in a math alphabet, e.g.
+% ``\mathrm{k\Omega}``, can lead to garbage, as the standard math alphabets
+% are usually taken from OT1 encoded fonts that have ligatures and
+% non-alpha symbols in place of the small Greek letters.
%
-% Placing small Greek letters in a math alphabet, e.g.
-% ``\mathrm{k\Omega}``, can lead to garbage.
-%
% If the chosen font supports the `OML font encoding`_, you can use the
% options for `OML math alphabets`_. Otherwise, place Greek letters
-% outside the math alphabet command.
-%
+% outside the math alphabet command.
+%
% Some packages provide ``\up*`` or ``\var*`` macros for upright Greek
% letters, e.g. ``\mathrm{k}\upOmega``.
%
-%
+%
% kvoptions.sty
% -------------
%
@@ -379,8 +466,9 @@
% ---------
%
% Alternative family for roman math fonts. 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.
+% corresponding text font family (``\rmdefault``) in OML encoding.
+% `Table 3`_ lists some fonts where a different setting is advised.
+%
% ::
\DeclareStringOption[\rmdefault]{rmdefault}
@@ -389,9 +477,9 @@
% ---------
%
% Alternative family for sans-serif math fonts. The default is to use the
-% corresponding text font family (``\sfdefault``) in OMS encoding.
-%
-% Computer Modern Sans Serif (cmss) has no OMS encoded variant. Nor have many
+% corresponding text font family (``\sfdefault``) in OML encoding.
+%
+% Computer Modern Sans Serif (cmss) has no OML encoded variant. Nor have many
% derivatives (lmss, aess, ...). Actually, there are only a few OML-encoded
% sans-serif fonts (all slanted/italic):
%
@@ -412,7 +500,7 @@
% TODO
% Allow scaling?
%
-%
+%
% reuseMathAlphabets
% ------------------
%
@@ -424,17 +512,17 @@
%
% 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).
+% might use a different font).
%
% ::
\DeclareBoolOption{reuseMathAlphabets}
-% .. caution::
+% .. caution::
% Do not use ``reuseMathAlphabets`` together with the ``OMLmathbf`` or
-% ``OMLmathsf`` options.
+% ``OMLmathsf`` options.
+%
%
-%
% OML math alphabets
% ------------------
%
@@ -453,22 +541,24 @@
\DeclareBoolOption{OMLmathtt}
% Setting these options enables access to small Greek letters in different
-% shapes with e.g. ``\mathrm{\pi}`` — *if an OML encoded font is available*.
+% shapes with e.g. ``\mathrm{\pi}`` — *if an OML encoded font is available*.
% Currently, support for the `OML font encoding`_ is rather limited:
%
-% * only the mathdesign_ fonts support *bold roman* in OML encoding, while
+% * only the mathdesign_ fonts support 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.
-%
-% ---------------------------------------------------
+%
+% Process Options
+% ---------------
%
% Process the options with ``kvoptions`` extensions::
\ProcessKeyvalOptions*
+
% Declarations
% ============
%
@@ -476,10 +566,10 @@
% --------------
%
% In math, LaTeX uses "absolute" fontnames instead of a selection by family,
-% shape, and weight because typefaces have a semantic meaning [fntguide]_.
-% This correlates with the `Unicode math support`_ where the
-% `mathematical alphanumeric symbols`_ block defines distinct Unicode
-% characters for in Greek and Latin letters in different typefaces.
+% shape, and weight because typefaces have a semantic meaning [fntguide]_.
+% This correlates with the `Unicode math support`_ where the
+% `mathematical alphanumeric symbols`_ block defines distinct Unicode
+% characters for Greek and Latin letters in different typefaces.
%
% Isomath defines a math alphabet for every required font variant and
% optionally re-defines the standard math alphabets in `OML font encoding`_.
@@ -489,8 +579,8 @@
% mathbold
% """"""""
%
-% The *italic bold* math alphabet is named ``\mathbold`` like in
-% `related packages`_. With the reuseMathAlphabets_ option, ``\mathfb``
+% The *italic bold* math alphabet is named ``\mathbold`` like in
+% `related packages`_. With the reuseMathAlphabets_ option, ``\mathfb``
% is redefined and ``\mathbold`` made an alias (overwriting existing
% definitions)::
@@ -505,14 +595,14 @@
% """"""""
%
% For *italic sans-serif*, we define a new alphabet named ``\mathsans`` (in
-% analogy to ``\mathbold``). As this typeface is not required by ISO 31, it is
-% only defined if the ``OMLmathsans`` option is set::
+% analogy to ``\mathbold``). As this typeface is not required by ISO 31, it
+% is only defined if the ``OMLmathsans`` option is set::
\ifisomath@OMLmathsans
\DeclareMathAlphabet{\mathsans}{OML}{\isomath@sfdefault}{m}{it}
\fi
-% mathboldsans
+% mathboldsans
% """"""""""""
%
% A *sans serif slanted bold* alphabet is needed for tensor symbols. With the
@@ -524,7 +614,7 @@
\def\mathboldsans{\mathsf}
\else
\DeclareMathAlphabet{\mathboldsans}{OML}{\isomath@sfdefault}{bx}{it}
-\fi
+\fi
% Redefine standard alphabets
% """""""""""""""""""""""""""
@@ -533,16 +623,16 @@
% if the corresponding `OML math alphabets`_ option is true::
\ifisomath@OMLmathrm
- \SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{n}{n}
+ \SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{m}{n}
\fi
\ifisomath@OMLmathbf
\SetMathAlphabet{\mathbf}{normal}{OML}{\isomath@rmdefault}{b}{n}
\fi
\ifisomath@OMLmathsf
- \SetMathAlphabet{\mathsf}{normal}{OML}{\isomath@sfdefault}{n}{n}
+ \SetMathAlphabet{\mathsf}{normal}{OML}{\isomath@sfdefault}{m}{n}
\fi
\ifisomath@OMLmathtt
- \SetMathAlphabet{\mathtt}{normal}{OML}{\ttdefault}{n}{n}
+ \SetMathAlphabet{\mathtt}{normal}{OML}{\ttdefault}{m}{n}
\fi
% Command aliases
@@ -562,6 +652,12 @@
% you might want to re-define the standard ``\vec`` command after loading this
% package (cf. the Examples_ section).
%
+% Attention: Some fonts (CM, Latin Modern, ...) have old-style figures in
+% their math italic version. The Null vector must not be written ``\vec{0}``
+% in this case. Use e.g. ``\mathbf{0}``, ``\boldsymbol{0}`` (with AMS math) or
+% ``\bm{0}`` (with boldmath). The latter two variants provide also a failsafe
+% alias for a bold vector.
+%
% \\matrixsym
% """""""""""
%
@@ -594,15 +690,14 @@
\DeclareFontShape{OML}{ppl}{m}{it}{<-> ssub * zplm/m/it}{}
\DeclareFontShape{OML}{ppl}{bx}{it}{<-> ssub * zplm/b/it}{}
-% Arev (arev): fav -> zavm ::
+% Arev (see omlzavm.fd): fav -> zavm ::
-\DeclareFontFamily{OML}{fav}{}
+\DeclareFontFamily{OML}{fav}{\skewchar \font =127}
\DeclareFontShape{OML}{fav}{m}{it}{<->ssub * zavm/m/it}{}
\DeclareFontShape{OML}{fav}{bx}{it}{<->ssub * zavm/b/it}{}
-% LX Fonts (lxfonts): llcmss -> llcmm ::
-
-% repeat font declarations from lxfonts.sty
+% LX Fonts (see lxfonts.sty): llcmss -> llcmm ::
+
\DeclareFontFamily{OML}{llcmm}{\skewchar\font'177}
\DeclareFontShape{OML}{llcmm}{m}{it}{<-> lcmmi8}{}
\DeclareFontShape{OML}{llcmm}{bx}{it}{<-> lcmmib8}{}
@@ -620,15 +715,19 @@
% References
% **********
%
-% .. [ISO-31] International Standard 31 `Quantities and units`,
+% .. [ISO-31] International Standard 31 `Quantities and units`,
% (ISO 31-0:1992 to ISO 31-14:1992):
% http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202
%
% .. [typefaces] `Typefaces for Symbols in Scientific Manuscripts`:
% http://physics.nist.gov/Document/typefaces.pdf
%
-% .. [fonts-for-symbols] `On the use of italic and roman fonts for symbols in
-% scientific text`, (Revised December 1999):
+% .. [checklist] `SI Unit rules and style conventions`
+% Check List for Reviewing Manuscripts:
+% http://physics.nist.gov/cuu/Units/checklist.html
+%
+% .. [fonts-for-symbols] `On the use of italic and roman fonts for symbols
+% in scientific text`, (Revised December 1999):
% http://old.iupac.org/standing/idcns/fonts_for_symbols.html
%
% .. [SI-brochure] `The International System of Units (SI)`:
@@ -653,6 +752,7 @@
% .. Links
% .. *****
%
+% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
% .. _BIPM: http://www.bipm.org/
% .. _IUPAC: http://iupac.org/
% .. _IUPAP: http://www.iupap.org/