diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/isomath/isomath.sty.html')
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath.sty.html | 375 |
1 files changed, 220 insertions, 155 deletions
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 |