A native macOS LaTeX editor built entirely in SwiftUI
| Platform | Minimum OS | Architecture | Format | Size |
|---|---|---|---|---|
| macOS | 14.0 Sonoma | Apple Silicon & Intel | .dmg |
2.4 MB |
- Syntax Highlighting with 12 token types (commands, environments, math, comments, references, strings, braces, brackets...)
- Line Numbers with current-line highlighting
- Smart Indentation and auto-closing braces/brackets
- Tab Management with multi-file editing
- 17 Built-in Snippets across 6 categories (Floats, Math, Lists, Theorems, Beamer, Layout)
- LaTeX Command Autocomplete with context-aware suggestions
- Quick Open (Cmd+P) for fast file navigation
- Go to Line (Cmd+G) dialog
- Find & Replace with case-sensitive search across entire projects
- 4 LaTeX Engines — pdfLaTeX, XeLaTeX, LuaLaTeX, latexmk
- Multi-pass Pipeline — automatic bibliography + recompilation passes
- Real-time Diagnostics — errors, warnings, and bad boxes parsed from log output
- Build Status Indicator — live progress, error/warning counts, compile time
- 120s Timeout with cancellation support (Cmd+.)
- Integrated PDF Viewer with page tracking
- Auto-reload on successful compilation
- Side-by-side editor + preview layout
- File Tree Browser with full project navigation
- Document Outline — parsed sections, chapters, subsections
- Bibliography Panel — BibTeX/Biber entry viewer
- Project Inspector — document statistics and metadata
- Project Templates — Article, Report, Book, Beamer, Letter
- Per-project Configuration via
.latexstudio.json
- Native macOS UI — built entirely with SwiftUI and AppKit
- Light & Dark Themes with semantic color system
- Customizable Layout — toggle sidebar, preview, inspector, build panel
- Zero Dependencies — pure Swift, no external packages
| Shortcut | Action |
|---|---|
Cmd+N |
New Project |
Cmd+O |
Open Project |
Cmd+S |
Save File |
Cmd+Shift+S |
Save All Files |
Cmd+W |
Close Tab |
Cmd+B |
Compile |
Cmd+. |
Stop Compilation |
Cmd+P |
Quick Open |
Cmd+G |
Go to Line |
Cmd+Shift+P |
Toggle Preview |
Cmd+Shift+J |
Toggle Build Panel |
Cmd+Shift+I |
Toggle Inspector |
Cmd+' |
Next Error |
Cmd+Shift+' |
Previous Error |
# Prerequisites: Xcode 15+ with Swift 5.10
# Clone
git clone https://github.com/Worth-Doing/texOS.git
cd texOS
# Run in debug mode
./Scripts/run.sh
# Build release binary
./Scripts/build.sh
# Create .app bundle
./Scripts/package.shSources/
├── App/ # App entry point, state, commands
├── Features/
│ ├── Bibliography/ # BibTeX parser
│ ├── Build/ # Compile engine, recipes, diagnostics
│ ├── Editor/ # Text editor, syntax, autocomplete, snippets
│ ├── Outline/ # Document structure parser
│ ├── Preview/ # PDF viewer
│ ├── Project/ # File tree, project model, templates
│ ├── Search/ # Find & replace
│ └── Settings/ # User preferences
├── Infrastructure/ # Persistence & process management
├── Shared/ # Design system, models, extensions
└── UI/ # Sidebar, toolbar, inspector, panels
Pattern: MVVM with @StateObject + @EnvironmentObject for state propagation, Combine for async build pipeline, NSTextView bridged via NSViewRepresentable for the editor core.
- macOS 14.0 (Sonoma) or later
- A LaTeX distribution installed (e.g. MacTeX, TinyTeX)
- Engines available in
/usr/local/bin,/Library/TeX/texbin, or/opt/homebrew/bin
MIT License. See LICENSE for details.
Built with SwiftUI for macOS by simonpierreboucher02