\documentclass[12pt]{article} \usepackage[brazil]{babel} \usepackage[latin1]{inputenc} \usepackage{indentfirst} \usepackage{url} \usepackage{graphicx} \title{Tutorial de Beamer: apresentações em \LaTeX} \author{Carlos A. P. Campani} \begin{document} \maketitle \section{Introdução} Beamer é uma classe \LaTeX{} para produzir apresentações. Outras classes \LaTeX{} com o mesmo propósito são \emph{Seminar} e \emph{Prosper}. Beamer possui recursos semelhantes aos encontrados no Prosper, permitindo desenvolver apresentações dinâmicas, com sobreposições (overlays) e transições animadas entre lâminas. As apresentações obtidas são arquivos \emph{pdf} que podem ser visualizadas no \emph{Acrobat Reader} (disponível em \url{http://www.adobe.com/products/acrobat/readstep2.html}) ou no \emph{xpdf}. Isto torna as apresentações altamente portáveis. Para usar a classe Beamer deve-se instalar o pacote apropriado disponível em \url{http://latex-beamer.sourceforge.net/}. Também é necessário instalar os pacotes \emph{pgf} e \emph{xcolor}. Importante observar que Beamer e \LaTeX{} são necessários apenas para o desenvolvimento das lâminas (\emph{slides}), não sendo necessários para a visualização da apresentação, quando basta o Acrobat Reader ou o xpdf. O processo de instalação varia dependendo da distribuição do \TeX. No \emph{te\TeX} (distribuição para Linux) descomprime-se os arquivos dos pacotes no diretório \texttt{/usr/local/share/texmf/tex/latex} e executa-se o comando \verb+texhash+. Para usar a classe declara-se \verb+\documentclass{beamer}+ no início do arquivo \TeX. Beamer aceita a estruturação do texto usando \verb+\section+ e \verb+\subsection+. Slides individuais são definidos dentro de \verb+\frame{ ... }+ ou \verb+\begin{frame} ... \end{frame}+. Para produzir o arquivo final da apresentação, em formato pdf, não compilamos o arquivo usando \LaTeX{}, e sim usamos o programa \emph{pdflatex} (amplamente disponível nas instalações \TeX{} típicas) que converte diretamente o arquivo \TeX{} para \emph{pdf}. Beamer apresenta algumas vantagens para usuários \LaTeX{} em relação ao \emph{Powerpoint} e outras alternativas: \begin{itemize} \item Suporte do \LaTeX{} para construções matemáticas é superior ao encontrado na plataforma Word/Powerpoint; \item Facilidades para a estruturação das lâminas decorrentes de \LaTeX{} (seção, subseção, etc.) e facilidades para produzir a bibliografia (BiB\TeX); \item Pode-se extrair as lâminas da apresentação a partir do texto \LaTeX{} de um documento qualquer (por exemplo, o artigo a ser apresentado em um evento); \item Melhores recursos que as classes Seminar e Prosper, particularmente o recurso \verb+\uncover+; \item Multiplataforma, pois tanto \TeX{} pode ser usado em diversos sistemas operacionais, quanto a apresentação em pdf pode ser visualizada no Windows e em ``sabores'' do Unix. \end{itemize} \section{Estrutura de uma Apresentação Beamer} Uma apresentação Beamer é formada por um conjunto de \emph{frames}, que são as lâminas da apresentação (slides). A apresentação pode ser estruturada em seções e subseções, e cada frame pode possuir um título: \begin{verbatim} \documentclass{beamer} declarações \begin{document} \section{ ... } \frame{ ... } \frame{ ... } \section{ ... } \frame{ ... } \frame{ ... } ... \end{document} \end{verbatim} Cada \emph{frame} pode ser definido por: \begin{verbatim} \frame{ \frametitle{Título da lâmina} Conteúdo da lâmina } \end{verbatim} ou \begin{verbatim} \begin{frame}{Título da lâmina} Conteúdo da lâmina \end{frame} \end{verbatim} Um exemplo de apresentação Beamer é: \begin{verbatim} \documentclass{beamer} \usepackage[brazil]{babel} \usepackage[latin1]{inputenc} \title{Exemplo de Uso do Beamer} \author{Carlos Campani} \begin{document} \frame{\titlepage} \section{Sumário} \frame{\tableofcontents} \section{Usando Beamer} \frame { \frametitle{Características} \begin{itemize} \item<1-> Classe \LaTeX; \item<2-> Sobreposição (overlays); \item<3-> Transições animadas. \end{itemize} } \end{document} \end{verbatim} No cabeçalho do arquivo, os comandos \verb+\usepackage[brazil]{babel}+ e \verb+\usepackage[latin1]{inputenc}+ são pacotes \LaTeX{} que ativam suporte à língua portuguesa e acentuação pelo teclado. O primeiro frame é a página de título do trabalho, definida pelos comandos \verb+\title+, \verb+\author+ e \verb+\date+ (que não está sendo usado no exemplo), e gerada pelo comando \verb+\frame{\titlepage}+. O segundo frame é o sumário da apresentação, que é definido pelos comandos \verb+\section+ ao longo do documento, e gerado pelo comando \verb+\frame{\tableofcontents}+. Observe que no terceiro frame se define uma sobreposição (overlay), especificada por \verb+<1->+, \verb+<2->+ e \verb+<3->+, que define a seqüência em que os overlays serão exibidos na apresentação. \section{Usando Beamer} Usualmente uma apresentação Beamer começa por uma página de título, que contém informações sobre o título e autor do trabalho que será apresentado, seguida por uma lâmina contendo o sumário da apresentação. Para isto usa-se: \begin{verbatim} \frame{\titlepage} \frame{ \frametitle{Sumário} \tableofcontents } \end{verbatim} O comando \verb+\titlepage+ usa as informações declaradas no cabeçalho por meio de \verb+\title+, \verb+\author+ e \verb+\date+ para produzir a página de título. O comando \verb+\tableofcontents+ gera o sumário usando as informações declaradas nos comandos \verb+\section+ e \verb+\subsection+. Podemos estar interessados em repetir automaticamente o sumário no início de cada seção (ou subseção), com a seção (ou subseção) corrente aparecendo destacada. Para isto se usariam os comandos: \begin{verbatim} \AtBeginSection[] { \begin{frame} \frametitle{Sumário} \tableofcontents[currentsection] \end{frame} } \end{verbatim} Esta declaração informa ao Beamer que ``cada vez que se encontrar o início de uma seção, deve-se mostrar o sumário, destacando a seção corrente''. Este recurso ajuda a audiência a contextualizar-se durante a apresentação. Caso se queira fazer o mesmo para as subseções, usar-se-ia: \begin{verbatim} \AtBeginSubsection[] { \begin{frame} \frametitle{Sumário} \tableofcontents[currentsection,currentsubsection] \end{frame} } \end{verbatim} Alguns temas pré-definidos do Beamer permitem que se coloque um \emph{logotipo} nas lâminas. Este logotipo é útil para identificar a instituição responsável pela apresentação, ou o evento em que a apresentação está ocorrendo. Para definir o logotipo usa-se: \begin{verbatim} \pgfdeclareimage[height=1.4cm]{logo}{ufpel} \logo{\pgfuseimage{logo}} \end{verbatim} O comando \verb+\pgfdeclareimage+ associa um arquivo de imagem com um identificador (neste caso, \verb+logo+). Formatos válidos de imagem são JPG, PNG e PDF. O arquivo de imagem é declarado sem extensão, e o comando \verb+\pgfdeclareimage+ irá procurar por uma extensão válida. No exemplo, foi usado o arquivo \verb+ufpel.jpg+, embora tenha sido declarado apenas \verb+ufpel+ no comando \verb+\pgfdeclareimage+. O comando \verb+\logo+ define o logotipo, usando a imagem definida pelo comando \verb+\pgfuseimage+. Na figura~\ref{fig:titulo} podemos ver um exemplo de página de título em uma apresentação que usa o tema Berkeley. Observe-se o logotipo no canto superior esquerdo da lâmina. \begin{figure} \begin{center} \includegraphics[width=14cm]{berkeley1.ps} \end{center} \caption{Página de título}\label{fig:titulo} \end{figure} Para se definir um frame usa-se o ambiente ``frame'', que recebe como argumento o título desejado para o frame: \begin{verbatim} \begin{frame}{Título do frame} ... \end{frame} \end{verbatim} ou então o comando \verb+\frame+: \begin{verbatim} \frame{ \frametitle{Título do frame} ... } \end{verbatim} que adicionalmente exige o uso do comando \verb+\frametitle+ se quisermos atribuir um título ao frame. Se for usado o ambiente ``verbatim'', ou o comando \verb+\verb+, dentro de um frame, devemos declarar o frame como \emph{frágil}: \begin{verbatim} \begin{frame}[fragile] ... \end{frame} \end{verbatim} Um recurso interessante para organizar a informação dentro dos frames é o \emph{bloco}. O uso de blocos permite agrupar um conjunto de informações de uma lâmina em uma unidade (o bloco) com um título. Blocos são definidos usando-se o ambiente ``block'': \begin{verbatim} \begin{block}{Título do bloco} ... \end{block} \end{verbatim} Um exemplo de uso de blocos é apresentado na figura~\ref{fig:blocos}, cujo resultado foi obtido por meio dos seguintes comandos: \begin{verbatim} \begin{frame} \frametitle{Quais as partes de um autômato finito?} \begin{block}{Fita de Entrada} Dispositivo de entrada que contém a informação a ser processada. \end{block} \begin{block}{Unidade de Controle} Reflete o estado da máquina. Possui uma unidade de leitura (cabeçote da fita) que acessa a fita de entrada. \end{block} \begin{block}{Programa ou Função de Transição} Função que controla a leitura da fita e as transições de estados. \end{block} \end{frame} \end{verbatim} \begin{figure} \begin{center} \includegraphics[width=14cm]{blocos.ps} \end{center} \caption{Blocos}\label{fig:blocos} \end{figure} Muitas vezes é necessário organizar a informação em uma lâmina na forma de colunas. Beamer permite definir quantas colunas quisermos nas lâminas. Para isto usamos o ambiente \verb+\begin{columns} ... \end{columns}+, e definimos as colunas com o ambiente \verb+\begin{column} ... \end{column}+: \begin{verbatim} \begin{columns}[t] \begin{column}{5cm} ... \end{column} \begin{column}{5cm} ... \end{column} \end{columns} \end{verbatim} No exemplo dado, posicionamos as colunas dentro do ambiente ``columns'' alinhadas pelo topo (usando \verb+\begin{columns}[t]+), e cada coluna terá 5cm de largura (especificado usando \verb+\begin{column}{5cm}+). Beamer fornece bastante flexibilidade para definir sobreposições (overlays). Um exemplo de uso de overlays é: \begin{verbatim} \begin{itemize} \item <1-> Primeira coisa \item <2-> Segunda coisa \item <3-> Terceira coisa \end{itemize} \end{verbatim} O que aparece ao lado dos \verb+\item+ são as \emph{especificações de overlays} (\verb+<1->+, \verb+<2->+, e \verb+<3->+), indicando que o primeiro item deve aparecer no primeiro overlay e nos seguintes, o segundo item deve aparecer no segundo overlay e seguintes e assim por diante. Beamer fornece bons recursos para definir as especificações de overlays. Nas especificações, overlays são separados por vírgulas, para indicar seqüências desconexas ou por ``-'', para indicar intervalos. Assim, sejam os seguintes exemplos de especificação de overlay: \begin{itemize} \item \verb+<3->+ mostra o item do terceiro overlay em diante; \item \verb+<2-5>+ mostra entre o segundo e o quinto overlay; \item \verb+<-4>+ mostra o item até o quarto; \item \verb+<1,4>+ mostra no primeiro e no quarto; \item \verb+<2,4-6>+ mostra no segundo e entre o quarto e o sexto overlay. \end{itemize} Para obter transparência declara-se \verb+\setbeamercovered{transparent}+ e se usa \verb+\uncover{ ... }+ em substituição ao ambiente ``itemize''. Por exemplo: \begin{verbatim} \setbeamercovered{transparent} \begin{frame} \begin{block}{Definição} \uncover<1->{primeira parte} \uncover<1,3->{segunda parte} \uncover<1,4->{terceira parte} \uncover<1,5->{quarta parte} \end{block} \end{frame} \setbeamercovered{invisible} \end{verbatim} No exemplo, o comando \verb+\setbeamercovered{invisible}+, ao final dos overlays, desabilita a transparência e retorna ao comportamento normal de esconder os itens nos overlays. Para destacar o item corrente nos overlays usa-se \verb+alert@+ na especificação de overlay: \begin{verbatim} \begin{itemize} \item <1- | alert@1> Primeira coisa \item <2- | alert@2> Segunda coisa \item <3- | alert@3> Terceira coisa \end{itemize} \end{verbatim} Overlays podem também ser usados com blocos, especificados da seguinte maneira: \begin{verbatim} \begin{frame}{Overlays com blocos} \begin{block}{Primeiro bloco}<1-> Este é o primeiro bloco \end{block} \begin{block}{Segundo bloco}<2-> Este é o segundo bloco \end{block} \end{frame} \end{verbatim} Também podemos usar overlays com imagens. Para isto basta especificar os overlays nos comandos \verb+\pgfuseimage+: \begin{verbatim} \pgfuseimage{imagem1}<1> \pgfuseimage{imagem2}<2> \pgfuseimage{imagem3}<3> \end{verbatim} Este é um exemplo de uso de overlays com imagens e usando colunas: \begin{verbatim} \begin{columns}[t] \begin{column}{5cm} \pgfdeclareimage[width=5cm]{automato1}{automato1} \pgfuseimage{automato1}<1> \pgfdeclareimage[width=5cm]{automato2}{automato2} \pgfuseimage{automato2}<2> \pgfdeclareimage[width=5cm]{automato3}{automato3} \pgfuseimage{automato3}<3> \pgfdeclareimage[width=5cm]{automato4}{automato4} \pgfuseimage{automato4}<4> \end{column} \begin{column}{5cm} \begin{itemize} \item <1- | alert@1> Reconhecimento inicia no estado $q_1$ \item <2- | alert@2> Transição para estado $q_2$ \item <3- | alert@3> Lê $0$ e fica no estado $q_2$ \item <4- | alert@4> Transição para o estado final $q_3$ \end{itemize} \[\xymatrix{ *++[o][F-]{q_1} \ar@(ul,ul)[] \ar[r]^{1} \ar[d]^{0} & *++[o][F=]{q_3} \\ *++[o][F-]{q_2} \ar[ur]_{1} \ar@(dl,d)[]_{0} }\] \end{column} \end{columns} \end{verbatim} cujo efeito pode ser visto na figura~\ref{fig:anima}. Observe como os overlays nas imagens geram uma animação na primeira coluna que está sincronizada com os overlays nos itens da segunda coluna. \begin{figure} \begin{center} \begin{tabular}{cc} \includegraphics[width=7cm]{anim1.ps} & \includegraphics[width=7cm]{anim2.ps} \\ 1 & 2 \\ \includegraphics[width=7cm]{anim3.ps} & \includegraphics[width=7cm]{anim4.ps} \\ 3 & 4 \end{tabular} \end{center} \caption{Overlays com imagens e colunas}\label{fig:anima} \end{figure} Beamer permite efeitos na transição das lâminas. Para isto podemos usar, entre outros, os comandos: \begin{itemize} \item \verb+\transdissolve+ -- dissolve a lâmina anterior; \item \verb+\transsplitverticalout+ -- a próxima lâmina se abre como uma cortina no sentido horizontal; \item \verb+\transblindshorizontal+ -- a lâmina anterior converte-se linha a linha. \end{itemize} Para mais informações sobre os efeitos em transições de lâminas consulte o manual de Beamer. \section{Usando Temas} Existem diversos temas pré-definidos que devem atender a maioria das necessidades. O nome de um tema normalmente é o nome de uma cidade onde acontece um evento de informática. Para declarar o tema desejado usa-se \verb+\usetheme{ ... }+ no cabeçalho do arquivo \TeX. Alguns temas disponíveis são mostrados nas figuras~\ref{fig:temas} e \ref{fig:temas2}. \begin{figure} \begin{center} \begin{tabular}{cc} \includegraphics[width=7cm]{AnnArbor1.ps} & \includegraphics[width=7cm]{AnnArbor2.ps} \\ \multicolumn{2}{c}{AnnArbor} \\ \includegraphics[width=7cm]{berkeley1.ps} & \includegraphics[width=7cm]{berkeley2.ps} \\ \multicolumn{2}{c}{Berkeley} \\ \includegraphics[width=7cm]{boadilla1.ps} & \includegraphics[width=7cm]{boadilla2.ps} \\ \multicolumn{2}{c}{Boadilla} \end{tabular} \end{center} \caption{Alguns temas disponíveis} \label{fig:temas} \end{figure} \begin{figure} \begin{center} \begin{tabular}{cc} \includegraphics[width=7cm]{CambridgeUS1.ps} & \includegraphics[width=7cm]{CambridgeUS2.ps} \\ \multicolumn{2}{c}{CambridgeUS} \\ \includegraphics[width=7cm]{madrid1.ps} & \includegraphics[width=7cm]{madrid2.ps} \\ \multicolumn{2}{c}{Madrid} \\ \includegraphics[width=7cm]{montpellier1.ps} & \includegraphics[width=7cm]{montpellier2.ps} \\ \multicolumn{2}{c}{Montpellier} \end{tabular} \end{center} \caption{Mais temas} \label{fig:temas2} \end{figure} Para mais informações sobre os temas e como a aparência de uma apresentação pode ser personalizada, consulte o manual de Beamer. \section{Exemplo de Apresentação Beamer} Em anexo a este documento encontram-se os arquivos de uma apresentação exemplo que será útil para compreender o uso de Beamer. A maioria dos recursos apresentados neste tutorial são explorados nesta apresentação. \end{document}