ConTeXt

Last updated
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.

Contents

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.

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 ConTeXt output EN.svg
ConTeXt document

See also

Related Research Articles

<span class="mw-page-title-main">LaTeX</span> Document preparation system

LaTeX is a software system for document preparation. When writing, the writer uses plain text as opposed to the formatted text found in WYSIWYG word processors like Microsoft Word, LibreOffice Writer and Apple Pages. The writer uses markup tagging conventions to define the general structure of a document, to stylise text throughout a document, and to add citations and cross-references. A TeX distribution such as TeX Live or MiKTeX is used to produce an output file suitable for printing or digital distribution.

TeX, stylized within the system as TeX, is a typesetting system which was designed and written by computer scientist and Stanford University professor Donald Knuth and first released in 1978. TeX is a popular means of typesetting complex mathematical formulae; it has been noted as one of the most sophisticated digital typographical systems.

<span class="mw-page-title-main">LyX</span>

LyX is an open source, graphical user interface document processor based on the LaTeX typesetting system. Unlike most word processors, which follow the WYSIWYG paradigm, LyX has a WYSIWYM approach, where what shows up on the screen roughly depicts the semantic structure of the page and is only an approximation of the document produced by TeX.

<span class="mw-page-title-main">GNU TeXmacs</span> Open-source word processor

GNU TeXmacs is a scientific word processor and typesetting component of the GNU Project. It originated as a variant of GNU Emacs with TeX functionalities, though it shares no code with those programs, while using TeX fonts. It is written and maintained by Joris van der Hoeven and a group of developers. The program produces structured documents with a WYSIWYG user interface. New document styles can be created by the user. The editor provides high-quality typesetting algorithms and TeX and other fonts for publishing professional looking documents.

<span class="mw-page-title-main">LilyPond</span> Free software scorewriter

LilyPond is a computer program and file format for music engraving. One of LilyPond's major goals is to produce scores that are engraved with traditional layout rules, reflecting the era when scores were engraved by hand.

<span class="mw-page-title-main">Typesetting</span> Composition of text by means of arranging physical types or digital equivalents

Typesetting is the composition of text by means of arranging physical type in mechanical systems or glyphs in digital systems representing characters. Stored types are retrieved and ordered according to a language's orthography for visual display. Typesetting requires one or more fonts. One significant effect of typesetting was that authorship of works could be spotted more easily, making it difficult for copiers who have not gained permission.

MetaPost refers to both a programming language and the interpreter of the MetaPost programming language. Both are derived from Donald Knuth's Metafont language and interpreter. MetaPost produces vector graphic diagrams from a geometric/algebraic description. The language shares Metafont's declarative syntax for manipulating lines, curves, points and geometric transformations. However,

Omega is an extension of the TeX typesetting system that uses the Basic Multilingual Plane of Unicode. It was authored by John Plaice and Yannis Haralambous after TeX development was frozen in 1991, primarily to enhance TeX's multilingual typesetting abilities. It includes a new 16-bit font encoding for TeX, as well as fonts covering a wide range of alphabets.

<span class="mw-page-title-main">Computer Modern</span> Family of typefaces

Computer Modern is the original family of typefaces used by the typesetting program TeX. It was created by Donald Knuth with his Metafont program, and was most recently updated in 1992. Computer Modern, or variants of it, remains very widely used in scientific publishing, especially in disciplines that make frequent use of mathematical notation.

<span class="mw-page-title-main">XyMTeX</span>

ΧyMTeΧ is a macro package for TeX which renders high-quality chemical structure diagrams. Using the typesetting system, the name is styled as XϒMTeX. It was originally written by Shinsaku Fujita. Molecules are defined by TeX markup.

<span class="mw-page-title-main">XeTeX</span> TeX typesetting engine

XeTeX is a TeX typesetting engine using Unicode and supporting modern font technologies such as OpenType, Graphite and Apple Advanced Typography (AAT). It was originally written by Jonathan Kew and is distributed under the X11 free software license.

<span class="mw-page-title-main">AMS Euler</span> Typeface

AMS Euler is an upright cursive typeface, commissioned by the American Mathematical Society (AMS) and designed and created by Hermann Zapf with the assistance of Donald Knuth and his Stanford graduate students. It tries to emulate a mathematician's style of handwriting mathematical entities on a blackboard, which is upright rather than italic. It blends very well with other typefaces made by Hermann Zapf, such as Palatino, Aldus and Melior, but very badly with the default TeX font Computer Modern. All the alphabets were implemented with the computer-assisted design system Metafont developed by Knuth. Zapf designed and drew the Euler alphabets in 1980–81 and provided critique and advice of digital proofs in 1983 and later. The typeface family is copyright by American Mathematical Society, 1983. Euler Metafont development was done by Stanford computer science and/or digital typography students; first Scott Kim, then Carol Twombly and Daniel Mills, and finally David Siegel, all assisted by John Hobby. Siegel finished the Metafont Euler digitization project as his M.S. thesis in 1985.

<span class="mw-page-title-main">FontForge</span> Font editor created by George Williams

FontForge is a FOSS font editor which supports many common font formats. Developed primarily by George Williams until 2012, FontForge is free software and is distributed under a mix of the GNU General Public License Version 3 and the 3-clause BSD license. It is available for operating systems including Linux, Windows, and macOS, and is localized into 12 languages.

<span class="mw-page-title-main">Ipe (software)</span> Extensible drawing editor

Ipe extensible drawing editor is a free vector graphics editor for creating figures in PDF or EPS format. It can be used for making small figures for inclusion into LaTeX documents as well as making multi-page PDF presentations. It is developed by Otfried Cheong since 1993 and initially worked on SGI workstations only. Ipe 6 was released in 2003 which changed the file format into XML code embedded into PDF and EPS files. Ipe 7 was released in 2009. Ipe 7 can be compiled under Windows, macOS and Unix but binaries are available for many distributions.

Microtypography is a range of methods for improving the readability and appearance of text, especially justified text. The methods reduce the appearance of large interword spaces and create edges to the text that appear more even. Microtypography methods can also increase reading comprehension of text, reducing the cognitive load of reading.

LuaTeX is a TeX-based computer typesetting system which started as a version of pdfTeX with a Lua scripting engine embedded. After some experiments it was adopted by the TeX Live distribution as a successor to pdfTeX. Later in the project some functionality of Aleph was included. The project was originally sponsored by the Oriental TeX project, founded by Idris Samawi Hamid, Hans Hagen, and Taco Hoekwater.

The computer program pdfTeX is an extension of Knuth's typesetting program TeX, and was originally written and developed into a publicly usable product by Hàn Thế Thành as a part of the work for his PhD thesis at the Faculty of Informatics, Masaryk University, Brno, Czech Republic. The idea of making this extension to TeX was conceived during the early 1990s, when Jiří Zlatuška and Phil Taylor discussed some developmental ideas with Donald Knuth at Stanford University. Knuth later met Hàn Thế Thành in Brno during his visit to the Faculty of Informatics to receive an honorary doctorate from Masaryk University.

PGF/Ti<i>k</i>Z Graphics languages

PGF/TikZ is a pair of languages for producing vector graphics from a geometric/algebraic description, with standard features including the drawing of points, lines, arrows, paths, circles, ellipses and polygons. PGF is a lower-level language, while TikZ is a set of higher-level macros that use PGF. The top-level PGF and TikZ commands are invoked as TeX macros, but in contrast with PSTricks, the PGF/TikZ graphics themselves are described in a language that resembles MetaPost. Till Tantau is the designer of the PGF and TikZ languages. He is also the main developer of the only known interpreter for PGF and TikZ, which is written in TeX. PGF is an acronym for "Portable Graphics Format". TikZ was introduced in version 0.95 of PGF, and it is a recursive acronym for "TikZ ist kein Zeichenprogramm".

Pandoc is a free-software document converter, widely used as a writing tool and as a basis for publishing workflows. It was created by John MacFarlane, a philosophy professor at the University of California, Berkeley.

References

  1. Dave Walden interview with Taco Hoekwater. TeX User Group 2006.
  2. "Release notes of ConTeXt at contextgarden". Archived from the original on 2005-12-26. Retrieved 2009-03-09.
  3. "List of releases of ConTeXt". Archived from the original on 2006-11-24. Retrieved 2009-03-18.
  4. "ConTeXt files in Supelec". Archived from the original on 2010-11-06. Retrieved 2009-10-05.
  5. Read Me (license of ConTeXt code and documentation)
  6. "FAQ of the UK TeX Archive". Archived from the original on 2010-05-18. Retrieved 2009-03-16.
  7. 1 2 3 "What is ConTeXt" page at contextgarden
  8. PGF/TikZ official manual. Version 2.0 Archived January 9, 2011, at the Wayback Machine . Section 9.1.3 "Using the ConTeXt Format". p. 88
  9. 1 2 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" . Retrieved 2010-07-13.
  15. Repository of new reference manual Archived February 22, 2012, at the Wayback Machine
  16. License notice of new official manual Archived February 22, 2012, at the Wayback Machine
  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". wiki.contextgarden.net. Retrieved 2020-08-30.
  20. 1 2 3 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. 1 2 Taco Hoekwater "A short History of $2^4$ parts". ConTeXt User Meeting 2007 (march 24)
  23. 1 2 Programme of the ConTeXt User Meeting 2007
  24. contextgarden 5th birthday on 24 July 2009
  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
  29. ConTeXt at Launchpad.net
  30. First ConTeXt blog post
  31. Post of announce of 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?". mailman.ntg.nl. Retrieved 2020-02-12.

Official pages

Manuals and tutorials

Comparison between ConTeXt and LaTeX