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?
Lupa.cz: Text umírá, na webu zbude jen video

Text umírá, na webu zbude jen video

120na80.cz: Jsou opalovací krémy pro děti jiné?

Jsou opalovací krémy pro děti jiné?

Podnikatel.cz: Neuvěříte, ale EET má pro podnikatele i výhody
MarketVoice

Neuvěříte, ale EET má pro podnikatele i výhody

Podnikatel.cz: Oblíbené Babišovo reverse charge. Potopilo je?

Oblíbené Babišovo reverse charge. Potopilo je?

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

Ceny PHM v Evropě. Finty na úspory

DigiZone.cz: Krajské televize na okraji zájmu?

Krajské televize na okraji zájmu?

Root.cz: Nejvýkonnější počítač mají v Číně, podívejte se

Nejvýkonnější počítač mají v Číně, podívejte se

Lupa.cz: eIDAS je tu. O co přijdeme u elektronických podpisů?

eIDAS je tu. O co přijdeme u elektronických podpisů?

DigiZone.cz: Skylink: Nova Sport volně

Skylink: Nova Sport volně

DigiZone.cz: Roční bonus pro Dvořáka schválen

Roční bonus pro Dvořáka schválen

DigiZone.cz: ČT veze bronz z klání televizní grafiky

ČT veze bronz z klání televizní grafiky

Lupa.cz: Jaké IoT tarify nabízejí mobilní operátoři?

Jaké IoT tarify nabízejí mobilní operátoři?

Root.cz: Střílejte v obýváku, stačí kamera a projektor

Střílejte v obýváku, stačí kamera a projektor

Podnikatel.cz: Jeho dřevěné hodinky chtějí na všech kontinentech

Jeho dřevěné hodinky chtějí na všech kontinentech

Měšec.cz: Co s reklamací, když e-shop krachuje?

Co s reklamací, když e-shop krachuje?

DigiZone.cz: Markíza: tady je předběžné opatření

Markíza: tady je předběžné opatření

DigiZone.cz: TV Nova a její postoj k DVB-T2

TV Nova a její postoj k DVB-T2

DigiZone.cz: Kritické poznámky k DVB-T2

Kritické poznámky k DVB-T2

Vitalia.cz: Další Míša má Klasu

Další Míša má Klasu

Lupa.cz: Vydavatelé jsou v háji, ale neumí si to připustit

Vydavatelé jsou v háji, ale neumí si to připustit