diff options
author | Karl Berry <karl@freefriends.org> | 2010-09-18 00:10:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-09-18 00:10:58 +0000 |
commit | 3e043cb9a8d83174690ec924925f69217e3f1fcb (patch) | |
tree | 062b6cd49afe87309be093ad755e258b853bd2e5 /Master/texmf-dist | |
parent | 079fd1cddf588d6f323494351c5f11cccb6f2381 (diff) |
isomath update (24aug10)
git-svn-id: svn://tug.org/texlive/trunk@19786 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/README.html | 569 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/README.txt | 97 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath-test.pdf | bin | 149348 -> 141853 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath-test.tex | 168 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath.pdf | bin | 0 -> 154436 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath.sty.html | 1632 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath.sty.pdf | bin | 118889 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath.sty.txt | 715 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath.txt | 701 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/isomath/isomath.sty | 713 |
10 files changed, 2161 insertions, 2434 deletions
diff --git a/Master/texmf-dist/doc/latex/isomath/README.html b/Master/texmf-dist/doc/latex/isomath/README.html index 80b4d954370..1fc2b4360b2 100644 --- a/Master/texmf-dist/doc/latex/isomath/README.html +++ b/Master/texmf-dist/doc/latex/isomath/README.html @@ -1,17 +1,17 @@ <?xml version="1.0" encoding="utf-8" ?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" /> -<title>isomath: Math for scientists</title> -<meta name="date" content="2009-06-19" /> -<meta name="copyright" content="© 2008, 2009 Günter Milde <milde@users.berlios.de>" /> +<meta name="generator" content="Docutils 0.8: http://docutils.sourceforge.net/" /> +<title>isomath README</title> +<meta name="date" content="2010-08-23" /> +<meta name="copyright" content="© 2008, 2010 Günter Milde <milde@users.berlios.de>" /> <style type="text/css"> /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 5951 2009-05-18 18:03:10Z milde $ +:Id: $Id: html4css1.css 6387 2010-08-13 12:23:41Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. @@ -49,6 +49,10 @@ blockquote.epigraph { dl.docutils dd { margin-bottom: 0.5em } +object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { + overflow: hidden; +} + /* Uncomment (and remove this text!) to get bold-faced definition list terms dl.docutils dt { font-weight: bold } @@ -159,16 +163,22 @@ h2.subtitle { hr.docutils { width: 75% } -img.align-left, .figure.align-left{ +img.align-left, .figure.align-left, object.align-left { clear: left ; float: left ; margin-right: 1em } -img.align-right, .figure.align-right { +img.align-right, .figure.align-right, object.align-right { clear: right ; float: right ; margin-left: 1em } +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + .align-left { text-align: left } @@ -304,144 +314,493 @@ ul.auto-toc { list-style-type: none } </style> +<style type="text/css"> + +/* html4css2.css: Cascading style sheet for Docutils' html4strict writer. */ +/* */ +/* :Author: Günter Milde */ +/* :Copyright: © 2009 Günter Milde. */ +/* Released without warranties or conditions of any kind */ +/* under the terms of the Apache License, Version 2.0 */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* */ +/* This stylesheet supplements the Docutils standard style 'html4css1.css'. */ +/* It uses CSS 2.1 elements (supported by up-to-date versions of popular */ +/* browsers). */ + +/* General rules */ +/* ============= */ + +body { + padding: 0 5%; + margin: 8px 0; + line-height:1.3; + /* http://ilovetypography.com/2008/02/28/a-guide-to-web-typography/ + recommends "line-spacing that’s at least 140% of your text size" */ +} + +/* avoid long lines --> better reading */ +/* OTOH: lines should not be too short because of missing hyphenation, */ +div.document { + max-width: 45em; + margin: 0 auto; +} + +/* separate items except for compact lists */ +dl > dd { + margin-bottom: 1em; +} +.compact li, .compact p, .compact ul, .compact ol +dl.simple > dd, .simple li, .simple p, .simple ul, .simple ol { + margin-top: 0; + margin-bottom: 0; +/* background: magenta; */ +} +dl.simple, dl.compact, dl.simple > dd, dl.compact > dd { + margin-top: 0; + margin-bottom: 0; +/* background: lightgreen; */ +} + +/* space around paragraphs */ +dl > dd p:first-child { + margin: 0; +} + +/* Sidebar */ +/* ------- */ + +div.sidebar { + margin-right: -5%; +} + +/* Special definition lists */ +/* ======================== */ + +/* start definition term on the same line as the label */ + +dl.field-list > dt, dl.option-list > dt, dl.docinfo > dt, +dl.footnote > dt, dl.citation > dt, dl.description > dt { + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.5em; +/* background: yellow; */ +} + +/* Definition list with the layout of a LaTeX `description` list */ +/* (bold label, continue on same line) */ +dl.description > dt { + font-weight: bold; +} + +/* Field Lists */ +/* ----------- */ + +/* field names: bold, followed by a colon */ +dl.field-list > dt, dl.docinfo > dt { + font-weight: bold; +} +dl.field-list > dt:after, dl.docinfo > dt:after { + content: ":"; +} + +/* Offset for field content (corresponds to the --field-name-limit option) */ +dl.field-list > dd { + margin-left: 8.5em; + padding-left: 0.5em; +/* background: yellow; */ +} + +/* start field-body on a new line after long field names */ +dl.field-list > dd p { + width: 100%; +/* display: inline-block; */ +/* background: yellow; */ +} + +dl.field-list > dd > p:first-child, +dl.field-list > dd > ol:first-child, +dl.field-list > dd > ul:first-child, +dl.field-list > dd > dl:first-child { + display: inline-block; +} + +/* field-list variants:: */ + +/* example for custom field-name width */ +dl.field-list.narrow > dd { + margin-left: 5em; +} + +/* start field-body on same line after long field names */ +dl.field-list.run-in > dd p { + display: block; +} + +/* wrap or truncate long field names */ +dl.field-list.fix-labelwidth > dt { + width: 8em; /* set to dl.field-list > dd margin-left - padding-left */ + overflow: hidden; +} +dl.field-list.fix-labelwidth > dd:after { + /* a "stopper" to prevent next dd floating up too far */ + content: ''; + display: block; + clear: left; +} + +/* docinfo */ + +dl.docinfo { + margin: 2em 2em; /* setting from html4css1.css */ + padding-left: 0; +} + +dl.docinfo > dd { + margin-left: 8em; +/* margin-bottom: 0.5em; */ +} + +/* option list */ + +dl.option-list { + margin-left: 1em; + padding-left: 0; +} + +dl.option-list > dd { + margin-left: 8em; + /* margin-bottom: 0.5em; */ +} + +/* start description on a new line after long options */ +dl.option-list > dd p { + width: 100%; + display: inline-block; +} + +/* footnotes */ + +a.footnote-reference, a.fn-backref { + text-decoration: inherit; /* do not underline footnote links */ +} + +dl.footnote { + /* line on the left */ + padding-left: 1ex; + border-left: solid; + border-left-width: thin; + /* border-color: black; */ +} + + +/* +Ordered List (Enumeration) +-------------------------- + +Use counters to replace the deprecated start attribute. Make sure the +resulting list resembles the list-style 'outside' with a hanging indent. +*/ + +/* New ordered list: reset counter, suppress the default label */ +ol { + counter-reset: item; + list-style-type: none ! important; +} + +/* Set the negative indent of the list label as feature of the list item */ +ol > li { + text-indent: -40px; /* Mozillas default indent */ + margin-bottom: 1em; +} + +/* Label */ +ol > li:before { + /* increment and typeset counter(s), */ + counter-increment: item; + content: counter(item) "."; + /* display next to the content (aligned top-right), */ + display: inline-block; + text-align: right; + vertical-align: top; + /* sum must match ol>li {text-indent:} (40px is Mozillas default) */ + width: 35px; + padding-right: 5px; +/* background: yellow; */ +} + +/* objects nested in an ol */ +ol > li > p, +ol > li > ol, +ol > li > ul, +ol > li > dl { + text-indent: 0; + margin-top: 0; + /* background: lightgreen; */ +} + +/* The list item's first line starts next to the label, without indent */ +ol > li > p:first-child, +ol > li > ol:first-child, +ol > li > ul:first-child, +ol > li > dl:first-child { + display: inline-block; + /* background: lightblue; */ +} + +/* default separator variants */ +ol.loweralpha > li:before { + content: counter(item, lower-alpha) ")"; +} +ol.upperalpha > li:before { + content: counter(item, upper-alpha) "."; +} +ol.lowerroman > li:before { + content: "(" counter(item, lower-roman) ")"; +} +ol.upperroman > li:before { + content: counter(item, upper-roman) ")"; +} +/* nested counters (1, 1.1, 1.1.1, etc) */ +/* nested enumerated lists "inherit" the class attribute, other lists not */ +ol.nested > li:before, ol.nested ol > li:before { + content: counters(item, ".") " "; +} + +/* TODO: prefix, suffix? */ + +/* smaller font for super- and subscripts */ +/* sub, sup {font-size: 70%;} */ /* Mozilla default is `smaller` */ + +/* unordered lists */ +/* --------------- */ + +/* drop bullets from Table of Contents */ +/* div.topic.contents ul { */ +/* list-style: none; */ +/* } */ + +/* Tables */ +/* ------ */ + +/* borders for "normal" tables */ +table.table { + border-style: outset; + border-width: thin; +} + +table.table td, table.table th { + border-style: inset; + border-width: thin; +} + +/* no borders for "borderless" tables */ +table.table.borderless, table.table.borderless * { + border-style: none; +} + +/* numbered tables and figures*/ +body { + counter-reset: table; +/* counter-reset: figure; */ +} + +table.numbered > caption:before { + counter-increment: table; + content: "Table " counter(table) ": "; + font-weight: bold; +} + +table > caption { + text-align: left; + padding: 2em 0 1em 0; +} + + + +/* whitespace and line-wrapping in inline literals + ----------------------------------------------- +*/ +/* possible values: normal, nowrap, pre, pre-wrap, pre-line */ +tt.docutils.literal { + white-space: pre-wrap; +} + +</style> +<style type="text/css"> + +/* +:Author: Guenter Milde +:Copyright: 2008 G. Milde + This stylesheet is released under the GPL v. 2 + +Stylesheet for the Math Fonts Overview "Matheschriften" +*/ + +/* deutsche Tabellenbeschriftung */ +/* table.numbered > caption:before { */ +/* content: "Tabelle " counter(table) ": "; */ +/* } */ + +/* booktabs Style */ +table.booktabs, table.booktabs td, table.booktabs th { + border: 0 } +table.booktabs { + border-top: 2px solid; + border-bottom: 2px solid; +} +table.booktabs th { + border-bottom: 1px solid; +} + +dl.docutils dt { + font-weight: bold; +} + +/* docinfo */ + +dl.docinfo > dt { + display: none; +} +dl.docinfo > dd { + margin-left: 0; + padding: 0 5%; +} +dl.docinfo > dt.author + dd { + font-size: larger; + text-align: center; + padding-bottom: 1em; +} + +dt.date { + display: none; +} +dt.date + dd { + font-weight: bold; + text-align: center; + padding-bottom: 1em; +} + +div.abstract { + padding: 0 5%; +} + +a.reference.internal { + text-decoration: none; + color: darkblue; +} + +/* +/- Listen mit field-list */ +dl.field-list > dt { + font-family: monospace; +} +dl.field-list > dt:after { + content: ""; /* drop trailing ':' */ +} +/* Offset for field content (corresponds to the --field-name-limit option) */ +dl.field-list > dd { + margin-left: 1em; + padding-left: 0.5em; +} + +</style> </head> <body> -<div class="document" id="isomath-math-for-scientists"> -<h1 class="title">isomath: Math for scientists</h1> -<table class="docinfo" frame="void" rules="none"> -<col class="docinfo-name" /> -<col class="docinfo-content" /> -<tbody valign="top"> -<tr><th class="docinfo-name">Date:</th> -<td>2009-06-19</td></tr> -<tr><th class="docinfo-name">Copyright:</th> -<td>© 2008, 2009 Günter Milde <<a class="reference external" href="mailto:milde@users.berlios.de">milde@users.berlios.de</a>></td></tr> -<tr class="field"><th class="docinfo-name">Licence:</th><td class="field-body">This work may be distributed and/or modified under the +<div class="document" id="isomath-readme"> +<h1 class="title">isomath README</h1> + +<dl class="docinfo simple"> +<dt class="date">Date</dt> +<dd>2010-08-23</dd> +<dt class="copyright">Copyright</dt> +<dd>© 2008, 2010 Günter Milde <<a class="reference external" href="mailto:milde@users.berlios.de">milde@users.berlios.de</a>></dd> +<dt>Licence</dt> +<dd>This work may be distributed and/or modified under the conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either -version 1.3 of this license or (at your option) any later version.</td> -</tr> -</tbody> -</table> +version 1.3 of this license or (at your option) any later version.</dd> +</dl> <div class="abstract topic"> <p class="topic-title first">Abstract</p> <p>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 <em>bold italic</em> and a <em>sans-serif bold italic</em> -math alphabet are defined.</p> +by the International Standard ISO 31.</p> </div> -<div class="section" id="history"> -<h1>History</h1> -<table border="1" class="borderless docutils"> +<div class="section" id="files"> +<h1>Files</h1> +<table class="booktabs numbered align-left"> <colgroup> -<col width="4%" /> -<col width="17%" /> -<col width="79%" /> +<col width="38%" /> +<col width="62%" /> </colgroup> <tbody valign="top"> -<tr><td>0.1</td> -<td>2008-09-25</td> -<td>first public version.</td> -</tr> -<tr><td>0.2</td> -<td>2008-10-02</td> -<td>bugfix: a usage example was uncommented;</td> -</tr> -<tr><td></td> -<td> </td> -<td>updated documentation;</td> +<tr><td>README.txt</td> +<td>Requirements, Installation, Usage</td> </tr> -<tr><td></td> -<td> </td> -<td>define mathsans only if OMLmathsans is true;</td> +<tr><td>README.html</td> +<td>browser friendly README</td> </tr> -<tr><td></td> -<td> </td> -<td>option reuseMathalphabets -> reuseMathAlphabets.</td> +<tr><td>isomath.sty</td> +<td>literate source (LaTeX package)</td> </tr> -<tr><td>0.3</td> -<td>2009-06-19</td> -<td>documentation update;</td> +<tr><td>isomath.sty.txt</td> +<td>literate source (text version)</td> </tr> -<tr><td></td> -<td> </td> -<td>fix OMLmathrm and OMLmathsans definitions;</td> +<tr><td>isomath.sty.html</td> +<td>literate source (HTML)</td> </tr> -<tr><td></td> -<td> </td> -<td>switch license to LPPL</td> +<tr><td>isomath-doc.txt</td> +<td>user documentation (source)</td> </tr> -</tbody> -</table> -</div> -<div class="section" id="files"> -<h1>Files</h1> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field"><th class="field-name">README.txt:</th><td class="field-body">Requirements, Installation, Usage</td> +<tr><td>isomath-doc.html</td> +<td>user documentation (HTML)</td> </tr> -<tr class="field"><th class="field-name">README.html:</th><td class="field-body">browser friendly README</td> +<tr><td>isomath-doc.pdf</td> +<td>user documentation (PDF)</td> </tr> -<tr class="field"><th class="field-name">isomath.sty:</th><td class="field-body">isomath LaTeX package</td> +<tr><td>isomath-test.tex</td> +<td>Test example (source)</td> </tr> -<tr class="field"><th class="field-name">isomath.sty.txt:</th><td class="field-body">Documentation (source)</td> -</tr> -<tr class="field"><th class="field-name">isomath.sty.html:</th><td class="field-body">Documentation (HTML)</td> -</tr> -<tr class="field"><th class="field-name">isomath.sty.pdf:</th><td class="field-body">Documentation (PDF)</td> -</tr> -<tr class="field"><th class="field-name">isomath-test.tex:</th><td class="field-body">Test example (source)</td> -</tr> -<tr class="field"><th class="field-name">isomath-test.pdf:</th><td class="field-body">Test example (PDF output)</td> +<tr><td>isomath-test.pdf</td> +<td>Test example (PDF output)</td> </tr> </tbody> </table> <p>The bidirectional text <-> code converter <a class="reference external" href="http://pylit.berlios.de">PyLit</a> can convert between -<tt class="docutils literal"><span class="pre">isomath.sty</span></tt> and <tt class="docutils literal"><span class="pre">isomath.sty.txt</span></tt>.</p> +<tt class="docutils literal">isomath.sty</tt> and <tt class="docutils literal">isomath.sty.txt</tt>.</p> <p>The Python <a class="reference external" href="http://docutils.sourceforge.net/rst.html">Docutils</a> and pdflatex were used to generate the HTML and PDF -documentation.</p> +documentation from the <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> sources.</p> </div> <div class="section" id="requirements"> <h1>Requirements</h1> <p>This package builds on and extends <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html">fixmath</a> by Walter Schmidt. -It also requires <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/kvoptions.html">kvoptions</a>.</p> +It requires <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/kvoptions.html">kvoptions</a>.</p> <p>The <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html">cmbright</a> package is recommended for <em>sans-serif italic</em> and <em>sans-serif bold italic</em> fonts matching with Computer Modern and derivatives.</p> <p>All required packages are part of TeXLive and MikTeX.</p> </div> <div class="section" id="installation"> <h1>Installation</h1> -<ul class="simple"> -<li>Unpack isomath.zip (preferabely in a <a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds">TDS</a> documentation folder).</li> -<li>Make sure LaTeX can find isomath.sty:<ul> -<li>Copy/Move/Link it to a suitable place in the <a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds">TDS</a> and run texhash,</li> -<li>or place it in the current working directory (e.g. for testing).</li> -</ul> +<ul> +<li><p class="first">Unpack isomath.zip (preferabely in a <a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds">TDS</a> documentation folder).</p> +</li> +<li><p class="first">Make sure LaTeX can find isomath.sty:</p> +<p>Copy/Move/Link it to a suitable place in the <a class="reference external" href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds">TDS</a> and run <tt class="docutils literal">texhash</tt> +or place it in the current working directory (e.g. for testing).</p> </li> </ul> </div> -<div class="section" id="usage-example"> -<h1>Usage Example</h1> -<p>Use cmbright for the sans-serif math alphabets and redefine the -<tt class="docutils literal"><span class="pre">\vec</span></tt> macro to typeset its argument in <em>bold italic</em>:</p> +<div class="section" id="usage"> +<h1>Usage</h1> <pre class="literal-block"> -\usepackage[sfdefault=cmbr]{isomath} -\renewcommand{\vec}{\vectorsym} +\usepackage{isomath} </pre> -<p>More examples and usage hints are in the documentation files.</p> -</div> -<div class="section" id="references"> -<h1>References</h1> -<table class="docutils citation" frame="void" id="typefaces" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label">[typefaces]</td><td><cite>Typefaces for Symbols in Scientific Manuscripts</cite>: -<a class="reference external" href="http://physics.nist.gov/Document/typefaces.pdf">http://physics.nist.gov/Document/typefaces.pdf</a></td></tr> -</tbody> -</table> +<p>Option description, more examples and usage hints are in the user +documentation.</p> +<!-- References +========== --> </div> </div> </body> diff --git a/Master/texmf-dist/doc/latex/isomath/README.txt b/Master/texmf-dist/doc/latex/isomath/README.txt index 98cc54641e7..fd1231b6d9d 100644 --- a/Master/texmf-dist/doc/latex/isomath/README.txt +++ b/Master/texmf-dist/doc/latex/isomath/README.txt @@ -1,62 +1,49 @@ -isomath: Math for scientists -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +isomath README +~~~~~~~~~~~~~~ -:Date: 2009-06-19 -:Copyright: © 2008, 2009 Günter Milde <milde@users.berlios.de> +:Date: 2010-08-23 +:Copyright: © 2008, 2010 Günter Milde <milde@users.berlios.de> :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. - -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. -0.3 2009-06-19 documentation update; -\ fix OMLmathrm and OMLmathsans definitions; -\ switch license to LPPL -=== ============ ======================================================== + 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. Files ===== -:README.txt: Requirements, Installation, Usage -:README.html: browser friendly README - -:isomath.sty: isomath LaTeX package -:isomath.sty.txt: Documentation (source) -:isomath.sty.html: Documentation (HTML) -:isomath.sty.pdf: Documentation (PDF) - -:isomath-test.tex: Test example (source) -:isomath-test.pdf: Test example (PDF output) +==================== ================================= +README.txt Requirements, Installation, Usage +README.html browser friendly README + +isomath.sty literate source (the actual LaTeX package) +isomath.sty.txt literate source (text version) +isomath.sty.html literate source (HTML) + +isomathtxt user documentation (source) +isomathhtml user documentation (HTML) +isomathpdf user documentation (PDF) + +isomath-test.tex Test example (source) +isomath-test.pdf Test example (PDF output) +==================== ================================= The bidirectional text <-> code converter PyLit_ can convert between -``isomath.sty`` and ``isomath.sty.txt``. +``isomath.sty`` and ``isomath.sty.txt``. The Python Docutils_ and pdflatex were used to generate the HTML and PDF -documentation. +documentation from the reStructuredText_ sources. Requirements ============ This package builds on and extends fixmath_ by Walter Schmidt. -It also requires kvoptions_. +It also requires kvoptions_. The cmbright_ package is recommended for *sans-serif italic* and *sans-serif bold italic* fonts matching with Computer Modern and derivatives. @@ -70,32 +57,26 @@ Installation * 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). - + 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 Example -============= -Use cmbright for the sans-serif math alphabets and redefine the -``\vec`` macro to typeset its argument in *bold italic*:: +Usage +===== - \usepackage[sfdefault=cmbr]{isomath} - \renewcommand{\vec}{\vectorsym} +:: -More examples and usage hints are in the documentation files. + \usepackage{isomath} +Option description, more examples and usage hints are in the user +documentation. -References -========== +.. References + ========== .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt - -.. [typefaces] `Typefaces for Symbols in Scientific Manuscripts`: - http://physics.nist.gov/Document/typefaces.pdf - .. _pylit: http://pylit.berlios.de -.. _reStructured Text: http://docutils.sourceforge.net/rst.html +.. _reStructuredText: http://docutils.sourceforge.net/rst.html .. _docutils: http://docutils.sourceforge.net/rst.html .. _cmbright: http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html diff --git a/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf b/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf Binary files differindex 2c07263df02..014321c05d9 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf +++ b/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf diff --git a/Master/texmf-dist/doc/latex/isomath/isomath-test.tex b/Master/texmf-dist/doc/latex/isomath/isomath-test.tex index 8f303197143..fd9c4267333 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath-test.tex +++ b/Master/texmf-dist/doc/latex/isomath/isomath-test.tex @@ -1,9 +1,9 @@ % isomath-test.tex: test and template for isomath.sty % =================================================== -% +% % Copyright © 2008 Günter Milde % Released under the terms of the GNU General Public License (v. 2 or later) -% +% % General settings % ---------------- % :: @@ -16,18 +16,29 @@ % Customisation -% ------------------- -% -% Font packages: Uncomment the package you want to test -% (cmss maps to roman for italic and bold-italic OML version) :: - -\newcommand*{\fontpackage}{} -\renewcommand*{\fontpackage}{% -% ae% \sfdefault is cmss (use cmbr) +% ------------- +% +% Font packages +% ~~~~~~~~~~~~~ +% +% (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% +% concmath% % cmbright% keeps \mathrm and \mathbf as CM (roman) % fourier% incompatible (uses private font encoding) % gfsneohellenic% (use option [default]) no bold @@ -35,48 +46,38 @@ % iwona% sets cmss as sans font (use iwona) % kpfonts% no sans serif italic, needs reuseMathAlphabets % kerkis% no bold math, no sans serif (use iwona or arev?) -% cmlgc% \sfdefault is cmss (use cmbr) -% lmodern% \sfdefault is cmss (use cmbr) -% lucidabr% commercial, subset (no math) free as bitmap +% lmodern% \sfdefault is cmss +% lucidabr% commercial, subset (no math) free as bitmap % lxfonts% normal and sans identic, -mathdesign% \sfdefault is cmss (use cmbr?) provides roman and roman bold in OML :-) -% mbtimes% \sfdefault is cmss (use cmbr?) -% mathpazo% \sfdefault is cmss (use cmbr?) +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 -% tgpagella,qpxmath% \sfdefault is cmss (use cmbr?) -% tgtermes,qtxmath% \sfdefault is cmss (use cmbr?) +% tgpagella,qpxmath% \sfdefault is cmss +% tgtermes,qtxmath% \sfdefault is cmss % txfonts% no sans-serif -% zefonts% use with sfdefault=cmbr +% zefonts% } -% Options -% ------- -% Uncomment the line(s) with the required options! +% Isomath options +% ~~~~~~~~~~~~~~~ +% +% Uncomment the option(s) you want to test :: -% Options for the font package call:: - -\newcommand*{\fontpackageoptions}{} -\renewcommand*{\fontpackageoptions}{% -% default% {gfsneohellenic} -% charter% {mathdesign} % -% garamond% {mathdesign} % no (free) bold, \sfdefault is cmss (use cmbr?) -utopia% {mathdesign} % \sfdefault is cmss (use cmbr?) -} - -% Isomath options:: - -\newcommand*{\isomathoptions}{} -\renewcommand*{\isomathoptions}{% -%reuseMathAlphabets,% +\newcommand*{\isomathoptions}{% +% reuseMathAlphabets,% OMLmathrm,% OMLmathbf,% -%OMLmathsf,% -%OMLmathtt,% -%OMLmathsans,% -sfdefault=cmbr% CM-Bright -%sfdefault=iwona% Iwona sans (some glyphs too close to roman) -%sfdefault=zavm% Arev sans (larger than normal) -%sfdefault=llcmm% LX sans (larger than normal) +% OMLmathsf,% +% OMLmathtt,% +% OMLmathsans,% +% 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=llcmss,% LX sans (glyphs too close to italic, scale down) +% scaled=0.875% scaling for Arev (small letters) } % Load customisable packages @@ -86,7 +87,11 @@ sfdefault=cmbr% CM-Bright \usepackage[\fontpackageoptions]{\fontpackage} \usepackage[\isomathoptions]{isomath} - + + +% Auxiliary definitions +% --------------------- +% % Re-define \vec to comply with ISO 31:: \renewcommand*{\vec}{\vectorsym} @@ -96,39 +101,44 @@ sfdefault=cmbr% CM-Bright {\textsf{mathsans not defined, use \texttt{OMLmathsans} option}} -% Now print a test sheet:: - + +% Test sheet +% ---------- +% :: + \begin{document} -\section{Test the isomath Package} +\section*{Test the isomath Package} + +% Print font package, isomath options, and resulting font families:: Fontpackage: [\fontpackageoptions]\{\fontpackage\}\\ Isomath called with options: [\isomathoptions]\\ -Default font families: +Default font families: +\makeatletter \begin{tabular}[t]{rlrl} - serif & \texttt{\rmdefault} & sans-serif & \texttt{\sfdefault} \\ - isomath-serif & \makeatletter \texttt{\isomath@rmdefault} \makeatother - & - isomath-sf &\makeatletter \texttt{\isomath@sfdefault} \makeatother - \\ + serif & \texttt{\rmdefault} & + sans-serif & \texttt{\sfdefault}\\ + isomath-serif & \texttt{\isomath@rmdefault} & + isomath-sf & \texttt{\isomath@sfdefault}\\ \end{tabular} +\makeatother +\subsection*{Math alphabets} -\subsection{Math alphabets} +If there are other symbols in place of Greek letters in a math +alphabet, it uses T1 or OT1 font encoding instead of OML. -If there are ligatures (ff, fi, ...) or other "strange" symbols instead of -small Greek letters in a math alphabet, it uses T1 or OT1 encoding instead -of OML. +% A teststring with Latin and Greek letters:: -% Define a teststring with Latin and Greek letters \newcommand{\teststring}{% % capital Latin letters A,B,C, % capital Greek letters \Gamma,\Delta,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega, % small Greek letters -\alpha,\beta,\nu,\omega, -% small Latin letters: +\alpha,\beta,\pi,\nu,\omega, +% small Latin letters: % compare \nu, \omega, v, and w v,w, % is there a true italic form of a and g? @@ -149,30 +159,40 @@ a,g, \mbox{mathsans} & & \mathsans{\teststring}\\ \mbox{mathboldsans} & & \mathboldsans{\teststring} \end{eqnarray*} +% +Do the math alphabets match? +$ +\mathnormal {a x \alpha \omega} +\mathbold {a x \alpha \omega} +\mathboldsans{a x \alpha \omega} +\quad +\mathboldsans{T C \Theta \Gamma} +\mathbold {T C \Theta \Gamma} +\mathnormal {T C \Theta \Gamma} +$ -\subsection{Vector symbols} +\subsection*{Vector symbols} -Symbols for vectors are boldface italic: -$\vec{\alpha}=\vec{e}_{1}\cdot\vec{a}$ +Symbols for vectors are boldface italic: +$\vec{\lambda}=\vec{e}_{1}\cdot\vec{a}$. -\subsection{Matrix symbols} +\subsection*{Matrix symbols} -Symbols for matrices are boldface italic, i. e. typeset in the same -face as vectors:% +Symbols for matrices are boldface italic, too:% \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}.$ +} +$\matrixsym{\Lambda}=\matrixsym{E}\cdot\matrixsym{A}.$ -\subsection{Tensor symbols} +\subsection*{Tensor symbols} -Symbols for tensors are sans-serif bold italic, +Symbols for tensors are sans-serif bold italic, -\[ +\[ \tensorsym{\alpha} = \tensorsym{e}\cdot\tensorsym{a} \quad \Longleftrightarrow \quad \alpha_{ijl} = e_{ijk}\cdot a_{kl}. @@ -182,5 +202,5 @@ Symbols for tensors are sans-serif bold italic, 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.pdf b/Master/texmf-dist/doc/latex/isomath/isomath.pdf Binary files differnew file mode 100644 index 00000000000..161ef30edb6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/isomath/isomath.pdf diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.sty.html b/Master/texmf-dist/doc/latex/isomath/isomath.sty.html index 30856ca6ec9..8a9e5af86af 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath.sty.html +++ b/Master/texmf-dist/doc/latex/isomath/isomath.sty.html @@ -1,16 +1,16 @@ <?xml version="1.0" encoding="utf-8" ?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" /> -<title>isomath: Math for scientists</title> -<meta name="copyright" content="© 2008, 2009 Günter Milde" /> +<meta name="generator" content="Docutils 0.8: http://docutils.sourceforge.net/" /> +<title>isomath.sty: Math for scientists</title> +<meta name="copyright" content="© 2008, 2010 Günter Milde" /> <style type="text/css"> /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 5951 2009-05-18 18:03:10Z milde $ +:Id: $Id: html4css1.css 6387 2010-08-13 12:23:41Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. @@ -48,6 +48,10 @@ blockquote.epigraph { dl.docutils dd { margin-bottom: 0.5em } +object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { + overflow: hidden; +} + /* Uncomment (and remove this text!) to get bold-faced definition list terms dl.docutils dt { font-weight: bold } @@ -158,16 +162,22 @@ h2.subtitle { hr.docutils { width: 75% } -img.align-left, .figure.align-left{ +img.align-left, .figure.align-left, object.align-left { clear: left ; float: left ; margin-right: 1em } -img.align-right, .figure.align-right { +img.align-right, .figure.align-right, object.align-right { clear: right ; float: right ; margin-left: 1em } +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + .align-left { text-align: left } @@ -303,823 +313,428 @@ ul.auto-toc { list-style-type: none } </style> +<style type="text/css"> + +/* html4css2.css: Cascading style sheet for Docutils' html4strict writer. */ +/* */ +/* :Author: Günter Milde */ +/* :Copyright: © 2009 Günter Milde. */ +/* Released without warranties or conditions of any kind */ +/* under the terms of the Apache License, Version 2.0 */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* */ +/* This stylesheet supplements the Docutils standard style 'html4css1.css'. */ +/* It uses CSS 2.1 elements (supported by up-to-date versions of popular */ +/* browsers). */ + +/* General rules */ +/* ============= */ + +body { + padding: 0 5%; + margin: 8px 0; + line-height:1.3; + /* http://ilovetypography.com/2008/02/28/a-guide-to-web-typography/ + recommends "line-spacing that’s at least 140% of your text size" */ +} + +/* avoid long lines --> better reading */ +/* OTOH: lines should not be too short because of missing hyphenation, */ +div.document { + max-width: 45em; + margin: 0 auto; +} + +/* separate items except for compact lists */ +dl > dd { + margin-bottom: 1em; +} +.compact li, .compact p, .compact ul, .compact ol +dl.simple > dd, .simple li, .simple p, .simple ul, .simple ol { + margin-top: 0; + margin-bottom: 0; +/* background: magenta; */ +} +dl.simple, dl.compact, dl.simple > dd, dl.compact > dd { + margin-top: 0; + margin-bottom: 0; +/* background: lightgreen; */ +} + +/* space around paragraphs */ +dl > dd p:first-child { + margin: 0; +} + +/* Sidebar */ +/* ------- */ + +div.sidebar { + margin-right: -5%; +} + +/* Special definition lists */ +/* ======================== */ + +/* start definition term on the same line as the label */ + +dl.field-list > dt, dl.option-list > dt, dl.docinfo > dt, +dl.footnote > dt, dl.citation > dt, dl.description > dt { + clear: left; + float: left; + margin: 0; + padding: 0; + padding-right: 0.5em; +/* background: yellow; */ +} + +/* Definition list with the layout of a LaTeX `description` list */ +/* (bold label, continue on same line) */ +dl.description > dt { + font-weight: bold; +} + +/* Field Lists */ +/* ----------- */ + +/* field names: bold, followed by a colon */ +dl.field-list > dt, dl.docinfo > dt { + font-weight: bold; +} +dl.field-list > dt:after, dl.docinfo > dt:after { + content: ":"; +} + +/* Offset for field content (corresponds to the --field-name-limit option) */ +dl.field-list > dd { + margin-left: 8.5em; + padding-left: 0.5em; +/* background: yellow; */ +} + +/* start field-body on a new line after long field names */ +dl.field-list > dd p { + width: 100%; +/* display: inline-block; */ +/* background: yellow; */ +} + +dl.field-list > dd > p:first-child, +dl.field-list > dd > ol:first-child, +dl.field-list > dd > ul:first-child, +dl.field-list > dd > dl:first-child { + display: inline-block; +} + +/* field-list variants:: */ + +/* example for custom field-name width */ +dl.field-list.narrow > dd { + margin-left: 5em; +} + +/* start field-body on same line after long field names */ +dl.field-list.run-in > dd p { + display: block; +} + +/* wrap or truncate long field names */ +dl.field-list.fix-labelwidth > dt { + width: 8em; /* set to dl.field-list > dd margin-left - padding-left */ + overflow: hidden; +} +dl.field-list.fix-labelwidth > dd:after { + /* a "stopper" to prevent next dd floating up too far */ + content: ''; + display: block; + clear: left; +} + +/* docinfo */ + +dl.docinfo { + margin: 2em 2em; /* setting from html4css1.css */ + padding-left: 0; +} + +dl.docinfo > dd { + margin-left: 8em; +/* margin-bottom: 0.5em; */ +} + +/* option list */ + +dl.option-list { + margin-left: 1em; + padding-left: 0; +} + +dl.option-list > dd { + margin-left: 8em; + /* margin-bottom: 0.5em; */ +} + +/* start description on a new line after long options */ +dl.option-list > dd p { + width: 100%; + display: inline-block; +} + +/* footnotes */ + +a.footnote-reference, a.fn-backref { + text-decoration: inherit; /* do not underline footnote links */ +} + +dl.footnote, dl.citation { + /* line on the left */ + padding-left: 1ex; + border-left: solid; + border-left-width: thin; + /* border-color: black; */ +} + + +/* +Ordered List (Enumeration) +-------------------------- + +Use counters to replace the deprecated start attribute. Make sure the +resulting list resembles the list-style 'outside' with a hanging indent. +*/ + +/* New ordered list: reset counter, suppress the default label */ +ol { + counter-reset: item; + list-style-type: none ! important; +} + +/* Set the negative indent of the list label as feature of the list item */ +ol > li { + text-indent: -40px; /* Mozillas default indent */ + margin-bottom: 1em; +} + +/* Label */ +ol > li:before { + /* increment and typeset counter(s), */ + counter-increment: item; + content: counter(item) "."; + /* display next to the content (aligned top-right), */ + display: inline-block; + text-align: right; + vertical-align: top; + /* sum must match ol>li {text-indent:} (40px is Mozillas default) */ + width: 35px; + padding-right: 5px; +/* background: yellow; */ +} + +/* objects nested in an ol */ +ol > li > p, +ol > li > ol, +ol > li > ul, +ol > li > dl { + text-indent: 0; + margin-top: 0; + /* background: lightgreen; */ +} + +/* The list item's first line starts next to the label, without indent */ +ol > li > p:first-child, +ol > li > ol:first-child, +ol > li > ul:first-child, +ol > li > dl:first-child { + display: inline-block; + /* background: lightblue; */ +} + +/* default separator variants */ +ol.loweralpha > li:before { + content: counter(item, lower-alpha) ")"; +} +ol.upperalpha > li:before { + content: counter(item, upper-alpha) "."; +} +ol.lowerroman > li:before { + content: "(" counter(item, lower-roman) ")"; +} +ol.upperroman > li:before { + content: counter(item, upper-roman) ")"; +} +/* nested counters (1, 1.1, 1.1.1, etc) */ +/* nested enumerated lists "inherit" the class attribute, other lists not */ +ol.nested > li:before, ol.nested ol > li:before { + content: counters(item, ".") " "; +} + +/* TODO: prefix, suffix? */ + +/* smaller font for super- and subscripts */ +/* sub, sup {font-size: 70%;} */ /* Mozilla default is `smaller` */ + +/* unordered lists */ +/* --------------- */ + +/* drop bullets from Table of Contents */ +/* div.topic.contents ul { */ +/* list-style: none; */ +/* } */ + +/* Tables */ +/* ------ */ + +/* borders for "normal" tables */ +table.table { + border-style: outset; + border-width: thin; +} + +table.table td, table.table th { + border-style: inset; + border-width: thin; +} + +/* no borders for "borderless" tables */ +table.table.borderless, table.table.borderless * { + border-style: none; +} + +/* numbered tables and figures*/ +body { + counter-reset: table; + counter-reset: figure; +} + +table.numbered > caption:before { + counter-increment: table; + content: "table " counter(table) ": "; + font-weight: bold; +} + +table > caption { + text-align: left; + padding: 2em 0 1em 0; +} + + + +/* whitespace and line-wrapping in inline literals + ----------------------------------------------- +*/ +/* possible values: normal, nowrap, pre, pre-wrap, pre-line */ +tt.docutils.literal { + white-space: pre-wrap; +} + +</style> +<style type="text/css"> + +/* +:Author: Guenter Milde +:Copyright: 2008 G. Milde + This stylesheet is released under the GPL v. 2 + +Stylesheet for the Math Fonts Overview "Matheschriften" +*/ + +/* deutsche Tabellenbeschriftung */ +/* table.numbered > caption:before { */ +/* content: "Tabelle " counter(table) ": "; */ +/* } */ + +/* booktabs Style */ +table.booktabs, table.booktabs td, table.booktabs th { + border: 0 } +table.booktabs { + border-top: 2px solid; + border-bottom: 2px solid; +} +table.booktabs th { + border-bottom: 1px solid; +} + +dl.docutils dt { + font-weight: bold; +} + +/* docinfo */ + +dl.docinfo > dt { + display: none; +} +dl.docinfo > dd { + margin-left: 0; + padding: 0 5%; +} +dl.docinfo > dt.author + dd { + font-size: larger; + text-align: center; + padding-bottom: 1em; +} + +dt.date { + display: none; +} +dt.date + dd { + font-weight: bold; + text-align: center; + padding-bottom: 1em; +} + +div.abstract { + padding: 0 5%; +} + +a.reference.internal { + text-decoration: none; + color: darkblue; +} + +/* +/- Listen mit field-list */ +dl.field-list > dt { + font-family: monospace; +} +dl.field-list > dt:after { + content: ""; /* drop trailing ':' */ +} +/* Offset for field content (corresponds to the --field-name-limit option) */ +dl.field-list > dd { + margin-left: 1em; + padding-left: 0.5em; +} + +</style> </head> <body> -<div class="document" id="isomath-math-for-scientists"> -<h1 class="title">isomath: Math for scientists</h1> -<table class="docinfo" frame="void" rules="none"> -<col class="docinfo-name" /> -<col class="docinfo-content" /> -<tbody valign="top"> -<tr><th class="docinfo-name">Copyright:</th> -<td>© 2008, 2009 Günter Milde</td></tr> -<tr class="field"><th class="docinfo-name">Licence:</th><td class="field-body">This work may be distributed and/or modified under the +<div class="document" id="isomath-sty-math-for-scientists"> +<h1 class="title">isomath.sty: Math for scientists</h1> + +<dl class="docinfo"> +<dt class="copyright">Copyright</dt> +<dd>© 2008, 2010 Günter Milde</dd> +<dt>Licence</dt> +<dd>This work may be distributed and/or modified under the conditions of the <a class="reference external" href="http://www.latex-project.org/lppl.txt">LaTeX Project Public License</a>, either -version 1.3 of this license or (at your option) any later version.</td> -</tr> -</tbody> -</table> +version 1.3 of this license or (at your option) any later version.</dd> +<dt>Identification</dt> +<dd><pre class="literal-block"> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{isomath} +[2010/08/23 v0.4 math according to ISO 31] +</pre> +</dd> +</dl> <div class="abstract topic"> <p class="topic-title first">Abstract</p> -<p>The isomath package enables formatting Greek and Latin +<p>The <cite>isomath</cite> 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 <em>bold italic</em> -and a <em>sans-serif bold italic</em> math alphabet are defined.</p> -</div> -<div class="contents topic" id="contents"> -<p class="topic-title first">Contents</p> -<ul class="simple"> -<li><a class="reference internal" href="#introduction" id="id17">Introduction</a><ul> -<li><a class="reference internal" href="#motivation" id="id18">Motivation</a></li> -<li><a class="reference internal" href="#features" id="id19">Features</a></li> -<li><a class="reference internal" href="#usage" id="id20">Usage</a><ul> -<li><a class="reference internal" href="#examples" id="id21">Examples</a></li> -</ul> -</li> -<li><a class="reference internal" href="#related-packages" id="id22">Related packages</a><ul> -<li><a class="reference internal" href="#conflicts" id="id23">Conflicts</a></li> -</ul> -</li> -<li><a class="reference internal" href="#greek-in-math" id="id24">Greek in Math</a><ul> -<li><a class="reference internal" href="#unicode-math-support" id="id25">Unicode Math Support</a></li> -<li><a class="reference internal" href="#oml-font-encoding" id="id26">OML font encoding</a><ul> -<li><a class="reference internal" href="#definition" id="id27">Definition</a></li> -<li><a class="reference internal" href="#support" id="id28">Support</a></li> -</ul> -</li> -<li><a class="reference internal" href="#conclusions-and-outlook" id="id29">Conclusions and outlook</a></li> -</ul> -</li> -</ul> -</li> -<li><a class="reference internal" href="#implementation" id="id30">Implementation</a><ul> -<li><a class="reference internal" href="#identification" id="id31">Identification</a><ul> -<li><a class="reference internal" href="#history" id="id32">History</a></li> -</ul> -</li> -<li><a class="reference internal" href="#requirements" id="id33">Requirements</a><ul> -<li><a class="reference internal" href="#fixmath-sty" id="id34">fixmath.sty</a></li> -<li><a class="reference internal" href="#kvoptions-sty" id="id35">kvoptions.sty</a></li> -</ul> -</li> -<li><a class="reference internal" href="#options" id="id36">Options</a><ul> -<li><a class="reference internal" href="#rmdefault" id="id37">rmdefault</a></li> -<li><a class="reference internal" href="#sfdefault" id="id38">sfdefault</a></li> -<li><a class="reference internal" href="#reusemathalphabets" id="id39">reuseMathAlphabets</a></li> -<li><a class="reference internal" href="#oml-math-alphabets" id="id40">OML math alphabets</a></li> -<li><a class="reference internal" href="#process-options" id="id41">Process Options</a></li> -</ul> -</li> -<li><a class="reference internal" href="#declarations" id="id42">Declarations</a><ul> -<li><a class="reference internal" href="#math-alphabets" id="id43">Math alphabets</a><ul> -<li><a class="reference internal" href="#mathbold" id="id44">mathbold</a></li> -<li><a class="reference internal" href="#mathsans" id="id45">mathsans</a></li> -<li><a class="reference internal" href="#mathboldsans" id="id46">mathboldsans</a></li> -<li><a class="reference internal" href="#redefine-standard-alphabets" id="id47">Redefine standard alphabets</a></li> -</ul> -</li> -<li><a class="reference internal" href="#command-aliases" id="id48">Command aliases</a><ul> -<li><a class="reference internal" href="#vectorsym" id="id49">\vectorsym</a></li> -<li><a class="reference internal" href="#matrixsym" id="id50">\matrixsym</a></li> -<li><a class="reference internal" href="#tensorsym" id="id51">\tensorsym</a></li> -</ul> -</li> -<li><a class="reference internal" href="#font-mappings" id="id52">Font mappings</a></li> -</ul> -</li> -</ul> -</li> -<li><a class="reference internal" href="#references" id="id53">References</a></li> -</ul> -</div> -<div class="section" id="introduction"> -<h1><a class="toc-backref" href="#id17">Introduction</a></h1> -<div class="section" id="motivation"> -<h2><a class="toc-backref" href="#id18">Motivation</a></h2> -<!-- Did you ever manage to write the stress tensor ``$\sigma$`` in a -*sans-serif bold italic* typeface, as recommended by [typefaces]_? --> -<p>Scientific organisations like <a class="reference external" href="http://www.iupap.org/">IUPAP</a>, <a class="reference external" href="http://iupac.org/">IUPAC</a>, <a class="reference external" href="http://physics.nist.gov/">NIST</a>, <a class="reference external" href="http://www.bipm.org/">BIPM</a>, and others -recommend typesetting math according to the International Standard ISO 31 -<cite>Quantities and units</cite> <a class="citation-reference" href="#iso-31" id="id1">[ISO-31]</a>.<a class="footnote-reference" href="#id3" id="id2"><sup>1</sup></a></p> -<p>The traditional <cite>LaTeX math style</cite> deviates in some points from this rules:</p> -<ul class="simple"> -<li>The <tt class="docutils literal"><span class="pre">\vec</span></tt> command produces an array accent, while ISO 31 recommends -a <em>bold italic</em> typeface for vector symbols.</li> -<li>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.</li> -<li>There is no provision for typesetting of Greek letters in <em>bold italic</em> -style recommended for vectors.</li> -<li>There is no provision for typesetting letters in <em>sans-serif bold italic</em> -recommended for typesetting tensor symbols.</li> -</ul> -<p>Some of these points are adressed by <a class="reference internal" href="#related-packages">related packages</a>, however -there is currently no package (known to the author) that defines the -<em>sans-serif bold italic</em> math alphabet needed for tensor symbols.</p> -<table class="docutils footnote" frame="void" id="id3" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label"><a class="fn-backref" href="#id2">[1]</a></td><td>Summaries of these rules are free available, see <a class="citation-reference" href="#typefaces" id="id4">[typefaces]</a>, -<a class="citation-reference" href="#checklist" id="id5">[checklist]</a>, <a class="citation-reference" href="#fonts-for-symbols" id="id6">[fonts-for-symbols]</a>, and <a class="citation-reference" href="#si-brochure" id="id7">[SI-brochure]</a>.</td></tr> -</tbody> -</table> -</div> -<div class="section" id="features"> -<h2><a class="toc-backref" href="#id19">Features</a></h2> -<p>The <tt class="docutils literal"><span class="pre">isomath.sty</span></tt> package facilitates the task to abide with ISO 31 when -typesetting math with LaTeX:</p> -<ul> -<li><p class="first">Equal treatment of Latin and <a class="reference internal" href="#greek-in-math">Greek in math</a> via <a class="reference internal" href="#fixmath-sty">fixmath.sty</a>:</p> -<ul class="simple"> -<li>Greek letters change shape together with Latin letters if a different -math alphabet is used.</li> -<li>Uppercase Greek letters are typeset in italic style by default.</li> -<li>Upright Greek letters can be made available through the <tt class="docutils literal"><span class="pre">\mathrm</span></tt> -and <tt class="docutils literal"><span class="pre">\mathbf</span></tt> alphabets, if the corresponding fonts support the -<a class="reference internal" href="#oml-font-encoding">OML font encoding</a>.</li> -</ul> -</li> -<li><p class="first">The <a class="reference internal" href="#command-aliases">command aliases</a> <tt class="docutils literal"><span class="pre">\vectorsym</span></tt>, <tt class="docutils literal"><span class="pre">\matrixsym</span></tt>, and <tt class="docutils literal"><span class="pre">\tensorsym</span></tt> -allow semantic markup. They print the argument in an ISO-conforming -typeface.</p> -</li> -<li><p class="first">For this, new <a class="reference internal" href="#math-alphabets">math alphabets</a> are defined:</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field"><th class="field-name"><tt class="docutils literal"><span class="pre">\mathbold</span></tt>:</th><td class="field-body"><em>boldface italic</em> (vector and matrix symbols),</td> -</tr> -<tr class="field"><th class="field-name"><tt class="docutils literal"><span class="pre">\mathsans</span></tt>:</th><td class="field-body"><em>sans-serif italic</em> (optional),</td> -</tr> -<tr class="field"><th class="field-name"><tt class="docutils literal"><span class="pre">\mathboldsans</span></tt>:</th><td class="field-body"><em>sans-serif bold italic</em> (tensor symbols).</td> -</tr> -</tbody> -</table> -<p>The family for these fonts is by default taken from the document's -<tt class="docutils literal"><span class="pre">\rmdefault</span></tt> and <tt class="docutils literal"><span class="pre">\sfdefault</span></tt> values. The <tt class="docutils literal"><span class="pre">rmdefault=<family></span></tt> and -<tt class="docutils literal"><span class="pre">sfdefault=<family></span></tt> <a class="reference internal" href="#options">options</a> can be used to override the defaults.</p> -</li> -<li><p class="first">Missing <a class="reference internal" href="#font-mappings">font mappings</a> are defined for font families which have an OML -encoded counterpart but no substitution definition in their <tt class="docutils literal"><span class="pre">*.fd</span></tt> -files.</p> -</li> -</ul> -</div> -<div class="section" id="usage"> -<h2><a class="toc-backref" href="#id20">Usage</a></h2> -<p>Make sure that LaTeX can find <tt class="docutils literal"><span class="pre">isomath.sty</span></tt> and insert the command -<tt class="docutils literal"><span class="pre">\usepackage{isomath}</span></tt> in the document preamble.</p> -<p>For package options, see the <a class="reference internal" href="#options">Options</a> section below.</p> -<div class="section" id="examples"> -<h3><a class="toc-backref" href="#id21">Examples</a></h3> -<ul> -<li><p class="first">In many cases (e.g. when <tt class="docutils literal"><span class="pre">\sfdefault</span></tt> expands to "cmss"), the -<tt class="docutils literal"><span class="pre">\mathboldsans</span></tt> alphabet is neither bold nor sans, as "cmss" has no OML -encoded variants and maps to "cmmi".</p> -<p>Use <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html">cmbright</a> for sans-serif math alphabets:</p> -<pre class="literal-block"> -\usepackage[sfdefault=cmbr]{isomath} -</pre> -<p>Define also a slanted sans-serif math alphabet:</p> -<pre class="literal-block"> -\usepackage[sfdefault=cmbr,OMLmathsans]{isomath} -</pre> -</li> -<li><p class="first">Redefine the standard <tt class="docutils literal"><span class="pre">\vec</span></tt> macro to typeset its argument in <cite>bold -italic</cite>:</p> -<pre class="literal-block"> -\usepackage[sfdefault=cmbr]{isomath} -\renewcommand{\vec}{\vectorsym} -</pre> -</li> -<li><p class="first">The <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/mathdesign.html">mathdesign</a> package provides an OML encoded <em>bold roman</em> font but does -not set it up for <tt class="docutils literal"><span class="pre">\mathbf</span></tt>:</p> -<pre class="literal-block"> -\usepackage[charter]{mathdesign} -\usepackage[OMLmathbf,sfdefault=cmbr]{isomath} -</pre> -<p>Now, <tt class="docutils literal"><span class="pre">\mathbf{\pi}</span></tt> produces a bold upright pi symbol.</p> -</li> -</ul> -</div> +by the International Standard ISO 31.</p> </div> -<div class="section" id="related-packages"> -<h2><a class="toc-backref" href="#id22">Related packages</a></h2> -<p>A set of packages at CTAN also defines Greek letters as <tt class="docutils literal"><span class="pre">\mathalpha</span></tt> and -provide the <tt class="docutils literal"><span class="pre">\mathbold</span></tt> alphabet (in OML):</p> -<ul class="simple"> -<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/arev.html">arev</a> (Arev/Vera Sans)</li> -<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html">cmbright</a> (CM Bright)</li> -<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/eulervm.html">eulervm</a> (Euler Math)</li> -<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html">fixmath</a> (Computer Modern)</li> -<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/hvmath.html">hvmath</a> (HV-Math/Helvetica)</li> -<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/mathpazo.html">mathpazo</a> (Palatino)</li> -<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/tmmath.html">tmmath</a> (TM-Math/Times)</li> -</ul> -<p>This package requires and extends <a class="reference internal" href="#fixmath-sty">fixmath.sty</a>.</p> -<p>The <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html">cmbright</a> package provides <em>sans serif</em> and <em>sans-serif bold</em> fonts for -the <tt class="docutils literal"><span class="pre">\mathsans</span></tt> and <tt class="docutils literal"><span class="pre">\mathboldsans</span></tt> alphabets that match with Computer -Modern and derivatives.</p> -<div class="section" id="conflicts"> -<h3><a class="toc-backref" href="#id23">Conflicts</a></h3> -<p>The <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fourier.html">fourier</a> package for math typesetting with Utopia defines its own, -incompatible math font encodings. It cannot be used with <tt class="docutils literal"><span class="pre">isomath</span></tt> -but provides other means to typeset upright or italic Greek (see its -documentation).<a class="footnote-reference" href="#id9" id="id8"><sup>2</sup></a></p> -<p>The <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/kpfonts.html">kpfonts</a>, <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/pxfonts.html">pxfonts</a>, and <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/txfonts.html">txfonts</a> packages define many additional -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 <a class="reference internal" href="#reusemathalphabets">reuseMathAlphabets</a> option.</p> -<table class="docutils footnote" frame="void" id="id9" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label"><a class="fn-backref" href="#id8">[2]</a></td><td><p class="first">However, it is possible to use the symbols from <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fourier.html">fourier</a> together -with math alphabets from another package, e.g <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/mathdesign.html">mathdesign</a>:</p> -<pre class="last literal-block"> -\usepackage{fourier} -\usepackage[OMLmathbf,rmdefault=mdput,sfdefault=cmbr]{isomath} -</pre> -</td></tr> -</tbody> -</table> -</div> -</div> -<div class="section" id="greek-in-math"> -<h2><a class="toc-backref" href="#id24">Greek in Math</a></h2> -<p><a class="reference external" href="http://iupac.org/">IUPAC</a>'s <a class="citation-reference" href="#fonts-for-symbols" id="id10">[fonts-for-symbols]</a> guide says:</p> -<blockquote> -<ol class="arabic simple" start="2"> -<li>The overall rule is that symbols representing physical quantities (or -variables) are italic, but symbols representing units, or labels, are -roman. [...]</li> -<li>The above rule <strong>applies equally to letter symbols from both the Greek -and the Latin alphabet</strong>, although authors often appear to resist -putting Greek letters into italic.</li> -</ol> -</blockquote> -<p>[emphasis by the author]. In contrast, the standard LaTeX style treats Greek -symbols as invariant operators with lower case italic and upper case upright.</p> -<div class="section" id="unicode-math-support"> -<h3><a class="toc-backref" href="#id25">Unicode Math Support</a></h3> -<p>The technical report <cite>Unicode Support for Mathematics</cite> <a class="citation-reference" href="#tr25" id="id11">[tr25]</a> lists -"lphanumeric symbols encountered in mathematics"in table 2 <cite>Mathematical -Alphabets</cite>.</p> -<p>The Unicode block <a class="reference external" href="http://www.unicode.org/charts/PDF/U1D400.pdf">mathematical alphanumeric symbols</a> provides style -variants for Latin and Greek letters and digits. It is labelled "to be used -for mathematical variables where style variations are important -semantically".</p> -<table border="1" class="booktab docutils" id="table-1"> -<caption>Styles in the <a class="reference external" href="http://www.unicode.org/charts/PDF/U1D400.pdf">mathematical alphanumeric symbols</a> -Unicode block</caption> -<colgroup> -<col width="26%" /> -<col width="6%" /> -<col width="26%" /> -<col width="42%" /> -</colgroup> -<thead valign="bottom"> -<tr><th class="head">Style</th> -<th class="head">LGD<a class="footnote-reference" href="#id13" id="id12"><sup>3</sup></a></th> -<th class="head">LaTeX macro</th> -<th class="head">Package, Comment</th> -</tr> -</thead> -<tbody valign="top"> -<tr><td>bold</td> -<td>LGD</td> -<td><tt class="docutils literal"><span class="pre">\mathbf</span></tt></td> -<td>no Greek</td> -</tr> -<tr><td>italic</td> -<td>LG</td> -<td><tt class="docutils literal"><span class="pre">\mathit</span></tt></td> -<td>no Greek</td> -</tr> -<tr><td></td> -<td> </td> -<td><tt class="docutils literal"><span class="pre">\mathnormal</span></tt></td> -<td>small Greek but -old-style roman Digits</td> -</tr> -<tr><td>bold italic</td> -<td>LG</td> -<td><tt class="docutils literal"><span class="pre">\mathbold</span></tt></td> -<td>fixmath and friends</td> -</tr> -<tr><td></td> -<td> </td> -<td><tt class="docutils literal"><span class="pre">\boldsymbol</span></tt></td> -<td>ams</td> -</tr> -<tr><td>script</td> -<td>L</td> -<td><tt class="docutils literal"><span class="pre">\mathcal</span></tt> or</td> -<td>only capital Latin</td> -</tr> -<tr><td>(calligraphic)</td> -<td> </td> -<td><tt class="docutils literal"><span class="pre">\mathscr</span></tt></td> -<td> </td> -</tr> -<tr><td>bold script</td> -<td>L</td> -<td> </td> -<td> </td> -</tr> -<tr><td>fraktur</td> -<td>L</td> -<td><tt class="docutils literal"><span class="pre">\mathfrak</span></tt></td> -<td>eufrak</td> -</tr> -<tr><td>double-struck</td> -<td>L D</td> -<td><tt class="docutils literal"><span class="pre">\mathbb</span></tt></td> -<td>bbold, mathbbol, -mbboard</td> -</tr> -<tr><td></td> -<td> </td> -<td><tt class="docutils literal"><span class="pre">\mathbbm</span></tt></td> -<td>bbm</td> -</tr> -<tr><td></td> -<td> </td> -<td><tt class="docutils literal"><span class="pre">\mathds</span></tt></td> -<td>dsfont</td> -</tr> -<tr><td>bold fraktur</td> -<td>L</td> -<td> </td> -<td> </td> -</tr> -<tr><td>sans-serif</td> -<td>L D</td> -<td><tt class="docutils literal"><span class="pre">\mathsf</span></tt></td> -<td>no Greek</td> -</tr> -<tr><td>sans-serif bold</td> -<td>LGD</td> -<td> </td> -<td> </td> -</tr> -<tr><td>sans-serif italic</td> -<td>L</td> -<td><tt class="docutils literal"><span class="pre">\mathsans</span></tt></td> -<td>isomath</td> -</tr> -<tr><td>sans bold italic</td> -<td>LG</td> -<td><tt class="docutils literal"><span class="pre">\mathboldsans</span></tt></td> -<td>isomath</td> -</tr> -<tr><td>monospace</td> -<td>L D</td> -<td><tt class="docutils literal"><span class="pre">\mathtt</span></tt></td> -<td>no Greek</td> -</tr> -<tr><td colspan="4"><em>Not in the mathematical alphanumeric symbols block</em>:</td> -</tr> -<tr><td>plain</td> -<td>LGD</td> -<td><tt class="docutils literal"><span class="pre">\mathrm</span></tt></td> -<td>no Greek</td> -</tr> -<tr><td></td> -<td> </td> -<td><tt class="docutils literal"><span class="pre">\mathnormal</span></tt></td> -<td>capital Greek</td> -</tr> -</tbody> -</table> -<table class="docutils footnote" frame="void" id="id13" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label"><a class="fn-backref" href="#id12">[3]</a></td><td>LGD: <strong>L</strong>atin, <strong>G</strong>reek, <strong>D</strong>igits</td></tr> -</tbody> -</table> -</div> -<div class="section" id="oml-font-encoding"> -<h3><a class="toc-backref" href="#id26">OML font encoding</a></h3> -<p><em>OML</em> is the only established font encoding providing Latin and Greek -letters in one font. (The text font encoding <em>LGR</em> is Greek-only while <em>T7</em> -is just a "reserved name" for a standard Greek encoding.)</p> -<div class="section" id="definition"> -<h4><a class="toc-backref" href="#id27">Definition</a></h4> -<p>The <cite>LaTeX font encodings</cite> guide <a class="citation-reference" href="#encguide" id="id14">[encguide]</a> names OML <cite>TeX math italic</cite> and -defines:</p> -<blockquote> -The OML encoding contains italic Latin and Greek letters for use in -mathematical formulas (typically used for variables) together with some -symbols.</blockquote> -<p>However, the reference to <strong>italic</strong> letters seems to be a description of -the <em>state of the art</em> rather than a necessary restriction:</p> -<ul> -<li><p class="first">There is only one OML encoded font in the Computer Modern fonts: -<cite>Computer Modern Math Italic</cite> (cmmi).</p> -</li> -<li><p class="first">Generally, font encodings (T1, OT1) are not specific to the font shape.</p> -</li> -<li><p class="first">Both, <tt class="docutils literal"><span class="pre">\DeclareSymbolFont</span></tt> and <tt class="docutils literal"><span class="pre">\DeclareMathAlphabet</span></tt> 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 conflicts.</p> -</li> -<li><p class="first">The name <cite>TeX math italic</cite> can be interpreted as "encoding <em>of</em> <cite>Computer -Modern Math Italic</cite>" rather than "encoding <em>for</em> math italic" fonts.</p> -<p>A less confusing name would be <cite>TeX math letters</cite> or <cite>Original/Old -Math Letters</cite>. The latter would also explain the acronym OML.</p> -</li> -</ul> -<p>A more inclusive definition would be:</p> -<blockquote> -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 <cite>Computer Modern Math Italic</cite> (cmmi) font.</blockquote> -</div> -<div class="section" id="support"> -<h4><a class="toc-backref" href="#id28">Support</a></h4> -<p>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 <tt class="docutils literal"><span class="pre">oml*.fd</span></tt> files and by -grepping for "DeclareFont.*OML", "SymbolFont.*OML" and "MathAlphabet.*OML" -in <tt class="docutils literal"><span class="pre">*.sty</span></tt> files.</p> -<table border="1" class="booktab docutils" id="table-2"> -<caption>Fonts supporting the OML font encoding</caption> -<colgroup> -<col width="19%" /> -<col width="40%" /> -<col width="10%" /> -<col width="12%" /> -<col width="9%" /> -<col width="10%" /> -</colgroup> -<thead valign="bottom"> -<tr><th class="head">Name</th> -<th class="head">Family</th> -<th class="head">{m}{it}</th> -<th class="head">{bx}{it}</th> -<th class="head">{m}{n}</th> -<th class="head">{bx}{n}</th> -</tr> -</thead> -<tbody valign="top"> -<tr><td>aer</td> -<td>AE (Almost European)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>antt</td> -<td>Antykwa Torunska</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>cmr</td> -<td>Computer Modern Roman</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>ccr</td> -<td>Concrete</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>cmbr</td> -<td>Computer Modern Bright</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>hlh</td> -<td>Lucida</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>hfor</td> -<td>CM with old-style digits</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>iwona</td> -<td>Iwona (sans serif)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>jkp</td> -<td>Kepler Serif</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>jkpl</td> -<td>Kepler Serif</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>jkpvos</td> -<td>Kepler Serif</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>jkplvos</td> -<td>Kepler Serif</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>llcmm</td> -<td>LXfonts (sans serif)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>lmr</td> -<td>Latin Modern Roman</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>mak</td> -<td>Kerkis</td> -<td>x</td> -<td> </td> -<td> </td> -<td> </td> -</tr> -<tr><td>mdbch</td> -<td>Math Design Charter</td> -<td>x</td> -<td>x</td> -<td>x</td> -<td>x</td> -</tr> -<tr><td>mdput</td> -<td>Math Design Utopia</td> -<td>x</td> -<td>x</td> -<td>x</td> -<td>x</td> -</tr> -<tr><td>mdugm</td> -<td>Math Design Garamond</td> -<td>x</td> -<td>x</td> -<td>x</td> -<td>x</td> -</tr> -<tr><td>neohellenic</td> -<td>GFS Neohellenic</td> -<td>x</td> -<td> </td> -<td> </td> -<td> </td> -</tr> -<tr><td>plcm</td> -<td>CM (PLaTeX)</td> -<td>x</td> -<td> </td> -<td> </td> -<td> </td> -</tr> -<tr><td>ptmom</td> -<td>Times (Omega or MB-Times)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>ptmomu</td> -<td>Times (Omega or MB-Times)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>ptmcm</td> -<td>Times (psfont)</td> -<td>x</td> -<td> </td> -<td> </td> -<td> </td> -</tr> -<tr><td>pxr</td> -<td>Palatino (pxfonts)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>qpl</td> -<td>Palatino/Pagella (qpxmath)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>qtm</td> -<td>Times/Termes (qtxmath)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>txr</td> -<td>Times (txfonts)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>ywclm</td> -<td>(greektex)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>zavm</td> -<td>Arev (Vera Sans-Serif)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>zesfcm</td> -<td>(efont)</td> -<td>x</td> -<td> </td> -<td> </td> -<td> </td> -</tr> -<tr><td>zplm</td> -<td>Palatino (mathpazo)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>zpple</td> -<td> </td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -<tr><td>ztmcm</td> -<td>Times (mathptmx)</td> -<td>x</td> -<td> </td> -<td> </td> -<td> </td> -</tr> -<tr><td>zer</td> -<td>Computer Modern (zefonts)</td> -<td>x</td> -<td>x</td> -<td> </td> -<td> </td> -</tr> -</tbody> -</table> -<p>Explanations:</p> -<ul class="simple"> -<li>If there is an alias (substitution) from the text font to a math-variant, -only the text font is listed.</li> -<li>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.</li> -</ul> -<p>The following fonts define <tt class="docutils literal"><span class="pre">cmm</span></tt> as OML substitution. A better matching -substitution can be set with the <a class="reference internal" href="#rmdefault">rmdefault</a> or <a class="reference internal" href="#sfdefault">sfdefault</a> options.</p> -<table border="1" class="booktab docutils" id="table-3"> -<caption>Non-CM fonts with <tt class="docutils literal"><span class="pre">cmm</span></tt> as OML substitution</caption> -<colgroup> -<col width="30%" /> -<col width="70%" /> -</colgroup> -<thead valign="bottom"> -<tr><th class="head">Family</th> -<th class="head">Name</th> -</tr> -</thead> -<tbody valign="top"> -<tr><td>bch</td> -<td>Charter (psnfss)</td> -</tr> -<tr><td>pag</td> -<td>Avant Garde (psnfss)</td> -</tr> -<tr><td>pbk</td> -<td>Bookman (psnfss)</td> -</tr> -<tr><td>pcr</td> -<td>Courier (psnfss)</td> -</tr> -<tr><td>phv</td> -<td>Helvetica (psnfss)</td> -</tr> -<tr><td>pnc</td> -<td>New Century Schoolbook (psnfss)</td> -</tr> -<tr><td>ppl</td> -<td>Palatino (psnfss)</td> -</tr> -<tr><td>ptm</td> -<td>Times Roman (psnfss)</td> -</tr> -<tr><td>put</td> -<td>Utopia (psnfss)</td> -</tr> -<tr><td>pzc</td> -<td>Zapf Chancery (psnfss)</td> -</tr> -<tr><td>uag</td> -<td>Avant Garde (avantgar)</td> -</tr> -<tr><td>ubk</td> -<td>Bookman (bookman)</td> -</tr> -<tr><td>ucr</td> -<td>Courier (courier)</td> -</tr> -<tr><td>ucrs</td> -<td>Courier</td> -</tr> -<tr><td>unc</td> -<td>New Courier (nctrsbk)</td> -</tr> -<tr><td>uni</td> -<td>Universal (universa)</td> -</tr> -<tr><td>uhv</td> -<td>Helvetica (helvetic)</td> -</tr> -<tr><td>upl</td> -<td>Palatino (palatino)</td> -</tr> -<tr><td>utm</td> -<td>Times (times)</td> -</tr> -<tr><td>uzc</td> -<td>Zapf Chancery (zapfchan)</td> -</tr> -</tbody> -</table> -</div> -</div> -<div class="section" id="conclusions-and-outlook"> -<h3><a class="toc-backref" href="#id29">Conclusions and outlook</a></h3> -<p>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 a LaTeX equivalent of the <a class="reference external" href="http://www.unicode.org/charts/PDF/U1D400.pdf">Mathematical -Alphanumeric Symbols</a> Unicode block.</p> -<p>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.</p> -<p>Alternatively, the T7 encoding could be used for math alphabets (if it ever -happens to materialise).</p> -<p>Upright small Greek letters in <tt class="docutils literal"><span class="pre">\mathrm</span></tt> would enable the specification of -the constant pi, Myons, Pions, alpha-particles, photons, and neutrinos -without special packages. (With <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/mathdesign.html">mathdesign</a>, this is already possible -today.)</p> -</div> -</div> -</div> -<div class="section" id="implementation"> -<h1><a class="toc-backref" href="#id30">Implementation</a></h1> -<div class="section" id="identification"> -<h2><a class="toc-backref" href="#id31">Identification</a></h2> -<pre class="literal-block"> -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{isomath} -[2009/06/19 v0.3 typeset math according to International Standard ISO 31] -</pre> <div class="section" id="history"> -<h3><a class="toc-backref" href="#id32">History</a></h3> -<table border="1" class="borderless docutils"> +<h1><a class="toc-backref" href="#id1">History</a></h1> +<table class="borderless borderless numbered align-left"> <colgroup> <col width="4%" /> <col width="17%" /> @@ -1156,40 +771,79 @@ today.)</p> </tr> <tr><td></td> <td> </td> -<td>switch license to LPPL</td> +<td>switch license to LPP.</td> +</tr> +<tr><td>0.4</td> +<td>2010-08-23</td> +<td>split user documentation from literate source;</td> +</tr> +<tr><td></td> +<td> </td> +<td>option <tt class="docutils literal">scaled</tt>;</td> +</tr> +<tr><td></td> +<td> </td> +<td>documentation update.</td> </tr> </tbody> </table> +<div class="contents topic" id="contents"> +<p class="topic-title first">Contents</p> +<ul class="simple"> +<li><a class="reference internal" href="#history" id="id1">History</a></li> +<li><a class="reference internal" href="#requirements" id="id2">Requirements</a><ul> +<li><a class="reference internal" href="#fixmath-sty" id="id3">fixmath.sty</a></li> +<li><a class="reference internal" href="#kvoptions-sty" id="id4">kvoptions.sty</a></li> +</ul> +</li> +<li><a class="reference internal" href="#options" id="id5">Options</a><ul> +<li><a class="reference internal" href="#rmdefault" id="id6">rmdefault</a></li> +<li><a class="reference internal" href="#sfdefault" id="id7">sfdefault</a></li> +<li><a class="reference internal" href="#scaled" id="id8">scaled</a></li> +<li><a class="reference internal" href="#reusemathalphabets" id="id9">reuseMathAlphabets</a></li> +<li><a class="reference internal" href="#omlmath" id="id10">OMLmath*</a></li> +<li><a class="reference internal" href="#process-options" id="id11">Process Options</a></li> +</ul> +</li> +<li><a class="reference internal" href="#declarations" id="id12">Declarations</a><ul> +<li><a class="reference internal" href="#math-alphabets" id="id13">Math alphabets</a><ul> +<li><a class="reference internal" href="#mathbold" id="id14">mathbold</a></li> +<li><a class="reference internal" href="#mathsans" id="id15">mathsans</a></li> +<li><a class="reference internal" href="#mathboldsans" id="id16">mathboldsans</a></li> +<li><a class="reference internal" href="#redefine-standard-alphabets" id="id17">Redefine standard alphabets</a></li> +</ul> +</li> +<li><a class="reference internal" href="#command-aliases" id="id18">Command aliases</a><ul> +<li><a class="reference internal" href="#vectorsym" id="id19">\vectorsym</a></li> +<li><a class="reference internal" href="#matrixsym" id="id20">\matrixsym</a></li> +<li><a class="reference internal" href="#tensorsym" id="id21">\tensorsym</a></li> +</ul> +</li> +<li><a class="reference internal" href="#font-mappings" id="id22">Font mappings</a><ul> +<li><a class="reference internal" href="#scaling" id="id23">Scaling</a></li> +</ul> +</li> +</ul> +</li> +</ul> </div> </div> <div class="section" id="requirements"> -<h2><a class="toc-backref" href="#id33">Requirements</a></h2> +<h1><a class="toc-backref" href="#id2">Requirements</a></h1> <div class="section" id="fixmath-sty"> -<h3><a class="toc-backref" href="#id34">fixmath.sty</a></h3> +<h2><a class="toc-backref" href="#id3">fixmath.sty</a></h2> <p>The package <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html">fixmath</a> by Walter Schmidt defines Greek letters as symbols -of type <tt class="docutils literal"><span class="pre">\mathalpha</span></tt> and takes them from the "letters" SymbolFont in -<tt class="docutils literal"><span class="pre">\mathnormal</span></tt> (as opposed to "operators" in <tt class="docutils literal"><span class="pre">fontmath.ltx</span></tt>).</p> -<p><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html">fixmath</a> also defines the <tt class="docutils literal"><span class="pre">\mathbold</span></tt> alphabet, setting it to <tt class="docutils literal"><span class="pre">cmm</span></tt>. -However, this definition will be overwritten with a configurable value for -the font family below.)</p> +of type <tt class="docutils literal">\mathalpha</tt> and takes them from the <tt class="docutils literal">letters</tt> SymbolFont in +<tt class="docutils literal">\mathnormal</tt> (as opposed to <tt class="docutils literal">operators</tt> in <tt class="docutils literal">fontmath.ltx</tt>).</p> +<p><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html">fixmath</a> also defines the <tt class="docutils literal">\mathbold</tt> alphabet, setting it to <tt class="docutils literal">cmm</tt>. +This definition will be overwritten with a configurable value for +the font family below.</p> <pre class="literal-block"> \RequirePackage{fixmath} </pre> -<div class="caution"> -<p class="first admonition-title">Caution!</p> -<p>After loading fixmath, placing Greek letters in a math alphabet, e.g. -<tt class="docutils literal"><span class="pre">\mathrm{k\Omega}</span></tt>, 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.</p> -<p>If the chosen font supports the <a class="reference internal" href="#oml-font-encoding">OML font encoding</a>, you can use the -options for <a class="reference internal" href="#oml-math-alphabets">OML math alphabets</a>. Otherwise, place Greek letters -outside the math alphabet command.</p> -<p class="last">Some packages provide <tt class="docutils literal"><span class="pre">\up*</span></tt> or <tt class="docutils literal"><span class="pre">\var*</span></tt> macros for upright Greek -letters, e.g. <tt class="docutils literal"><span class="pre">\mathrm{k}\upOmega</span></tt>.</p> -</div> </div> <div class="section" id="kvoptions-sty"> -<h3><a class="toc-backref" href="#id35">kvoptions.sty</a></h3> +<h2><a class="toc-backref" href="#id4">kvoptions.sty</a></h2> <p>The <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/kvoptions.html">kvoptions</a> package in the <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/oberdiek.html">oberdiek</a> bundle facilitates the setup of package options and provides a key=value interface (based on <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/keyval.html">keyval</a>):</p> <pre class="literal-block"> @@ -1198,75 +852,49 @@ package options and provides a key=value interface (based on <a class="reference </div> </div> <div class="section" id="options"> -<h2><a class="toc-backref" href="#id36">Options</a></h2> +<h1><a class="toc-backref" href="#id5">Options</a></h1> <div class="section" id="rmdefault"> -<h3><a class="toc-backref" href="#id37">rmdefault</a></h3> -<p>Alternative family for roman math fonts. The default is to use the -corresponding text font family (<tt class="docutils literal"><span class="pre">\rmdefault</span></tt>) in OML encoding. -<a class="reference internal" href="#table-3">Table 3</a> lists some fonts where a different setting is advised.</p> +<h2><a class="toc-backref" href="#id6">rmdefault</a></h2> +<p>Family for roman math fonts. Must be available in OML +encoding. The default is to use the corresponding text font family +(<tt class="docutils literal">\rmdefault</tt>).</p> <pre class="literal-block"> \DeclareStringOption[\rmdefault]{rmdefault} </pre> </div> <div class="section" id="sfdefault"> -<h3><a class="toc-backref" href="#id38">sfdefault</a></h3> -<p>Alternative family for sans-serif math fonts. The default is to use the -corresponding text font family (<tt class="docutils literal"><span class="pre">\sfdefault</span></tt>) in OML encoding.</p> -<p>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):</p> -<table class="docutils field-list" frame="void" rules="none"> -<col class="field-name" /> -<col class="field-body" /> -<tbody valign="top"> -<tr class="field"><th class="field-name">zavm:</th><td class="field-body"><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/arev.html">arev</a> (Vera Sans with math extension, large x-hight)</td> -</tr> -<tr class="field"><th class="field-name">cmbr:</th><td class="field-body"><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html">cmbright</a> (Computer Modern Bright, slightly lighter than cmss)</td> -</tr> -<tr class="field"><th class="field-name">iwona:</th><td class="field-body"><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/iwona.html">iwona</a> (Humanistic Sans Serif, some shapes very similar to roman)</td> -</tr> -<tr class="field"><th class="field-name">hvm:</th><td class="field-body"><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/hvmath.html">hvmath</a> (Helvetica Math, commercial, free bitmap version)</td> -</tr> -<tr class="field"><th class="field-name">llcmm:</th><td class="field-body"><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/lxfonts.html">lxfonts</a> (LX Fonts, very wide, excentric, large x-hight, new in 2008)</td> -</tr> -</tbody> -</table> -<p>For most fonts (especially CM and related), <tt class="docutils literal"><span class="pre">[sfdefault=cmbr]</span></tt> is the -recommended setting.</p> +<h2><a class="toc-backref" href="#id7">sfdefault</a></h2> +<p>Family for sans-serif math fonts. The default selects <cite>CM Bright</cite>, as +most sans serif fonts are not available in OML encoding:</p> <pre class="literal-block"> -\DeclareStringOption[\sfdefault]{sfdefault} +\DeclareStringOption[cmbr]{sfdefault} +</pre> +</div> +<div class="section" id="scaled"> +<h2><a class="toc-backref" href="#id8">scaled</a></h2> +<p>The sans-serif fonts, <tt class="docutils literal">fav</tt> (Arev), <tt class="docutils literal">llcmss</tt> (LX Fonts), and +<tt class="docutils literal">iwona</tt> can be scaled with the <tt class="docutils literal">scaled</tt> option.</p> +<pre class="literal-block"> +\DeclareStringOption[1.0]{scaled} +% Use a key definition like in inconsolata.sty (cf. also helvet.sty)? +% \define@key{isomath}{scaled}[1.0]{\def\isomath@scaled{s*[#1]}} </pre> -<dl class="docutils"> -<dt>TODO</dt> -<dd>Allow scaling?</dd> -</dl> </div> <div class="section" id="reusemathalphabets"> -<h3><a class="toc-backref" href="#id39">reuseMathAlphabets</a></h3> -<p>The definition of new <a class="reference internal" href="#math-alphabets">math alphabets</a> can lead to a "too many math -alphabets used in version normal" error.</p> -<p>As a workaround, this option tells <tt class="docutils literal"><span class="pre">isomath</span></tt> to re-use the existing -<tt class="docutils literal"><span class="pre">\mathbf</span></tt> and <tt class="docutils literal"><span class="pre">\mathsf</span></tt> alphabets for italic bold and sans-serif bold.</p> -<p>To access the upright shapes, the corresponding <tt class="docutils literal"><span class="pre">\textbf</span></tt> and <tt class="docutils literal"><span class="pre">\textsf</span></tt> -commands might be used (however, this toggles the math-mode off and -might use a different font).</p> +<h2><a class="toc-backref" href="#id9">reuseMathAlphabets</a></h2> +<p>The definition of new <a class="reference internal" href="#math-alphabets">math alphabets</a> can lead to a “too many math +alphabets used in version normal” error.</p> +<p>As a workaround, this option tells <cite>isomath</cite> to re-use the existing +<tt class="docutils literal">\mathbf</tt> and <tt class="docutils literal">\mathsf</tt> alphabets for <em>italic</em> bold and sans-serif +bold.</p> <pre class="literal-block"> \DeclareBoolOption{reuseMathAlphabets} </pre> -<div class="caution"> -<p class="first admonition-title">Caution!</p> -<p class="last">Do not use <tt class="docutils literal"><span class="pre">reuseMathAlphabets</span></tt> together with the <tt class="docutils literal"><span class="pre">OMLmathbf</span></tt> or -<tt class="docutils literal"><span class="pre">OMLmathsf</span></tt> options.</p> -</div> </div> -<div class="section" id="oml-math-alphabets"> -<h3><a class="toc-backref" href="#id40">OML math alphabets</a></h3> -<p>With Greek letters defined as <tt class="docutils literal"><span class="pre">\mathalpha</span></tt>, the math alphabets are -expected to be in <a class="reference internal" href="#oml-font-encoding">OML font encoding</a>. Unfortunately, the standard math -alphabets are usually taken from OT1 encoded fonts that have ligatures and -non-alpha symbols in place of the small Greek letters.</p> -<p>The following options cause isomath to (re)define <a class="reference internal" href="#math-alphabets">math alphabets</a> in OML -encoding:</p> +<div class="section" id="omlmath"> +<h2><a class="toc-backref" href="#id10">OMLmath*</a></h2> +<p>The following options cause <cite>isomath</cite> to (re)define the corresponding +<a class="reference internal" href="#math-alphabets">math alphabets</a> in OML encoding:</p> <pre class="literal-block"> \DeclareBoolOption{OMLmathrm} \DeclareBoolOption{OMLmathbf} @@ -1274,44 +902,48 @@ encoding:</p> \DeclareBoolOption{OMLmathsans} \DeclareBoolOption{OMLmathtt} </pre> -<p>Setting these options enables access to small Greek letters in different -shapes with e.g. <tt class="docutils literal"><span class="pre">\mathrm{\pi}</span></tt> — <em>if an OML encoded font is available</em>. -Currently, support for the <a class="reference internal" href="#oml-font-encoding">OML font encoding</a> is rather limited:</p> -<ul class="simple"> -<li>only the <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/mathdesign.html">mathdesign</a> fonts support roman in OML encoding, while</li> -<li>many font packages define an italic font as OML replacement for a roman -font.</li> -</ul> -<p>With some packages, these options can result in a "too many math alphabets -used in version normal" error.</p> +<p>Setting these options enables access to small Greek letters in +different shapes with e.g. <tt class="docutils literal">\mathrm{\pi}</tt> <strong>if an OML encoded font +is available</strong>. Currently, only the <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/mathdesign.html">mathdesign</a> fonts support roman in +OML encoding.</p> +<p>With some packages, these options can result in a “too many math alphabets +used in version normal” error.</p> </div> <div class="section" id="process-options"> -<h3><a class="toc-backref" href="#id41">Process Options</a></h3> -<p>Process the options with <tt class="docutils literal"><span class="pre">kvoptions</span></tt> extensions:</p> +<h2><a class="toc-backref" href="#id11">Process Options</a></h2> +<p>Process the options with <tt class="docutils literal">kvoptions</tt> extensions:</p> <pre class="literal-block"> \ProcessKeyvalOptions* </pre> </div> </div> <div class="section" id="declarations"> -<h2><a class="toc-backref" href="#id42">Declarations</a></h2> +<h1><a class="toc-backref" href="#id12">Declarations</a></h1> <div class="section" id="math-alphabets"> -<h3><a class="toc-backref" href="#id43">Math alphabets</a></h3> -<p>In math, LaTeX uses "absolute" fontnames instead of a selection by family, -shape, and weight because typefaces have a semantic meaning <a class="citation-reference" href="#fntguide" id="id15">[fntguide]</a>. -This correlates with the <a class="reference internal" href="#unicode-math-support">Unicode math support</a> where the -<a class="reference external" href="http://www.unicode.org/charts/PDF/U1D400.pdf">mathematical alphanumeric symbols</a> block defines distinct Unicode -characters for Greek and Latin letters in different typefaces.</p> -<p>Isomath defines a math alphabet for every required font variant and -optionally re-defines the standard math alphabets in <a class="reference internal" href="#oml-font-encoding">OML font encoding</a>. -Unfortunately, the number of math alphabets in one math version is limited -to 16, so we have to be carefull not to exceed this.</p> +<h2><a class="toc-backref" href="#id13">Math alphabets</a></h2> +<p>In math, LaTeX uses “absolute” fontnames instead of a selection by +family, shape, and weight because typefaces have a semantic meaning +(see <a class="reference external" href="http://dante.ctan.org/CTAN/macros/latex/doc/fntguide.pdf">fntguide</a>).</p> +<p><cite>isomath</cite> defines a math alphabet for every required font variant and +optionally re-defines the standard math alphabets in <cite>OML</cite> font encoding.</p> +<p>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 +<tt class="docutils literal">reuseMathAlphabets</tt> option reduces this number by two, with the +side effect of italic shape with <tt class="docutils literal">\mathbf</tt> and <tt class="docutils literal">\mathsf</tt> commands:</p> +<pre class="literal-block"> +\ifisomath@reuseMathAlphabets + \PackageWarningNoLine{isomath}{% + Re-using math alphabet `mathsf' for \protect \mathboldsans + \MessageBreak and `mathbf' for \protect \mathbold + } +\fi +</pre> <div class="section" id="mathbold"> -<h4><a class="toc-backref" href="#id44">mathbold</a></h4> -<p>The <em>italic bold</em> math alphabet is named <tt class="docutils literal"><span class="pre">\mathbold</span></tt> like in -<a class="reference internal" href="#related-packages">related packages</a>. With the <a class="reference internal" href="#reusemathalphabets">reuseMathAlphabets</a> option, <tt class="docutils literal"><span class="pre">\mathfb</span></tt> -is redefined and <tt class="docutils literal"><span class="pre">\mathbold</span></tt> made an alias (overwriting existing -definitions):</p> +<h3><a class="toc-backref" href="#id14">mathbold</a></h3> +<p>The <em>italic bold</em> math alphabet is named <tt class="docutils literal">\mathbold</tt> like in +<a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html">fixmath</a> and related packages. With the <a class="reference internal" href="#reusemathalphabets">reuseMathAlphabets</a> option, +the roman bold math alphabet <tt class="docutils literal">\mathbf</tt> is redefined and +<tt class="docutils literal">\mathbold</tt> made an alias (overwriting existing definitions):</p> <pre class="literal-block"> \ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathbf}{OML}{\isomath@rmdefault}{bx}{it} @@ -1322,10 +954,10 @@ definitions):</p> </pre> </div> <div class="section" id="mathsans"> -<h4><a class="toc-backref" href="#id45">mathsans</a></h4> -<p>For <em>italic sans-serif</em>, we define a new alphabet named <tt class="docutils literal"><span class="pre">\mathsans</span></tt> (in -analogy to <tt class="docutils literal"><span class="pre">\mathbold</span></tt>). As this typeface is not required by ISO 31, it -is only defined if the <tt class="docutils literal"><span class="pre">OMLmathsans</span></tt> option is set:</p> +<h3><a class="toc-backref" href="#id15">mathsans</a></h3> +<p>For <em>italic sans-serif</em>, we define a new alphabet named <tt class="docutils literal">\mathsans</tt> (in +analogy to <tt class="docutils literal">\mathbold</tt>). As this typeface is not required by ISO 31, it +is only defined if the <tt class="docutils literal">OMLmathsans</tt> option is set:</p> <pre class="literal-block"> \ifisomath@OMLmathsans \DeclareMathAlphabet{\mathsans}{OML}{\isomath@sfdefault}{m}{it} @@ -1333,10 +965,11 @@ is only defined if the <tt class="docutils literal"><span class="pre">OMLmathsan </pre> </div> <div class="section" id="mathboldsans"> -<h4><a class="toc-backref" href="#id46">mathboldsans</a></h4> -<p>A <em>sans serif slanted bold</em> alphabet is needed for tensor symbols. With the -<a class="reference internal" href="#reusemathalphabets">reuseMathAlphabets</a> option, <tt class="docutils literal"><span class="pre">\mathsf</span></tt> is redefined and <tt class="docutils literal"><span class="pre">\mathboldsans</span></tt> -made an alias:</p> +<h3><a class="toc-backref" href="#id16">mathboldsans</a></h3> +<p>A <em>sans serif slanted bold</em> alphabet is needed for tensor symbols. +With the <a class="reference internal" href="#reusemathalphabets">reuseMathAlphabets</a> option, the upright sans serif math +alphabet <tt class="docutils literal">\mathsf</tt> is redefined and <tt class="docutils literal">\mathboldsans</tt> made an +alias:</p> <pre class="literal-block"> \ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathsf}{OML}{\isomath@sfdefault}{bx}{it} @@ -1347,9 +980,9 @@ made an alias:</p> </pre> </div> <div class="section" id="redefine-standard-alphabets"> -<h4><a class="toc-backref" href="#id47">Redefine standard alphabets</a></h4> -<p>Redefine standard alphabets in <a class="reference internal" href="#oml-font-encoding">OML font encoding</a> -if the corresponding <a class="reference internal" href="#oml-math-alphabets">OML math alphabets</a> option is true:</p> +<h3><a class="toc-backref" href="#id17">Redefine standard alphabets</a></h3> +<p>Redefine standard alphabets in <cite>OML</cite> font encoding +if the corresponding <a class="reference internal" href="#omlmath">OMLmath*</a> option is true:</p> <pre class="literal-block"> \ifisomath@OMLmathrm \SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{m}{n} @@ -1367,26 +1000,27 @@ if the corresponding <a class="reference internal" href="#oml-math-alphabets">OM </div> </div> <div class="section" id="command-aliases"> -<h3><a class="toc-backref" href="#id48">Command aliases</a></h3> +<h2><a class="toc-backref" href="#id18">Command aliases</a></h2> <p>The following macros allow semantic markup of mathematical symbols. -The argument is typeset as proposed by ISO 31 and <a class="citation-reference" href="#typefaces" id="id16">[typefaces]</a>.</p> +The argument is typeset as proposed by ISO 31 and +<a class="reference external" href="http://physics.nist.gov/Document/typefaces.pdf">Typefaces for Symbols in Scientific Manuscripts</a>.</p> <div class="section" id="vectorsym"> -<h4><a class="toc-backref" href="#id49">\vectorsym</a></h4> +<h3><a class="toc-backref" href="#id19">\vectorsym</a></h3> <p>Symbols for vectors are typeset <em>boldface italic</em>:</p> <pre class="literal-block"> \newcommand{\vectorsym}{\mathbold} </pre> <p>For easier writing or to make existing documents conform to the standard, -you might want to re-define the standard <tt class="docutils literal"><span class="pre">\vec</span></tt> command after loading this -package (cf. the <a class="reference internal" href="#examples">Examples</a> section).</p> +you might want to re-define the standard <tt class="docutils literal">\vec</tt> command after loading this +package (cf. the Examples section of the documentation).</p> <p>Attention: Some fonts (CM, Latin Modern, ...) have old-style figures in -their math italic version. The Null vector must not be written <tt class="docutils literal"><span class="pre">\vec{0}</span></tt> -in this case. Use e.g. <tt class="docutils literal"><span class="pre">\mathbf{0}</span></tt>, <tt class="docutils literal"><span class="pre">\boldsymbol{0}</span></tt> (with AMS math) or -<tt class="docutils literal"><span class="pre">\bm{0}</span></tt> (with boldmath). The latter two variants provide also a failsafe +their math italic version. The Null vector must not be written <tt class="docutils literal">\vec{0}</tt> +in this case. Use e.g. <tt class="docutils literal">\mathbf{0}</tt>, <tt class="docutils literal">\boldsymbol{0}</tt> (with AMS math) or +<tt class="docutils literal">\bm{0}</tt> (with boldmath). The latter two variants provide also a failsafe alias for a bold vector.</p> </div> <div class="section" id="matrixsym"> -<h4><a class="toc-backref" href="#id50">\matrixsym</a></h4> +<h3><a class="toc-backref" href="#id20">\matrixsym</a></h3> <p>Symbols for matrices are typeset <em>boldface italic</em>, i. e. in the same face as vectors.</p> <pre class="literal-block"> @@ -1394,7 +1028,7 @@ as vectors.</p> </pre> </div> <div class="section" id="tensorsym"> -<h4><a class="toc-backref" href="#id51">\tensorsym</a></h4> +<h3><a class="toc-backref" href="#id21">\tensorsym</a></h3> <p>Symbols for tensors are <em>sans-serif bold italic</em>:</p> <pre class="literal-block"> \newcommand{\tensorsym}{\mathboldsans} @@ -1402,111 +1036,53 @@ as vectors.</p> </div> </div> <div class="section" id="font-mappings"> -<h3><a class="toc-backref" href="#id52">Font mappings</a></h3> -<p>Some font packages provide a matching math font but do not define a -substitution in their <tt class="docutils literal"><span class="pre">*.fd</span></tt> files.</p> -<p>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 <tt class="docutils literal"><span class="pre">*.fd</span></tt> files:</p> -<p>Mathpazo (Palatino) ppl -> zplm</p> +<h2><a class="toc-backref" href="#id22">Font mappings</a></h2> +<p>Some font packages provide matching text and math font but do not +define a substitution in their <tt class="docutils literal">*.fd</tt> files.</p> +<p>We define the substitutions needed for the math alphabet definitions +in this package. Ideally, these should become part of the package's +<tt class="docutils literal">*.fd</tt> files.</p> +<p>For details about the font definition macros see the <a class="reference external" href="http://dante.ctan.org/CTAN/macros/latex/doc/fntguide.pdf">fntguide</a>.</p> +<p>Mathpazo (Palatino) ppl <-> zplm</p> <pre class="literal-block"> \DeclareFontFamily{OML}{ppl}{\skewchar\font127} \DeclareFontShape{OML}{ppl}{m}{it}{<-> ssub * zplm/m/it}{} \DeclareFontShape{OML}{ppl}{bx}{it}{<-> ssub * zplm/b/it}{} </pre> -<p>Arev (see omlzavm.fd): fav -> zavm</p> +<div class="section" id="scaling"> +<h3><a class="toc-backref" href="#id23">Scaling</a></h3> +<p>Scale the <tt class="docutils literal">fav</tt> (Arev), <tt class="docutils literal">llcmss</tt> (LX Fonts), and <tt class="docutils literal">iwona</tt> fonts +by the value of the <tt class="docutils literal">scaled</tt> option.</p> +<p>To get scaled versions of a font, you cannot use the <tt class="docutils literal">ssub</tt> +<cite>size function</cite>, but must use the empty function or <tt class="docutils literal">s</tt> with the font +file as argument [found by experiment, GM 2010-01-28].</p> +<p>Arev (see omlzavm.fd): fav <-> zavm</p> <pre class="literal-block"> -\DeclareFontFamily{OML}{fav}{\skewchar \font =127} -\DeclareFontShape{OML}{fav}{m}{it}{<->ssub * zavm/m/it}{} -\DeclareFontShape{OML}{fav}{bx}{it}{<->ssub * zavm/b/it}{} +\DeclareFontFamily{OML}{fav}{\skewchar\font127} +\DeclareFontShape{OML}{fav}{m}{it}{<-> s * [\isomath@scaled] zavmri7m}{} +\DeclareFontShape{OML}{fav}{bx}{it}{<-> s * [\isomath@scaled] zavmbi7m}{} </pre> <p>LX Fonts (see lxfonts.sty): llcmss -> llcmm</p> <pre class="literal-block"> -\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}{} +\DeclareFontFamily{OML}{llcmss}{\skewchar\font'177} +\DeclareFontShape{OML}{llcmss}{m}{it}{<-> s * [\isomath@scaled] lcmmi8}{} +\DeclareFontShape{OML}{llcmss}{bx}{it}{<-> s * [\isomath@scaled] lcmmib8}{} +</pre> +<p>Ivona (see <tt class="docutils literal">omliwona.fd</tt>):</p> +<pre class="literal-block"> +\DeclareFontFamily{OML}{iwona}{} +\DeclareFontShape{OML}{iwona}{m}{it}{<-> s * [\isomath@scaled] mi-iwonari}{} +\DeclareFontShape{OML}{iwona}{bx}{it}{<-> s * [\isomath@scaled] mi-iwonabi}{} </pre> <p>No declarations below this point:</p> <pre class="literal-block"> \endinput </pre> -</div> -</div> -</div> -<div class="section" id="references"> -<h1><a class="toc-backref" href="#id53">References</a></h1> -<table class="docutils citation" frame="void" id="iso-31" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label"><a class="fn-backref" href="#id1">[ISO-31]</a></td><td>International Standard 31 <cite>Quantities and units</cite>, -(ISO 31-0:1992 to ISO 31-14:1992): -<a class="reference external" href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202">http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202</a></td></tr> -</tbody> -</table> -<table class="docutils citation" frame="void" id="typefaces" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label">[typefaces]</td><td><em>(<a class="fn-backref" href="#id4">1</a>, <a class="fn-backref" href="#id16">2</a>)</em> <cite>Typefaces for Symbols in Scientific Manuscripts</cite>: -<a class="reference external" href="http://physics.nist.gov/Document/typefaces.pdf">http://physics.nist.gov/Document/typefaces.pdf</a></td></tr> -</tbody> -</table> -<table class="docutils citation" frame="void" id="checklist" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label"><a class="fn-backref" href="#id5">[checklist]</a></td><td><cite>SI Unit rules and style conventions</cite> -Check List for Reviewing Manuscripts: -<a class="reference external" href="http://physics.nist.gov/cuu/Units/checklist.html">http://physics.nist.gov/cuu/Units/checklist.html</a></td></tr> -</tbody> -</table> -<table class="docutils citation" frame="void" id="fonts-for-symbols" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label">[fonts-for-symbols]</td><td><em>(<a class="fn-backref" href="#id6">1</a>, <a class="fn-backref" href="#id10">2</a>)</em> <cite>On the use of italic and roman fonts for symbols -in scientific text</cite>, (Revised December 1999): -<a class="reference external" href="http://old.iupac.org/standing/idcns/fonts_for_symbols.html">http://old.iupac.org/standing/idcns/fonts_for_symbols.html</a></td></tr> -</tbody> -</table> -<table class="docutils citation" frame="void" id="si-brochure" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label"><a class="fn-backref" href="#id7">[SI-brochure]</a></td><td><cite>The International System of Units (SI)</cite>: -<a class="reference external" href="http://www.bipm.org/en/si/si_brochure/">http://www.bipm.org/en/si/si_brochure/</a></td></tr> -</tbody> -</table> -<table class="docutils citation" frame="void" id="encguide" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label"><a class="fn-backref" href="#id14">[encguide]</a></td><td><cite>LaTeX font encodings</cite>: -<a class="reference external" href="http://dante.ctan.org/CTAN/macros/latex/doc/encguide.pdf">http://dante.ctan.org/CTAN/macros/latex/doc/encguide.pdf</a></td></tr> -</tbody> -</table> -<table class="docutils citation" frame="void" id="fntguide" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label"><a class="fn-backref" href="#id15">[fntguide]</a></td><td><cite>LaTeX 2e font selection</cite>: -<a class="reference external" href="http://dante.ctan.org/CTAN/macros/latex/doc/fntguide.pdf">http://dante.ctan.org/CTAN/macros/latex/doc/fntguide.pdf</a></td></tr> -</tbody> -</table> -<table class="docutils citation" frame="void" id="tr25" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label"><a class="fn-backref" href="#id11">[tr25]</a></td><td><cite>Unicode Support for Mathematics</cite>, Unicode Technical Report #25: -<a class="reference external" href="http://www.unicode.org/reports/tr25/">http://www.unicode.org/reports/tr25/</a></td></tr> -</tbody> -</table> -<!-- 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 --> <!-- ***** --> </div> </div> +</div> +</div> </body> </html> diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.sty.pdf b/Master/texmf-dist/doc/latex/isomath/isomath.sty.pdf Binary files differdeleted file mode 100644 index 40ef06f05c2..00000000000 --- a/Master/texmf-dist/doc/latex/isomath/isomath.sty.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt b/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt index c133b50b45e..2c7405d7988 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt +++ b/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt @@ -1,409 +1,25 @@ -isomath: Math for scientists -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +isomath.sty: Math for scientists +******************************** -:Copyright: © 2008, 2009 Günter Milde +:Copyright: © 2008, 2010 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. + 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:: - -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 the International Standard ISO 31 -`Quantities and units` [ISO-31]_.\ [#]_ - -The traditional `LaTeX math style` deviates in some points from this rules: - -* The ``\vec`` command produces an array accent, while ISO 31 recommends - a *bold italic* typeface for vector symbols. - -* 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. - -* There is no provision for typesetting letters in *sans-serif bold italic* - recommended for typesetting tensor symbols. - -Some of these points are adressed by `related packages`_, however -there is currently no package (known to the author) that defines the -*sans-serif bold italic* math alphabet needed for tensor symbols. - -.. [#] Summaries of these rules are free available, see [typefaces]_, - [checklist]_, [fonts-for-symbols]_, and [SI-brochure]_. - - -Features -======== - -The ``isomath.sty`` package facilitates the task to abide with ISO 31 when -typesetting math with LaTeX: - -* Equal treatment of Latin and `Greek in math`_ via fixmath.sty_: - - + Greek letters change shape together with Latin letters if a different - math alphabet is used. - - + Uppercase Greek letters are typeset in italic style by default. - - + Upright Greek letters 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), - :``\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 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. - -For package options, see the Options_ section below. - -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} - - 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`:: - - \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}`` produces a bold upright pi symbol. - -Related packages -================ - -A set of packages at CTAN also defines Greek letters as ``\mathalpha`` and -provide the ``\mathbold`` alphabet (in OML): - -* arev_ (Arev/Vera Sans) -* cmbright_ (CM Bright) -* eulervm_ (Euler Math) -* fixmath_ (Computer Modern) -* hvmath_ (HV-Math/Helvetica) -* mathpazo_ (Palatino) -* tmmath_ (TM-Math/Times) - -This package requires and extends fixmath.sty_. - -The cmbright_ package provides *sans serif* and *sans-serif bold* fonts for -the ``\mathsans`` and ``\mathboldsans`` alphabets that match with Computer -Modern and derivatives. - -Conflicts ---------- - -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 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 -"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 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 ------------------ - -*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 -"""""""""" - -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. - -However, the reference to **italic** letters seems to be a description of -the *state of the art* rather than a necessary restriction: - -* There is only one OML encoded font in the Computer Modern fonts: - `Computer Modern Math Italic` (cmmi). - -* 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 set up OML encoded math - alphabets in roman {n} as well as italic {it} shape without conflicts. - -* 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 -""""""" - -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 2: - -.. 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 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 - 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_ or sfdefault_ options. - -.. _table 3: - -.. 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 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 -without special packages. (With mathdesign_, this is already possible -today.) - - -Implementation -************** - -Identification -============== -:: +:Identification: + :: \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{isomath} - [2009/06/19 v0.3 typeset math according to International Standard ISO 31] + [2010/08/23 v0.4 math according to ISO 31] + +: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. History -------- +======= .. class:: borderless @@ -415,124 +31,87 @@ History \ option reuseMathalphabets -> reuseMathAlphabets. 0.3 2009-06-19 documentation update; \ fix OMLmathrm and OMLmathsans definitions; -\ switch license to LPPL +\ switch license to LPP. +0.4 2010-08-23 split user documentation from literate source; +\ option ``scaled``; +\ documentation update. === ============ ======================================================== +.. contents:: + Requirements ============ fixmath.sty ----------- - The package fixmath_ by Walter Schmidt defines Greek letters as symbols -of type ``\mathalpha`` and takes them from the "letters" SymbolFont in -``\mathnormal`` (as opposed to "operators" in ``fontmath.ltx``). +of type ``\mathalpha`` and takes them from the ``letters`` SymbolFont in +``\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.) +This definition will be overwritten with a configurable value for +the font family below. :: \RequirePackage{fixmath} -.. 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. - - If the chosen font supports the `OML font encoding`_, you can use the - options for `OML math alphabets`_. Otherwise, place Greek letters - outside the math alphabet command. - - Some packages provide ``\up*`` or ``\var*`` macros for upright Greek - letters, e.g. ``\mathrm{k}\upOmega``. - - + kvoptions.sty ------------- - The kvoptions_ package in the oberdiek_ bundle facilitates the setup of package options and provides a key=value interface (based on keyval_):: \RequirePackage{kvoptions} + Options ======= rmdefault --------- - -Alternative family for roman math fonts. The default is to use the -corresponding text font family (``\rmdefault``) in OML encoding. -`Table 3`_ lists some fonts where a different setting is advised. - +Family for roman math fonts. Must be available in OML +encoding. The default is to use the corresponding text font family +(``\rmdefault``). :: \DeclareStringOption[\rmdefault]{rmdefault} sfdefault --------- +Family for sans-serif math fonts. The default selects `CM Bright`, as +most sans serif fonts are not available in OML encoding:: -Alternative family for sans-serif math fonts. The default is to use the -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): - -: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[cmbr]{sfdefault} + +scaled +------ +The sans-serif fonts, ``fav`` (Arev), ``llcmss`` (LX Fonts), and +``iwona`` can be scaled with the ``scaled`` option. :: - \DeclareStringOption[\sfdefault]{sfdefault} + \DeclareStringOption[1.0]{scaled} + % Use a key definition like in inconsolata.sty (cf. also helvet.sty)? + % \define@key{isomath}{scaled}[1.0]{\def\isomath@scaled{s*[#1]}} -TODO - Allow scaling? - - reuseMathAlphabets ------------------ +The definition of new `math alphabets`_ can lead to a “too many math +alphabets used in version normal” error. -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, this toggles the math-mode off and -might use a different font). - +As a workaround, this option tells `isomath` to re-use the existing +``\mathbf`` and ``\mathsf`` alphabets for *italic* bold and sans-serif +bold. :: \DeclareBoolOption{reuseMathAlphabets} -.. caution:: - Do not use ``reuseMathAlphabets`` together with the ``OMLmathbf`` or - ``OMLmathsf`` options. - - -OML math alphabets ------------------- - -With Greek letters defined as ``\mathalpha``, the math alphabets are -expected to be in `OML font encoding`_. Unfortunately, the standard math -alphabets are usually taken from OT1 encoded fonts that have ligatures and -non-alpha symbols in place of the small Greek letters. - -The following options cause isomath to (re)define `math alphabets`_ in OML -encoding:: + +OMLmath* +-------- +The following options cause `isomath` to (re)define the corresponding +`math alphabets`_ in OML encoding:: \DeclareBoolOption{OMLmathrm} \DeclareBoolOption{OMLmathbf} @@ -540,20 +119,16 @@ encoding:: \DeclareBoolOption{OMLmathsans} \DeclareBoolOption{OMLmathtt} -Setting these options enables access to small Greek letters in different -shapes with e.g. ``\mathrm{\pi}`` — *if an OML encoded font is available*. -Currently, support for the `OML font encoding`_ is rather limited: +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. -* 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. +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* @@ -562,27 +137,35 @@ Process the options with ``kvoptions`` extensions:: Declarations ============ + Math alphabets -------------- -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 Greek and Latin letters in different typefaces. +In math, LaTeX uses “absolute” fontnames instead of a selection by +family, shape, and weight because typefaces have a semantic meaning +(see 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. +`isomath` defines a math alphabet for every required font variant and +optionally re-defines the standard math alphabets in `OML` font encoding. -mathbold -"""""""" +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 +``reuseMathAlphabets`` option reduces this number by two, with the +side effect of italic shape with ``\mathbf`` and ``\mathsf`` commands:: + \ifisomath@reuseMathAlphabets + \PackageWarningNoLine{isomath}{% + Re-using math alphabet `mathsf' for \protect \mathboldsans + \MessageBreak and `mathbf' for \protect \mathbold + } + \fi + +mathbold +~~~~~~~~ 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):: +fixmath_ and related packages. With the reuseMathAlphabets_ option, +the roman bold math alphabet ``\mathbf`` is redefined and +``\mathbold`` made an alias (overwriting existing definitions):: \ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathbf}{OML}{\isomath@rmdefault}{bx}{it} @@ -592,8 +175,7 @@ definitions):: \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:: @@ -603,11 +185,11 @@ is only defined if the ``OMLmathsans`` option is set:: \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:: +~~~~~~~~~~~~ +A *sans serif slanted bold* alphabet is needed for tensor symbols. +With the reuseMathAlphabets_ option, the upright sans serif math +alphabet ``\mathsf`` is redefined and ``\mathboldsans`` made an +alias:: \ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathsf}{OML}{\isomath@sfdefault}{bx}{it} @@ -617,10 +199,10 @@ made an alias:: \fi Redefine standard alphabets -""""""""""""""""""""""""""" +~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Redefine standard alphabets in `OML font encoding`_ -if the corresponding `OML math alphabets`_ option is true:: +Redefine standard alphabets in `OML` font encoding +if the corresponding `OMLmath*`_ option is true:: \ifisomath@OMLmathrm \SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{m}{n} @@ -639,18 +221,18 @@ Command aliases --------------- The following macros allow semantic markup of mathematical symbols. -The argument is typeset as proposed by ISO 31 and [typefaces]_. +The argument is typeset as proposed by ISO 31 and +`Typefaces for Symbols in Scientific Manuscripts`_. \\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). +package (cf. the Examples section of the documentation). Attention: Some fonts (CM, Latin Modern, ...) have old-style figures in their math italic version. The Null vector must not be written ``\vec{0}`` @@ -659,8 +241,7 @@ in this case. Use e.g. ``\mathbf{0}``, ``\boldsymbol{0}`` (with AMS math) or alias for a bold vector. \\matrixsym -""""""""""" - +~~~~~~~~~~~ Symbols for matrices are typeset *boldface italic*, i. e. in the same face as vectors. :: @@ -668,114 +249,78 @@ as vectors. :: \\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. +Some font packages provide matching text and 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: +We define the substitutions needed for the math alphabet definitions +in this package. Ideally, these should become part of the package's +``*.fd`` files. -Mathpazo (Palatino) ppl -> zplm :: +For details about the font definition macros see the fntguide_. + +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 (see omlzavm.fd): fav -> zavm :: + +Scaling +~~~~~~~ +Scale the ``fav`` (Arev), ``llcmss`` (LX Fonts), and ``iwona`` fonts +by the value of the ``scaled`` option. - \DeclareFontFamily{OML}{fav}{\skewchar \font =127} - \DeclareFontShape{OML}{fav}{m}{it}{<->ssub * zavm/m/it}{} - \DeclareFontShape{OML}{fav}{bx}{it}{<->ssub * zavm/b/it}{} +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 :: + + \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}{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}{} + \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``):: + + \DeclareFontFamily{OML}{iwona}{} + \DeclareFontShape{OML}{iwona}{m}{it}{<-> s * [\isomath@scaled] mi-iwonari}{} + \DeclareFontShape{OML}{iwona}{bx}{it}{<-> s * [\isomath@scaled] mi-iwonabi}{} No declarations below this point:: \endinput - -References -********** - -.. [ISO-31] International Standard 31 `Quantities and units`, - (ISO 31-0:1992 to ISO 31-14:1992): - http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202 - -.. [typefaces] `Typefaces for Symbols in Scientific Manuscripts`: - http://physics.nist.gov/Document/typefaces.pdf - -.. [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)`: - 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 - -.. [tr25] `Unicode Support for Mathematics`, Unicode Technical Report #25: - http://www.unicode.org/reports/tr25/ - -.. see also - [koma-mail] Custom font substitution: http://www.komascript.de/node/823 - - [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 .. ***** .. _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/ -.. _NIST: http://physics.nist.gov/ -.. _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 +.. _fntguide: http://dante.ctan.org/CTAN/macros/latex/doc/fntguide.pdf .. _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 +.. _kvoptions: http://dante.ctan.org/CTAN/help/Catalogue/entries/kvoptions.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 +.. _mathematical alphanumeric symbols: + http://www.unicode.org/charts/PDF/U1D400.pdf .. _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 +.. _`Typefaces for Symbols in Scientific Manuscripts`: + http://physics.nist.gov/Document/typefaces.pdf diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.txt b/Master/texmf-dist/doc/latex/isomath/isomath.txt new file mode 100644 index 00000000000..ad3697083c4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/isomath/isomath.txt @@ -0,0 +1,701 @@ +.. -*- rst-mode -*- + +isomath: Math for scientists +**************************** + +:Author: Günter Milde +:Date: 2010-08-23 +:Copyright: © 2008, 2010 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. + +.. contents:: +.. sectnum:: + +Motivation +---------- + +.. How do you 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 the International Standard ISO 31 +`Quantities and units` [ISO-31]_.\ [#]_ + +.. [#] Summaries of these rules are free available, see [typefaces]_, + [checklist]_, [fonts_for_symbols]_, and [SI-brochure]_. + +The traditional `LaTeX math style` deviates in some points from this rules: + +* The ``\vec`` command produces an array accent, while ISO 31 recommends + a bold italic typeface for vector symbols. + +* Greek letters are excluded from font changes with the math + alphabets, while the ISO 31 rules apply equally to letters from the + Greek and Latin alphabet. + +* There is no provision for typesetting of Greek letters in bold italic + style recommended for vectors. + +* There is no provision for typesetting letters in sans-serif bold italic + recommended for typesetting tensor symbols. + +Some of these points are adressed by `related packages`_, however +there is currently no package (known to the author) that defines the +sans-serif bold italic math alphabet needed for tensor symbols. + + +Features +-------- + +.. _`equal treatment of Latin and Greek`: + +Equal treatment of Latin and Greek letters +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This feature is provided by the required package fixmath_ which +ensures that: + ++ Both, Greek and Latin letters change shape if a different + math alphabet is used. + ++ By default, uppercase Greek letters are typeset in italic style. + +However, `fixmath` works only for Computer Modern. 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: + Placing Greek letters in a ``\math*`` macro, e. g. + ``\mathrm{k\Omega}``, 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 Greek letters in the standard math alphabet commands + ``mathit``, ``mathrm``, ``mathbf``, ``mathsf``, and ``mathtt`` + unless you use the OMLmath_ options.\ [#]_ + + .. [#] Some packages provide ``\up*`` or ``\var*`` macros for + upright Greek letters so the above example could be written + ``\mathrm{k}\upOmega``. + + +New math alphabets +~~~~~~~~~~~~~~~~~~ +New math alphabets are defined: + +:``\mathbold``: boldface italic (vector and matrix symbols), +:``\mathboldsans``: sans-serif bold italic (tensor symbols). +:``\mathsans``: sans-serif italic (optional), + +The rmdefault_ and sfdefault_ options set the font family used for +these alphabets. + + +Command aliases +~~~~~~~~~~~~~~~ +The command aliases ``\vectorsym``, ``\matrixsym``, and ``\tensorsym`` +allow semantic markup. They print the argument in an ISO-conforming +typeface. + + +Font mappings +~~~~~~~~~~~~~ + +Some font definitions are added for font families which have an OML +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 (see also Examples_). + + +Options +~~~~~~~ + +rmdefault +''''''''' +Family for serif math fonts (roman and kursive). The default is to use the +corresponding text font family (the value of ``\rmdefault``). The font +must be available in `OML font encoding`_. + + +sfdefault +''''''''' +Family for sans-serif math fonts. The default is ``cmbr`` because many +sans-serif fonts define the Computer Roman font `cmm` as OML substitution +(see `Table 2`_). + +There are only few sans serif `fonts that support the OML +encoding`_: + +.. class:: booktab + +========== =========== =================================================== +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-hight +``iwona`` iwona_ Humanistic Sans Serif, + some shapes very similar to roman +``hvm`` hvmath_ `Helvetica Math`, commercial, free bitmap version +``llcmss`` lxfonts_ `LX Fonts`, very wide, excentric, large x-hight, + new in 2008 +========== =========== =================================================== + + +scaled +'''''' +As the choice of sans serif math fonts is very limited, +the fonts, ``fav``, ``llcmss``, and ``iwona`` can be scaled +with the ``scaled`` option (see examples_). + + +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, this toggles the + math-mode off and might use a different font, so watch for + side-effects. + +OMLmath +'''''''' + +With Greek letters defined as ``\mathalpha``, the math alphabets are +expected to be in `OML font encoding`_. Unfortunately, the standard +math alphabets are usually taken from OT1 or T1 encoded fonts that +have ligatures and accents in place of the Greek letters. + +The following options cause isomath to (re)define math alphabets in OML +encoding:: + + OMLmathrm, OMLmathbf, OMLmathsf, OMLmathsans, 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**. Currently, only the mathdesign_ package provides +upright `fonts that support the OML encoding`_. Many font packages +define an italic font as replacement for a roman font in OML encoding. + +With some packages, these options can result in a “`too many math alphabets +used in version normal`_” error. + +Examples +~~~~~~~~ + +* Use `isomath` with the default settings:: + + \usepackage{isomath} + +* Define also a slanted sans-serif math alphabet:: + + \usepackage[OMLmathsans]{isomath} + +* Use the heavier `Arev` sans serif fonts:: + + \usepackage[sfdefault=fav,scaled=0.875]{isomath} + + (Adapt the scaling factor to your needs.) + +* Redefine the standard ``\vec`` macro to typeset its argument in `bold + italic`:: + + \usepackage{isomath} + \renewcommand{\vec}{\vectorsym} + + (Use ``\bm`` or ``boldmath`` for for the zero and unit vectors, as + ``\vec{0}`` and ``\vec{1}`` will give undesired results.) + +* The mathdesign_ package provides an OML encoded *bold roman* font but does + not set it up for ``\mathbf``. To set it up, write e.g.:: + + \usepackage[charter]{mathdesign} + \usepackage[OMLmathbf]{isomath} + + Now, e.g. ``\mathbf{\pi}`` produces a bold upright pi symbol. + +See also the ``isomath-test.tex`` test document. + + +Related packages +---------------- + +Requirements +~~~~~~~~~~~~ + +fixmath_ + by Walter Schmidt defines Greek letters as alphabetic symbols. + +kvoptions_ + (in the oberdiek_ bundle) facilitates the setup of package options + and provides a key=value interface (based on keyval_). + + +Recommendations +~~~~~~~~~~~~~~~ + +cmbright_ + provides *sans serif* and *sans-serif bold* fonts for the + ``\mathsans`` and ``\mathboldsans`` alphabets that match with + Computer Modern and derivatives. Free Type 1 versions of the fonts + with hfbright_. + +arev_ + provides *sans serif* somewhat heavier letters that are clearly + distinguishable from the roman or italic counterparts (important if + used to distinguish vectors and tensors). However, `Arev` has a + large x-hight, so for most default fonts, either small or capital + letters will not match in size. + + +Alternatives +~~~~~~~~~~~~ + +If the only requirement is a bold italic font for (Latin and Greek) vector +symbols, there are established alternatives to `isomath`: + +* Packages that support `equal treatment of Latin and Greek`_ and + provide the ``\mathbold`` alphabet (but not ``\mathsansbold``) in + `OML font encoding`_: + + Roman + * eulervm_ (Euler Math), + * fixmath_ (Computer Modern), + * mathpazo_ (Palatino), + * tmmath_ (TM-Math/Times). + + Sans serif + * arev_ (Arev/Vera Sans), + * cmbright_ (CM Bright), + * hvmath_ (HV-Math/Helvetica), + + +* Packages that provide commands which can be used as replacement for + ``\vec``: + + * `amsbsy`_ (part of `amsmath`_, the near-indispensable adjunct to serious + mathematical typesetting in LaTeX) defines ``\boldmath``, + + * `bm`_ defines a command ``\bm`` which makes its argument bold (more + careful than amsbsy's ``\boldmath``). Combining `bm` and `isomath` may + lead to the `too many math alphabets used in version normal`_ error. + +The ``\text`` macro from `amsmath`_ can be used to get e.g. upright or +sans-serif bold slanted Greek symbols from a text font into a formula. + + +Conflicts +~~~~~~~~~ + +* “_`too many math alphabets used in version normal`” + + This error occurs if the combination of packages tries to load more + than 16 fonts into the ‘normal’ math version. + + It can be avoided with the reuseMathAlphabets_ option (see there + for side-effects). + + Examples for problematic combinations: + + + The `kpfonts`_, `pxfonts`_, and `txfonts`_ packages define many + additional math alphabets. + + + The `bm`_ package normally allocates several symbol fonts for bold + and heavy fonts. Their number can be customized by defining + ``\bmmax`` and ``\hmmax`` before loading the package. + +* 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). + + 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=arev,scaled=0.85]{isomath} + + +Background +---------- + +Letter symbols +~~~~~~~~~~~~~~ + +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, […]. + +In contrast, the standard LaTeX style treats Greek letter symbols + +* as invariant operators, + +* with lower case italic and upper case upright. + +A possible fix (established by fixmath_) is using a common font for +Greek and Latin letters. There is one established font encoding +providing Latin and Greek letters: the `OML font encoding`_. However, + +* support_ for OML is limited to a few (mostly italic) fonts. + +* The widely supported but non-standard `LGR` font encoding has Greek + but no Latin letters, while + +* the standard Greek font encoding `T7` is just a “reserved name”. + + +OML font encoding +~~~~~~~~~~~~~~~~~ + +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 + symbols. + +The reference to *italic* shape is odd: + +* No other font encoding is specific to the font shape. + +* The different font selection and the semantic of font features in + math 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 + conflicts. + +This seems to be a remnant of pre-NFSS times – there is only one OML +encoded font in Knuth's Computer Modern fonts: `Computer Modern Math +Italic` (cmmi) – rather than a necessary restriction. + +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 + some symbols. It first appeared in the `Computer Modern Math + Italic` (cmmi) font. + +* The name `TeX math italic` can be interpreted as “the encoding + **of** `Computer Modern Math Italic`” rather than “an 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. + + +Support +''''''' + +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 grepping for ``DeclareFont.*OML`` in ``*.sty`` files. +`Table 1`_ lists the findings for a selection of TeXLive + some +additonally installed font packages. + +* 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 upright shape, + however mapping to an italic variant of the OML encoded font. These + are not listed as supporting ``m/n`` or ``bx/n`` here. + +`Table 2`_ 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 1: + +.. table:: _`Fonts that support the OML encoding` + + ============= =========================== ======= ======== ====== ======= + 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 + kurier Kurier 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 + 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 + udidot Didot (gfsdidot) x + ywclm (greektex) x x + zavm Arev (Vera Sans-Serif) x x + zesfcm (efont) x + zplm Palatino (mathpazo) x x + zpple Palatino x x + ztmcm Times (mathptmx) x + zer Computer Modern (zefonts) x x + ============= =========================== ======= ======== ====== ======= + + +.. _Table 2: + +.. table:: Non-CM fonts with ``cmm`` as OML substitution + + ============= =============================== + 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) + ============= =============================== + + +Math in Unicode +~~~~~~~~~~~~~~~ + +Basis for the definition of the Unicode block +`mathematical alphanumeric symbols`_, was the consideration outlined +in [beeton:2000]_: + + These alphabets are needed for proper composition + of mathematics: + + * lightface upright Latin, Greek and digits + * boldface upright Latin, Greek and digits + * lightface italic Latin, Greek and digits + * boldface italic Latin, Greek and digits + * script + * fraktur + * bold fraktur + * open-face (blackboard bold) including digits + * lightface upright sans serif Latin and digits + * lightface italic sans serif Latin + * boldface upright sans serif Latin, Greek, and digits + * boldface italic sans serif Latin and Greek + * monospace Latin and digits + + Except for the lightface upright letters and digits, + which are to be encoded using the base Unicodes + (ASCII for the Latin letters and digits), the + alphanumerics are to be placed in a tightly packed + block (U+D400–D7FF) in plane 1, so that they can + be used for math (most likely via entity names in + MathML), but will be very difficult to access for + other purposes. + +The technical report `Unicode Support for Mathematics` [tr25]_ lists +“alphanumeric 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 labelled “to be +used for mathematical variables where style variations are important +semantically”. `Table 3`_ gives a survey of current LaTeX support. + +.. _table 3: + +.. table:: Styles in the `mathematical alphanumeric symbols`_ + Unicode block + :class: booktab + + ================= ======= ================= ========================== + Style Symbols LaTeX macro Package, Comment + [#]_ + ================= ======= ================= ========================== + bold LGD ``\mathbf`` no Greek + + italic LG ``\mathit`` no Greek + \ ``\mathnormal`` small Greek but + old-style digits (upright) + 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 + + + +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 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 +without special packages. (With mathdesign_, this is already possible +today.) + + + +References +---------- + +.. [ISO-31] International Standard 31 `Quantities and units`, + (ISO 31-0:1992 to ISO 31-14:1992): + http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202 + +.. [typefaces] `Typefaces for Symbols in Scientific Manuscripts`: + http://physics.nist.gov/Document/typefaces.pdf + +.. [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)`: + http://www.bipm.org/en/si/si_brochure/ + +.. [encguide] `LaTeX font encodings`: + http://mirror.ctan.org/macros/latex/doc/encguide.pdf + +.. [fntguide] `LaTeX 2e font selection`: + http://mirror.ctan.org/macros/latex/doc/fntguide.pdf + +.. [tr25] `Unicode Support for Mathematics`, Unicode Technical Report #25: + http://www.unicode.org/reports/tr25/ + +.. [beeton:2000] Barbara Beeton: + `Unicode and math, a combination whose time has come – Finally!`, + TUGBoat, 21#3, 2000. available: + http://www.tug.org/TUGboat/Articles/tb21-3/tb68beet.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 + ===== + +.. Print external links as footnotes (currently errors with LaTeX) + .. target-notes:: + +.. _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/ +.. _NIST: http://physics.nist.gov/ +.. _mathematical alphanumeric symbols: + http://www.unicode.org/charts/PDF/U1D400.pdf +.. _amsbsy: http://dante.ctan.org/CTAN/help/Catalogue/entries/amsbsy.html +.. _amsmath: http://dante.ctan.org/CTAN/help/Catalogue/entries/amsmath.html +.. _arev: http://dante.ctan.org/CTAN/help/Catalogue/entries/arev.html +.. _bm: http://dante.ctan.org/CTAN/help/Catalogue/entries/bm.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 +.. _hfbright: http://dante.ctan.org/CTAN/help/Catalogue/entries/hfbright.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 diff --git a/Master/texmf-dist/tex/latex/isomath/isomath.sty b/Master/texmf-dist/tex/latex/isomath/isomath.sty index c20b6e9a1d5..2686cbcefba 100644 --- a/Master/texmf-dist/tex/latex/isomath/isomath.sty +++ b/Master/texmf-dist/tex/latex/isomath/isomath.sty @@ -1,409 +1,25 @@ -% isomath: Math for scientists -% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +% isomath.sty: Math for scientists +% ******************************** % -% :Copyright: © 2008, 2009 Günter Milde +% :Copyright: © 2008, 2010 Günter Milde % :Licence: This work may be distributed and/or modified under the -% conditions of the `LaTeX Project Public License`_, either +% 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:: -% -% 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 the International Standard ISO 31 -% `Quantities and units` [ISO-31]_.\ [#]_ -% -% The traditional `LaTeX math style` deviates in some points from this rules: -% -% * The ``\vec`` command produces an array accent, while ISO 31 recommends -% a *bold italic* typeface for vector symbols. -% -% * 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. -% -% * There is no provision for typesetting letters in *sans-serif bold italic* -% recommended for typesetting tensor symbols. -% -% Some of these points are adressed by `related packages`_, however -% there is currently no package (known to the author) that defines the -% *sans-serif bold italic* math alphabet needed for tensor symbols. -% -% .. [#] Summaries of these rules are free available, see [typefaces]_, -% [checklist]_, [fonts-for-symbols]_, and [SI-brochure]_. -% -% -% Features -% ======== -% -% The ``isomath.sty`` package facilitates the task to abide with ISO 31 when -% typesetting math with LaTeX: -% -% * Equal treatment of Latin and `Greek in math`_ via fixmath.sty_: -% -% + Greek letters change shape together with Latin letters if a different -% math alphabet is used. -% -% + Uppercase Greek letters are typeset in italic style by default. -% -% + Upright Greek letters 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), -% :``\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 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. -% -% For package options, see the Options_ section below. -% -% 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} -% -% 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`:: - -% \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}`` produces a bold upright pi symbol. -% -% Related packages -% ================ -% -% A set of packages at CTAN also defines Greek letters as ``\mathalpha`` and -% provide the ``\mathbold`` alphabet (in OML): -% -% * arev_ (Arev/Vera Sans) -% * cmbright_ (CM Bright) -% * eulervm_ (Euler Math) -% * fixmath_ (Computer Modern) -% * hvmath_ (HV-Math/Helvetica) -% * mathpazo_ (Palatino) -% * tmmath_ (TM-Math/Times) -% -% This package requires and extends fixmath.sty_. -% -% The cmbright_ package provides *sans serif* and *sans-serif bold* fonts for -% the ``\mathsans`` and ``\mathboldsans`` alphabets that match with Computer -% Modern and derivatives. -% -% Conflicts -% --------- -% -% 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 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 -% "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 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 -% ----------------- -% -% *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 -% """""""""" -% -% 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. -% -% However, the reference to **italic** letters seems to be a description of -% the *state of the art* rather than a necessary restriction: -% -% * There is only one OML encoded font in the Computer Modern fonts: -% `Computer Modern Math Italic` (cmmi). -% -% * 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 set up OML encoded math -% alphabets in roman {n} as well as italic {it} shape without conflicts. -% -% * 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 -% """"""" -% -% 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 2: -% -% .. 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 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 -% 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_ or sfdefault_ options. -% -% .. _table 3: -% -% .. 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 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 -% without special packages. (With mathdesign_, this is already possible -% today.) -% -% -% Implementation -% ************** -% -% Identification -% ============== -% :: +% :Identification: +% :: \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{isomath} -[2009/06/19 v0.3 typeset math according to International Standard ISO 31] +[2010/08/23 v0.4 Mathematics conformant to ISO 31.] +% :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. +% % History -% ------- +% ======= % % .. class:: borderless % @@ -415,124 +31,87 @@ % \ option reuseMathalphabets -> reuseMathAlphabets. % 0.3 2009-06-19 documentation update; % \ fix OMLmathrm and OMLmathsans definitions; -% \ switch license to LPPL +% \ switch license to LPP. +% 0.4 2010-08-23 split user documentation from literate source; +% \ option ``scaled``; +% \ documentation update. % === ============ ======================================================== % +% .. contents:: +% % % Requirements % ============ % % fixmath.sty % ----------- -% % The package fixmath_ by Walter Schmidt defines Greek letters as symbols -% of type ``\mathalpha`` and takes them from the "letters" SymbolFont in -% ``\mathnormal`` (as opposed to "operators" in ``fontmath.ltx``). +% of type ``\mathalpha`` and takes them from the ``letters`` SymbolFont in +% ``\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.) +% This definition will be overwritten with a configurable value for +% the font family below. % :: \RequirePackage{fixmath} -% .. 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. -% -% If the chosen font supports the `OML font encoding`_, you can use the -% options for `OML math alphabets`_. Otherwise, place Greek letters -% outside the math alphabet command. -% -% Some packages provide ``\up*`` or ``\var*`` macros for upright Greek -% letters, e.g. ``\mathrm{k}\upOmega``. -% -% + % kvoptions.sty % ------------- -% % The kvoptions_ package in the oberdiek_ bundle facilitates the setup of % package options and provides a key=value interface (based on keyval_):: \RequirePackage{kvoptions} + % Options % ======= % % rmdefault % --------- -% -% Alternative family for roman math fonts. The default is to use the -% corresponding text font family (``\rmdefault``) in OML encoding. -% `Table 3`_ lists some fonts where a different setting is advised. -% +% Family for roman math fonts. Must be available in OML +% encoding. The default is to use the corresponding text font family +% (``\rmdefault``). % :: \DeclareStringOption[\rmdefault]{rmdefault} % sfdefault % --------- -% -% Alternative family for sans-serif math fonts. The default is to use the -% 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): -% -% :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. -% +% 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. % :: -\DeclareStringOption[\sfdefault]{sfdefault} +\DeclareStringOption[1.0]{scaled} +% Use a key definition like in inconsolata.sty (cf. also helvet.sty)? +% \define@key{isomath}{scaled}[1.0]{\def\isomath@scaled{s*[#1]}} -% TODO -% Allow scaling? -% -% % reuseMathAlphabets % ------------------ +% The definition of new `math alphabets`_ can lead to a “too many math +% alphabets used in version normal” error. % -% 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, this toggles the math-mode off and -% might use a different font). -% +% As a workaround, this option tells `isomath` to re-use the existing +% ``\mathbf`` and ``\mathsf`` alphabets for *italic* bold and sans-serif +% bold. % :: \DeclareBoolOption{reuseMathAlphabets} -% .. caution:: -% Do not use ``reuseMathAlphabets`` together with the ``OMLmathbf`` or -% ``OMLmathsf`` options. -% -% -% OML math alphabets -% ------------------ -% -% With Greek letters defined as ``\mathalpha``, the math alphabets are -% expected to be in `OML font encoding`_. Unfortunately, the standard math -% alphabets are usually taken from OT1 encoded fonts that have ligatures and -% non-alpha symbols in place of the small Greek letters. -% -% The following options cause isomath to (re)define `math alphabets`_ in OML -% encoding:: + +% OMLmath* +% -------- +% The following options cause `isomath` to (re)define the corresponding +% `math alphabets`_ in OML encoding:: \DeclareBoolOption{OMLmathrm} \DeclareBoolOption{OMLmathbf} @@ -540,20 +119,16 @@ \DeclareBoolOption{OMLmathsans} \DeclareBoolOption{OMLmathtt} -% Setting these options enables access to small Greek letters in different -% shapes with e.g. ``\mathrm{\pi}`` — *if an OML encoded font is available*. -% Currently, support for the `OML font encoding`_ is rather limited: -% -% * only the mathdesign_ fonts support roman in OML encoding, while -% * many font packages define an italic font as OML replacement for a roman -% font. +% 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. % -% With some packages, these options can result in a "too many math alphabets -% used in version normal" error. +% 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* @@ -562,27 +137,35 @@ % Declarations % ============ % +% % Math alphabets % -------------- % -% 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 Greek and Latin letters in different typefaces. +% In math, LaTeX uses “absolute” fontnames instead of a selection by +% family, shape, and weight because typefaces have a semantic meaning +% (see 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. +% `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 +% ``reuseMathAlphabets`` option reduces this number by two, with the +% side effect of italic shape with ``\mathbf`` and ``\mathsf`` commands:: + +\ifisomath@reuseMathAlphabets + \PackageWarningNoLine{isomath}{% + Re-using math alphabet `mathsf' for \protect \mathboldsans + \MessageBreak and `mathbf' for \protect \mathbold + } +\fi + % mathbold -% """""""" -% +% ~~~~~~~~ % 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):: +% fixmath_ and related packages. With the reuseMathAlphabets_ option, +% the roman bold math alphabet ``\mathbf`` is redefined and +% ``\mathbold`` made an alias (overwriting existing definitions):: \ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathbf}{OML}{\isomath@rmdefault}{bx}{it} @@ -592,8 +175,7 @@ \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:: @@ -603,11 +185,11 @@ \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:: +% ~~~~~~~~~~~~ +% A *sans serif slanted bold* alphabet is needed for tensor symbols. +% With the reuseMathAlphabets_ option, the upright sans serif math +% alphabet ``\mathsf`` is redefined and ``\mathboldsans`` made an +% alias:: \ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathsf}{OML}{\isomath@sfdefault}{bx}{it} @@ -617,10 +199,10 @@ \fi % Redefine standard alphabets -% """"""""""""""""""""""""""" +% ~~~~~~~~~~~~~~~~~~~~~~~~~~~ % -% Redefine standard alphabets in `OML font encoding`_ -% if the corresponding `OML math alphabets`_ option is true:: +% Redefine standard alphabets in `OML` font encoding +% if the corresponding `OMLmath*`_ option is true:: \ifisomath@OMLmathrm \SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{m}{n} @@ -639,18 +221,18 @@ % --------------- % % The following macros allow semantic markup of mathematical symbols. -% The argument is typeset as proposed by ISO 31 and [typefaces]_. +% The argument is typeset as proposed by ISO 31 and +% `Typefaces for Symbols in Scientific Manuscripts`_. % % \\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). +% package (cf. the Examples section of the documentation). % % Attention: Some fonts (CM, Latin Modern, ...) have old-style figures in % their math italic version. The Null vector must not be written ``\vec{0}`` @@ -659,8 +241,7 @@ % alias for a bold vector. % % \\matrixsym -% """"""""""" -% +% ~~~~~~~~~~~ % Symbols for matrices are typeset *boldface italic*, i. e. in the same face % as vectors. :: @@ -668,114 +249,78 @@ % \\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. +% Some font packages provide matching text and 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: +% We define the substitutions needed for the math alphabet definitions +% in this package. Ideally, these should become part of the package's +% ``*.fd`` files. % -% Mathpazo (Palatino) ppl -> zplm :: +% For details about the font definition macros see the fntguide_. +% +% 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 (see omlzavm.fd): fav -> zavm :: -\DeclareFontFamily{OML}{fav}{\skewchar \font =127} -\DeclareFontShape{OML}{fav}{m}{it}{<->ssub * zavm/m/it}{} -\DeclareFontShape{OML}{fav}{bx}{it}{<->ssub * zavm/b/it}{} +% Scaling +% ~~~~~~~ +% Scale the ``fav`` (Arev), ``llcmss`` (LX Fonts), and ``iwona`` 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 :: + +\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}{llcmm}{\skewchar\font'177} -\DeclareFontShape{OML}{llcmm}{m}{it}{<-> lcmmi8}{} -\DeclareFontShape{OML}{llcmm}{bx}{it}{<-> lcmmib8}{} +\DeclareFontFamily{OML}{llcmss}{\skewchar\font'177} +\DeclareFontShape{OML}{llcmss}{m}{it}{<-> s * [\isomath@scaled] lcmmi8}{} +\DeclareFontShape{OML}{llcmss}{bx}{it}{<-> s * [\isomath@scaled] lcmmib8}{} -\DeclareFontFamily{OML}{llcmss}{} -\DeclareFontShape{OML}{llcmss}{m}{it}{<-> ssub * llcmm/m/it}{} -\DeclareFontShape{OML}{llcmss}{bx}{it}{<-> ssub * llcmm/bx/it}{} +% Ivona (see ``omliwona.fd``):: +\DeclareFontFamily{OML}{iwona}{} +\DeclareFontShape{OML}{iwona}{m}{it}{<-> s * [\isomath@scaled] mi-iwonari}{} +\DeclareFontShape{OML}{iwona}{bx}{it}{<-> s * [\isomath@scaled] mi-iwonabi}{} % No declarations below this point:: \endinput - -% References -% ********** -% -% .. [ISO-31] International Standard 31 `Quantities and units`, -% (ISO 31-0:1992 to ISO 31-14:1992): -% http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202 -% -% .. [typefaces] `Typefaces for Symbols in Scientific Manuscripts`: -% http://physics.nist.gov/Document/typefaces.pdf -% -% .. [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)`: -% 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 -% -% .. [tr25] `Unicode Support for Mathematics`, Unicode Technical Report #25: -% http://www.unicode.org/reports/tr25/ -% -% .. see also -% [koma-mail] Custom font substitution: http://www.komascript.de/node/823 -% -% [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 % .. ***** % % .. _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/ -% .. _NIST: http://physics.nist.gov/ -% .. _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 +% .. _fntguide: http://dante.ctan.org/CTAN/macros/latex/doc/fntguide.pdf % .. _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 +% .. _kvoptions: http://dante.ctan.org/CTAN/help/Catalogue/entries/kvoptions.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 +% .. _mathematical alphanumeric symbols: +% http://www.unicode.org/charts/PDF/U1D400.pdf % .. _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 +% .. _`Typefaces for Symbols in Scientific Manuscripts`: +% http://physics.nist.gov/Document/typefaces.pdf |