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
Włodzimierz Macewicz