Hlavní navigace

ConTeXt: tabulky

Jakub Šťastný

Dnes, v době statistik, propočtů a grafů, se tabulkuje doslova na každém kroku. Samozřejmě pro ConTeXt není problém si s tabulkami poradit, a tak se dnes vrhneme právě na ně a ukážeme si alespoň základy práce s tabulkami a tabulkám podobných prostředím v ConTeXtu.

Prostředí tabulate

Prostředí tabulate není tak úplně čistokrevná tabulka. Jeho využití je spíše podobné tabulkovému layoutu v HTML, používání tabulátorů v dokumentu nebo tak něčemu. Takový klasický příklad může vypadat třeba takto (převzato z oficiální dokumentace, soubor cont-enp.pdf):

\starttabulate[|l|p|]
\NC question \NC Sometimes it is surprising to notice that writers,
independently of each other, explore the same theme along similar lines.
Three of the four books mentioned here fall into this category. Which
books do not belong in this list? \NC \NR
\stoptabulate

Nemáte-li po ruce zrovna překladač TeXu, prozradím, že to bude vypadat zhruba takto:

question Sometimes it is surprising to notice that writers, independently of each other, explore the same theme along similar lines. Three of the four books mentioned here fall into this category. Which books do not belong in this list?

Nejte-li si jisti příkazy \NC a \NR, vězte, že je to jednoduché: \NC přechází do dalšího sloupce a \NR zase do další řádky. Čili jednoduchá tabulka bude vypadat takto:

\starttabulate[|l|p|]
\NC \bf a) \NC 345 \NC\NR
\NC \bf b) \NC 485 \NC\NR
\NC \bf c) \NC 468 \NC\NR
\stoptabulate

Zápisu [|l|p|] je v ConTeXtových kruzích říká šablona. Zmíněné [|l|p|] je defaultní. Že „l” znamená sazbu doleva (left), to je očividné. Co ale znamená „p”? V naší zemi má člověk tendenci sklouzávat k myšlence, že „p” je od slova „pravo” nebo tak něco, což samozřejmě pravda není. Ono záhadné „p” je nakonec od slova „paragraph”, tedy standardní zarovnání do bloku. Dále lze použít „r”, tedy zarovnání napravo (rigth) nebo „c”, tedy zarovnání na střed.

Prostředí table

Toto prostředí již je, na rozdíl od tabulate, určeno k sazbě klasických tabulek. Přes tuto odlišnost se s ním v mnohých ostatních rysech shoduje. Například co se týče šablony, využívá nachlup stejnou jako výše zmíněné tabulate. Ostatně posuďte sami:

\starttable[|l|r|r|]
\HL
\VL \bf Rok   \VL \bf Výdaje \VL \bf Příjmy \VL \FR
\VL \bf 2005  \VL 120 358 Kč \VL 359 421 Kč \VL \FR
\VL \bf 2006  \VL 142 557 Kč \VL 521 451 Kč \VL \FR
\VL \bf 2007  \VL 168 597 Kč \VL 754 125 Kč \VL \FR
\HL
\stoptable

Popisky tabulek

K popiskům slouží příkaz \placetable. Syntaxe je následující:

\placetable{popisek}
tabulka

Legenda k tabulkám

Legenda se řeší pomocí poznámek pod čarou, ovšem s tím rozdílem, že jsou umístěny lokálně. K poznámkách pod čarou jsme se sice zatím nedostali, pokud ale pozorně sledujete ukázky, již jste možná postřehli, že se vytvářejí příkazem  \footnote{text poznámky}.

Aby byly poznámky pod čarou lokální, je nutno použít prostředí localfootnotes.

A jak bude tedy celá tabulka vypadat?

\startlocalfootnotes[n=0]
\placetable{Prostě tabulka.}
\placelegend
\starttable[|l|r|r|]
\HL
\VL \bf Rok                              \VL \bf Výdaje \VL \bf Příjmy \VL \FR
\VL \bf 2005\footnote{Před dvěma lety.}  \VL 120 358 Kč \VL 359 421 Kč \VL \FR
\VL \bf 2006\footnote{Minulý rok.}       \VL 142 557 Kč \VL 521 451 Kč \VL \FR
\VL \bf 2007\footnote{Letošní rok.}      \VL 168 597 Kč \VL 754 125 Kč \VL \FR
\HL
\stoptable
{\placelocalfootnotes}
\stoplocalfootnotes

(Dnešní ukázky: TeX, PDF.)

Příště

S hrůzou jsem si uvědomil, že jsme si stále ještě neřekli o jedné velice důležité entitě moderní typografie – o plovoucích objektech. Ty ostatně do značné míry souvisí i s tabulkami, zejména těmi rozsáhlejšími.

Našli jste v článku chybu?