Přejít na:

V rámci PB029 budeme při sazbě TeXem používat zejména formát LaTeX. Pro kompilaci dokumentů pak doporučujeme využít kompilátory pdfTeX, XeTeX nebo LuaTeX.

Vzhledem k rozdílům v podporovaných kódováních zdrojových textů a (ne)možnosti využití systémových fontů u různých kompilátorů se u nich mírně liší i doporučený postup pro tvorbu českých dokumentů.

Pozor, při české sazbě je důležité dávat pozor na správné kódování zdrojového textu, viz nástrahy textových souborů.

Přejít: navigace | na začátek stránky | na konec stránky

LaTeX a balíček babel

V současné době používáme pro sazbu českých/slovenských LaTeXových dokumentů balíček Babel, což je standardní cesta vícejazyčné sazby v LaTeXu.

Komentovaný příklad českého LaTeXového dokumentu si můžete na příkazovém řádku přeložit příkazem: pdflatex babel.tex

Tip: Pro stažení souboru babel.tex můžete použít command-line nástroj wget, který je součástí většiny linuxových distribucí: wget <URL>

Při použití editoru TeXworks můžete kompilátor TeXu vybrat z menu v levém horním rohu. V pravém dolním rohu je pak indikováno používané kódování textuznak konce řádku zdrojového textu.

Historická poznámka: CSLaTeX

Dříve se k české sazbě často používal i specifický česko-slovenský formát CSLaTeX. Jeho funkcionalita však již byla přenesena do bábelizovaného LaTeXu (a je standardní součástí distribuce TeX Live od verze 2008).

Komentovaný příklad CSLaTeXového dokumentu, který se překládal příkazem pdfcslatex cslatex.tex uvádíme pouze z historických důvodů. CSLaTeX pro nové dokumenty nepoužívejte!

Přejít: navigace | na začátek stránky | na konec stránky

LuaTeX a balíček polyglossia

Moderními alternativami pdfTeXu jsou XeTeXLuaTeX. Tyto kompilátory nativně používají Unicode a podporují moderní formáty fontů (OpenType, TrueTypeAAT). Jsou proto mimořádně vhodné pro sazbu mnohojazyčných dokumentů využívajících exotické znakové sady.

Komentovaný příklad českého LaTeXového dokumentu si můžete na příkazovém řádku přeložit příkazem: lualatex lualatex.tex

Pozor:

Pokud pracujete s TeXem pod Unixem na FI, zkontrolujte si, že máte zavedený modul texlive: module add texlive V opačném případě se použije vestavěná distribuce TeX Live 2013. TeX Live 2013 stačí pro jednoduché dokumenty z předchozího cvičení, ale obsahuje ranou beta verzi LuaTeXu, která má problémy s načítáním OpenType písem.

Tip: Při použití LuaTeXu nejste odkázáni jen na fonty, které jsou instalovány v TeXové instalaci. Pokud je to nutné, můžete se přímo v TeXovém zdrojovém textu odkázat na soubor/adresář s fontem/fonty. Vizte manuál balíčku fontspec: texdoc fontspec

Přejít: navigace | na začátek stránky | na konec stránky

Pomocný nástroj vlna

Při sazbě českých textů se v mnoha případech v textu používá místo běžné mezery mezera nezlomitelná, která je v TeXovém zdrojovém textu reprezentována znakem vlnka (~).

Jedním z nejčastějších případů použití nezlomitelné mezery je spojení neslabičné předložky (v, k, s, …) se slovem předložku následujícím. Jelikož tuto akci je možné relativně snadno automatizovat, vznikl program vlna, který na patřičná místa textu nezlomitelnou mezeru doplní.

Vyzkoušejte si použití programu vlna na dokumentu vlna.tex. Nejprve jej pouze přeložte a zhodnoťte výstup. Následně do něj doplňte nezlomitelné mezery: vlna -r -l -v KkSsVvZzOoUuAaIi vlna.tex Z integrované nápovědy zjistěte, co znamenají použité parametry a zda je vhodné je použít i při sazbě vašich dokumentů: vlna --help

Pozor:

Program vlna používá jednoduchou analýzu TeXového zdrojového kódu. Díky tomu program nedoplňuje nezlomitelné mezery do komentářů, do matematiky vyznačené znaky dolaru a do ukázek kódu vyznačených pomocí LaTeXového příkazu \verb nebo prostředí verbatim. Pokud ale použijeme pro sazbu matematiky a ukázek kódu nestandardní prostředí, doplní nám program vlna znak vlnky i do nich. Tento problém je možné řešit ruční kontrolou nebo doplněním komentářů %~+ a %~-, které aktivují a deaktivují funkcionalitu programu ve vyznačených částech dokumentu.

Robustnější řešení představuje XeLaTeXový balíček xevlna a LuaTeXový balíček luavlna které vkládání nezlomitelné mezery provádí přímo na úrovni TeXu a mohou tak jednoznačně určit, jestli právě dochází k sazbě matematiky. Funkci balíčků můžeme otestovat na dokumentech xelatex-vlna.texlualatex-vlna.tex: xelatex xelatex-vlna.tex
lualatex lualatex-vlna.tex

Přejít: navigace | na začátek stránky | na konec stránky

Použití programu vlna pro (X)HTML dokumenty

Program vlna je možné bez větších obtíží použít také pro doplnění nezlomitelných mezer do (X)HTML dokumentů: vlna -x 266E6273703B -r -v KkSsVvZzOoUuAaIi file.html Parametr -x 266E6273703B zajistí vkládání tvrdých mezer v podobě sekvence znaků &nbsp; místo výchozího znaku ~.

Přejít: navigace | na začátek stránky | na konec stránky

Praktické úkoly k procvičení

Přejít: navigace | na začátek stránky | na konec stránky