What is ConTeXt

From ConTeXt wiki
Revision as of 00:25, 2 December 2012 by Esteis (talk | contribs) (Better intro)

In short

This is an example of a ConTeXt document:

\setuphead[section][color=red]
\starttext
\section{Hello}
World!
\stoptext


ConTeXt is ...

  • typography-friendly: where LaTeX's philosophy is to insulate the author from typographical details, ConTeXt's approach is to make them accessible.
  • unified: nearly any feature you could want is in one of the many core modules, avoiding the common LaTeX problem of clashing third-party packages.
  • extensive: there is support for such diverse things as colors, adaptive backgrounds, hyperlinks, presentations, figure-text integration, typesetting for Chemistry and physics, conditional compilation, non-latin languages, and binding and imposition.
  • text-based: you write the input document in plain text
  • compiled: you compile a document by opening a command-line window (like the Terminal on Linux or Mac OS, or the Command Prompt on Windows) and running context mydocument.tex

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 on its own with MetaPost, without ConTeXt.

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

(From in-en-04.pdf)

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

ConTeXt supports the PDF format and is able to directly produce highly interactive PDF files, using pdfTeX. All cross-references are automatically converted to hyperlinks. Such documents can be viewed and consulted with Acrobat. ConTeXt can provide all kinds of navigational aids that can be activated without programming. Electronic versions of documents thereby become very useful in educational settings. The potential of PDF is available to the user: complex forms and JavaScripts are no problem for ConTeXt. PRAGMA ADE has developed ConTeXt in-house mainly to suit its own and customers' wishes concerning developing educational documents. Flexibility in layout, reuse of content, and maintenance are keywords.