Pakiet (v.3.0 -- znacznie zmodyfikowany)
zmienia definicje standardowego polecenia \caption
tworzącego opisy obiektów ruchomych
(standardowo: figure
i table
). Zdefiniowano polecenia
pozwalające na tworzenie wzorców lub bezpośrednie kształtowanie podpisów.
Za jego pomocą możemy zdefiniować sposób opisu nowych obiektów tworzonych
za poleceniami pakietu float, współpracuje również
z pakietami subfig (który jest swego rodzaju
nakładką) i~starszym od niego
subfigure.
Polecenie służy do tworzenia podpisów pod obiektami ruchomymi
(a także środowiska longtable), moża je wywołać na kilka
sposobów:
\caption{opis}
postać najczęściej spotykana; tekst
opisu jest identyczny w spisie (o ile taki jest tworzony) i w obiekcie,
podpis jest opatrzony etykietą (o ile nie zadysponowano inaczej)
\caption[wersja opisu do spisu obiektów]{opis}
postać używana jeśli opis w spisie objektów ma być inny niż w obiekcie;
podpis jest opatrzony etykietą (o ile nie zadysponowano inaczej)
\caption*{opis}
opis nie jest wstawiany do spisu obiektów i nie jest opatrywany etykietą
\caption[]{opis}
opis nie jest wstawiany do spisu obiektów, ale jest on opatrywany etykietą
\caption*[]{opis}
opis nie jest wstawiany do spisu obiektów i nie jest opatrywany etykietą
Polecenie \caption zawsze inkrementuje licznik obiektów.
Zdefiniowano też polecenie \captionof słuzące do
sformatowania tekstu, analogicznie jak obiekt ruchomy:
\captionof{typ obiektu}{tekst opisu}
\captionof{typ obiektu}[tekst do spisu]{tekst opisu}
\captionof{typ obiektu}[]{tekst opisu}
\captionof{typ obiektu}*[]{tekst opisu}
\captionof{typ obiektu}*{tekst opisu}
gdzie typ obiektu jest zdefiniowanym obiektem ruchomym --
polecenie inkrementuje licznik skojarzony z tym typem (patrz też pakiet capt-of).
Dodatkowo zdefiniowano polecenie \ContinuedFloat, które powoduje że nie jest inkrementowany licznik obiektów (powinno ono być użyte przed poleceniem \caption). Wszystkie inne aspekty formatowania i etykietowania są zachowane.
W nowej wersji pakietu unowocześniono sposób określania
parametrów składu podpisów z modyfikacji kodu na parametryczny (dla
kompatybilności pozostawiono również stary sposób). Parametrom można nadawać
wartości w dwu momentach: przy poleceniu ładowania pakietów np.:
\usepackage[margin=10pt, font={small,it}, labelfont=bf]{caption}lub za pomocą polecenia
\captionsetup
(nie wszystkie parametry)
\usepackage{caption} \captionsetup{margin=10pt, font={small,it}, labelfont=bf}dyspozycje będą dotyczyły podpisów obiektów wszystkich typów; lub
\captionsetup[nazwa typu obiektu]{margin=10pt, font={small,it}, labelfont=bf}
Wartością parametru może być pojedyncza wartość lub lista wartości (ujęta w
nawiasy {}, wartości oddzielone przecinkiem, w przypadku wartości
będących w sprzeczności brana jest wartość ostatnia na liście) -- w przypadku parametru
w którym nie przewidziano wartości (wartość logiczna) nie jest sprawdzana
poprawność, a w pozostałych przypadkach wartość jest sprawdzana dopiero w momencie
użycia polecenia \caption
.
Poniższe parametry mogą przyjmować wartości logiczne on lub off i deklarują współdziałanie (lub nie) z dodatkowymi pakietami. Powinny one być załadowane przed pakietem caption. Ustawienie wartości na off może spowodować, że definicja makroinstrukcji \caption nie zostanie redefiniowana (mechanizmy pakietu caption nie zadziałają).
Parametr | Opis |
---|---|
float | współpraca z pakietem float |
longtable | współpraca z pakietem longtable |
rotating | współpraca z pakietem rotating |
sidecap | współpraca z pakietem sidecap |
supertabular | współpraca z pakietem supertabular |
Parametr | Wartości | Opis |
---|---|---|
font | zmiana cech pisma całego podpisu (również etykiety) | default | nic nie zmienia -- cechy pisma pozostają bez zmian, takie jak określono poprzednio | scriptsize | zmiana wielkości na scriptsize |
footnotesize | zmiana wielkości na footnotesize |
small | zmiana wielkości na small |
normalsize | zmiana wielkości na normalsize |
large | zmiana wielkości na large |
Large | zmiana wielkości na Large |
up | zmiana kroju na upshape |
it | zmiana kroju na itshape |
sl | zmiana kroju na slshape |
sc | zmiana kroju na scshape |
md | zmiana kroju na mdseries |
bf | zmiana kroju na bfseries |
rm | zmiana kroju na rmfamily |
sf | zmiana kroju na sffamily |
tt | zmiana kroju na ttfamily |
labelfont | wartości jw, ale zmiana tylko cech pisma etykiety; cechy niezdefiniowane są dziedziczone z parametru font | |
textfont | wartości jw, ale zmiana tylko cech pisma objaśnienia; cechy niezdefiniowane są dziedziczone z parametru font | |
margin | dimen | wielkość lewego i prawego marginesu podpisu |
width | dimen | szerokość pola przeznaczonego na podpis |
parskip | dimen | odległość między akapitami, jeśli podpis
składa się z wielu akapitów; jeśli wpis do spisu obiektów jest tożsamy
z podpisem to w przypadku podpisu wieloakapitowego generowany jest błąd
-- wymagane jest aby podpis w spisie obiektów był jednoakapitowy (parametr opcjonalny polecenia
\caption |
format | sposób formatowania opisu. Do definiowania
nowych sposobów formatowania służy polecenie \DeclareCaptionFormat{nazwa}{ciąg poleceń} Do wnęrza drugiego parametru (zawierającego kod formatujący) są przekazywane: jako #1 -- etykieta, #2 -- separator etykiety i #3 -- tekst opisu; np.: \DeclareCaptionFormat{default}{#1#2#3\par} | |
default | łamanie ,,w ciągu'' | |
hang | efekt wyróżnionego pola etykiety, tekst opisu jest składany w polu o szerokości pomniejszonej o szerokość etykiety (i ewentualnie o wielkość marginesów lub skład na polu o szerokości określonej przez parametr width | |
belowskip | dimen | dodatkowa odległość pod podpisem (patrz parametr position) |
aboveskip | dimen | dodatkowa odległość nad podpisem (patrz parametr position) |
indention | dimen | dodatkowy margines (może być ujemny) względem szerokości etykiety (ma senes w przypadku formatu typu hang) -- ustawienie różnych wartości indention i hangindent może dać efekt wcięcia akapitowego dla dalszych akapitów |
hangindent | dimen | dodatkowy margines (może być ujemny) względem szerokości etykiety (ma senes w przypadku formatu typu hang) -- dotyczy tylko pierwszego (począwszy od drugiej linii) akapitu podpisu, jeżeli podpis jest jednoakapitowy jest równoważny wartości indention |
position | deklaruje położenie podpisu | |
bottom | deklaruje, że podpis będzie na dole obiektu | |
top | deklaruje, że podpis będzie na górze obiektu (odwraca znaczenie parametrów belowskip i aboveskip | |
labelformat | sposób formatowania etykiety.
Do definiowania
nowych sposobów formatowania służy polecenie \DeclareCaptionLabelFormat{nazwa}{ciąg poleceń} Do wnęrza drugiego parametru (zawierającego kod formatujący) są przekazywane: jako #1 -- nazwa etykiety, #2 -- numer obiektu; np.: \DeclareCaptionLabelFormat{simple}{\bothIfFirst{#1}{\nobreakspace}#2} | |
default | pojawia się etykieta (nazwa obiektu) i numer | |
empty | etykieta jest pusta (pojawi się tylko opis); w tym wypadku należy parametrowi labelsep przypisać wartość none | |
simple | pojawia się etykieta (nazwa obiektu) i numer | |
parens | pojawia się etykieta (nazwa obiektu) i numer ujęty w nawaisy () | |
labelsep | obiekt wstawiany po etykiecie.
Do definiowania
nowych separatorów służy polecenie \DeclareCaptionLabelSeparator{nazwa}{ciąg poleceń}, np.: \DeclareCaptionLabelSeparator{default}{: } | |
default | wstawiany jest : i spacja | |
none | nic nie jest wstawiane | |
colon | wstawiany jest : i spacja | |
period | wstawiana jest . i spacja | |
space | wstawiana tylko spacja | |
quad | wstawiane jest polecenie \quad | |
widespace | wstawiane \hspace{1em plus .3em} | |
newline | wstawiane jest polecenie \newline | |
justification | sposób formatowania opisu.
Do definiowania
nowych sposobów formatowania służy polecenie \DeclareCaptionJustification{nazwa}{ciąg poleceń}; np.: \DeclareCaptionJustification{centering}{\centering} | |
default | skład z wyrównaniem do lewego i prawego marginesu | |
justified | skład z wyrównaniem do lewego i prawego marginesu | |
centering | wszystkie linie podpisu centrowane | |
centerfirst | pierwsza linia wycentrowana | |
centerlast | ostatnia linia wycentrowana | |
raggedleft | wyrównanie do prawego marginesu | |
raggedright | wyrównanie do lewego marginesu | |
Centering | wszystkie linie centrowane, ale używane jest polecenie \Centering z pakietu ragged2e (m.in. włączane jest przenoszenie wyrazów) | |
RaggedLeft | wyrównanie do prawego marginesu, ale używane jest polecenie \RaggedLeft z pakietu ragged2e (m.in. włączane jest przenoszenie wyrazów) | |
RaggedRight | wyrównanie do lewego marginesu, ale używane jest polecenie \RaggedRight z pakietu ragged2e (m.in. włączane jest przenoszenie wyrazów | |
singlelinecheck | nadanie wartości true (wystarczy użycie parametru bez nadawania wartości) powoduje, że jeśli podpis jest jenolinijkowy, będzie on wycentrowany, bez względu na ustawiony sposób formatowania | |
on | nadanie wartości true | |
1 | nadanie wartości true | |
true | nadanie wartości true | |
0 | nadanie wartości false | |
off | nadanie wartości false | |
false | nadanie wartości false | |
style | sposób formatowania opisu, służy do
nadania różnych cech składu podpisu.
Do definiowania
nowych stylów służy polecenie \DeclareCaptionStyle{nazwa}{opcje} lub \DeclareCaptionStyle{nazwa}[dodatkowe opcje]{opcje}; np.: \DeclareCaptionStyle{default}[justification=centering]{}opcje ustawiają parametry dla całego opisu, a opcje dodatkowe dla opisów jednolinijkowych, jeśli została ustawiona flaga singlelinecheck | |
default | ustawia centrowanie podpisu dla opisów jednolinijkowych, jeśli została ustawiona flaga singlelinechech | |
default | jest równoważnestyle=default, position=default, aboveskip=10pt, belowskip=0pt |
Zostały również zdefiniowane polecenia \clearcaptionsetup{typ obiektu}, służące do przywrócenia domyślnych wartości i \showcaptionsetup{typ obiektu}, służące do wyświetlenia (w zbiorze *.log) wartości ustawianych poleceniem \captionsetup.
Poniżej wymienione polecenia odniosą skutek, jeśli nie będą używane ich nowozdefiniowane odpowiedniki.
Polecenie | opis |
---|---|
\captionsize | Określa wielkość czcionki, używanej do składu
podpisu; np:
\renewcommand{\captionsize}{\scriptsize} |
\captionlabelfont | określa rodzaj czcionki; można używać
wszystkich poleceń zmiany atrybutów przyjętych
w LaTeX2e; np:
\renewcommand{\captionlabelfont}{\bfseries} |
\captionmargin | określa wielkość lewego i prawego
marginesu w tekście opisu; np:
\setlength{\captionmargin}{2cm} |
Poniższe parametry mogą być używane wyłącznie przy wywołaniu pakietu caption.
Parametr | opis |
---|---|
normal | Jeśli podpis składa się z jodnej linii to jest centrowany w przeciwnym wypadku, składany jest w pudełko o pełnej szerokości (bez wyróżniania nazwy obiektu) -- jest to domyślny sposób składu. |
hang | |
isu | podpis składany jest tak jak środowisko description ;
kolejne linie są ,,wcięte'' na szerokość
nazwy obiektu |
center | tekst opisu jest centrowany |
centerlast | ostatnia linia opisu jest centrowana |
anne | |
Ustalenie standardowej wielkości czcionki1 | |
scriptsize | czcionka scriptsize |
footnotesize | czcionka footnotesize |
small | czcionka small |
normalsize | czcionka normalsize |
large | czcionka large |
Large | czcionka Large |
Ustalenie atrybutów czcionki | |
up | upshape |
it | itshape |
sl | slshape |
sc | scshape |
md | mdseries |
bf | bfseries |
rm | rmfamily |
sf | sffamily |
tt | ttfamily |
ruled | jeśli używany jest pakiet float
(patrz. float) i użyte było polecenie
\floatstyle{ruled} to opcja ruled spowoduje
że nazwa obiektu będzie składana czcionką określoną
w opcji lub poleceniem \captionlabelfont , a nie taką
jaka wynika z definicji pakietu float |
subfigure
to podpis rysunku podrzędnego
składany jest czcionką o jeden skok mniejszą
Pakiet jest dostępny pod adresem:
ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/caption/caption.tar