Difference between revisions of "ConTeXt history"

From Wiki
Jump to navigation Jump to search
(first attempt at a history page)
 
(add some links)
Line 19: Line 19:
 
This prehistoric version of ConTeXt was using Knuth's TeX82 as the underlying compilation engine. Pragma ADE used the commercial Y&Y TeX distribution and the free IBM-PC port emTeX.
 
This prehistoric version of ConTeXt was using Knuth's TeX82 as the underlying compilation engine. Pragma ADE used the commercial Y&Y TeX distribution and the free IBM-PC port emTeX.
  
= ConTeXt Mark II =
+
= ConTeXt [[Mark II]] =
  
 
Around 1995, a public release of ConTeXt was made, roughly coinciding with the availability of pdfTeX as underlying compilation engine (although that was not the default compilation engine at the start).
 
Around 1995, a public release of ConTeXt was made, roughly coinciding with the availability of pdfTeX as underlying compilation engine (although that was not the default compilation engine at the start).
Line 32: Line 32:
 
ConTeXt Mark II is now obsolete and no longer actively maintained.
 
ConTeXt Mark II is now obsolete and no longer actively maintained.
  
= ConTeXt Mark IV =
+
= ConTeXt [[Mark IV]] =
  
 
With the development of the LuaTeX compilation engine (that Pragma ADE was a big part of) and its addition of both the Lua programming language and MetaPost graphics, it became possible to redo quite a lot of the ConTeXt internals, in turn necessitating a new major version.
 
With the development of the LuaTeX compilation engine (that Pragma ADE was a big part of) and its addition of both the Lua programming language and MetaPost graphics, it became possible to redo quite a lot of the ConTeXt internals, in turn necessitating a new major version.
Line 43: Line 43:
 
* All the command-line tools were consolidated into a single subsystem called `mtxrun`
 
* All the command-line tools were consolidated into a single subsystem called `mtxrun`
 
* Major features that were added or improved: Unicode, OpenType fonts, inline MetaPost graphics, HTML export, direct XML processing, Lua interface to typesetting
 
* Major features that were added or improved: Unicode, OpenType fonts, inline MetaPost graphics, HTML export, direct XML processing, Lua interface to typesetting
* ConTeXt Mark IV was distributed in both 'current' (stable) and 'beta' (development) versions.
+
* ConTeXt Mark IV was released in both 'current' (stable) and 'beta' (development) versions.
  
  
 
ConTeXt Mark IV is stable and still used as a production tool in many places.
 
ConTeXt Mark IV is stable and still used as a production tool in many places.
  
= ConTeXt LMTX =
+
= ConTeXt [[LMTX]] =
  
In 2019, work started on a new compilation engine: LuaMetaTeX (see this [https://tug.org/TUGboat/tb40-1/tb124hagen-lmtx.pdf article]). Once again, Pragma ADE was a driving force in its development, and the many internal engine changes resulted in the desire for a new major ConTeXt release: ConTeXt LMTX.
+
In 2019, work started on a new compilation engine: LuaMetaTeX. Once again, Pragma ADE was a driving force in its development, and the many internal engine changes resulted in the desire for a new major ConTeXt release: ConTeXt LMTX.
  
 
After about a year of internal rewrites, this has now become the official development version of ConTeXt.  
 
After about a year of internal rewrites, this has now become the official development version of ConTeXt.  
Line 56: Line 56:
 
At the moment, there is very little practical user-visible difference between ConTeXt Mark IV and ConTeXt LMTX, but that is likely to change in the future.
 
At the moment, there is very little practical user-visible difference between ConTeXt Mark IV and ConTeXt LMTX, but that is likely to change in the future.
  
For now at least, ConTeXt LMTX is distributed only in a 'latest' version, as there is no stable release yet.
+
For now at least, ConTeXt LMTX is distributed only in a 'latest' version, as there is no stable release yet.  
 +
 
 +
See [[Installation]] if you want to try it out yourself!
 +
 
 +
[[Category: Development]]

Revision as of 12:40, 2 July 2020

A short history of ConTeXt

ConTeXt has been in constant development for nearly three decades. It should not come as a surprise that over that time period, many things have changed. This page is a quick overview of the history of ConTeXt.

Prehistory: ConTeXt 'Mark I'

ConTeXt started as a macro package to aid in automating the typesetting of educational publications, with strong emphasis of easy of use as it targeted users that were not versed in TeX macro programming. Those first few years, ConTeXt was an internal tool used by Pragma ADE and its clients.

While the source code of ConTeXt has seen a lot of changes over the years, many of the early design decisions and features are still present in the newest releases:

  • A strong separation between input text and setup areas
  • Simple setups using key-value pairs
  • A monolithic design
  • A multi-lingual interface
  • A bias toward typesetting rather than portability of document sources
  • A feature set that is geared toward educational publishing, with early support for floats, columns, page composition, referencing, graphics, colours and external fonts
  • A command-line tool set to simplify the compilation process

This prehistoric version of ConTeXt was using Knuth's TeX82 as the underlying compilation engine. Pragma ADE used the commercial Y&Y TeX distribution and the free IBM-PC port emTeX.

ConTeXt Mark II

Around 1995, a public release of ConTeXt was made, roughly coinciding with the availability of pdfTeX as underlying compilation engine (although that was not the default compilation engine at the start).

Over the next decade, lots of development took place, drastically changing and expanding the ConTeXt source code.

  • The command-line tools were ported from Modula-2 to Perl, and later Ruby
  • Support was added for using compilation engines other than TeX82: ε-TeX, pdfTeX, XeTeX, Aleph
  • Many extra command-line tools were added
  • Major features were added or improved: PDF interaction, layers & overlays, modes, mathematics, typescripts

ConTeXt Mark II is now obsolete and no longer actively maintained.

ConTeXt Mark IV

With the development of the LuaTeX compilation engine (that Pragma ADE was a big part of) and its addition of both the Lua programming language and MetaPost graphics, it became possible to redo quite a lot of the ConTeXt internals, in turn necessitating a new major version.

2005 saw the birth of ConTeXt Mark IV.

  • The command-line tools were rewritten in Lua, using the compilation engine also as the scripting engine
  • Support for compilation engines other than LuaTeX was dropped
  • Much of the internal TeX code was rewritten in Lua
  • All the command-line tools were consolidated into a single subsystem called mtxrun
  • Major features that were added or improved: Unicode, OpenType fonts, inline MetaPost graphics, HTML export, direct XML processing, Lua interface to typesetting
  • ConTeXt Mark IV was released in both 'current' (stable) and 'beta' (development) versions.


ConTeXt Mark IV is stable and still used as a production tool in many places.

ConTeXt LMTX

In 2019, work started on a new compilation engine: LuaMetaTeX. Once again, Pragma ADE was a driving force in its development, and the many internal engine changes resulted in the desire for a new major ConTeXt release: ConTeXt LMTX.

After about a year of internal rewrites, this has now become the official development version of ConTeXt.

At the moment, there is very little practical user-visible difference between ConTeXt Mark IV and ConTeXt LMTX, but that is likely to change in the future.

For now at least, ConTeXt LMTX is distributed only in a 'latest' version, as there is no stable release yet.

See Installation if you want to try it out yourself!