TeX propose un langage de programmation (assez spécifique) et tout document plus compliqué que le trivial « Hello world » demande d'utiliser au moins un peu de ce langage de programmation.
Plain TeX et LaTeX sont deux ensembles de définitions de commandes (ou librairies) écrites pour compléter les commandes de : de fait, lorsque l'utilisateur lance les programmes tex
et latex
, ces derniers font appel à et chargent en complément par défaut qui leur est associée. Ces librairies sont dénommées des formats. Les documents doivent par conséquent être programmés en tenant compte des commandes que proposent les formats Plain ou .
Plain et existent parce que la rédaction de documents avec un « brut » implique beaucoup de réinventions de la roue pour traiter tel ou tel aspect de présentation pour chaque document. Ainsi, ces deux formats servent d'aides pratiques pour rendre vos document plus plaisants : fournit d'ailleurs beaucoup d'élements et de commandes pour répondre aux besoins de mise en forme des documents.
De fait, la richesse de lui permet d'être quasiment un sur-ensemble de Plain . Cependant, certaines commandes de Plain ne fonctionnent pas comme attendu lorsqu'elles sont utilisées dans un document . Utiliser des commandes Plain dans un document est source de bugs occasionnels : le résultat est presque correct mais certaines choses sont mal disposées.
Ainsi, Plain et sont reliés par un parent commun et ont été construits pour être utilisés pour des travaux similaires. Mais il faut garder en tête que la programmation faite pour l'un ne fonctionnera sans doute pas bien pour l'autre.