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í textu a znak 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 XeTeX a LuaTeX. Tyto kompilátory nativně používají Unicode a podporují moderní formáty fontů (OpenType, TrueType a AAT). 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.tex
a lualatex-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ů místo výchozího
znaku ~.
Přejít: navigace | na začátek stránky | na konec stránky
Praktické úkoly k procvičení
- Pomocí výše uvedených postupů si vysázejte ukázkové české dokumenty v LaTeXu pro kompilátor pdfTeX s balíčkem babel a pro kompilátor LuaTeX s balíčkem polyglossia.
- V dokumentu s balíčkem babel chybí nezlomitelná mezera po neslabičné předložce. Použijte nástroj vlna pro její doplnění.