[Tex/LaTex] LaTeX? A software or a markup language

latex-misc

According to Wikipedia:

LaTeX is a document preparation system and document markup language.
LaTeX is not the name of a particular editing program, but refers to
the encoding or tagging conventions that are used in LaTeX documents.

I would like to question this statement claiming that LaTeX is not a software but a markup language.

I am not sure LaTeX is a language but if it is, it is also a software in my opinion. You can call LaTeX in a terminal (so LaTeX is also a command, therefore a software or a part of a software). And LaTeX has (friendly) competitors in the person of XeLaTeX, LuaLaTeX or TeX. There are also executable files (i.e. softwares) which provide similar functionalities. Having competitors could be saw as a criteria to be a software.

The purpose of LaTeX language is (only) to be understood by LaTeX command which aims is to produces good quality printable documents. Could we call a language a syntax which only wants to be understood by one software? (shouldn't a language be more universal?)

As counterexample, Markdown is only a markup language. There is no process or executable binaries behind the language. Markdown is designed for writing in markdown (and not to be converted in something else). It is very different from LaTeX.

So, what do you think? Should I correct Wikipedia?

Best Answer

Format vs. Software

You are (somewhat) correct: what we call LaTeX can either be a format or a program depending on the context. I find it is helpful to distinguish the two using 'LaTeX' for the format and 'latex' for the piece of software.

You must remember though: latex simply loads a file that defines the LaTeX format in TeX (to then be processed by tex). (This same relationship exists, AFAIK, with ConTeXt.) Thus, in practice, the only(?) pieces of software that actually exist as far as I'm concerned are the TeX engines tex, pdftex, xetex, and luatex. (Others likely exist, but these are the top four.) The other executables (latex, pdflatex, …) exist only as pre-loaders of the LaTeX format.

In short, LaTeX provides a language which which to mark-up a document to be processed by latex, which in turn only provides an engine (tex, pdftex, …) with the LaTeX format written in TeX.

Editors

This answer is plain and simple: LaTeX is entirely editor independent. Saying that you need an editor that can write LaTeX is like saying you need a particular pencil to write on copy paper. (This is a great virtue of TeX systems; the competition keeps editors on their game.)