# What is LaTeX? a software or a makup language?

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?

-
There is no essential difference between markdown and latex at this level, markdown like latex is interpreted by software to produce formatted text. there are differences in implementation of course but I think your statement that there is no executable code behind markdown can't really be justified –  David Carlisle Dec 30 '13 at 0:03
Latex (as a language) is understood by several programs (tex/xetex/luatex that you mention but also several non-tex systems understand at least parts of the language: tex4ht, latexml, mathjax etc –  David Carlisle Dec 30 '13 at 0:06
@DavidCarlisle So perhaps Markdown is not a good counterexample. However Markdown was created as a language and after implementations have been written. LaTeX was not created as a language but to produce directly converted to dvi/pdf; for this purpose, there was a need for a language... –  ppr Dec 30 '13 at 0:08
I would say TeX is a program written in Pascal/Web converted to C, which also defines and implements the TeX language. LaTeX is a macro package written in the TeX language so it can also be considered a piece of software. –  marczellm Dec 30 '13 at 0:09
Read it again. It does not say anything about LaTeX /not being software/. It says that LaTeX is not /a particular editing program/. –  Hans-Peter E. Kristiansen Dec 30 '13 at 0:10

## 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.)

-

Here is a very minimalistic answer, which is only build on my own non-expert believes.

• LaTeX is a language used to make markup.

AND

• LaTeX is a software used to create formatted output.

LaTeX is not the editor, within you write your code. Wikipedias description is accurate.

-