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

O Beamer é uma classe de documentos de LaTeX criada para gerar apresentações em slides e é o mais popular nesse segmento de classes de documentos para apresentações no LaTeX. É uma alternativa ao Power Point para criar apresentações, com toda a flexibilidade e a consistência do LaTeX, para citar apenas algumas vantagens dele sobre o software de apresentações do Windows.

Instalação

Se você ainda não tiver o Beamer instalado e estiver usando o Ubuntu, você pode instalar o Beamer instalando 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}
        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.

Após a compilação, 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.

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. 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:

\usetheme{Palo Alto}
\usecolortheme{whale}

É possível usar mais de um tema de cores em um mesmo documento.

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. Exemplo:

\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. 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:

\frametitle{Título do frame}
    \framesubtitle{Subtítulo do 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. Se você compilar e ver a apresentação gerada a partir desse documento, verá que você será informado a qual seção ou subseção cada frame pertence. 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. Além disso, organizar sua apresentação em seções e subseções e usar um tema que mostre essas informações no decorrer da apresentação é 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{nome-tema}

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{nome-tema}

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{nome-fonte}

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}[t]

Essa marcação alinha o conteúdo do quadro no topo. Também é possível alinhar na parte inferior, usando o caractere b ou centralizar o quadro, usando o caractere c. Para mudar o alinhamento padrão de todos os quadros, 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.

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 antes em outros documentos:

\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}

Perceba que 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}

Veja que realmente se tratam de slides, assim como ocorreu quando o \pause foi usado.

Como você viu, foram especificados dois números inteiros, que representam a partir de qual slide do frame o item vai aparecer e qual é o último slide no qual o item vai aparecer.

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

\begin{enumerate}[<+->]
    \item Esse item é mostrado no 1º slide;
    \item Esse item é mostrado no 2º slide;
    \item Esse item é mostrado 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. Observe que 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. Perceba que 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.

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

Há também o comando \only. Substitua o comando \visible pelo \only no frame do último exemplo.

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{block}{Título do bloco}
    Conteúdo do bloco
\end{block}

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.