Revision: 5328
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5328&view=rev
Author:   mdboom
Date:     2008-05-30 11:59:44 -0700 (Fri, 30 May 2008)

Log Message:
-----------
Elaborate on mathtext documentation.

Modified Paths:
--------------
    trunk/matplotlib/doc/users/index.rst
    trunk/matplotlib/doc/users/pyplot_tutorial.rst

Added Paths:
-----------
    trunk/matplotlib/doc/users/mathtext.rst

Modified: trunk/matplotlib/doc/users/index.rst
===================================================================
--- trunk/matplotlib/doc/users/index.rst        2008-05-30 17:34:24 UTC (rev 
5327)
+++ trunk/matplotlib/doc/users/index.rst        2008-05-30 18:59:44 UTC (rev 
5328)
@@ -93,6 +93,7 @@
 .. toctree::
 
     pyplot_tutorial.rst
+    mathtext.rst
     navigation_toolbar.rst
     customizing.rst
     artists.rst

Added: trunk/matplotlib/doc/users/mathtext.rst
===================================================================
--- trunk/matplotlib/doc/users/mathtext.rst                             (rev 0)
+++ trunk/matplotlib/doc/users/mathtext.rst     2008-05-30 18:59:44 UTC (rev 
5328)
@@ -0,0 +1,225 @@
+Writing mathematical expressions
+================================
+
+You can use TeX markup in any matplotlib text string; see the
+:mod:`matplotlib.mathtext` module documentation for details.  Note
+that you do not need to have TeX installed, since matplotlib ships its
+own TeX expression parser, layout engine and fonts.  The layout engine
+is a fairly direct adaptation of the layout algorithms in Donald
+Knuth's TeX, so the quality is quite good (matplotlib also provides a
+``usetex`` option for those who do want to call out to TeX to generate
+their text).
+
+Any text element can use math text.  You need to use raw strings
+(preceed the quotes with an ``'r'``), and surround the string text
+with dollar signs, as in TeX.  Regular text and mathtext can be
+interleaved within the same string.  Mathtext can use the Computer
+Modern fonts (from (La)TeX), `STIX <http://www.aip.org/stixfonts/>`_
+fonts (with are designed to blend well with Times) or a Unicode font
+that you provide.  The mathtext font can be selected with the
+customization variable ``mathtext.fontset``.
+
+Here is a simple example::
+
+    # plain text
+    plt.title('alpha > beta')
+
+produces "alpha > beta".
+
+Whereas this::
+
+    # math text
+    plt.title(r'$\alpha > \beta$')
+
+produces ":math:`\alpha > \beta`".
+
+.. TODO: Include a complete list here
+
+Subscripts and superscripts
+---------------------------
+
+To make subscripts and superscripts, use the ``'_'`` and ``'^'`` symbols::
+
+    r'$\alpha_i > \beta_i$'
+
+.. math::
+
+    \alpha_i > \beta_i
+
+Some symbols automatically put their sub/superscripts under and over
+the operator.  For example, to write the sum of :math:`x_i` from :math:`0` to
+:math:`\infty`, you could do::
+
+    r'$\sum_{i=0}^\infty x_i$'
+
+.. math::
+
+    \sum_{i=0}^\infty x_i
+
+Fractions
+---------
+
+Fractions can be created with the ``\frac{}{}`` command::
+
+    r'$\frac{3}{4}$'
+
+produces
+
+.. math::
+
+    \frac{3}{4}
+
+Fractions can be arbitrarily nested::
+
+    r'$\frac{5 - \frac{1}{x}}{4}$'
+
+produces
+
+.. math::
+
+    \frac{5 - \frac{1}{x}}{4}
+
+Note that special care needs to be taken to place parentheses and brackets 
around
+fractions.  Doing things the obvious way produces brackets that are
+too small::
+
+    r'$(\frac{5 - \frac{1}{x}}{4})$'
+
+.. math ::
+
+    (\frac{5 - \frac{1}{x}}{4})
+
+The solution is to precede the bracket with ``\left`` and ``\right``
+to inform the parser that those brackets encompass the entire object::
+
+    r'$\left(\frac{5 - \frac{1}{x}}{4}\right)$'
+
+.. math ::
+
+    \left(\frac{5 - \frac{1}{x}}{4}\right)
+
+Radicals
+--------
+
+Radicals can be produced with the ``\sqrt[]{}`` command.  For example:
+
+    r'$\sqrt{2}$'
+
+.. math ::
+
+    \sqrt{2}
+
+Any base can (optionally) be provided inside square brackets.  Note
+that the base must be a simple expression, and can not contain layout
+commands such as fractions or sub/superscripts.
+
+    r'$\sqrt[3]{x}$'
+
+.. math ::
+
+    \sqrt[3]{x}
+
+Fonts
+-----
+
+The default font is *italics* for mathematical symbols.  To change
+fonts, eg, to write "sin" in a Roman font, enclose the text in a font
+command::
+
+    r'$s(t) = \mathcal{A}\mathrm{sin}(2 \omega t)$'
+
+.. math::
+
+    s(t) = \mathcal{A}\mathrm{sin}(2 \omega t)
+
+More conveniently, many commonly used function names that are typeset in a
+Roman font have shortcuts.  So the expression above could be written
+as follows::
+
+    r'$s(t) = \mathcal{A}\sin(2 \omega t)$'
+
+.. math::
+
+    s(t) = \mathcal{A}\sin(2 \omega t)
+
+Here "s" and "t" are variable in italics font (default), "sin" is in
+Roman font, and the amplitude "A" is in calligraphy font.
+
+The choices available with all fonts are:
+
+    =============== =================================
+    Command         Result
+    =============== =================================
+    ``\mathrm``     :math:`\mathrm{Roman}`
+    ``\mathit``     :math:`\mathit{Italic}`
+    ``\mathtt``     :math:`\mathtt{Typewriter}`
+    ``\mathcal``    :math:`\mathcal{CALLIGRAPHY}`
+    =============== =================================
+
+When using the STIX fonts, you also have the choice of:
+
+    ================ =================================
+    Command          Result
+    ================ =================================
+    ``\mathbb``      :math:`\mathbb{Blackboard}`
+    ``\mathcircled`` :math:`\mathcircled{Circled}`
+    ``\mathfrak``    :math:`\mathfrak{Fraktur}`
+    ``\mathsf``      :math:`\mathsf{sans-serif}`
+    ================ =================================
+
+Accents
+-------
+
+An accent command may precede any symbol to add an accent above it.
+There are long and short forms for some of them.
+
+    ============================== =================================
+    Command                        Result
+    ============================== =================================
+    ``\acute a`` or ``\'a``        :math:`\acute a`
+    ``\bar a``                     :math:`\bar a`
+    ``\breve a``                   :math:`\breve a`
+    ``\ddot a`` or ``\"a``         :math:`\ddot a`
+    ``\dot a`` or ``\.a``          :math:`\dot a`
+    ``\grave a`` or ``\\`a``       :math:`\grave a`
+    ``\hat a`` or ``\^a``          :math:`\hat a`
+    ``\tilde a`` or ``\~a``        :math:`\tilde a`
+    ``\vec a``                     :math:`\vec a`
+    ============================== =================================
+
+In addition, there are two special accents that automatically adjust
+to the width of the symbols below:
+
+    ============================== =================================
+    Command                        Result
+    ============================== =================================
+    ``\widehat{xyz}``              :math:`\widehat{xyz}`
+    ``\widetilde{xyz}``            :math:`\widetilde{xyz}`
+    ============================== =================================
+
+
+Symbols
+-------
+
+You can also use a large number of the TeX symbols, as in ``\infty``,
+``\leftarrow``, ``\sum``, ``\int``; see :class:`matplotlib.mathtext` for a
+complete list.
+
+If a particular symbol does not have a name (as is true of many of the
+more obscure symbols in the STIX fonts), Unicode characters can
+also be used::
+
+   ur'Generic symbol: $\u23ce$'
+
+Example
+-------
+
+Here is an example illustrating many of these features in context.
+
+.. literalinclude:: figures/pyplot_mathtext.py
+
+.. image:: figures/pyplot_mathtext.png
+   :scale: 50
+
+
+

Modified: trunk/matplotlib/doc/users/pyplot_tutorial.rst
===================================================================
--- trunk/matplotlib/doc/users/pyplot_tutorial.rst      2008-05-30 17:34:24 UTC 
(rev 5327)
+++ trunk/matplotlib/doc/users/pyplot_tutorial.rst      2008-05-30 18:59:44 UTC 
(rev 5328)
@@ -76,7 +76,7 @@
 
 * Use the setter methods of the ``Line2D`` instance.  ``plot`` returns a list
   of lines; eg ``line1, line2 = plot(x1,y1,x2,x2)``.  Below I have only
-  one line so it is a list of length 1.  I use tuple unpacking in the
+  one line so it is a list of7 length 1.  I use tuple unpacking in the
   ``line, = plot(x, y, 'o')`` to get the first element of the list::
 
       line, = plt.plot(x, y, 'o')
@@ -266,77 +266,3 @@
 
 
 
-Writing mathematical expressions
-================================
-
-You may have noticed in the histogram example above that we slipped a
-little TeX markup into the expression ``r'$\mu=100,\ \sigma=15$')``
-You can use TeX markup in any matplotlib text string; see the
-:mod:`matplotlib.mathtext` module documentation for details.  Note
-that you do not need to have TeX installed, since matplotlib ships
-its own TeX expression parser, layout engine and fonts.  Michael
-Droettboom has implemented the Knuth layout algorithms in python, so
-the quality is quite good (matplotlib also provides a ``usetex`` option
-for those who do want to call out to TeX to generate their text).
-
-Any text element can use math text.  You need to use raw strings
-(preceed the quotes with an ``'r'``), and surround the string text
-with dollar signs, as in TeX.  Regular text and mathtext can be
-interleaved within the same string.  Mathtext can use the Bakoma
-Computer Modern fonts, STIX fonts or a Unicode font that you provide.
-The mathtext font can be selected with the customization variable
-``mathtext.fontset``::
-
-    # plain text
-    plt.title('alpha > beta')
-
-    # math text
-    plt.title(r'$\alpha > \beta$')
-
-
-To make subscripts and superscripts use the '_' and '^' symbols::
-
-    plt.title(r'$\alpha_i > \beta_i$')
-
-You can also use a large number of the TeX symbols, as in ``\infty,
-\leftarrow, \sum, \int``; see :class:`matplotlib.mathtext` for a
-complete list.  The over/under subscript/superscript style is also
-supported.  To write the sum of x_i from 0 to infinity, you could do::
-
-    plt.text(1, -0.6, r'$\sum_{i=0}^\infty x_i$')
-
-The default font is *italics* for mathematical symbols.  To change
-fonts, eg, to write "sin" in a Roman font, enclose the text in a font
-command::
-
-    plt.text(1,2, r's(t) = $\mathcal{A}\mathrm{sin}(2 \omega t)$')
-
-
-Even better, many commonly used function names that are typeset in a
-Roman font have shortcuts.  So the expression above could be written
-as follows::
-
-    plt.text(1,2, r's(t) = $\mathcal{A}\sin(2 \omega t)$')
-
-
-Here "s" and "t" are variable in italics font (default), "sin" is in
-Roman font, and the amplitude "A" is in caligraphy font. The font
-choices are Roman ``\mathrm``, italics ``\mathit``, caligraphy
-``\mathcal``, and typewriter ``\mathtt``.  If using the STIX fonts,
-you also have the choice of blackboard (double-struck) ``\mathbb``,
-circled ``\mathcircled``, Fraktur ``\mathfrak``, script (cursive)
-``\mathscr`` and sans-serif ``\mathsf``.
-
-The following accents are provided: ``\hat``, ``\breve``, ``\grave``,
-``\bar``, ``\acute``, ``\tilde``, ``\vec``, ``\dot``, ``\ddot``.  All
-of them have the same syntax, eg to make an overbar you do ``\bar{o}``
-or to make an o umlaut you do ``\ddot{o}``.
-
-.. literalinclude:: figures/pyplot_mathtext.py
-
-.. image:: figures/pyplot_mathtext.png
-   :scale: 50
-
-
-
-


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to