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
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.