terça-feira, 12 de julho de 2011

Posters Científicos no LaTeX

Chegou o que muitos esperavam: Como criar posters no LaTeX. Faremos posters de várias maneiras, usando várias ferramentas diferentes. Os tópicos são:
Tenha em mente que usaremos o TeX Live 2010 e o terminal no Linux junto com um editor de texto simples (gedit, por exemplo), mas usando a linha de comando DOS dá pra fazer tudo no Windows do mesmo jeito junto com o TeXworks (nativo do TeX Live).
O TeX Live 2010 oferece todos os pacotes que precisamos: a classe de documentos sciposter.cls e o pacote de estilos a0size.sty.
Obs: Caso você não tenha estes arquivos, baixe-os e coloque-os na mesma pasta do seu poster.

Preparando as figuras externas

É aconselhável que suas figuras sejam em EPS ou PDF*, para impressão em alta resolução, mas também é possível inserir figuras em JPG e PNG.
*Nota: fazendo alguns testes no Linux pude observar que teremos menos erros de compilação se fizermos todas as figuras em PDF.
Para converter as figuras de EPS para PDF abra o terminal e digite:

epstopdf figura01.eps

Para converter para qualquer um dos outros formatos leia convertendo figuras para outros formatos.
Além disso, podemos desenhar em PSTricks ou em TikZ diretamente no poster, como veremos mais adiante.
Pra começar vamos criar uma subpasta chamada figuras na mesma pasta onde estará o poster.

Baixe estas figuras, descompacte e coloque na pasta figuras.




Preparando o poster básico

1) Primeiro defina se você vai querer o poster no modo portrait ou landscape.
2) Depois defina qual será o tamanho do seu papel:
Obs: A fonte padrão para A0paper é 25pt (veja os outros na tabela a seguir e/ou sciposter manual pág. 6). Para alterar o tamanho das fontes veja em Tamanho de fonte.

A0paper 841 x 1189 mm (fonte 25pt)
A1paper 594 x 841 mm (20 pt)
A2paper 420 x 594 mm (17 pt)
A3paper 297 x 420 mm (14 pt)
A4paper 210 x 297 mm (10 pt)

Veja em paper sizes.
Podemos definir esses papéis com o pacote geometry digitando

\usepackage[a0paper]{geometry}

No meu caso, eu usei um papel de 900 x 1000 mm a pedido do CNMAC, congresso do qual participei em 2009.

3) Depois crie o arquivo do poster com o nome poster01.tex. E digite:

\documentclass{sciposter}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\geometry{paperwidth=90cm,paperheight=100cm,centering,
textwidth=77cm,textheight=87cm,left=3cm,top=3cm}

\documentclass{sciposter} é a classe de documentos que iremos usar no nosso poster.
\usepackage[utf8]{inputenc} - codificação de caracteres padrão do Linux, reconhece todos os acentos e caracteres especiais.
\usepackage{geometry} - pacote para definir o tamanho do papel e as margens.
paperwidth=90cm,paperheight=100cm - largura e altura do papel.
centering - com esta opção o poster ficará centralizado na página.
textwidth=77cm,textheight=87cm,left=3cm,top=3cm - largura e altura do corpo do texto, margem esquerda e superior.

4) Defina as cores com:

\definecolor{BoxCol}{RGB}{44,54,181} %azul

Você pode escolher uma paleta de cores no site Colour Lovers.
Baixe poster01.tex completo e use-o como modelo.

Compilando o poster

5) Para compilar abra o terminal na pasta onde está o poster.
Se seu poster tiver apenas figuras em PDF (no exemplo anterior eu usei a figura logo.pdf) compile digitando duas vezes o comando

pdflatex poster01

5.1) Caso seu poster contenha figuras EPS leia convertendo figuras para outros formatos, e converta as figuras para PDF.
Nota: Tanto o \leftlogo quanto o \includegraphics aceitam figuras em PNG, JPG ou PDF. Requer o pacote graphicx.

Obs: Se você quiser baixe comp01.rar, descompacte, coloque na mesma pasta do poster e digite

sh comp01.sh

que tudo será compilado automaticamente.

Poster com figuras PSTricks

O pacote posterPSTricks.rar
Todos os arquivos usados neste poster com PSTricks estão em posterPSTricks.rar.

Desenhando em PSTricks e convertendo para PDF
No tópico Desenhando com PSTricks temos uma introdução sobre como desenhar figuras com PSTricks.
1) No nosso exemplo, dentro da pasta posterPSTricks/figuras temos os arquivos figcirculoPST.tex e figParaboloideEliptico.tex.
2) Transforme os arquivos em PDF digitando

sh compfigcirc.sh
sh compfigParaboloide.sh

obtendo assim, os arquivos figcirculoPST.pdf e figParaboloideEliptico.pdf. (Leia convertendo figuras para outros formatos).



3) Agora vamos usar um preâmbulo separado do nosso poster. Assim, todos os comandos ficam num arquivo separado, deixando o arquivo do poster "mais limpo". Usaremos o arquivo preposter.sty que está dentro da pasta posterPSTricks.
4) Finalmente usamos o poster02.tex (leia seu conteúdo).
5) E compilamos digitando duas vezes o comando
pdflatex poster02
Todos os arquivos usados neste poster com PSTricks estão em posterPSTricks.rar.

Poster com figuras TikZ

No tópico Desenhando com TikZ temos uma introdução sobre como desenhar figuras com TikZ. Para compilar com figuras TikZ use somente o comando (duas vezes)
pdflatex poster03

Baixe o exemplo poster03.rar com figuras TikZ salvas como arquivos externos.
Obs: A compilação demora um pouquinho por causa das figuras 3D.
Neste exemplo usamos o preâmbulo prepostertikz.sty com várias configurações, dando destaque ao layout do poster e a inserção das figuras TikZ.
O TikZ nos oferece uma gama de possibilidades e recursos que podemos aplicar no nosso poster. Com os nodes e a idéia de posição absoluta podemos desenhar todo o layout do jeito que desejarmos.
Com o TikZ podemos desenhar qualquer figura geométrica baseada nas coordenadas cartesianas ou polares.
Com o pgfplots podemos desenhar gráficos de funções em 2 ou 3 dimensões.
E o tikz-3dplot é um pacote para desenhar qualquer objeto em 3 dimensões, desde poliedros até gráficos em coordenadas esféricas.
Leia o conteúdo do poster e do preâmbulo, inclusive as técnicas alternativas para solução de conflitos de pacotes. Neste modelo alguns newcommand são usados no próprio poster para preenchimento, e os mesmos são usados no preâmbulo para configuração do cabeçalho e rodapé. Experimente também trocar as cores do poster.






No poster04.rar usamos um layout diferente com TikZ, paleta de cores personalizada e imagem de fundo.


Layout
Para montar o layout usamos caixas com o ambiente minipage[t][altura]{largura}, onde definimos que a caixa de texto ficará no topo, com uma altura pré determinada (necessária para que o texto fique no ínicio da caixa ao invés do centro) e uma largura definida por \newdimen\largura; e usamos a opção node distance para definir a distância entre as caixas. Como mencionei, todas as dimensões são bem definidas, de tal forma que se você mudar muito essas dimensões terá que ajustar as outras caixas também, sempre se preocupando com os alinhamentos.
Repare num fator importante: a caixa de subtítulo aparece depois da caixa principal de texto porque ela depende da primeira para posicionamento da mesma.


Plano de fundo
Veja em preposterTikz.sty como inserir uma imagem de plano de fundo. No caso usamos a imagem abstract_0079.jpg (disponível na pasta figuras).

Cores
Usei três paletas de cores (Citrus Fruits, Me BEDRUME e Teal to Yellow) para escolher a melhor combinação de cores de acordo com a imagem de fundo.
E as cores estão definidas em preposterTikz.sty. Veja um exemplo a seguir:
\definecolor{marrom}{RGB}{200,77,0}
\definecolor{mandarin}{RGB}{246,116,20}
\definecolor{twoblue}{RGB}{16,126,160} %azul
\definecolor{GreenTeal}{RGB}{148,255,48} %verde
\definecolor{OrangeLampLight}{RGB}{255,193,48} %laranja



Baixe poster04.rar.

Fazendo poster no Beamer

O Beamer só aceita figuras em PDF, JPG ou PNG. Para compilar use duas vezes o comando
pdflatex poster01
Baixe o exemplo posterBeamer.rar com figuras PDF e/ou TikZ salvas como arquivos externos.
Para este poster usamos o pacote beamerposter e textpos.
A vantagem de se fazer poster com Beamer é que podemos usar seus temas e cores, e junto com textpos podemos inserir caixas de texto mais facilmente.
O beamerposter oferece todos os papéis conhecidos: a0b,a0,a1,a2,a3,a4 e a opção custom, que usaremos para definir o tamanho do nosso papel. Além disso, é possível ampliar ou reduzir o poster com a opção scale.
O preâmbulo desse poster é composto de 3 partes:


Leia o conteúdo do poster.
Para definir o tamanho do papel digitamos size=custom,width=90,height=100
Veja o código completo:
\usepackage[orientation=portrait,size=custom,width=90,height=100,
scale=1.4,debug]{beamerposter}
As configurações das caixas de texto estão em beamerthemeRG.sty. A primeira caixa foi posicionada no poster digitando
\begin{textblock}{42}(2,8)
\begin{block}{Introdu\c{c}\~ao}
Primeira caixa de texto.
\end{block}
\begin{block}{Layout}
Segunda caixa de texto.
\end{block}
As cores podem ser trocadas no preâmbulo inicial por
\usecolortheme{RG} ou
\usecolortheme{ConspiciousCreep} ou
\usecolortheme{SummerySlices}.
Além disso, pode-se usar as cores tema do Beamer.
Um poster com Beamer não aceita figuras EPS nem PSTricks, então devemos inserir figuras JPG, PNG, PDF (melhor resolução para impressão), ou desenhadas diretamente no TikZ.
Baixe o exemplo posterBeamer.rar com figuras PDF e/ou TikZ salvas como arquivos externos.


Exemplos e Sites

Veja o meu poster
A seguir o link de todos os posters:
poster01.tex
posterPSTricks.rar
poster03.rar (TikZ)
poster04.rar (TikZ)
posterBeamer.rar
E os outros arquivos essenciais:
figuras.rar
comp01.rar

Sites
Poster do prof. Sadao Massago
TeX do prof. Sadao Massago
Creating Academic Posters (and Printing Them) (Malaysian LaTeX User Group)
Fazendo Posters em LaTeX (feferraz.net)
Conference Posters in Linux (example), Conference Posters in Linux
Using LaTeX to produce conference posters
Design and Preparation of Effective Scientific Posters using LaTeX (The PracTEX Journal)
Making a poster in beamer by Rob J Hyndman

Palavras-chave: Poster Científico no LaTeX, Posters Científicos no LaTeX, posters com Beamer, posters com PSTricks, posters com TikZ, posters no LaTeX, Dicas, Tutoriais, Posters, posteres, como fazer poster no LaTeX.

13 comentários:

  1. Oi, Régis, mto bom o blog...!

    Tô usando o beamerposter, mas to meio perdida...

    *como eu faço pra colocar só uma figura no cabeçalho? se eu tiro a linha de comando "\newcommand{\logocabB}{ling.pdf}" dá erro...

    *vc diz q dá pra usar os temas e cores do beamer, mas não tô sabendo usar outros temas - só os seus. Onde eu encontro os temas com a extensão .sty? Eu imagino q deve tah em algum lugar aqui pq eu uso o beamer.

    Agradeço muitíssimo por toda a ajuda q vc já deu...

    ResponderExcluir
    Respostas
    1. Fernanda, não sei se eu beamer está instalado com todos os temas do beamer, mas provavelmente sim. Tente localizar os arquivos na pasta do TeXLive, em último caso tente atualizar sua distribuição (TeXLive ou MikTeX) não sei qual vc usa.
      Quando a deixar apenas uma figura, tente deixar o comando em branco, ou seja, não especifique nenhuma figura. Entendeu?

      Excluir
  2. Muito bom cara, de mais. Obrigado..!!!

    ResponderExcluir
  3. Oi, Régis.
    Esta procurando modelos de posters no latex e olha com quem me deparo.
    Mesmo longe vc continua me ajudando.
    Está fazendo um otimo trabalho. Parabéns.
    Abraços.

    ResponderExcluir
    Respostas
    1. Fico feliz em poder ajuda-la, qualquer coisa pode me chamar, pode ser por email tb. Abraços.

      Excluir
  4. Parabéns pelo blog!!! Tá ajudando não só a mim, mas muitos. Vlw

    ResponderExcluir
  5. Olá, parabéns pelas informações que postas aqui!
    Quando vou gerar o poster.... minha dúvida é no logo da universidade,
    tem que fazer algo ou quanto a isso é só rodar, tendo a imagem estando no mesmo lugar do arquivo .tex? aqui não rodou.
    Abraço

    ResponderExcluir
    Respostas
    1. Ola Jonas, não rodou porque? Qual o formato da sua imagem?
      Se for eps, rode com tex, se for jpg, png ou pdf, rode com latex.

      Excluir
  6. Olá, gostaria de saber como faço para mudar o tamanho do meu poster para o tamanho padrão a0

    ResponderExcluir
  7. Olá, gostaria de saber como faço para mudar o tamanho do meu poster para o tamanho padrão a0

    ResponderExcluir
  8. Obrigada por disponibilizar o arquivo .tex.
    eu aumentei a altura de 100cm para 120cm usando
    \geometry{paperwidth=90cm,paperheight=120cm,centering,
    textwidth=77cm,textheight=107cm,left=3cm,top=3cm}
    mas deixa um espaço em branco embaixo. tem que mudar em mais um lugar?
    obrigada

    ResponderExcluir
  9. Muito obrigado, foi de grande ajuda.

    ResponderExcluir