Předchozí | Další | Dolů | Obsah |
M) Plovoucí prostředí
Umisťování kompaktních tabulek a obrázků do textu je obecně problémem. Tyto objekty nemohou být na rozdíl od obyčejných textových odstavců rozděleny na rozhraní stránek. Při práci s LaTeXem nemáme tak rychlou kontrolu, co se stane s okolím obrázku při jeho přemísťení, jakou máme u WYSIWYG editorů. LaTeX však nabízí jinou filozofii práce při umisťování těchto objektů - objekt se umístí do tzv. plovoucího prostředí. Pomocí tohoto nástroje lze relativně snadno a pohodlně umisťovat obrázky a tabulky do textu. Uživatel nemusí specifikovat umístění objektu detailně.
Do prostředí table je často vnořeno prostředí tabular. Jako nepovinný parametr prostředí figure a table mohou být uvedena některá (1 až 4) z písmen h, t, b, p specifikující umístění objektu, které je do prostředí vnořeno. Význam:
Ještě se může hodit následující příkaz ovlivňující umístění:
\suppressfloats[t nebo b] - zabrání umístění obrázků a tabulek uvedených za
tímto příkazem na horní nebo dolní části stránky, na které je tento příkaz
uveden, které by se jinak takto umístily. Pokud volitelný parametr chybí,
znamená to zabránění umístění nahoře i dole.
V prostředí figure a table se může umístit tento příkaz:
\caption[případně jiný text v seznamu obrázků nebo tabulek]{text}.
Tím se vygeneruje označení tabulky nebo obrázku - číslování (i detaily
v označování) je automatické. Případné \label se musí vyskytovat až za
\caption nebo musí být uvnitř argumentu příkazu caption.
Pokud nejsme spokojeni s uvedením označení obrázku (při použití balíku czech
je to Obrázek.), můžeme toto označení předefinovat pomocí \renewcommand v
preambuli (za \usepackage{czech}) na např. Obr.:
\renewcommand{\figurename}{Obr.}. U tabulek se jedná o příkaz \tablename.
Mimochodem v plovoucím prostředí může být umístěno vlastně v podstatě
cokoliv - třeba i několik obrázků s několika příkazy \caption nebo normální
text.
Pozn. Obrázek nebo tabulku do plovoucího prostředí samozřejmě nemusíme umisťovat a dokoce jej (ji) můžeme umístit do poznámky na okraji (pak ale můžeme potřebovat příkaz \raisebox pro posunutí referenčního bodu - viz. boxy, protože objekt třeba nebude umístěn přesně tak, jak chceme).
Pro umisťování plovoucích objektů existuje řada pravidel a parametrů. Hodnoty parametrů lze uživatelsky ovlivňovat. Zmiňme jen dva:
totalnumber - čítač, jehož hodnota znamená maximální počet plovoucích objektů, které se mohou objevit na stránce s obyčejným textem (implicitní hodnota je myslím 3). Můžeme ho ovlivnit pomocí \setcounter (např. \setcounter{totalnumber}{2}).
\textfraction - příkaz definující minimální část stránky zabranou obyč. textem, na které jsou plovoucí objekty (implicitně definuje tuto velikost myslím jako 0.2 - tedy na takové stránce může být maximálně 80% plochy zabráno plovoucími objekty). Příkaz lze předefinovat pomocí renewcommand (např. \renewcommand{\textfraction}{0.15}). Pozn.: moc mi to nefunguje.
Pozn. Pokud se jedná o jednosloupcové plovoucí objekty ve dvousloupcovém stylu, mají tyto parametry stejný význam - jen místo stránky je nyní sloupec.
Pokud do hranatých závorek před loc dáme vykřičník, nebude LaTeX při umisťování plovoucího objektu přihlížet k omezením plynoucích z parametrů totalnumber, textfraction a podobných omezení - bude se maximálně snažit splnit loc (např. \begin{figure}[!ht]).
Lidé, kteří neumí s LaTeXem zacházet si často stěžují na velké problémy při umisťování obrázků a tabulek. Pravda je, že LaTeX má poměrně přísná kritéria na vzhled dokumentu a pokud se mu plovoucí objekty nepodaří umístit podle instrukcí uživatele tak, aby splnil svá kritéria na estetičnost, umístí je na konec dokumentu, čímž dá najevo, že se mu nepodařilo splnit požadavky uživatele. Pro pohodlnou práci je velmi důležité zachovat zhruba následující postup:
OBR 1.: | Na tomto obrázku je znázorněno ....... .... ... .. .. .., |
což ukazuje na ........ ..... ... ... ... .. .. |
OBR 1.: \parbox[t]{.7\textwidth}{Na tomto obrázku ..... .... ... ..}
(šířka 0.7\textwidth je jen příklad).
Pokud má LaTeX problémy se splněním našich požadavků, snažit se nejdříve změkčit jeho tvrdé normy použitím vykřičníku a pokud toto nepomůže, ulehčit mu práci změkčením našich požadavků (např. umístěním obrázku trochu na jiné místo) - toto ovšem případně dělat až v závěrečné fázi výroby dokumentu.
\refstepcounter{figure}
\label{nejakylabel}
(kde nejakylabel je námi zvolený řetězec znaků) a OBR s číslem vytvoříme třeba následujícím způsobem: OBR~\ref{nejakylabel}. Tím se zajístí automatické číslování a správná hodnota čítače obrázků figure. Nezajistí se tím ovšem přidání obrázku do seznamu obrázků (pokud ho chceme mít). Zjistil jsem však, že to lze snadno dosáhnout přidáním následujícího řádku za text s označením obrázku: \addcontentsline{lof}{figure}{\numberline{\ref{nejakylabel}}\ignorespaces Text_který_chceme_mít_v_seznamu}
Pro tabulky je postup analogický - místo lof je lot a místo figure je table. Tento postup je aplikován v souboru rep.tex u tabulky 1.1.
Předchozí | Další | Nahoru | Obsah |