# Was ist ConTeXt?
ConTeXt ist, genau wie LaTeX, ein Makropaket für das TeX Textsatzprogramm. Da die beiden aber vollkommen unabhängig voneinander entwickelt werde, haben sie nicht sehr viel miteinander zu tun. Beide haben natürlich gemeinsam, dass sie auf Plain TeX aufbauen und daher dieselben Regeln zutreffen, z. B. dass Makros mit `\` beginnen.
Das fängt natürlich bei der Syntax an. Am Beispiel des folgenden Hallo-Welt-Dokuments zeigen wir die gravierenden Unterschiede.
\documentclass{article}
\begin{document}
\section{Hallo Welt!}
Hallo Welt.
\end{document}
In ConTeXt:
\starttext
\startsection[title={Hallo Welt!}]
Hallo Welt!
\stopsection
\stoptext
Die aktuelle Version von ConTeXt heißt MkIV (Mark 4) und baut auf LuaTeX auf. Die stabile, eingefrorene Vorgängerversion heißt MkII und unterstützte pdfTeX und XeTeX. Wenn man etwas über ConTeXt lernen möchte sollte man sich ausschließlich mit MkIV beschäftigen, da MkII seit langem nicht mehr weiterentwickelt wird und neue, interessante Features nur in MkIV implementiert werden.
Einen (meiner Meinung nach) guten Einstieg in die ConTeXt-Syntax liefert »ConTeXt MkIV, an excursion« welches in TeXlive über `texdoc ma-cb-en` zugänglich ist.
ist. Das ältere »ConTeXt, an excursion« ist unvollständiger und bezieht sich auf MkII.
# Warum sollte ich mich für ConTeXt interessieren?
1. Es gibt keine Pakete. Es existieren ein paar wenig wenige Module, welche man mit `\usemodule[<Modul>]` einbindet, eigentlich ist es aber so gedacht, dass ConTeXt bereits alles mitbringt.
mitbringt. Nie wieder `Option clash for package XYZ`.
2. [XML](https://de.wikipedia.org/wiki/Extensible_Markup_Language)-Unterstützung. Mit ConTeXt kann man XML verarbeiten und setzen, aber auch exportieren um zum Beispiel docbook oder ePub [ePub](http://texwelt.de/wissen/fragen/2720) zu erstellen.
3. [PDF-X](https://de.wikipedia.org/wiki/PDF/X). Oft Manchmal ist es nötig standardisiertes PDF zu erzeugen. ConTeXt kann sogar [tagged PDF](https://de.wikipedia.org/wiki/PDF/A#PDF.2FA-1) erstellen, was mit LaTeX als unmöglich gilt.
4. [UTF-8](https://de.wikipedia.org/wiki/UTF-8)- und Systemschriftunterstützung. ConTeXt MkIV baut auf LuaTeX auf und bringt entsprechend alle Funktionen mit, welche auch standardmäßig aktiviert sind.
5. [Grundlinienraster](https://de.wikipedia.org/wiki/Grundlinienraster).
6. Konsistentes Key-Value-Interface. Beinahe alles in ConTeXt funktionert über das Tripel `\setupsomething[key=value]`, `\startsomething`, `\stopsomething`.
7. Buffer und Setups. Um das zu schätzen muss man sich schon etwas mit ConTeXt beschäftigt haben.
8. [Lua](https://en.wikipedia.org/wiki/Lua_(programming_language))-Interface. Alle Befehle, die in ConTeXt als `\befehl` verfügbar sind kann man innerhalb von ConTeXt auch in Lua verwenden mit `context.befehl`.
9. Das `context`-Programm macht alles in einem Aufwasch. Es erkennt selbst wie oft es durchlaufen muss um Querverweis, Querverweise, Indizes und Literaturverzeichnis richtig zu haben. Es werden mit MkIV *keine* Zusatzprogramme wie `makeindex` oder `bibtex` benötigt.
10. Es gibt weniger »Dateimüll«. `context` legt lediglich eine `.log`-Datei und eine `.tuc`-Datei an (Äquivalent zur `.aux`-Datei).