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

17 comentários:

  1. Pessoal,

    Boa tarde.
    Estou trabalhando um texto onde há expressões matemáticas e várias matrizes. Para as expressões, estou numerando via o comando equation.

    As matrizes, estou numerando manualmente e ao longo do texto, cito matrizes do grupo xx, matrizes do grupo 1, etc, etc.

    Quero utilizar uma numeração automática igual o equation. Dúvida: Tem como eu criar um segundo sistema de numeração?? Tipo:
    Para as expressões tenho o equation e para as matrizes?? Terei que numerar manualmente, na unha?

    Muito bacana o blog, dá até para fazer um forum.

    Abs,

    Stefano

    ResponderExcluir
    Respostas
    1. Stefano veja a resposta em http://latexbr.blogspot.com.br/2012/11/dica-criando-uma-nova-numeracao-em.html

      Excluir
  2. Eu tento inserir figura no latex usando os comandos ditos aqui, ele compila com a menssagem de erro line "\includegraphics{nome_da_figura}" figure not found.
    O que está havendo? Não consigo de jeito nenhum inserir essas figura, ela está em PNG vou tentar em EPS mas qual programa gera imagens em eps?

    ResponderExcluir
    Respostas
    1. Se as figuras estiverem em EPS rode com latex, se estiver em PNG, JPG ou PDF rode com pdflatex. Não se esqueça de carregar o pacote graphicx. Para converter imagens use o Imagemagick (modo terminal) ou o Gimp.

      Excluir
  3. Como posso rotacionar e alterar o tamanho ao mesmo tempo de uma imagem?

    ResponderExcluir
    Respostas
    1. Igor, basta fazer \includegraphics[width=3cm,angle=90] ou seja, separar as opções com vírgula.

      Excluir
  4. amigo minhas citações sumiram e ficaram assim "(?)", depois desse processo

    ResponderExcluir
  5. Não entendi muito bem, mas voce compilou como? Geralmente é necessário fazer a compilação 2 ou até 3 vezes. Por isso que uso Latexmk.

    ResponderExcluir
  6. Consegui incluir a figura exatamente como eu queria, mas aparece na legenda "Figura 1: solenóide" mas quera que aparecesse "Figura 4.1: solenóide", pois estou incluindo a primeira figura do quarto capitulo.
    como faço para mudar isso?

    comando usado:

    \begin{figure}[!h]
    \centering
    \includegraphics[scale=0.75]{Sol.pdf}
    \caption{Solenóide}
    \label{fig:Sol}
    \end{figure}

    ResponderExcluir
    Respostas
    1. Experimente

      \documentclass{report}

      \usepackage{chngcntr}
      \counterwithin{figure}{chapter}

      \begin{document}

      \chapter{Um}

      \begin{figure}
      \centering
      \includegraphics[width=0.5\textwidth]{figura01.pdf}
      \caption{Legenda 01}
      \end{figure}

      \chapter{Dois}

      \begin{figure}
      \centering
      \includegraphics[width=0.5\textwidth]{figura02.pdf}
      \caption{Legenda 02}
      \end{figure}

      \begin{figure}
      \centering
      \includegraphics[width=0.5\textwidth]{figura03.pdf}
      \caption{Legenda 03}
      \end{figure}

      \end{document}

      Excluir
  7. Régis, pode me ajudar por favor?

    Minha lista de tabelas não está ficando na ordem correta. Por exemplo: Tabela 1.1 do capítulo 1, Tabela 3.1 do capítulo 3. O que ocorre é que o Latex está contando tabelas, gráficos, figuras como se fossem a mesma coisa. Então na lista de tabelas fica: Tabela 1.7 (pois tenho seis gráficos anteriores a essa tabela) ao invés de Tabela 1.1

    Estou usando:
    \documentclass[english,brazil,times,oneside,pnumabnt,a4paper,12pt]{abntex2}

    \usepackage{chngcntr}
    \usepackage{hyperref}


    Obrigada!

    ResponderExcluir
    Respostas
    1. Ola Laura, experimente:
      \documentclass[english,brazil,times,oneside,pnumabnt,a4paper,12pt]{abntex2}
      \usepackage{chngcntr}
      \usepackage{hyperref}

      \counterwithin{figure}{chapter}
      \counterwithin{table}{chapter}

      \begin{document}

      \chapter{Um}

      \begin{figure}
      \centering
      \rule{9cm}{3.5cm}
      \caption{Um}
      \end{figure}

      \begin{figure}
      \centering
      \rule{9cm}{3.5cm}
      \caption{Tres}
      \end{figure}

      \begin{table}
      \centering
      \begin{tabular}{ccc}
      1 & 2 & 3 \\
      4 & 5 & 6 \\
      7 & 8 & 9
      \end{tabular}
      \caption{Tabela}
      \end{table}

      \end{document}

      Excluir
  8. OLa boa tarde, estou tentando utilizar o psfrag e o pstool para mudança de legenda de um gráfico em eps. Quando utilizo o psfrag, a legenda muda quando não tem outras imagem em outros formatos. Tenho qu mudar toda hora o dvi-ps-pdf. O pstool da ero no \psfragfig. como eu faço?

    ResponderExcluir
  9. Olá, gostaria da sua ajuda. Tento inserir uma imagem a qual tem mecanismo de síntese orgânica e não consigo. Não é a primeira vez que tento inserir um mecanismo e não consigo. O arquivo está no formato PNG. Obrigada!

    ResponderExcluir
  10. Gostaria que a imagem ficasse o mais próximo possível do texto, tanto do texto de baixo quanto do texto de cima. Como faço?

    ResponderExcluir
  11. Este comentário foi removido pelo autor.

    ResponderExcluir
  12. Boa tarde, preciso colocar a Fonte a esquerda como recomenda a ABNT, esta ficando centralizado, como posso proceder?

    begin{figure}[!htb]
    \centering
    \caption{\textbf{Fases da pesquisa tipo \textit{Survey}}}
    \includegraphics[scale=0.4]{Imagens/diagrama_survey.png}
    \label{figura_8}
    \fonte{Adaptado de \cite{moser_survey_2017}}
    \end{figure}

    ResponderExcluir