TeX

TeX (formátováno ) je program pro počítačovou sazbu. Vytvořil jej profesor Donald Ervin Knuth, který v 70. letech 20. století nebyl spokojen s tím, jak školní nakladatelství sázelo jeho skripta určená studentům (ve skriptech se objevovalo mnoho chyb, především v matematických vzorcích, a ani typografie za mnoho nestála).

TeX je velmi populární zejména v akademických kruzích, zvláště v oborech jako je matematika, fyzika a informatika. Uplatnění ale může najít i v jiných oborech, např. humanitních – sazba je kvalitní nejen v případě matematiky, ale také v případě znaků různých abeced. Tímto programem byl z větší části vytlačen troff, formátovací systém preferovaný na mnoha Unixech. K dispozici je mnoho rozšiřujících balíků od velmi početných komunit uživatelů. Například existují balíky pro sazbu textu v podobě čárového kódu nebo vysázení obrázku situace šachové partie pomocí jediného příkazu. Taktéž existují komerční programové balíky.

(Poznámka k výslovnosti: TeX se vyslovuje „tech“ (v angličtině též „tek“), protože jeho název není psán latinkou, ale řecky, takže poslední písmeno v názvu je řecký znak chí. Název je inspirován starořeckým slovem τέχνη, znamenajícím „umění“, „dovednost“.)

TeX je obecně považován za nejlepší nástroj pro sazbu složitých matematických vzorců. Je však hojně používán i v běžné sazbě, stejně tak jako jeho odvozeniny a nadstavby, zvláště pak balík maker LaTeX. I Wikipedie používá na svých stránkách tento systém pro matematické výrazy.

Zajímavostí je způsob označování verzí programu: místo tradičního zvyšování čísla verze se označení verze TeXu prodlužuje o další číslici desetinného rozvoje Ludolfova čísla. Za nalezení chyby v programu nabízí Donald Knuth odměnu, která v současné době činí $327,68. Další zajímavostí je skutečnost, že Donald Knuth vyjádřil přání, ať bezprostředně po jeho smrti přestane být TeX dále vyvíjen a verze aktuální v toto datum se stane verzí finální, označenou právě číslem pí.

TeX umí rozpoznat ve zdrojovém textu přibližně 300 základních povelů („primitivní funkce“), které umožňují nejen přímo ovlivňovat tvorbu stránky, ale také ovlivňovat chování TeXu při zpracování vstupního textu a tím dosahovat různých efektů, jež často zjednodušují přípravu vstupního textu. Všechny povely pro TeX se zapisují do zdrojového textu, typicky jako sekvence znaků uvozené zpětným lomítkem.

Primitivní funkce je možné rozdělit do několika skupin:

 Primitivní funkce ovlivňující načítání vstupního textu.
 Primitivní funkce umožňující zadávání nových symbolických názvů pro různé objekty.
 Primitivní funkce definující nová makra.
 Primitivní funkce nastavující různé číselné parametry.
 Primitivní funkce umožňující specifické formátování výstupu – zejména vytváření boxů a tabulek.
 Primitivní funkce ovlivňující zlom odstavců (včetně dělení slov).

V České republice TeX propaguje zejména RNDr. Petr Olšák, který o něm napsal množství článků a podrobnou referenční knihu TeXbook naruby.

Uživatelé si obvykle nestahují a neinstalují samotný program TeX, ale celou softwarovou distribuci TeXu zahrnující řadu pomocných programů, počítačové fonty a balíky maker. Nejvýznamnějšími distribucemi jsou TeX Live a MiKTeX, dříve byl nejvýznamnějším teTeX.

Varianty TeXu 

Autor TeXu jej vyvíjel v letech 1978 až 1990, poté oznámil ukončení vývoje. Dále bude jen opravovat chyby. Tehdy měl TeX verzi 3.0 a kdykoli autor opraví chybu, přidá do čísla verze další desetinné číslo tak. že verze konverguje k číslu π. Nikdo jiný, než autor, nesmí (dle licence) do zdroje TeXu zasahovat, ale jsou možná rozšíření programu s modifikovaným jménem. Dnes se originální TeX v podstatě nepoužívá, v distribucích TeXu se vyskytují následující rozšíření:

pdfTeX 
počátek vývoje sahá do 90. let, vytvořil jej Hàn Thế Thành. Na rozdíl od originálního TeXu umí pdfTeX přímý výstup do PDF fromátu a obsahuje mikrotypografická rozšíření. Jeho nevýhodou je, že (stejně jako originální TeX) nepodporuje Unicode, fonty tedy je třeba použít zhruba tak, že se vybere tzv. encoding vektor obsahující 256 znakovou podmnožinu fontových znaků a s těmi se pracuje. To přináší komplikovanou instalaci každého nového fontu.

XeTeX 

XeTeX je formát TeXu, který v roce 2004 vytvořil Jonathan Kew. Na rozdíl od pdfTeXu interně pracuje v Unicode a umožňuje přístup k fontům instalovaným v operačním systému.

LuaTeX 
LuaTeX spojuje TeX se všemi vylepšeními následujících variant a přidává programovací jazyk Lua. Pracuje v Unicode. První verze se objevila v roce 2007, autory jsou Taco Hoekwater a Hans Hagen. Dnes je tým autorů širší.

Formáty 
Samotný program TeX rozumí pouze sadě elementárních příkazů (primitivních funkcí), které pokrývají základní sázecí operace a programovací funkce. Umožňují však, aby byly na jejich základě definovány komplexnější příkazy na vyšší úrovni (makra). Tímto způsobem lze z nízkoúrovňových stavebních bloků sestavit uživatelsky přívětivější prostředí.

Vytváření nových formátů (označovaných též jako balíky maker) je záležitost především pro velmi zběhlé programátory. Definice se zapisují do zdrojového souboru, který se následně zpracuje speciální verzí programu TeX s názvem iniTeX, jenž uloží definice v kompaktní podobě tak, aby ho běžný program TeX mohl rychle načíst.

PlainTeX 
Sám o sobě je TeX uživatelsky velmi nepřívětivý. Proto Donald E. Knuth napsal balík maker pro použití s TeXem, který nazval PlainTeX. Tento poměrně jednoduchý formát je někdy zaměňován se skutečným programem TeX, čemuž napomáhá také fakt, že PlainTeX tvoří základ některých dalších formátů. Když spustíte tex bez dalších přepínačů snanovující načtení formátu nebo přechod do iniTeX verze, je stanoveno, že si program přečte formát plainTeX a poté teprve začne zpracovávat vstupní soubor dokumentu.

LaTeX 

Z důvodu programátorské náročnosti roku 1985 sestavil americký počítačový specialista Leslie Lamport formát LaTeX, který poskytuje sadu maker (příkazů vyšší úrovně) pro vytváření komplexních dokumentů. Pomocí tohoto formátu může dokonce i uživatel bez znalostí sazby nebo programování využívat rozsáhlých výhod nabízených programem TeX a je schopný za několik dní vytvořit rozmanité textové výstupy v knižní kvalitě. To platí především pro vytváření tabulek a psaní matematických textů.

LaTeX je mnohem více značkovací jazyk než původní PlainTeX, na němž je založen. Integruje podporu pro členění textu, živá záhlaví, obsah, křížové odkazy, číslování rovnic, citace, plovoucí tabulky a obrázky, aniž by autor musel vědět, jak se má všechno formátovat. Informace o souboru jsou uloženy v souborech tříd, na které vstupní text odkazuje, ale které v něm nejsou zahrnuty. Díky tomu lze přímo použít předdefinovaný design bez dalších úprav.

LaTeX byl od svého uvedení v polovině osmdesátých let pravidelně aktualizován a revidován. Po mnoha letech bylo číslo verze ustáleno na 2.09 a revize byly označeny pouze datem svého vzniku. Poslední významnější aktualizace proběhla 1. prosince 1991 a drobnými opravami 25. března 1992 a od této doby se LaTeX 2.09 již nezměnil.

LaTeX 2ε 
Díky velmi vysoké popularitě, kterou si formát LaTeX získal, a také zásluhou pokroku v oblasti počítačové technologie, vzniklo velké množství variací tohoto formátu nesoucích označení LaTeX. Ve snaze obnovit opravdový, vylepšený standard spustili pánové Leslie Lamport, Frank Mittelbach, Chris Rowley a Rainer Shöpf v roce 1989 Projekt LaTeX 3. Cílem tohoto projektu je sestavit optimalizovanou a výkonnou sadu základních příkazů doplněnou různými balíčky, které podle potřeby doplní specifické funkce.

Jak naznačuje již samotný název projektu, jeho snahou je dosáhnout verze 3 formátu LaTeX. Nicméně protože se jedná o cíl dlouhodobý, prvním krokem k jeho dosažení bylo vydání verze LaTeX 2ε v polovině roku 1994, společně s publikací druhé edice Lamportovy základní příručky a doplňkově knihy (Goossens et al., 1994) popisující celou řadu dostupných rozšiřujících balíčků a LaTeXové programování v novém systému. Nejaktuálnější, třetí kniha (Goossens et al., 1997) pojednává o začlenění grafiky a barev do textu, což byly dvě počáteční slabiny LaTeXu. V současné době se verze LaTeX 2ε stala standardem až do vydání slíbené verze LaTeX 3 někdy v budoucnu.

Může použít všechny v distribuci dostupné varianty TeXu, takže jsou dostupné příkazy latex, pdflatex (používající pdfTeX), dále xelatex (používající XeTeX) a lualatex (používající LuaTeX).

ConTeXt 
Autorem je Hans Hagen, informace o něm jsou soustředěny na https://wiki.contextgarden.net/ . Oproti nejvíce používanému LaTeXu má pár výhod, které ho přímo charakterizují. Používá LuaTeX, v poslední verzi LuaMetaTeX.

ConTeXt je velice provázaný s ostatním softwarem jako MetaPost, MetaDVIPS a pdfTeX, což markantně zjednodušuje práci s dokumenty a kompletní nastavení jejich vzhledu a samotných stránek. Vše ale není tak krásné jak to zprvu vypadá a i ConTeXt má své stinné stránky.

Jeho podpora mezi uživateli není tak rozsáhlá jako u LaTeXu.

OpTeX 
Byl zveřejněn v roce 2020, autorem je Petr Olšák. Od ostatních formátů se liší tím, že zůstává svou jednoduchostí na úrovni PlainTeXu, ale nabízí možnosti k tvorbě dokumentů se současnými požadavky (barvy, grafika, odkazy). Používá LuaTeX.

TeX v Československu a Česku 
První konspirativní schůzky v létě 1988 se zúčastnili Ladislav Lhotka, Petr Novák z FEL ČVUT a Jiří Veselý z Matematického ústavu Matematicko-fyzikální fakulty Univerzity Karlovy. Jiří Veselý se po schůzce začal věnovat organizaci uživatelské komunity v Česku a na Slovensku, z jeho snahy později vzniklo Československé sdružení uživatelů TeXu. Petr Novák ve spolupráci s grafiky vytvořil CSfonty, první kvalitní československou variantu fontů Computer Modern. Ladislav Lhotka podle knihy Jak dělit slova od Jiřího Hallera sestavil seznam vzorů pro dělení slov v češtině. Seznam vzorů pro dělení slov ve slovenštině vytvořila Jana Chlebíková. V polovině devadesátých let 20. století se objevily profesionálně vyvinuté vzory dělení slov pro jiné DTP programy, jejich autor umožnil jejich mírně omezenou verzi využívat v TeXu bezplatně. I přes omezení tyto vzory poskytovaly lepší výsledky než vzory Ladislava Lhotky.

9. května 1990 bylo Československé sdružení uživatelů TeXu zaregistrováno jako občanské sdružení.

Odkazy

Reference

Související články 
 CSTeX
 Metafont

Externí odkazy 
 
 
 Petr Olšák: TeX pro pragmatiky
 Československé sdružení uživatelů TeXu
  TeX User's Group
  LaTeX rozšíření pro OpenOffice.org
 Seriál o TeXu na stránkách Korespondenčního semináře z programování MFF UK
 Seriál o TeXu od Petra Olšáka na stránkách abclinuxu.cz
 Donald Knuth diskutuje následníka TeXu na TUG 2010

 
Sázecí programy
Doménově specifické jazyky