Building MiniLatex

The goal of the MiniLatex project is to put a defined subset of LaTeX in the browser.  This means being able to “live edit” LaTeX in a web app and to immediately see the result rendered as web page — well, if not immediately, at least very, very quickly!  Another goal is to never, ever have to rewrite text.  Documents written for the web in MiniLatex should be exportable at the click of a button to a file on the author’s computer that can be typeset using pdlatex or some other standard LaTeX tool.

Both of these goals are attainable.  Here is a proof of concept:

MiniLatex Demo


This blog will report on progress on the development of MiniLatex and provide a forum for comments and discussion. Some articles will be technical, even quite technical, while others are intended for the general reader who may use MiniLatex as a writing tool.  We are still in the research and development phase, so your feedback is both welcome and essential.


Here are some articles of interest.

And here are examples of documents written in MiniLatex

The examples above were written using the web app It hosts a MiniLatex rendering engine written in Elm.

On the Horizon

  • MiniLatex, as a defined subset of LaTeX, is an entity independent of  whatever engine is used to transform MiniLatex source text into HTML.  At the moment, there is just one engine, implemented in Elm.  I plan to write a Haskell engine at some point.
  • Once Elm 0.19 is released, MiniLatex will run much, much faster.
  • When MathJax 3.0 is released, it will be integrated into Elm.  This will result in an estimated 10-fold increase in processing speed for the MathJax part of the processing pipeline.


Good company in a journey makes the way seem shorter. — Izaak Walton