Help

Try it out: the Examples dropdown

The fastest way to see the engine work is the examples dropdown at the top of the source pane. It collects a curated mix of small math snippets, tables, TikZ figures, upto a sample paper. Selecting a different example replaces the project files in the editor and renders the result in the preview pane. Pick an example, watch it convert, then try editing. The preview re-renders 300 ms after you stop typing.

Editing & preview

Source ↔ preview sync

The editor and the preview stay anchored to each other through source locators: as it converts, latexml-oxide stamps every rendered construct with the source file, line, and column it came from. Two navigation aids ride on that mapping — one in each direction. Both work automatically; there is nothing to switch on.

A note on precision: line numbers are exact, but columns are best-effort — text inside a macro argument reports the column of the macro rather than of the character, so the highlight covers the whole matched construct (or whole line) rather than a single character. You always land on the right line. Double-clicking in the blank space between blocks, or anywhere that maps to no source (some generated content), simply does nothing.

The file panel

The leftmost column lists every file in your current session. Click any file to open it in the editor. Switching the active file does not trigger a re-conversion: the engine always renders the project's main entry (auto-detected from 00README.json if present, otherwise via the same heuristic arXiv uses), regardless of which buffer you're viewing.

Each row reveals a small × on hover that deletes the file (or recursively removes the folder, with confirmation). Conversions fire only on events that actually change what gets rendered: edits, uploads, deletes, file creation, clearing, and example swaps.

The four header buttons

Above the file list, four buttons control the project as a whole. The upload button has both a click and a drag-and-drop behaviour; the rest are click-only.

ButtonClickDrag
create Prompts for a relative path (e.g. chapter1.tex) and writes an empty file there.
upload Pick any number of loose files, or a single .zip / .tar.gz / .tgz archive that the server unpacks into the project. Drop a folder, files, or an archive anywhere on the file panel (the whole sidebar is a drop target; it lights up while a drag hovers over it). Sub-directory layout is preserved.
download Bundles every file plus the latest rendered index.html and the CSS stylesheet pack into a single ZIP. Extract anywhere and open index.html for an offline copy.
clear Deletes every file in the project (with a confirmation dialog). The session itself stays open. Hovers red to flag the destructive action.

Validating documents

The Validator tab checks a pasted or uploaded document against the site's schemas and shows the report inline. Under the hood it is a hosted Nu validator, reachable as a REST endpoint: POST /api/validate with your document as the request body. The Content-Type picks the schema — text/html for the scholarly HTML5 profile (the default), application/latexml+xml for the engine's native XML, application/mathml+xml for MathML 4 Core — and the response is the validator's JSON report (an empty messages list means valid).

curl -X POST https://latexml.rs/api/validate \
     -H 'Content-Type: text/html; charset=utf-8' \
     --data-binary @paper.html

See the Schemas page for the full Content-Type table, output formats, and limits — and for the browseable reference documentation of all three schemas.

Themes

Click the chrome-theme button at the top-right to cycle through the two palettes. Your choice is remembered across reloads.

ThemeSurfaceBest for
light Warm cream surfaces, burnt-orange accent, serif preview type. Long-form reading; the default when your system prefers a light color scheme.
dark Deep-ink surfaces, warm-amber accent. Late-night editing without going jet-black; the default when your system prefers a dark color scheme.