20 fletcher t. penney
MultiMarkdown version 2.0 had to ﬁrst convert the source ﬁle to
HTML, and then applied XSLT ﬁles to convert to the ﬁnal LaTeX
format. Since MultiMarkdown 3.0 can create LaTeX directly, this
approach is no longer necessary.
The one beneﬁt of that approach, however, was that it became
possible to perform a wide range of customizations on exactly how
the LaTeX output was created by customizing the XSLT ﬁles.
If you install the Support ﬁles on Mac or Linux, you can still use
the advanced XSLT method to generate LaTeX output. For the time
being, this approach doesn’t work with Windows, but it would be
fairly easy to create a batch script or perl script to implement this
feature on Windows.
Keep in mind, however, that because of the more advanced mech-
anism of handling LaTeX in MultiMarkdown 3.0, you can do a great
deal of customization without needing to use an XSLT ﬁle.
script will convert a plain text ﬁle into LaTeX
that is virtually identical with that created by the regular LaTeX ap-
There are a few differences in the two approaches, however:
• Once a MultiMarkdown ﬁle is converted to HTML, it is impossi-
ble to tell whether the resulting HTML was generated by Multi-
Markdown, or if it was included as raw HTML within the source
document. So either way, it will be converted to the analagous La-
TeX syntax. The
binary on its own will not convert
HTML into LaTeX.
• The whitespace that is generated will be different under certain
circumstances. Typically, this will result in one extra or one fewer
blank lines with the the XSLT approach. Generally this will not
be an issue, but when used with<
!-- some comment --
cause a newline to be lost.
• The default XSLT recognizes
when applied to
HTML entities, and will discard them from the output.
• An XSLT can only be applied to a complete HTML document, not
a“snippet”. Therefore, if you want to use the XSLT method, your
ﬁle must have metadata that triggers a complete document (i.e.
any metadata except “quotes language” or “base header level”).
• Using XSL to process an HTML ﬁle will “de-obfuscate” any email
addresses that were obfuscated by MultiMarkdown.