TexLab is a Rust-implemented Language Server Protocol (LSP) server for LaTeX and BibTeX. It provides rich IDE features including code completion, diagnostics (grammar, build errors, chktex), definitions, references, hover information, renaming, folding, document symbols, inlay hints, links, formatting, and build/forward-search commands. The architecture is a modular monolith with 20+ internal crates, each encapsulating a specific concern (parsing, syntax definitions, completion, diagnostics, etc.). The core relies on a custom recursive-descent parser using `logos` for lexing and `rowan` for a lossless concrete syntax tree, enabling precise source mappings. External dependencies include `latexmk`, `chktex`, `kpsewhich`, `latexindent`, and `tex-fmt` for build and formatting. Entry points are the binary `texlab` (CLI) and the LSP server loop in `crates/texlab/src/server.rs`. The data flow involves file system watching, parsing, semantic analysis (labels, citations, environments), and incremental updates via a workspace database.
Tectonic is a modernized, self-contained TeX/LaTeX engine that compiles .tex documents to PDF or HTML. It is built on a fork of XeTeX and integrates BibTeX, font shaping via HarfBuzz/FreeType, SVG-to-HTML conversion, and full PDF output via xdvipdfmx. The architecture is a Rust workspace with multiple crates implementing engines, I/O abstraction, bundle management, and C library bridges. The CLI tool provides subcommands (build, watch, new, bundle, dump, show) and supports workspace configuration via Tectonic.toml. The system is production-ready, with extensive test coverage, fuzzing, and support for cross-compilation. While the core TeX engine remains in C/C++ with global state, the Rust layers provide clean abstractions (IoProvider, StatusBackend, CachableBundle) that are reusable and well-architected. The codebase is actively maintained, with regular commits and CI/CD pipelines, though some C components show age and legacy patterns.
This repository provides the 'novathesis' LaTeX class and template for formatting MSc dissertations, PhD theses, and other academic documents. It is primarily targeted at Portuguese universities (25+ supported schools) but can be adapted for other institutions. The architecture is modular: a core engine (nt-core.sty) built on LaTeX3 (Expl3) manages metadata, file registration, hooks, and download utilities; separate style files handle covers (nt-covers.sty), spines (nt-spine.sty), rendering of front/main/back matter (nt-render-matter.sty), and options (nt-options.sty). Users configure the document via files in the 0-Config/ directory, and the main entry point is template.tex which calls \ntprint commands. The build system uses latexmk with a Makefile, supports multiple LaTeX engines (pdfLaTeX, LuaLaTeX, XeLaTeX), and includes CI via GitHub Actions. External dependencies include a full LaTeX distribution, biber for bibliography, bib2gls (requires Java) for glossaries, and Ghostscript for PDF post-processing. The template is actively maintained with a comprehensive changelog and version 8.3.0.
This repository provides a LaTeX document class (`awesome-cv.cls`) for creating professionally formatted CVs, résumés, and cover letters. The class offers a clean, semantic markup system with configurable sections for personal information, work experience, education, skills, honors, publications, and more. It includes a rich set of styling commands, color themes, and support for Font Awesome icons and modern fonts (Source Sans 3, Roboto). The repository also ships example documents (cv.tex, resume.tex, coverletter.tex) with sample content demonstrating all features. The project is maintained with CI/CD via GitHub Actions to compile PDF examples on each push, and it provides both a Makefile-based build and a Docker workflow for reproducible compilation. Its primary value is as a reusable LaTeX template that can be customized for job applications.
MiKTeX is a comprehensive, cross-platform TeX distribution that provides a complete typesetting system for Windows, macOS, and Linux. The repository contains the source code for TeX engines (pdfTeX, XeTeX, LuaTeX, e-upTeX, etc.), companion tools (dvipdfmx, dvisvgm, asymptote, metapost, tex4ht, etc.), the TeXworks editor, and the MiKTeX package manager (Console) and DVI viewer (Yap). It also bundles a large number of third-party libraries (FreeType, HarfBuzz, Poppler, LibreSSL, cURL, GMP, MPFR, etc.) as vendored dependencies. The architecture is monolithic: each executable compiles independently but shares a common core library (MiKTeX Core) that provides session management, file I/O, package management, and platform abstraction. The primary data flow is user-driven: packages are downloaded from remote repositories, TeX documents are compiled via one of the engines producing DVI or PDF output, and fonts are handled via system or bundled resources. The codebase is actively maintained with frequent releases, but the reliance on many vendored libraries and extensive platform-specific `#ifdef` blocks introduces moderate technical drift risk.