What is ConTeXt
ConTeXt is a document markup language and document preparation system based on the TeX typesetting system. It was designed with the same general-purpose aims as LaTeX of providing an easy to use interface to the high quality typesetting engine provided by TeX. However, while LaTeX insulates the writer from typographical details, ConTeXt takes a complementary approach by providing structured interfaces for handling typography, including extensive support for colors, backgrounds, hyperlinks, presentations, figure-text integration, and conditional compilation. It gives the user extensive control over formatting while making it easy to create new layouts and styles without learning the TeX macro language. ConTeXt’s unified design avoids the package clashes that can happen with LaTeX.
ConTeXt provides a multi-lingual user interface with support for markup in English, Dutch, German, French, and Italian and support for output in many languages including western European languages, eastern European languages, Arabic, Chinese, Japanese, and Korean. It also allows the user to use different TeX engines like pdfTeX, XeTeX, and LuaTeX without changing the user interface.
ConTeXt integrates a superset of MetaPost called MetaFun which allows the users to use the drawing abilities of MetaPost for page backgrounds and ornaments. Metafun can also be used with stand alone with MetaPost.
ConTeXt also provides a macro package for typesetting chemical structure diagrams with TeX called PPCHTeX. This package can also be used with plain TeX and LaTeX.
ConTeXt was developed from 1990 by Hans Hagen from PRAGMA Advanced Document Engineering (Pragma ADE), a Netherlands-based company. It is free software: The program code (i.e. anything not under the
/doc subtree) is distributed under the GNU GPL; the documentation is provided under Creative Commons Attribution NonCommercial ShareAlike license.
In a bit more detail
ConTeXt can be used to typeset complex and large collections of documents, like educational materials, user guides and technical manuals. Such documents often have high demands regarding structure, design and accessibility. Ease of maintenance, reuse of content and typographic consistency are important prerequisites.
ConTeXt is developed for those who are responsible for producing such documents. ConTeXt is written in the typographical programming language TeX. For using ConTeXt, no TeX programming skills and no technical background are needed. Some basic knowledge of typography and document design will enable you to use the full power of ConTeXt.
ConTeXt is parameter driven and the user interface supports several languages, like English, German and Dutch. This means that those less familiar with the English language can choose the interface that suits them best. Of course ConTeXt can typeset in many languages.
Originally ConTeXt was written as tool for writing complex, constantly changing and extensive educational documents. Although much functionality originates there, ConTeXt has proven to be quite suitable to perform many other complex typesetting tasks. Some features are:
- automatic placement of figures, formulas, tables and other kind of floating bodies
- automatic generation of lists of abbreviations, synonyms, and whatever needs to be sorted
- automatic numbering of footnotes
- adapting footers and headers to the current page content
- extensive formatting of itemizations in many levels
- consistent typesetting of legends to formulas
- maintaining several registers, if needed with extensive interactive support
- extensive cross-referencing capabilities
- generating lists of used figures, tables, formulas and more
- forcing rigourous consistency in emphasizing parts of the text
- managing documents in a project environment
- automatic placement of marginal notes
- typesetting in more than one column
- identifying textual elements in such a way that they can be hidden, moved and reused when needed (questions, answers, definitions, etc.)
- using text in more that one document, with a different layout if needed
- automatic hyphenation of words as well as adaptation to language specific typographic needs
- inclusion of illustrations in standardized formats from other applications
- using color
- easy change of layout, while guarding consistent typography
- providing multiple tables of contents and lists, at all levels, to provide optimal accessibility
- automatic numbering of definitions, lemmas and other structural components
- automatic numbering of figures, tables, and other floating bodies
- automatic makeup of tables and formulas