Portál AbcLinuxu, 18. dubna 2024 04:40

Beamer: LaTeX na prezentace

28. 8. 2006 | Petr Zelenka
Články - Beamer: LaTeX na prezentace  

"Potřeboval bych spáchat pěknou prezentaci, nevíš o nějakém programu?", zeptal se Matěj. "No, o něčem bych věděl," odvětil na to Bohouš, "výsledek pak vypadá fakt dobře. Slyšel jsi už někdy něco o Beameru?"

LaTeX na prezentace? Proč ne!

Beamer je - jednoduše řečeno - rozšiřující třída LaTeXu, kterou lze použít místo klasických tříd dokumentu typu article či book. Příprava prezentací je tak poněkud odlišná od "naklikám si někam, co potřebuji". Způsob se totiž (překvapivě) shoduje s přípravou běžného dokumentu v LaTeXu.

To ale neznamená, že by práce byla zdlouhavější. Je prostě jiná a je třeba si na ni zvyknout. Věřím tomu, že vytvoření ekvivalentní prezentace třeba s OpenOffice.org Impress by mi zabralo daleko víc času. Hlavně proto, že s Impress neumím pracovat.

Beamer přenáší všechny výhody i nevýhody LaTeXu i do tvorby prezentací. Přidává možnosti vytvářet přechody mezi jednotlivými odrážkami, obsahuje řadu témat vhodných pro krátké i delší prezentace. Ale hlavně je distribuován s několika vzorovými soubory. Jejich editace pak umožní vytvořit pěknou prezentaci i těm, kteří s LaTeXem a/nebo Beamerem začínají.

Instalace

"LaTeX už jsem nainstalovaný měl, takže už zbýval jen ten Beamer.". "A zvládl jsi to?", byl Bohouš zvědavý. "Jasně, nejsem lama!", potvrdil Matěj, "teď už chybí jen ta prezentace."

Instalace by neměla představovat problém. Využijte buď možností vaší distribuce nebo stránek projektu, dokumentace je také výborná. V mém případě platila první varianta, Synaptic nezklamal a instalace proběhla bez zaváhání. Nutno podotknout, že LaTeX jsem již nainstalovaný měl.

Prezentace krok za krokem

"No tak jdeme na to. Jak dlouho budeš asi tak mluvit?" "Mělo by to být tak na 20 minut, potom je tak 5 minut na otázky. Proč se ptáš?" "Nejdřív musíme vybrat správnou šablonu.", vysvětloval Bohouš, "Ne každá se hodí pro každou příležitost."

Nejjednodušším způsobem, jak začít s prezentací, je vybrat již předpřipravený "polotovar" a do něj doplnit náš text. Tyto "polotovary" se nacházejí v adresáři s dokumentací, podadresáři solutions. V mém případě je to /usr/share/doc/latex-beamer/solutions.

A protože začít se má od začátku, vytvoříme nejdřív úvodní snímek.

Úvodní snímek

"OK, takže téma je Technologie flash pamětí," pokračoval Bohouš, "To vysázíš příkazem \title. Pro tebe to znamená zapsat to do složených závorek za tím. Můžeš přidat ještě kratší variantu pro případ, že by se nadpis někam nechtěl vejít, ale tenhle je krátký dost."

Na úvodní snímek patří téma prezentace, jméno autora, datum a název školy či firmy, kterou přednášející reprezentuje (je-li nějaká). Mezi běžnými snímky prezentace má ten úvodní zvláštní postavení. Vytvoříme ho jediným příkazem - titlepage - uzavřeným do prostředí frame. Informace, které mají být zobrazeny, čerpá z hlavičky. Vše je nejlépe patrné z Matějovy prezentace, která zatím vypadá takto (matej01.tex, matej01.pdf):

\documentclass{beamer}

\mode<presentation> {
  \usetheme{Warsaw}
  \setbeamercovered{transparent}
}

\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage{czech}
\usepackage{palatino}
\usepackage{graphicx}

\title{Technologie flash pamětí}
\author{Matěj Novák}
\institute[UŠ JAK]{Ukázková škola Jana Ámose Komenského}
\date{23.~9.~2006}

\begin{document}

\begin{frame}
  \titlepage
\end{frame}

\end{document}

Pro překlad do pdf je možno použít buď pdfcslatex, nebo třeba trojici cslatex, dvips a ps2pdf.

Zbývá ještě doplnit význam několika vybraných příkazů. Příkazem \documentclass{beamer} si řekneme o třídu dokumentu Beamer, která nám dá k dispozici příkazy jako například \frame. K dalším patří výběr tématu (\usetheme{Warsaw}) či příkaz \usepackage, kterým říkáme, jaké dodatečné balíky chceme použít (například graphicx dovolí vkládat obrázky příkazem \includegraphics).

Osnova

"Tak, titulní stránka by byla, teď už můžeme začít tvořit. Dobré je, když si nejdřív vytvoříš hrubou osnovu. To znamená na začátku nějaký rychlý úvod do tématu, případně motivaci. Pak hlavní část, kterou případně rozdělíš do smysluplných podkapitol. Na konci by nemělo chybět stručné shrnutí všeho, co jsi řekl."

Osnova prezentace se obvykle umisťuje hned za titulní stránku a potom před každou nově začínající kapitolu v případě, že chceme, aby posluchač neztratil nit. Osnovu vysázíme tak, jak jsme zvyklí sázet v článku obsah. Snímek s osnovou tedy může vypadat například takto:

\begin{frame}
  \frametitle{Osnova}
  \tableofcontents[pausesections]
\end{frame}

Příkaz \frametitle, který jsme ještě neměli tu čest poznat, vysází (jak by se dalo čekat) nadpis snímku; \tableofcontents[pausesections] se pak postará o vysázení osnovy. Nepovinný parametr pausesections způsobí to, že se jednotlivé body osnovy (rozuměj teď hlavní body), budou odkrývat postupně, na klepnutí. Chceme-li zobrazit celou osnovu naráz, tento parametr smažeme.

Protože je osnova generována opět jen jedním příkazem, zbývá dovysvětlit, kde bere text. Hlavní body osnovy tvoří parametr příkazů \section umístěných ve zdrojovém textu mezi jednotlivé snímky. Podbody jsou tvořeny obdobně, příkazem \subsection. Nejlépe je použití vidět na Matějově příkladu (matej02.tex):

\begin{frame}
  \frametitle{Osnova}
  \tableofcontents
\end{frame}

\section{Co bylo cílem projektu}

\section{Technologie}

\subsection{NOR}

\subsection{NAND}

\subsection{Inovace}

\subsection{Kterou vybrat?}

\section{Náhled do budoucnosti}

\section*{Souhrn}

Jednotlivé snímky a co na ně

"Teď už můžeš do jednotlivých sekcí vkládat snímky a psát do nich text. Říká se, že k jednomu snímku se mluví v průměru tak minutu až dvě, ale je to dost individuální. To znamená, že tvoje prezentace by měla obsahovat zhruba 15 snímků."

Text by měl být při prezentaci psán formou odrážek. Proto se při jejich tvorbě budeme často setkávat s výčtovými prostředími. Prvním z nich je itemize, které obsažené položky vysází s puntíkem (či jiným znakem) na začátku. Obdobou je v html tag <ul>.

\begin{itemize}
  \item položka seznamu
  \item další odrážka
\end{itemize}

Chceme-li na začátku místo nějaké značky čísla, použijeme prostředí enumeration, tzn. v předchozím případě jen nahradíme slůvko itemize slůvkem enumeration. To si lze představit jako html tag <ol>. Třetím prostředím do party je description, jehož pomocí lze vytvářet jakési slovníkové vysvětlivky.

\begin{description}
  \item[Strom] Graf, který neobsahuje kružnici.
\end{description}

Ke zvýraznění některého ze slov lze použít klasického postupu v LaTeXu, tedy uzavřít ho do \emph{}. Třída Beamer nám ovšem nabízí ještě jiný způsob, a to uzavření textu do \alert{}, při kterém bude tento text vysázen červeně.

Pro zvýraznění celého bloku textu (například podmínek, za kterých něco platí), můžeme využít prostředí block, které svůj obsah vloží do hezkého rámečku. Takhle se rozhodl Matěj zdůraznit cíle svého projektu (matej03.tex, matej03.pdf):

\section{Co bylo cílem projektu}

\begin{frame}
  \frametitle{Cíle projektu}
  \begin{block}{Cíle}
    \begin{itemize}
      \item Prozkoumat, jak pracuje paměť flash.
      \item Zdokumentovat současné technologie flash pamětí.
      \item Porovnat jednotlivé typy.
      \item Provést stručný rozbor, k čemu se jednotlivé typy hodí.
    \end{itemize}
  \end{block}
\end{frame}

Takovýto blok má modré záhlaví s nápisem Cíle a namodralé tělo. Chceme-li být ještě důraznější, můžeme použít prostředí alertblock, které je laděno do červena. Obdobně pak fungují specializovaná prostředí pro definice (definition), teorémy (theorem), příklady (example) a jiné (lemma, proof, corollary).

"Hmm, tak to vypadá vážně dobře," odtušil spokojeně Matěj, "ale ještě třeba nevím, jak vložit obrázek nebo vytvořit tabulku." "Není to nijak složité," uklidnil ho Bohouš, "ale protože už budu musel běžet, necháme to na jindy."

Pokračování

Protože obrázek řekne často víc, než tisíc slov, podíváme se příště na to, jak ho do naší prezentace dostat. Dále si ukážeme práci s tabulkou, vytváření snímků, na kterých se jednotlivé prvky postupně odkrývají, a třeba i něco navíc.

Související články

Beamer: LaTeX na prezentace - 2 (obrázky, tabulky, skrývání)
GNU Lilypond - The music Typesetter - I
GNU Lilypond - II
GNU Lilypond - III
GNU Lilypond - IV
Vektorový elegán Ipe
Scribo, scribere, Scribus
Scribo, scribere, Scribus - II
Scribo, scribere, Scribus - III
Příručka OpenOffice.org - VI
Příručka OpenOffice.org - VII
Tisk v Linuxu pomocí balíku PSUtils
Oboustranný tisk v Linuxu

Odkazy a zdroje

The LaTeX Beamer Class Homepage

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.