# Awesome LaTeX

> This is a curated list of awesome stuff for the (La)TeX typesetting system.

## Contents

- Contents
- Distributions
- Docker Images
- Engines
  - LaTeX formulas on the web
- Editors
  - LaTeX-focused
  - General purpose text editors
  - Online editors
- Bibliography tools
- Build Tools
  - GitHub Actions
- Misc. Tools
- LaTeX-compatible GUI tools
- Packages
  - References
  - Tables
  - Graphics
    - PSTricks
    - TikZ
  - Source Code
  - Typography
  - Presentations, Slides
- Templates
- Symbols
- Resources
- Showcases
- Tutorials
- Books
- Blogs
- Social media
- Meta Awesome-LaTeX
- Legend

## Learning LaTeX

Guides how to learn LaTeX

## Distributions

- MacTeX - Most common LaTeX distribution for macOS, basically TeXLive with some Mac-specific tools added.
- TeX Live - Most common LaTeX distribution for Unix-like operating systems, including GNU/Linux. Also works on Windows.
- MikTeX - Most common LaTeX distribution for Windows, but also available for Mac, Linux or as Docker image.

## Docker Images

When one aims for a ready-to-run LaTeX environment without installing, Docker images might be the choice.

- reitzig/texlive-docker - minimal TeXLive system with package installation possibility
- Island of TeX/texlive - debian-based full TeXLive system
- dante-ev/docker-texlive - debian-based full TeXLive system with additions with pandoc, perl, and python pre-installed

## Engines

- pdfTeX - TeX compiler that produces PDF files immediately instead of DVI files (nowadays, this is the standard compiler for many users).
- XeTeX - TeX compiler that provides better unicode and font support than TeX/pdfTeX (i.e. you can use the fonts of your operating system instead of only TeX fonts).
- LuaTeX - (La)TeX compiler that supports Lua code for scripting and has improved unicode and font support than standard TeX/pdfTeX.
- tectonic - Modern, self contained (La)TeX compiler powered by XeTeX and TeXLive.

### LaTeX formulas on the web

- Auto-LaTeX Equations with Google Docs - Render high-quality math equations directly in Google Docs.
- MathJaX - JavaScript engine to render mathematical formulas on the web. The outcome looks really slick.
- mimeTeX - mimeTeX is a rather old tool to render LaTeX formulas to PNG figures for your web site, without actually needing a LaTeX installation on your server.
- mathTeX - mathTeX is the successor of mimeTeX: it produces nicer-looking images but it requires LaTeX to be installed on your server.
- KaTeX - KaTeX is a math rendering library made by Khan Academy focusing on fast load times. All output is processed as plain HTML instead of fixed images.
- Franklin.jl - Static site generator with KaTeX support, code evaluation, LaTeX-like commands and optional pre-rendering, in Julia.
- xhub - Browser extension that lets you use LaTeX in GitHub pages.

## Editors

Because editing LaTeX code with notepad is not awesome. There are many editors out there, below are the most awesome editors. A complete list of LaTeX editors is collected at tex.stackexchange.com as big list of LaTeX Editors/IDEs.

- List of popular LaTeX editors - Community-maintained list of popular LaTeX editors including a screenshot and a short description.

### LaTeX-focused

Some of the most awesome editor for LaTeX do just that: edit LaTeX.

- Kile - Great LaTeX editor originally from the Linux/KDE community. It runs fine on Windows and macOS as well.
- TeXMaker - Pretty good alternative to Kile.
- TeXStudio - Cross-platform LaTeX editor that stems from TeXMaker.
- WinEdt - The LaTeX editor many people swear by. Only for .
- TeXnicCenter - Quite old but free and decent editor for LaTeX.
- LyX - Cross-platform WYSIWYM editor that uses LaTeX behind the scenes to render documents.
- TeXShop - No-nonsense editor for LaTeX documents which is included in MacTeX.
- TeXWorks - No-nonsense editor for LaTeX code, modeled after TeXShop, but this one is cross-platform.
- BakomaTex - Commercial LaTeX editor that allows to edit your document both using its source code and WYSIWYG.
- Texifier - Commercial LaTeX editor for macOS and iOS, with excellent features (document overview, synchronised PDF display, autocompletion, sync across devices, etc.) that never get in the way of writing.

### General purpose text editors

These editors are no one-trick ponies: sure, they edit LaTeX, but they can do a lot more!

- Atom
  - LaTeXTools - Atom port of the Sublime Text package of the same name.
- Sublime Text
  - LaTeXing - Free plug-in to edit LaTeX.
  - LaTeXTools - Free LaTeX plugin for Sublime Text.
- Emacs
  - AucTeX - Emacs plugin for LaTeX that also shows a preview of equations and figures.
  - RefTeX - Emacs plugin for LaTeX that adds support for labels, references, and citations.
- Vim
  - Vim-LaTeX
  - LaTeX Live Preview - Instantly previews your LaTeX document.
  - vimtex - Modern vim plugin for editing LaTeX files. Has a variety of features including live preview and forward search.
- IntelliJ
  - TeXiFy-IDEA - Free LaTeX plugin for IntelliJ IDEA.
- VS Code
  - LaTeX Workshop - LaTeX extension for Visual Studio Code
  - LTeX - LanguageTool grammar/spell checking
  - a-nau/latex-devcontainer - Devcontainer setup for easy LaTeX usage without local installation

### Online editors

Online editors that allow you to edit documents collaboratively.

- List of popular online LaTeX editors - Community-maintained list of popular online LaTeX editor including equation editors.
- Authorea - Online editor with built-in git support and bibliography tools.
- Crixet - Online editor with realtime collaboration features.
- ShareLaTeX - Has pretty great LaTeX documentation and simple version control.
- Overleaf - Online editor, also with a WYSIWYM editor and git support.
- WebLaTeX - Web-based vscode with Git Integration + Copilot + Grammar & Spell Checker + Live Collaboration Support based on GitHub Codespace and Dev container.
- Papeeria - Online editor with built-in git support.
- JaxEdit - Online LaTeX editor with Live Preview and nice presentation mode.
- Vexlio - Online diagram editor with built-in LaTeX equation support including live preview and easy exports.

## Bibliography tools

- JabRef - Very powerful cross-platform (Java) bibtex editor.
- Papis - Extremely customizable, powerful and simple cross-platform (Python) library manager. It has a very complete Command-Line-Interface, several GUIs and scripting capability.
- Bibdesk - Great bibliography editor for .
- Zotero - Reference manager for your browser that also exports to bibtex and integrates with many LaTeX editors.
- Mendeley - Both an app and cloud client to manage your references and PDFs. Can sync out to a bibtex file for your LaTeX workflow.
- betterbib - Command-line utility for improving your BibTeX files. Fetches information from online sources.

## Build Tools

Compiling LaTeX documents can be tedious, build tools help you to manage the compilation process.

- Arara (GitHub repo) - Simple tool that allows you to specify which tools to call inside your document and it can be extended quite easily.
- latexmk - Build tool that is the commonly used by many LaTeX editors (LaTeXing, TeXShop, etc.) to build your LaTeX files.

### GitHub Actions

- xu-cheng/latex-action - GitHub Action to compile LaTeX documents
- dante-ev/latex-action - DANTE e.V.’s GitHub action to compile LaTeX documents. Offers a full TeXLive and pre-installed perl and python.

## Misc. Tools

- CaTeX - Concatenates LaTeX documents with attention for properly merging the preamble.
- Pandoc - This program converts almost any document format (LaTeX, DOC, markdown, etc.) to almost any other format. A great tool to aid workflows where multiple formats are used.

### Quality Check Tools

- ChkTeX - Linter / code checker for LaTeX documents.
- blacktex - Command-line tool that replaces commonly occurring LaTeX anti-patterns and cleans up your files.
- TeXtidote - A cross-platform (Java) spelling, grammar and style checker for LaTeX documents.

### Tools centered around equations

- Codecogs Eqn Editor - Online LaTeX equation editor that allows you to produce figures containing an equation.
- EqualX - Graphical LaTeX formula editor.
- KLaTeXFormula - Cross-platform alternative for LaTeXit.
- Laeqed - Crossplatform LaTeX formula to PNG convertor.
- LaTeXEqEdit - LaTeX formula editor for Windows.
- LaTeXiT - LaTeXit is an equation editor that makes it easy to drag-and-drop rendered equations (as PDF, PNG, etc.) into your non-LaTeX documents on the Mac.
- pix2tex - LaTeX OCR

## LaTeX-compatible GUI tools

- TikzEdt (also: GitHub repo) - WYSIWYG and text-based editor for TikZ pictures.
- TikZ-Editor - Live-previewing editor for TikZ figures.
- IPE - Drawing tool that integrates well with LaTeX commands and documents.
- GeoGebra - Cross-platform geometry tool with output to TikZ.
- Dia - Cross-platform diagramming tool that can export to PSTricks and MetaPost code.
- TikZiT - GUI tool for creating graphs and string diagrams using PGF/TikZ.
- LaTeXDraw - Vector-based drawing tool having LaTeX as first-class citizen.

## Packages

- CTAN - The Comprehensive TeX Archive Network is the place to look for useful packages and documentation.

### References

- Cross-reference packages explained - Elaboration on cross-reference packages (cleveref, varioref, theoremref, nameref, etc.): Which to use, which conflict?

### Tables

- Excel2LaTeX - Excel (2010 and older) macros to produce LaTeX `tabular` code.
- csv2latex - Converts CSV files from your favorite programs to LaTeX `tabular`s.
- Tables Generator - This website provides a graphical interface to input your table and produces properly-formatted code for LaTeX, Markdown, HTML, etc.
- pgfplotstable - This package displays numerical tables rounded to desired precision in various display formats. It can even read CSV files to include directly in your LaTeX document.

### Graphics

#### PSTricks

PSTricks is a great library to draw figures for inclusion in PostScript/DVI files.

#### TikZ

TikZ is an awesome package with many plugins that allow you to create figures from within your LaTeX documents. Typically, it is easier to get to work with `pdflatex` than PSTricks is.

- TeXample - Blog about LaTeX, with a big collection of TikZ figures.
- LaTeX en SI - Useful website with some custom packages to draw special plots (Bode, Nyquist, electrical schematics, block schematics, etc.) using TikZ. Note that everything is in French.
- pgfplots - Truly awesome plotting library on top of and in the style of TikZ/pgf. This library can load in CSV data files, perform some calculations and create beautiful plots.
- A very minimal introduction to TikZ (PDF) - Short introductory document to the world of TikZ, written by Jacques Crémer.
- PetarV-/TikZ - Collection of publication-ready PGF/TikZ figures by Petar Veličković.
- matlab2tikz - Convert your MATLAB plots to PGFPlots/TikZ.
- tikzplotlib - Convert your matplotlib plots to PGFPlots/TikZ.
- TikZBlog - Step-by-Step Tutorials about How to Draw Illustrations in LaTeX.

### Source Code

- minted - The minted package uses pygments to generate the listings. In this way, LaTeX is able to format more than 300 programming and markup languages and other text formats.

### Typography

- microtype - This package improves the appearance of your documents by enabling margin kerning and font expansion.

### Presentations, Slides

- nics - An opinionated alternative to Beamer, that we created with the hopes to make common tasks very easy and beautifully rendered by default. Has awesome documentation and a detailed cheatsheet to help you getting started.

## Templates

- LaTeX templates - Collection of templates for papers, posters, resumés, theses, books, presentations, … for LaTeX.
- Ultimate Beamer Theme List - Links to various beamer themes along with PDF previews.
- LaTeX Beamer Theme Overview - Visual overview of beamer themes included in TeXLive
- TeXtured - A typographically elegant, clean, and structured LaTeX template (primarily intended for theses).

## Symbols

- Comprehensive LaTeX symbol list - Very extensive list of symbols for LaTeX. Available in A4 and letter sizes.
- Detexify - You draw the symbol and this site/app will tell you the LaTeX command.

## Resources

- TUG - The TeX User Group is a way to get in touch with other (La)TeX users.
- TeXDoc - Online interface to the `texdoc` utility to browse LaTeX packages and documentation.
- Dickimaw Books: LaTeX resources - Great overview of resources useful for LaTeX.
- LaTeX cookbook - Sibling of TeXample, contains quite a bit of example code.
- Visual FAQ - Typesetting issues and a link to appropriate TeX FAQ answers.
- MartinThoma’s LaTeX example - GitHub repository containing example LaTeX documents.
- LaTeX community - Forum about LaTeX.
- German: Neue TeX FAQ - Modern and updated LaTeX FAQ in German.
- BibTeX Style Examples - Example output of common BibTeX styles (BST files).
- TeX World - Websites supported by the TeX Users Group, DANTE, and GUTenberg.
- TeXnique - A LaTeX Typesetting Game.

## Showcases

- Showcase of beautiful typography done in TeX & friends - Set of examples demonstrating the power of LaTeX.
- Showcase of beautiful invitations in TeX - Showcase of invitations typeset using LaTeX.
- Showcase of “programming your document” paradigm - Collection of LaTeX documents demonstrating how LaTeX can be used like a programming language.
- TUG: TeX showcase - Website from the TUG that shows some examples of what LaTeX can do.
- Awesome LaTeX drawing - Curated list of academic drawing examples for using LaTeX

## Tutorials

- LearnLaTeX.org - Browser-based LaTeX tutorial.
- The (Not So) Short Introduction to LaTeX2e - Very comprehensive introduction to LaTeX.
- Begin LaTeX in minutes - Brief intro to LaTeX for beginners that helps you use LaTeX with ease.
- Getting to Grips with LaTeX - Complete guide going through the majority of things you need to know about LaTeX.
- LaTeX introductions in languages other than English - Collection of introductions in many languages.

## Books

- Wikibooks: LaTeX - The LaTeX wikibook. Not really a paper book, but it is equally extensive.
- The LaTeX Companion, F. Mittelbach (2004)
- LaTeX Graphics Companion, M. Goossens (2007)
- TeX by Topic (2007)
- TeX for the Impatient (2020)
- Formatting Information (2020) - This is the HTML5-based online version of the book Formatting Information - An introduction to typesetting with LATEX. It has been continuously updated since the early 2000s.

## Blogs

- TeXblog - Blog about LaTeX and everything related.
- texblog.org - Blog on LaTeX and related topics (tutorials, packages, code snippets, etc.).
- TeX Talk - Blog for the TeX Stack Exchange site with news and interviews.
- TeX Hour - A weekly video meeting

## Social media

- LinkedIn: TeX/LaTeX User Group
- Twitter: @TeXtip - Tips related to (La)TeX by John D. Cook.
- TeX.StackExchange - StackExchange TeX section.
- TopAnswers TeX - a free and open source Q&A site for TeX and friends

## Meta Awesome-LaTeX

If you want to contribute, please do read our CONTRIBUTING guidelines.

## Legend

The icons indicating Mac, Linux and Windows compatibility show when a program is only available for those platforms. So absence of those icons means that the software is fully cross-platform.

Logo | Description
--- | ---
| macOS
| GNU/Linux
| Microsoft Windows
| Free Open-Source Software

All trademarks are property of their respective owners.

LaTeX.md Github