ConTeXt

Short description: General-purpose document processor, derived from TeX

ConTeXt

Original author(s)| Mainly Hans Hagen and Pragma ADE
Developer(s)| Mainly Hans Hagen, Taco Hoekwater,[1] Aditya Mahajan, Mojca Miklavec, Wolfgang Schuster
Stable release|

Mark IV 0.61 / May 24, 2015 (2015-05-24)[2][3][4]

Operating system| Multiplatform (TeX)
Type| Document processor, Document markup language
License| Program code under GPLv2 and Documentation under CC BY-NC-SA 3.0[5]
Website| contextgarden

ConTeXt is a general-purpose document processor. Like LaTeX, it is derived from TeX. It is especially suited for structured documents, automated document production, very fine typography, and multilingual typesetting. It is based in part on the TeX typesetting system, and uses a document markup language for manuscript preparation. The typographical and automated capabilities of ConTeXt are extensive, including interfaces for handling microtypography, multiple footnotes and footnote classes, and manipulating OpenType fonts and features. Moreover, it offers 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 low-level TeX macro language.

While comparisons can be made between ConTeXt and LaTeX, the primary objectives of the two systems are distinct. From the onset, ConTeXt has been a typography and typesetting system designed to give users straightforward and consistent access to advanced typographical control, which is crucial for general-purpose typesetting. LaTeX's original vision, on the other hand, was to insulate the user from typographical decisions—an approach particularly useful for tasks such as submitting articles to a scientific journal. Although LaTeX has evolved from this original vision, ConTeXt's unified design prevents the package clashes often experienced with LaTeX.[6][7]

ConTeXt provides a multilingual user interface with support for markup in English, Dutch, German, French, and Italian and support for output in many scripts including western European, eastern European, 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.[7]

As its native drawing engine, ConTeXt integrates a superset of MetaPost called MetaFun,[7] which allows users to draw page backgrounds and ornaments with MetaPost. MetaFun can also be used directly with 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 well as many other modules.[9][11][12] This package can also be used with plain TeX and LaTeX.

Originally entitled pragmatex, ConTeXt was given its name around 1996[13] by Hans Hagen from PRAGMA Advanced Document Engineering (Pragma ADE), a Netherlands-based company.

## Contents

* 1 License
* 2 Versions
* 3 History
* 4 Example of code
* 5 See also
* 6 References
* 7 External links
* 7.1 Official pages
* 7.2 Manuals and tutorials
* 7.3 Comparison between ConTeXt and LaTeX

## 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.[14]

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[15] released under the GNU Free Documentation License.[16][17] As of April 2009 there is an up-to-date version of the fonts and typography chapters.[18]

## Versions

The current version of ConTeXt is LMTX, introduced in April 2019 as the successor to Mark IV (MkIV).[19] Previous versions — Mark II (MkII) and Mark I — are no longer maintained.

According to the developers, the principal difference between LMTX and its predecessors is that the newest version "uses a compilation and scripting engine that is specifically developed with ConTeXt in mind: LuaMetaTeX ... [which] has been optimised heavily for ConTeXt use." Previously, MkIV used LuaTeX and MkII used pdfTeX.

## History

ConTeXt was created by Hans Hagen[20] and Ton Otten of Pragma ADE in the Netherlands[21] around 1991[22][23] 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 a Latin preposition meaning "together with").[20] 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.[20]

In July 2004, contextgarden.net wiki page was created.[22][24]

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[citation needed].

In August 2007, Hans Hagen presented the MKIV version,[23][25] 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 as a project in launchpad web site.[29]

In June 2008, Patrick Gundlach wrote the first post[30] in ConTeXt blog.

In July 2009, ConTeXt started git repository.[31]

In November 2010, the ConTeXt Group was created.[32]

In April 2019, LMTX (ConTeXt LuaMetaTeX) was announced.[33]

## Example of code

Making ConTeXt documents is simple: one makes a plain text file, and compiles it with the `context` script.[34] The result of this process is a PDF file (ConTeXt also can generate a DVI file). An example is shown below.

ConTeXt documents come with the file extension .tex or an extension demarking the version required: `.mkii`, `.mkiv`, or `.mkxl` for regular TeX, `.mkvi` or `.mklx` for a dialect that supports named macro parameters in addition to TeX’s numeric ones.[35]

% This line is a comment because % precedes 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

| ConTeXt document

|

## See also

* List of TeX extensions
* LaTeX
* TeX

## References

1. ↑ Dave Walden interview with Taco Hoekwater. TeX User Group 2006.
2. ↑ "Release notes of ConTeXt at contextgarden". http://wiki.contextgarden.net/Release_Notes.
3. ↑ "List of releases of ConTeXt". http://foundry.supelec.fr/frs/?group_id=14.
4. ↑ "ConTeXt files in Supelec". http://foundry.supelec.fr/gf/project/contextrev/frs/.
5. ↑ Read Me (license of ConTeXt code and documentation)
6. ↑ "FAQ of the UK TeX Archive". http://www.tex.ac.uk/cgi-bin/texfaq2html?label=context.
7. ↑ 7.0 7.1 7.2 "What is ConTeXt" page at contextgarden
8. ↑ PGF/TikZ official manual. Version 2.0 . Section 9.1.3 "Using the ConTeXt Format". p. 88
9. ↑ 9.0 9.1 List of ConTeXt modules at contextgarden
10. ↑ PPCHTeX Module for ConTeXt reference page at contextgarden
11. ↑ List of ConTeXt modules (static page)
12. ↑ List of ConTeXt modules in web server for downloading
13. ↑ Hans Hagen Interview, 2006
14. ↑ Hagen, Hans (2005-11-24). "Read Me". http://wiki.contextgarden.net/Read_Me.
15. ↑ Repository of new reference manual
16. ↑ License notice of new official manual
17. ↑ 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
18. ↑ Up-to-date chapters of manual: Fonts and Typography. April 2009.
19. ↑ "LMTX - Wiki". https://wiki.contextgarden.net/LMTX.
20. ↑ 20.0 20.1 20.2 Dave Walden interview Hans Hagen. TeX User Group 2006.
21. ↑ "Ask Nelly ..." PracTeX Journal. TeX User Group. 2005. Includes an example of ConTeXt document with source code.
22. ↑ 22.0 22.1 Taco Hoekwater "A short History of $2^4$ parts". ConTeXt User Meeting 2007 (march 24)
23. ↑ 23.0 23.1 Programme of the ConTeXt User Meeting 2007
24. ↑ "contextgarden 5th birthday on 24 July 2009". http://contextgarden.wordpress.com/2009/07/17/happy-birthday-contextgarden/.
25. ↑ Hans Hagen The Road to MKIV. ConTeXt User Meeting 2007.
26. ↑ MKIV at contextgarden
27. ↑ ConTeXt User Meeting 2008 web page
28. ↑ "ConTeXt Minimals web page". http://wiki.contextgarden.net/ConTeXt_Minimals.
29. ↑ ConTeXt at Launchpad.net
30. ↑ First ConTeXt blog post
31. ↑ "Post of announce of git repository". http://contextgarden.wordpress.com/2009/07/17/new-git-repository/.
32. ↑ Official announcement of ConTeXt Group registration
33. ↑ Announcement of lmtx
34. ↑ "TeXEXEC explained" manual. Pragma ADE.
35. ↑ Hagen, Hans (2020-02-04). "[NTG-context Official file ending?"]. https://mailman.ntg.nl/pipermail/ntg-context/2020/096906.html.

## External links

### Official pages

* Pragma ADE, NL, http://www.pragma-ade.nl/ (distributes ConTeXt).
* Context Garden Wiki, http://wiki.contextgarden.net/ (official).
* Context Garden Documentation, http://wiki.contextgarden.net/Documentation (official).
* Context Garden Install, http://wiki.contextgarden.net/Installation (official).
* ConTeXt source browse, ConTeXt garden, http://source.contextgarden.net/ .

### Manuals and tutorials

* ConTeXt, An Excursion, Pragma ADE, 1999, http://www.pragma-ade.com/general/manuals/ms-cb-en.pdf (official).
* ConTeXt, the Manual, 2001, http://www.pragma-ade.com/general/manuals/cont-eni.pdf (official).
* Ataz-López, Joaquín (2021), A not so short introduction to ConTeXt, https://github.com/contextgarden/not-so-short-introduction-to-context/blob/main/en/introCTX_eng.pdf
* Articles about ConTeXt, ConTeXt garden, http://articles.contextgarden.net/ .
* Peter, Steve (2005), "\starttext % Practical ConTeXt", The PracTeX Journal, http://www.tug.org/pracjourn/2005-1/peter/ .
* Walden, David (2007), "Travels in TeX Land: Trying ConTeXt", The PracTeX Journal, http://www.tug.org/pracjourn/2007-2/walden/ .
* Mahajan, Aditya; Egger, Willi (2008-08-21), ConTEXt for Beginners, Part I: Wetting your feet, ConTeXt garden, http://meeting.contextgarden.net/2008/talks/2008-08-21-willi-aditya-beginners/Tutorial-text.pdf and  ConTEXt for Beginners, Part II: Learning to float, http://meeting.contextgarden.net/2008/talks/2008-08-21-willi-aditya-beginners/Tutorial-text.pdf : introductory material of ConTeXt features.
* "Manuals and FAQs for PPCHTeX", ConTeXt, Ånhet, http://context.aanhet.net/document.htm .
* "Metafun", ConTeXt garden, http://wiki.contextgarden.net/MetaFun (includes the official manual).
* The history of LuaTeX, 2006-2009, Pragma ADE, http://www.pragma-ade.com/general/manuals/mk.pdf .

### Comparison between ConTeXt and LaTeX

* de Boer, Berend (2003), LaTeX in proper ConTeXt, http://www.berenddeboer.net/tex/LaTeX2ConTeXt.pdf for migration from LaTeX to ConTeXt.
* Hoekwater, Taco (1998), "Comparing ConTeXt and LaTeX", MAPS Journal: 280–85, http://maps.aanhet.net/maps/pdf/20_42.pdf . Note: this text is quite old, and the legal information it contains is not relevant today, since ConTeXt is under GPLv2.
* Hagen, Hans (2006), Interview of Hans Hagen, https://tug.org/interviews/hagen.html . Interview of Hans Hagen including an insight into what motivated the creation of ConTeXt.
* Mahajan, Sanjoy, "Typesetting math(s) with ConTeXt", ConTeXt User Meeting 2007, http://meeting.contextgarden.net/2007/share/sanjoy/sanjoy-typesetting-textbook.pdf .
* "Functionality of core latex packages in ConTeXt" (wiki), ConTeXt, http://wiki.contextgarden.net/Latex_Packages .
* Mahajan, Aditya (June 2007), "Display math in ConTeXt: ConTeXt rehab for amsmath addicts", MyWay, http://dl.contextgarden.net/myway/context-latex-math.pdf . Originally "Display Math in ConTEXt ConTEXt rehab for amsmath addicts", MAPS Journal 34: 22–34, 2006, http://www.ntg.nl/maps/34/06.pdf . Contains a comparison of ConTeXt math capabilities with various latex math features, overall math alignments (gather, split, etc.).

* v
* t
* e

TeX

Macro packages|

* AMSTeX
* ArabTeX
* CircuiTikZ
* ConTeXt
* FarsiTeX
* LaTeX
* MusiXTeX
* Plain TeX
* PSTricks
* TikZ
* TIPA
* XyMTeX

Alternative TeX engines|

* eTeX
* LuaTeX
* pdfTeX
* XeTeX
* New Typesetting System
* Omega

Distributions|

| Active|

* TeX Live (MacTeX, W32TeX)
* MiKTeX
* TeXPortal
* TinyTeX

|

Deprecated|

* teTeX
* fpTeX
* gwTeX
* OzTeX
* AmigaTeX
* PasTeX

Community|

* CTAN
* TUGboat
* The PracTeX Journal
* DANTE

Related|

* DVI
* Computer Modern
* Metafont
* MetaPost
* WEB
* CWEB
* TeX Directory Structure
* TeX font metric
* Texinfo

* v
* t
* e

TeX editors

Open source|

* AUCTEX
* GNOME LaTeX
* GNU TeXmacs
* Gummi
* Kile
* LyX
* MeWa
* ShareLaTeX
* Texmaker
* TeXnicCenter
* TeXShop
* TeXstudio
* TeXworks

Freeware|

* LaTeX-Editor (LEd)
* proTeXt
* WinShell

Retail|

* Scientific WorkPlace
* WinEdt

* Category
* Comparison

* v
* t
* e

Document markup languages

Office suite|

* Compound Document Format
* OOXML
* SpreadsheetML
* PresentationML
* WordprocessingML
* ODF
* UOF

Well-known|

* HTML
* XHTML
* MathML
* RTF
* TeX
* LaTeX
* Markdown

Lesser-known|

* AmigaGuide
* AsciiDoc
* CML
* C-HTML
* ConTeXt
* CrossMark
* DITA
* DocBook
* eLML
* EAD
* Enriched text
* FHTML
* GML
* GuideML
* HDML
* HyTime
* HyperTeX
* IPF
* LilyPond
* LinuxDoc
* Lout
* MIF
* MAML
* MEI
* MusicXML
* OMDoc
* OpenMath
* POD
* ReStructuredText
* RTML
* RFT
* S1000D
* TEI
* Texinfo
* troff
* Wikitext
* WML
* WapTV
* XAML
* YAML

List of document markup languages

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/ConTeXt. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:ConTeXt&oldid=770738"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template