\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<especif>{ ... }+ 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}
