Asciidoctor-Latex slogging towards 1.0

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Asciidoctor-Latex slogging towards 1.0

jxxcarlson
I would like to gather opinions and help in improving Asciidoctor-Latex (call it AL here) with the idea of an eventual 1.0 release. AL accepts both Asciidoc source text and Asciidoc-LaTeX source text.  The latter is a superset of Asciidoc which may contain (1) inline LaTeX such as $a^2 + b^2 = c^2$, (2) display LaTeX such as \[a^2 + b^2 = c^2\], constructs such as

[env.theorem]
--
There are infinitely many primes
--

These map to LaTeX environments, with automatic numbering and so forth.

AL has two converters/backends.  One produces HTML, the other LaTeX.  The first goal, as I see it, is to make AL able to properly render _any_ Asciidoc text.  At the moment it is a subset thereof.  If this were done, then AL could be used as part of a tool chain to render Asciidoc text into PDF.  In doing this I would like to endow AL with a set of switches aka options so that the same code base could handle (1) straight Asciidoc, (2) AL with no math pre- and post-processing.  The utility of this is to that (a) the click and env blocks are useful generally.  For example, in a book of jokes, one could use

[env.joke]
--
whatever
--

to compile a numbered, cross-referenced list of jokes.  Etc.  For click blocks in action, see http://www.scripta.io/view_source/1578.  There are also facilities for creating an index, glossaries, etc. (3) the full packet: (2) + the math.  The reason for distinguishing (2) and (3) is that some preprocessing is needed to make constructs like $a^2 + b^2 + c^2$ work (the dollar sign problem).  This is a feature as important to mathematicians as `code and more code` is to developers.

I plan to spend the next few weeks cleaning up the code, putting in comments so that can be understood both by me and others, running tests, and organizing those tests.  After that, or even before, we will be ready to start.