LaTeX to HTML
LaTeX to HTML is a Rust library that converts LaTeX-formatted text into equivalent HTML.
This crate is designed to help developers transform LaTeX documents or fragments into structured HTML. Styling is intentionally kept minimal—developers are encouraged to apply custom CSS or integrate this library into a broader styling pipeline.
✨ Features
-
✅ Lightweight LaTeX parsing and conversion to HTML
-
✅ Supports the following LaTeX commands:
- Document structure:
\section,\subsection,\subsubsection,\paragraph,\subparagraph - Text formatting:
\textbf,\textit,\underline,\emph - Extended commands:
\textcolor,\fontsize(planned) - Math mode:
$...$,\[...\],\begin{equation}(planned) - Lists:
itemize,enumerate,description(planned) - Tables:
tabular(planned) - Figures:
figure,\includegraphics(planned) - References and citations:
\label,\ref,\cite,\footnote(planned) - Bibliography:
thebibliography,\bibitem(planned) - Custom macros:
\newcommand,\renewcommand(planned) - Fallback handler for unknown LaTeX commands:
RawLatex
- Document structure:
Note: Features marked (planned) are on the roadmap but not yet implemented.
🚀 Usage
use convert_latex_to_html;
Additional Test Example
use convert_latex_to_html;
🎖️ Crate Structure
parser— Parses LaTeX code into an AST (LatexNodeenum).htmlgen— Converts AST into HTML.ast— Defines the LaTeX abstract syntax tree (LatexNode).
🎯 Project Goals
- 🧠 Simple and intuitive API for converting LaTeX to HTML
- 🧩 Clean and semantic HTML output, ready for custom CSS
- 🔌 Modular architecture for easy feature extension
- 🔍 Fallback support for unknown LaTeX commands (raw output)
📜 License
This project is licensed under the MPL-2.0 License.
🤝 Contributing
Contributions, issues, and feature requests are welcome! Feel free to fork and submit pull requests.