Beamer

  1. Instalação
  2. Primeira apresentação
  3. Temas e cores
  4. Títulos
  5. Seções e subseções
  6. Outer theme e inner theme
  7. Fontes
  8. Alinhamento
  9. Barra de navegação
  10. Opções do frame
  11. Sumário
  12. Exibição condicional
  13. Blocos
  14. O comando alert
  15. Efeitos de transição

Beamer é uma classe de documentos de LaTeX criada para gerar apresentações em slides. É o mais popular no segmento de classes de documentos para apresentações em LaTeX. É uma alternativa ao Power Point para criar apresentações, com toda a flexibilidade e a consistência do LaTeX.

Instalação

Se você ainda não tiver o Beamer instalado e estiver usando o Ubuntu, você pode instalar o Beamer rodando o pacote abaixo:

sudo apt-get install latex-beamer

Se você estiver usando o Windows com o MikTeX, apenas instale os pacotes que forem solicitados ao tentar compilar um documento que use o Beamer.

Primeira apresentação

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazilian]{babel}
\usepackage{lmodern}

\begin{document}
  \begin{frame} % cada frame é um slide
    Primeiro frame
  \end{frame}
  \begin{frame}
    Segundo frame
  \end{frame}
\end{document}

A primeira coisa a fazer para criar uma apresentação no Beamer é definir a classe do documento como sendo beamer. As apresentações do Beamer são criadas com frames.

Um frame é um quadro que tem um conteúdo qualquer. Para criar um novo frame, pode-se usar o comando \frame passando o conteúdo dele como argumento ou usar o ambiente frame, que foi a opção escolhida no exemplo.

No documento em PDF, você pode ver a apresentação apertando F5 para entrar no modo de apresentação do documento. Use as setas direcionais para navegar pelos frames. Aperte Esc para sair da apresentação.

Temas e cores

O Beamer contém vários temas. Temas modificam a aparência da sua apresentação. Você pode ver vários temas do Beamer aqui.

No link acima, cada linha representa um tema e cada grupo de duas colunas representa um esquema de cores. Você verá como alterar o tema e o esquema de cores do documento em breve.

Cada esquema de cor ocupa 2 colunas, e cada uma dessas colunas tem uma imagem que mostra a aparência do tema com aquele esquema de cor. Temas são muitas vezes nomes de cidades, e nomes de esquemas de cores são geralmente nomes de animais.

Para mudar o tema da apresentação, use o comando \usetheme passando o nome do tema como argumento. Para mudar o esquema de cores, use o comando \usecolortheme passando o esquema de cores como argumento. Exemplo:

\documentclass{beamer}
...
\usetheme{Bergen}
\usecolortheme{whale}

\begin{document}
  ...
\end{document}

O comando \setbeamercolor pode ser usado para definir cores que o Beamer usa para alguns tipos de elementos:

\setbeamercolor{normal text}{fg=blue}

Esse comando permite redefinir manualmente as cores que o Beamer usa para o nome do autor, a data e outras coisas.

Você passa o nome do elemento que você deseja mudar a cor e as cores do texto do elemento e / ou do fundo dele. Essas cores são passadas em uma lista de opções no estilo chave=valor.

A opção fg altera a cor do texto (fg é uma abreviação para foreground, que quer dizer primeiro plano em português) e a opção bg altera o fundo do texto. Caso mais de uma opção seja passada, as opções devem ser separadas por vírgulas:

\setbeamercolor{alerted text}{fg=green}
\setbeamercolor{block body}{bg=black, fg=white}
\setbeamercolor{block title}{fg=red}

Lembrando que você pode usar cores que você definir usando o comando \definecolor.

\definecolor{laranja}{RGB}{255, 127, 0}
\setbeamercolor{block title}{fg=laranja}

Esse comando foi abordado na seção de Cores do tutorial de Formatação.

Títulos

Você pode definir um título e um subtítulo para o seu frame usando os comandos \frametitle e \framesubtitle, respectivamente:

\begin{frame}
  \frametitle{Título do frame}
  \framesubtitle{Subtítulo do frame}
  Primeiro frame
\end{frame}

Existe um comando que gera uma página de título baseado em algumas informações que você define no preâmbulo do seu documento. Esse comando é o \titlepage. No preâmbulo do seu documento, você pode definir informações como título, autor e data da sua apresentação, para que elas sejam usadas nessa página de título. Exemplo:

...
\title{Título da apresentação}
\author{Nome do autor}
\date{\today}
...
\begin{frame}
  \titlepage
\end{frame}
...

Seções e subseções

Você pode utilizar seções e subseções para organizar a sua apresentação:

\section{Cereais}
  \begin{frame}
    \begin{itemize}
      \item Arroz
      \item Cevada
      \item Ervilha
      \item Feijão
      \item Milho
    \end{itemize}
  \end{frame}

  \subsection{Derivados da aveia}
    \begin{frame}
      \begin{itemize}
        \item Mingau de aveia
        \item Farelo de aveia
        \item Farinha de aveia
      \end{itemize}
    \end{frame}

  \subsection{Derivados do milho}
    \begin{frame}
      \begin{itemize}
        \item Amido de milho
        \item Canjica
        \item Cuscuz
        \item Fubá
        \item Polenta
      \end{itemize}
    \end{frame}

\section{Frutas}
  \begin{frame}
    \begin{itemize}
      \item Abacate
      \item Maçã
      \item Mamão
      \item Melancia
      \item Morango
      \item Pera
      \item Uva
    \end{itemize}
  \end{frame}

O exemplo acima tem quatro frames e duas seções, sendo que a primeira seção tem duas subseções. Note que o tema informa a qual seção ou subseção cada frame pertence na parte superior. Nem todo tema mostra esse tipo de informação. Por exemplo, o tema padrão do Beamer e alguns outros temas não mostram.

Organizar a sua apresentação em seções é uma ótima prática: te ajuda a dividir a sua apresentação por assuntos, deixando-a mais fácil de manter e compreender. Usar um tema que mostre as seções e subseções de cada frame é amigável para a sua audiência.

Outer theme e inner theme

Além de definir as cores dos elementos da sua apresentação, é possível fazer outras customizações. O comando \useoutertheme define um outer theme (tema externo) na sua apresentação que define o cabeçalho e a linha do rodapé de cada slide. Basta passar o nome do outer theme como argumento:

\useoutertheme{infolines}

As opções são:

  • infolines
  • miniframes
  • shadow
  • smoothbar
  • smoothtree
  • split
  • tree

O comando \useinnertheme define um estilo que está mais relacionado ao conteúdo do slide em si (tema interno).

\useinnertheme{rectangles}

As opções são:

  • circles
  • rectangles
  • inmargin
  • rounded

Dá para usar temas internos e externos ao mesmo tempo. É claro que se o tema que você usar definir estilos em um elemento que já foram definidos por um tema anterior, o estilo aplicado pelo tema anterior será sobrecarregado.

Esses temas internos e externos são usados pelos temas do Beamer.

Fontes

O comando \usefonttheme define a fonte do tema:

\usefonttheme{structurebold}

As opções são:

  • serif
  • professionalfonts
  • default
  • structurebold
  • structureitalicserif
  • structuresmallcapsserif

Você também pode editar as fontes que o Beamer usa em diversos tipos de elementos. Para fazer isso, use o comando \setbeamerfont, passando o nome do elemento que você deseja alterar a fonte e os atributos da fonte que você deseja alterar. Exemplo:

\setbeamerfont{alerted text}{size=\Large}

Outros elementos que podem ser alterados são o title e o block title, só para citar alguns. Outros atributos da fonte também podem ser alterados usando uma lista no estilo chave=valor com elementos separados por vírgulas.

Um exemplo de atributo que poderia ser alterado nessa lista é o family. Ele altera a família da fonte. O exemplo abaixo muda a fonte para uma fonte com serifa e define o tamanho dele como Large:

\setbeamerfont{alerted text}{size=\Large, family=\rm}

Alinhamento

Para mudar o alinhamento vertical dos quadros do Beamer, basta passar um caractere de alinhamento ao ambiente do quadro que você quer mudar o alinhamento padrão:

\begin{frame}[b] % alinha o frame na parte inferior
  \frametitle{Título do frame}
  \framesubtitle{Subtítulo do frame}
  Primeiro frame
\end{frame}

Note que o alinhamento do frame se aplica ao conteúdo dele, e não ao título nem ao subtítulo.

Também é possível alinhar na parte superior, usando o caractere t ou centralizar o quadro, usando o caractere c. Para mudar o alinhamento padrão de todos os frames, passe o caractere de alinhamento como argumento opcional da classe do documento:

\documentclass{beamer}[t]

Barra de navegação

As apresentações do Beamer tem uma barra de navegação. Você pode retirá-la usando o seguinte comando:

\beamertemplatenavigationsymbolsempty

Opções do frame

O comando \frame e o ambiente frame aceitam algumas opções interessantes. Algumas delas serão abordadas aqui. A primeira opção é a plain. Ela é útil quando você quer retirar os demais elementos do slide: cabeçalho, rodapé e sidebar, e deixar só o conteúdo do slide que você colocar. Exemplo:

\begin{frame}[plain]
  \includegraphics[scale=0.5]{natureza.png}
\end{frame}

Outra opção é a shrink. Ela é útil quando você tem um texto muito grande para caber num slide, mas que se fosse um pouco menor caberia no slide. Usando a opção shrink, o LaTeX usa algumas técnicas para fazer com que o seu texto caiba em um único slide.

Compile o documento abaixo:

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazilian]{babel}
\usepackage{lipsum}

\begin{document}
  \begin{frame}
    \lipsum[1-2]
  \end{frame}
  \begin{frame}[shrink]
    \lipsum[1-2]
  \end{frame}
\end{document}

A imagem abaixo mostra o primeiro frame:

Frame com texto longo no Beamer

A imagem abaixo mostra o segundo frame:

Frame com texto longo e a opção shrink no Beamer

Os dois frames tem o mesmo conteúdo. A diferença é que o segundo usa a opção shrink. Note que o primeiro frame teve uma parte do conteúdo "cortada", ou seja, ele não exibiu o conteúdo de forma integral. No segundo frame, por conta do uso da opção shrink, a fonte do texto do frame foi reduzida para caber no frame.

A terceira opção é a allowframebreaks, que permite que novos frames sejam criados automaticamente quando o conteúdo que você quer colocar no seu frame for grande demais para ser exibido em um único frame. Exemplo:

\begin{frame}[allowframebreaks]
  \lipsum[1-2]
\end{frame}

A quarta opção é a opção fragile. Ela é usada quando você quer usar algum ambiente verbatim no seu frame. Pode ser útil, por exemplo, se você for programador, e quiser colocar algum código em algum frame. Para usar o ambiente fragile, o comando \end{frame} precisa estar no início da linha.

\begin{frame}[fragile]
	\begin{verbatim}
		Abc \Teste
	\end{verbatim}
\end{frame}

Sem o fragile, o documento não compila.

Sumário

Assim como em um livro ou artigo, você também pode colocar um Sumário em uma apresentação do LaTeX. Basta usar o comando \tableofcontents, da mesma forma que já foi feito no tutorial do Sumário:

\begin{frame}
  \frametitle{Sumário}
  \tableofcontents
\end{frame}

Você também pode colocar o Sumário sempre que uma seção ou subseção for começada. Para exibir o Sumário sempre que uma seção for criada, basta usar o comando \AtBeginSection, dessa forma:

\AtBeginSection[]{
  \begin{frame}
    \frametitle{Sumário}
    \tableofcontents
  \end{frame}
}

Para ficar mais amigável para o seu público, passe o argumento currentsection ao comando \tableofcontents:

\tableofcontents[currentsection]

Para fazer o mesmo a cada subseção, passe o currentsection e o currentsubsection e use o comando \AtBeginSubsection:

\AtBeginSubSection[]{
  \begin{frame}
    \frametitle{Sumário}
    \tableofcontents[currentsection, currentsubsection]
  \end{frame}
}

Exibição condicional

É muito comum ver apresentações onde o conteúdo de um frame aparece gradualmente. Isso pode ser feito no Beamer de várias formas. Uma delas é usando o comando \pause. Esse comando faz com que o que estiver depois dele seja exibido apenas depois que você aperta a tecla da seta para baixo ou espaço ou alguma outra coisa que depende do programa que você está usando para visualizar a sua apresentação, mas geralmente um desses dois vai funcionar. Exemplo:

\begin{frame}
  Texto exibido logo no início
  \pause

  Texto escondido no início
  \pause

  Texto exibido após o anterior
\end{frame}

A cada vez que o \pause é usado, um novo slide é criado.

Essas animações são muito interessantes, principalmente quando usadas em ambientes de itens, como \itemize ou \enumerate. Neles, é possível especificar quando um item vai aparecer e quando ele vai desaparecer:

\begin{frame}
  \begin{enumerate}
    \item<1-2> Esse item é mostrado no 1º e no 2º slide;
    \item<2-2> Esse item só é mostrado no 2º slide;
    \item<3-> Esse item é mostrado do 3º slide em diante;
    \item<4> Esse item é mostrado apenas no 4º slide.
  \end{enumerate}
\end{frame}

Se o seu objetivo é revelar um item por slide, passe o argumento abaixo para o ambiente de itens:

\begin{enumerate}[<+->]
  \item Esse item é revelado no 1º slide;
  \item Esse item é revelado no 2º slide;
  \item Esse item é revelado no 3º slide;
\end{enumerate}

Há também outros comandos para lidar com os slides de um frame que serão mostrados: \uncover, \only e \visible. Primeiramente, veja como o \uncover funciona:

\begin{frame}
  \uncover<2->{aparece a partir do 2º slide\\}
  \uncover<3-4>{aparece no 3º e no 4º slide\\}
  \uncover<4>{aparece no 4º slide\\}
  \uncover<3->{aparece a partir do 3º slide\\}
\end{frame}

Veja que foram especificados os slides que se deseja descobrir da mesma forma que foi feito com os itens da lista. O \uncover é mais genérico. Ele tem um argumento que é o conteúdo que se quer cobrir ou descobrir.

A forma que o Beamer usa para cobrir os slides é torná-los invisíveis. Isso pode ser alterado:

\setbeamercovered{transparent}

Com esse comando, os slides que estão cobertos ficam transparentes. Em qualquer uma das formas, o Beamer sempre guarda espaço para os slides cobertos usando esse comando \uncover. Agora, substitua o comando \uncover pelo \visible no último frame:

\begin{frame}
  \visible<2->{aparece a partir do 2º slide\\}
  \visible<3-4>{aparece no 3º e no 4º slide\\}
  \visible<4>{aparece no 4º slide\\}
  \visible<3->{aparece a partir do 3º slide\\}
\end{frame}

A única diferença entre o \uncover e o \visible é que esse último torna os slides cobertos invisíveis mesmo com o comando \setbeamercovered{transparent}.

Há também o comando \only:

\begin{frame}
  \only<2->{aparece a partir do 2º slide\\}
  \only<3-4>{aparece no 3º e no 4º slide\\}
  \only<4>{aparece no 4º slide\\}
  \only<3->{aparece a partir do 3º slide\\}
\end{frame}

Esse comando atua quase da mesma forma que o \visible. A diferença é que ele não guarda espaço para os slides cobertos, como o \uncover e o \visible fazem.

Blocos

Blocos servem para separar conteúdos diferentes dentro de um slide. Um bloco é um ambiente, que recebe o seu título como argumento. O conteúdo do bloco é o que fica dentro do ambiente:

\begin{frame}
  \begin{block}{Cereais}
    \begin{itemize}
      \item Arroz
      \item Cevada
      \item Ervilha
    \end{itemize}
  \end{block}
  \begin{block}{Frutas}
    \begin{itemize}
      \item Abacate
      \item Maçã
      \item Mamão
      \item Melancia
      \item Morango
    \end{itemize}
  \end{block}
\end{frame}

O comando alert

Também é possível usar o comando \alert para destacar os itens conforme eles forem aparecendo. Esse comando segue a mesma lógica do destaque dos itens de uma lista:

\begin{frame}
  \begin{enumerate}
    \item<1> \alert<1>{Item aparece e é destacado apenas no 1º slide}
    \item<2-> \alert<2>{Item aparece a partir do 2º slide e é destacado
    apenas nele}
    \item<3-> \alert<3->{Item aparece e é destacado a partir do 3º slide}
    \item<4> \alert<4>{Item aparece e é destacado apenas no 4º slide}
  \end{enumerate}
\end{frame}

Efeitos de transição

É muito comum que apresentações tenham efeitos de transição entre um slide e outro. Para usar efeitos de transição, basta colocar o comando relacionado ao efeito no início do frame:

\begin{frame}
  \transblindshorizontal
  \lipsum[1]
\end{frame}

Além do efeito \transblindshorizontal que foi usado no exemplo, há outros efeitos de transição que podem ser aplicados em um frame, tais como o \transblindsvertical e o \transdissolve. A tabela abaixo fala sobre esses efeitos:

Efeito Descrição
\transblindsvertical Revela o slide da esquerda para a direita.
\transblindshorizontal Revela o slide de cima para baixo.
\transdissolve Dissolve lentamente o slide anterior, enquanto mostra gradualmente o novo slide.
Efeito transblindsvertical
Efeito transdissolve