Tato stránka se věnuje TeXu - programu na psaní textu, který od svého vzniku v sedmdesátých letech stále patří mezi nejlepší. úmyslně nepíšu, že je nejlepší, protože takto nevylučuji existenci jiných, méně rozšířených programů, které mohou být lepší. Samozřejmě běžný program na psaní textu (dále jen "bpnpt") se s TeXem vůbec nedá srovnat, a to i přesto, že je stále "vylepšován". Podotýkám, že TeX se vyslovuje "tech", nikoliv "teks".


Zdroje, z nichž je na této stránce citováno, jsou uvedeny v [hranatých závorkách] a jejich seznam je zde.

Všechny ukázky z bpnpt uvedené zde jsou ve formátu gif. Důvodů, proč ukázky z bpnpt nejsou ve formátu bpnpt, je více. 1. Ne každý má tolik peněz, aby si kupoval bpnpt jenom proto, aby si prohlédl nějakou ukázku. 2. Soubor ve formátu bpnpt se otevře pokaždé jinak. Nemůžu zveřejnit ukázku nějakého jevu, když nevím, jak se čtenářovi ukázka zobrazí. (Přímý důsledek tohoto je, že bpnpt patří do kategorie programů WYSIWYNG (Whay You See Is What You Never Get). Kdyby byl WYSIWYG (What You See Is What You Get), znamenalo by to, že text, který vytisknete, bude při každém čtení jiný. To ale současné tiskárny neumožňují.) (Jeden příklad za všechny: Dvakrát stejný text na obrazovce a nakonec po vytištění.) 3. Formát .html byl navržen tak, aby výsledný soubor byl malý. Proto zde nebudu plýtvat místem a nechám na čtenářovi, aby další důvody nalezl sám.


Na začátek uvádím pár stránek o možnostech práce v TeXu. (Zdrojový text (tex, mp) je třeba přeložit dvakrát, je nutné mít nastaveno shell_escape=t a mít nainstalován METAPOST, který se při prvním překladu automaticky spouští.) Pro srovnání přikládám dva screenshoty z bpnpt.

TeX kontra bpnpt – Článek bývalého předsedy CsTuGu Petra Olšáka o rozdílech mezi TeXem a bpnpt a jejich uživatelích. Přesto, že je tento článek už více než deset let starý, je (až na drobnosti) stále platný.


Práce v TeXu je jednoduchá. Běžné typograficky správné věci a i ty typograficky ne příliš nesprávné jsou v TeXu stejně jednoduché jako v bpnpt a často i jednodušší. V následujícím výčtu jsou uvedeny věci, které jdou v bpnpt udělat jednoduše, ale v TeXu jsou komplikovanější. (Důsledkem druhé věty tohoto odstavce je, že tyto věci jsou typograficky velmi nesprávné, o čemž se lze také přesvědčit dále.)

Obtékání textu – Způsob, jakým text obtéká obrázek, je v bpnpt vlastností obrázku. V TeXu je to vlastností odstavce a jeho tvaru. Jestliže se obtékaný obrázek nachází na levém nebo pravém okraji odstavce, lze pomocí primitivů \hangindent, \hangafter nebo obecněji \parshape nastavit tvar odstavce tak, aby obrázek obtékal. Jestliže je obrázek obtékán textem z více odstavců, je situace komplikovanější. Samozřejmě je možné ručně použít uvedené primitivy v každém odstavci. Potom je ale třeba při každé změně formulace textu v daných odstavcích hlídat, zda se nezměnil počet řádků v jednotlivých odstavcích. Samozřejmě je možné napsat makro, které tyto primitivy nastaví automaticky. Makro je komplikovanější a je uvedeno v [2] na stranách 236–237. bpnpt umožňuje obtékat text kolem obrázku, který je uprostřed řádku. Proč je tento způsob "sazby" v TeXu komplikovaný, je extrémní nečitelnost textu, což je vidět na ukázce z [1]. Na další ukázce je tento jev zdůrazněn. TeX samozřejmě umožňuje plně kontrolovat tok textu i v dost extrémních situacích [3].

Obrovské mezislovní mezery – Při zarovnávání odstavce do bloku jsou v bpnpt velmi častým jevem (jev opačný je velmi vzácný) velmi velké mezislovní mezery (mezery široké 3 mm a více). Při sazbě matematických textů tyto mezery nejčastěji vznikají při vložení vzorce jako objektu vnějšího programu. Uvádím příklad 24 mm mezislovní mezery. Pokud v bpnpt vložíte vzorec jako text, je logické, že se rozdělí v tom nejnesprávnějším místě, například v exponentu (a to i přesto, že mezi znaky "–" a "1" je nerozdělitelná mezera). Samozřejmě i v TeXu existují situace, kdy mezislovní mezery vycházejí velmi široké. Ale je třeba je uměle navodit, například nastavením \parfillskip na nepružnou hodnotu a nastavením velkého \emergencystretch. V ukázce jsou parametry nastaveny tak, aby odstavec měl obdélníkový tvar. Čísla na pravé straně udávají badness jednotlivých řádků. Dodávám, že za normálních okolností TeX nesestaví odstavec s řádkem, který by měl badness větší než 200. Největší mezislovní mezera, kterou jsem viděl (samozřejmě v textu bpnpt), byla široká 94 mm. Tomu by odpovídal badness (kdyby nebyl omezený) v řádu stovek miliónů.

Provedení neplatné operace, ukončení a restart počítače – Charakteristickou vlastností bpnpt je jeho extrémní nestabilita. Cituji z příručky pro práci v bpnpt [4]: "U každého softwarového produktu" (zde měl pravděpodobně autor na mysli produkty jisté firmy) "platí, že s čím většími soubory pracujete, tím větší je šance, že se váš systém zhroutí při jeho načítání. Toto riziko se stává reálným ... bohužel i v aplikacích pro zpracování textu jako je bpnpt. Kdo ještě nezažil ztrátu části nebo celého důležitého souboru," (námět na zamyšlení pro ty, co budou chtít ukončit vysokou školu: Je pro vás bakalářská nebo diplomová práce důležitý dokument?) "nepoužívá počítač příliš dlouho – nebo je to klikař" (nebo používá produkty jiné firmy nebo open source programy) ". Práce ... s dlouhými dokumenty ... prudce zvyšuje pravděpodobnost havárie bpnpt." Konec citace. Kdybych před psaním diplomové práce nevěděl o žádném programu, ve kterém ji napsat, pak bych po přečtení uvedené příručky měl absolutní jistotu, ve kterém programu ji psát nebudu. Na druhou stranu musím říct, že za léta práce v TeXu se TeX ani jednou nezhroutil a vždy pracoval tak, jak podle manuálů má.


Na tomto místě bych chtěl upozornit diplomandy, jimž budu psát na jejich bakalářskou/diplomovou práci posudek, že práce je hodnocena i z hlediska formálního, což mimo jiné zahrnuje i to, jak jsou dodržována typografická pravidla. (Studenty z olomouckého kraje upozorňuji, že zde patří i dodržování pravopisných pravidel.) Práci, v níž budou hrubým způsobem nedodržována typografická pravidla, nemohu udělit lepší známku než dvojku, a to i v případě, že by v ní autor například dokázal 2300 let starou hypotézu, že prvočíselných dvojčat je nekonečně mnoho. Pokud by někdo odevzdal závěrečnou práci v tomto stylu, má celkem jistotu, že práci neobhájí.
Následující texty je možné využít při práci s TeXem.

PDFTeX – Zde se dozvíte základní rozdíly mezi TeXem a PDFTeXem
Čítače a délky v LaTeXu – Seznam příkazů na použití čítačů a délek v LaTeXu, popisuje aritmetické operace balíčku calc
Obsahy, reference a rejstříky v TeXu (Jan Štěpnička)

Czechoslovak TeX Users Group – Oficiální stránky Československého sdružení uživatelů TeXu
teTeX Online Help – Dokumentace k většině balíčků LaTeXu
Balíček amsmath – Dokumentace k jednomu z nejdůležitějších balíčků pro sazbu matematiky
opakuj.tex – skvělé TeXovské makro Karla Horáka na opakování relací při zlomu rovnice
Primitivy TeXu – Dokumentace k TeXovským primitivům s příklady
tex.web – Zdrojový soubor TeXu


V této sekci si můžete stáhnout autorova makra, která autor považuje za užitečná. Čísla v závorkách znamenají data, kdy byly vytvořeny uvedené verze souborů.

Sazba elektronických učebnic (10.09.06) – manuál k třídě jstextbk ve verzi pro obrazovku a pro tisk

Sazba do textových oblastí různé šířky – (06.01.09) popis problému a zdrojový text; verze 3 (03.06.09) soubor s makry a manuál

Sazba kvalifikačních prací na Ostravské univerzitě – (20.12.10) Oficiální documentclass pro sazbu kvalifikačních prací najdete na Portálu OU v pokynech pro vypracování VŠKP. Pokud máte starší verzi classu, platí následující poznámky. (19.11.09) Třída vskpou.cls a vzorová práce s ní vysázená. (13.04.10) Rychlá záplata, aby každá sekce nezačínala na nové stránce: Místo třídy vskpou.cls použijte třídu vsk.cls a v textu závěrečné práce nahraďte všechny \chapter, \section a \subsection za \section, \subsection a \subsubsection. Pokud chcete vysázet jiný text čestného prohlášení, místo \prohlaseni{V Ostravě ...} použijte \prohlaseni[Jiný text]{V Ostravě ...}. Omlouvám se za komplikace vzniklé použitím původní třídy.

Vkládání obrázků do LaTeXu (14.01.09) – balíček jsfig.sty a manuál k němu

Jednoduché makro na tvorbu slajdů (06.09.09) – slide.tex

Zašifrování zdrojového souboru při zachování jeho funkčnosti (12.10.09) – zasifruj.tex


Zde najdete přednášky a postery z konferencí TeXperience 2009, BachoTeX 2010 a TeXperience 2010, včetně dalších zdrojových souborů. Ke správnému fungování programů je nutné mít nastaveno shell_escape=t.

Implementace řádkového zlomu v TeXu v TeXu – poster, program pro PDFLaTeX

Sazba odstavců do textových oblastí různé šířky – poster, program pro PDFTeX

Jednoduchý programovací jazyk nad TeXem – poster, program pro plain a ukázková data

Szczegóły algorytmu TeXowego do łamania akapitów – wykład i pliki źródłowe tex, mp

Využití TeXu při organizaci VJIMC – prezentace a dokumentovaný zdrojový text pdf

Makra pro práci s velkými čísly – prezentace a příklady ex1.tex, ex2.tex a ex3.tex


Závěrem uvádím několik vět, které původně sloužily k jinému účelu, ale které přesně vystihují práci s TeXem.

S citem pro detail tvoříme celek.
Máte-li svůj standard, nesnižujte ho.
Jak człowiek coś robi, to musi to porządnie wyglądać.


Úvodní strana Translate page
Poslední aktualizace 20.12.2010, JS