ConTeXt: sloupcová sazba a drobné grafické elementy

Jakub Šťastný 2. 4. 2007

Protože sloupcová sazba je dnes nepostradatelná a používá se snad na každém kroku, v dnešním díle se budeme věnovat právě jí. Od sloupcové sazby se posléze přesuneme k drobným grafickým elementům, jako jsou rámečky, čáry a podobně. Nakonec to celé završíme dlouho očekávanou ukázkou.

Sazba do sloupců

Chceme-li dokument sázet ve více sloupcích, pomůže nám prostředí columns. Protože je to prostředí, připomínám, že požadovaný text je třeba sázet mezi \startcolumns a \stopcolumns. Má poměrně dost voleb. Parametrem n můžete specifikovat, kolikasloupcovou sazbu si to vlastně přejete. Není-li specifikováno jinak, defaultní hodnota jsou dva sloupce. Dalším důležitým parametrem je rule vykreslující oddělující čáru mezi sloupci. Může nabývat hodnot on nebo off. Defaultní je volba off, čili sloupce neoddělené čarou.

Protože jsme se v minulém díle naučili nastavovat vlastnosti elementů pomocí \setupcosi, dnes si to můžete vyzkoušet třeba právě na \setupcolumns. Rozhodně nejužitečnější bude globální nastavení voleb n a rule, které jsem již popsal výše. Existuje sice spoustu dalších voleb, nicméně protože zde není dostatek prostoru k tomu popisovat je všechny, odkáži tedy laskavého čtenáře na dokumentaci.

Potřebujete-li v sloupcové sazbě vynutit přechod do nového sloupce, zkuste použít  \column.

Rámečky

Rámečky můžete tvořit příkazem \framed. Jeho možné volby jsou velice pestré. Občas se třeba hodí direktivně určit rozměry rámečku, což se dělá pomocí width=n a height=n, tedy například rámeček pro lidi, co netroškaří: \framed[width=50cm,height=100cm]{Vztahovaný text.}. Volbou align zase můžete určit zarovnání. Nejdůležitějšími povolenými hodnotami jsou left, rightmiddle.

Mně osobně se rámečky s ostrými rohy nelíbí ani trochu, a tak ještě používám volbu corner=round, která vykresluje rámečky s oblými rohy. K tomu zpravidla přidávám barvu pomocí

background=color,backgroundcolor=<barva_pozadi>,foregroundcolor=<barva_textu>

Ještě bych chtěl upozornit na jednu věc – řádkové zlomy. Rámečky totiž nejsou dimenzované na větší texty. Tuto funkcionalitu lze naštěstí mnohem lépe suplovat třeba příkazy pro práci s pozadím nebo prostředím framedtext, ke kterému se dostaneme za chvilku. Nicméně pokud již musíte v rámečku řádkový zlom dělat, použijte  \\.

S příkazem \framed je velmi blízce spjat příkaz \inframed. Zásadní odlišnost spočívá v tom, kde začíná rámeček. V případě textu lokalizovaného uvnitř \framed, začíná rámeček na spodní lince, a tedy písmo se – za předpokladu, že jej umisťujete přímo do textu – „vznáší” nad ostatním textem. Oproti němu text, který se nalézá uvnitř \inframed, přesně navazuje na text okolní, a logicky tedy spodní okraj rámečku je o něco níže.

Chcete-li dávat do rámečku více textu, zkuste použít prostředí framedtext. Můžete mu předávat stejné parametry jako v případě framed, nicméně na změny v \setupframed  neslyší, je třeba použít \setupframedtexts. U rámečků, zvláště těch větších, se občas hodí nevykreslovat rám – to se dělá pomocí  frame=off.

Čáry máry

ConTeXt nám dává k dispozici spoustu druhů čar. Velmi užitečná je čára generovaná příkazem \textrule{text nadpisu}. To vygeneruje okolo nadpisu z obou stran čáru zhruba v polovině výšky textu, což vypadá moc pěkně a s oblibou to na nadpisy používám. Samozřejmě ale použít se to dá na ledacos, ne pouze na nadpisy.

„Normální” vodorovnou linku generuje příkaz \hairline. Podobně funguje také \thinrule, které ale narozdíl od předchozí neuzurpuje celou řádku pro sebe, nýbrž navazuje plynule na slova odstavce. Na generování více linek lze s úspěchem použít jeho mutaci \ thinrules[n=<cislo_radek>], kde cislo_radek samozřejmě znamená počet řádek, které chceme vyplnit čarou.

Vyloženě okrajově zmiňuji čáry generované příkazy vl a hl, které generují vertikální a horizontální čáru, ovšem jsou to – abych tak řekl – čáry „nižší úrovně”. Příliš často je využívat není třeba. Zato se občas hodí označit odstavec, který jsme třeba editovali či který je nějakým způsobem zajímavý. Lze tak učinit pomocí \startmarginrule odstavec \stopmarginrule, které vytvoří svislou čáru před textem odstavce.

Aby si všichni přišli na své, mám tu čáru pro blackmetalisty. \blackline. Jedná se o kraťoučkou, avšak velmi silnou čáru. Je sice z těch méně praktických čar, nicméně občas se hodit může. Poslední čára, kterou zmíním, je \fillinline. Pomocí ní lze vytvořit slovo zarovnané na levou stranu stránky následované čarou zarovnanou ku pravé straně. Dejme tomu \fillinline[width=5cm]{Podpis} vytvoří linku začínající slovem „Podpis” následovanou čarou dlouhou 5 centimetrů zarovnanou ku pravému okraji stránky.

Ukázka

Protože jste již mnozí volali, že by to chtělo taky nějakou komplexnější ukázku, a já sám jsem téhož názoru, máte ji mít: zdrojový kód, výsledné PDF. Jako text ideální délky jsem vybral článek o WeeChatu. Abyste jej mohli zkompilovat, musíte mít v adresáři se zdrojovým kódem soubor weechat.png, který můžete stáhnout ze zmiňovaného článku. A příště se těšte na tabulky.

Našli jste v článku chybu?
Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

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

Ceny PHM v Evropě. Finty na úspory

Měšec.cz: 10 změn novely zákoníku práce

10 změn novely zákoníku práce

Vitalia.cz: Za její cukrovkou stojí rodiče

Za její cukrovkou stojí rodiče

Podnikatel.cz: Česká pošta vycouvala ze služby ČP Cloud

Česká pošta vycouvala ze služby ČP Cloud

120na80.cz: Lepší poporodní sexuální život? Žádný problém

Lepší poporodní sexuální život? Žádný problém

120na80.cz: Víte, co je svobodná menstruace?

Víte, co je svobodná menstruace?

Lupa.cz: Co najdete uvnitř kosmické sondy?

Co najdete uvnitř kosmické sondy?

Lupa.cz: Elektronika tajemství zbavená. Jak s ní začít?

Elektronika tajemství zbavená. Jak s ní začít?

DigiZone.cz: Hodlá Markíza skončit v DVB-T?

Hodlá Markíza skončit v DVB-T?

Podnikatel.cz: Chce dodávat chlebíčky. Jaká živnost je třeba?

Chce dodávat chlebíčky. Jaká živnost je třeba?

DigiZone.cz: Pevnost Boyard v září a česká

Pevnost Boyard v září a česká

Podnikatel.cz: Týká se vás EET? Chtějte od berňáku posudek

Týká se vás EET? Chtějte od berňáku posudek

Vitalia.cz: Je bílý kokos fakt tak úžasný? Ano, je!

Je bílý kokos fakt tak úžasný? Ano, je!

DigiZone.cz: AXN u FreeSatu měsíc zdarma

AXN u FreeSatu měsíc zdarma

Měšec.cz: Investiční pasti. Děláte to, co ostatní, ale proděláváte

Investiční pasti. Děláte to, co ostatní, ale proděláváte

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

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

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

Měšec.cz: Kurzy platebních karet: vyplatí se platit? (TEST)

Kurzy platebních karet: vyplatí se platit? (TEST)

Měšec.cz: Na návštěvě na exekutorském úřadě

Na návštěvě na exekutorském úřadě