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.

widgety

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.

Ohodnoťte jako ve škole:

Průměrná známka 3,16

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
Lupa.cz: V Brně vyvinuli rychlý internet do letadel

V Brně vyvinuli rychlý internet do letadel

Měšec.cz: Banky umí platby na kartu, jen to neříkají

Banky umí platby na kartu, jen to neříkají

Vitalia.cz: Co s chřestem v kuchyni?

Co s chřestem v kuchyni?

Vitalia.cz: Byla Nestlé kaše opravdu nebezpečná?

Byla Nestlé kaše opravdu nebezpečná?

120na80.cz: 10 nejžádanějších bylinných čajů

10 nejžádanějších bylinných čajů

Měšec.cz: Má vám zdražit elektřina? Stěžujte si

Má vám zdražit elektřina? Stěžujte si

Lupa.cz: Jaký je Průvodce světem Arduina?

Jaký je Průvodce světem Arduina?

DigiZone.cz: Jak by měla vypadat sportovní reality show?

Jak by měla vypadat sportovní reality show?

Podnikatel.cz: Prodá jen 15 obědů denně. Co dělá špatně?

Prodá jen 15 obědů denně. Co dělá špatně?

Podnikatel.cz: Statisíce plátců DPH podávají první hlášení

Statisíce plátců DPH podávají první hlášení

Podnikatel.cz: Máte poslední dny na odevzdání přehledů

Máte poslední dny na odevzdání přehledů

Vitalia.cz: Celníci našli 50 000 pašovaných tablet

Celníci našli 50 000 pašovaných tablet

Podnikatel.cz: Soused složenku k dani z nemovitostí má, vy ne?

Soused složenku k dani z nemovitostí má, vy ne?

120na80.cz: Homeopatická lékárnička pro alergiky

Homeopatická lékárnička pro alergiky

Vitalia.cz: Očkování a autismus ve světle vědeckého objevu

Očkování a autismus ve světle vědeckého objevu

Vitalia.cz: Nový festival Street Food Rocks: jídlo i hudba!

Nový festival Street Food Rocks: jídlo i hudba!

Podnikatel.cz: Firmu lze trestat za účast na sebevraždě

Firmu lze trestat za účast na sebevraždě

Vitalia.cz: Benzínka: I tady prodávali potraviny

Benzínka: I tady prodávali potraviny

120na80.cz: Co potřebujete k vyndání klíštěte?

Co potřebujete k vyndání klíštěte?

Podnikatel.cz: Radši se k podnikání nechají zaměstnat

Radši se k podnikání nechají zaměstnat

Ušetřete