7.2. Beamer

7.2.1. Úvodní informace a instalace

Třídu Beamer můžeme považovat za nástupce Prosperu. Umožňuje totéž co Prosper, avšak odpadají u něj problémy s generováním PDF (již lze použít pdfLaTeX a je dosud vyvíjený. Proto se budeme věnovat právě jemu a popíšeme si jej podrobněji. Autorem je Till Tantau.

Beamer je velmi kvalitně navržená třída a velmi příjemně se s ní pracuje. Součástí distribučního archivu je perfektní dokumentace (včetně výukového tutoriálu), několik ukázkových prezentací a bohatě komentovaných předpřipravených šablon pro typické prezentace.

Beamer umožňuje z jednoho dokumentu generovat různé výstupy - dokument můžeme snadno vygenerovat jako prezentaci ale i běžný článek pro tisk. Vše závisí jen na zvolené třídě dokumentu.

Pro zprovoznění Beameru musíme stáhnout tři soubory z webové stránky projektu http://latex-beamer.sourceforge.net. Jedná se o soubory latex-beamer, pgf a xcolor. V distribuci TeXLive je již Beamer nainstalován, ale pravděpodobně starší verze a proto doporučujeme aktualizovat na verzi novější.

Stažené archivy rozbalíme na příslušné místo do adresářového stromu LaTeXu, zpravidla do adresáře /texmf/tex/latex/, čímž zde vzniknou tři další podadresáře: beamer, pgf a xcolor. Poté je nezbytné provést aktualizaci databáze LaTeX souborů příkazem mktexlsr.

7.2.2. Základy tvorby prezentací

Pro seznámení s tvorbou prezentací ve třídě Beamer je vhodné prozkoumat ukázkové příklady. Ty najdete v adresáři /examples v distribučním archivu. V adresáři /solutions naleznete prázdné šablony pro prezentace, rozdělené dle předpokládané doby trvání prezentace.

Dokument s prezentací se ničím neliší od typického LaTeX dokumentu. Obsahuje záhlaví se specifikací třídy dokumentu pomocí obvyklého \documentclass{beamer}. V záhlaví (preambuli) dokumentu dále uvádíme příkazy, které obecně uvozují formát, parametry a popis prezentace. Uvádíme sem jednak příkazy typické pro Beamer, ale lze sem samozřejmě napsat libovolné LaTeXové příkazy. Do dokumentu můžeme taktéž připojit libovolné další balíky a třídy. Poté následuje tělo dokumentu s vlastní prezentací, uvozené do \begin{document} a \end{document}.

Podporu českého prostředí přidáme do záhlaví klasicky pomocí známých příkazů.

ikona
\usepackage[czech,english]{babel}
\usepackage[latin2]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times} % volitelné nastavení fontu

Přidání dalších LaTeXových balíků je již na nás.

Pro prezentaci je důležité zvolit její vzhled. Nastavení vzhledu prezentace se skládá z nastavení pěti částí:

  • téma prezentace - to nastavíme vložením příkazu \usetheme{téma}, kde parametr téma je název konkrétního tématu. Témata mají název podle měst (Warsaw, Bergen, Madrid) a jsou velmi kvalitně graficky zpracovaná. Výčet všech témat, včetně ukázek jejich vzhledu a popisu jejich specifických vlastností naleznete v 15. kapitole dokumentační příručky. Dělí se na témata prostá a témata s navigační lištou. Navigační lišta může mít různé podoby a zobrazuje seznam sekcí v prezentaci.

  • barevné téma - po výběru vhodného téma prezentace jej můžeme dále modifikovat pomocí příkazu \usecolortheme{téma}. Barvy můžeme buď definovat kompletně sami, ale spíše sáhneme k schématům připraveným, kterých je několik dispozici.

  • font - podobně jako u barev, můžeme měnit i použité řezy písma pro jednotlivé části prezentace. Nastavení se provádí příkazem \usefonttheme{téma}.

  • vnitřní téma - definuje vzhled elementů uvnitř jednoho slajdu (odrážky, tabulky, obrázky, bloky textu, poznámky …). Slouží k tomu příkaz \useinnertheme{tema}.

  • vnější téma - definuje vzhled strukturu slajdu, zda bude obsahovat záhlaví, jaké bude mít navigační prvky, záhlaví, zápatí, logo a rámeček kolem slajdu. Tyto prvky specifikujeme příkazem \useoutertheme{téma}.

Možný vzhled prezentace

Obrázek 7.1. Možný vzhled prezentace

Po vybrání vyhovujícího vzhledu se pustíme do tvorby samotné prezentace. Celé tělo prezentace uzavřeme do prostředí document, tak jak je u LaTeXových dokumentů zvykem. Každá prezentace musí nejdříve obsahovat titulní stránku. Tu nejsnáze vytvoříme příkazem \frame{\maketitle}, kterému předcházejí příkazy definující její obsah.

ikona
Příklad 7.1: Ukázková titulní stránka prezentace
\title[Nadpis]{Hlavní nadpis prezentace}
\subtitle[Podnadpis] {Podnadpis prezentace}
\author[Ptáček, Duda]{Martin Ptáček \and Michal Duda}
\institute[VŠB]{
  Fakulta elektrotechniky a informatiky\\
  VŠB-TU Ostrava}
\date[CONF2005]{Konference, 2005}

Není žádným překvapením, že prezentace se rozděluje do sekcí a podsekcí. Ty se chovají podobně jako u běžného LaTeXového dokumentu a uvozují strukturu prezentace. Z názvů sekcí se vytvoří obsah prezentace pomocí \tableofcontents.

Sekce se dále dělí na slajdy, které jsou jednotlivě uvozeny do prostředí frame. Pokud jsou použity překrývací prvky pro postupné odkrývání obsahu prezentace (overlays), česky „překrytí“ znamenají pak překrytí jednotlivé v rozděleny na stránky a tím vzniká při jeho prohlížení překrývací efekt. V dokumentaci nalezneme pojem frame, což je jeden slajd prezentace a slide, který představuje jednu stránku PDF souboru v rámci jednoho slajdu (tedy jedno překrytí).

Každý slajd musí obsahovat nadpis, vytvořený příkazem \frametitle. Volitelně též může obsahovat podnadpis, vytvořený příkazem framesubtitle. Každý frame je složen z různých komponent (záhlaví, zápatí, navigační prvky), které je možné individuálně předefinovávat.

Další obsah slajdu již je jen na nás a potřebách prezentace. Zpravidla používáme prostředí itemize, enumerate, figure, table a další. Beamer také obsahuje mnoho předdefinovaných prostředí pro specifické účely, např. theorem, lemma, semiverbatim a mnoho dalších. Jejich výčet i specifika použití naleznete v dokumentaci. K většině běžných LaTeXových příkazů přidává Beamer další funkčnost, jak si ukážeme později.

Obrázky lze vložit pomocí standardního \includegraphics. Druhou možností je využití balíku pgf, který je pro Beamer vyžadován. Ten obsahuje mimo jiné příkazy \pgfdeclaremask, \pgfdeclareimage a \pgfuseimage, které lze s úspěchem využít. Více podrobností naleznete v kvalitní dokumentaci k balíku.

Pokud chceme změnit chování konkrétního příkazu, například vzhled a typ odrážek pro itemize, provedeme to příkazem \setbeamertemplate{šablona}definice}.

ikona
Příklad 7.2: Předefinování odrážek v prostředí itemize
\setbeamertemplate{itemize item}{$\Rightarrow$}

Všimněte si, že název šablony je s mezeremi. Názvy a popisy šablon jsou spolu s možnostmi nastavení uvedeny v dokumentaci vždy za titulkem „Parent Beamer-Template“.

K dispozici máme také dva zvýrazňovací příkazy:

\structure

- označí text jako součást struktury prezentace (text bude mít základní barvu tématu)

\alert

- zvýrazní důležitý text dobře viditelnou barvou (zpravidla červeně)

V prezentacích je třeba často umístit některé objekty vedle sebe, např. text vedle obrázku. I na to Beamer pamatuje a definuje prostředí columns. Toto prostředí obsahuje parametry pro konfiguraci zarovnání objektů a specifikaci jejich šířky.

ikona
Příklad 7.3: Umístění odrážek vedle obrázku
\begin{columns}[t]
 \begin{column}{.5\textwidth}
   \includegraphics{obrazek.pdf}
 \end{column}
 \begin{column}{.5\textwidth}
   \begin{itemize}
    \item popisek
    \item popisek
   \end {itemize}
 \end{column}
\end{columns}

7.2.3. Postupné odkrývání

Prezentaci můžeme můžeme oživit pomocí efektu postupného odkrývání textu, což znamená že např. jednotlivé položky prostředí itemize budou nejprve všechny světle šedé a budou se objevovat postupně. Beamer nabízí několik způsobů jak toho dosáhnout.

První a nejjednodušší možností je využití příkazu \pause. V tom případě se do prvního překrytí slajdu zvýrazní jen text, který mu předchází. Na další překrytí je vygenerován zvýrazněně text, který předchází druhému uvedenému \pause atd.

ikona
Příklad 7.4: Postupné odkrývání položek
\begin{frame}
  \begin{itemize}
   \item položka 1
   \pause
   \item položka 2
   \pause
  \end{itemize}
\end{frame}

Druhou a daleko zajímavější možností je použití konstrukce <rozsah>, kterou napíšeme přímo za konkrétní příkaz. Rozsah specifikuje na jakém překrytí bude text zvýrazněn. Např. <3> znamená, že se objekt objeví jen na třetím překrytí, <2-> znamená, že se objekt objeví na všech překrytích od druhého výše. Specifikace <+-> zajistí automatické postupné odkrývání.

ikona
Příklad 7.5: Postupné odkrývání položek
\begin{itemize}
 \item<1> bude zvýrazněná jen na prvním slajdu
 \item<2-> bude zvýrazněná jen od druhého slajdu dále
 \item<3> bude zvýrazněná jen na třetím slajdu
\end{itemize}
\begin{itemize}[<+->] % postupné odkrývání
 \item položka 1
 \item položka 2
\end{itemize}

Pokud se nám nehodí postupné odkrývání ze šedé barvy, ale potřebujeme naopak nějakou položku zvýraznit v určitém překrytí, učiníme tak konstrukcí <alert@+>.

ikona
\begin{enumerate}
 \item<3-| alert@3>Nakonec se objeví červeně tento bod, další bude zašedlý a následující černý.
 \item<1 | alert@1>Tento bod se objeví jako první a bude zvýrazněn červeně.
 \item<2-| alert@2>Pak se objeví tento bod červeně, původní zašedne.
\end{enumerate}

Práci s překrytím ještě doplňují příkazy

\only<specifikace>

- zajistí, že daný objekt se objeví pouze na určených překrytích

\onslide<specifikace>

- specifikuje, na kterých překrytích se objekt objeví

\uncover<specifikace>

- zvýrazní text pro specifikovaná překrytí, pro ostatní zůstane zašedlý

ikona
\begin{itemize}
 \item Toto je vidět na prvním překrytí. \only<2>{Toto je jen na druhém.}
 \onslide<2-3> \item Toto je vidět na druhém a třetím překrytí.
 \onslide+<4-> \item Toto se objeví až čtvrtého překrytí dále.
\end{itemize}
\onslide \uncover<3>{Toto se zvýrazní na třetím překrytí.}

Podrobněji jsou možnosti překrývání popsány v 8. kapitole uživatelské dokumentace.

7.2.4. Generování různých výstupů

Poslední věcí, kterou v souvislosti s Beamerem zmíníme je jeho schopnost z jednoho dokumentu generovat více typů výstupů. Kromě běžné prezentace, můžeme snadno vygenerovat sylabus (tzv. handout), který vytiskneme a dáme posluchačům k dispozici. Také můžeme z prezentace snadno vygenerovat běžný článek či podklady na průsvitné folie.

To jaký výstupní formát budeme generovat se určí pomocí třídy dokumentu.

prezentace

\documentclass{beamer}

sylabus

\documentclass[handout]{beamer}

článek

\documentclass{article} \usepackage[envcountsect]{beamerarticle}

fólie

\documentclass[trans]{beamer}

Abychom do různých výstupních formátů nemuseli generovat vše, můžeme použít u každého příkazu přepínač, kterým specifikujeme, zda se v tomto formátu objeví nebo ne.

ikona
Příklad 7.6: Použití přepínačů pro formáty
\frame<1-| handout:0>{Text...} % v sylabu nebude celý slajd
\frame<1-| handout:4-5>{Text...} % v sylabu budou jen překrytí 4-5
\only<3| handout:0>{Text...} % tento text nebude v sylabu

Díky těmto vlastnostem můžeme snadno připravit různé typy podkladů pro prezentaci z jednoho vstupního dokumentu. Další vlastnosti jsou k dispozici v dokumentaci.