- Łukasz Stelmach – Java JBoss Linux - http://blog.stelmisoft.pl -

Spis treści w prezentacji utworzonej przy użyciu Latex

W przypadku Latexa i tworzenia prezentacji przy użyciu pakietu Beamer tworzenie spisu treści jest proste, i składa się z dwóch kroków:

  1. Dodać do prezentacji informacji o podziale jej na sekcje, podsekcje i pod podsekcje (czyli rozdziały i pod rozdziały). Można to zrobić przy pomocy poleceń:
    \section [1]{Tytuł sekcji}

    \subsection [2]{Tytuł podsekcji}

    \subsubsection [3]{Tytuł pod podsekcji
    }

    Jeżeli użyjemy któregoś polecenia w takiej formie: \section [1]*{Tytuł sekcji}, to wybrana sekcja nie będzie uwzględniania w spisie treści.

  2. Wygenerować wpis przy użyciu polecenia \tableofcontents [4]. Pozwoli to na wstawienie spisu treści w miejscu wystąpienia tego polecenia.

I tak jak z punktem pierwszym problemów raczej być nie powinno, to mamy spory wpływ na generowanie spisu treści. I poniżej kilka przykładów, jak może wyglądać spis treści, generowany zarówno na początku dokumentu, jak również przed większymi fragmentami prezentacji.

Podstawowy spis treści, generuje na slajdzie wszystkie sekcji, podsekcje i pod podsekcje:

\begin{frame}{Spis treści 1}
    \tableofcontents [4]
\end{frame
}

W przypadku niewielkich prezentacji, taki spis treści może być w porządku. Jednak jeżeli prezentacja jest długa, jest podzielona na wiele części, to nie będzie to zbyt przejrzyste.

Można wobec tego wygenerować spis treści zawierający tylko główne punkty:

\begin{frame}{Spis treści 2}
    \tableofcontents [4][pausesections,hideallsubsections]
\end{frame
}

Powyższy wpis wyświetli tylko główne sekcje dokumentu (parametr hideallsubsections) oraz pozwoli na wyświetlenie spisu treści stopniowo, po jednym punkcie (parametr pausesections). Dzięki temu można spokojnie omówić, co będzie przedmiotem wykładu w każdej części prezentacji.

Przydatne także może być generowanie spisu treści przed rozpoczęciem danej sekcji, dzięki czemu można przedstawić dokładny plan prezentacji.

\begin{frame}{Spis treści 3}
    \tableofcontents [4][currentsection, hideothersubsections,sections={<1-3>}]
\end{frame
}

Pojawiły się się 3 nowe parametry:

Pojawia się jednak pewien problem, gdy nie chcemy wyświetlić pod podsekcji. Nie ma w takim przypadku możliwości wyłączenia ich wyświetlenie (przy pozostawieniu wyświetlania tylko podsekcji). Sposobem na to jest użycie dodatkowej komendy \setcounter, która pozwala na zdefiniowanie poziomu zagłębienia spisu treści:

\begin{frame}{Spis treści 4}
        \setcounter{tocdepth}{2}
        \tableofcontents [4][sectionstyle=show/hide,subsectionstyle=show/show/hide]
\end{frame
}

Oprócz nowej komendy pojawiły się dwie dodatkowe opcje:

Zamiast hide można także użyć przełącznika shaded.

Jak widać, te dwie ostatnie opcje tak naprawdę pozwalają zdefiniować co ma się dziać ze spisem treści, pozostałe przełączniki tylko w odpowiedni sposób je konfigurują.

Źródła