Jak stworzyć spis treści w LaTeX?

Dowiedz się, jak krok po kroku stworzyć automatyczny spis treści w LaTeX – od podstawowych komend po personalizację wyglądu i typowe błędy.
21 czerwca 2024
blog
Poziom: Podstawowy

Artykuł przeznaczony dla początkujących i średnio zaawansowanych użytkowników LaTeX, którzy chcą automatycznie generować i dostosowywać spis treści oraz spisy ilustracji i tabel.

Z tego artykułu dowiesz się

  • Jak wygenerować automatyczny spis treści w LaTeX za pomocą komendy \tableofcontents i gdzie ją umieścić w dokumencie?
  • Jakie komendy struktury dokumentu (\section, \subsection, \chapter i inne) wpływają na zawartość spisu treści i które poziomy są domyślnie uwzględniane?
  • Dlaczego do poprawnego spisu treści (oraz spisu ilustracji i tabel) potrzebujesz kilku kompilacji i jak dostosować wygląd spisu pakietem tocloft?

Wprowadzenie do automatycznego tworzenia spisu treści w LaTeX

LaTeX to zaawansowany system składania tekstu, który automatyzuje wiele aspektów tworzenia profesjonalnych dokumentów. Jedną z jego kluczowych zalet jest możliwość generowania spisu treści w sposób automatyczny, bez potrzeby ręcznego śledzenia numeracji rozdziałów i stron.

Automatyczny spis treści w LaTeX opiera się na strukturze dokumentu, którą definiuje się poprzez specjalne komendy, takie jak \section, \subsection czy \chapter. Na ich podstawie LaTeX może samodzielnie wygenerować hierarchiczny wykaz zawartości dokumentu, który aktualizuje się automatycznie przy każdej kompilacji pliku źródłowego.

Największą zaletą takiego rozwiązania jest jego elastyczność i skalowalność — niezależnie od długości dokumentu, spis treści pozostaje aktualny i zgodny ze strukturą tekstu. Dodatkowo użytkownik ma możliwość dostosowania wyglądu i zawartości spisu do własnych potrzeb.

Tworzenie spisu treści w LaTeX nie wymaga zaawansowanej wiedzy programistycznej — wystarczy znajomość kilku podstawowych komend, które pozwalają łatwo kontrolować strukturę i układ dokumentu.

W kolejnych częściach omówione zostaną szczegóły dotyczące użycia odpowiednich komend, wpływu kompilacji na aktualność spisu treści oraz sposoby jego modyfikacji i rozszerzania.

Użycie komendy \tableofcontents

Tworzenie spisu treści w LaTeX odbywa się automatycznie przy użyciu jednej, bardzo prostej komendy: \tableofcontents. Wstawienie jej w odpowiednim miejscu dokumentu powoduje wygenerowanie spisu treści na podstawie struktury dokumentu, takiej jak rozdziały, sekcje czy podsekcje.

Komenda ta powinna zostać użyta po zdefiniowaniu nagłówków, które mają się pojawić w spisie treści, jednak zwykle umieszcza się ją na początku dokumentu głównego, tuż po stronie tytułowej lub wstępie. Wygenerowany spis treści zawiera tytuły sekcji wraz z numerami stron, na których się one znajdują.

Warto zwrócić uwagę na to, że \tableofcontents działa wyłącznie w dokumentach, które zostały odpowiednio sformatowane i zawierają elementy strukturalne, takie jak \section czy \chapter. Bez nich spis treści pozostanie pusty.

Przykładowe użycie tej komendy w dokumencie LaTeX może wyglądać następująco:

\begin{document}
\maketitle
\tableofcontents
\section{Wstęp}
...

Warto pamiętać, że samo dodanie komendy \tableofcontents nie wystarczy — spis treści jest generowany na podstawie danych zebranych podczas kompilacji dokumentu, dlatego jego prawidłowe wyświetlenie może wymagać kilkukrotnego przetworzenia pliku.

Struktura dokumentu: \section, \subsection i inne

LaTeX umożliwia logiczne i hierarchiczne porządkowanie treści dokumentu przy pomocy dedykowanych komend strukturalnych. Mają one kluczowe znaczenie nie tylko dla czytelności, ale również dla poprawnego wygenerowania spisu treści. Każdy poziom struktury odpowiada innemu poziomowi szczegółowości treści w dokumencie.

Komenda Opis Poziom w hierarchii Dodawana do spisu treści
\part Najwyższy poziom podziału, często używany w książkach 0 Tak
\chapter Podział na rozdziały (tylko w klasie book i report) 1 Tak
\section Główne sekcje dokumentu 2 Tak
\subsection Podsekcje w obrębie sekcji 3 Tak
\subsubsection Dalszy podział treści 4 Tak
\paragraph Krótkie nagłówki w obrębie podpodsekcji 5 Nie domyślnie
\subparagraph Najniższy poziom podziału 6 Nie domyślnie

Odpowiednie użycie tych komend pozwala na czytelne przedstawienie struktury dokumentu oraz automatyczne uwzględnienie tytułów w spisie treści. Przykładowo:

\section{Wstęp}
\subsection{Cel pracy}
\subsubsection{Zakres badań}

Powyższy kod utworzy czytelny podział treści, który zostanie odwzorowany w automatycznie generowanym spisie treści. Warto pamiętać, że niektóre klasy dokumentów (np. article) nie obsługują wszystkich poziomów, takich jak \chapter. Jeśli chcesz szybko rozwinąć swoje umiejętności edytorskie, warto również zapoznać się z Kurs Język HTML - projektowanie stron - poziom podstawowy.

Wpływ kompilacji na poprawność spisu treści

Automatyczne generowanie spisu treści w LaTeX wymaga odpowiedniego zarządzania procesem kompilacji. W przeciwieństwie do edytorów typu WYSIWYG, LaTeX tworzy spis zawartości na podstawie informacji zebranych podczas pierwszej i kolejnych kompilacji dokumentu. Niewłaściwa liczba kompilacji może skutkować brakiem spisu treści lub jego niepełną wersją.

Podstawowy proces kompilacji wymaga przynajmniej dwóch przebiegów:

  • Pierwsza kompilacja – LaTeX analizuje dokument, wykrywa struktury takie jak \section, \subsection itd., i zapisuje te informacje do pliku pomocniczego (.toc).
  • Druga kompilacja – system odczytuje dane z pliku .toc i generuje spis treści na podstawie zebranych wcześniej informacji.

Jeśli dokument zawiera wiele odwołań krzyżowych, nowych sekcji lub elementów wpływających na układ stron, może być konieczna trzecia lub kolejna kompilacja, aby spis treści był dokładny i w pełni zgodny z zawartością.

Oto przykładowa sekwencja poleceń kompilujących dokument w systemie opartym na pdflatex:

pdflatex moj_plik.tex
pdflatex moj_plik.tex

W przypadku korzystania z edytorów graficznych, takich jak TeXstudio czy Overleaf, proces ten często wykonywany jest automatycznie, jednak warto mieć świadomość jego działania, szczególnie przy większych dokumentach.

W poniższej tabeli przedstawiono wpływ liczby kompilacji na efekt końcowy spisu treści:

Liczba kompilacji Efekt
1 Plik .toc utworzony, ale spis treści nie jest jeszcze widoczny lub jest niekompletny
2 Spis treści wygenerowany poprawnie na podstawie .toc
3+ Spis treści aktualizowany przy zmianach struktury dokumentu lub numeracji stron

Podsumowując, odpowiednia liczba kompilacji ma kluczowe znaczenie dla poprawnego wygenerowania i aktualizacji spisu treści w dokumentach LaTeX.

Dostosowywanie wyglądu spisu treści za pomocą pakietu tocloft

Pakiet tocloft umożliwia precyzyjne dostosowanie wyglądu spisu treści, spisu ilustracji oraz spisu tabel w dokumentach LaTeX. Pozwala on m.in. na zmianę czcionki, odstępów, wcięć, a także wyglądu kropek prowadzących do numerów stron. Dzięki temu użytkownicy mogą lepiej dostosować styl dokumentu do wymagań wydawniczych lub własnych preferencji estetycznych. Jeśli interesujesz się edytowaniem i formatowaniem dokumentów, warto również rozważyć udział w Kursie Front-end Developer – zagadnienia z zakresu programowania w języku PHP, elementy HTML5 i CSS i efektywne wykorzystanie podstawowej znajomości JavaScript.

Najczęstsze zastosowania pakietu tocloft obejmują:

  • zmianę odstępów między pozycjami spisu,
  • dostosowanie wcięć i wyrównania tytułów sekcji,
  • modyfikację stylu i rozmiaru czcionki w spisie,
  • usunięcie lub zmiana kropek między tytułem a numerem strony,
  • dodawanie własnych typów wpisów do spisu (np. niestandardowe sekcje).

Poniżej znajduje się przykładowy kod ilustrujący podstawowe użycie pakietu tocloft:

\usepackage{tocloft}
% Zmiana czcionki wpisów spisu treści
\renewcommand{\cftsecfont}{\bfseries}
% Dodanie większego odstępu między wpisami
\setlength{\cftbeforesecskip}{10pt}

Aby ułatwić porównanie możliwości pakietu tocloft z domyślnym wyglądem spisu treści, poniższa tabela przedstawia wybrane różnice:

Funkcja Domyślny LaTeX Z pakietem tocloft
Odstępy między wpisami Stałe, nieedytowalne Dowolnie modyfikowalne
Styl czcionki Domyślny styl dokumentu Możliwość zmiany dla każdej sekcji
Wyrównanie i wcięcia Automatyczne Pełna kontrola
Kropki prowadzące Domyślnie włączone Można usunąć lub zmienić

Dzięki pakietowi tocloft, użytkownik może dostosować spis treści do swoich indywidualnych potrzeb bez konieczności edytowania stylów globalnych dokumentu. Jest to szczególnie przydatne w przypadku prac dyplomowych, książek naukowych czy publikacji z konkretnymi wytycznymi formatowania.

Tworzenie spisu ilustracji i tabel

Oprócz spisu treści, LaTeX umożliwia automatyczne generowanie również spisu ilustracji oraz spisu tabel. Funkcje te są szczególnie przydatne w dokumentach naukowych, technicznych czy pracach dyplomowych, gdzie występuje dużo elementów graficznych i tabelarycznych.

Podstawowa różnica między tymi dwoma spisami polega na rodzaju zawartości, którą prezentują:

Typ spisu Elementy uwzględniane Domyślna komenda
Spis ilustracji Obiekty w środowisku figure \listoffigures
Spis tabel Obiekty w środowisku table \listoftables

Oba rodzaje spisów tworzone są automatycznie na podstawie podpisów (captionów) przypisanych do ilustracji i tabel. Aby dany obiekt został uwzględniony w odpowiednim spisie, musi posiadać podpis utworzony komendą \caption{...}.

Przykładowe użycie dla ilustracji:

\begin{figure}[h]
  \centering
  \includegraphics{obrazek.png}
  \caption{Przykładowa ilustracja}
  \label{fig:przyklad}
\end{figure}

Aby wygenerować spis ilustracji i spis tabel, należy umieścić w dokumencie odpowiednie komendy:

\listoffigures
\listoftables

Warto pamiętać, że podobnie jak spis treści, spisy ilustracji i tabel są aktualizowane w trakcie kompilacji – dlatego po dodaniu nowych elementów graficznych lub tabel należy dokument skompilować co najmniej dwukrotnie, aby zawartość spisów została uzupełniona o nowe pozycje.

Przykładowy kod dokumentu z automatycznym spisem treści

Aby utworzyć automatyczny spis treści w LaTeX, wystarczy użyć kilku podstawowych komend i zachować odpowiednią strukturę dokumentu. Poniżej przedstawiony przykład demonstruje, jak w prosty sposób można wygenerować spis treści bez konieczności jego ręcznego tworzenia.

W dokumencie LaTeX, spis treści generowany jest automatycznie na podstawie użycia komend takich jak \section, \subsection czy \chapter (w dokumentach klas typu book lub report). Kluczowym elementem jest komenda \tableofcontents, która umieszcza spis w wybranym miejscu dokumentu.

Oto przykład minimalnego dokumentu LaTeX z automatycznym spisem treści:

\documentclass{article}

\begin{document}

\tableofcontents

\section{Wprowadzenie}
Treść sekcji wprowadzającej.

\section{Metodyka}
Treść drugiej sekcji.

\subsection{Źródła danych}
Treść podsekcji.

\end{document}

Jak widać, wystarczy kilka linii kodu, by wygenerować uporządkowany spis treści. Warto pamiętać, że wygenerowanie i poprawne wyświetlenie spisu może wymagać kilkukrotnej kompilacji dokumentu, aby LaTeX mógł zebrać wszystkie potrzebne informacje o strukturze.

W zależności od rodzaju tworzonego dokumentu i klasy użytej w jego nagłówku (article, report, book), struktura i wygląd spisu treści mogą się różnić. Dzięki temu LaTeX oferuje dużą elastyczność przy formatowaniu dokumentów naukowych, technicznych czy edukacyjnych.

Praktyczne wskazówki i najczęstsze błędy

Tworzenie spisu treści w LaTeX może wydawać się proste dzięki automatyzacji, jednak w praktyce użytkownicy często napotykają błędy wynikające z braku znajomości kilku podstawowych zasad. Poniżej przedstawiamy praktyczne porady oraz najczęściej popełniane błędy, które warto mieć na uwadze podczas pracy z dokumentem.

  • Używaj odpowiednich komend strukturalnych: aby spis treści działał prawidłowo, należy korzystać z wbudowanych komend takich jak \section, \subsection, \chapter (dla klas książkowych), zamiast tworzyć nagłówki ręcznie lub stosować niestandardowe makra.
  • Pamiętaj o wielokrotnej kompilacji: LaTeX aktualizuje spis treści dopiero po przetworzeniu pliku pomocniczego (.toc), dlatego pełna aktualizacja spisu wymaga przynajmniej dwóch kompilacji.
  • Nie modyfikuj ręcznie pliku .toc: chociaż technicznie możliwe, edycja tego pliku może prowadzić do błędów składniowych i problemów z kompilacją – wszelkie zmiany należy wprowadzać w głównym pliku .tex.
  • Unikaj błędnych stylów dokumentu: niektóre klasy dokumentów (np. article) nie obsługują komendy \chapter, co może wpłynąć na poprawność spisu treści, jeśli użyjesz niewłaściwych struktur.
  • Pozwól pakietom zarządzać wyglądem: zamiast ręcznie zmieniać formatowanie spisu, lepiej skorzystać z dedykowanych pakietów, które oferują większą elastyczność i bezpieczeństwo kompozycyjne.

Unikanie powyższych błędów pozwala na sprawniejsze generowanie profesjonalnie wyglądających dokumentów i ułatwia późniejsze modyfikacje zawartości lub układu tekstu.

icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments