Hlavní navigace

ConTeXt: tabulky

Jakub Šťastný 13. 4. 2007

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?

13. 4. 2007 20:11

robert (neregistrovaný)
asi jste jenom cetl malo navodu, nebo jste se neptal v diskusnich forech.... :-)

13. 4. 2007 20:08

robert (neregistrovaný)
Já jsem pořád nepochopil, v čem je ten Context lepší, než latex a jeho balíčky. Já píšu většinou jenom články do časopisů, tam je jasný latex, a kromě toho učební texty pro vysokoškoláky. Používám latex, k němu většinou balíčky geometry, amsmath, web nebo pdfscreen, shadetheorem, color, hyperref, psfrag, exerquiz. Tohle asi v contextu nebudu moct používat. Má context pro tento typ textů nejakou výhodu pred latexem? A jak je na tom se sazbou matematiky? Myslim prostredi jako align, split, multili…
Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

120na80.cz: Bojíte se encefalitidy?

Bojíte se encefalitidy?

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Lupa.cz: Není sleva jako sleva. Jak obchodům nenaletět?

Není sleva jako sleva. Jak obchodům nenaletět?

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU