Jump to content

ConTeXt: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Xan2 (talk | contribs)
mNo edit summary
Xan2 (talk | contribs)
m typo in resume
Line 14: Line 14:
| genre = Document markup language
| genre = Document markup language
| license = Everyting except /doc in [[Creative Commons licenses]] [[GNU General Public License]]
| license = Everyting except /doc in [[Creative Commons licenses]] [[GNU General Public License]]
| website = [http://wiki.contextgarden.net]
| website = [http://wiki.contextgarden.net Contextgarden]
| blog = [http://contextgarden.wordpress.com ConTeXt news blog]
}}
}}



Revision as of 19:36, 16 December 2008

ConTeXt
Original author(s)Mainly Hans Hagen and Pragma ADE
Stable release
Mark IV / 2008-10-31
Operating systemMultiplatform (TeX)
TypeDocument markup language
LicenseEveryting except /doc in Creative Commons licenses GNU General Public License
WebsiteContextgarden

ConTeXt is a document markup language and document preparation system based on the TeX typesetting system. It was 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.

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 with stand alone with MetaPost.

ConTeXt also provides a macro package for typesetting chemical structure diagrams with TeX called PPCHTeX. This package can also be used with plain TeX and LaTeX.

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

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. Easy 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 more 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 rigorous 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 than one document, if needed with a different layout
  • automatic hyphenation of words as well as adapt 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 kind of navigational aids, that can be activated without programming. Electronic versions of documents thereby become very useful in educational settings.

The potentials of PDF is available to the user: complex forms and JavaScripts are no problem for ConTeXt.

A bit of history

ConTeXt was created by Hans Hagen[1] and Ton Otten of Pragma ADE in the Netherlands[2]

Example of code

Making ConTeXt documents is simply: make some file.tex and compile with texexec. An example (from [3]) is showing bellow

thumb|ConTeXt document

%& --translate-file=cp1250pl output=pdftex

\setupoutput[pdftex]
\setupbodyfont[plr,11pt]
\mainlanguage[pl]
\language[pl]

\setuphead[title][style={\ss\bfd},% w tym miejscu określa się wygląd tytułu
    before={\begingroup},
    after={Jan Wikipedysta\bigskip\endgroup}]

\starttext

\title{ConTeXt}

\section{Tekst}
Podobnie jak \LaTeX{}, ConTeXt ułatwia autorowi tekstu zarządzanie numerowaniem sekcji,
wypunktowaniami oraz odwołaniami do tabel, rysunków i~innych elementów.
W~łatwy sposób możemy się odwołać do wzoru \in[eqn:wzor1]

\section{Matematyka}
Poniższy wzór prezentuje możliwości ConTeXt-a w~zakresie składu formuł
matematycznych. Wzory mogą być numerowane automatycznie.
\placeformula[eqn:wzor1]
\startformula
    E = mc^2,
\stopformula
gdzie
\startformula
    m = \frac{m_0}{\sqrt{1-\frac{v^2}{c^2}}}.
\stopformula

\stoptext

References