ConTEXt je program za urejanje besedil - zbirka skript in makro ukazov za TeX, podobna LaTeX-u.
Avtor ConTeXt-a je Nizozemec Hans Hagen, ki je sredi devetdesetih let 20. stoletja začel razvijati program za pomoč pri pripravi didaktičnega gradiva za lastno podjetje PRAGMA ADE, leta 199? pa je ConTeXt v uporabo ponudil širši javnosti.
ConTeXt omogoča pisanje poljubnih besedil (za pripravo publikacij ali interaktivnih dokumentov z JavaScript-om), pripravo prosojnic, profesionalen dizajn, risanje oz. programiranje slik s pomočjo MetaFun-a (omogoča integracijo slik in besedila, npr. prilagajanje besedila poljubni obliki, obkrožanje besed, ki se prilagaja velikosti posamezne besede, ali animacijo, ki se prilagaja številu strani v dokumentu), lahko ga uporabimo za pretvorbo XML dokumentov v PDF. Poleg drugih TeX-ovih izpeljank se po možnostih, ki jih ponuja za profesionalni dizajn tiskovin, uvršča med izjemno redke programe, ki se lahko kosajo z Adobe-ovim InDesigner-jem.
Že od samega začetka je bil ConTeXt zasnovan tako, da je mogoče vmesnik prevesti, da lahko uporabnik namesto angleške sintakse uporablja materni jezik (poleg podpore za nizozemščino je bil doslej vmesnik preveden v menšlino, italijanščino, češčino in romunščino). ConTeXt je bil sprva celo napisan v nizozemščini in šele leta 2004 so bili tudi low-level ukazi dokončno prevedeni v angleščino.
ConTeXt NI razširitev ali paketek za LaTeX, temveč alternativa slednjemu, in ima zato tudi svojo sintakso.
LaTeX je starejši in zato bolje uveljavljen in prepoznaven. Članke v LaTeX-u sprejema večina strokovnih (predvsem matematičnih, fizikalnih in računalniških) revij, na voljo je vse več urejevalnikov besedil s podporo LaTeX-u, zanj že obstaja mnogo makro paketov in precej literature. Žal paketki, čeprav številni, med seboj niso vedno kompatibilni in že osnovno spreminjanje sloga dokumenta je brez primernega, že napisanega paketka, prezahtevno za navadnega uporabnika.
Tudi distribucije (kot MikTeX, TeXLive, ...) so navadno bolj prilagojene LaTeX-ovim kot ConTeXt-ovim uporabnikom.
Čeprav je baza uporabnikov večja od uporabnikov ConTeXt-a, si morate zahtevnejše makro ukaze še vedno znati napisati sami.
Razvoj poteka počasi. Najdeni hrošči potrebujejo dolgo, da jih odpravijo in vključijo v distribucije.
LaTeX naj bi posodobili z novim sistemom, LaTeX3, ki bi bil najbrž v osnovi primerljiv s ConTeXt-om, vendar projekt poteka (pre)počasi.
ConTeXt je mlajši, še vedno slabše prepoznaven, a v samem jedru močnejši in njegova sintaksa bolj konsistentna od LaTeX-ove. Večina osnovne funkcionalnosti (delo z grafiko in barvami, spreminjanje postavitve in dimenzij strani, prilagajanje slogov naslovov, glave in noge, ...), ki je v LaTeX-u brez prave izbire paketov lahko prezahtevno za osnovnega uporabnika, je že vgrajena v jedro.
ConTeXt vsebuje večje število hroščev kot LaTeX (če ne štejemo hroščev v paketkih), vendar je večina izmed njih po prijavi na ConTeXt-ovem dopisnem seznamu odpravljena v nekaj urah do nekaj dneh ter popravek vključen v prvi naslednji verziji.
Za ConTeXt je na voljo manj modulov kot paketkov za LaTeX, vendar je osnovna funkcionalnost (delo z barvami in grafiko, oblikovanje prosojnic, spreminjanje sloga dokumenta, ...), za katero v LaTeX-u potrebujemo dodatne, mnogokrat med seboj nekompatibilne paketke, že vključena v samem jedru.
Ker avtor za razliko od Donalda Ervina Knutha, avtorja TeX-a in Leslieja Lamporta, avtorja LaTeX-a, še vedno aktivno razvija ConTeXt in aktivno sodeluje na dopisnem seznamu, prisluhne potrebam uporabnikov in večji del prošenj za dodatno funkcionalnost programa tudi v kratkem času implementira.
Vsako leto je na voljo okrog 30 uradnih verzij programa [1] Arhivirano 2005-12-26 na Wayback Machine..
Posebej velja omeniti modul za bibliografijo, delo Taco-ta Hoekwater-ja, ki je od leta 2004 del uradne distribucije. V njem je urejanje sloga izpisa bibliografije v primerjavi s pisanjem novega sloga za BibTeX, neprimerno lažje.
Tiskovine o ConTeXt-u, razen posameznih člankov, še ni, vendar je na voljo kar nekaj priročnikov v elektronski obliki.
ConTeXt trenutno podpira pdfeTeX, Aleph in XeTeX.
ConTEXt je sicer najbolje integriran in najbolje izkorišča možnosti pdfTeX-a, vendar slednji podpira le pisave z do 256 znaki.
V razvoju je podpora za OpenType pisave (in z njimi konec omejitve na 256 znakov) ter integracija s programskim jezikom lua (pdfluaTeX).
Aleph, včasih znan pod imenom e-Omega, naj bi združil prednosti Omege in e-TeX-a, s poudarkom na stabilnosti (ki je Omega nikoli ni imela), hitrosti in moči. (Razvoj orodja je manj aktiven od razvoja preostalih dveh.)
Združuje prednosti TeX-a, Unicode-a in Mac OS X-ovo podporo za pisave. Je tesno integriran z operacijskim sistemom, zato ga je mogoče uporabljati samo na Macintosh-ih. Podpira pisanje v vse smeri (od leve proti desni, desne proti levi, od zgoraj navzdol in od spodaj navzgor) ter nudi dobro podporo Unicode-u, OpenType pisavam ter omogoča enostaven dostop do vseh pisav, ki so dostopne operacijskemu sistemu. (Pri ostalih sistemih je uporaba nestandardnih pisav bistveno bolj zapletena.)
Podpirata ga tudi grafična vmesnika TeXShop in iTeXMac.
Najenostavnejši zgled dokumenta:
\starttext Pozdravljen svet! \stoptext
Za pisanje slovenskih besedil je potrebnih še nekaj dodatnih ukazov:
\enableregime[utf] % za pisanje dokumentov v UTF-8; tudi druge možnosti \mainlanguage[sl] % za pravilno deljenje besed, naslove, narekovaje in ostale jezikovne posebnosti \starttext Iz Jež'ce čez cesto v Stož'ce po rož'ce. \stoptext
Zglede je brez namestitve programa mogoče preizkusiti tudi na http://live.contextgarden.net.
ConTeXt pozna vse "plain TeX"-ove ukaze, torej ostaja nespremenjeno:
Pitagorov izrek pravi, da je $a^2+b^2=c^2$.
), pri čemer polno podpira tudi MathML\hbox
, \vbox
), čeprav končni uporabnik navadno uporablja le nov ukaz \framed
\bf
), poševno (\it
za italic, \sl
za slanted in \em
za emphasized), POMANJŠANE VERZALKE (\sc
za SMALL CAPS) z nekaj dopolnitvamiPodobno kot v LaTeX-u:
\chapter
, \section
, \subsection
, ... \subsubsubsection
; pa tudi neoštevilčeni title
, \subject
, ... \subsubsubsubject
), lahko pa si definirate tudi svoja in jih vključite v indeksVendar:
\begin{NAME} ... \end{NAME}
uporabljamo \startNAME ... \stopNAME
:
\begin{document} ... \end{document}
=> \starttext ... \stoptext
\begin{itemize} ... \stop{itemize}
=> \startitemize ... \stopitemize
TeX je bil že od svojega nastanka znan po tem, da je bilo v njem mogoče brez težav pisati šumnike in druge črke z akcenti, ki jih ni v ASCII naboru (ko so še imeli ostali programi, vključno z Word-om, precej težav):
Pe\v{s}ec gre \v{c}ez cesti\v{s}\v{c}e.
Dodatni makri so omogočili nekoliko enostavnejše, a še vedno zamudno pisanje:
Pe"sec gre "cez cesti"s"ce.
Danes, ko poznamo Unicode in ko želimo uporabljati tudi črkovalnike, ni nobenega razloga več, da bi pisali v tej krilatici, temveč raje pišemo šumnike kot v vseh ostalih programih (v naboru utf-8 ali izjemoma tudi v cp1250 ali iso-8859-2 , če urejevalnik besedila ne podpira Unicode-a).
Pešec gre čez cestišče.
Glej tudi zgornji zgled.
Šele če moramo uporabljati znake iz tujih jezikov in jih ne znamo drugače vnesti preko tipkovnice ali skopirati v dokument, uporabimo ukaze za postavljanje akcentov nad črkami, v ConTeXt-u pa so nam na voljo tudi imena posameznih simbolov. Nekaj zgledov:
črka | TeX | ime v ConTeXt-u |
č | \v{c} | \ccaron |
Č | \v{C} | \Ccaron |
š | \v{s} | \scaron |
Š | \v{S} | \Scaron |
ž | \v{z} | \zcaron |
Ž | \v{Z} | \Zcaron |
ć | \'{c} | \cacute |
đ | \dj | \dstroke |
ä | \"{a} | \adiaeresis |
ö | \"{o} | \odiaeresis |
ü | \"{u} | \udiaeresis |
ß | \ss | \ssharp |
Pe\scaron ec gre \ccaron ez cesti\scaron\ccaron e.
Slovenci za premi govor, citiranje besedila, ... uporabljamo sledeče narekovaje:
Tako uporabniki TeX-a kot tudi uporabniki Worda največkrat povzamejo “angleški tip narekovajev” (Ux201C/LEFT DOUBLE QUOTATION MARK in Ux201D/RIGHT DOUBLE QUOTATION MARK), kar je narobe.
Če v ConTeXt-u nastavimo slovenski jezik dokumenta (\mainlanguage[sl]
ali \language[sl]
za začasen preklop jezika), bo program sam poskrbel za pravilne narekovaje.
\mainlanguage[sl] \quotation{To so dvojni narekovaji spodaj-zgoraj.} \quote{To so enojni narekovaji spodaj-zgoraj.}
se bo spremenilo v
Če želimo »dvojne srednje« narekovaje, jih lahko dobimo z istima ukazoma, če v glavo dokumenta dodamo nastavitev
\installlanguage [sl] [leftquotation=\rightguillemot, rightquotation=\leftguillemot, leftquote=\guilsingleright, rightquote=\guilsingleleft]
in mnogi ostali na naslovu http://www.pragma-ade.com/overview.htm