Spis treści
|
|
wszystkie polecenia wywołujemy w jednakowy sposób, ale
polecenia \part
i
\chapter
są definiowane
inaczej niż pozostałe. Do definiowania poleceń
\section
,
\subsection
,
\subsubsection
,
\paragraph
,
\subparagraph
służy jedna uniwersalna konstrukcja
(\startsection
). Wszelkie zmiany w tej
konstrukcji mają oczywiście wpływ na wygląd wszystkich
definiowanych w ten sposób tytułów.
Definicja makroinstrukcji ,,tytułowej''
przy pomocy konstrukcji \startsection
jest sparametryzowana, tak więc w momencie jej definiowania
mamy duży wpływ na jej działanie.
\section
\section{tytuł }
\section[skrót ]{tytuł }
\section*{tytuł }
tocdepthWszystkie tytuły o numerze poziomu mniejszym lub równym
tocdepth
(stojące wyżej w hierarchii)
będą wprowadzane do spisu treści (oczywiście o tym czy spis treści
będzie dołączony do dokumentu decyduje inny parametr
p. budowa zestawień)
Wartość parametru tocdepth
możemy zmienić w następujący sposób:
\setcounter{tocdepth }{3 }
article
polecenia \section
i \subsection
definiują również paginę odpowienio:
\section
na stronie lewej (parzystej), kasując
paginę na stronie prawej i
\subsection
na stronie prawej (nieparzystej). W przypadku
klas report
i book
polecenie
\chapter
definiuje paginę na stronie lewej (parzystej),
kasując paginę na stronie prawej, a
\section
na prawej (nieparzystej). Pagina na stronie
lewej jest definiowana przez pierwsze wystąpienie
odpowiedniego tytułu na stronie (lub wynika ona
tytuu wcześniejszego),
natomiast pagina na stronie prawej -- przez ostatnie
wystąpienie odpowiedniego tytułu.
Definiowanie paginy odbywa się przez wywołanie wewnątrz
makroinstrukcji:
zmieniając definicję tych makropoleceń możemy mieć wpływ
na postać paginy (o zasadach tworzenia paginy, nagłówka i
stopki możesz przeczyta? w artykule o paginie).
\chaptermark{tytuł }
\sectionmark{tytuł }
\subsectionmark{tytuł }
O tym czy tytuł będzie opatrzony numerem decyduje jego poziom
oraz wartość parametru:
secnumdepth
Wszystkie tytuły o numerze poziomu
mniejszym
lub równym (stojące wyżej w hierarchii) będą opatrzone numerem.
Wartość parametru secnumdepth
możemy zmienić w następujący sposób:
\setcounter{secnumdepth }{3 }
Każdemu poziomowi odpowiada licznik numerujący kolejne wystąpienia tytułów. Są one zdefiniowane tak, że zmiana numeru na wyższym poziomie inicjuje wszystkie liczniki niższych poziomów.
Uwaga:
Polecenie \part
nie powoduje inicjowania
liczników podrzędnych. Polecenia \part
i
\chapter
są definiowane inaczej niż wszystkie pozostałe tytuły.
Numery tytułów są prezentowane za pomocą następujących makroinstrukcji:
\thepart \thechapter \thesection \thesubsection \thesubsubsection \theparagraph \thesubparagraphNp. polecenie:
\renewcommand\thesection{\thechapter.\@arabic\c@section }definiuje makroinstrukcję
\thesection
jako złożenie: \thechapter.
i prezentacji licznika
podrozdziałów (section) jako liczby w notacji
arabskiej2.
Tak zdefiniowany numer jest wprowadzany do spisu treści,
paginy i jako wartość ew. etykiety zaznaczającej tytuł (pojawi
się w odwołaniu zamiast \ref{etykieta }
).
W poleceniach tych określamy jedynie z czego ma się składać numer oraz w jaki sposób ma być prezentowana wartość licznika.
W LaTeX2e przewidziano możliwość zmiany
wyglądu numeru (inna czcionka, kropka
po numerze, efekty dodatkowe); wewnątrz konstrukcji definiującej wywoływana
jest makroinstrukcja \@seccntformat
, której
parametrem jest nazwa tytułu (section
,
subsection
...):
Standardowo jej definicja wygląda następująco:
\makeatletter
\renewcommand{\@seccntformat }[1]{\csname the#1\endcsname\quad }
\makeatother
wstawia ona dodatkowe
światło między numerem, a samym tytułem (\quad
).
Przykład:
\renewcommand{\thesection }{\fbox{\thechapter.\arabic{section }}}
\section{Definicja błędna }\label{blad }
Powołanie się na numer podrozdziału~\ref{blad }, daje właśnie taki efekt.
\makeatletter
\renewcommand{\@seccntformat }[1]{\fbox{\csname the#1\endcsname }\quad}
\makeatother
\section{Definicja poprawna }\label{dobrze }
W tym przypadku powołanie się na podrozdział~\ref{dobrze } daje
poprawny efekt.
Polecenie \@seccntformat
ma wpływ na prezentację
numeru tytułów poleceń: \section
, \subsection
,
\subsubsection
,
\paragraph
i
\subparagraph
.
Przy pomocy tej makroinstrukcji możemy zaspokoić wymagania
polskich wydawców, czyli umieścić kropkę po ostatniej
cyfrze numeru;
poniższa konstrukcja załatwia ten problem.
\makeatletter
\renewcommand{\@seccntformat }[1]{\fbox{\csname the#1\endcsname }.\quad }
\makeatother
\section
,
\subsection
,
\subsubsection
,
\paragraph
i
\subparagraph
są definiowane poleceniem
\@startsection{nazwa }{poziom }{wcięcie }{odległość przed }{odległość po }{jak prezentować }
section
(nie może to być part
ani chapter
)
\secnumdepth
i
\tocdepth
-- wpływa na umieszczenie
w spisie treści i numerowanie tytułów
\parindent
.
\@seccntformat
).
\normalfont\Large\sffamily\bfseries\itshape
1 Z taką strategią można by polemizować,
moim zdaniem do spisu treści powinno być wstawione
pełne brzmienie tytułu. Natomiast tekst zawarty
w nawiasach []
, jeżeli wystąpi, powinien
definiować paginę -- często zdarza się, że tytuł w pełnym brzmieniu
jest zbyt długi.
2 polecenie
\@arabic
jest poleceniem niższej warstwy i operuje
na TeX-owej nazwie licznika; polecenie LaTeX2e
\newcounter{licznik }
definiuje
TeX-ową nazwę licznika jako \c@licznik