80 lines
2.9 KiB
Org Mode
80 lines
2.9 KiB
Org Mode
|
Static MathJax v0.1 README
|
||
|
#+AUTHOR: Jan Böcker <jan.boecker@jboecker.de>
|
||
|
|
||
|
Static MathJax is a XULRunner application which loads a HTML input
|
||
|
file that uses MathJax into a browser, waits until MathJax is done
|
||
|
processing, and then writes the formatted result to an output HTML
|
||
|
file.
|
||
|
|
||
|
I have only tested exports from Emacs Org-mode as input files. (As of
|
||
|
2010-08-14, MathJax is used by default with HTML exports in the
|
||
|
current Org development version.)
|
||
|
|
||
|
Optionally, references to the math fonts used will be converted to
|
||
|
"data:" URIs, thus embedding the font data into the HTML file itself.
|
||
|
(see [[http://en.wikipedia.org/wiki/Data_URI_scheme]])
|
||
|
|
||
|
The code is licensed under the GNU General Public License version
|
||
|
2, or, at your option, any later version.
|
||
|
|
||
|
|
||
|
* Usage
|
||
|
To run Static MathJax, an existing XULRunner installation is
|
||
|
required. From the directory to which you unpacked Static MathJax,
|
||
|
run:
|
||
|
|
||
|
xulrunner application.ini <--embed-fonts | --final-mathjax-url <URL>>
|
||
|
<input file> <output file>
|
||
|
|
||
|
If you prefer to call "staticmathjax" instead of "xulrunner
|
||
|
application.ini", link xulrunner-stub into the directory:
|
||
|
ln /usr/lib/xulrunner-1.9.2.8/xulrunner-stub ./staticmathjax
|
||
|
|
||
|
- input file ::
|
||
|
name of the input file (the result of a HTML export
|
||
|
from Org-mode). It is assumed that this file uses the
|
||
|
UTF-8 character encoding.
|
||
|
|
||
|
- output file ::
|
||
|
name of the output file.
|
||
|
|
||
|
- --embed-fonts ::
|
||
|
if specified, the math fonts will be embedded into
|
||
|
the output file using data: URIs
|
||
|
|
||
|
- --final-mathjax-url <URL> ::
|
||
|
if --embed-fonts is not specified, this
|
||
|
must be the URL to a MathJax installation folder (e.g. "MathJax"
|
||
|
if MathJax is installed in a subdirectory, or
|
||
|
"http://orgmode.org/mathjax" to use the version hosted on the Org
|
||
|
website.
|
||
|
|
||
|
All references to math fonts in the output file will point to
|
||
|
this directory.
|
||
|
|
||
|
* Caveats
|
||
|
|
||
|
The input file must not use a MathJax installation on the
|
||
|
web. Otherwise, due to a security feature of Firefox, MathJax will
|
||
|
fallback to image fonts. If you have unpacked MathJax to a
|
||
|
subdirectory "MathJax", specify the following in your Org file:
|
||
|
|
||
|
#+MathJax: path:"MathJax"
|
||
|
|
||
|
The math is rendered in Firefox, so MathJax applies its
|
||
|
Firefox-specific settings. When viewing the output files in other
|
||
|
browsers, it will look slightly different than the result that
|
||
|
running MathJax in that browser would produce.
|
||
|
|
||
|
Internet Explorer does not use the correct font, because it only
|
||
|
supports the EOT font format. For all other browsers (including
|
||
|
Firefox), MathJax uses the OTF font format.
|
||
|
|
||
|
Embedding fonts into the HTML file wastes some space due to the
|
||
|
base64 encoding used in data: URIs.
|
||
|
|
||
|
I have found no way to access stdout or set an exit code in an
|
||
|
XULRunner app, so any code which calls Static MathJax has no idea if
|
||
|
processing was successful and when an error occurs, graphical
|
||
|
message boxes are displayed.
|