Waynův tutoriál k systému LaTeX a všeho okolo

Základní tvorbu dokumentu, rozvržení stránky a formátování textu v LaTeXu jsme probrali v příspěvku Formátování a struktura textu v LaTeXu, tak si ho přečtěte, pokud jste to ještě neudělali. V tomto článku se zaměříme na vytvoření obsahu (TOC, Table of Contents) v LaTeXu. Probereme, jak vygenerovat běžný obsah, změnit jeho název, upravit hloubku zobrazených nadpisů a použít balíček minitoc pro lokální obsahy v sekcích nebo částech. Dále zmíníme balíček hyperref, který přidává hypertextové odkazy do obsahu, aby bylo možné kliknutím přejít na odpovídající sekce.

Vytvoření běžného obsahu (TOC)

V LaTeXu se obsah generuje příkazem \tableofcontents, který automaticky vytvoří seznam nadpisů na základě příkazů jako \part, \chapter, \section, \subsection atd. Tento příkaz umístěte do těla dokumentu, obvykle hned po \begin{document} nebo po úvodní stránce.

Příklad: \tableofcontents vytvoří obsah zahrnující všechny nadpisy v dokumentu podle jejich hierarchie. Aby se obsah správně vygeneroval, musíte dokument zkompilovat dvakrát, protože LaTeX ukládá informace o nadpisech do pomocného souboru (.toc) při první kompilaci a teprve při druhé je použije.

Změna názvu obsahu

Výchozí název obsahu závisí na jazyce nastaveném v balíčku babel. Například s \usepackage[czech]{babel} se obsah jmenuje „Obsah“. Název můžete změnit příkazem \renewcommand{\contentsname}{Nový název}.

Příklad: \renewcommand{\contentsname}{Seznam kapitol} změní název obsahu na „Seznam kapitol“. Tento příkaz umístěte do preambule nebo těsně před \tableofcontents.

Úprava hloubky obsahu

Hloubku obsahu (počet úrovní nadpisů zobrazených v TOC) ovládá příkaz \setcounter{tocdepth}{číslo}. Každá úroveň nadpisu má přiřazené číslo:

  • \part: -1
  • \chapter: 0
  • \section: 1
  • \subsection: 2
  • \subsubsection: 3
  • \paragraph: 4
  • \subparagraph: 5

Výchozí hodnota tocdepth závisí na třídě dokumentu (např. v article je 3, takže zahrnuje až \subsubsection). Nastavením nižší hodnoty omezíte hloubku.

Příklad: \setcounter{tocdepth}{1} zahrne do obsahu pouze \part a \section, zatímco \setcounter{tocdepth}{2} přidá i \subsection.

Lokální obsahy s balíčkem minitoc

Balíček minitoc umožňuje vytvořit lokální obsahy pro jednotlivé části (\part) nebo kapitoly (\chapter), které zahrnují pouze nadpisy nižší úrovně v dané části. Přidejte \usepackage{minitoc} do preambule a inicializujte balíček příkazem \dominitoc. Poté vložte \minitoc tam, kde chcete lokální obsah, obvykle hned po \part nebo \chapter.

Možnosti nastavení:

  • Hloubka lokálního obsahu: Nastavte příkazem \setcounter{minitocdepth}{číslo}, např. \setcounter{minitocdepth}{2} zahrne \section a \subsection.
  • Název lokálního obsahu: Změňte příkazem \renewcommand{\minitocname}{Nový název}, např. \renewcommand{\minitocname}{Kapitoly v této části}.

Příklad: \dominitoc v preambuli a \minitoc po \chapter{Kapitola 1} vytvoří obsah pouze pro \section a nižší úrovně v této kapitole. Stejně jako u běžného TOC je potřeba kompilovat dvakrát.

Hypertextové odkazy s balíčkem hyperref

Balíček hyperref přidává interaktivitu do obsahu tím, že z nadpisů v TOC udělá hypertextové odkazy, které odkazují na odpovídající sekce v dokumentu. Přidejte \usepackage{hyperref} do preambule, ideálně jako poslední balíček, aby se vyhnul konfliktům s jinými balíčky, např. minitoc.

Možnosti nastavení:

  • Barva odkazů: \hypersetup{colorlinks=true, linkcolor=blue} nastaví odkazy v obsahu na modrou barvu.
  • PDF metadata: \hypersetup{pdftitle={Název dokumentu}, pdfauthor={Autor}} přidá informace do PDF.
  • Kompatibilita s minitoc: Balíček hyperref je plně kompatibilní s minitoc, takže lokální obsahy budou také obsahovat klikatelné odkazy.

Příklad: \usepackage{hyperref} \hypersetup{colorlinks=true, linkcolor=red} udělá odkazy v TOC červené a klikatelné.

Ukázkový LaTeX kód

\documentclass[a4paper,11pt]{report}
\usepackage[czech]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{minitoc}
\usepackage{hyperref}

\hypersetup{colorlinks=true, linkcolor=blue}
\renewcommand{\contentsname}{Seznam kapitol}
\setcounter{tocdepth}{2}
\dominitoc
\setcounter{minitocdepth}{1}

\begin{document}

\tableofcontents

\part{První část}
\minitoc

\chapter{Kapitola 1}
\section{Sekce 1.1}
Text v první sekci.
\subsection{Podsekce 1.1.1}
Text v podsekci.

\chapter{Kapitola 2}
\minitoc
\section{Sekce 2.1}
Text v druhé sekci.

\end{document}

Tipy a další kroky

  • Kompilujte dokument dvakrát, aby se obsah správně vygeneroval (první kompilace vygeneruje TOC soubor, při druhé kompilaci to vytvoří obsah z tohoto souboru).
  • Pokud hyperref způsobuje konflikty, zkontrolujte pořadí balíčků v preambuli.
  • Pro pokročilé formátování TOC použijte balíček tocloft.
  • Přečtěte si dokumentaci na overleaf nebo Wikiknihy (LaTeX/Table of Contents) pro další možnosti.

S těmito nástroji vytvoříte přehledný a interaktivní obsah pro své dokumenty. Hodně štěstí s LaTeXem!

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

+