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
.
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ů.
\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}
.
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.
\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}
.
\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.
\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}
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.
\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í.
\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@+>
.
\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ý |
\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.
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 |
|
sylabus |
|
článek |
|
fólie |
|
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.
\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.