LaTeX Editor

LaTeX documents (.tex, .latex, .ltx) open in a dedicated editor with three tabs, switched from the mode toggle in the toolbar. Every tab edits the same underlying file, so you can move between them at any time.

TabWhat it showsNeeds a TeX engine?
EditA live WYSIWYG view — headings, paragraphs, lists, abstract, keywords, and math (typeset by KaTeX) look like the finished document. Type prose directly and click any equation to edit it visually.No — works instantly, nothing installed.
SourceThe raw .tex in the code editor, with a math-symbol palette for inserting snippets at the cursor. Nothing is hidden or transformed.No
PDFThe real, fully compiled document — Crispy runs LaTeX on your Mac and shows the actual typeset PDF: two-column layouts, author blocks, floats, tables, citations, and bibliography.Yes — a local TeX engine.

Think of Edit as a fast, dependency-free draft view for prose and math, Source as the full raw code, and PDF as the ground-truth typeset output. The Edit view intentionally renders a subset — math and common structure — and cannot reproduce full page layout (two-column formatting, exact float placement, custom document classes). Use the PDF tab for that.

Smart default

When you open a .tex file, Crispy picks a starting tab and remembers your choice per document:

  • TeX engine detected → opens in PDF (the fully compiled document).
  • No engine found → opens in Edit (KaTeX), which needs no installation.

Everything is local and offline

The PDF tab compiles with your own local TeX toolchain (pdflatex -synctex=1) on your machine — no account, no cloud, no internet. Crispy runs LaTeX and BibTeX over multiple passes automatically so cross-references and citations resolve instead of showing ?? / [?]. Long or runaway compiles are bounded by a timeout and cancelled when you keep typing, so the app never hangs.

Installing a TeX engine (for the PDF tab)

Crispy doesn’t bundle a TeX engine — it uses whatever you have installed.

Recommended: BasicTeX (~100 MB) — a minimal TeX Live distribution:

brew install --cask basictex

Full distribution: MacTeX (multi-GB) — the complete TeX Live with every package preinstalled:

brew install --cask mactex

Both install into /Library/TeX/texbin, which Crispy probes automatically (along with the standard TeX Live and Homebrew binary locations). No app restart is needed — after installing, open the PDF tab and click Recheck. Crispy was validated against TeX Live 2026 / pdfTeX 1.40.29, but any recent TeX Live release works.

Extra packages, no admin password

BasicTeX is intentionally minimal. If a compile fails with File '…sty' not found, install the missing package per-user, without sudo:

tlmgr init-usertree
tlmgr --usermode install <package>      # e.g. enumitem titlesec IEEEtran

This installs into your personal tree at ~/Library/texmf. MacTeX users rarely need this.

Writing in the Edit tab

Click into a paragraph and type; press Return for a new paragraph. The toolbar applies bold, italic, code, headings, and bullet/numbered lists to your selection and writes them back as the matching LaTeX commands (\textbf{…}, \section{…}, \begin{itemize}…). The abstract and keywords are editable too.

Tables, figures, TikZ pictures, the reference list, and custom environments appear as rendered, read-only blocks — preserved exactly; edit them in Source or on the PDF page. The round-trip is reversible: what you write is saved as clean LaTeX, and the preamble, packages, and anything Edit doesn’t render are kept intact (just hidden from the rendered view).

Edit an equation visually

Click any equation (inline or displayed) in Edit. A popup opens with a live preview, a grid of symbol and template buttons (fractions, roots, sums, integrals, Greek letters, matrices), and the raw TeX in a text box. Click Done or click away to commit; Cancel or Esc to discard. An equation with a syntax error shows as red text — click it to fix it, and Crispy keeps rendering the rest of the document.

Edit on the page (PDF tab)

This is the signature feature of the PDF tab. Double-click any text in the rendered document — Crispy uses SyncTeX to map that spot back to the exact source, and a small inline editor opens right where you clicked, prefilled with that block of source and labeled with the lines you’re editing. The matching region on the page is highlighted. Make your change and press Save (or ⌘↩); the document is rewritten and the page recompiles. Press Esc or Cancel to discard.

The page also recompiles automatically a moment after you stop typing. Your current page and scroll position are preserved across re-renders, so the view doesn’t jump.

Comment on the PDF

Select text in the PDF tab and a Comment button appears above the selection. Comments added on the PDF live in the same store as comments added in the Source or Edit views, so they show up consistently across tabs. See File Comments.

Non-destructive errors

If an edit doesn’t compile, Crispy keeps showing your last good PDF and drops a small dismissible banner — “Compilation failed — showing the last successful render.” Switch to Source to fix the error, and the page recompiles. Only when there’s no previous PDF to fall back to does Crispy show the full error log.

Math in Markdown

Crispy also renders inline math in Markdown: write $inline$ or a $$displayed$$ block, and it typesets via KaTeX in the markdown rich view, saving back to the same $…$ / $$…$$ you wrote.

Keyboard shortcuts

ActionShortcut
Commit the equation popup / on-page edit⌘↩ (or Save / click away)
Cancel the equation popup / on-page editEsc
New paragraph (Edit tab)
Open the on-page editor (PDF tab)Double-click the text

Standard editor shortcuts (undo/redo, find/replace, selection) work as usual in the Source tab.

💡 Tip: No TeX engine yet? The PDF tab shows an actionable screen with the brew install --cask basictex command, a Copy button, and a Recheck button that brings up the live PDF with no app restart. Meanwhile the Edit and Source tabs work without anything installed.

Known limitations

  • The PDF tab needs a local TeX engine (BasicTeX or MacTeX) — Crispy doesn’t bundle one. Edit and Source work without it.
  • The Edit tab renders math and common structure, not full document-class layout (two-column, exact float placement, custom classes). Use the PDF tab for true layout.
  • The PDF tab runs a real LaTeX engine on your machine — only compile .tex files you trust.
  • Single-user and offline by design — no collaboration or cloud rendering.
  • No command-line interface for LaTeX documents yet.