diff options
author | Karl Berry <karl@freefriends.org> | 2008-10-04 23:50:58 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-10-04 23:50:58 +0000 |
commit | d5d609e002170e08c67f533bcd4f4fada5196187 (patch) | |
tree | 4b1c02f4c562ceaadb494d5894d2e625f8b9c52a /Master | |
parent | 27ba1b8d22c0132a0b0c5fba15fb37ea10205cd3 (diff) |
isomath update (4oct08)
git-svn-id: svn://tug.org/texlive/trunk@10854 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/README.html | 16 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/README.txt | 15 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath-test.pdf | bin | 137429 -> 137549 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath-test.tex | 38 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath.sty.html | 375 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath.sty.pdf | bin | 192005 -> 198265 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath.sty.txt | 245 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/isomath/isomath.sty | 247 | ||||
-rwxr-xr-x | Master/tlpkg/bin/ctan2tds | 1 |
9 files changed, 549 insertions, 388 deletions
diff --git a/Master/texmf-dist/doc/latex/isomath/README.html b/Master/texmf-dist/doc/latex/isomath/README.html index a965f58f931..4ef137e6460 100644 --- a/Master/texmf-dist/doc/latex/isomath/README.html +++ b/Master/texmf-dist/doc/latex/isomath/README.html @@ -5,7 +5,7 @@ <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="2008-09-26" /> +<meta name="date" content="2008-10-02" /> <meta name="copyright" content="© 2008 Günter Milde <milde@users.berlios.de>" /> <style type="text/css"> @@ -292,7 +292,7 @@ ul.auto-toc { <col class="docinfo-content" /> <tbody valign="top"> <tr><th class="docinfo-name">Date:</th> -<td>2008-09-26</td></tr> +<td>2008-10-02</td></tr> <tr><th class="docinfo-name">Copyright:</th> <td>© 2008 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">Released under the terms of the GNU General Public License @@ -349,9 +349,9 @@ bold italic</em> fonts matching with Computer Modern and derivatives.</p> <div class="section" id="installation"> <h1>Installation</h1> <ul class="simple"> -<li>Unpack isomath.zip (preferabely in a TDS documentation folder).</li> +<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 it to a suitable place in the TDS and run texhash,</li> +<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> </li> @@ -365,10 +365,10 @@ bold italic</em> fonts matching with Computer Modern and derivatives.</p> \usepackage[sfdefault=cmbr]{isomath} \renewcommand{\vec}{\vectorsym} </pre> -<p>More examples and usage hints are in the literate source and documentation -files.</p> -<!-- References -========== --> +<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"> diff --git a/Master/texmf-dist/doc/latex/isomath/README.txt b/Master/texmf-dist/doc/latex/isomath/README.txt index 0c83147af4f..77d479962e9 100644 --- a/Master/texmf-dist/doc/latex/isomath/README.txt +++ b/Master/texmf-dist/doc/latex/isomath/README.txt @@ -1,7 +1,7 @@ isomath: Math for scientists ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -:Date: 2008-09-26 +:Date: 2008-10-02 :Copyright: © 2008 Günter Milde <milde@users.berlios.de> :Licence: Released under the terms of the GNU General Public License (v. 2 or later) @@ -47,11 +47,11 @@ All required packages are part of TeXLive and MikTeX. Installation ============ -* Unpack isomath.zip (preferabely in a TDS documentation folder). +* Unpack isomath.zip (preferabely in a TDS_ documentation folder). * Make sure LaTeX can find isomath.sty: - + Copy/Move it to a suitable place in the TDS and run texhash, + + 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). @@ -64,12 +64,11 @@ Use cmbright for the sans-serif math alphabets and redefine the \usepackage[sfdefault=cmbr]{isomath} \renewcommand{\vec}{\vectorsym} -More examples and usage hints are in the literate source and documentation -files. +More examples and usage hints are in the documentation files. -.. References - ========== +References +========== .. [typefaces] `Typefaces for Symbols in Scientific Manuscripts`: http://physics.nist.gov/Document/typefaces.pdf @@ -81,3 +80,5 @@ files. .. _cmbright: http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html .. _fixmath: http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html .. _kvoptions: http://dante.ctan.org/CTAN/help/Catalogue/entries/kvoptions.html + +.. _TDS: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds 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 02656102374..3d95a73d963 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 a4ce766ae2d..ce6ab3fa5b6 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath-test.tex +++ b/Master/texmf-dist/doc/latex/isomath/isomath-test.tex @@ -33,7 +33,7 @@ % gfsneohellenic% (use option [default]) no bold % hfoldsty% bitmap fonts % iwona% sets cmss as sans font (use iwona) -% kpfonts% no sans serif italic, needs reuseMathalphabets +% 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) @@ -42,7 +42,7 @@ 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?) -% pxfonts% needs reuseMathalphabets, no sans-serif +% pxfonts% needs reuseMathAlphabets, no sans-serif % tgpagella,qpxmath% \sfdefault is cmss (use cmbr?) % tgtermes,qtxmath% \sfdefault is cmss (use cmbr?) % txfonts% no sans-serif @@ -51,9 +51,10 @@ mathdesign% \sfdefault is cmss (use cmbr?) provides roman and roman bold in % Options % ------- -% :: +% Uncomment the line(s) with the required options! + +% Options for the font package call:: -% Options for the font package call: \newcommand*{\fontpackageoptions}{} \renewcommand*{\fontpackageoptions}{% % default% {gfsneohellenic} @@ -62,16 +63,18 @@ mathdesign% \sfdefault is cmss (use cmbr?) provides roman and roman bold in utopia% {mathdesign} % \sfdefault is cmss (use cmbr?) } -% Options for +% Isomath options:: + \newcommand*{\isomathoptions}{} \renewcommand*{\isomathoptions}{% -% reuseMathalphabets% -% OMLmathsans% -OMLmathsans,OMLmathbf,sfdefault=cmbr% -% OMLmathsans,sfdefault=cmbr% CM-Bright -% OMLmathsans,sfdefault=iwona% Iwona sans -% sfdefault=zavm% Arew sans (larger than normal) -% sfdefault=llcmm% LX sans (larger than normal) +% reuseMathAlphabets,% +OMLmathsans,% +OMLmathbf,% +% OMLmathsf, +sfdefault=cmbr% CM-Bright +% sfdefault=iwona% Iwona sans (some glyphs too close to roman) +% sfdefault=zavm% Arew sans (larger than normal) +% sfdefault=llcmm% LX sans (larger than normal) } % Load customisable packages @@ -111,8 +114,9 @@ Default font families: \subsection{Math alphabets} -If there are ligatures (ff, fi, ...) instead of small Greek letters in a -math alphabet, T1 or OT1 encoding is used 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. % Define a teststring with Latin and Greek letters \newcommand{\teststring}{% @@ -147,7 +151,8 @@ a,g, \subsection{Vector symbols} -Symbols for vectors are boldface italic $\vec{\alpha}=\vec{e}_{1}\cdot\vec{a}$ +Symbols for vectors are boldface italic: +$\vec{\alpha}=\vec{e}_{1}\cdot\vec{a}$ \subsection{Matrix symbols} @@ -157,7 +162,8 @@ face as vectors:% \footnote{However, matrix symbols are usually capital letters whereas vectors are small ones. Exceptions are physical Quantities like the force vector $\vec{F}$ or the electrical field $\vec{E}$.% -} $\matrixsym{\Gamma}=\matrixsym{E}\cdot\matrixsym{A}.$ +} +$\matrixsym{\Gamma}=\matrixsym{E}\cdot\matrixsym{A}.$ \subsection{Tensor symbols} diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.sty.html b/Master/texmf-dist/doc/latex/isomath/isomath.sty.html index 87bbd7ff324..e715047ab01 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath.sty.html +++ b/Master/texmf-dist/doc/latex/isomath/isomath.sty.html @@ -308,64 +308,75 @@ and a <em>sans-serif bold italic</em> math alphabet are defined.</p> <div class="contents topic" id="contents"> <p class="topic-title first">Contents</p> <ul class="simple"> -<li><a class="reference internal" href="#introduction" id="id13">Introduction</a><ul> -<li><a class="reference internal" href="#motivation" id="id14">Motivation</a></li> -<li><a class="reference internal" href="#features" id="id15">Features</a></li> -<li><a class="reference internal" href="#examples" id="id16">Examples</a></li> -<li><a class="reference internal" href="#related-packages" id="id17">Related packages</a><ul> -<li><a class="reference internal" href="#conflicts" id="id18">Conflicts</a></li> +<li><a class="reference internal" href="#introduction" id="id11">Introduction</a><ul> +<li><a class="reference internal" href="#motivation" id="id12">Motivation</a></li> +<li><a class="reference internal" href="#features" id="id13">Features</a></li> +<li><a class="reference internal" href="#usage" id="id14">Usage</a><ul> +<li><a class="reference internal" href="#examples" id="id15">Examples</a></li> </ul> </li> -<li><a class="reference internal" href="#oml-font-encoding" id="id19">OML font encoding</a></li> -<li><a class="reference internal" href="#conclusions-and-outlook" id="id20">Conclusions and outlook</a></li> +<li><a class="reference internal" href="#related-packages" id="id16">Related packages</a><ul> +<li><a class="reference internal" href="#conflicts" id="id17">Conflicts</a></li> </ul> </li> -<li><a class="reference internal" href="#implementation" id="id21">Implementation</a><ul> -<li><a class="reference internal" href="#identification" id="id22">Identification</a></li> -<li><a class="reference internal" href="#requirements" id="id23">Requirements</a><ul> -<li><a class="reference internal" href="#fixmath" id="id24">fixmath</a></li> -<li><a class="reference internal" href="#kvoptions" id="id25">kvoptions</a></li> +<li><a class="reference internal" href="#greek-in-math" id="id18">Greek in Math</a><ul> +<li><a class="reference internal" href="#unicode-math-support" id="id19">Unicode Math Support</a></li> +<li><a class="reference internal" href="#oml-font-encoding" id="id20">OML font encoding</a><ul> +<li><a class="reference internal" href="#definition" id="id21">Definition</a></li> +<li><a class="reference internal" href="#support" id="id22">Support</a></li> </ul> </li> -<li><a class="reference internal" href="#options" id="id26">Options</a><ul> -<li><a class="reference internal" href="#rmdefault" id="id27">rmdefault</a></li> -<li><a class="reference internal" href="#sfdefault" id="id28">sfdefault</a></li> -<li><a class="reference internal" href="#reusemathalphabets" id="id29">reuseMathalphabets</a></li> -<li><a class="reference internal" href="#oml-math-alphabets" id="id30">OML math alphabets</a></li> +<li><a class="reference internal" href="#conclusions-and-outlook" id="id23">Conclusions and outlook</a></li> </ul> </li> -<li><a class="reference internal" href="#declarations" id="id31">Declarations</a><ul> -<li><a class="reference internal" href="#math-alphabets" id="id32">Math alphabets</a><ul> -<li><a class="reference internal" href="#mathbold" id="id33">mathbold</a></li> -<li><a class="reference internal" href="#mathsans" id="id34">mathsans</a></li> -<li><a class="reference internal" href="#mathboldsans" id="id35">mathboldsans</a></li> -<li><a class="reference internal" href="#redefine-standard-alphabets" id="id36">Redefine standard alphabets</a></li> </ul> </li> -<li><a class="reference internal" href="#command-aliases" id="id37">Command aliases</a><ul> -<li><a class="reference internal" href="#vectorsym" id="id38">\vectorsym</a></li> -<li><a class="reference internal" href="#matrixsym" id="id39">\matrixsym</a></li> -<li><a class="reference internal" href="#tensorsym" id="id40">\tensorsym</a></li> +<li><a class="reference internal" href="#implementation" id="id24">Implementation</a><ul> +<li><a class="reference internal" href="#identification" id="id25">Identification</a></li> +<li><a class="reference internal" href="#requirements" id="id26">Requirements</a><ul> +<li><a class="reference internal" href="#fixmath-sty" id="id27">fixmath.sty</a></li> +<li><a class="reference internal" href="#kvoptions-sty" id="id28">kvoptions.sty</a></li> </ul> </li> -<li><a class="reference internal" href="#font-mappings" id="id41">Font mappings</a></li> +<li><a class="reference internal" href="#options" id="id29">Options</a><ul> +<li><a class="reference internal" href="#rmdefault" id="id30">rmdefault</a></li> +<li><a class="reference internal" href="#sfdefault" id="id31">sfdefault</a></li> +<li><a class="reference internal" href="#reusemathalphabets" id="id32">reuseMathAlphabets</a></li> +<li><a class="reference internal" href="#oml-math-alphabets" id="id33">OML math alphabets</a></li> </ul> </li> +<li><a class="reference internal" href="#declarations" id="id34">Declarations</a><ul> +<li><a class="reference internal" href="#math-alphabets" id="id35">Math alphabets</a><ul> +<li><a class="reference internal" href="#mathbold" id="id36">mathbold</a></li> +<li><a class="reference internal" href="#mathsans" id="id37">mathsans</a></li> +<li><a class="reference internal" href="#mathboldsans" id="id38">mathboldsans</a></li> +<li><a class="reference internal" href="#redefine-standard-alphabets" id="id39">Redefine standard alphabets</a></li> </ul> </li> -<li><a class="reference internal" href="#references" id="id42">References</a></li> +<li><a class="reference internal" href="#command-aliases" id="id40">Command aliases</a><ul> +<li><a class="reference internal" href="#vectorsym" id="id41">\vectorsym</a></li> +<li><a class="reference internal" href="#matrixsym" id="id42">\matrixsym</a></li> +<li><a class="reference internal" href="#tensorsym" id="id43">\tensorsym</a></li> +</ul> +</li> +<li><a class="reference internal" href="#font-mappings" id="id44">Font mappings</a></li> +</ul> +</li> +</ul> +</li> +<li><a class="reference internal" href="#references" id="id45">References</a></li> </ul> </div> <div class="section" id="introduction"> -<h1><a class="toc-backref" href="#id13">Introduction</a></h1> +<h1><a class="toc-backref" href="#id11">Introduction</a></h1> <div class="section" id="motivation"> -<h2><a class="toc-backref" href="#id14">Motivation</a></h2> +<h2><a class="toc-backref" href="#id12">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 International Standard <a class="reference external" href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202">ISO 31</a> -<cite>Quantities and units</cite> (ISO 31-0:1992 to ISO 31-14:1992).<a class="footnote-reference" href="#id3" id="id1"><sup>1</sup></a></p> -<p>The traditional <cite>LaTeX-style</cite> deviates in some points from this rules:</p> +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> @@ -373,61 +384,39 @@ a <em>bold italic</em> typeface for vector symbols.</li> 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 (even though the required fonts are -available).</li> +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>Also, the Unicode Standard defines the block <a class="reference external" href="http://www.unicode.org/charts/PDF/U1D400.pdf">mathematical alphanumeric -symbols</a> — <em>To be used for mathematical variables where style variations -are important semantically</em> — which contains Latin and Greek letters in -bold, italic, bold italic, sans-serif bold, and sans-serif bold italic -typeface.<a class="footnote-reference" href="#id7" id="id2"><sup>2</sup></a></p> -<p>Some of these points are already adressed by <a class="reference internal" href="#related-packages">related packages</a>, however +<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="#id1">[1]</a></td><td>A summary of these rules is free available <a class="citation-reference" href="#typefaces" id="id4">[typefaces]</a>. See also -<a class="citation-reference" href="#fonts-for-symbols" id="id5">[fonts-for-symbols]</a> and <a class="citation-reference" href="#si-brochure" id="id6">[SI-brochure]</a>.</td></tr> -</tbody> -</table> -<table class="docutils footnote" frame="void" id="id7" rules="none"> -<colgroup><col class="label" /><col /></colgroup> -<tbody valign="top"> -<tr><td class="label"><a class="fn-backref" href="#id2">[2]</a></td><td>Plus Number variants and Latin letters in script, bold script, -fraktur, bold fraktur, double-struck, sans-serif and monospace; -alltogether 1023 codepoints.</td></tr> +<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="#fonts-for-symbols" id="id5">[fonts-for-symbols]</a>, and <a class="citation-reference" href="#si-brochure" id="id6">[SI-brochure]</a>.</td></tr> </tbody> </table> </div> <div class="section" id="features"> -<h2><a class="toc-backref" href="#id15">Features</a></h2> +<h2><a class="toc-backref" href="#id13">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">It utilises <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html">fixmath</a> to re-define Greek letters as <tt class="docutils literal"><span class="pre">\mathalpha</span></tt>, taking -them from the "letters" symbol fonts (as opposed to "operators" in -<tt class="docutils literal"><span class="pre">fontmath.ltx</span></tt>). This ensures that</p> +<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 are 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 are OML encoded.</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> -<dl class="docutils"> -<dt>Caution: small Greek letters in a math alphabet command can lead to garbage.</dt> -<dd><p class="first last">Use the options for <a class="reference internal" href="#oml-math-alphabets">OML math alphabets</a> (if the used font supports the -<a class="reference internal" href="#oml-font-encoding">OML font encoding</a>) or place Greek letters outside the math alphabet -command. Some packages (including <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html">fixmath</a>) 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> -</dd> -</dl> </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 selecting an ISO-conforming typeface.</p> +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"> @@ -447,13 +436,17 @@ allow semantic markup selecting an ISO-conforming typeface.</p> <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 miss the substitution definition in their <tt class="docutils literal"><span class="pre">*.fd</span></tt> +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="#id14">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> <div class="section" id="examples"> -<h2><a class="toc-backref" href="#id16">Examples</a></h2> +<h3><a class="toc-backref" href="#id15">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 @@ -476,14 +469,15 @@ not set it up for <tt class="docutils literal"><span class="pre">\mathbf</span>< \usepackage[charter]{mathdesign} \usepackage[OMLmathbf,sfdefault=cmbr]{isomath} </pre> -<p>Now, <tt class="docutils literal"><span class="pre">\mathbf{\pi}</span></tt> works as expected.</p> +<p>Now, <tt class="docutils literal"><span class="pre">\mathbf{\pi}</span></tt> produces a bold upright pi symbol.</p> </li> </ul> </div> +</div> <div class="section" id="related-packages"> -<h2><a class="toc-backref" href="#id17">Related packages</a></h2> -<p>Some packages already define 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> +<h2><a class="toc-backref" href="#id16">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> @@ -493,33 +487,53 @@ not set it up for <tt class="docutils literal"><span class="pre">\mathbf</span>< <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 builds on and extends <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html">fixmath</a> by Walter Schmidt -(see <a class="reference internal" href="#requirements">Requirements</a>).</p> -<p>The <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html">cmbright</a> package provides fonts for <tt class="docutils literal"><span class="pre">\mathsans</span></tt> and -<tt class="docutils literal"><span class="pre">\mathboldsans</span></tt> matching with Computer Modern and derivatives.</p> +<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="#id18">Conflicts</a></h3> +<h3><a class="toc-backref" href="#id17">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).</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 and can only be combined with <tt class="docutils literal"><span class="pre">isomath</span></tt>, if the -<a class="reference internal" href="#reusemathalphabets">reuseMathalphabets</a> option is used.</p> +<a class="reference internal" href="#reusemathalphabets">reuseMathAlphabets</a> option is used.</p> +</div> </div> +<div class="section" id="greek-in-math"> +<h2><a class="toc-backref" href="#id18">Greek in Math</a></h2> +<div class="section" id="unicode-math-support"> +<h3><a class="toc-backref" href="#id19">Unicode Math Support</a></h3> +<p>The technical report <cite>Unicode Support for Mathematics</cite> <a class="citation-reference" href="#tr25" id="id7">[tr25]</a> lists +<em>alphanumeric symbols encountered in mathematics</em> in Table 2.1 <cite>Mathematical +Alphabets</cite>. It includes Latin and Greek letters in the bold, italic, bold +italic, sans-serif bold, and sans-serif bold italic math styles.</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 "to be used for +mathematical variables where style variations are important semantically".</p> </div> <div class="section" id="oml-font-encoding"> -<h2><a class="toc-backref" href="#id19">OML font encoding</a></h2> -<p>The <cite>LaTeX font encodings</cite> guide <a class="citation-reference" href="#encguide" id="id8">[encguide]</a> defines:</p> +<h3><a class="toc-backref" href="#id20">OML font encoding</a></h3> +<p>The OML font encoding is the only established encoding providing +Latin and Greek letters in one font:</p> +<ul class="simple"> +<li>LGR is Greek-only,</li> +<li>T7 is just a "reserved name" for a standard Greek encoding.</li> +</ul> +<div class="section" id="definition"> +<h4><a class="toc-backref" href="#id21">Definition</a></h4> +<p>The <cite>LaTeX font encodings</cite> guide <a class="citation-reference" href="#encguide" id="id8">[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>and names it <cite>TeX math italic</cite>. However, the reference to <em>italic</em> seems to -be a description of the <em>state of the art</em> rather than a necessary -restriction:</p> +<p>However, the reference to <strong>italic</strong> seems to be a description of the <em>state +of the art</em> rather than a necessary restriction:</p> <ul class="simple"> -<li>The only OML encoded CM font is "Computer Modern Math Italic" (cmmi),</li> +<li>The only OML encoded CM font is <cite>Computer Modern Math Italic</cite> (cmmi),</li> <li>but generally, font encodings (T1, OT1) are not specific to the font shape.</li> <li>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 define OML encoded math @@ -527,12 +541,9 @@ alphabets in roman {n} as well as italic {it} shape without conflicts.</li> <li>A more suitable public name would be <cite>TeX math letters</cite> or <cite>Original/Old Math Letters</cite>. The latter would also explain the acronym OML.</li> </ul> -<p>The OML font encoding is the only established encoding providing -Latin and Greek letters in one font:</p> -<ul class="simple"> -<li>LGR is Greek-only,</li> -<li>T7 is just a "reserved name" for a standard Greek encoding.</li> -</ul> +</div> +<div class="section" id="support"> +<h4><a class="toc-backref" href="#id22">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 @@ -883,16 +894,16 @@ substitution can be set with the <a class="reference internal" href="#rmdefault" </tbody> </table> </div> +</div> <div class="section" id="conclusions-and-outlook"> -<h2><a class="toc-backref" href="#id20">Conclusions and outlook</a></h2> +<h3><a class="toc-backref" href="#id23">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 the full support of the <a class="reference external" href="http://www.unicode.org/charts/PDF/U1D400.pdf">Mathematical +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 is (relatively) easy to achieve via virtual fonts when the glyphs for -the Greek letters already exist (this is the case for many fonts where the -primary version is Unicode encoded). Examples are Latin Modern, Kerkis, -GFS-Neohellenic, LX-Fonts and KP-Serif.</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, T7 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 @@ -900,31 +911,63 @@ 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="#id21">Implementation</a></h1> +<h1><a class="toc-backref" href="#id24">Implementation</a></h1> <div class="section" id="identification"> -<h2><a class="toc-backref" href="#id22">Identification</a></h2> +<h2><a class="toc-backref" href="#id25">Identification</a></h2> <pre class="literal-block"> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{isomath} -[2008/06/23 v0.1 typeset math according to International Standard ISO 31] +[2008/10/02 v0.2 typeset math according to International Standard ISO 31] </pre> +<table border="1" class="borderless docutils"> +<colgroup> +<col width="7%" /> +<col width="14%" /> +<col width="79%" /> +</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; +updated documentation; +define mathsans only if OMLmathsans is true; +option reuseMathalphabets -> reuseMathAlphabets.</td> +</tr> +</tbody> +</table> </div> <div class="section" id="requirements"> -<h2><a class="toc-backref" href="#id23">Requirements</a></h2> -<div class="section" id="fixmath"> -<h3><a class="toc-backref" href="#id24">fixmath</a></h3> -<p><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>. (It 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>. This definition will be overwritten with a configurable value for +<h2><a class="toc-backref" href="#id26">Requirements</a></h2> +<div class="section" id="fixmath-sty"> +<h3><a class="toc-backref" href="#id27">fixmath.sty</a></h3> +<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> <pre class="literal-block"> \RequirePackage{fixmath} </pre> +<div class="caution"> +<p class="first admonition-title">Caution!</p> +<p>Placing small Greek letters in a math alphabet, e.g. +<tt class="docutils literal"><span class="pre">\mathrm{k\Omega}</span></tt>, can lead to garbage.</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"> -<h3><a class="toc-backref" href="#id25">kvoptions</a></h3> +<div class="section" id="kvoptions-sty"> +<h3><a class="toc-backref" href="#id28">kvoptions.sty</a></h3> <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"> @@ -933,9 +976,9 @@ 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="#id26">Options</a></h2> +<h2><a class="toc-backref" href="#id29">Options</a></h2> <div class="section" id="rmdefault"> -<h3><a class="toc-backref" href="#id27">rmdefault</a></h3> +<h3><a class="toc-backref" href="#id30">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 OMS encoding. <a class="reference internal" href="#table-2">Table 2</a> lists some fonts where a different setting is advised.</p> @@ -944,7 +987,7 @@ corresponding text font family (<tt class="docutils literal"><span class="pre">\ </pre> </div> <div class="section" id="sfdefault"> -<h3><a class="toc-backref" href="#id28">sfdefault</a></h3> +<h3><a class="toc-backref" href="#id31">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 OMS encoding.</p> <p>Computer Modern Sans Serif (cmss) has no OMS encoded variant. Nor have many @@ -977,29 +1020,40 @@ recommended setting.</p> </dl> </div> <div class="section" id="reusemathalphabets"> -<h3><a class="toc-backref" href="#id29">reuseMathalphabets</a></h3> +<h3><a class="toc-backref" href="#id32">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, that this toggles the math-mode off and +commands might be used (however, this toggles the math-mode off and might use a different font).</p> <pre class="literal-block"> -\DeclareBoolOption{reuseMathalphabets} +\DeclareBoolOption{reuseMathAlphabets} </pre> -<p>Caution: Do not use <tt class="docutils literal"><span class="pre">reuseMathalphabets</span></tt> together with <tt class="docutils literal"><span class="pre">OMLmathbf</span></tt> or -<tt class="docutils literal"><span class="pre">OMLmathsf</span></tt>.</p> +<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="#id30">OML math alphabets</a></h3> -<p>The following options cause isomath to (re)define <a class="reference internal" href="#math-alphabets">math alphabets</a> in OML -encoding.</p> +<h3><a class="toc-backref" href="#id33">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> as OT1 encoded fonts have ligatures -and non-alpha symbols in place of the small Greek letters.</p> +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> +<pre class="literal-block"> +\DeclareBoolOption{OMLmathrm} +\DeclareBoolOption{OMLmathbf} +\DeclareBoolOption{OMLmathsf} +\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> <strong>if an OML encoded font is available</strong>. +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 <em>bold roman</em> in OML encoding, while</li> @@ -1008,13 +1062,6 @@ font.</li> </ul> <p>With some packages, these options can result in a "too many math alphabets used in version normal" error.</p> -<pre class="literal-block"> -\DeclareBoolOption{OMLmathrm} -\DeclareBoolOption{OMLmathbf} -\DeclareBoolOption{OMLmathsf} -\DeclareBoolOption{OMLmathsans} -\DeclareBoolOption{OMLmathtt} -</pre> <hr class="docutils" /> <p>Process the options with <tt class="docutils literal"><span class="pre">kvoptions</span></tt> extensions:</p> <pre class="literal-block"> @@ -1023,23 +1070,26 @@ used in version normal" error.</p> </div> </div> <div class="section" id="declarations"> -<h2><a class="toc-backref" href="#id31">Declarations</a></h2> +<h2><a class="toc-backref" href="#id34">Declarations</a></h2> <div class="section" id="math-alphabets"> -<h3><a class="toc-backref" href="#id32">Math alphabets</a></h3> +<h3><a class="toc-backref" href="#id35">Math alphabets</a></h3> <p>In math, LaTeX uses "absolute" fontnames instead of a selection by family, -shape, and weight (see the <a class="citation-reference" href="#fntguide" id="id9">[fntguide]</a> for the rationale).</p> -<p>We define a math alphabet for every required font variant and optionally -re-define the standard math alphabets in <a class="reference internal" href="#oml-font-encoding">OML font encoding</a>. +shape, and weight because typefaces have a semantic meaning <a class="citation-reference" href="#fntguide" id="id9">[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 in 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> <div class="section" id="mathbold"> -<h4><a class="toc-backref" href="#id33">mathbold</a></h4> -<p>For the <em>`italic bold</em> math alphabet we use the name <tt class="docutils literal"><span class="pre">\mathbold</span></tt> -established 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> +<h4><a class="toc-backref" href="#id36">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> <pre class="literal-block"> -\ifisomath@reuseMathalphabets +\ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathbf}{OML}{\isomath@rmdefault}{bx}{it} \def\mathbold{\mathbf} \else @@ -1048,7 +1098,7 @@ existing definitions).</p> </pre> </div> <div class="section" id="mathsans"> -<h4><a class="toc-backref" href="#id34">mathsans</a></h4> +<h4><a class="toc-backref" href="#id37">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> @@ -1059,12 +1109,12 @@ only defined if the <tt class="docutils literal"><span class="pre">OMLmathsans</ </pre> </div> <div class="section" id="mathboldsans"> -<h4><a class="toc-backref" href="#id35">mathboldsans</a></h4> +<h4><a class="toc-backref" href="#id38">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> +<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> <pre class="literal-block"> -\ifisomath@reuseMathalphabets +\ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathsf}{OML}{\isomath@sfdefault}{bx}{it} \def\mathboldsans{\mathsf} \else @@ -1073,9 +1123,9 @@ made an alias:</p> </pre> </div> <div class="section" id="redefine-standard-alphabets"> -<h4><a class="toc-backref" href="#id36">Redefine standard alphabets</a></h4> +<h4><a class="toc-backref" href="#id39">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> +if the corresponding <a class="reference internal" href="#oml-math-alphabets">OML math alphabets</a> option is true:</p> <pre class="literal-block"> \ifisomath@OMLmathrm \SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{n}{n} @@ -1093,11 +1143,11 @@ made an alias:</p> </div> </div> <div class="section" id="command-aliases"> -<h3><a class="toc-backref" href="#id37">Command aliases</a></h3> +<h3><a class="toc-backref" href="#id40">Command aliases</a></h3> <p>The following macros allow semantic markup of mathematical symbols. -The symbols argument is typeset as proposed by ISO 31 and <a class="citation-reference" href="#typefaces" id="id10">[typefaces]</a>.</p> +The argument is typeset as proposed by ISO 31 and <a class="citation-reference" href="#typefaces" id="id10">[typefaces]</a>.</p> <div class="section" id="vectorsym"> -<h4><a class="toc-backref" href="#id38">\vectorsym</a></h4> +<h4><a class="toc-backref" href="#id41">\vectorsym</a></h4> <p>Symbols for vectors are typeset <em>boldface italic</em>:</p> <pre class="literal-block"> \newcommand{\vectorsym}{\mathbold} @@ -1107,7 +1157,7 @@ you might want to re-define the standard <tt class="docutils literal"><span clas package (cf. the <a class="reference internal" href="#examples">Examples</a> section).</p> </div> <div class="section" id="matrixsym"> -<h4><a class="toc-backref" href="#id39">\matrixsym</a></h4> +<h4><a class="toc-backref" href="#id42">\matrixsym</a></h4> <p>Symbols for matrices are typeset <em>boldface italic</em>, i. e. in the same face as vectors.</p> <pre class="literal-block"> @@ -1115,7 +1165,7 @@ as vectors.</p> </pre> </div> <div class="section" id="tensorsym"> -<h4><a class="toc-backref" href="#id40">\tensorsym</a></h4> +<h4><a class="toc-backref" href="#id43">\tensorsym</a></h4> <p>Symbols for tensors are <em>sans-serif bold italic</em>:</p> <pre class="literal-block"> \newcommand{\tensorsym}{\mathboldsans} @@ -1123,7 +1173,7 @@ as vectors.</p> </div> </div> <div class="section" id="font-mappings"> -<h3><a class="toc-backref" href="#id41">Font mappings</a></h3> +<h3><a class="toc-backref" href="#id44">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 @@ -1160,7 +1210,15 @@ definitions in the package's <tt class="docutils literal"><span class="pre">*.fd </div> </div> <div class="section" id="references"> -<h1><a class="toc-backref" href="#id42">References</a></h1> +<h1><a class="toc-backref" href="#id45">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"> @@ -1197,6 +1255,13 @@ scientific text</cite>, (Revised December 1999): <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="#id7">[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 diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.sty.pdf b/Master/texmf-dist/doc/latex/isomath/isomath.sty.pdf Binary files differindex a7bd54414f2..662fea4dab0 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath.sty.pdf +++ b/Master/texmf-dist/doc/latex/isomath/isomath.sty.pdf diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt b/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt index eb407f37486..aa082fdd79c 100644 --- a/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt +++ b/Master/texmf-dist/doc/latex/isomath/isomath.sty.txt @@ -23,10 +23,10 @@ Motivation *sans-serif bold italic* typeface, as recommended by [typefaces]_? Scientific organisations like IUPAP_, IUPAC_, NIST_, BIPM_, and others -recommend typesetting math according to International Standard `ISO 31`_ -`Quantities and units` (ISO 31-0:1992 to ISO 31-14:1992).\ [#]_ +recommend typesetting math according to the International Standard ISO 31 +`Quantities and units` [ISO-31]_.\ [#]_ -The traditional `LaTeX-style` deviates in some points from this rules: +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. @@ -36,28 +36,17 @@ The traditional `LaTeX-style` deviates in some points from this rules: and the Latin alphabet. * There is no provision for typesetting of Greek letters in *bold italic* - style recommended for vectors (even though the required fonts are - available). + style recommended for vectors. * There is no provision for typesetting letters in *sans-serif bold italic* recommended for typesetting tensor symbols. -Also, the Unicode Standard defines the block `mathematical alphanumeric -symbols`_ — *To be used for mathematical variables where style variations -are important semantically* — which contains Latin and Greek letters in -bold, italic, bold italic, sans-serif bold, and sans-serif bold italic -typeface.\ [#]_ - -Some of these points are already adressed by `related packages`_, however +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. -.. [#] A summary of these rules is free available [typefaces]_. See also - [fonts-for-symbols]_ and [SI-brochure]_. - -.. [#] Plus Number variants and Latin letters in script, bold script, - fraktur, bold fraktur, double-struck, sans-serif and monospace; - alltogether 1023 codepoints. +.. [#] Summaries of these rules are free available, see [typefaces]_, + [fonts-for-symbols]_, and [SI-brochure]_. Features @@ -66,26 +55,20 @@ Features The ``isomath.sty`` package facilitates the task to abide with ISO 31 when typesetting math with LaTeX: -* It utilises fixmath_ to re-define Greek letters as ``\mathalpha``, taking - them from the "letters" symbol fonts (as opposed to "operators" in - ``fontmath.ltx``). This ensures that +* 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 are available through the ``\mathrm`` and - ``\mathbf`` alphabets, if the corresponding fonts are OML encoded. - - Caution: small Greek letters in a math alphabet command can lead to garbage. - Use the options for `OML math alphabets`_ (if the used font supports the - `OML font encoding`_) or place Greek letters outside the math alphabet - command. Some packages (including fixmath_) provide ``\up*`` or - ``\var*`` macros for upright Greek letters, e.g. ``\mathrm{k}\upOmega``. + + 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 selecting an ISO-conforming typeface. + allow semantic markup. They print the argument in an ISO-conforming + typeface. * For this, new `math alphabets`_ are defined: @@ -98,13 +81,18 @@ typesetting math with LaTeX: ``sfdefault=<family>`` options_ can be used to override the defaults. * Missing `font mappings`_ are defined for font families which have an OML - encoded counterpart but miss the substitution definition in their ``*.fd`` + encoded counterpart but no substitution definition in their ``*.fd`` files. -Examples -======== +Usage +===== +Make sure that LaTeX can find ``isomath.sty`` and insert the command +``\usepackage{isomath}`` in the document preamble. + +Examples +-------- * In many cases (e.g. when ``\sfdefault`` expands to "cmss"), the ``\mathboldsans`` alphabet is neither bold nor sans, as "cmss" has no OML @@ -126,13 +114,13 @@ Examples \usepackage[charter]{mathdesign} \usepackage[OMLmathbf,sfdefault=cmbr]{isomath} - Now, ``\mathbf{\pi}`` works as expected. + Now, ``\mathbf{\pi}`` produces a bold upright pi symbol. Related packages ================ -Some packages already define Greek letters as ``\mathalpha`` and provide the -``\mathbold`` alphabet (in OML): +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) @@ -142,11 +130,11 @@ Some packages already define Greek letters as ``\mathalpha`` and provide the * mathpazo_ (Palatino) * tmmath_ (TM-Math/Times) -This package builds on and extends fixmath_ by Walter Schmidt -(see Requirements_). +This package requires and extends fixmath.sty_. -The cmbright_ package provides fonts for ``\mathsans`` and -``\mathboldsans`` matching with Computer Modern and derivatives. +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 --------- @@ -158,22 +146,47 @@ documentation). The `kpfonts`_, `pxfonts`_, and `txfonts`_ packages define many additional math alphabets and can only be combined with ``isomath``, if the -reuseMathalphabets_ option is used. +reuseMathAlphabets_ option is used. + +Greek in Math +============= + +Unicode Math Support +-------------------- + +The technical report `Unicode Support for Mathematics` [tr25]_ lists +*alphanumeric symbols encountered in mathematics* in Table 2.1 `Mathematical +Alphabets`. It includes Latin and Greek letters in the bold, italic, bold +italic, sans-serif bold, and sans-serif bold italic math styles. + +The Unicode block `mathematical alphanumeric symbols`_ provides style +variants for Latin and Greek letters and digits. It is "to be used for +mathematical variables where style variations are important semantically". + OML font encoding -================= +----------------- -The `LaTeX font encodings` guide [encguide]_ defines: +The OML font encoding is the only established encoding providing +Latin and Greek letters in one font: + +* LGR is Greek-only, +* T7 is just a "reserved name" for a standard Greek encoding. + +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. -and names it `TeX math italic`. However, the reference to *italic* seems to -be a description of the *state of the art* rather than a necessary -restriction: +However, the reference to **italic** seems to be a description of the *state +of the art* rather than a necessary restriction: -* The only OML encoded CM font is "Computer Modern Math Italic" (cmmi), +* The only OML encoded CM font is `Computer Modern Math Italic` (cmmi), * but generally, font encodings (T1, OT1) are not specific to the font shape. @@ -184,11 +197,8 @@ restriction: * A more suitable public name would be `TeX math letters` or `Original/Old Math Letters`. The latter would also explain the acronym OML. -The OML font encoding is the only established encoding providing -Latin and Greek letters in one font: - -* LGR is Greek-only, -* T7 is just a "reserved name" for a standard Greek encoding. +Support +""""""" Unfortunately, support for the OML encoding is missing for many font families even if the base font contains all Greek letters. @@ -283,17 +293,16 @@ substitution can be set with the rmdefault_ option. ============= =============================== Conclusions and outlook -======================= +----------------------- It is hoped, that in the future more fonts families will support the OML -encoding in normal and bold weight as well as upright and italic shape. -This would be a major step towards the full support of the `Mathematical +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 is (relatively) easy to achieve via virtual fonts when the glyphs for -the Greek letters already exist (this is the case for many fonts where the -primary version is Unicode encoded). Examples are Latin Modern, Kerkis, -GFS-Neohellenic, LX-Fonts and KP-Serif. +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, T7 could be used for math alphabets (if it ever happens to materialise). @@ -311,25 +320,52 @@ Identification \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{isomath} - [2008/06/23 v0.1 typeset math according to International Standard ISO 31] + [2008/10/02 v0.2 typeset math according to International Standard ISO 31] + +.. 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. +===== ========== ======================================================== + Requirements ============ -fixmath -------- +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``). -fixmath_ by Walter Schmidt defines Greek letters as symbols of type -``\mathalpha`` and takes them from the "letters" SymbolFont in -``\mathnormal``. (It also defines the ``\mathbold`` alphabet, setting it to -``cmm``. This definition will be overwritten with a configurable value for +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.) + :: \RequirePackage{fixmath} -kvoptions ---------- +.. caution:: + + Placing small Greek letters in a math alphabet, e.g. + ``\mathrm{k\Omega}``, can lead to garbage. + + If the chosen font supports the `OML font encoding`_, you can use the + options for `OML math alphabets`_. Otherwise, place Greek letters + outside the math alphabet command. + + 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_):: @@ -377,7 +413,7 @@ TODO Allow scaling? -reuseMathalphabets +reuseMathAlphabets ------------------ The definition of new `math alphabets`_ can lead to a "too many math @@ -387,29 +423,37 @@ As a workaround, this option tells ``isomath`` to re-use the existing ``\mathbf`` and ``\mathsf`` alphabets for italic bold and sans-serif bold. To access the upright shapes, the corresponding ``\textbf`` and ``\textsf`` -commands might be used (however, that this toggles the math-mode off and +commands might be used (however, this toggles the math-mode off and might use a different font). :: - \DeclareBoolOption{reuseMathalphabets} + \DeclareBoolOption{reuseMathAlphabets} -Caution: Do not use ``reuseMathalphabets`` together with ``OMLmathbf`` or -``OMLmathsf``. +.. caution:: + Do not use ``reuseMathAlphabets`` together with the ``OMLmathbf`` or + ``OMLmathsf`` options. OML math alphabets ------------------ -The following options cause isomath to (re)define `math alphabets`_ in OML -encoding. - With Greek letters defined as ``\mathalpha``, the math alphabets are -expected to be in `OML font encoding`_ as OT1 encoded fonts have ligatures -and non-alpha symbols in place of the small Greek letters. +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:: + \DeclareBoolOption{OMLmathrm} + \DeclareBoolOption{OMLmathbf} + \DeclareBoolOption{OMLmathsf} + \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**. +shapes with e.g. ``\mathrm{\pi}`` — *if an OML encoded font is available*. Currently, support for the `OML font encoding`_ is rather limited: * only the mathdesign_ fonts support *bold roman* in OML encoding, while @@ -418,13 +462,6 @@ Currently, support for the `OML font encoding`_ is rather limited: With some packages, these options can result in a "too many math alphabets used in version normal" error. -:: - - \DeclareBoolOption{OMLmathrm} - \DeclareBoolOption{OMLmathbf} - \DeclareBoolOption{OMLmathsf} - \DeclareBoolOption{OMLmathsans} - \DeclareBoolOption{OMLmathtt} --------------------------------------------------- @@ -439,22 +476,25 @@ Math alphabets -------------- In math, LaTeX uses "absolute" fontnames instead of a selection by family, -shape, and weight (see the [fntguide]_ for the rationale). +shape, and weight because typefaces have a semantic meaning [fntguide]_. +This correlates with the `Unicode math support`_ where the +`mathematical alphanumeric symbols`_ block defines distinct Unicode +characters for in Greek and Latin letters in different typefaces. -We define a math alphabet for every required font variant and optionally -re-define the standard math alphabets in `OML font encoding`_. +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. mathbold """""""" -For the *`italic bold* math alphabet we use the name ``\mathbold`` -established in `related packages`_. With the reuseMathalphabets_ option, -``\mathfb`` is redefined and ``\mathbold`` made an alias (overwriting -existing definitions). :: +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):: - \ifisomath@reuseMathalphabets + \ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathbf}{OML}{\isomath@rmdefault}{bx}{it} \def\mathbold{\mathbf} \else @@ -476,10 +516,10 @@ mathboldsans """""""""""" A *sans serif slanted bold* alphabet is needed for tensor symbols. With the -reuseMathalphabets_ option, ``\mathsf`` is redefined and ``\mathboldsans`` +reuseMathAlphabets_ option, ``\mathsf`` is redefined and ``\mathboldsans`` made an alias:: - \ifisomath@reuseMathalphabets + \ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathsf}{OML}{\isomath@sfdefault}{bx}{it} \def\mathboldsans{\mathsf} \else @@ -490,7 +530,7 @@ Redefine standard alphabets """"""""""""""""""""""""""" Redefine standard alphabets in `OML font encoding`_ -(if the corresponding `OML math alphabets`_ option is true). :: +if the corresponding `OML math alphabets`_ option is true:: \ifisomath@OMLmathrm \SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{n}{n} @@ -509,7 +549,7 @@ Command aliases --------------- The following macros allow semantic markup of mathematical symbols. -The symbols argument is typeset as proposed by ISO 31 and [typefaces]_. +The argument is typeset as proposed by ISO 31 and [typefaces]_. \\vectorsym """"""""""" @@ -580,6 +620,10 @@ No declarations below this point:: 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 @@ -596,6 +640,9 @@ References .. [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 @@ -610,8 +657,6 @@ References .. _IUPAC: http://iupac.org/ .. _IUPAP: http://www.iupap.org/ .. _NIST: http://physics.nist.gov/ -.. _ISO 31: - http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202 .. _mathematical alphanumeric symbols: http://www.unicode.org/charts/PDF/U1D400.pdf .. _arev: http://dante.ctan.org/CTAN/help/Catalogue/entries/arev.html diff --git a/Master/texmf-dist/tex/latex/isomath/isomath.sty b/Master/texmf-dist/tex/latex/isomath/isomath.sty index 7dc97ec2e45..89353a74869 100644 --- a/Master/texmf-dist/tex/latex/isomath/isomath.sty +++ b/Master/texmf-dist/tex/latex/isomath/isomath.sty @@ -23,10 +23,10 @@ % *sans-serif bold italic* typeface, as recommended by [typefaces]_? % % Scientific organisations like IUPAP_, IUPAC_, NIST_, BIPM_, and others -% recommend typesetting math according to International Standard `ISO 31`_ -% `Quantities and units` (ISO 31-0:1992 to ISO 31-14:1992).\ [#]_ +% recommend typesetting math according to the International Standard ISO 31 +% `Quantities and units` [ISO-31]_.\ [#]_ % -% The traditional `LaTeX-style` deviates in some points from this rules: +% 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. @@ -36,28 +36,17 @@ % and the Latin alphabet. % % * There is no provision for typesetting of Greek letters in *bold italic* -% style recommended for vectors (even though the required fonts are -% available). +% style recommended for vectors. % % * There is no provision for typesetting letters in *sans-serif bold italic* % recommended for typesetting tensor symbols. % -% Also, the Unicode Standard defines the block `mathematical alphanumeric -% symbols`_ — *To be used for mathematical variables where style variations -% are important semantically* — which contains Latin and Greek letters in -% bold, italic, bold italic, sans-serif bold, and sans-serif bold italic -% typeface.\ [#]_ -% -% Some of these points are already adressed by `related packages`_, however +% 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. % -% .. [#] A summary of these rules is free available [typefaces]_. See also -% [fonts-for-symbols]_ and [SI-brochure]_. -% -% .. [#] Plus Number variants and Latin letters in script, bold script, -% fraktur, bold fraktur, double-struck, sans-serif and monospace; -% alltogether 1023 codepoints. +% .. [#] Summaries of these rules are free available, see [typefaces]_, +% [fonts-for-symbols]_, and [SI-brochure]_. % % % Features @@ -66,26 +55,20 @@ % The ``isomath.sty`` package facilitates the task to abide with ISO 31 when % typesetting math with LaTeX: % -% * It utilises fixmath_ to re-define Greek letters as ``\mathalpha``, taking -% them from the "letters" symbol fonts (as opposed to "operators" in -% ``fontmath.ltx``). This ensures that +% * 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 are available through the ``\mathrm`` and -% ``\mathbf`` alphabets, if the corresponding fonts are OML encoded. -% -% Caution: small Greek letters in a math alphabet command can lead to garbage. -% Use the options for `OML math alphabets`_ (if the used font supports the -% `OML font encoding`_) or place Greek letters outside the math alphabet -% command. Some packages (including fixmath_) provide ``\up*`` or -% ``\var*`` macros for upright Greek letters, e.g. ``\mathrm{k}\upOmega``. +% + 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 selecting an ISO-conforming typeface. +% allow semantic markup. They print the argument in an ISO-conforming +% typeface. % % * For this, new `math alphabets`_ are defined: % @@ -98,13 +81,18 @@ % ``sfdefault=<family>`` options_ can be used to override the defaults. % % * Missing `font mappings`_ are defined for font families which have an OML -% encoded counterpart but miss the substitution definition in their ``*.fd`` +% encoded counterpart but no substitution definition in their ``*.fd`` % files. % % -% Examples -% ======== +% Usage +% ===== % +% Make sure that LaTeX can find ``isomath.sty`` and insert the command +% ``\usepackage{isomath}`` in the document preamble. +% +% Examples +% -------- % % * In many cases (e.g. when ``\sfdefault`` expands to "cmss"), the % ``\mathboldsans`` alphabet is neither bold nor sans, as "cmss" has no OML @@ -126,13 +114,13 @@ % \usepackage[charter]{mathdesign} % \usepackage[OMLmathbf,sfdefault=cmbr]{isomath} % -% Now, ``\mathbf{\pi}`` works as expected. +% Now, ``\mathbf{\pi}`` produces a bold upright pi symbol. % % Related packages % ================ % -% Some packages already define Greek letters as ``\mathalpha`` and provide the -% ``\mathbold`` alphabet (in OML): +% 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) @@ -142,11 +130,11 @@ % * mathpazo_ (Palatino) % * tmmath_ (TM-Math/Times) % -% This package builds on and extends fixmath_ by Walter Schmidt -% (see Requirements_). +% This package requires and extends fixmath.sty_. % -% The cmbright_ package provides fonts for ``\mathsans`` and -% ``\mathboldsans`` matching with Computer Modern and derivatives. +% 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 % --------- @@ -158,22 +146,47 @@ % % The `kpfonts`_, `pxfonts`_, and `txfonts`_ packages define many additional % math alphabets and can only be combined with ``isomath``, if the -% reuseMathalphabets_ option is used. +% reuseMathAlphabets_ option is used. +% +% Greek in Math +% ============= +% +% Unicode Math Support +% -------------------- +% +% The technical report `Unicode Support for Mathematics` [tr25]_ lists +% *alphanumeric symbols encountered in mathematics* in Table 2.1 `Mathematical +% Alphabets`. It includes Latin and Greek letters in the bold, italic, bold +% italic, sans-serif bold, and sans-serif bold italic math styles. +% +% The Unicode block `mathematical alphanumeric symbols`_ provides style +% variants for Latin and Greek letters and digits. It is "to be used for +% mathematical variables where style variations are important semantically". +% % % OML font encoding -% ================= +% ----------------- +% +% The OML font encoding is the only established encoding providing +% Latin and Greek letters in one font: +% +% * LGR is Greek-only, +% * T7 is just a "reserved name" for a standard Greek encoding. % -% The `LaTeX font encodings` guide [encguide]_ defines: +% 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. % -% and names it `TeX math italic`. However, the reference to *italic* seems to -% be a description of the *state of the art* rather than a necessary -% restriction: +% However, the reference to **italic** seems to be a description of the *state +% of the art* rather than a necessary restriction: % -% * The only OML encoded CM font is "Computer Modern Math Italic" (cmmi), +% * The only OML encoded CM font is `Computer Modern Math Italic` (cmmi), % % * but generally, font encodings (T1, OT1) are not specific to the font shape. % @@ -184,11 +197,8 @@ % * A more suitable public name would be `TeX math letters` or `Original/Old % Math Letters`. The latter would also explain the acronym OML. % -% The OML font encoding is the only established encoding providing -% Latin and Greek letters in one font: -% -% * LGR is Greek-only, -% * T7 is just a "reserved name" for a standard Greek encoding. +% Support +% """"""" % % Unfortunately, support for the OML encoding is missing for many font % families even if the base font contains all Greek letters. @@ -283,17 +293,16 @@ % ============= =============================== % % Conclusions and outlook -% ======================= +% ----------------------- % % It is hoped, that in the future more fonts families will support the OML -% encoding in normal and bold weight as well as upright and italic shape. -% This would be a major step towards the full support of the `Mathematical +% 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 is (relatively) easy to achieve via virtual fonts when the glyphs for -% the Greek letters already exist (this is the case for many fonts where the -% primary version is Unicode encoded). Examples are Latin Modern, Kerkis, -% GFS-Neohellenic, LX-Fonts and KP-Serif. +% 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, T7 could be used for math alphabets (if it ever happens to % materialise). @@ -311,25 +320,52 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{isomath} -[2008/06/23 v0.1 typeset math according to International Standard ISO 31] +[2008/10/02 v0.2 typeset math according to International Standard ISO 31] +% .. 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. +% ===== ========== ======================================================== +% +% % Requirements % ============ % -% fixmath -% ------- +% fixmath.sty +% ----------- % -% fixmath_ by Walter Schmidt defines Greek letters as symbols of type -% ``\mathalpha`` and takes them from the "letters" SymbolFont in -% ``\mathnormal``. (It also defines the ``\mathbold`` alphabet, setting it to -% ``cmm``. This definition will be overwritten with a configurable value for +% The 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``). +% +% 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.) +% % :: \RequirePackage{fixmath} -% kvoptions -% --------- +% .. caution:: +% +% Placing small Greek letters in a math alphabet, e.g. +% ``\mathrm{k\Omega}``, can lead to garbage. +% +% If the chosen font supports the `OML font encoding`_, you can use the +% options for `OML math alphabets`_. Otherwise, place Greek letters +% outside the math alphabet command. +% +% 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_):: @@ -377,7 +413,7 @@ % Allow scaling? % % -% reuseMathalphabets +% reuseMathAlphabets % ------------------ % % The definition of new `math alphabets`_ can lead to a "too many math @@ -387,29 +423,37 @@ % ``\mathbf`` and ``\mathsf`` alphabets for italic bold and sans-serif bold. % % To access the upright shapes, the corresponding ``\textbf`` and ``\textsf`` -% commands might be used (however, that this toggles the math-mode off and +% commands might be used (however, this toggles the math-mode off and % might use a different font). % % :: -\DeclareBoolOption{reuseMathalphabets} +\DeclareBoolOption{reuseMathAlphabets} -% Caution: Do not use ``reuseMathalphabets`` together with ``OMLmathbf`` or -% ``OMLmathsf``. +% .. caution:: +% Do not use ``reuseMathAlphabets`` together with the ``OMLmathbf`` or +% ``OMLmathsf`` options. % % % OML math alphabets % ------------------ % -% The following options cause isomath to (re)define `math alphabets`_ in OML -% encoding. -% % With Greek letters defined as ``\mathalpha``, the math alphabets are -% expected to be in `OML font encoding`_ as OT1 encoded fonts have ligatures -% and non-alpha symbols in place of the small Greek letters. +% 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:: + +\DeclareBoolOption{OMLmathrm} +\DeclareBoolOption{OMLmathbf} +\DeclareBoolOption{OMLmathsf} +\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**. +% shapes with e.g. ``\mathrm{\pi}`` — *if an OML encoded font is available*. % Currently, support for the `OML font encoding`_ is rather limited: % % * only the mathdesign_ fonts support *bold roman* in OML encoding, while @@ -418,14 +462,7 @@ % % With some packages, these options can result in a "too many math alphabets % used in version normal" error. -% :: - -\DeclareBoolOption{OMLmathrm} -\DeclareBoolOption{OMLmathbf} -\DeclareBoolOption{OMLmathsf} -\DeclareBoolOption{OMLmathsans} -\DeclareBoolOption{OMLmathtt} - +% % --------------------------------------------------- % % Process the options with ``kvoptions`` extensions:: @@ -439,22 +476,25 @@ % -------------- % % In math, LaTeX uses "absolute" fontnames instead of a selection by family, -% shape, and weight (see the [fntguide]_ for the rationale). +% shape, and weight because typefaces have a semantic meaning [fntguide]_. +% This correlates with the `Unicode math support`_ where the +% `mathematical alphanumeric symbols`_ block defines distinct Unicode +% characters for in Greek and Latin letters in different typefaces. % -% We define a math alphabet for every required font variant and optionally -% re-define the standard math alphabets in `OML font encoding`_. +% 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. % % mathbold % """""""" % -% For the *`italic bold* math alphabet we use the name ``\mathbold`` -% established in `related packages`_. With the reuseMathalphabets_ option, -% ``\mathfb`` is redefined and ``\mathbold`` made an alias (overwriting -% existing definitions). :: +% 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):: -\ifisomath@reuseMathalphabets +\ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathbf}{OML}{\isomath@rmdefault}{bx}{it} \def\mathbold{\mathbf} \else @@ -476,10 +516,10 @@ % """""""""""" % % A *sans serif slanted bold* alphabet is needed for tensor symbols. With the -% reuseMathalphabets_ option, ``\mathsf`` is redefined and ``\mathboldsans`` +% reuseMathAlphabets_ option, ``\mathsf`` is redefined and ``\mathboldsans`` % made an alias:: -\ifisomath@reuseMathalphabets +\ifisomath@reuseMathAlphabets \DeclareMathAlphabet{\mathsf}{OML}{\isomath@sfdefault}{bx}{it} \def\mathboldsans{\mathsf} \else @@ -490,7 +530,7 @@ % """"""""""""""""""""""""""" % % Redefine standard alphabets in `OML font encoding`_ -% (if the corresponding `OML math alphabets`_ option is true). :: +% if the corresponding `OML math alphabets`_ option is true:: \ifisomath@OMLmathrm \SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{n}{n} @@ -509,7 +549,7 @@ % --------------- % % The following macros allow semantic markup of mathematical symbols. -% The symbols argument is typeset as proposed by ISO 31 and [typefaces]_. +% The argument is typeset as proposed by ISO 31 and [typefaces]_. % % \\vectorsym % """"""""""" @@ -580,6 +620,10 @@ % 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 % @@ -596,6 +640,9 @@ % .. [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 % @@ -610,8 +657,6 @@ % .. _IUPAC: http://iupac.org/ % .. _IUPAP: http://www.iupap.org/ % .. _NIST: http://physics.nist.gov/ -% .. _ISO 31: -% http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202 % .. _mathematical alphanumeric symbols: % http://www.unicode.org/charts/PDF/U1D400.pdf % .. _arev: http://dante.ctan.org/CTAN/help/Catalogue/entries/arev.html diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds index 61bac01019c..b36ed2c7e13 100755 --- a/Master/tlpkg/bin/ctan2tds +++ b/Master/tlpkg/bin/ctan2tds @@ -291,7 +291,6 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw 'mxedruli', "&MAKEflatten", 'nbaskerv', "die 'skipping, requires nonfree font'", 'ncctools', "&MAKEflatten", - 'newalg', "die 'skipping, nonfree license'", 'newsletr', "&MAKEnewsletr", 'newthm', "die 'skipping, obsolete, no longer on ctan'", 'niceframe', "die 'skipping, nosell license'", |