org-mode/contrib/scripts/staticmathjax/README.org

80 lines
2.9 KiB
Org Mode
Raw Normal View History

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.
2021-03-21 18:55:14 +00:00
(see [[https://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
"https://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.