• Nie Znaleziono Wyników

2. Składanie tekstu 15

2.12. Wstawki

Współczesne publikacje zawierają dużo rysunków i tabel. Elementów tych nie należy dzielić między strony i dlatego wymagają specjalnego potraktowa-nia. W sytuacji gdy nie mieszczą się one na bieżącej stronie, na ogół przenosi się je i wstawia na początku strony następnej. W wypadku przeniesienia ry-sunku lub tabeli miejsce pozostałe na stronie wypełniane jest tekstem. Tego typu elementy będziemy nazywać wstawkami .

Aby w pełni skorzystać z LATEXowego mechanizmu wstawek, trzeba choćby powierzchownie rozumieć, jak LATEX manipuluje takimi obiektami.

W przeciwnym razie wstawki mogą się stać źródłem irytacji, gdyż LATEX będzie je umieszczał wszędzie, tylko nie w miejscach, w którym byśmy sobie tego życzyli.

Do tworzenia wstawek mamy w LATEXu dwa otoczenia. Otoczenie figure służy do tworzenia rysunków, a otoczenie table – do tabel. Oba mają jeden parametr opcjonalny:

\begin{figure}[miejsce] albo \begin{table}[miejsce]

Argument miejsce określa, gdzie na stronie można umieścić wstawkę. Po-winna to być sekwencja od jednego do pięciu znaków: h, t, b, p oraz !.

Każdy znak określa dopuszczalny sposób umieszczenia wstawki; szczegółowe informacje na ten temat zestawiono w tabeli2.3.

Przykładowa tabela może się zaczynać tak:

\begin{table}[!hbp]

2.12. Wstawki 41

Tabela 2.3: Opcjonalny argument otoczeń table i figure Znak Dopuszczalne miejsce umieszczenia wstawki

h bez przemieszczenia, dokładnie w miejscu użycia t na górze strony

b na dole strony

p na stronie zawierającej wyłącznie wstawki

! ignorując większość parametrów kontrolujących umieszcza-nie wstaweka, przekroczenie wartości, które mogą nie po-zwolić na umieszczanie następnych wstawek na stronie.

aSą to parametry takie jak np. maksymalna dopuszczalna liczba wstawek na stronie

Argument [!hbp] oznacza, że tabelę można umieścić w miejscu, w którym pojawia się w pliku źródłowym (h), albo na dole strony (b), albo wreszcie na osobnej stronie zawierającej wyłącznie wstawki (p). Ponadto „!” oznacza, że LATEX ma pominąć większość parametrów sterujących umieszczaniem wstawek. Jeżeli otoczenia table użyto bez opcjonalnego argumentu, to jego domyślnymi wartościami są [tbp].

LATEX umieszcza każdą wstawkę zgodnie ze specyfikacją autora podaną w argumencie miejsce. Jeżeli nie może umieścić wstawki na bieżącej stronie, to dołącza ją albo do kolejki rysunków, albo do kolejki tabel12. Na początku składania nowej strony LATEX sprawdza, czy można ją zapełnić wstawkami czekającymi w kolejce. Jeśli nie jest to możliwe, to pierwsza wstawka każ-dej z kolejek traktowana jest tak, jak gdyby właśnie pojawiła się w tekście:

LATEX stara się ją umieścić zgodnie z wartościami parametru miejsce (za wyjątkiem h, gdyż nie jest to już oczywiście możliwe). Nowe wstawki dołą-czane są na koniec odpowiednich kolejek. LATEX dba o właściwy porządek wstawek każdego typu. Może się zdarzyć, że pojedynczy rysunek, którego z jakichś względów nie można poprawnie wstawić, „ciągnie” za sobą wszyst-kie późniejsze rysunki, nawet aż na koniec dokumentu. Dlatego:

Jeżeli LATEX nie umieszcza wstawek zgodnie z oczekiwaniami, to z reguły któraś z nich blokuje całą kolejkę, a być może nawet wszystkie kolejki wstawek.

Wyjaśniwszy ów cokolwiek zawiły problem umieszczania wstawek, przejdź-my do omówienia kilku pozostałych spraw z nimi związanych. Poleceniem:

\caption{tekst }

wstawiamy tytuł rysunku lub tabeli. Kolejny numer rysunku bądź tabeli oraz słowo „Rysunek” bądź „Tabela” (lub „Tablica” – zależnie od używanego pakietu polonizacyjnego) zostaną wstawione automatycznie.

12Są to kolejki typu fifo (pierwsze weszło – pierwsze wyjdzie).

Następujące instrukcje:

\listoffigures oraz \listoftables

działają analogicznie do instrukcji \tableofcontents, wstawiając do do-kumentu, odpowiednio, spis rysunków oraz spis tabel. Poszczególnymi po-zycjami tych spisów będą tytuły rysunków bądź tabel będące argumentami instrukcji \caption. Jeżeli tytuł jest długi, to do spisu można przesłać jego wersję skróconą, podaną jako opcjonalny argument instrukcji \caption:

\caption[Short]{LLLLLoooooonnnnnggggg}

Za pomocą instrukcji \label oraz \ref można tworzyć odsyłacze do tabel i rysunków.

Polecenie \label należy umieszczać bezpośrednio za instrukcją \caption.

Dobrym pomysłem jest też umieszczenie jej wewnątrz argumentu instruk-cji \caption (na przykład na końcu tytułu rysunku czy tabeli). Niektórzy użytkownicy błędnie sądzą, że wystarczy umieścić instrukcję \label we-wnątrz otoczenia figure czy table, gdy tymczasem umieszczenie jej przed poleceniem \caption prowadzi do błędów w numerach odsyłaczy.

W poniższym przykładzie wstawka zawiera prostokąt o wymiarach 5 cm

× 5 cm. Ten sposób postępowania można wykorzystać w celu zarezerwo-wania miejsca na rysunki, które zostaną wklejone później – do gotowego, wydrukowanego dokumentu.

Rysunek~\ref{white} jest przykładem Pop-Artu.

\begin{figure}[!htp]

\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}}

\caption{Pięć na pięć centymetrów\label{white} }

\end{figure}

Zakładając w tym przykładzie, że kolejka rysunków jest pusta, LATEX naj-pierw spróbuje umieścić rysunek bez przesuwania go dokądkolwiek (h). Jeżeli okaże się to niemożliwe, to spróbuje go umieścić na górze strony (t). Jeżeli i to okaże się niewykonalne, to będzie się starał umieścić rysunek na stro-nie zawierającej wyłączstro-nie wstawki (p). Jeżeli w kolejkach rysunków i tabel nie ma wstawek pozwalających wypełnić stronę, to LATEX rozpocznie nową stronę i spróbuje umieścić na niej rysunek, traktując go znowu tak, jakby właśnie pojawił się w tekście.

Czasami może wystąpić konieczność wykonania instrukcji:

\clearpage albo nawet \cleardoublepage

W wyniku jej zadziałania LATEX umieszcza w dokumencie wszystkie ocze-kujące w kolejkach wstawki, a następnie rozpoczyna skład od nowej strony.

W wypadku użycia instrukcji \cleardoublepage LATEX rozpoczyna skład od strony nieparzystej (por. przypis2 na str.18).

W dalszej części książki przedstawimy, jak można do dokumentu dołą-czać rysunki w formacie Postscript (por.4.1).

Powiązane dokumenty