ConTeXt es un procesador de documentos de uso general . Al igual que LaTeX , deriva de TeX . Es especialmente adecuado para documentos estructurados, producción automatizada de documentos, tipografía muy fina y composición tipográfica multilingüe. Se basa en parte en el sistema de composición tipográfica TeX y utiliza un lenguaje de marcado de documentos para la preparación de manuscritos. Las capacidades tipográficas y automatizadas de ConTeXt son extensas, incluidas interfaces para manejar microtipografía , múltiples notas al pie y clases de notas al pie, y manipular fuentes y características OpenType . Además, ofrece un amplio soporte para colores, fondos, hipervínculos, presentaciones, integración de texto y figuras y compilación condicional. Le da al usuario un amplio control sobre el formato al mismo tiempo que facilita la creación de nuevos diseños y estilos sin tener que aprender el lenguaje de macros TeX de bajo nivel.
Aunque se pueden hacer comparaciones entre ConTeXt y LaTeX , los objetivos principales de los dos sistemas son distintos. Desde el principio, ConTeXt ha sido un sistema de tipografía y composición tipográfica diseñado para brindar a los usuarios un acceso sencillo y consistente al control tipográfico avanzado, que es crucial para la composición tipográfica de propósito general. La visión original de LaTeX, por otro lado, era aislar al usuario de las decisiones tipográficas, un enfoque particularmente útil para tareas como enviar artículos a una revista científica. Aunque LaTeX ha evolucionado a partir de esta visión original, el diseño unificado de ConTeXt evita los conflictos de paquetes que a menudo se experimentan con LaTeX. [6] [7]
ConTeXt ofrece una interfaz de usuario multilingüe con soporte para marcado en inglés, holandés, alemán, francés e italiano y soporte para salida en muchos alfabetos, incluidos los de Europa occidental, Europa oriental, árabe, chino, japonés y coreano. También permite al usuario utilizar diferentes motores TeX como LuaTeX (MkIV) y LuaMetaTeX (LMTX). Las versiones anteriores (MkII) funcionaban con pdfTeX o XeTeX . [7]
Como motor de dibujo nativo, ConTeXt integra un superconjunto de MetaPost llamado MetaFun [7] , que permite a los usuarios dibujar fondos de página y adornos con MetaPost. MetaFun también se puede utilizar directamente con MetaPost. ConTeXt también admite el uso de otros motores de dibujo externos, como PGF/TikZ [8] y PSTricks [9] .
ConTeXt también proporciona un paquete de macros para componer diagramas de estructura química con TeX llamado PPCHTeX, [10] así como muchos otros módulos. [9] [11] [12] Este paquete también se puede utilizar con TeX y LaTeX simples.
ConTeXt, cuyo nombre original era pragmatex, recibió su nombre alrededor de 1996 [13] de la mano de Hans Hagen de PRAGMA Advanced Document Engineering (Pragma ADE), una empresa con sede en los Países Bajos.
ConTeXt es software libre : el código del programa (es decir, todo lo que no se encuentra bajo el /doc
subárbol) se distribuye bajo la GNU GPL ; la documentación se proporciona bajo la licencia Creative Commons Attribution NonCommercial ShareAlike. [14]
El manual oficial de ConTeXt (2001) y el minitutorial oficial de ConTeXt (1999) son documentos con derechos de autor de Pragma, pero existe un repositorio del futuro nuevo manual [15] publicado bajo la Licencia de Documentación Libre de GNU . [16] [17] A partir de abril de 2009 existe una versión actualizada de los capítulos de fuentes y tipografía. [18]
La versión actual de ConTeXt es LMTX, presentada en abril de 2019 como sucesora de Mark IV (MkIV). [19] Las versiones anteriores (Mark II (MkII) y Mark I) ya no reciben mantenimiento.
Según los desarrolladores, la principal diferencia entre LMTX y sus predecesores es que la versión más nueva "utiliza un motor de compilación y scripting que está desarrollado específicamente con ConTeXt en mente: LuaMetaTeX... [que] ha sido altamente optimizado para el uso de ConTeXt". Anteriormente, MkIV usaba LuaTeX y MkII usaba pdfTeX .
ConTeXt fue creado por Hans Hagen [20] y Ton Otten de Pragma ADE en los Países Bajos [21] alrededor de 1991 [22] [23] debido a la necesidad de material de composición tipográfica educativa.
Alrededor de 1996, Hans Hagen acuñó el nombre ConTeXt, que significa "texto con tex" (con-tex-t; "con" es una preposición latina que significa "junto con"). [20] Antes de 1996, ConTeXt se utilizaba únicamente dentro de Pragma ADE, pero en 1996 comenzó a ser adoptado por un público más amplio. Los primeros usuarios fuera de Pragma fueron Taco Hoekwater, Berend de Boer y Gilbert van den Dobbelsteen, y el primer usuario fuera de los Países Bajos fue Tobias Burnus. [20]
En julio de 2004 se creó la página wiki contextgarden.net. [22] [24]
El código de bajo nivel de ConTeXt se escribió originalmente en holandés. Alrededor de 2005, los desarrolladores de ConTeXt comenzaron a traducirlo al inglés, lo que dio como resultado la versión conocida como MKII, que ahora es estable y está congelada [ cita requerida ] .
En agosto de 2007, Hans Hagen presentó la versión MKIV, [23] [25] y la primera beta pública se lanzó más tarde ese año. [26]
Durante la reunión de usuarios de ConTeXt de 2008, Mojca Miklavec presentó [27] ConTeXt Minimals, una distribución de ConTeXt que contiene los binarios más recientes y está pensada para tener un consumo de memoria reducido, por lo que demanda menos ancho de banda para las actualizaciones. [28] En agosto de 2008, esta distribución se registró como proyecto en el sitio web de Launchpad. [29]
En junio de 2008, Patrick Gundlach escribió la primera publicación [30] en el blog ConTeXt.
En julio de 2009, ConTeXt inició el repositorio git. [31]
En noviembre de 2010 se creó el Grupo ConTeXt. [32]
En abril de 2019, se anunció LMTX (ConTeXt LuaMetaTeX). [33]
La creación de documentos ConTeXt es sencilla: se crea un archivo de texto simple y se compila con el context
script. [34] El resultado de este proceso es un archivo PDF (ConTeXt también puede generar un archivo DVI ). A continuación se muestra un ejemplo.
Los documentos ConTeXt vienen con la extensión de archivo .tex o una extensión que demarca la versión requerida: .mkii
, .mkiv
, o .mkxl
para TeX normal, .mkvi
o .mklx
para un dialecto que admite parámetros macro con nombre además de los numéricos de TeX. [35]