LaTeX live preview in your browser. No LaTeX install.
Write .tex, save, see the PDF. nantex watches your file, compiles it remotely, and refreshes the browser for you. One command, no toolchain.
\documentclass{article} \usepackage{amsmath} \title{Maxwell's Equations} \begin{document} \maketitle In differential form: \begin{align} \nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\ \nabla \cdot \mathbf{B} &= 0 \\ \nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \end{align} \input{sections/discussion} \end{document}
Three moving parts. None of them are a TeX distribution.
Watch
A file watcher tracks your root .tex and every \input{} / \include{} it discovers. A fast local lint runs before each compile — unclosed environments, missing files, stray braces.
Compile
Sources are bundled and posted to a latex-on-http endpoint — public by default, or your own with --api. pdflatex, xelatex or lualatex.
Serve
The PDF is written atomically and served on localhost:7474. Server-Sent Events push a reload to the browser the moment a build finishes — or surface the error inline.
Zero-install with uvx, or keep it on your path.
Requires Python 3.11+. That's the whole dependency list — no TeX Live, no MacTeX, no 4 GB download.
uvx nantex main.tex
Runs the latest release in an isolated env. Nothing installed permanently.
Every flag.
Persist any of these in a .nantex.toml next to your project; CLI flags always win.
Let your agent compile LaTeX.
nantex --mcp runs a Model Context Protocol server that exposes two tools. Claude Code, Cursor or any MCP client can write a document, compile it, and read back structured errors — no shell juggling.
compile_latexcontent, compiler, api_url → success, pdf_path, errorsget_compile_statusstate of the last compile{
"mcpServers": {
"nantex": {
"command": "uvx",
"args": ["nantex", "--mcp"]
}
}
}
Ready-to-run .tex files.
Clone the repo and point nantex at any of them.