The FCP's pLaTeX Manual
About This Manual
This manual is for the Free Curriculum Project's LaTeX to XHTML text
processor: pLaTeX (Version 0.0.a, 10MAY2004),
Copyright © 2004 Peter J. Hutnick
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
copy of the license is included in the section entitled "GNU Free
Documentation License."
What is pLaTeX?
pLaTeX is the Free Curriculum Project's solution to producing both
print-quality PDFs and XHTML from the same source file.
Why pLaTeX?
Free Curriculum Project LaTeX to XHTML
FCPLaTeXtoXHTML
fcpLaTeX2HTML
pLaTeX
The real reason is the play on words, but it is nice to have a plausible
explanation too. We needed a manageable command line name. pLaTeX is
not a general purpose converter, so we felt that calling it latex2html
or similar would be misleading.
Note that there is apparently an existing LaTeX related project called
platex. It seems to be related to Japanese in some way, and we don't
think that there will be any confusion.
Features
pLaTeX converts my LaTeX documents to more-or-less valid XHTML.
It supports paragraphs, headings, author and title as one would expect.
Sort of handles blockquotes. Handles both ordered and unordered lists
in an invalid way. Strips out most extraneous LaTeX commands. Handles
boldface, italics and comments. Converts TeX style quotes to HTML quote
tags.
Limitations
pLaTeX does not convert arbitrary LaTeX files to XHTML. It does not
work out of the box.
Your LaTeX file must be specially formatted to work with pLaTeX.
Because of the way LaTeX interprets whitespace into paragraphs pLaTeX
requires that you limit blank lines to those required by LaTeX. You may
visually simulate your more familiar use of blank lines by adding a
LaTeX comment character "%" to the beginning of otherwise blank lines.
pLaTeX does not try to offer a general solution to converting LaTeX
files. The different command sets and visual requirements of different
input files make it impossible to convert all files well. Instead,
pLaTeX comes with a set of general rules for conversion, which you can
customize on a per-file basis.
A general list of to do items for the project follows. This things are
all planned but not implemented:
- Generate chapter/section/etc. numbers.
- Generate internal links.
- Break chapters/sections into separate pages.
- Break rules out into a "per document config file."
- Support description -> <ul> properly
- Support enumerate -> <ol> properly
- Add TeX math to MathML support (!).
- Improve quote -> <blockquote> support.
Customizing pLaTeX
pLaTeX requires customization for each input LaTeX file if any but the
most crude results are to be achieved. The conversion rules currently
live in the script itself. Once the ``core'' rules stabilize they will
be moved into a separate file that can serve as a starting point for
customization for a given LaTeX file.
For now you just have to poke around the regexes at the end of the
script.
Index