Spis tre�ci

Spisy w LaTeX-u

Wstawianie pozycji na list�
Budowa spisu

Spisy w LaTeXu

Niew�tpliwie ka�da, d�u�sza publikacja powinna zawiera� list� wyst�puj�cych w niej obiekt�w; takich jak: rozdzia�y, podrozdzia�y, tablice, rysunki i inne. Zestawienie takie pomaga zorientowa� si� w budowie logicznej i strukturze dokumentu. Cz�sto jest to pierwszy czytany fragment, na podstawie kt�rego decydujemy o dalszej lekturze. S�u�y nam ono za przewodnik po ksi��ce. Wykorzystuj�c okazj� chcia�bym zaapelowac do autor�w i wydawc�w o umieszczanie takich zestawie� na pocz�tku, a nie na ko�cu publikacji, szczeg�lnie o charakterze podr�cznikowym, czytanym i przegl�danym wyrywkowo.

W LaTeX-u zosta�y, standardowo, zdefiniowane trzy spisy: spis tre�ci (\tableofcontents), spis rysunk�w (\listoffigures) oraz spis tabel (\listoftables). Wywo�anie okre�lonego polecenia spowoduje umieszczenie w tym miejscu odpowiedniego spisu.

Proces tworzenia spisu jest dwuetapowy; w czasie pierwszego przetwarzania tworzone s� odpowiednie zbi�ry pomocnicze (osobne dla ka�dego ze spis�w), zawieraj�cy polecenia opisuj�ce spis; w drugim przebiegu zbiory te s� do��czane do zbioru podstawowego (tworzony jest r�wnie� nowy zbi�r pomocniczy). Za nazwy list odpowiadaj� nast�puj�ce makroinstrukcje:
\tableofcontenst \listoffigures \listoftables
\listcontentsname \listfigurename \listtablename

Nag��wki s� definiownane przy pomocy polece� \section*{nazwa } dla artyku�u i \chapter*{nazwa } dla ksi��ki i raportu.

Wstawianie pozycji na list�

Pozycja do spisu jest wstawiana przy pomocy polecenia:

\addcontentsline{zbi�r }{typ }{tekst }
lub
\addtocontents{zbi�r }{tekst }
gdzie:
zbi�r
okre�la rozszerzenie nazwy zbioru, otwieranego poleceniem wstawienia spisu (.toc -- spis tre�ci, .lof -- spis rysunk�w, .lot -- spis tabel)
typ
w przypadku spisu tre�ci typ odpowiada nazwie poziomu (chapter, section ...), a �ci�le nazwie polecenia \l@typ (np. \l@section), w przypadku spisu tabel -- \l@table i spisu rysunk�w -- \l@figure
strona
numer strony na kt�rej wyst�pi� obiekt
Polecenie \addtocontents s�u�y do wstawienia dodatkowych informacji do spisu np. polece� wstawiaj�cych dodatkowy odst�p pionowy
\addtocontents{toc}{\protect\vspace{2ex}}
Dodatkowo zosta�a zdefiniowana makroinstrukcja \numberline s�u��ca do przekazania numeru (identyfikatora) obiektu; np. numer rozdzia�u.

Przyk�adowe polecenie wstawiaj�ce pozycj� do spisu tre�ci wygl�da nast�puj�co:

\addcontentsline{toc}{section}{\protect\numberline{\thesection}Structure of 
the Table Contents}
Polecenie to jest u�ywane automatycznie przez makroinstrukcje definiuj�ce nag��wki (rozdzia�, podrozdzia� ...) w wersji ,,bezgwiazdkowej'' oraz polecenie \caption u�yte w �rodowiskach table i figure.

Budowa spisu

Wy�ej opisane polecenia powoduj� umieszczenie w zbiorze dodatkowym polecenia
\contentsline{typ }{tekst }{strona }
gdzie:
typ
okre�la typ (chapter, section ... figure, table) -- nazw� polecenia \l@typ, kt�re jest tak naprawd� wywo�ywane
tekst
tre�� tytu�u
strona
numer strony
dalsze parametry polecenia \contentsline s� przekazywane do polecenia \l@.... Poleceniami odpowiedzialnymi za wygl�d odpowiednich pozycji w spisie s�:
l@part
l@chapter
l@section
l@subsection
l@subsubsection
l@paragraph
l@subparagraph
l@figure
l@table
Spos�b prezentacji jest standardowo definiowany przy pomocy jednej -- sparametryzowanej makroinstrukcji:
\@dottedtocline{poziom }{wci�cie }{pole numeru }{tekst }{strona }
gdzie:
poziom
parametr decyduje czy pozycja znajdzie si� w spisie tre�ci, stanie sie tak, je�eli jest on mniejszy od warto�ci parametru \tocdepth
wci�cie
szeroko�� ca�kowita lewego marginesu
pole numeru
szeroko�� pola numeru, druga i nast�pne linie tytu�u b�d� wci�te o wci�cie +pole numeru 
tekst
strona
parametry przekazane z makroinstrukcji \l@...
Dodatkowo wygl�d pozycji spisu zale�y od makroinstukcji:
\@pnumwidth szeroko�� pola przeznaczonego na numer strony
\@tocrmarg szeroko�� prawego marginesu (nie obejmuje pola numeru strony)
\@dotsep odleg�o�� mi�dzy dwoma kropkami (w jednostkach mu1)
Powy�sze polecenia s� definiowane jako:
\makeatletter
\newcommand{\@pnumwidth}{1.55em}
\newcommand{\@tocrmarg}{2.55em}
\newcommand{\@dotsep}{4.5}
\makeatother

Znaczenie parametr�w na posta� spisu


\contentsline {section}{\numberline {1.1}To jest przyk�adowy tytu�
podrozdzia�u dla raportu}{1}
gdzie makroinstrukcja \l@section jest zdefiniowana jako:
\makeatletter
\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
\makeatother
oczywi�cie nie ka�de polecenie \l@... musi by� zdefiniowane przy pomocy polecenie \@dottedtocline, w szczeg�lno�ci jest tak w przypadku \l@chapter


1 18 mu = 1 em -- \fontdimen2 dla fontu symbols
W�odzimierz Macewicz