> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/cs/clanky-do-hloubky/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md).

# Rodokmen TeXu: LaTeX, pdfTeX, XeTeX, LuaTeX a ConTeXt

Příběh LaTeXu sahá až do roku 1977, kdy Donald Knuth poprvé pochopil potřebu vysoce kvalitního sazebního programu. Je to pozoruhodné svědectví o kvalitě LaTeXu, že systém, který tehdy navrhl, je dodnes tím nejlepším nástrojem pro tuto práci, i když od té doby byly v průběhu desetiletí přidány mnohé užitečné doplňky. Ve skutečnosti je LaTeX jedním z těchto doplňků původního systému, který Donald Knuth vyvinul, a který se nazýval [TeX](http://www.tug.org/).

Abyste si ve světě LaTeXu zachovali „street cred“, musíte to psát s velkým T a X a vyslovovat to jako „lej-tek“. Je to proto, že X v TeXu je ve skutečnosti velké řecké chí (χ). Latex s běžným psaním velkých písmen a výslovností je druh gumy!

## Původní TeX

Existuje velká rodina nástrojů, které jsou dnes odvozeny z TeXu, a na první pohled to může vypadat jako seznam nesmyslných slov: LaTeX, pdfTeX, XeLaTeX, LuaTeX, ConTeXt a tak dále. Předkem všech těchto je samozřejmě původní program TeX od Knutha. Ten vezme dokument v prostém textu a přemění ho v krásně vysázený dokument. Knuth byl na sazbu velmi náročný a smysl pro detail v TeXu je zřejmý. Příklad dokumentu TeXu může vypadat nějak takto:

```latex
\TeX{} je dobrý na sazbu slov jako `fjord', `efektivita',
a `fiasko'. Je také dobrý na sazbu matematiky, například
$a^2 + b^2 = c^2$.
\bye
```

Výstup po spuštění v programu TeX je:

![Texsample.png](/files/da35cbaaf99013a5db82adf465283db99e29cdc8)

Všimněte si, jak se ve vzorových slovech kombinace písmen „fi“, „fj“ a „ff“ přirozeně spojují, a jak jsou matematické symboly správně rozmístěné. Ve větším měřítku TeX velmi dobře láme řádky na vhodných místech, aby vytvořil pěkně zarovnaný text, s dělením slov tam, kde je to vhodné.

Nejenže text pěkně vysází, ale má také sadu příkazů, jako například `\bye` a `\TeX` v příkladu výše. Ty mohou dělat jednoduché věci, jako je změna velikosti písma nebo změna rozvržení textu, ale také mnohem silnější věci, jako je udržování číslování sekcí pro křížové odkazy na vaše stránky nebo automatické vytváření obsahu. Program TeX má zabudováno asi 300 příkazů, ale lze v něm definovat i další. Donald Knuth napsal z TeXu ještě asi 600 užitečných příkazů v balíčku nazvaném Plain TeX, který usnadňuje některé běžné typografické úlohy.

## LaTeX

Příkazy v TeXu a Plain TeXu jsou stále poměrně základní a není snadné s nimi dělat složité věci. Aby to bylo jednodušší, vytvořil Leslie Lamport [LaTeX](http://www.latex-project.org/) na počátku 80. let, aby poskytl vyšší úroveň jazyka než TeX, v němž by se pracovalo. LaTeX je sada příkazů definovaných pomocí základních příkazů TeXu, často ve spoustě a spoustě vrstev abstrakce. Všechny příkazy, které v dokumentu LaTeX používáte, jsou ve skutečnosti jen složité sady příkazů TeXu pod povrchem, pokud ovšem nepoužijete příkaz TeXu přímo! Pojmy jako balíčky (`\usepackage{...}`), prostředí (`\begin{environment} ... \end{environment}`), a třídy dokumentů (`\documentclass{...}`) zavedl Leslie Lamport v LaTeXu.

Vytvořením standardizovaného systému balíčků pro LaTeX umožnil Leslie Lamport komunitě obrovský růst. Dnes existují tisíce a tisíce dostupných balíčků LaTeXu, které vám umožní sázet cokoli od podobrůzků až po pletařské vzory. K dispozici je také mnoho tříd dokumentů pro různé typy dokumentů, ať už píšete knihu, laboratorní zprávu nebo životopis. Mnoho vydavatelů a časopisů má své vlastní upravené třídy dokumentů, které stylují jejich dokumenty přesně podle jejich představ.

## pdfTeX

Program TeX je na takový kus softwaru starý přes 20 let pozoruhodně stabilní; Knuth prohlásil, že je od roku 1989 funkčně kompletní, a od té doby byly prováděny už jen opravy chyb. To samozřejmě nezastavilo významný a průběžný vývoj LaTeXu, protože ten je napsán přímo v TeXu. Ve skutečnosti právě stabilita TeXu umožnila balíčkům jako LaTeX, které na něm byly vybudovány, prosperovat.

To neznamená, že by se základní program TeX v posledních 20 letech nedočkal žádného pokroku. Vůbec ne — jen se vylepšení prováděla souběžně s TeXem a původní TeX zůstal stabilní. Nejvýznamnějším vylepšením 90. let bylo vytvoření [pdfTeX](http://www.tug.org/applications/pdftex/) Hànem Thế Thànhem pro jeho doktorskou práci. Původní program TeX vytváří vysázený dokument do vlastního formátu nazvaného DVI (DeVice Independent format), který lze později převést na soubor PostScript pro tisk. Formát PDF však přišel v roce 1993 a dnes je jasné, že jako lepší formát než PostScript zvítězil. Existuje spousta vlastností, které dělají PDF lepším, například hypertextové odkazy mezi sekcemi, sekce metadat, která vám umožní vidět obsah na levé straně prohlížeče PDF, a podpora širšího a modernějšího spektra formátů obrázků. pdfTeX je úprava TeXu, která mu umožňuje vytvářet výstup přímo do PDF, a tím využít těchto dalších funkcí.

Když si dnes na svém systému nainstalujete distribuci LaTeXu, ve skutečnosti přichází se dvěma různými programy: `tex`, a `pdftex`. Kromě toho obsahuje ještě další dva programy: `latex` a `pdflatex`, ale ve skutečnosti jsou to jen obaly kolem `tex` a `pdftex` v uvedeném pořadí. Tyto nejprve načtou balíčky LaTeXu před zpracováním vašeho dokumentu, ale pod povrchem jsou stále TeX. Pokud spustíte `latex` nebo `tex` pak dostanete soubor DVI, který můžete převést na soubor PostScript nebo PDF, ale pokud spustíte `pdflatex` získáte přímo PDF.

Většinou `pdftex` a `pdflatex` jsou vylepšením oproti `tex` a `latex`, ale je tu jedna nevýhoda. Původní TeX a formát DVI podporují soubory Encapsulated PostScript (`.eps`), protože je lze snadno zahrnout do souborů PostScript (vytvořených převodem `.dvi` souborů na PostScript přes [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)). Nicméně `pdftex` nemůže zahrnovat soubory EPS a místo nich byste měli používat PDF (které lze ze souborů EPS vytvořit příkazem `epstopdf` který obvykle bývá součástí distribucí LaTeXu). Jako kompenzaci za tuto nevýhodu však pdfTeX přidává podporu pro `.png`, `.jpg` a `.pdf` obrázky, zatímco původní TeX podporuje pouze .eps (prostřednictvím [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)).

## XeLaTeX a LuaTeX

Zatím jsme viděli, že se TeX od svých začátků vyvíjel dvěma různými směry: přidáním snadněji použitelných příkazů nad původní systém (LaTeX) a aktualizacemi základního programu, aby podporoval výstup do PDF (pdfTeX). Příběh tím však nekončí a probíhají další snahy TeX modernizovat. V roce 2004 Jonathon Kew vytvořil [XeTeX](http://tug.org/xetex/), což je další úprava základního jádra TeXu, tentokrát s podporou širší škály znaků než jen prostých anglických písmen a číslic, a s podporou moderních formátů písem. To výrazně usnadňuje psaní v cizích jazycích a také vám umožňuje používat v LaTeXu písma, která byla tradičně dostupná jen ve vašem textovém procesoru.

[LuaTeX](http://www.luatex.org/) je pokusem rozšířit původní program TeX o rozumnější programovací jazyk. I když v principu můžete v TeXu dělat naprosto cokoli, v praxi je to velmi neohrabaný programovací jazyk, se kterým se pracuje, pokud se to vůbec dá nazvat programovacím jazykem. Velká část vnitřního fungování LaTeXu je kvůli nutnosti pracovat pouze v TeXu složitá a pro zasvěcené těžko pochopitelná. LuaTeX je rozšířen o stejnojmenný skriptovací jazyk Lua, který je jednoduchý a stabilní, ideální pro psaní složitých maker. K roku 2012 je stále aktivně vyvíjen a jeho API se může měnit, ale stále je velmi použitelný.

## ConTeXt

Zmínili jsme LaTeX jako rozšíření příkazů dostupných v TeXu, ale není to jediný balíček, který TeX významně rozšířil. [ConTeXt](http://wiki.contextgarden.net/What_is_ConTeXt) je další systém, který byl vytvořen v roce 1990 Hansem Hagenem. LaTeX se snaží oddělit uživatele od nutnosti rozhodovat o typografii a rozvržení (píšete `\section` a `\emph` ale nemusíte se starat o to, co tyto příkazy dělají — to je ponecháno třídě dokumentu nebo rozvržení). Na druhou stranu se ConTeXt snaží poskytnout snadné rozhraní k pokročilým typografickým funkcím. Bohužel o ConTeXtu nevím tolik, kolik bych chtěl, takže nemohu jít do dalších podrobností, ale pokud se někdy dostanu k tomu, abych s ním více experimentoval, určitě své poznatky sepíšu.

A jako poslední historickou poznámku bych měl zmínit [AMSTeX](http://en.wikipedia.org/wiki/AMS-LaTeX) který byl rozšířením maker Plain TeXu a používala ho Americká matematická společnost (AMS) v letech 1982 až 1985. Jeho odkaz přetrvává v balíčcích AMS-LaTeX, které jsou základem mnoha dokumentů LaTeXu: `\usepackage{amsmath}`.

## Budoucnost

Co čeká TeX a LaTeX v budoucnosti? Ještě nevím, ale jak kdysi řekl Alan Kay:

> Nejlepší způsob, jak předpovědět budoucnost, je ji vymyslet.

Se ShareLaTeX doufáme, že TeX a LaTeX zlepšíme ještě třetím směrem: přineseme výrazná vylepšení do pracovního postupu LaTeXu. Přestože je LaTeX starý přes 20 let, je stále z velké části programem z příkazové řádky, který se musí používat v nepohodlném cyklu psaní, kompilace a kontroly výstupu. Metody spolupráce obvykle zahrnují neohrabané e-mailové zprávy spíše než zjednodušené postupy dostupné v textových procesorech, jako jsou Dokumenty Google.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/cs/clanky-do-hloubky/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
