ConTeXt: nastavování a definování

Jakub Šťastný 19. 3. 2007

V dnešním díle doženeme teorii a řekneme si něco o nastavování stávajících entit a definování entit nových. Vše si hned vyzkoušíme prakticky a naučíme se měnit vzhled nadpisů. Rovněž se podíváme na nastavení výčtových prostředí a prozradíme si zase něco zajímavého o barvičkách.

Teorie

Nastavování

Již jsme se s ním několikrát setkali. Vzpomínáte, jak se zapíná barevný výstup? Tak to je přesně ono. Obecně jakékoliv nastavování čehokoliv začíná magickým slůvkem \setup, za nímž je udáno, co to vlastně chceme nastavovat. Takže chceme-li nastavit, jak se budou číslovat stránky, sáhneme po příkazu  \setuppagenumbering.

Protože tentokrát bude možná trochu přezávorkováno, tak drobné upřesnění, jak to s těmi závorkami vlastně je: LaTeX píše nepovinné parametry do hranatých, a povinné parametry do složených závorek. Ne tak ConTeXt. Do hranatých závorek se píší parametry, kdežto do složených text, k němuž se vztahují. Jednotlivé parametry se oddělují čárkami. Mají-li nějakou hodnotu, klasicky se přiřazuje pomocí znaku „rovná se”. Obecně to vypadá nějak takto:  \setupcosi[volby, volba=hodnota].

Definování

I s ním jsme se již minimálně jednou setkali, a sice v příkladu se zvýrazňováním TeXové syntaxe. Zatímco nastavením pouze upravíme entitu, definováním vznikne entita jiná, odvozená od nějakého již existujícího vzoru. Něco jako vznik nového objektu v objektovém programování.

Tak jako při nastavování použijeme \setupcosi, při definování zase použijeme \definecosi. Když to trochu rozvedu, vypadá to obvykle nějak takto:

\definecosi[jméno][volby]
\definecosi[klon][originál] 

Jméno je důležité k tomu, abychom věděli, pod jakým názvem pak entitu budeme volat. Druhý příklad ukazuje, že pomocí definování můžeme stejné entitě přiřadit jiné jméno, jak se přesvědčíme za chvilku.

Praxe

Nastavování

Nastavujeme nadpisy k obrazu svému

U nadpisů se toho dá nastavit opravdu hodně – od zobrazování či nezobrazování čísla kapitol po barvu či řez písma a ještě mnohem více. Kouzelné slůvko pro nastavení nadpisu je \setuphead, za nímž následuje, jakou hierarchickou úroveň chceme nastavovat, a teprve za tím to, jak to má vlastně vypadat.

\setuphead
   [chapter]
   [page=yes,command=\blue,number=no] 

Ve výše uvedeném příkladě jsme nastavili všechny nadpisy kapitol, aby začínaly na samostatné stránce ( page=yes) a aby se před nimi nezobrazovalo číslo příslušné kapitoly ( number=no). Volbě command můžete přiřadit libovolný ConTeXtový příkaz, který má na tomto místě smysl, což může být třeba jakou barvu použít. Volba command se vyskytuje v setupech mnoha ConTeXtových entit. S ním jsou spřízněny volby before a after, kterým se jako parametr též předává ConTeXtový příkaz značící, co si přejeme provést před a po vysázení entity.

Přejete-li si nastavovat dále, můžete použít volbu style=<styl>, kde za styl můžete doplnit bold, slanted, boldslanted nebo type. Kromě volby style existují podobné volby, jako je textstyle nastavující styl textové části nadpisu kapitoly a numberstyle nastavující styl čísla kapitoly.

Kdybychom si přáli, aby nadpis kapitoly začínal na další pravé stránce, pak místo page=yes prostě použijeme page=right, či analogicky pro levou stránku  page=left.

Mimochodem, chcete-li nastavovat nadpisy sekcí a podsekcí zároveň, není to problém:

\setuphead
   [section,subsection]
   [volby] 

Nastavujeme výčtová prostředí

K tomu nám poslouží příkaz \setupitemize. S volbou packed bude mít výčtové prostředí kompaktnější vzhled, volba columns automaticky zapíná rozložení do sloupců. Opět jsou k dispozici volby before a after.

Definování

Definujeme si novou barvičku

Je to jednoduché. Stačí vědět, jak chceme barvičku pojmenovat a její vyjádření v RGB nebo CMYK systému:

\definecolor
   [indigo]
   [r=.0, g=.0, b=.5] 
\definecolor
   [cyan]
   [c=10, m=3, y=0, k=0] 

Pokud si vystačíte se stupněmi šedi, je to ještě jednodušší:

\definecolor[gray][s=0.75] 

V teoretické části jsem zmínil, že pomocí \define příkazů lze klonovat entity. To se provede jednoduše například takto:

\definecolor[important][red] 

Nyní máme dvě stejné barvy important a red. Jejich oddělení samozřejmě smysl má, protože uvědomíme-li si později, že na zvýrazňování důležitých věcí se víc hodí dejme tomu tmavě zelená s lehkým nádechem do hnědožluta, tak si ji prostě změníme na jednom místě a je to vyřešeno, netřeba nic nahrazovat v textu.

O tom, jak používat barvičky jsme si sice již trochu řekli v díle píšeme jednoduchý dokument, nicméně teď je ten pravý čas to trochu více rozvést:

\startcolor[indigo]
Nějaký obyčejný text
\stopcolor

Obyčejný text \color[indigo]{barevný text} obyčejný text
obyčejný text {\indigo opět barevný text}, obyčejný text 

Příště

Příště se těšte na sloupcovou vazbu, rámečky, čáry a různé další doplňující grafické elementy.

Našli jste v článku chybu?
Měšec.cz: Se stavebkem k soudu už (většinou) nemusíte

Se stavebkem k soudu už (většinou) nemusíte

Měšec.cz: Udali ho na nelegální software a přišla Policie

Udali ho na nelegální software a přišla Policie

120na80.cz: Tipy pro odvodnění organismu

Tipy pro odvodnění organismu

Podnikatel.cz: Daňové složenky? U daně z příjmů se nechytly

Daňové složenky? U daně z příjmů se nechytly

Měšec.cz: Platíme NFC mobilem. Konečně to funguje!

Platíme NFC mobilem. Konečně to funguje!

Podnikatel.cz: Přerušil SVČ, nic nehlásil. Dál musí platit

Přerušil SVČ, nic nehlásil. Dál musí platit

Vitalia.cz: Sobotní masakr žrádla, chlastu a zábavy

Sobotní masakr žrádla, chlastu a zábavy

Podnikatel.cz: Rozhodnuto! Pracující senior penzi nezdaní

Rozhodnuto! Pracující senior penzi nezdaní

DigiZone.cz: Markíza HD a Dajto? U Digi TV asi minulost

Markíza HD a Dajto? U Digi TV asi minulost

Měšec.cz: Cool karta: recenze předplacenky

Cool karta: recenze předplacenky

Lupa.cz: Vodafone umí volání přes Wi-Fi. Z ciziny jako v ČR

Vodafone umí volání přes Wi-Fi. Z ciziny jako v ČR

Měšec.cz: Ceny PHM v Evropě. Finty na úspory

Ceny PHM v Evropě. Finty na úspory

Podnikatel.cz: Daň z nemovitosti? Změny budou v říjnu

Daň z nemovitosti? Změny budou v říjnu

Podnikatel.cz: Kanceláře jako kóje? Špatný vtip

Kanceláře jako kóje? Špatný vtip

Lupa.cz: Největší torrentový web KickassTorrents padl

Největší torrentový web KickassTorrents padl

Lupa.cz: EU začala prověřovat bezpečnost open-source

EU začala prověřovat bezpečnost open-source

DigiZone.cz: Loewe Subwoofer 300 pro televizory

Loewe Subwoofer 300 pro televizory

Lupa.cz: IT scéna po brexitu: přijde exodus vývojářů?

IT scéna po brexitu: přijde exodus vývojářů?

Lupa.cz: Japonská invaze. Proč SoftBank kupuje ARM?

Japonská invaze. Proč SoftBank kupuje ARM?

Lupa.cz: eIDAS: Nepřehnali jsme to s výjimkami?

eIDAS: Nepřehnali jsme to s výjimkami?