ConTeXt

from Wikipedia, the free encyclopedia
ConT E Xt

Unofficial ConTeXt logo (contextgarden logo)
Basic data

developer Mainly Hans Hagen and Pragma ADE
Current  version Mark IV
(March 21, 2019)
operating system Multiplatform (TeX)
category Document
text markup language
License GNU General Public License (program code), Creative Commons licenses Attribution, NonCommercial, ShareAlike (documentation)
contextgarden

ConTeXt , in its own spelling , is a text and document markup language or a document format . It is based on the TeX typesetting system , but requires one of its further developments, pdfTeX , XeTeX (ConTeXt Mark II) or LuaTeX (ConTeXt Mark IV) as the " engine " ( interpreter ).

function

In contrast to the other large, older TeX macro package LaTeX  , ConTeXt has a more monolithic structure, so there are only a few additional modules. For example, TeX-based vector graphics are fully integrated into ConTeXt by MetaFun , a successor to MetaPost .

ConTeXt focuses on the support of the PDF format and is able to generate an interactive PDF file with high complexity as well as a paper version of the same document directly. All cross references are automatically converted to hypertext links. Such documents can be viewed and controlled with a PDF reader. ConTeXt can provide all navigation elements that can be activated without programming. This makes the electronic versions of documents very useful for educational purposes. ConTeXt also contains some Perl help scripts such as TeXutil and TeXexec.

development

The system was created in 1990 by Hans Hagen and Ton Otten from the Dutch company PRAGMA Advanced Document Engineering (Pragma ADE). Since then it has mainly been developed by Hans Hagen.

Mark II, Mark IV and LMTX

There are currently (2020) the following development branches:

  • ConTeXt Mark II ( .mkii) is considered a stable, frozen version. She uses pdfTeX and XeTeX .
  • ConTeXt Mark IV ( .mkiv/ .mkvi) is in active development and is based on LuaTeX . Although the Mark IV code includes drastic changes, Mark IV is backward compatible with Mark II in many respects.
  • ConTeXt LMTX ( .mkxl/ .mklx) is based on LuaMetaTeX, a minimalist LuaTeX variant.

Files with the extension .mkvior .mklxpass a filter to support named function parameters instead of the numerical ones common with TeX.

Code sample

Creating ConTeXt documents is easy: Write datei.texand compile with context. The following is an example that leads to the PDF document shown:

Source text of a ConTeXt document Output of the document
\setupoutput[pdftex]
\setupbodyfont[plr,11pt]
\mainlanguage[de]
\language[de]
\enableregime[utf]

\setuphead[title][style={\ss\bfd},
% hier wird das Aussehen des Titels definiert
    before={\begingroup},
    after={Hans Wikipedianer\bigskip\endgroup}]

\starttext

\title{\ConTeXt}

\section{Text}
Genau so wie \LaTeX{} macht es auch \ConTeXt{}
einfach, den Text durch eine
Abschnittsnummerierung sowie durch Verweise
auf Tabellen, Zeichnungen und andere Elemente
zu gliedern. So kann man ganz einfach auf
Gleichung \in[eqn:gleichung100] verweisen.

\section{Mathematik}
Die folgende Gleichung stellt die
Möglichkeiten von \ConTeXt{} auf dem Gebiet
mathematischer Formeln dar. Gleichungen können
automatisch nummeriert werden.
\placeformula[eqn:gleichung100]
\startformula
    E = mc^2
\stopformula
worin
\placeformula[eqn:gleichung200]
\startformula
    m = \frac{m_0}{\sqrt{1-\frac{v^2}{c^2}}}
\stopformula
ist.

\stoptext
ConTeXt document translated from the code example

literature

Web links

Individual evidence

  1. Pragma ADE: ConTeXt distribution - current version
  2. Modules - ConTeXt wiki. DANTE , September 11, 2011, accessed on March 21, 2012 (English): "There are not as many modules for ConTeXt as packages for LaTeX, because a lot of LaTeX package features are in ConTeXt's core."
  3. Hans Hagen: ConTeXt LMTX . In: TeX Users Group (Ed.): TUGboat . tape 40 , no. 1 , 2019 ( tug.org [PDF]).
  4. ^ Hans Hagen: Mail regarding file extensions. Retrieved February 4, 2020 .
  5. ^ Translation of ConTeXt in the Polish language Wikipedia