Zpracování textů na počítači

studijní opora pro cvičení

Hladká sazba

Osnova kapitoly

Hladká sazba je sazba odstavců na určenou šířku z jednoho typu a stupně písma. Řídí se obecně typografickými pravidly i pravidly českého pravopisu. Důležitá a v praxi velmi potřebná jsou pravidla pro sazbu různých znaků. Východiskem pro nás bude norma ON 88 2503 z let 1974–1994, která se týká základních pravidel sazby. Jak je uvedeno v jejím úvodu, cílem je získat opticky správný vzhled a bezchybné zhotovení sazby. Sazba má tvořit opticky ucelenou plochu a odpovídat estetice. V roce 2014 vstoupila v platnost nová norma ČSN 01 6910.

Některé znaky lze zapsat přímo z klávesnice, některé pomocí klávesové zkratky a některé jsou dostupné výběrem v aplikaci Mapa znaků. Současná verze překladače xelatex umožňuje většinu speciálních znaků vkládat přímo do textu dokumentu bez použití speciálních maker.

Mezery

Systém LATEX rozlišuje několik typů mezer, které liší svými vlastnostmi a použitím:

Tabulka 1: Přehled mezer v LATEXu
Název mezeryVelikostZápis v TEXuZlomitelnáPružnáInterval pružnosti
Mezislovní0,33 emanoano0,25–0,50 em
Nezlomitelná0,33 em~neano0,25–0,50 em
Zúžená0,25 em\,nene
Rozšířená1,00 em\quadanone
Rozšířená2,00 em\qquadanone

Protože se TEX řídí pravidly americké typografie, má zúžená mezera velikost 0,1667 em. Správného rozměru podle pravidel české typografie (0,25 em) lze dosáhnout úpravou příkazu. Do stylového souboru proto doplníme následující řádek (význam příkazů objasníme ve cvičení později):

\def\,{\penalty10000\hskip0.25em}          % zúžená nezlomitelná mezera

Pro automatické doplnění nezlomitelné mezislovní mezery existuje řada nástrojů, například program vlna, jehož autorem je RNDr. Petr Olšák. Vestavěný editor systému TEXonWeb také podporuje automatické „vlnkování“. V systému Word lze alespoň zařídit automatické doplnění „pevných“ mezer (nic lepšího Word neumí) pomocí efektivního nahrazování. Najdeme výraz <([aioukvszAIOUKSVZ])␣ a nahradíme jej výrazem \1^s. Je nutné mít zapnutou podporu speciální znaků při nahrazování.

Speciální znaky

Spojovník, pomlčka, minus

Mezi nejčastěji se vyskytující znaky patří spojovník, pomlčka a minus:

Tabulka 2: Přehled speciálních znaků v LATEXu
Název znakuPodobaZápis v TEXuPoznámka
Spojovník--přenositelný
Pomlčka (krátká)--velikost 0,5 em
Pomlčka (dlouhá)---velikost 1,0 em (USA)
Minus$-$matematický operátor

Dostane-li se spojovník na konec řádku, musí být podle pravidel české typografie opakován na řádku následujícím. Balíček polyglossia toto nastavení nemá implicitně zapnuto, je ale možné přenášení spojovníku explicitně nařídit. Řešení tohoto problému bude náplní cvičení později.

Pomlčky se zapisují jako dva (tři) spojovníky a TEX je automaticky nahrazuje za pomlčky – dělá z nich slitky.

Aktivní znaky

Určitý problém nastává při vkládání aktivních znaků. Způsob zápisu těchto znaků ve významu obyčejných znaků je uveden v tabulce:

Tabulka 3: Možnosti vkládání aktivních znaků
ZnakVýznam v TEXuZápis jako běžný znakZápis kódem ASCII
#číslování parametrů v definicích\#\symbol{35}
$matematické prostředí\$\symbol{36}
%komentář\%\symbol{37}
&oddělovač sloupců v tabulce\&\symbol{38}
\začátek příkazu\textbackslash\symbol{92}
^exponent v matematickém výrazu\textasciicircum\symbol{94}
_index v matematickém výrazu\_\symbol{95}
{začátek skupiny\{\symbol{123}
}konec skupiny\}\symbol{125}
~nezlomitelná mezera\textasciitilde\symbol{126}

Kromě výše uvedených znaků se lze v běžném textu setkat s celou řadou dalších speciálních znaků a symbolů, které lze v systému XELATEX zapsat (většinou) přímo z klávesnice.

Uvozovky

Drobné problémy mohou přinášet české uvozovky, k jejichž zápisu potřebujeme znát jejich pozici v kódu Unicode:

Tabulka 4: Vkládání českých uvozovek z klávesnice
TvarPoužitíZápis z klávesniceV OS Windows
počátečníCtrl + Shift + U + 201EAlt + 0132
koncováCtrl + Shift + U + 201CAlt + 0147

Lepším řešením je vytvoření vlastního příkazu \uv{...}. Do stylového souboru můžeme přidat následující řádek:

\def\uv#1{#1“}                            % správné české uvozovky

Výpustka

Nahrazuje nevyslovený nebo v citaci vynechaný text, nelze ji zaměnit za běžné tři tečky zapsané z klávesnice, neboť má odlišné mezerování. Vkládá se příkazem \dots, před ní se navíc v české typografii používá šestinová mezera. Proto si vytvoříme vlastní příkaz pro správnou mezeru:

\def\:{\penalty10000\hskip0.16667em}       % mezera okolo výpustky

Vkládací příkazy

Loga systému, formátů a rozšíření

Pro sazbu loga existují jednoduché příkazy:

Tabulka 5: Loga systému
Logo systémuPříkaz pro vysázení
TEX\TeX
LATEX\LaTeX
XETEX\XeTeX
XELATEX\XeLaTeX

Aktuální datum

Datum se sází příkazem \today ve tvaru odpovídajícím jazyku zvoleném v parametru příkazu \setdefaultlanguage{...} v preambuli (viz úvodní cvičení). Pozor si musíme dát na ignorování veškerých mezer za příkazem – srovnejte tyto tvary:

\today prší 
\today{} prší

Symboly a znaky cizích jazyků

Systém XELATEX umožňuje zápis všech znaků s diakritikou přímo z klávesnice, jsou-li tyto znaky v daném fontu k dispozici. Uvedené příkazy slouží v dnešní době zejména pro případ, kdy některý znak není pohodlně dostupný z klávesnice:

Tabulka 6: Diakritická znaménka
ZnakPříkladZápis v TEXu
Čárka (acute)á\'{a}
Těžký akcent (grave)à\`{a}
Stříška, vokáň (circumflex)â\^{a}
Háček (caron)\v{a}
Přehláska, dierese (umlaut)ä\"{a}
Dlouhá přehláska (double acute)\H{a}
Kroužek (overring)å\r{a}
Tečka horní (overdot)\.{a}
Tečka spodní (underdot)\d{a}
Vodorovná čárka (macron)ā\={a}
Oblouček (breve)ă\u{a}
Vlnka (tilda)ã\~{a}
Sedila (cedilla)\c{a}
Ocásek (ogonek)ą\k{a}

Srovnejte:

gu\v{l}\^{o}\v{c}ka v jam\^{o}\v{c}ke 
guľôčka v jamôčke

Kromě výše uvedených znaků se lze v některých jazycích setkat také se specifickými dodatečnými národními znaky, tzv. grafémy:

Tabulka 7: Některé významné grafémy
ZnakJazykyZápis v  TEXu
łpolština\l
Łpolština\L
ßněmčina\ss
øseverské\o
Øseverské\O
åseverské\aa
Åseverské\AA
œfrancouzština\oe
Œfrancouzština\OE
æseverské\ae
Æseverské\AE
¿španělština?`
¡španělština!`

Přehled všech možných i nemožných symbolů a jejich zápis v TEXu lze najít například v tomto archivu.

Specifika vícejazyčné sazby

Řešení problému sazby více jazyků v jednom dokumentu spočívá obvykle ve třech krocích:

  1. nastavení jazyků pro správné dělení slov a sazbu automatických textů,
  2. připojení fontu s podporou potřebných národních znaků,
  3. vymezení oblastí pro použití jednotlivých jazyků.

Podrobnější informace včetně seznamu 76 aktuálně podporovaných jazyků lze nalézt v dokumentaci k balíku polyglossia.

Nastavení jazyků

Všechny potřebné jazyky uvedeme do preambule, například:

\setdefaultlanguage{czech}                              % výchozím jazykem je čeština 
\setotherlanguage{english}                              % vedlejším jazykem je angličtina 

Jsou-li jazyky více než dva, je možné využít následující zápis:

\setdefaultlanguage{czech}                              % výchozím jazykem je čeština 
\setotherlanguages{arabic,russian,vietnamese}           % vedlejší jazyky jsou arabština, ruština a vietnamština

Připojení fontu

Většinu jazyků používajících latinku nebo cyrilici lze psát přímo (máme-li ten správný font), vyzkoušejte například:

Egzotik dilleri ile çalışmak eğlenceli.                 % turečtina 
Arbeid med eksotiske språk er gøy.                      % norština 
Töö eksootilised keeled on lõbus.                       % estonština 
Darbas su egzotinių kalbų yra įdomus.                   % litevština 
Работа с екзотични езици е забавно.                     % bulharština 
Робота з екзотичними мовами весело.                     % ukrajinština

Pokud ale výchozí font nemá potřebné znaky, můžeme pro každý jazyk připojit jiný font, například pro ruštinu:

\newfontfamily\russianfont{Times New Roman}             % pro ruštinu se použije písmo Times New Roman

Je zřejmé, že namísto russian můžeme psát libovolný jazyk z těch, které máme uvedeny v preambuli. V případě arabštiny je navíc situace zkomplikována odlišným způsobem sazby (zprava doleva). Tuto skutečnost je nutno uvést v okamžiku připojení fontu:

\newfontfamily\arabicfont[Script=Arabic]{Adobe Arabic}  % pro arabštinu se použije písmo Adobe Arabic a bude se sázet zprava doleva

Vymezení oblastí

Nakonec musíme v textu vyznačit pasáže, které mají být sázeny vedlejšími jazyky. Pro kratší texty lze využít příkaz:

Tento \textrussian{текст} obsahuje slovo v ruštině.

Pro delší texty je k dispozici prostředí:

\begin{russian}                                         % začátek sazby v ruštině 
Этот текст создается в системе \TeX. 
\end{russian}                                           % konec sazby v ruštině 

Stejně tak v arabštině, jen je třeba mít na paměti nutnost zápisu názvu prostředí Arabic s velkým počátečním písmenem (důvodem je zřejmě fakt, že arabic se v TEXu používá v souvislosti s arabskými číslicemi při práci s čítači – bude objasněno později):

\begin{Arabic}                                          % začátek sazby v arabštině 
أبو عبد الله محمد بن موسى الخوارزمي ابو جعفر
\end{Arabic}                                            % konec sazby v arabštině 

Vietnamštinu lze sázet také bez komplikací:

\begin{vietnamese}                                      % začátek sazby ve vietnamštině 
Văn bản này đã được tạo ra trong hệ thống \TeX.
\end{vietnamese}                                        % konec sazby ve vietnamštině 

Dokonce ani čínština není žádný problém. Protože tento jazyk nepoužívá dělení slov, je jednodušší využít pro dočasnou změnu výchozího nastavení pouze příkaz \fontspec{...}. Kratší texty tak lze sázet přímo bez nutnosti uvádění tohoto jazyka v preambuli:

\fontspec{Adobe Fangsong Std R} 
本文是在\TeX 的系統中創建

Úkoly k řešení

Příprava

Budeme pracovat s následujícím textem, který obsahuje 12 vět s velkým množstvím chyb:

(1) Jak vidím -rychlík Vídeň-Mnichov už odjíždí z nádraží. 
(2) " Byla to ona ", oznámil bratrovi. 
(3) Teď  ( předpokládáme - li větu 5 ) snadno vypočteme  17,3 mm. 
(4) Vztahy  cíl - obsah - metoda se realizují v součinnosti učitele a žáků. 
(5) Odvezl již 543 kg brambor , 2.6  q řepy a 12,8  hl mléka . 
(6) Předchozí důkaz ( autorem  je I. Newton ) umožňuje - jak známo - hodnotit vztahy těles. 
(7) Byl tam určitě  zcela sám ! Nebo ne ? 
(8) Přednášel doc . ing . Jaroslav Karlík, CSc ., ale sál byl poloprázdný. 
(9) Informace o velikosti 1 b je rovna odpovědi na výrok , tj . "Ano - ne". 
(10) Typografie a sazba - hlavní nástroje pro zpracování textů  na počítači. 
(11) Výrok "...a přece se točí"! neřekl G. Bruno. 
(12) Výrobky ( kola , pera , hřídele ) objednávejte u firmy Pěník& Javůrek.

Nyní provedeme s větami tytéž úpravy, ale v textovém procesoru MS Word. Další věty budou obsahovat znaky různých exotických abeced a jazyků:

(13) Významný ruský matematik Пафнутий Львович Чебышёв sestrojil v roce 1876 svůj první mechanický kalkulátor.
(14) Technika zvaná rabdologie je pojmenována podle řeckých slov ράβδος (tyč, prut) a λόγος (věda).
(15) Na Islandu lze navštívit národní parky Vatnajökull, Snæfellsjökull a Þingvellir.
(16) Pojem cifra pochází z arabského výrazu pro nulu صفر.
(17) Mezi známá města patří Hà Nội, Thành phố Hồ Chí Minh (též Sài Gòn) a Đà Nãng.
(18) První japonský mechanický kalkulátor se jmenoval Jidō soroban (自動そろばん).
(19) Typickými specialitami sečuánské kuchyně jsou 宫保雞丁 (gōngbǎo jīdīng) a 水煮肉 (shuǐzhǔ ròu).

Postup

Nejdříve vytvoříme nový stylový soubor, který pojmenujeme mujstyl.sty. Do tohoto souboru budeme po celý semestr postupně zapisovat příkazy pro nastavení globálních parametrů sazby a především zde budeme vytvářet definice vlastních příkazů. Hned na začátku do tohoto souboru přesuneme dva řádky z „hlavního“ souboru. Jedná se o řádky připojující rozšiřující balíčky a nastavující hlavní jazyk sazby:

\usepackage{xltxtra,polyglossia} 
\setdefaultlanguage{czech}

Do „hlavního“ souboru naopak přidáme příkaz, kterým stylový soubor připojíme. Také nastavíme základní stupeň písma na 12 pt. Takto bude vypadat základní kostra dokumentu před začátkem práce v každém cvičení:

\documentclass[12pt]{article} 
\usepackage{mujstyl} 
\begin{document} 
... 
\end{document} 

Takto upravenou strukturu si uložíme jako výchozí obsah editoru, abychom ji měli připravenou v každém novém dokumentu:

Obrázek 1: Nastavení výchozího obsahu editoru

Do textu v prvních 12 větách doplníme speciální znaky v souladu s typografickými pravidly a normami. Předpokládáme již upravené definice zúžených mezer a existenci vlastního příkazu pro vkládání uvozovek ve stylovém souboru. Úpravy budeme provádět nejen v systému XELATEX, ale také v textovém procesoru MS Word, abychom mohli porovnat možnosti a uživatelskou přívětivost obou systémů. Poté vysázíme zbývající věty obsahující úryvky v cizích jazycích.

Řešení

Soubor cviceni02.tex bude vypadat následovně:

\documentclass[12pt]{article} 
\usepackage{mujstyl} 
\begin{document} 
(1) Jak vidím~-- rychlík Vídeň--Mnichov už odjíždí z~nádraží. 
(2) \uv{Byla to ona,} oznámil bratrovi. 
(3) Teď (předpokládáme-li větu 5) snadno vypočteme 17,3\,mm. 
(4) Vztahy cíl--obsah--metoda se realizují v~součinnosti učitele a~žáků. 
(5) Odvezl již 543\,kg brambor, 2,6\,q řepy a~12,8\,hl mléka. 
(6) Předchozí důkaz (autorem je I.\,Newton) umožňuje~-- jak známo~-- hodnotit vztahy těles. 
(7) Byl tam určitě zcela sám! Nebo ne? 
(8) Přednášel doc.\,Ing.\,Jaroslav Karlík,~CSc., ale sál byl poloprázdný. 
(9) Informace o~velikosti 1\,b je rovna odpovědi na výrok, tj.\,\uv{ano--ne}. 
(10) Typografie a~sazba~-- hlavní nástroje pro zpracování textů na počítači. 
(11) Výrok \uv{\dots\:a~přece se točí!} neřekl G.\,Bruno. 
(12) Výrobky (kola, pera, hřídele) objednávejte u~firmy Pěník\,\&\,Javůrek. 
\fontspec{Times New Roman}          % přepneme na Times New Roman kvůli problémům s exotickými jazyky 
(13) Významný ruský matematik \rusky{Пафнутий Львович Чебышёв} sestrojil v~roce 1876 svůj první mechanický kalkulátor.
(14) Technika zvaná rabdologie je pojmenována podle řeckých slov \recky{ράβδος} (tyč, prut) a~\recky{λόγος} (věda).
(15) Na Islandu lze navštívit národní parky \islandsky{Vatnajökull}, \islandsky{Snæfellsjökull} a~\islandsky{Þingvellir}.
(16) Pojem cifra pochází z~arabského výrazu pro nulu \arabsky{صفر}.
(17) Mezi známá města patří \vietnamsky{Hà Nội}, \vietnamsky{Thành phố Hồ Chí Minh} (též \vietnamsky{Sài Gòn}) a~\vietnamsky{Đà Nãng}.
(18) První japonský mechanický kalkulátor se jmenoval Jidō soroban (\japonsky{自動そろばん}).
(19) Typickými specialitami sečuánské kuchyně jsou \cinsky{宫保雞丁} (gōngbǎo jīdīng) a~\cinsky{水煮肉} (shuǐzhǔ ròu).
\end{document} 

Do souboru mujstyl.sty doplníme příkaz pro nastavení podpory ligatur a v případě potřeby ponecháme aktivní příkazy pro připojení vlastních fontů a jazyková nastavení. Pokud nepotřebujeme sázet v cizích jazycích, tyto příkazy ponecháme zakomentované. Sazební styl nyní vypadá takto:

% výchozí nastavení 
\usepackage{xltxtra,polyglossia}                      % formát XeLaTeX, připojení jazykového balíčku 
\setdefaultlanguage{czech}                            % výchozí jazyk sazby 

% rozšířená jazyková nastavení a potřebné fonty pro sazbu v cizích jazycích 
\setotherlanguages{arabic,greek,russian,icelandic,vietnamese}      % vedlejší jazyky 
\newfontfamily\arabicfont[Script=Arabic]{Adobe Arabic}             % font a směr sazby pro arabštinu 
\newfontfamily\icelandicfont{Times New Roman}                      % font pro islandštinu 
\newfontfamily\greekfont{Times New Roman}                          % font pro řečtinu 
\newfontfamily\russianfont{Times New Roman}                        % font pro ruštinu 
\newfontfamily\vietnamesefont{Times New Roman}                     % font pro vietnamštinu 

% příkazy pro sazbu v cizích jazycích 
\def\arabsky#1{\textarabic{#1}}                                    % sazba arabštiny 
\def\islandsky#1{\texticelandic{#1}}                               % sazba islandštiny 
\def\recky#1{\textgreek{#1}}                                       % sazba řečtiny 
\def\rusky#1{\textrussian{#1}}                                     % sazba ruštiny 
\def\vietnamsky#1{\textvietnamese{#1}}                             % sazba vietnamštiny 
\def\japonsky#1{{\fontspec{Adobe Fangsong Std R}#1}}               % sazba japonštiny 
\def\cinsky#1{{\fontspec{Adobe Fangsong Std R}#1}}                 % sazba čínštiny 

% mezery a speciální znaky 
\def\,{\penalty10000\hskip0.25em}                     % zúžená nezlomitelná mezera 
\def\:{\penalty10000\hskip0.16667em}                  % mezera okolo výpustky 
\def\uv#1{#1“}                                       % správné české uvozovky

Domácí úkol

Na procvičení můžete využít následující text (postup stejný):

Doporučené vybavení: El.ladička " Combo " ( zesilovač + repro. ), 
Metronom- taktoměr, dobré kytarové struny osvědčených značek( Gibson& 
Fender, a další.).Prozatím ! Pro začátek stačí tloušťka pro el.kytary 
- 0.08 inch. (tloušťka struny " e " ), max.0.09 inch. Celé vybavení 
lze pořídit do 10000,-Kč . 
 
V diagramech č.1 a č.2 jsou znázorněny prstoklady stupnice " C dur " . 
Jsou téměř shodné - naučte se oba. V prvním případě je užit tzv. " 
Podhmat " na struně " g " - ukazovákem. Druhý př. je opačný- je to 
tzv. " Přehmat " malíčkem.  Diagramy 1 - 13 všeobecně jsou vlastně 
výřezem části hmatníku, kde vodorovné úsečky znázorňují struny a 
svislé - pražce. Spodní struna ( úsečka ) je nejsilnější - " E " a 
postupujeme směrem nahoru k " e2 ".  Pro leváky se schema otočí o 180 
° .Potom cvičte alespoň 1hod totéž dle not, které jsou uvedeny ( bez 
označení prstokladu, protože se bude různit dle užitého posuvného 
prstokladu viz. - 2. kap. ) hned za prstoklady stupnic " dur ". 
 
Další cvičení bude užití těchto prstokladů v různých polohách 7-dmi 
tónových stupnic , například od tónu " As " po půltónech směrem 
nahoru, kam až vám to hmatník vaší kytary dovolí. Pak zase stejným 
způsobem sestupujte. Snažte se dosáhnout 100 % bezchybnosti. 
Zopakujeme si prstoklad levé ruky: 1- ukazovák, 2- prostředník, 3- 
prsteník, 4- malík. Prstoklady č.1  a č.2 můžete tedy hrát stupnice 
do dvou oktáv , a to : As, A, Bé, H, C, Des, D, .... dále pak dle typu 
kytary - Es, E, F, -kolik vám hmatník vaší kytary umožní.

Opět je možné tytéž úpravy provést v textovém procesoru MS Word.

Řešení

\documentclass[12pt]{article} 
\usepackage{mujstyl} 
\begin{document} 
Doporučené vybavení: el.\,ladička \uv{combo} (zesilovač + reproduktory), 
metronom~-- taktoměr, dobré kytarové struny osvědčených značek 
(Gibson\,\&\,Fender a~další). Prozatím! Pro začátek stačí tloušťka pro 
el.\,kytary~-- 0,08~inch (tloušťka struny \uv{e}), max.\,0,09~inch. 
Celé vybavení lze pořídit do 10\,000~Kč. 
 
V~diagramech 1 a~2 jsou znázorněny prstoklady stupnice \uv{C~dur}. 
Jsou téměř shodné~-- naučte se oba. V prvním případě je užit 
tzv.\,\uv{podhmat} na struně \uv{g}~-- ukazovákem. Druhý příklad je 
opačný~-- je to tzv.\,\uv{přehmat} malíčkem. Diagramy 1--13 všeobecně 
jsou vlastně výřezem části hmatníku, kde vodorovné úsečky znázorňují 
struny a~svislé pražce. Spodní struna (úsečka) je nejsilnější~-- \uv{E} 
a~postupujeme směrem nahoru k~\uv{e2}. Pro leváky se schema otočí 
o~180\,°. Potom cvičte alespoň 1\,h totéž dle not, které jsou uvedeny 
(bez označení prstokladu, protože se bude různit dle užitého posuvného 
prstokladu~-- viz 2.\,kap.) hned za prstoklady stupnic \uv{dur}. 
 
Další cvičení bude užití těchto prstokladů v~různých polohách sedmi 
tónových stupnic, například od tónu \uv{As} po půltónech směrem 
nahoru, kam až vám to hmatník vaší kytary dovolí. Pak zase stejným 
způsobem sestupujte. Snažte se dosáhnout 100\% bezchybnosti. 
Zopakujeme si prstoklad levé ruky: 1~-- ukazovák, 2~-- prostředník, 
3~-- prsteník, 4~-- malík. Prstoklady 1 a~2 můžete tedy hrát stupnice 
do dvou oktáv, a to: As, A, Bé, H, C, Des, D, \dots, dále pak dle typu 
kytary~-- Es, E, F~-- kolik vám hmatník vaší kytary umožní.
\end{document}

Kde se dozvědět více?

Problematika je podrobně popsána v učebnici LATEX pro začátečníky ve 2. kapitole na stranách 24–41. Problematika sazby cizojazyčných textů je v učebnici obsažena pouze na úrovni systému LATEX, tj. pomocí příkazů pro zápis diakritických znamének nad jednotlivé znaky jazyků používajících latinskou abecedu.