LaTeX3: Programming in LaTeX with Ease

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • typst

    A new markup-based typesetting system that is powerful and easy to learn.

  • There's Typst (https://typst.app), which is a new typesetting language aiming to improve some of the more inconvenient aspects of LaTeX and make it more functional (also incremental rendering!).

  • awesome-typst

    Awesome Typst Links

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • KeenType

    Discontinued Pure Java typesetting system

  • > modern languages like Markdown

    Markdown was created in 2004. From the creator:

    > ... the single biggest source of inspiration for Markdown’s syntax is the format of plain text email.

    Email goes back to 1965, though I suspect Markdown's influence stems from the more widely adopted email usage from the 1990s.

    > Part of LaTeX's success was the absolutely beautiful documents it can make with nothing but a personal computer.

    I'd say that was TeX's success, with LaTeX bolted on later to greatly improve TeX's extensibility. Keep in mind, there are a number of TeX-centric implementations beyond LaTeX. For example, my fork of NTS, called KeenType, is a pure Java version of TeX that can typeset beautifully and has at its core Knuth's original TeX files.

    https://github.com/DaveJarvis/KeenType/tree/main/tex/src/mai...

  • pandoc

    Universal markup converter

  • You could do it with Pandoc (https://github.com/jgm/pandoc), it supports both Latex and Typst as input and output formats, and can use either as a PDF engine.

  • latex-snippets

    Vim + LaTeX snippets setup

  • Though I'm not the same commenter, I personally got over the curve by learning from the LaTeX-tutorial.com website recommended by my professor of a math course, and then by learning how to use the Vim text editor with LaTeX. I also took a math course that happened to required weekly problem sets to be submitted in LaTeX.

    The first stage of learning was to learn LaTeX with from the website LaTeX-Tutorial.com, which includes a tutorial with no paywall [1]. I paid the closest attention to tutorials 00 to 05 for the core functionality, then skimmed the rest of the tutorial, as I would only rarely use the remaining features. (For tables, even after gaining a general familiarity with how the tabular environment work, I still found it faster to use the Tables Generator website [3], which was also recommended by my instructor).

    I then gained practice using TeXstudio as I preferred an offline program, though my professor and most of my fellow students used Overleaf as an online editor. However, I found that I spent a lot of time transcribing handwritten problem sets into LaTeX documents on TeXstudio and Overleaf, and searched for a faster and more pleasant method (in particular, I found that there was a significant delay in my experience when compiling LaTeX code to a PDF with TeXstudio and Overleaf).

    That was the source of my motivation for learning how to use Vim with LaTeX, though you should have enough knowledge for effectively writing LaTeX documents with just the information from the LaTeX tutorial website. I was also motivated due to my curiosity about Vim in general, from past discussions on the text editor in an xkcd comic and various forum discussions.

    To begin the learning process for Vim, I completed the default-installed Vim tutorial (also motivated because I was curious about Vim in general, from past discussions on the text editor in an xkcd comic and various forum discussions) over a weekend day. Crucially, I followed most of the advice from a Hacker Noon article [4] about more efficient ways to scroll up and down. I then edited the .vimrc config file to allow for using the cursor to keep things simple, using most of the default configurations for Neovim.

    Then, I roughly followed E.J. Mastnak's guide at [1] to get set up, over the course of another weekend day. After some troubleshooting with the configuration, I finally got the setup to work, and I’ve happily been using Vim with LaTeX since then. Since the process reduced the friction to compile LaTeX code to a PDF, I compiled my document more often, so I could catch errors early and often (I rarely spend time troubleshooting and debugging LaTeX code now, since I now fix errors shortly very after they appear, as I compile the document every few lines of code or so).

    The main major drawback of using Vim and LaTeX was that I followed the advice to enable autocompletion with snippets (e.g. typing “AA” automatically types in “\forall”) via the the UltiSnips software, which would make substitutions without an audible notification (in contrast to other software that I use to make snippets outside of Vim, that would make an audible ping before a substitution). That led to some significant typos in an early assignment I submitted, and I since learned from my mistake to be far more careful when using Vim with LaTeX for enabling snippets. However, snippets also functioned as a nice learning tool, as I would learn through practice what some basic commands would be, through the auto-substitution (for example, I’ve now easily remembered through exposure that <= is written as `\leq`) in LaTeX.

    To conclude, you can use free tutorials to learn the basics of LaTeX, and use Overleaf and TeXstudio to practice. For additional speed and pleasantness, you can spend a couple focused weekend days (or possibly more) to learn how to use Vim with LaTeX following another free guide. Then, you can reinforce your learning through regular practice (in my experience, my regular practice was necessary due to requirements of a math course—if your work or education similarly requires LaTeX, a real-life necessity is a great motivator for practicing document production with LaTeX).

    [1] https://latex-tutorial.com/tutorials/

    [2] https://www.ejmastnak.com/tutorials/vim-latex/intro/

    [3] https://www.tablesgenerator.com

    [4] https://hackernoon.com/learning-vim-what-i-wish-i-knew-b5dca...

    [5] https://github.com/gillescastel/latex-snippets/blob/master/t...

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts