Předchozí   Další   Dolů   Obsah 

I) Vytváření tabulek

Prostředí tabbing:

Příklad prostředí tabbing (tabulky bez linek):

    % jednoduchá tabulka
    \begin{tabbing}
    město XYZ ~~~~\= datum ~~~~
    \= 34 \kill
    \bfseries Město \>
    \bfseries Datum \>
    \bfseries Max. tep. \\[2mm]
    město M \> 15/7 \> 33$^\circ$ Celsia \\
    město N \> 21/7 \> 35$^\circ$ Celsia\\
    město XYZ \> 3/8 \> 34$^\circ$ Celsia
    \end{tabbing}
příklad prostředí tabbing
v předchozím příkladu \= znamená nastavení zarážky, \> posunutí na dálší zarážku, \\ přechod na nový řádek, \kill znamená zrušení řádku (nebude vytisknut) avšak ponechání platnosti všech na něm definovaných zarážek - první řádek tedy slouží jen k nastavení poloh zarážek. V tomto prostředí změna nastavení atributu pisma uvnitř končí s přechodem na další zarážku nebo řádek - totéž platí pro prostředí tabular. Nad a pod tabulkou se automaticky vytvoří mezera pro odsazení od okolního textu. Ještě je možno použít např. příkaz \+ nebo \- těsně před příkazem přechodu na nový řádek \\. Příkaz \+ způsobí, že následující řádky budou automaticky začínat o tabulátor dále (přesně jako by na jejich začátku byl přidán příkaz \>). Příkaz \- ruší předchozí příkaz \+. Pokud je na řádku uveden příkaz \` (pozor na orientaci apostrofu!), je text následující na řádku za tímto příkazem umístěn na pravý okraj stránky - za tímto příkazem pak už nemůže na daném řádku být další položka. Prostředí tabbing může být rozprostřeno přes více stran a je vhodné na vytváření pasáží textu s komplikovaným odsazováním.

Poznámka: v prostředí tabbing dochází k některým shodám řídících znaků s některým akcentováním (viz část B)) - dalšími řídícími znaky prostředí tabbing jsou např. \' a \`. Aby nedošlo ke konfliktu, je třeba akcentování v tomto prostředí modifikovat následujícím způsobem: hned za obrácené lomítko se přidá písmeno a (např. \a={znak} místo \={znak}).

Prostředí tabular:

Toto prostředí slouží k umístění tabulky do textu (na řádek) jako jakéhokoliv jiného slova - neumisťuje se automaticky odděleně od textu. Celá syntaxe prostředí tabular je následující:

    \begin{tabular}[p]{sloupce}
    řádek \\
    .....
    \end{tabular}
Písmeno p ve volitelném parametru určuje způsob připojení tabulky k okolnímu textu: t - připojení horním okrajem, b - připojení dolním okrajem. Implicitně se tabulka zařazuje do textu středem.
Sloupce mohou být sekupení následujících písmen: l, r, c, p; l resp. r resp. c znamená, že sloupec bude zarovnán na levý okraj resp. pravý okraj resp. střed, p znamená sazbu textu položky do bloku o šířce, která je zadaná ve svorce následující za p (paragraph) - např.
\begin{tabular}{|p{.6\textwidth}|}) - v tomto případě se sloupec zarovnává podle levého okraje. Když se slova nevejdou na řádek, vytváří se na právém okraji sloupce automaticky zlom a přechází se na další řádek v rámci stále jednoho řádku tabulky v tomto sloupci. V přípádě l nebo r nebo c se šířka sloupce tabulky zvolí automaticky tak, aby se do něj vešla na jeden řádek i nejdelší položka - přesnou polohu zarážek tedy není třeba specifikovat. Přechod o jednu zarážku se specifikuje znakem & (nikoliv tedy \>). Jednotlivá písmena mohou být oddělena znakem |, což znamená, že se sloupce oddělí čárou. Pokud se těchto znaků uvede více za sebou, udělá se tolik čar těsně vedle sebe. Horizontalní čáry se vyrobí příkazem \hline uvnitř konstrukce tabulky - umístění této čáry se řídí logicky podle umístění tohoto příkazu v konstrukci tabulky. Je také možno vytvořit horizontální čáru (ovšem jen jednoduchou) přes jen některé sloupce - pomocí příkazu \cline{a-b} místo \hline, kde a resp. b znamená pořadí prvního resp. posledního sloupce, přes který se udělá čára.

Příklad prostředí tabular (tabulky s možností linek):

    \begin{tabular}{c||rp{3cm}}
    \bfseries \bfseries Město & \bfseries Datum & \bfseries Max. tep. \\[2mm]
    \hline \hline
    město M & 15/7 & 33$^\circ$ Celsia \\
    město N & 21/7 & 35$^\circ$ Celsia\\
    město XYZ & 3/8 & 34$^\circ$ Celsia \\
    \end{tabular}
příklad prostředí tabular
Další příklad na prostředí tabular
    \begin{tabular}{|c||r|p{3cm}|}
    \hline
    \bfseries \bfseries Město & \bfseries Datum & \bfseries Max. tep. \\[2mm]
    \hline \hline
    Čechy & & \\ \cline{1-1}
    město M & 15/7 & 33$^\circ$ Celsia \\
    město N & 21/7 & 35$^\circ$ Celsia\\
    město XYZ & 3/8 & 34$^\circ$ Celsia \\ \hline
    \end{tabular}
Další příklad na prostředí tabular
Další příklad na prostředí tabular (zarámovaný víceřádkový text o šířce stránky):
    \noindent\begin{tabular}{|p{\textwidth}|}
    \hline
    text přes několik řádků text text text text text text text text text 
    text text text text text text text text text text text\\
    \hline 
    \end{tabular}
zarámovaný víceřádkový text
Pozn. tohoto efektu dosáhneme také vnořením parboxu do frameboxu (viz. boxy).

V případě, že potřebujeme, aby některá položka byla umístěna přes více sloupců, můžeme použít příkaz
\multicolumn{přes kolik sloupců}{zarovnání}{položka}, kde zarovnání je jedno z písmen l nebo r nebo c. Tím se položka v aktuálním řádku tabulky může umístit přes několik sloupců.

Příklad:

    \begin{tabular}{|c||r|c|}
    \hline
    & \multicolumn{2}{|c|}{\bfseries Max. teplota v daném dni} \\ % první řádek
    \cline{2-3}
    \bfseries \bfseries Město & \bfseries Datum & \bfseries Max. tep. \\[2mm]
    \hline \hline
    Ćechy & & \\ \cline{1-1}
    město M & 15/7 & 33$^\circ$ Celsia \\
    město N & 21/7 & 35$^\circ$ Celsia\\
    město XYZ & 3/8 & 34$^\circ$ Celsia \\ \hline
    \end{tabular}
příklad multicolumn
V prostředí tabular lze předepsat i jiný tvar mezisloupcového oddělovače než jen mezeru nebo vertikální čáru obklopenou tzv. mezisloupcovými mezerami. K tomu slouží @{oddělovač} umístěné mezi příslušnými písmeny v položce sloupce hlavičky prostředí tabular. Oddělovač může být znak, např. = nebo sekvence, např. \ \times \ (tedy např. c@{\ \times \ }c). Může být použito i @{} - pak mezi sloupci není žádná mezisloupcová výplň.

Celou tabulku lze v horizontálním směru prosvětlit zvětšením délkového registru \tabcolsep (velikost mezisloupcové mezery) - implicitně je 3pt. Ve vertikálním směru lze tabulku prosvětlit předefinováním příkazu \arraystretch v preambuli (implicitně je hodnota rovna jedné) např. \renewcommand{\arraystretch}{1.2}

Jinak lze ještě tabulku prosvětlit na vhodných místech vložením strutu (viz. boxy). Do okénka tabulky můžeme vložit třeba další tabulku. Pokud chceme, aby jednotlivé položky obsahovaly nějakou složitější strukturu, můžeme toho dosahnout vložením této struktury jako boxu (viz. boxy). S použitím instrukce \rotatebox z balíku graphics pak dosáhneme i nehorizontální orientaci elementu.

Příklad s boxem:

    \begin{tabular}{|c||r|p{3cm}|}
    \hline
    \bfseries \bfseries Město & \bfseries Datum & \bfseries Max. tep. \\[2mm]
    \hline \hline
    \rotatebox{90}{\parbox[b]{2cm}{\bfseries Česká \\ Republika \\ v roce 2000}} & & \\ \cline{1-1}
    město M & 15/7 & 33$^\circ$ Celsia \\
    město N & 21/7 & 35$^\circ$ Celsia\\
    město XYZ & 3/8 & 34$^\circ$ Celsia \\ \hline
    \end{tabular} % po překladu přetransformovat dvi na ps.
příklad s boxem
Pozn. v prostředí tabular je možno vytvořit také malou vertikální čáru jako obyčejný znak (ale o trochu větší) v dané položce přes jeden řádek tabulky. Vytvoří se příkazem \vline.

Pro výrobu rozmanitých tabulek (s dalšími možnostmi ohraničujících čar) existuje v LaTeXu řada specializovaných balíků. Zmiňme jen balík longtable, pomocí něhož lze vytvářet tabulku přes více než jednu stránku. Jen je třeba místo názvu prostředí tabular použít název longtable (prostředí longtable). Máli se tabulka nacházet na více stránkách, nemůže být samozřejmě vnořena do plovoucího prostředí (table) - viz. Plovoucí prostředí.


 Předchozí   Další   Nahoru   Obsah