ConTEXt

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje
Pravilni naslov članka je ConTEXt. Podpisanih ali nadpisanih znakov, ki jih vsebuje, zaradi tehničnih omejitev ni mogoče pravilno prikazati.

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.

Primerjava med ConTeXt-om in LaTeX-om[uredi | uredi kodo]

ConTeXt NI razširitev ali paketek za LaTeX, temveč alternativa slednjemu, in ima zato tudi svojo sintakso.

LaTeX[uredi | uredi kodo]

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[uredi | uredi kodo]

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].

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.

Podprti sistemi[uredi | uredi kodo]

ConTeXt trenutno podpira pdfeTeX, Aleph in XeTeX.

pdf(e)TeX[uredi | uredi kodo]

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[uredi | uredi kodo]

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.)

XeTeX[uredi | uredi kodo]

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.

Osnovna skladnja[uredi | uredi kodo]

Pozdravljen svet![uredi | uredi kodo]

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.

Osnovne razlike in kompatibilnost s »plain TeX«-om in z LaTeX-om[uredi | uredi kodo]

ConTeXt pozna vse "plain TeX"-ove ukaze, torej ostaja nespremenjeno:

  • pisanje matematičnih formul (Pitagorov izrek pravi, da je $a^2+b^2=c^2$.), pri čemer polno podpira tudi MathML
  • delo s škatlami (boxes; \hbox, \vbox), čeprav končni uporabnik navadno uporablja le nov ukaz \framed
  • spreminjanje pisave v krepko (\bf), poševno (\it za italic, \sl za slanted in \em za emphasized), SMALL CAPS (\sc) (Kako se temu reče po slovensko?) z nekaj dopolnitvami

Podobno kot v LaTeX-u:

  • začnemo poglavja, naslove, podnaslove, ... (\chapter, \section, \subsection, ... \subsubsubsection; pa tudi neoštevilčeni title, \subject, ... \subsubsubsubject), lahko pa si definirate tudi svoja in jih vključite v indeks
  • naštevamo z \item

Vendar:

  • namesto \begin{NAME} ... \end{NAME} uporabljamo \startNAME ... \stopNAME:
    • \begin{document} ... \end{document} => \starttext ... \stoptext
    • \begin{itemize} ... \stop{itemize} => \startitemize ... \stopitemize

Šumniki[uredi | uredi kodo]

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.

Narekovaji[uredi | uredi kodo]

Slovenci za premi govor, citiranje besedila, ... uporabljamo sledeče narekovaje:

  •  »dvojni srednji« (Ux00BB/RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK in Ux00AB/LEFT-POINTING DOUBLE ANGLE QUOTATION MARK)
  • ›enojni srednji‹ (Ux203A/SINGLE RIGHT-POINTING ANGLE QUOTATION MARK in Ux2039/SINGLE LEFT-POINTING ANGLE QUOTATION MARK)
  • „dvojni spodaj-zgoraj“ (Ux201E/DOUBLE LOW-9 QUOTATION MARK in Ux201C/LEFT DOUBLE QUOTATION MARK)
  • ‚enojni spodaj-zgoraj‘ (Ux201A/SINGLE LOW-9 QUOTATION MARK in Ux2018/LEFT SINGLE QUOTATION MARK)
  • "dvojni zgoraj" (Ux0022/QUOTATION MARK)

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

„To so dvojni narekovaji spodaj-zgoraj.“
‚To so enojni narekovaji spodaj-zgoraj.‘

Č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]

Bibliografija[uredi | uredi kodo]

Zunanje povezave[uredi | uredi kodo]

Dokumentacija[uredi | uredi kodo]

in mnogi ostali na naslovu http://www.pragma-ade.com/overview.htm

WWW[uredi | uredi kodo]