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.

Ohodnoťte jako ve škole:

Průměrná známka 2,84

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
Vitalia.cz: Syndrom počítačového vidění: stačí dvě hodiny denně

Syndrom počítačového vidění: stačí dvě hodiny denně

Podnikatel.cz: E-shop na mobilu? Tenhle nefunguje, k vzteku

E-shop na mobilu? Tenhle nefunguje, k vzteku

Vitalia.cz: Ministerstvo: tyto příbory jsou nebezpečné

Ministerstvo: tyto příbory jsou nebezpečné

120na80.cz: Tady se vaří padělané léky

Tady se vaří padělané léky

120na80.cz: Zjistěte, zda je vaše klíště infikované

Zjistěte, zda je vaše klíště infikované

Root.cz: DDoS útoky aneb když vám zahltí dráty

DDoS útoky aneb když vám zahltí dráty

DigiZone.cz: Mafra varuje před stíháním za pomluvu

Mafra varuje před stíháním za pomluvu

Lupa.cz: Schváleno: Rockaway může převzít Heureku

Schváleno: Rockaway může převzít Heureku

Lupa.cz: Válka e-shopů. Alza končí s Heurekou

Válka e-shopů. Alza končí s Heurekou

120na80.cz: 10 dezinfekcí: Vede „starý dobrý“ peroxid

10 dezinfekcí: Vede „starý dobrý“ peroxid

Vitalia.cz: 7 nemocí očí, které musíte léčit včas

7 nemocí očí, které musíte léčit včas

Vitalia.cz: Dnešní patolog o mrtvolu téměř nezavadí

Dnešní patolog o mrtvolu téměř nezavadí

Root.cz: Zákon o hazardu je v rozporu s ústavou

Zákon o hazardu je v rozporu s ústavou

Podnikatel.cz: Přechod z OSVČ na firmu? Totální šok!

Přechod z OSVČ na firmu? Totální šok!

Podnikatel.cz: Alza radí e-shopům, jak opustit Heureku

Alza radí e-shopům, jak opustit Heureku

DigiZone.cz: Rádio Retro spouští stream o Karlu IV.

Rádio Retro spouští stream o Karlu IV.

Vitalia.cz: 10 rad šéfkuchařů pro perfektní grilování

10 rad šéfkuchařů pro perfektní grilování

Lupa.cz: Přenos hokeje padal kvůli útoku, tvrdí O2

Přenos hokeje padal kvůli útoku, tvrdí O2

DigiZone.cz: Šlágr TV dostala pokutu 100 000 Kč

Šlágr TV dostala pokutu 100 000 Kč

Vitalia.cz: Tetanus v USA – i po odřeninách

Tetanus v USA – i po odřeninách