diff options
author | Karl Berry <karl@freefriends.org> | 2008-09-28 00:46:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-09-28 00:46:28 +0000 |
commit | c68df5600f6190607d37be25c0a9508e58ebfef6 (patch) | |
tree | b78ef29f00e83dcdac631cbb390bad9e1c5fef0f /Master/texmf-dist/doc/latex/isomath | |
parent | e1449e04bf8c0fd9d480fd30a437b89aa11b023d (diff) |
new latex package isomath (25sep08)
git-svn-id: svn://tug.org/texlive/trunk@10763 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/isomath')
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/README | 78 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath-test.pdf | bin | 0 -> 262731 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath-test.tex | 119 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/isomath/isomath.sty.html | 1205 |
4 files changed, 1402 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/isomath/README b/Master/texmf-dist/doc/latex/isomath/README new file mode 100644 index 00000000000..06c65512985 --- /dev/null +++ b/Master/texmf-dist/doc/latex/isomath/README @@ -0,0 +1,78 @@ +isomath.sty: Math layout for scientists +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Copyright © 2008 Günter Milde <milde@users.berlios.de> +Released under the terms of the GNU General Public License +(v. 2 or later) + +Abstract +======== + +The isomath package enables formatting Greek and Latin letters as symbols +for vectors, matrices, and tensors in the typefaces recommended for +scientific papers by the International Standard ISO 31. + + +Features +======== + +* Re-define Greek letters as \mathalpha, taking them from the "letters" + symbol fonts. + +* The macros \vectorsym, \matrixsym, and \tensorsym select an + ISO-conforming typeface. + +* For this, new math alphabets are defined: + + \mathbold: for *boldface italic* (vector and matrix symbols), + \mathsans: for *sans-serif italic* , + \mathboldsans: for *sans-serif bold italic* (tensor symbols). + + +Requirements +============ + +This package builds on and extends fixmath.sty by Walter Schmidt. +It also requires ifthen.sty and kvoptions.sty. + +The cmbright package is recommended for \mathsans and \mathboldsans +matching with Computer Modern and derivatives. + + +Installation +============ + +Copy isomath.sty to a suitable place in your TDS and make sure LaTeX can +find it. + +Optionally, copy the documentation to a place where texdoc can find it. + +Usage +===== + +* \usepackage{isomath} + + In many cases (when \sfdefault expands to "cmss"), the \mathboldsans + alphabet is neither bold nor sans, as "cmss" has no OML encoded + variants and maps to "cmmi". + +* Use cmbright for the sans-serif math alphabets:: + + \usepackage[sfdefault=cmbr]{isomath} + +* Redefine the standard \vec macro to typeset its argument in `bold + italic`:: + + \usepackage[sfdefault=cmbr]{isomath} + \renewcommand{\vec}{\vectorsym} + +* The mathdesign package comes with an OML encoded bold roman font but does + not use it for \mathbf in the default setting. With :: + + \usepackage[charter]{mathdesign} + \usepackage[OMLmathbf,sfdefault=cmbr]{isomath} + + \mathbf{\pi} works as expected. + + +2008-09-25 diff --git a/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf b/Master/texmf-dist/doc/latex/isomath/isomath-test.pdf Binary files differnew file mode 100644 index 00000000000..5cdbfc2f5d4 --- /dev/null +++ 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 new file mode 100644 index 00000000000..a9b18932979 --- /dev/null +++ b/Master/texmf-dist/doc/latex/isomath/isomath-test.tex @@ -0,0 +1,119 @@ +%% LyX 1.5.5 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[a4paper,british]{scrartcl} +% \usepackage[T1]{fontenc} +% \usepackage[latin1]{inputenc} +\pagestyle{empty} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. + +% Load a font package: + +% \usepackage{ae} +% \usepackage{anttor} +% \usepackage{arev} % normal and sans identic +% \usepackage{beton} % bitmap fonts +% \usepackage{concmath} +% \usepackage{cmbright} % keeps \mathrm and \mathbf as CM (roman) +\usepackage{fourier} +% \usepackage[LGR,T1]{fontenc}\usepackage[default]{gfsneohellenic} % no bold +% \usepackage{hfoldsty} % bitmap fonts +% \usepackage{iwona} % uses cmss --- cmbr is bad match +% \usepackage{kpfonts} % too many math alphabets used in version normal +% \usepackage{kerkis} % no bold math, no sans serif (choose iwona or arev?) +% \usepackage{lmodern} +% \usepackage{lucidabr} % commercial, subset free as bitmap +% \usepackage{lxfonts} % normal and sans identic, no \mathbold +%% mathdesign: % cmbr too light (bold ok) +%% % too many math alphabets without keepMathAlphabets +% \usepackage[charter]{mathdesign} % bitmap? +% \usepackage[garamond]{mathdesign} % bitmap? +% \usepackage[utopia]{mathdesign} % bitmap? +% \usepackage{mbtimes} +% \usepackage{gfsneohellenic} +% \usepackage{mathpazo} % +% \usepackage{pxfonts} % too many math alphabets used in version normal +% \usepackage{tgpagella}\usepackage{qpxmath} % cmbr too light (bold ok) +% \usepackage{tgtermes}\usepackage{qtxmath} % cmbr too light (bold ok) +% \usepackage{txfonts} % too many math alphabets used in version normal +% \usepackage{zefonts} % CM based + + +% load the isomath package with (or without) options +% -------------------------------------------------- + +\newcommand{\options}{} +% \renewcommand{\options}{omlMathalphabets} +% \renewcommand{\options}{reuseMathalphabets} +% \renewcommand{\options}{sfdefault=iwona} % with Iwona sans +% \renewcommand{\options}{sfdefault=zavm} % with Arew sans (larger than normal) +% \renewcommand{\options}{sfdefault=llcmm} % with LX sans (doesn't work) + +\usepackage[\options]{isomath} + + +% re-define \vec to comply with ISO 31:: +\renewcommand{\vec}{\vectorsym} + +\usepackage{babel} + +\begin{document} + +\section{Test the isomath Package} + +\makeatletter +Default font families: + serif \texttt{\rmdefault}, + sans-serif \texttt{\sfdefault}, + isomath-serif \texttt{\isomath@rmdefault}, + isomath-sf \texttt{\isomath@sfdefault}. +\makeatother + +\subsection{Math alphabets} + +The math alphabets should work with greek letters too (thus access +to upright greek is possible for both, small and capital letters). +If there are ligatures (ff, fi, ...) instead of small Greek letters +in a math alphabet, it uses T1 or OT1 encoding instead of OML. \begin{eqnarray*} +\mbox{mathnormal} & & a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega\\ +\mbox{mathit} & & \mathit{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}\\ +\mbox{mathrm} & & \mathrm{\mathrm{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}}\\ +\mbox{mathbf} & & \mathbf{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}\\ +\mbox{mathsf} & & \mathsf{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}\\ +\mbox{mathtt} & & \mathtt{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega} +\end{eqnarray*} + New alphabets are defined for italic-bold, italic-sans, and italic-sans-bold. +\begin{eqnarray*} +\mbox{mathbold} & & \mathbold{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}\\ +\mbox{mathsans} & & \mathsans{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega}\\ +\mbox{mathboldsans} & & \mathboldsans{a,g,v,w,z,A,B,\Gamma,\Delta,E,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Upsilon,\Phi,\Psi,\Omega,\alpha,\beta,\nu,\omega} +\end{eqnarray*} + + +\subsection{Vector symbols} + +Symbols for vectors are boldface italic $\vec{\alpha}=\vec{e}_{1}\cdot\vec{a}$ + + +\subsection{Matrix symbols} + +Symbols for matrices are boldface italic, i. e. typeset in the same +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}.$ + + +\subsection{Tensor symbols} + +Symbols for tensors are sans-serif bold italic, \begin{eqnarray*} +\tensorsym{\alpha} & = & \tensorsym{e}\cdot\tensorsym{a}.\\ +\alpha_{ijl} & = & e_{ijk}\cdot a_{kl}\end{eqnarray*} + + +The permittivity tensor describes the coupling of electric field and +displacement: \[ +\vec{D}=\epsilon_{0}\tensorsym{\epsilon}_{\mathrm{r}}\vec{E}\] + +\end{document} diff --git a/Master/texmf-dist/doc/latex/isomath/isomath.sty.html b/Master/texmf-dist/doc/latex/isomath/isomath.sty.html new file mode 100644 index 00000000000..9dbe56f1413 --- /dev/null +++ b/Master/texmf-dist/doc/latex/isomath/isomath.sty.html @@ -0,0 +1,1205 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" /> +<title>isomath.sty: Math for scientists</title> +<meta name="copyright" content="© 2008 Günter Milde, Released under the terms of the GNU General Public License (v. 2 or later)" /> +<style type="text/css"> + +/* +:Author: David Goodger (goodger@python.org) +:Id: $Id: html4css1.css 5631 2008-08-24 13:01:23Z goodger $ +:Copyright: This stylesheet has been placed in the public domain. + +Default cascading style sheet for the HTML output of Docutils. + +See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to +customize this style sheet. +*/ + +/* used to remove borders from tables and images */ +.borderless, table.borderless td, table.borderless th { + border: 0 } + +table.borderless td, table.borderless th { + /* Override padding for "table.docutils td" with "! important". + The right padding separates the table cells. */ + padding: 0 0.5em 0 0 ! important } + +.first { + /* Override more specific margin styles with "! important". */ + margin-top: 0 ! important } + +.last, .with-subtitle { + margin-bottom: 0 ! important } + +.hidden { + display: none } + +a.toc-backref { + text-decoration: none ; + color: black } + +blockquote.epigraph { + margin: 2em 5em ; } + +dl.docutils dd { + margin-bottom: 0.5em } + +/* Uncomment (and remove this text!) to get bold-faced definition list terms +dl.docutils dt { + font-weight: bold } +*/ + +div.abstract { + margin: 2em 5em } + +div.abstract p.topic-title { + font-weight: bold ; + text-align: center } + +div.admonition, div.attention, div.caution, div.danger, div.error, +div.hint, div.important, div.note, div.tip, div.warning { + margin: 2em ; + border: medium outset ; + padding: 1em } + +div.admonition p.admonition-title, div.hint p.admonition-title, +div.important p.admonition-title, div.note p.admonition-title, +div.tip p.admonition-title { + font-weight: bold ; + font-family: sans-serif } + +div.attention p.admonition-title, div.caution p.admonition-title, +div.danger p.admonition-title, div.error p.admonition-title, +div.warning p.admonition-title { + color: red ; + font-weight: bold ; + font-family: sans-serif } + +/* Uncomment (and remove this text!) to get reduced vertical space in + compound paragraphs. +div.compound .compound-first, div.compound .compound-middle { + margin-bottom: 0.5em } + +div.compound .compound-last, div.compound .compound-middle { + margin-top: 0.5em } +*/ + +div.dedication { + margin: 2em 5em ; + text-align: center ; + font-style: italic } + +div.dedication p.topic-title { + font-weight: bold ; + font-style: normal } + +div.figure { + margin-left: 2em ; + margin-right: 2em } + +div.footer, div.header { + clear: both; + font-size: smaller } + +div.line-block { + display: block ; + margin-top: 1em ; + margin-bottom: 1em } + +div.line-block div.line-block { + margin-top: 0 ; + margin-bottom: 0 ; + margin-left: 1.5em } + +div.sidebar { + margin: 0 0 0.5em 1em ; + border: medium outset ; + padding: 1em ; + background-color: #ffffee ; + width: 40% ; + float: right ; + clear: right } + +div.sidebar p.rubric { + font-family: sans-serif ; + font-size: medium } + +div.system-messages { + margin: 5em } + +div.system-messages h1 { + color: red } + +div.system-message { + border: medium outset ; + padding: 1em } + +div.system-message p.system-message-title { + color: red ; + font-weight: bold } + +div.topic { + margin: 2em } + +h1.section-subtitle, h2.section-subtitle, h3.section-subtitle, +h4.section-subtitle, h5.section-subtitle, h6.section-subtitle { + margin-top: 0.4em } + +h1.title { + text-align: center } + +h2.subtitle { + text-align: center } + +hr.docutils { + width: 75% } + +img.align-left { + clear: left } + +img.align-right { + clear: right } + +ol.simple, ul.simple { + margin-bottom: 1em } + +ol.arabic { + list-style: decimal } + +ol.loweralpha { + list-style: lower-alpha } + +ol.upperalpha { + list-style: upper-alpha } + +ol.lowerroman { + list-style: lower-roman } + +ol.upperroman { + list-style: upper-roman } + +p.attribution { + text-align: right ; + margin-left: 50% } + +p.caption { + font-style: italic } + +p.credits { + font-style: italic ; + font-size: smaller } + +p.label { + white-space: nowrap } + +p.rubric { + font-weight: bold ; + font-size: larger ; + color: maroon ; + text-align: center } + +p.sidebar-title { + font-family: sans-serif ; + font-weight: bold ; + font-size: larger } + +p.sidebar-subtitle { + font-family: sans-serif ; + font-weight: bold } + +p.topic-title { + font-weight: bold } + +pre.address { + margin-bottom: 0 ; + margin-top: 0 ; + font: inherit } + +pre.literal-block, pre.doctest-block { + margin-left: 2em ; + margin-right: 2em } + +span.classifier { + font-family: sans-serif ; + font-style: oblique } + +span.classifier-delimiter { + font-family: sans-serif ; + font-weight: bold } + +span.interpreted { + font-family: sans-serif } + +span.option { + white-space: nowrap } + +span.pre { + white-space: pre } + +span.problematic { + color: red } + +span.section-subtitle { + /* font-size relative to parent (h1..h6 element) */ + font-size: 80% } + +table.citation { + border-left: solid 1px gray; + margin-left: 1px } + +table.docinfo { + margin: 2em 4em } + +table.docutils { + margin-top: 0.5em ; + margin-bottom: 0.5em } + +table.footnote { + border-left: solid 1px black; + margin-left: 1px } + +table.docutils td, table.docutils th, +table.docinfo td, table.docinfo th { + padding-left: 0.5em ; + padding-right: 0.5em ; + vertical-align: top } + +table.docutils th.field-name, table.docinfo th.docinfo-name { + font-weight: bold ; + text-align: left ; + white-space: nowrap ; + padding-left: 0 } + +h1 tt.docutils, h2 tt.docutils, h3 tt.docutils, +h4 tt.docutils, h5 tt.docutils, h6 tt.docutils { + font-size: 100% } + +ul.auto-toc { + list-style-type: none } + +</style> +</head> +<body> +<div class="document" id="isomath-sty-math-for-scientists"> +<h1 class="title">isomath.sty: Math for scientists</h1> +<table class="docinfo" frame="void" rules="none"> +<col class="docinfo-name" /> +<col class="docinfo-content" /> +<tbody valign="top"> +<tr><th class="docinfo-name">Copyright:</th> +<td>© 2008 Günter Milde, +Released under the terms of the GNU General Public License +(v. 2 or later)</td></tr> +</tbody> +</table> +<div class="abstract topic"> +<p class="topic-title first">Abstract</p> +<p>The isomath package enables formatting Greek and Latin letters +as symbols for vectors, matrices, and tensors in the typefaces +recommended for scientific papers by the International +Standard ISO 31.</p> +</div> +<div class="contents topic" id="contents"> +<p class="topic-title first">Contents</p> +<ul class="simple"> +<li><a class="reference internal" href="#introduction" id="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> +</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> +</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="#ifthen" id="id25">ifthen</a></li> +<li><a class="reference internal" href="#kvoptions" id="id26">kvoptions</a></li> +</ul> +</li> +<li><a class="reference internal" href="#options" id="id27">Options</a><ul> +<li><a class="reference internal" href="#rmdefault" id="id28">rmdefault</a></li> +<li><a class="reference internal" href="#sfdefault" id="id29">sfdefault</a></li> +<li><a class="reference internal" href="#reusemathalphabets" id="id30">reuseMathalphabets</a></li> +<li><a class="reference internal" href="#oml-math" id="id31">OML math*</a></li> +</ul> +</li> +<li><a class="reference internal" href="#declarations" id="id32">Declarations</a><ul> +<li><a class="reference internal" href="#new-math-alphabets" id="id33">New math alphabets</a></li> +<li><a class="reference internal" href="#redefine-standard-alphabets" id="id34">Redefine standard alphabets</a></li> +<li><a class="reference internal" href="#command-aliases" id="id35">Command aliases</a><ul> +<li><a class="reference internal" href="#vector-symbols" id="id36">Vector symbols</a></li> +<li><a class="reference internal" href="#matrix-symbols" id="id37">Matrix symbols</a></li> +<li><a class="reference internal" href="#tensor-symbols" id="id38">Tensor symbols</a></li> +</ul> +</li> +<li><a class="reference internal" href="#font-mappings" id="id39">Font mappings</a></li> +</ul> +</li> +<li><a class="reference internal" href="#the-end" id="id40">The end</a></li> +<li><a class="reference internal" href="#todo" id="id41">TODO</a></li> +<li><a class="reference internal" href="#about-this-file" id="id42">About this file</a></li> +<li><a class="reference internal" href="#references" id="id43">References</a></li> +</ul> +</li> +</ul> +</div> +<div class="section" id="introduction"> +<h1><a class="toc-backref" href="#id13">Introduction</a></h1> +<div class="section" id="motivation"> +<h2><a class="toc-backref" href="#id14">Motivation</a></h2> +<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 ISO 31 +<a class="reference external" href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_tc_browse.htm?commid=46202">Quantities and units</a> (ISO 31-0:1992 to ISO 31-14:1992).<a class="footnote-reference" href="#id2" id="id1">[1]</a></p> +<table class="docutils footnote" frame="void" id="id2" 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="id3">[typefaces]</a>. See also +<a class="citation-reference" href="#symbol-fonts" id="id4">[symbol-fonts]</a> and <a class="citation-reference" href="#si-brochure" id="id5">[SI-brochure]</a>.</td></tr> +</tbody> +</table> +<p>The traditional <cite>LaTeX-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 <cite>bold italic</cite> typeface for vector symbols.</li> +<li>Greek letters are excluded from font changes with the math alphabets, +while the ISO 31 rules apply equally to letters from both the Greek +and the Latin alphabet.</li> +<li>There is no provision for typesetting of Greek letters in <cite>bold italic</cite> +style recommended for vectors (even though the required fonts are +available).</li> +<li>There is no provision for typesetting letters in <cite>sans-serif bold italic</cite> +recommended for typesetting tensor symbols.</li> +</ul> +<p>Some of these points are already 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> +</div> +<div class="section" id="features"> +<h2><a class="toc-backref" href="#id15">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> +<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> +</ul> +</li> +<li><p class="first">The <a class="reference internal" href="#command-aliases">command aliases</a> <tt class="docutils literal"><span class="pre">\vectorsym</span></tt>, <tt class="docutils literal"><span class="pre">\matrixsym</span></tt>, and <tt class="docutils literal"><span class="pre">\tensorsym</span></tt> +select an ISO-conforming typeface.</p> +</li> +<li><p class="first">For this, <a class="reference internal" href="#new-math-alphabets">new math alphabets</a> are defined:</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field"><th class="field-name"><tt class="docutils literal"><span class="pre">\mathbold</span></tt>:</th><td class="field-body">for <em>boldface italic</em> (vector and matrix +symbols),</td> +</tr> +<tr class="field"><th class="field-name"><tt class="docutils literal"><span class="pre">\mathsans</span></tt>:</th><td class="field-body">for <em>sans-serif italic</em> ,</td> +</tr> +<tr class="field"><th class="field-name"><tt class="docutils literal"><span class="pre">\mathboldsans</span></tt>:</th><td class="field-body">for <em>sans-serif bold italic</em> (tensor symbols).</td> +</tr> +</tbody> +</table> +<p>The family for these fonts is by default taken from the document's +<tt class="docutils literal"><span class="pre">\rmdefault</span></tt> and <tt class="docutils literal"><span class="pre">\sfdefault</span></tt> values. The <tt class="docutils literal"><span class="pre">rmdefault=<family></span></tt> and +<tt class="docutils literal"><span class="pre">sfdefault=<family></span></tt> <a class="reference internal" href="#options">options</a> can be used to override the defaults.</p> +</li> +<li><p class="first"><a class="reference internal" href="#font-mappings">Font mappings</a> are defined for families which have an OML encoded +counterpart but miss the substitution definition.</p> +</li> +</ul> +<!-- Now, it should be possible to typeset, e.g., the symbol for the tensor of +dielectric permittivity ε according to the rules (i.e. sans-serif bold +italic). --> +<div class="caution"> +<p class="first admonition-title">Caution!</p> +<p>Using small Greek letters in a math alphabet command (e.g. +<tt class="docutils literal"><span class="pre">\mathrm{\pi}</span></tt>) can lead to garbage.</p> +<p class="last">You can use the <a class="reference internal" href="#oml-math">OML math*</a> options (if the used font supports the +<a class="reference internal" href="#oml-font-encoding">OML font encoding</a>) or place the Greek letter 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> +</div> +</div> +<div class="section" id="examples"> +<h2><a class="toc-backref" href="#id16">Examples</a></h2> +<ul> +<li><p class="first"><tt class="docutils literal"><span class="pre">\usepackage{isomath}</span></tt></p> +<p>In many cases (when <tt class="docutils literal"><span class="pre">\sfdefault</span></tt> expands to "cmss"), the +<tt class="docutils literal"><span class="pre">\mathboldsans</span></tt> alphabet is neither bold nor sans, as "cmss" has no OML +encoded variants and maps to "cmmi".</p> +</li> +<li><p class="first">Use <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html">cmbright</a> for the sans-serif math alphabets:</p> +<pre class="literal-block"> +\usepackage[sfdefault=cmbr]{isomath} +</pre> +</li> +<li><p class="first">Redefine the standard <tt class="docutils literal"><span class="pre">\vec</span></tt> macro to typeset its argument in <cite>bold +italic</cite>:</p> +<pre class="literal-block"> +\usepackage[sfdefault=cmbr]{isomath} +\renewcommand{\vec}{\vectorsym} +</pre> +</li> +<li><p class="first">The <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/mathdesign.html">mathdesign</a> package comes with an OML encoded bold roman font but does +not use it for <tt class="docutils literal"><span class="pre">\mathbf</span></tt> in the default setting. With</p> +<pre class="literal-block"> +\usepackage[charter]{mathdesign} +\usepackage[OMLmathbf,sfdefault=cmbr]{isomath} +</pre> +<p><tt class="docutils literal"><span class="pre">\mathbf{\pi}</span></tt> works as expected.</p> +</li> +</ul> +</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> +<ul class="simple"> +<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/arev.html">arev</a> (Arev/Vera Sans)</li> +<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html">cmbright</a> (CM Bright)</li> +<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/eulervm.html">eulervm</a> (Euler Math)</li> +<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/fixmath.html">fixmath</a> (Computer Modern)</li> +<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/hvmath.html">hvmath</a> (HV-Math/Helvetica)</li> +<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/mathpazo.html">mathpazo</a> (Palatino)</li> +<li><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/tmmath.html">tmmath</a> (TM-Math/Times)</li> +</ul> +<p>This package 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> +<div class="section" id="conflicts"> +<h3><a class="toc-backref" href="#id18">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> +</div> +</div> +<div class="section" id="oml-font-encoding"> +<h2><a class="toc-backref" href="#id19">OML font encoding</a></h2> +<p>If a math alphabet shall support both, Greek and Latin letters, it must use +the OML font encoding — no other established encoding provides 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> +<p>The <cite>LaTeX font encodings</cite> guide <a class="citation-reference" href="#encguide" id="id6">[encguide]</a> 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> +<ul class="simple"> +<li>The only OML encoded CM font is "Computer Modern Math Italic" (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 +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>Unfortunately, support for the OML encoding is missing for many font +families even if the base font contains all Greek letters. +Supported font families can be found searching for <tt class="docutils literal"><span class="pre">oml*.fd</span></tt> files and by +grepping for "DeclareFont.*OML", "SymbolFont.*OML" and "MathAlphabet.*OML" +in <tt class="docutils literal"><span class="pre">*.sty</span></tt> files.</p> +<table border="1" class="booktab docutils"> +<caption>Table 1: Fonts supporting the OML font encoding</caption> +<colgroup> +<col width="19%" /> +<col width="40%" /> +<col width="10%" /> +<col width="12%" /> +<col width="9%" /> +<col width="10%" /> +</colgroup> +<thead valign="bottom"> +<tr><th class="head">Name</th> +<th class="head">Family</th> +<th class="head">{m}{it}</th> +<th class="head">{bx}{it}</th> +<th class="head">{m}{n}</th> +<th class="head">{bx}{n}</th> +</tr> +</thead> +<tbody valign="top"> +<tr><td>aer</td> +<td>AE (Almost European)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>antt</td> +<td>Antykwa Torunska</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>cmr</td> +<td>Computer Modern Roman</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>ccr</td> +<td>Concrete</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>cmbr</td> +<td>Computer Modern Bright</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>hlh</td> +<td>Lucida</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>hfor</td> +<td>CM with old-style digits</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>iwona</td> +<td>Iwona (sans serif)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>jkp</td> +<td>Kepler Serif</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>jkpl</td> +<td>Kepler Serif</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>jkpvos</td> +<td>Kepler Serif</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>jkplvos</td> +<td>Kepler Serif</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>llcmm</td> +<td>LXfonts (sans serif)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>lmr</td> +<td>Latin Modern Roman</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>mak</td> +<td>Kerkis</td> +<td>x</td> +<td> </td> +<td> </td> +<td> </td> +</tr> +<tr><td>mdbch</td> +<td>Math Design Charter</td> +<td>x</td> +<td>x</td> +<td>?</td> +<td>x</td> +</tr> +<tr><td>mdput</td> +<td>Math Design Utopia</td> +<td>x</td> +<td>x</td> +<td>?</td> +<td>x</td> +</tr> +<tr><td>mdugm</td> +<td>Math Design Garamond</td> +<td>x</td> +<td>x</td> +<td>?</td> +<td>x</td> +</tr> +<tr><td>neohellenic</td> +<td>GFS Neohellenic</td> +<td>x</td> +<td> </td> +<td> </td> +<td> </td> +</tr> +<tr><td>plcm</td> +<td>CM (PLaTeX)</td> +<td>x</td> +<td> </td> +<td> </td> +<td> </td> +</tr> +<tr><td>ptmom</td> +<td>Times (Omega or MB-Times)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>ptmomu</td> +<td>Times (Omega or MB-Times)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>ptmcm</td> +<td>Times (psfont)</td> +<td>x</td> +<td> </td> +<td> </td> +<td> </td> +</tr> +<tr><td>pxr</td> +<td>Palatino (pxfonts)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>qpl</td> +<td>Palatino/Pagella (qpxmath)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>qtm</td> +<td>Times/Termes (qtxmath)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>txr</td> +<td>Times (txfonts)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>ywclm</td> +<td>(greektex)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>zavm</td> +<td>Arev (Vera Sans-Serif)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>zesfcm</td> +<td>(efont)</td> +<td>x</td> +<td> </td> +<td> </td> +<td> </td> +</tr> +<tr><td>zplm</td> +<td>Palatino (mathpazo)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>zpple</td> +<td> </td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +<tr><td>ztmcm</td> +<td>Times (mathptmx)</td> +<td>x</td> +<td> </td> +<td> </td> +<td> </td> +</tr> +<tr><td>zer</td> +<td>Computer Modern (zefonts)</td> +<td>x</td> +<td>x</td> +<td> </td> +<td> </td> +</tr> +</tbody> +</table> +<p>Explanations:</p> +<ul class="simple"> +<li>If there is an alias (substitution) from the text font to a math-variant, +only the text font is listed.</li> +<li>Many text fonts define substitutions also for {n}, however mapping to +an italic variant of the OML encoded font. These are not listed as +supporting {m}{n} or {bx}{n} here.</li> +</ul> +<p>The following fonts define <tt class="docutils literal"><span class="pre">cmm</span></tt> as OML substitution. A better matching +substitution can be set with the <a class="reference internal" href="#rmdefault">rmdefault</a> option.</p> +<table border="1" class="booktab docutils" id="table-2"> +<caption>Table 2: Non-CM fonts with <tt class="docutils literal"><span class="pre">cmm</span></tt> as OML substitution</caption> +<colgroup> +<col width="30%" /> +<col width="70%" /> +</colgroup> +<thead valign="bottom"> +<tr><th class="head">Family</th> +<th class="head">Name</th> +</tr> +</thead> +<tbody valign="top"> +<tr><td>bch</td> +<td>Charter (psnfss)</td> +</tr> +<tr><td>pag</td> +<td>Avant Garde (psnfss)</td> +</tr> +<tr><td>pbk</td> +<td>Bookman (psnfss)</td> +</tr> +<tr><td>pcr</td> +<td>Courier (psnfss)</td> +</tr> +<tr><td>phv</td> +<td>Helvetica (psnfss)</td> +</tr> +<tr><td>pnc</td> +<td>New Century Schoolbook (psnfss)</td> +</tr> +<tr><td>ppl</td> +<td>Palatino (psnfss)</td> +</tr> +<tr><td>ptm</td> +<td>Times Roman (psnfss)</td> +</tr> +<tr><td>put</td> +<td>Utopia (psnfss)</td> +</tr> +<tr><td>pzc</td> +<td>Zapf Chancery (psnfss)</td> +</tr> +<tr><td>uag</td> +<td>Avant Garde (avantgar)</td> +</tr> +<tr><td>ubk</td> +<td>Bookman (bookman)</td> +</tr> +<tr><td>ucr</td> +<td>Courier (courier)</td> +</tr> +<tr><td>ucrs</td> +<td>Courier</td> +</tr> +<tr><td>unc</td> +<td>New Courier (nctrsbk)</td> +</tr> +<tr><td>uni</td> +<td>Universal (universa)</td> +</tr> +<tr><td>uhv</td> +<td>Helvetica (helvetic)</td> +</tr> +<tr><td>upl</td> +<td>Palatino (palatino)</td> +</tr> +<tr><td>utm</td> +<td>Times (times)</td> +</tr> +<tr><td>uzc</td> +<td>Zapf Chancery (zapfchan)</td> +</tr> +</tbody> +</table> +</div> +<div class="section" id="conclusions-and-outlook"> +<h2><a class="toc-backref" href="#id20">Conclusions and outlook</a></h2> +<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 +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>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 +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 class="section" id="implementation"> +<h1><a class="toc-backref" href="#id21">Implementation</a></h1> +<div class="section" id="identification"> +<h2><a class="toc-backref" href="#id22">Identification</a></h2> +<pre class="literal-block"> +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{isomath} +[2008/06/23 v0.1 typeset math according to International Standard ISO 31] +</pre> +</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 +the font family below.)</p> +<pre class="literal-block"> +\RequirePackage{fixmath} +</pre> +</div> +<div class="section" id="ifthen"> +<h3><a class="toc-backref" href="#id25">ifthen</a></h3> +<p>The standard LaTeX package <a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/ifthen.html">ifthen</a> provides the commands <tt class="docutils literal"><span class="pre">\ifthenelse</span></tt>, +and <tt class="docutils literal"><span class="pre">\whiledo</span></tt>.</p> +<pre class="literal-block"> +\RequirePackage{ifthen} +</pre> +</div> +<div class="section" id="kvoptions"> +<h3><a class="toc-backref" href="#id26">kvoptions</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"> +\RequirePackage{kvoptions} +</pre> +</div> +</div> +<div class="section" id="options"> +<h2><a class="toc-backref" href="#id27">Options</a></h2> +<div class="section" id="rmdefault"> +<h3><a class="toc-backref" href="#id28">rmdefault</a></h3> +<p>Alternative math font family name for roman. 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> +<pre class="literal-block"> +\DeclareStringOption[\rmdefault]{rmdefault} +</pre> +</div> +<div class="section" id="sfdefault"> +<h3><a class="toc-backref" href="#id29">sfdefault</a></h3> +<p>Alternative math font family name for sans-serif. 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 italic and bold variants in OMS +encoding. Nor have many derivatives (lmss, aess, ...). +Actually, there are only a few OML-encoded sans-serif fonts (all +slanted/italic):</p> +<table class="docutils field-list" frame="void" rules="none"> +<col class="field-name" /> +<col class="field-body" /> +<tbody valign="top"> +<tr class="field"><th class="field-name">zavm:</th><td class="field-body"><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/arev.html">arev</a> (Vera Sans with math extension)</td> +</tr> +<tr class="field"><th class="field-name">cmbr:</th><td class="field-body"><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/cmbright.html">cmbright</a> (Computer Modern Bright, slightly lighter than cmss)</td> +</tr> +<tr class="field"><th class="field-name">iwona:</th><td class="field-body"><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/iwona.html">iwona</a> (Humanistic Sans Serif)</td> +</tr> +<tr class="field"><th class="field-name">hvm:</th><td class="field-body"><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/hvmath.html">hvmath</a> (Helvetica Math, commercial, free bitmap version)</td> +</tr> +<tr class="field"><th class="field-name">llcmm:</th><td class="field-body"><a class="reference external" href="http://dante.ctan.org/CTAN/help/Catalogue/entries/lxfonts.html">lxfonts</a> (LX Fonts, very wide and quite eccentric, new in 2008)</td> +</tr> +</tbody> +</table> +<p>For many fonts (especially CM and related), <tt class="docutils literal"><span class="pre">[sfdefault=cmbr]</span></tt> is the +recommended setting.</p> +<pre class="literal-block"> +\DeclareStringOption[\sfdefault]{sfdefault} +</pre> +</div> +<div class="section" id="reusemathalphabets"> +<h3><a class="toc-backref" href="#id30">reuseMathalphabets</a></h3> +<p>The definition of <a class="reference internal" href="#new-math-alphabets">new 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.</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> +command can be used (remember that this toggles the math-mode off and might +use a different font).</p> +<p>Both standard and <a class="reference internal" href="#new-math-alphabets">new math alphabets</a> are in upright shape, if this option +is combined with the corresponding <a class="reference internal" href="#oml-math">OML math*</a> option.</p> +<pre class="literal-block"> +\DeclareBoolOption{reuseMathalphabets} +</pre> +</div> +<div class="section" id="oml-math"> +<h3><a class="toc-backref" href="#id31">OML math*</a></h3> +<p>These options cause isomath to <a class="reference internal" href="#redefine-standard-alphabets">redefine standard alphabets</a> in OML +encoding.</p> +<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>. OT1 encoded fonts have ligatures and +non-alpha symbols in place of the small Greek letters.</p> +<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>. +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> +<li>many font packages define an italic font as OML replacement for a roman +font.</li> +</ul> +<p>With some packages, these options can result in a "too many math alphabets +used in version normal" error.</p> +<pre class="literal-block"> +\DeclareBoolOption{OMLmathrm} +\DeclareBoolOption{OMLmathbf} +\DeclareBoolOption{OMLmathsf} +\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"> +\ProcessKeyvalOptions* +</pre> +</div> +</div> +<div class="section" id="declarations"> +<h2><a class="toc-backref" href="#id32">Declarations</a></h2> +<div class="section" id="new-math-alphabets"> +<h3><a class="toc-backref" href="#id33">New math alphabets</a></h3> +<p>The <cite>italic bold</cite> math alphabet is named <tt class="docutils literal"><span class="pre">\mathbold</span></tt> in <a class="reference internal" href="#related-packages">related +packages</a>. For letters, this is the same as the bold version of +<tt class="docutils literal"><span class="pre">\mathnormal</span></tt>. 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"> +\ifthenelse{\boolean{isomath@reuseMathalphabets}} +{ + \DeclareMathAlphabet{\mathbf}{OML}{\isomath@rmdefault}{bx}{it} + \def\mathbold{\mathbf} +} +{ + \DeclareMathAlphabet{\mathbold}{OML}{\isomath@rmdefault}{bx}{it} +} +</pre> +<p>For <cite>italic sans-serif</cite>, we either redefine <tt class="docutils literal"><span class="pre">\mathsf</span></tt> (with +<a class="reference internal" href="#reusemathalphabets">reuseMathalphabets</a>) or, in analogy to <tt class="docutils literal"><span class="pre">\mathbold</span></tt>, we define the new +alphabet <tt class="docutils literal"><span class="pre">\mathsans</span></tt>:</p> +<pre class="literal-block"> +\ifthenelse{\boolean{isomath@reuseMathalphabets}} +{ + \DeclareMathAlphabet{\mathsf}{OML}{\isomath@sfdefault}{m}{it} + \def\mathsans{\mathsf} +} +{ + \DeclareMathAlphabet{\mathsans}{OML}{\isomath@sfdefault}{m}{it} +} +</pre> +<p>A <cite>sans serif slanted bold</cite> alphabet is needed for the tensor +symbols. As there is no standard math alphabet to re-use, we define the new +alphabet <tt class="docutils literal"><span class="pre">\mathboldsans</span></tt>:</p> +<pre class="literal-block"> +\DeclareMathAlphabet{\mathboldsans}{OML}{\isomath@sfdefault}{bx}{it} +</pre> +</div> +<div class="section" id="redefine-standard-alphabets"> +<h3><a class="toc-backref" href="#id34">Redefine standard alphabets</a></h3> +<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">OML math*</a> option is true).</p> +<pre class="literal-block"> +\ifthenelse{\boolean{isomath@OMLmathrm}} +{\SetMathAlphabet{\mathrm}{normal}{OML}{\isomath@rmdefault}{n}{n}}{} +\ifthenelse{\boolean{isomath@OMLmathbf}} +{\SetMathAlphabet{\mathbf}{normal}{OML}{\isomath@rmdefault}{b}{n}}{} +\ifthenelse{\boolean{isomath@OMLmathbf}} +{\SetMathAlphabet{\mathsf}{normal}{OML}{\isomath@sfdefault}{n}{n}}{} +\ifthenelse{\boolean{isomath@OMLmathtt}} +{\SetMathAlphabet{\mathtt}{normal}{OML}{\ttdefault}{n}{n}}{} +</pre> +</div> +<div class="section" id="command-aliases"> +<h3><a class="toc-backref" href="#id35">Command aliases</a></h3> +<p>Define commands to typeset some symbol categories complying to +the ISO standard.</p> +<div class="section" id="vector-symbols"> +<h4><a class="toc-backref" href="#id36">Vector symbols</a></h4> +<p>Symbols for vectors are <em>boldface italic</em>:</p> +<pre class="literal-block"> +\newcommand{\vectorsym}{\mathbold} +</pre> +<p>For easier writing or to make existing documents conform to the standard, +you might want to re-define the standard <tt class="docutils literal"><span class="pre">\vec</span></tt> command after loading this +package (cf. the <a class="reference internal" href="#examples">Examples</a> section).</p> +</div> +<div class="section" id="matrix-symbols"> +<h4><a class="toc-backref" href="#id37">Matrix symbols</a></h4> +<p>Symbols for matrices are <em>boldface italic</em>, i. e. typeset in the same face as +vectors (see <a class="citation-reference" href="#typefaces" id="id7">[typefaces]</a>). <a class="footnote-reference" href="#id9" id="id8">[2]</a></p> +<pre class="literal-block"> +\newcommand{\matrixsym}{\mathbold} +</pre> +<table class="docutils footnote" frame="void" id="id9" rules="none"> +<colgroup><col class="label" /><col /></colgroup> +<tbody valign="top"> +<tr><td class="label"><a class="fn-backref" href="#id8">[2]</a></td><td>However, matrix symbols are usually capital letters whereas vectors +are small ones. Exceptions are physical Quantities like the force +vector F or the electrical field E.</td></tr> +</tbody> +</table> +</div> +<div class="section" id="tensor-symbols"> +<h4><a class="toc-backref" href="#id38">Tensor symbols</a></h4> +<p>Symbols for tensors are <em>sans-serif bold italic</em>:</p> +<pre class="literal-block"> +\newcommand{\tensorsym}{\mathboldsans} +</pre> +</div> +</div> +<div class="section" id="font-mappings"> +<h3><a class="toc-backref" href="#id39">Font mappings</a></h3> +<p>Some font packages provide a matching math font but do not define a +substitution in their <tt class="docutils literal"><span class="pre">*.fd</span></tt> files.</p> +<p>We define the substitutions needed for the math alphabet definitions in this +package. Ideally, these should become part of a more complete set of +definitions in the package's fd file(s):</p> +<p>Mathpazo (Palatino) ppl -> zplm</p> +<pre class="literal-block"> +\DeclareFontFamily{OML}{ppl}{\skewchar\font127} +\DeclareFontShape{OML}{ppl}{m}{it}{<-> ssub * zplm/m/it}{} +\DeclareFontShape{OML}{ppl}{bx}{it}{<-> ssub * zplm/b/it}{} +</pre> +<p>Arev (arev): fav -> zavm</p> +<pre class="literal-block"> +\DeclareFontFamily{OML}{fav}{} +\DeclareFontShape{OML}{fav}{m}{it}{<->ssub * zavm/m/it}{} +\DeclareFontShape{OML}{fav}{bx}{it}{<->ssub * zavm/b/it}{} +</pre> +<p>LX Fonts (lxfonts): llcmss -> llcmm</p> +<pre class="literal-block"> +\DeclareFontFamily{OML}{llcmss}{} +\DeclareFontShape{OML}{llcmss}{m}{it}{<-> ssub * llcmm/m/it}{} +\DeclareFontShape{OML}{llcmss}{bx}{it}{<-> ssub * llcmm/bx/it}{} +</pre> +</div> +</div> +<div class="section" id="the-end"> +<h2><a class="toc-backref" href="#id40">The end</a></h2> +<pre class="literal-block"> +\endinput +</pre> +</div> +<div class="section" id="todo"> +<h2><a class="toc-backref" href="#id41">TODO</a></h2> +<p>The <tt class="docutils literal"><span class="pre">\mathsans</span></tt> definition "increases symmetry". However, it adds a math +alphabet that is rarely (or not at all) used. Giving the limit of 16 math +alphabets, it might be better not to define it. Make it an option?</p> +</div> +<div class="section" id="about-this-file"> +<h2><a class="toc-backref" href="#id42">About this file</a></h2> +<p>The package documentation is included in the source file.</p> +<p>The bidirectional text <-> code converter <a class="reference external" href="http://pylit.berlios.de">PyLit</a> can be used to transform +the LaTeX package <tt class="docutils literal"><span class="pre">isomath.sty</span></tt> to a <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructured Text</a> document +<tt class="docutils literal"><span class="pre">isomath.sty.txt</span></tt> (and back again). To translate <tt class="docutils literal"><span class="pre">isomath.sty.txt</span></tt> to +LaTeX or HTML, the Python <a class="reference external" href="http://docutils.sourceforge.net/rst.html">docutils</a> are required.</p> +</div> +<div class="section" id="references"> +<h2><a class="toc-backref" href="#id43">References</a></h2> +<table class="docutils citation" frame="void" id="encguide" rules="none"> +<colgroup><col class="label" /><col /></colgroup> +<tbody valign="top"> +<tr><td class="label"><a class="fn-backref" href="#id6">[encguide]</a></td><td><cite>LaTeX font encodings</cite>: +<a class="reference external" href="http://dante.ctan.org/CTAN/macros/latex/doc/encguide.pdf">http://dante.ctan.org/CTAN/macros/latex/doc/encguide.pdf</a></td></tr> +</tbody> +</table> +<table class="docutils citation" frame="void" id="symbol-fonts" rules="none"> +<colgroup><col class="label" /><col /></colgroup> +<tbody valign="top"> +<tr><td class="label"><a class="fn-backref" href="#id4">[symbol-fonts]</a></td><td><cite>On the use of italic and roman fonts for symbols in +scientific text</cite>, I.M. Mills and W.V. Metanomski (Revised December 1999): +<a class="reference external" href="http://old.iupac.org/standing/idcns/fonts_for_symbols.html">http://old.iupac.org/standing/idcns/fonts_for_symbols.html</a></td></tr> +</tbody> +</table> +<table class="docutils citation" frame="void" id="green-book" rules="none"> +<colgroup><col class="label" /><col /></colgroup> +<tbody valign="top"> +<tr><td class="label">[Green-Book]</td><td><cite>Quantities, Units and Symbols in Physical Chemistry</cite>, +3rd edition, RSC Publishing, Cambridge 2007: +[ISBN 0 85404 433 7; ISBN-13 978 0 85404 433 7]</td></tr> +</tbody> +</table> +<table class="docutils citation" frame="void" id="typefaces" rules="none"> +<colgroup><col class="label" /><col /></colgroup> +<tbody valign="top"> +<tr><td class="label">[typefaces]</td><td><em>(<a class="fn-backref" href="#id3">1</a>, <a class="fn-backref" href="#id7">2</a>)</em> <cite>Typefaces for Symbols in Scientific Manuscripts</cite>: +<a class="reference external" href="http://physics.nist.gov/Document/typefaces.pdf">http://physics.nist.gov/Document/typefaces.pdf</a></td></tr> +</tbody> +</table> +<table class="docutils citation" frame="void" id="si-brochure" rules="none"> +<colgroup><col class="label" /><col /></colgroup> +<tbody valign="top"> +<tr><td class="label"><a class="fn-backref" href="#id5">[SI-brochure]</a></td><td><cite>The International System of Units (SI)</cite>: +<a class="reference external" href="http://www.bipm.org/en/si/si_brochure/">http://www.bipm.org/en/si/si_brochure/</a></td></tr> +</tbody> +</table> +<!-- see also +[koma-mail] Custom font substitution: http://www.komascript.de/node/823 --> +<!-- Links --> +<!-- ***** --> +</div> +</div> +</div> +</body> +</html> |