Seamless Multi-File Typesetting
Your whole project in one outline
Large LaTeX projects live across many .tex files joined by \input and \include. texspark treats the whole tree as one project.
- Outline walks the include tree recursively — see the full document structure in one place
- User-defined sectioning aliases (e.g. \mychapter{…}) are detected too
- Click an outline entry — or right-click in the PDF — to open the right sub-file automatically
- The root document gets auto-pinned while you work in a sub-file, so Build / SyncTeX / PDF preview stay anchored to the project root
- Inverse search resolves sub-file paths correctly whether SyncTeX records them as absolute or relative
Customizable Build Pipeline
Build it your way
Every LaTeX workflow is different — one xelatex run, or xelatex + bibtex + xelatex + xelatex. texspark lets you write your build command as plain text.
- Edit the build command freely in Preferences → Compile
- One-click template buttons: xelatex, pdflatex, lualatex, latexmk, bibtex, makeindex
- {file} / {filename} placeholders inject the active document
- Chain stages with && (e.g. xelatex … && bibtex … && xelatex … && xelatex …)
- All build output streams into the embedded zsh terminal
- A .log watcher parses errors and warnings into a clickable Issues panel — jump straight to the offending line
- “Jump after build” toggle automatically SyncTeXes the PDF to your current cursor when the build finishes
Intuitive Interface
Everything where you’d expect
A layout that doesn’t need a tutorial.
- Everything in one window: Outline on the left, Editor + Terminal/Issues in the middle, PDF on the right
- All splits are draggable, with sensible default proportions
- Tabs with pinning for multi-document work — pinned tab fixes the build root
- Unsaved changes show as a dot (●) where the close button normally sits — hover reveals the X
- Closing a dirty tab prompts to Save / Discard / Cancel — no accidental data loss
- Code folding affordances: gutter ▸/▾ triangles, hover guideline showing fold extent, ⋯ chip at folded headers (click to expand)
- Outline \part dividers labeled with Roman numerals (I, II, III, …)
- Core actions — Build, Jump-to-PDF, Forward / Inverse Search — all reachable via keyboard, toolbar buttons, or right-click
Native macOS Experience
Mac to the core
Not a browser, not Electron. A real macOS app.
- SwiftUI + AppKit, backed by the system NSTextView — fast even with large files
- Familiar shortcuts: ⌘N New, ⌘O Open, ⌘S Save, ⌘W Close, ⌘B Build, ⌘/ Toggle Comment, ⌘Z Undo
- Familiar menus: File / Edit / Build / Help — Open Recent, Toggle Comment, and Preferences all in their expected places
- Light / Dark / System theme — editor, gutter, and terminal switch together; System mode follows the OS instantly
- Uses your chosen monospaced font (or the system default) — full font picker in Preferences
- IME-safe: Korean, Japanese, and other composition input never collides with autocompletion or syntax highlighting
- Session restore on relaunch — open tabs, pinned files, and each document’s cursor and scroll position all come back