# ConTeXt

ConTeXt è un programma per l'elaborazione di documenti. Come LaTeX, è derivato da TeX. È particolarmente adatto per documenti strutturati, per la produzione automatizzata di documenti, per la tipografia molto fine e per la composizione multilingue. Si basa in parte sul sistema di composizione TeX e utilizza un linguaggio di marcatura per la preparazione dei testi. ConTeXt è dotato di vari strumenti automatici, tra cui interfacce per la gestione della microtipografia, delle note a piè di pagina e delle classi di note, e per la manipolazione dei caratteri e delle funzionalità OpenType. Inoltre, offre ampio supporto per colori, sfondi, collegamenti ipertestuali, figure, per la realizzazione di presentazioni e per la compilazione condizionale. Offre all'utente ampio controllo sulla formattazione, semplificando al contempo la creazione di nuovi layout e stili senza dover conoscere il linguaggio TeX di basso livello.

## Storia

ConTeXt è stato creato da Hans Hagen e Ton Otten della Pragma ADE, una società olandese, intorno al 1991 allo scopo di realizzare testi educativi.
Intorno al 1996, Hans Hagen ha coniato il nome ConTeXt, che significa "testo con tex" (con-tex-t; con è una preposizione latina che significa "insieme a"). Prima del 1996 ConTeXt veniva utilizzato solo all'interno della Pragma ADE, ma nel 1996 ha iniziato a essere adottato da un numero crescente di utenti. Nel luglio 2004 è stata creata la pagina wiki contextgarden.net. Il codice di basso livello ConTeXt è stato originariamente scritto in olandese. Intorno al 2005, gli sviluppatori hanno iniziato a tradurlo in inglese, ottenendo la versione nota come MKII, che ora è stabile e bloccata.
Nell'agosto 2007 Hans Hagen ha presentato la versione MKIV, e la prima beta pubblica è stata rilasciata nello stesso anno. Durante il ConTeXt User Meeting 2008, Mojca Miklavec ha presentato ConTeXt Minimals, una distribuzione di ConTeXt contenente gli ultimi binari e pensata per avere un footprint di memoria ridotto, richiedendo quindi una larghezza di banda inferiore per gli aggiornamenti. Nell'agosto 2008, questa distribuzione è stata registrata come progetto sulla piattaforma Launchpad. Nel luglio 2009 ConTeXt ha avviato una git repository. Nel novembre 2010 è stato creato il ConTeXt Group. Nell'aprile 2019 è stato annunciato LMTX (ConTeXt LuaMetaTeX).

## Caratteristiche

ConTeXt può essere paragonato a LaTeX, ma la differenza tra i due è piuttosto marcata. L'idea alla base di LaTeX è quella di evitare all'utente di occuparsi degli aspetti tipografici per concentrarsi solo sul contenuto del testo, un approccio utile, ad esempio, quando si devono comporre articoli per una rivista scientifica. LaTeX si è evoluto a partire da questa visione originale. ConTeXt è invece un sistema di composizione tipografica ideato per fornire agli utenti un accesso facile ai controlli tipografici avanzati e, essendo sviluppato da un unico gruppo di lavoro, evita i conflitti di pacchetti che possono verificarsi con LaTeX.
ConTeXt fornisce un'interfaccia utente multilingue con supporto per il markup in inglese, olandese, tedesco, francese e italiano. Fornisce inoltre supporto per l'output in molte lingue, tra cui quelle europee, l'arabo, il cinese, il giapponese e il coreano. Consente inoltre di utilizzare diversi motori TeX come pdfTeX, XeTeX e LuaTeX senza modificare l'interfaccia utente.
ConTeXt integra inoltre un superset di MetaPost chiamato MetaFun, che consente agli utenti di utilizzare le capacità di disegno di MetaPost per gli sfondi e le decorazioni delle pagine. Metafun può essere utilizzato anche con il solo MetaPost. ConTeXt supporta anche l'uso di altri motori per il disegno esterni, come PGF/TikZ e PSTricks.
Tra i molti moduli, ConTeXt fornisce anche PPCHTeX, un pacchetto di macro per comporre con TeX diagrammi di strutture chimiche. Questo pacchetto può essere utilizzato anche con TeX e LaTeX.

## Esempio di codice

Creare documenti in ConTeXt è semplice: si crea un file di testo semplice e lo si compila con lo script context. Il risultato di questo processo è un file PDF (ConTeXt può anche generare file DVI). Un esempio è mostrato di seguito.
I documenti ConTeXt hanno come estensione .tex o un'estensione che indica la versione del programma da usare: .mkii, .mkiv o .mkxl per TeX normale, .mkvi o .mklx per un dialetto che supporta altri parametri macro oltre a quelli numerici di TeX.
| % Queste linee sono un commento perché precedute da % % Specifica il formato nel comando chiamato 'title' % Specifica il formato del font: sans serif % + bold + big font. \setuphead[title][style={\ss\bfd}, before={\begingroup}, after={John Doe, the author\smallskip% \currentdate\bigskip\endgroup}] \starttext \title{\CONTEXT} \section{Text} \CONTEXT\ is a document preparation system for the \TEX\ typesetting program. It offers programmable desktop publishing features and extensive facilities for automating most aspects of typesetting and desktop publishing, including numbering and cross-referencing (for example to equation \in[eqn:famous-emc]), tables and figures, page layout, bibliographies, and much more. It was originally written around 1990 by Hans Hagen. It could be an alternative or complement to \LATEX. \section{Maths} With \CONTEXT\ we could write maths. Equations can be automatically numbered. \placeformula[eqn:famous-emc] \startformula E = mc^2 \stopformula with \placeformula[eqn:def-m] \startformula m = \frac{m_0}{\sqrt{1-\frac{v^2}{c^2}}} \stopformula \stoptext | Documento ConTeXt |