ConTeXt
From Wikipedia, the free encyclopedia
| Original author(s) | Mainly Hans Hagen and Pragma ADE |
|---|---|
| Developer(s) | Mainly Hans Hagen, Taco Hoekwater[1], Aditya Mahahan |
| Stable release | Mark IV / 2008-10-31[2][3] |
| Operating system | Multiplatform (TeX) |
| Type | Document markup language |
| License | Program code under Creative Commons GNU General Public License and Documentation under Creative Commons Attribution-Noncommercial-Share Alike 3.0[4] |
| Website | ConTeXt Garden |
ConTeXt is a document markup language and document preparation system based on the TeX typesetting system. It is 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[5][6].
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[6].
Rather than LaTeX which uses the native picture graphics engine[7], ConTeXt has no native drawing engine, but integrates a superset of MetaPost called MetaFun[6] which allows the users to use the drawing abilities of MetaPost for page backgrounds and ornaments. Metafun can also be used with stand alone MetaPost. ConTeXt also supports the use of other external drawing engines, like PGF/TikZ[8] and PSTricks[9].
ConTeXt also provides a macro package for typesetting chemical structure diagrams with TeX called PPCHTeX[10], as many other modules[9][11][12]. This package can also be used with plain TeX and LaTeX.
ConTeXt was developed from 1990[citation needed] by Hans Hagen from PRAGMA Advanced Document Engineering (Pragma ADE), a Netherlands-based company.
Contents |
[edit] License
ConTeXt 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.
The ConTeXt official manual (2001) and ConTeXt official mini tutorial (1999) are documents copyrighted by Pragma, but there is a repository of the future new manual[13] released under the GNU Free Documentation License[14][15]. As of April 2009 there is an uptodate version of the Fonts and Typography chapters[16].
[edit] Versions
Mark IV (abbreviated MKIV) is the current version of ConTeXt. It's a development version and new features are being added constantly, but it's fully usable. There is also a frozen version called Mark II (abbreviated MKII). The main difference between MKII and MKIV is that MKIV is based on the LuaTeX engine[17] and MKII is based on pdfTeX and XeTeX[18]. There are some documents describing the necessity of this change[19] how the process is being carried out, and its benefits[20].
Apart from the new features of MKIV, the changes between the code of MKII and MKIV are not visible in the user interface (in syntax document level).
The oldest version of ConTeXt is Mark I in which all the low-level code is written in Dutch.
[edit] A bit of history
ConTeXt was created by Hans Hagen[21] and Ton Otten of Pragma ADE in the Netherlands[22] around 1991[23][24] due to the need for educational typesetting material.
Around 1996, Hans Hagen coined the name ConTeXt meaning "text with tex" (con-tex-t; "con" is "with" in spanish)[21]. Before 1996 ConTeXt was used only within Pragma ADE, but in 1996 it began to be adopted by a wider audience. The first users outside Pragma were Taco Hoekwater, Berend de Boer and Gilbert van den Dobbelsteen, and the first user outside the Netherlands was Tobias Burnus[21].
In 2004, contextgarden.net wiki page was created[23].
ConTeXt low-level code was originally written in Dutch. Around 2005, the ConTeXt developers began translating this to English resulting in the version known as MKII, which is now stable and frozen.
In August 2007, Hans Hagen presented the MKIV version[25][24], and the first public beta was released later that year.[26].
During the ConTeXt User Meeting 2008, Mojca Miklavec presented[27] ConTeXt Minimals, a distribution of ConTeXt containing the latest binaries and intended to have a small memory footprint, thus demanding less bandwidth for updates.[28]. In August 2008, this distribution was registered like a project in launchpad web site.[29]
[edit] Example of code
Making ConTeXt documents is simple: make a plain text file (typically with .tex extension) and compile with texexec (texexec [name of the file])[30]. The result of this process is a PDF file (ConTeXt also can generate DVI file). An example is shown below.
% This line is a commentari because % preceeds it. % It specifies the format of head named 'title' % Specifically the style of the 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 |
[edit] References
- ^ Dave Walden interview with Taco Hoekwater. TeX User Group 2006.
- ^ Release notes of ConTeXt at ContextGarden
- ^ List of releases of ConTeXt
- ^ Readme First (license of ConTeXt code and documentation)
- ^ FAQ of the UK TeX Archive
- ^ a b c "What is ConTeXt" page at ContextGarden
- ^ Tobias Oetiker et al. "The not so short introduction to LaTeX 2e". p. 91
- ^ PGF/TikZ official manual. Version 2.0. Section 9.1.3 "Using the ConTeXt Format". p. 88
- ^ a b List of ConTeXt modules at Contextgarden
- ^ PPCHTeX Module for ConTeXt reference page at ConTeXtGarden
- ^ List of ConTeXt modules (static page)
- ^ List of ConTeXt modules in web server for downloading
- ^ Repository of new manual
- ^ License notice of new official manual
- ^ Part of thread about context manual where Taco Hoekwater recognises that new manual is licensed under the GFDL and he should put license note on the current directory of manual
- ^ Up-to-date chapters of manual: Fonts and Typography. April 2009.
- ^ MKIV reference manual. (page 7)
- ^ LuaTeX support page. In this page there is a comment that MKII is based on pdfTeX and XeTeX while MKIV is based on LuaTeX.
- ^ Hans Hagen "ConTEXt MkIV: Going UTF". TUGboat, Volume 28 (2007), No. 3 — Proceedings of the 2007 Annual Meeting. p314-316 (pdf)
- ^ Hans Hagen "MKII-MKIV". MAPS journal 34. p. 9-21 (pdf)
- ^ a b c Dave Walden interview Hans Hagen. TeX User Group 2006.
- ^ "Ask Nelly ..." PracTeX Journal. TeX User Group. 2005. Includes an example of ConTeXt document with source code.
- ^ a b Taco Hoekwater "A short History of $2^4$ parts". ConTeXt User Meeting 2007 (march 24)
- ^ a b Programme of the ConTeXt User Meeting 2007
- ^ Hans Hagen The Road to MKIV. ConTeXt User Meeting 2007.
- ^ MKIV at ContextGarden
- ^ ConTeXt User Meeting 2008 web page
- ^ ConTeXt Minimals web page
- ^ ConTeXt at Launchpad.net
- ^ "TeXEXEC explained" manual. Pragma ADE.
[edit] External links
[edit] Official pages
- Pragma ADE website (distributes ConTeXt)
- The ConTeXt Garden wiki (official ConTeXt wiki)
- Subversion repository of new documentation of ConTeXt
- ConTeXt source browse
[edit] Manuals and tutorials
- "ConTeXt, An Excursion". 1999 (pdf). Official mini tutorial
- "ConTeXt, the Manual". 2001 (pdf). Official ConTeXt Manual
- List of articles about ConTeXt
- Peter Steve "\starttext % Practical ConTeXt". The PracTeX Journal. 2005
- David Walden "Travels in TeX Land: Trying ConTeXt". The PracTeX Journal. 2007
- Aditya Mahajan & Willi Egger "ConTEXt for Beginners, Part I: Wetting your feet" Workshop presentation and "ConTEXt for Beginners, Part II: Learning to float" Introductory material of ConTeXt features (ConTeXt User Meeting 2008)
- Manuals and FAQs for PPCHTeX
- Metafun wiki page at ContextGarden (includes the official manual)
- MKIV reference manual (pdf)
[edit] Comparison between ConTeXt and LaTeX
- Berend de Boer "LaTeX in proper ConTeXt". 2003 (pdf) Tutorial for migration from LaTeX to ConTeXt.
- Taco Hoekwater "Comparing ConTeXt and LaTeX". MAPS Journal. 1998. p280-285 (pdf)
- Sanjoy Mahajan "Typesetting math(s) with ConTeXt". ConTeXt User Meeting 2007. (pdf) (Presentation slides)
- Functionality of core latex packages in ConTeXt
- Various threads on usenet comp.text.tex topic: "Your opinion: latex or context for me?", "LaTeX vs Context", "ConTeXt and LaTeX by authoritative figure", "Any reason to learn groff?"
- Aditya Mahajan "Display math in ConTeXt: ConTeXt rehab for amsmath addicts". MyWay June 2007 (pdf) (Originally appeared in MAPS Journal 34. 2006 p. 22-34 (pdf)). Contains a comparison of ConTeXt math capabilities with various latex math features, overall math alignments (gather, split, etc).

