V rámci předmětu 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
Balíček babel
Pro sazbu českých a slovenských dokumentů v LaTeXu můžeme ve všech kompilátorech použít balíček babel.
Komentovaný český dokument pro LaTeX
si můžete na příkazovém řádku přeložit následujícím příkazem:
pdflatex babel.tex
Stejně tak si můžete dokument přeložit a prohlédnout na
službě Overleaf.
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 https://sojka.pages.fi.muni.cz/PB029_web/practices/ceska-sazba-texem/files/babel.tex
Při použití textového editoru TeXworks můžete vybrat kompilátor TeXu (zde pdfLaTeX) 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.
Přejít: navigace | na začátek stránky | na konec stránky
Balíček polyglossia
Moderními alternativami kompilátoru pdfTeXu jsou kompilátory XeTeX a LuaTeX. Tyto kompilátory nativně používají Unicode a podporují moderní formáty písem (OpenType, TrueType a AAT). Jsou proto mimořádně vhodné pro sazbu vícejazyčných dokumentů.
Balíček babel můžeme sice používat i s kompilátory XeTeX a LuaTeX, ale pro plné využití jejich možností je vhodnější použít balíček polyglossia.
Komentovaný český dokument pro LaTeX
si můžete na příkazovém řádku přeložit následujícím příkazem:
lualatex lualatex.tex
Stejně tak si můžete dokument přeložit a prohlédnout na
službě Overleaf.
Pozor:
Při práci z příkazové řádky studentského unixového serveru
Aisa
nezapomeňte nejprve načíst softwarový modul texlive:
module add texlive
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á nezlomitelná mezera, která je v TeXovém zdrojovém textu reprezentována znakem vlnky (~).
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 následujícím. Jelikož tento úkon lze 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 (dostupném také na službě Overleaf). Nejprve jej pouze přeložte a zhodnoťte výstup:
pdflatex vlna.tex
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:
S kompilátory XeTeX a LuaTeX můžeme použít LaTeXové balíčky
xevlna
a luavlna
které vkládají nezlomitelné mezery přímo v TeXu bez nutnosti
používat program vlna. Funkci balíčků můžeme
otestovat na dokumentech
xelatex-vlna.tex
a lualatex-vlna.tex:
xelatex xelatex-vlna.tex
Stejně tak si můžete dokumenty xelatex-vlna.tex
a lualatex-vlna.tex
přeložit a prohlédnout na službě Overleaf.
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í.