Editor LaTeX desktop com preview de PDF em tempo real, construído com Tauri, React e TypeScript.
- Frontend: React 19 + TypeScript + Vite + Tailwind CSS
- Editor: CodeMirror 6 com suporte a sintaxe LaTeX
- Backend: Rust + Tauri 2
- Compilador LaTeX: Tectonic (embutido como sidecar, sem necessidade de instalação externa)
- Bun
- Rust
- Dependências do Tauri para Linux:
libwebkit2gtk,libgtk-3, etc. — veja Tauri Prerequisites
bun installbun run tauri devbun run tauri buildsrc/
├── main.tsx # Entry point React + BrowserRouter
├── router.tsx # Definição de rotas
├── pages/
│ ├── Home.tsx # Editor + preview PDF
│ └── NotFound.tsx # Página 404
├── components/ # Componentes reutilizáveis
└── styles/
└── global.css # Tailwind CSS
src-tauri/
├── src/
│ └── lib.rs # Commands Rust (compile_latex)
├── binaries/ # Binários do tectonic por plataforma
├── capabilities/ # Permissões Tauri
└── tauri.conf.json # Configuração do app
- Editor LaTeX com syntax highlighting (CodeMirror + codemirror-lang-latex)
- Compilação LaTeX via Tectonic embutido (sidecar)
- Preview do PDF gerado no painel direito
- Binários cross-platform (Linux, macOS Intel, macOS Apple Silicon, Windows)
- Aliases de path (
@/*) - Roteamento com React Router DOM
- Auto-compilação ao parar de digitar (debounce)
- Indicador de carregamento durante a compilação
- Exibição de erros de compilação inline no editor
- Atalho de teclado para compilar (ex:
Ctrl+Enter) - Tema escuro no editor
- Abrir arquivos
.texdo sistema de arquivos - Salvar arquivo atual
- Salvar como...
- Histórico de arquivos recentes
- Título da janela com nome do arquivo
- Navegação por páginas no PDF
- Zoom no preview
- Sincronização editor ↔ PDF (SyncTeX)
- Exportar PDF para local escolhido pelo usuário
- Snippets de LaTeX comuns (tabela, figura, equação, etc.)
- Autocomplete de comandos LaTeX
- Suporte a projetos multi-arquivo (
\input,\include) - Configurações do app (tema, fonte, tamanho)