summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt
blob: eb407f37486f06f1e1e20c192fcd7ccc6ae9655a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
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 
            by the International Standard ISO 31. For this, a *bold italic*
            and a *sans-serif bold italic* math alphabet are defined.

.. contents:: 

Introduction
************
            
Motivation
==========

.. Did you ever manage to write the stress tensor ``$\sigma$`` in a
   *sans-serif bold italic* typeface, as recommended by [typefaces]_?

Scientific organisations like IUPAP_, IUPAC_, NIST_, BIPM_, and others
recommend typesetting math according to International Standard `ISO 31`_
`Quantities and units` (ISO 31-0:1992 to ISO 31-14:1992).\ [#]_

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.

Also, the Unicode Standard defines the block `mathematical alphanumeric
symbols`_ — *To be used for mathematical variables where style variations
are important semantically* — which contains Latin and Greek letters in
bold, italic, bold italic, sans-serif bold, and sans-serif bold italic
typeface.\ [#]_

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

.. [#] A summary of these rules is free available [typefaces]_. See also
       [fonts-for-symbols]_ and [SI-brochure]_.

.. [#] Plus Number variants and Latin letters in script, bold script,
   fraktur, bold fraktur, double-struck, sans-serif and monospace;
   alltogether 1023 codepoints.


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.

  Caution: small Greek letters in a math alphabet command can lead to garbage. 
    Use the options for `OML math alphabets`_ (if the used font supports the
    `OML font encoding`_) or place Greek letters outside the math alphabet
    command. Some packages (including fixmath_) provide ``\up*`` or
    ``\var*`` macros for upright Greek letters, e.g. ``\mathrm{k}\upOmega``.

* The `command aliases`_ ``\vectorsym``, ``\matrixsym``, and ``\tensorsym``
  allow semantic markup selecting an ISO-conforming typeface.
    
* For this, new `math alphabets`_ are defined:

  :``\mathbold``: *boldface italic* (vector and matrix symbols),
  :``\mathsans``: *sans-serif italic* (optional),
  :``\mathboldsans``: *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.

* Missing `font mappings`_ are defined for font families which have an OML
  encoded counterpart but miss the substitution definition in their ``*.fd``
  files.

   
Examples   
========


* In many cases (e.g. 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 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 provides an OML encoded *bold roman* font but does
  not set it up for ``\mathbf``::

  \usepackage[charter]{mathdesign}
  \usepackage[OMLmathbf,sfdefault=cmbr]{isomath}
  
  Now, ``\mathbf{\pi}`` works as expected.

Related packages
================

Some packages already define Greek letters as ``\mathalpha`` and provide the
``\mathbold`` alphabet (in OML):

* arev_     (Arev/Vera Sans)
* cmbright_ (CM Bright)
* eulervm_   (Euler Math)
* fixmath_  (Computer Modern)
* hvmath_   (HV-Math/Helvetica)
* mathpazo_ (Palatino)
* tmmath_   (TM-Math/Times)

This package builds on and extends fixmath_ by Walter Schmidt
(see Requirements_).

The cmbright_ package  provides fonts for ``\mathsans`` and
``\mathboldsans`` matching with Computer Modern and derivatives.

Conflicts
---------

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).

The `kpfonts`_, `pxfonts`_, and `txfonts`_ packages define many additional
math alphabets and can only be combined with ``isomath``, if the
reuseMathalphabets_ option is used.

OML font 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.

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.

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:

.. table:: Fonts supporting the OML font encoding
   :class: booktab

   ============= =========================== ======= ======== ====== =======
   Name          Family                      {m}{it} {bx}{it} {m}{n} {bx}{n}
   ============= =========================== ======= ======== ====== =======
   aer           AE (Almost European)           x      x
   antt          Antykwa Torunska               x      x
   cmr           Computer Modern Roman          x      x
   ccr           Concrete                       x      x
   cmbr          Computer Modern Bright         x      x
   hlh           Lucida                         x      x
   hfor          CM with old-style digits       x      x
   iwona         Iwona (sans serif)             x      x
   jkp           Kepler Serif                   x      x
   jkpl          Kepler Serif                   x      x
   jkpvos        Kepler Serif                   x      x
   jkplvos       Kepler Serif                   x      x
   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
   neohellenic   GFS Neohellenic                x
   plcm          CM (PLaTeX)                    x
   ptmom         Times (Omega or MB-Times)      x      x
   ptmomu        Times (Omega or MB-Times)      x      x
   ptmcm         Times (psfont)                 x
   pxr           Palatino (pxfonts)             x      x
   qpl           Palatino/Pagella (qpxmath)     x      x
   qtm           Times/Termes (qtxmath)         x      x
   txr           Times (txfonts)                x      x
   ywclm         (greektex)                     x      x
   zavm          Arev (Vera Sans-Serif)         x      x
   zesfcm        (efont)                        x
   zplm          Palatino (mathpazo)            x      x
   zpple                                        x      x
   ztmcm         Times (mathptmx)               x
   zer           Computer Modern (zefonts)      x      x
   ============= =========================== ======= ======== ====== =======

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:

.. table:: Non-CM fonts with ``cmm`` as OML substitution
   :class: booktab

   ============= ===============================
   Family        Name
   ============= ===============================
   bch           Charter (psnfss)
   pag           Avant Garde (psnfss)
   pbk           Bookman (psnfss)
   pcr           Courier (psnfss)
   phv           Helvetica (psnfss)
   pnc           New Century Schoolbook (psnfss)
   ppl           Palatino (psnfss)
   ptm           Times Roman (psnfss)
   put           Utopia (psnfss)
   pzc           Zapf Chancery (psnfss)
   uag           Avant Garde (avantgar)
   ubk           Bookman (bookman)
   ucr           Courier (courier)
   ucrs          Courier
   unc           New Courier (nctrsbk)
   uni           Universal (universa)
   uhv           Helvetica (helvetic)
   upl           Palatino (palatino)
   utm           Times (times)
   uzc           Zapf 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}
  
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 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.
::

  \DeclareStringOption[\rmdefault]{rmdefault}
  
sfdefault
---------

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
derivatives (lmss, aess, ...). Actually, there are only a few OML-encoded
sans-serif fonts (all slanted/italic):

:zavm:  arev_ (Vera Sans with math extension, large x-hight)
:cmbr:  cmbright_ (Computer Modern Bright, slightly lighter than cmss)
:iwona: iwona_ (Humanistic Sans Serif, some shapes very similar to roman)
:hvm:   hvmath_ (Helvetica Math, commercial, free bitmap version)
:llcmm: lxfonts_ (LX Fonts, very wide, excentric, large x-hight, new in 2008)

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

::

  \DeclareStringOption[\sfdefault]{sfdefault}
  
  
TODO
  Allow scaling?

  
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 bold.

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

::

  \DeclareBoolOption{reuseMathalphabets}
  
Caution: Do not use ``reuseMathalphabets`` together with ``OMLmathbf`` or
``OMLmathsf``.  

  
OML math alphabets
------------------

The following options cause isomath to (re)define `math alphabets`_ in OML
encoding.

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

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, 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{OMLmathsans}
  \DeclareBoolOption{OMLmathtt}
  
---------------------------------------------------

Process the options with ``kvoptions`` extensions::

  \ProcessKeyvalOptions*
  
Declarations
============

Math alphabets
--------------

In math, LaTeX uses "absolute" fontnames instead of a selection by family,
shape, and weight (see the [fntguide]_ for the rationale). 

We define a math alphabet for every required font variant and optionally
re-define the standard math alphabets in `OML font encoding`_.
Unfortunately, the number of math alphabets in one math version is limited
to 16, so we have to be carefull not to exceed this.

mathbold
""""""""

For the *`italic bold* math alphabet we use the name ``\mathbold``
established in `related packages`_. With the reuseMathalphabets_ option,
``\mathfb`` is redefined and ``\mathbold`` made an alias (overwriting
existing definitions). ::

  \ifisomath@reuseMathalphabets
    \DeclareMathAlphabet{\mathbf}{OML}{\isomath@rmdefault}{bx}{it}
    \def\mathbold{\mathbf}
  \else
    \DeclareMathAlphabet{\mathbold}{OML}{\isomath@rmdefault}{bx}{it}
  \fi
  
mathsans
""""""""

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::

  \ifisomath@OMLmathsans
    \DeclareMathAlphabet{\mathsans}{OML}{\isomath@sfdefault}{m}{it}
  \fi
  
mathboldsans  
""""""""""""

A *sans serif slanted bold* alphabet is needed for tensor symbols.  With the
reuseMathalphabets_ option, ``\mathsf`` is redefined and ``\mathboldsans``
made an alias::

  \ifisomath@reuseMathalphabets
    \DeclareMathAlphabet{\mathsf}{OML}{\isomath@sfdefault}{bx}{it}
    \def\mathboldsans{\mathsf}
  \else
    \DeclareMathAlphabet{\mathboldsans}{OML}{\isomath@sfdefault}{bx}{it}
  \fi  
  
Redefine standard alphabets
"""""""""""""""""""""""""""

Redefine standard alphabets in `OML font encoding`_
(if the corresponding `OML math alphabets`_ option is true). ::

  \ifisomath@OMLmathrm
    \SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{n}{n}
  \fi
  \ifisomath@OMLmathbf
    \SetMathAlphabet{\mathbf}{normal}{OML}{\isomath@rmdefault}{b}{n}
  \fi
  \ifisomath@OMLmathsf
    \SetMathAlphabet{\mathsf}{normal}{OML}{\isomath@sfdefault}{n}{n}
  \fi
  \ifisomath@OMLmathtt
    \SetMathAlphabet{\mathtt}{normal}{OML}{\ttdefault}{n}{n}
  \fi
  
Command aliases
---------------

The following macros allow semantic markup of mathematical symbols.
The symbols argument is typeset as proposed by ISO 31 and [typefaces]_.

\\vectorsym
"""""""""""

Symbols for vectors are typeset *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).

\\matrixsym
"""""""""""

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

  \newcommand{\matrixsym}{\mathbold}
  
  
\\tensorsym
"""""""""""

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`` files:

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 ::
  
  % repeat font declarations from lxfonts.sty
  \DeclareFontFamily{OML}{llcmm}{\skewchar\font'177}
  \DeclareFontShape{OML}{llcmm}{m}{it}{<-> lcmmi8}{}
  \DeclareFontShape{OML}{llcmm}{bx}{it}{<-> lcmmib8}{}
  
  \DeclareFontFamily{OML}{llcmss}{}
  \DeclareFontShape{OML}{llcmss}{m}{it}{<-> ssub * llcmm/m/it}{}
  \DeclareFontShape{OML}{llcmss}{bx}{it}{<-> ssub * llcmm/bx/it}{}
  
  
No declarations below this point::

  \endinput
  
  
References
**********

.. [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):
   http://old.iupac.org/standing/idcns/fonts_for_symbols.html

.. [SI-brochure] `The International System of Units (SI)`:
   http://www.bipm.org/en/si/si_brochure/

.. [encguide] `LaTeX font encodings`:
   http://dante.ctan.org/CTAN/macros/latex/doc/encguide.pdf

.. [fntguide] `LaTeX 2e font selection`:
   http://dante.ctan.org/CTAN/macros/latex/doc/fntguide.pdf

.. see also
   [koma-mail] Custom font substitution: http://www.komascript.de/node/823

   [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]

.. Links
.. *****

.. _BIPM:  http://www.bipm.org/
.. _IUPAC: http://iupac.org/
.. _IUPAP: http://www.iupap.org/
.. _NIST:  http://physics.nist.gov/
.. _ISO 31:
    http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202
.. _mathematical alphanumeric symbols:
    http://www.unicode.org/charts/PDF/U1D400.pdf
.. _arev: http://dante.ctan.org/CTAN/help/Catalogue/entries/arev.html
.. _cmbright: http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html
.. _eulervm: http://dante.ctan.org/CTAN/help/Catalogue/entries/eulervm.html
.. _fixmath: http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html
.. _fix-cm: http://dante.ctan.org/CTAN/help/Catalogue/entries/fix-cm.html
.. _fourier: http://dante.ctan.org/CTAN/help/Catalogue/entries/fourier.html
.. _hvmath: http://dante.ctan.org/CTAN/help/Catalogue/entries/hvmath.html
.. _ifthen: http://dante.ctan.org/CTAN/help/Catalogue/entries/ifthen.html
.. _iwona: http://dante.ctan.org/CTAN/help/Catalogue/entries/iwona.html
.. _kpfonts: http://dante.ctan.org/CTAN/help/Catalogue/entries/kpfonts.html
.. _kvoptions: http://dante.ctan.org/CTAN/help/Catalogue/entries/kvoptions.html
.. _keyval: http://dante.ctan.org/CTAN/help/Catalogue/entries/keyval.html
.. _lxfonts: http://dante.ctan.org/CTAN/help/Catalogue/entries/lxfonts.html
.. _mathdesign: http://dante.ctan.org/CTAN/help/Catalogue/entries/mathdesign.html
.. _mathpazo: http://dante.ctan.org/CTAN/help/Catalogue/entries/mathpazo.html
.. _oberdiek: http://dante.ctan.org/CTAN/help/Catalogue/entries/oberdiek.html
.. _sfmath: http://dtrx.de/od/tex/sfmath.html
.. _pxfonts: http://dante.ctan.org/CTAN/help/Catalogue/entries/pxfonts.html
.. _tmmath: http://dante.ctan.org/CTAN/help/Catalogue/entries/tmmath.html
.. _txfonts: http://dante.ctan.org/CTAN/help/Catalogue/entries/txfonts.html