Este documento apresenta um tutorial sobre Beamer, uma classe LaTeX para criar apresentações. Ele descreve os principais comandos e ambientes para estruturar uma apresentação, incluindo seções, slides, títulos, sobreposições e outros recursos.
Tutorial completo sobre apresentações com Beamer em LaTeX
1. Tutorial de Beamer: apresenta¸oes em L TEX
c˜ A
Carlos A. P. Campani
24 de abril de 2006
1 Introdu¸˜o
ca
Beamer ´ uma classe L TEX para produzir apresenta¸˜es. Outras clas-
e A co
ses L TEX com o mesmo prop´sito s˜o Seminar e Prosper. Beamer possui
A o a
recursos semelhantes aos encontrados no Prosper, permitindo desenvolver
apresenta¸˜es dinˆmicas, com sobreposi¸oes (overlays) e transi¸˜es anima-
co a c˜ co
das entre lˆminas.
a
As apresenta¸˜es obtidas s˜o arquivos pdf que podem ser visualizadas no
co a
Acrobat Reader (dispon´ em http://www.adobe.com/products/acrobat/
ıvel
readstep2.html) ou no xpdf. Isto torna as apresenta¸˜es altamente port´veis.
co a
Para usar a classe Beamer deve-se instalar o pacote apropriado dispon´ıvel
em http://latex-beamer.sourceforge.net/. Tamb´m ´ necess´rio insta-
e e a
lar os pacotes pgf e xcolor. Importante observar que Beamer e L TEX s˜o
A a
necess´rios apenas para o desenvolvimento das lˆminas (slides), n˜o sendo
a a a
necess´rios para a visualiza¸˜o da apresenta¸ao, quando basta o Acrobat
a ca c˜
Reader ou o xpdf.
O processo de instala¸ao varia dependendo da distribui¸ao do TEX. No
c˜ c˜
teTEX (distribui¸˜o para Linux) descomprime-se os arquivos dos pacotes
ca
no diret´rio /usr/local/share/texmf/tex/latex e executa-se o comando
o
texhash.
Para usar a classe declara-se documentclass{beamer} no in´ do ar-
ıcio
quivo TEX. Beamer aceita a estrutura¸ao do texto usando section e
c˜
subsection. Slides individuais s˜o definidos dentro de frame{ ... } ou
a
begin{frame} ... end{frame}.
Para produzir o arquivo final da apresenta¸˜o, em formato pdf, n˜o com-
ca a
pilamos o arquivo usando L TE A X, e sim usamos o programa pdflatex (am-
1
2. plamente dispon´ nas instala¸oes TEX t´
ıvel c˜ ıpicas) que converte diretamente o
arquivo TEX para pdf.
Beamer apresenta algumas vantagens para usu´rios L TEX em rela¸˜o ao
a A ca
Powerpoint e outras alternativas:
• Suporte do L TEX para constru¸oes matem´ticas ´ superior ao encon-
A c˜ a e
trado na plataforma Word/Powerpoint;
• Facilidades para a estrutura¸ao das lˆminas decorrentes de L TEX (se¸ao,
c˜ a A c˜
subse¸˜o, etc.) e facilidades para produzir a bibliografia (BiBTEX);
ca
• Pode-se extrair as lˆminas da apresenta¸˜o a partir do texto L TEX de
a ca A
um documento qualquer (por exemplo, o artigo a ser apresentado em
um evento);
• Melhores recursos que as classes Seminar e Prosper, particularmente o
recurso uncover;
• Multiplataforma, pois tanto TEX pode ser usado em diversos sistemas
operacionais, quanto a apresenta¸ao em pdf pode ser visualizada no
c˜
Windows e em “sabores” do Unix.
2 Estrutura de uma Apresenta¸˜o Beamer
ca
Uma apresenta¸˜o Beamer ´ formada por um conjunto de frames, que s˜o
ca e a
as lˆminas da apresenta¸ao (slides). A apresenta¸˜o pode ser estruturada em
a c˜ ca
se¸oes e subse¸oes, e cada frame pode possuir um t´
c˜ c˜ ıtulo:
documentclass{beamer}
declara¸~es
co
begin{document}
section{ ... }
frame{ ... }
frame{ ... }
section{ ... }
frame{ ... }
frame{ ... }
...
end{document}
2
3. Cada frame pode ser definido por:
frame{
frametitle{T´tulo da l^mina}
ı a
Conte´do da l^mina
u a
}
ou
begin{frame}{T´tulo da l^mina}
ı a
Conte´do da l^mina
u a
end{frame}
Um exemplo de apresenta¸˜o Beamer ´:
ca e
documentclass{beamer}
usepackage[brazil]{babel}
usepackage[latin1]{inputenc}
title{Exemplo de Uso do Beamer}
author{Carlos Campani}
begin{document}
frame{titlepage}
section{Sum´rio}
a
frame{tableofcontents}
section{Usando Beamer}
frame
{
frametitle{Caracter´sticas}
ı
begin{itemize}
item<1-> Classe LaTeX;
item<2-> Sobreposi¸ao (overlays);
c~
item<3-> Transi¸oes animadas.
c~
end{itemize}
}
end{document}
No cabe¸alho do arquivo, os comandos usepackage[brazil]{babel} e
c
usepackage[latin1]{inputenc} s˜o pacotes L TEX que ativam suporte `
a A a
l´
ıngua portuguesa e acentua¸˜o pelo teclado.
ca
3
4. O primeiro frame ´ a p´gina de t´
e a ıtulo do trabalho, definida pelos coman-
dos title, author e date (que n˜o est´ sendo usado no exemplo), e
a a
gerada pelo comando frame{titlepage}. O segundo frame ´ o sum´rio
e a
da apresenta¸ao, que ´ definido pelos comandos section ao longo do docu-
c˜ e
mento, e gerado pelo comando frame{tableofcontents}.
Observe que no terceiro frame se define uma sobreposi¸ao (overlay), es-
c˜
pecificada por <1->, <2-> e <3->, que define a seq¨ˆncia em que os overlays
ue
ser˜o exibidos na apresenta¸ao.
a c˜
3 Usando Beamer
Usualmente uma apresenta¸˜o Beamer come¸a por uma p´gina de t´
ca c a ıtulo,
que cont´m informa¸oes sobre o t´
e c˜ ıtulo e autor do trabalho que ser´ apresen-
a
tado, seguida por uma lˆmina contendo o sum´rio da apresenta¸˜o. Para
a a ca
isto usa-se:
frame{titlepage}
frame{
frametitle{Sum´rio}
a
tableofcontents
}
O comando titlepage usa as informa¸˜es declaradas no cabe¸alho por
co c
meio de title, author e date para produzir a p´gina de t´
a ıtulo. O co-
mando tableofcontents gera o sum´rio usando as informa¸oes declaradas
a c˜
nos comandos section e subsection.
Podemos estar interessados em repetir automaticamente o sum´rio no
a
in´ de cada se¸˜o (ou subse¸˜o), com a se¸˜o (ou subse¸˜o) corrente apa-
ıcio ca ca ca ca
recendo destacada. Para isto se usariam os comandos:
AtBeginSection[]
{
begin{frame}
frametitle{Sum´rio}
a
tableofcontents[currentsection]
end{frame}
}
4
5. Esta declara¸˜o informa ao Beamer que “cada vez que se encontrar o in´
ca ıcio
de uma se¸ao, deve-se mostrar o sum´rio, destacando a se¸ao corrente”. Este
c˜ a c˜
recurso ajuda a audiˆncia a contextualizar-se durante a apresenta¸ao.
e c˜
Caso se queira fazer o mesmo para as subse¸˜es, usar-se-ia:
co
AtBeginSubsection[]
{
begin{frame}
frametitle{Sum´rio}
a
tableofcontents[currentsection,currentsubsection]
end{frame}
}
Alguns temas pr´-definidos do Beamer permitem que se coloque um logo-
e
tipo nas lˆminas. Este logotipo ´ util para identificar a institui¸˜o respons´vel
a e´ ca a
pela apresenta¸ao, ou o evento em que a apresenta¸ao est´ ocorrendo. Para
c˜ c˜ a
definir o logotipo usa-se:
pgfdeclareimage[height=1.4cm]{logo}{ufpel}
logo{pgfuseimage{logo}}
O comando pgfdeclareimage associa um arquivo de imagem com um
identificador (neste caso, logo). Formatos v´lidos de imagem s˜o JPG,
a a
PNG e PDF. O arquivo de imagem ´ declarado sem extens˜o, e o comando
e a
pgfdeclareimage ir´ procurar por uma extens˜o v´lida. No exemplo, foi
a a a
usado o arquivo ufpel.jpg, embora tenha sido declarado apenas ufpel no
comando pgfdeclareimage.
O comando logo define o logotipo, usando a imagem definida pelo co-
mando pgfuseimage.
Na figura 1 podemos ver um exemplo de p´gina de t´
a ıtulo em uma apre-
senta¸˜o que usa o tema Berkeley. Observe-se o logotipo no canto superior
ca
esquerdo da lˆmina.
a
Para se definir um frame usa-se o ambiente “frame”, que recebe como
argumento o t´ıtulo desejado para o frame:
begin{frame}{T´tulo do frame}
ı
...
end{frame}
ou ent˜o o comando frame:
a
5
7. frame{
frametitle{T´tulo do frame}
ı
...
}
que adicionalmente exige o uso do comando frametitle se quisermos atri-
buir um t´ıtulo ao frame.
Se for usado o ambiente “verbatim”, ou o comando verb, dentro de um
frame, devemos declarar o frame como fr´gil :
a
begin{frame}[fragile]
...
end{frame}
Um recurso interessante para organizar a informa¸ao dentro dos frames
c˜
´ o bloco. O uso de blocos permite agrupar um conjunto de informa¸oes de
e c˜
uma lˆmina em uma unidade (o bloco) com um t´
a ıtulo.
Blocos s˜o definidos usando-se o ambiente “block”:
a
begin{block}{T´tulo do bloco}
ı
...
end{block}
Um exemplo de uso de blocos ´ apresentado na figura 2, cujo resultado
e
foi obtido por meio dos seguintes comandos:
begin{frame}
frametitle{Quais as partes de um aut^mato finito?}
o
begin{block}{Fita de Entrada}
Dispositivo de entrada que cont´m a informa¸~o a ser
e ca
processada.
end{block}
begin{block}{Unidade de Controle}
Reflete o estado da m´quina. Possui uma unidade de leitura
a
(cabe¸ote da fita) que acessa a fita de entrada.
c
end{block}
begin{block}{Programa ou Fun¸~o de Transi¸~o}
ca ca
Fun¸~o que controla a leitura da fita e as transi¸~es de
ca co
7
8. Figura 2: Blocos
estados.
end{block}
end{frame}
Muitas vezes ´ necess´rio organizar a informa¸˜o em uma lˆmina na forma
e a ca a
de colunas. Beamer permite definir quantas colunas quisermos nas lˆminas.
a
Para isto usamos o ambiente begin{columns} ... end{columns}, e de-
finimos as colunas com o ambiente begin{column} ... end{column}:
begin{columns}[t]
begin{column}{5cm}
...
end{column}
8
9. begin{column}{5cm}
...
end{column}
end{columns}
No exemplo dado, posicionamos as colunas dentro do ambiente “columns”
alinhadas pelo topo (usando begin{columns}[t]), e cada coluna ter´ 5cm
a
de largura (especificado usando begin{column}{5cm}).
Beamer fornece bastante flexibilidade para definir sobreposi¸oes (over-
c˜
lays). Um exemplo de uso de overlays ´:
e
begin{itemize}
item <1-> Primeira coisa
item <2-> Segunda coisa
item <3-> Terceira coisa
end{itemize}
O que aparece ao lado dos item s˜o as especifica¸˜es de overlays (<1->,
a co
<2->, e <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.
co
Nas especifica¸˜es, overlays s˜o separados por v´
co a ırgulas, para indicar seq¨ˆncias
ue
desconexas ou por “-”, para indicar intervalos. Assim, sejam os seguintes
exemplos de especifica¸ao de overlay:
c˜
• <3-> mostra o item do terceiro overlay em diante;
• <2-5> mostra entre o segundo e o quinto overlay;
• <-4> mostra o item at´ o quarto;
e
• <1,4> mostra no primeiro e no quarto;
• <2,4-6> mostra no segundo e entre o quarto e o sexto overlay.
Para obter transparˆncia declara-se setbeamercovered{transparent}
e
e se usa uncover<especif>{ ... } em substitui¸ao ao ambiente “itemize”.
c˜
Por exemplo:
9
10. setbeamercovered{transparent}
begin{frame}
begin{block}{Defini¸~o}
ca
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}
No exemplo, o comando setbeamercovered{invisible}, ao final dos
overlays, desabilita a transparˆncia e retorna ao comportamento normal de
e
esconder os itens nos overlays.
Para destacar o item corrente nos overlays usa-se alert@ na especifica¸ao
c˜
de overlay:
begin{itemize}
item <1- | alert@1> Primeira coisa
item <2- | alert@2> Segunda coisa
item <3- | alert@3> Terceira coisa
end{itemize}
Overlays podem tamb´m ser usados com blocos, especificados da seguinte
e
maneira:
begin{frame}{Overlays com blocos}
begin{block}{Primeiro bloco}<1->
Este ´ o primeiro bloco
e
end{block}
begin{block}{Segundo bloco}<2->
Este ´ o segundo bloco
e
end{block}
end{frame}
10
11. Tamb´m podemos usar overlays com imagens. Para isto basta especificar
e
os overlays nos comandos pgfuseimage:
pgfuseimage{imagem1}<1>
pgfuseimage{imagem2}<2>
pgfuseimage{imagem3}<3>
Este ´ um exemplo de uso de overlays com imagens e usando colunas:
e
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¸ao para estado $q_2$
c~
item <3- | alert@3> L^ $0$ e fica no estado $q_2$
e
item <4- | alert@4> Transi¸ao para o estado final $q_3$
c~
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}
11
12. 1 2
3 4
Figura 3: Overlays com imagens e colunas
cujo efeito pode ser visto na figura 3. Observe como os overlays nas ima-
gens geram uma anima¸ao na primeira coluna que est´ sincronizada com os
c˜ a
overlays nos itens da segunda coluna.
Beamer permite efeitos na transi¸˜o das lˆminas. Para isto podemos usar,
ca a
entre outros, os comandos:
• transdissolve – dissolve a lˆmina anterior;
a
• transsplitverticalout – a pr´xima lˆmina se abre como uma cor-
o a
tina no sentido horizontal;
• transblindshorizontal – a lˆmina anterior converte-se linha a linha.
a
12
13. Para mais informa¸oes sobre os efeitos em transi¸˜es de lˆminas consulte
c˜ co a
o manual de Beamer.
4 Usando Temas
Existem diversos temas pr´-definidos que devem atender a maioria das
e
necessidades. O nome de um tema normalmente ´ o nome de uma cidade
e
onde acontece um evento de inform´tica.
a
Para declarar o tema desejado usa-se usetheme{ ... } no cabe¸alho
c
do arquivo TEX.
Alguns temas dispon´ ıveis s˜o mostrados nas figuras 4 e 5.
a
Para mais informa¸˜es sobre os temas e como a aparˆncia de uma apre-
co e
senta¸˜o pode ser personalizada, consulte o manual de Beamer.
ca
5 Exemplo de Apresenta¸˜o Beamer
ca
Em anexo a este documento encontram-se os arquivos de uma apre-
senta¸˜o exemplo que ser´ util para compreender o uso de Beamer. A maioria
ca a´
dos recursos apresentados neste tutorial s˜o explorados nesta apresenta¸ao.
a c˜
13
14. AnnArbor
Berkeley
Boadilla
Figura 4: Alguns temas dispon´
ıveis
14
15. CambridgeUS
Madrid
Montpellier
Figura 5: Mais temas
15