terça-feira, 19 de julho de 2011

Inserindo figuras no LaTeX

Veremos aqui a forma mais simples de inserir figuras no LaTeX. Veremos também como inserir subfiguras.
Para ilustrar baixe a figura do droopy.jpg. Esta figura está em JPG, tem 175x253 pixel e 6.17x8.93 cm.
O pacote a ser usado é o

\usepackage{graphicx}

Formatos

Ele suporta os formatos EPS, PDF, JPG e PNG. Sendo que os mais recomendados são EPS e PDF por oferecerem uma melhor qualidade de impressão.

Compilando

Se sua figura estiver em EPS você deverá compilar pelo LaTeX, se estiver em qualquer um dos outros formatos você pode compilar direto pelo pdfLaTeX.

Inserindo as figuras

A sintaxe básica para inserir as figuras é:

\begin{figure}[!htb]
\centering
\includegraphics{nome_da_figura}
\caption{Legenda}
\label{Rotulo}
\end{figure}
[!htb] - são as opções onde o LaTeX escolhe a melhor posição para inserir a figura na página, aqui (here), topo (top) ou embaixo (bottom), respectivamente. Se você colocar apenas um deles, por exemplo [!h], a figura ficará exatamente onde você inseriu.
\centering - a figura fica centralizada; se você omitir isto a figura ficará alinhada à esquerda.
\includegraphics - é onde se insere a figura.
\caption - é a legenda; opcional.
\label - é o rótulo, ou seja, um nome que identifica a figura para um referência cruzada, por exemplo; opcional.

Opções do \includegraphics

As opções do \includegraphics são:
Obs: vamos interpretar num como valor numérico, lembrando que números decimais se escreve com ponto, exemplo, 3.14
width=num define a largura da figura em cm, mm, pt, etc.
height=num define a altura.
keepaspectratio true/false verdadeiro ou falso. Quando verdadeiro mantém a proporção da figura de acordo com a largura e altura, mas não distorcendo a figura e nem excedendo a largura ou a altura.
scale=num redimensiona a figura por um fator de escala; por exemplo, 0.5 reduz a figura à metade, e 2 duplica.
angle=num esta opção rotaciona a figura em graus no sentido anti-horário.
trim=l b r t esta opção recorta a figura pela l left (esquerda), b bottom (por baixo), r right (direita) e t top (por cima). Onde l, b, r, t são comprimentos em valores numéricos.
clip para que o trim funcione defina clip=true
page=num se você inserir uma figura pdf de várias páginas esta opção permite que você escolha qual página você quer.

Exemplos

Exemplo 1
Vejamos um exemplo com o código completo:



\documentclass[a4paper]{report}
\usepackage[brazil]{babel}
\usepackage{graphicx}
% Define o caminho das figuras
\graphicspath{{figuras/}}
\begin{document}
  \begin{figure}[!htb]
    \centering
    \includegraphics{droopy}
    \caption{Legenda}
    \label{figRotulo}
  \end{figure}
\end{document}
Se você tiver uma subpasta chamada figuras o comando \graphicspath{{figuras/}} irá procurar suas figuras nessa pasta.
Nota: omitindo a extensão da figura o LaTeX irá procurar pelo formato mais conveniente na hora de compilar. Caso você declare a extensão, por exemplo, droopy.jpg o LaTeX usará exatamente este formato.

Exemplo 2
Agora nos concentraremos apenas no comando \includegraphics. Complete seu código.
Vejamos agora a figura reduzida pela metade:



\includegraphics[scale=0.5]{figuras/droopy}
Note que agora definimos o caminho completo da figura explicitamente.

Exemplo 3
Vejamos agora algumas opções de largura:

\includegraphics[width=3cm]{droopy}
\includegraphics[width=0.5\textwidth]{droopy}
\includegraphics[width=\paperwidth]{droopy}
Na primeira linha definimos a figura com uma largura de 3cm.
Na segunda definimos com metade da largura da linha de texto.
Na terceira linha a largura da figura é igual a largura da página. Também podemos definir [height=\paperheight].
Nota: Como não foi declarado o caminho da figura, significa que ela está na mesma pasta do seu arquivo tex principal.

Exemplo 4
Vamos girar nossa figura:



\includegraphics[angle=180]{droopy}

Exemplo 5
Agora, vamos recortar nossa figura:



\includegraphics[trim = 75mm 39mm 78mm 14mm,clip]{droopy.jpg}
No caso tiramos 75 mm do lado esquerdo, 39 mm de baixo, 78 mm do lado direito e 14 mm de cima.

Inserindo figuras feitas com TikZ

Para inserir figuras feitas com TikZ digite:



\documentclass[a4paper]{report}
\usepackage[brazil]{babel}
\usepackage{graphicx}
\usepackage{tikz}
\begin{document}
\begin{figure}[!htb]
  \centering
  \begin{tikzpicture}
    % desenhe aqui
    \draw[fill=yellow,rotate=18] (0:2) -- (72:2) -- (144:2) -- (216:2) -- (288:2) -- cycle;
    \draw[draw=green,fill=green!25,very thin] (0,0) -- (18:.5) arc (18:90:.5) node[above right] {$72^\circ$} -- cycle;
    \draw[red,very thin] (18:2) -- (0,0) -- (90:2);
  \end{tikzpicture}
  \caption{Figura feita com TikZ}
  \label{figtikz}
\end{figure}
\end{document}

Subfiguras

Baixe também snoopy1.jpg.
Para inserir subfiguras carregue o pacote
\usepackage{subfig}
. Então digite:



\documentclass[a4paper]{report}
\usepackage[brazil]{babel}
\usepackage{graphicx}
\usepackage{subfig}
% Define o caminho das figuras
\graphicspath{{figuras/}{fig_site/}}
\begin{document}
\begin{figure}[!htb]
\centering
\subfloat[Droopy]{
\includegraphics[height=5cm]{droopy}
\label{figdroopy}
}
\quad %espaco separador
\subfloat[Snoop]{
\includegraphics[height=5cm]{snoopy1}
\label{figsnoop}
}
\caption{Subfiguras}
\label{fig01}
\end{figure}
\end{document}

Veja também:
Posicionando figuras com TikZ
Convertendo figuras para outros formatos
LaTeX/Importing Graphics
LaTeX/Floats, Figures and Captions
Using Imported Graphics in LaTeX and pdfLaTeX