gráficos


Neste vídeo apresento duas formas de representar funções usando código inserido no documento de \LaTeX.

Há muita gente – eu incluído – que têm problemas ao tentar usar o GNUPlot, tentem seguir as instruções que estão no vídeo e se tiverem problemas digam alguma coisa nos comentários, eu consegui pôr tudo a funcionar no MiKTeX 2.9 e WinEdt 8.0.

Ainda há muita coisa para descobrir no pgfplots e principalmente no tikz…

O manual do pgfplots pode ser encontrado aqui: http://texdoc.net/texmf-dist/doc/latex/pgfplots/pgfplots.pdf

O manual do tikz pode ser encontrado em: http://paws.wcu.edu/tsfoguel/tikzpgfmanual.pdf

Na sequência de um comentário do Régis, a quem desde já agradeço, o próximo post aborda a produção de imagens para documentos \LaTeX.

De facto são vários os posts onde falo de imagens mas todos eles são sobre a importação para o documento e nenhum sobre como fazer as nossas próprias ilustrações e realmente é muito vulgar que se queira descrever uma qualquer situação graficamente e não existir nenhuma imagem que se adapte completamente a ela. Nesses casos temos que ser nós a fazer uma de raiz.

Uma forma é recorrer a código para fazer o que queremos… humm… embora eu até simpatize com a ideia de ter tudo sobre as nossas mãos, de programarmos cada detalhe da figura… a verdade é que o tempo de que dispomos para fazer essas imagens, a não ser que sejamos já mestres no assunto, não é compensado pelo resultado quando comparamos com imagens feitas em programas externos e depois importadas para o documento.

Para quem quer realmente estudar o código para desenhar, aconselho googlar as palavras: pstricks ou tikz. Talvez também devam dar uma olhadela às galerias de imagens que se encontram e ver como o que se consegue fazer é realmente um espectáculo!!!

Um manual de Tikz pode-se encontrar aqui, um de pstriks podem fazer download aqui. Com certeza que os encontraram se fizeram a pesquisa que indiquei anteriormente.

Mas… e há sempre um mas… se estivermos apertados de tempo, e quisermos uma coisa bem feita ou aceitável, a programação das figuras torna-se impraticável (ou quase), e então se não se gostar de programação aí as coisas podem chegar a ser desesperantes.

A sorte é que já alguém pensou nessas dificuldades e criou editores de imagem ou geradores de código (não sei bem como lhes chamar pois fazem as duas coisas) que são muito fáceis de usar. E com um bónus… são completamente grátis!

Um deles é o TpX que vai na sua versão 1.4. Foi o primeiro que encontrei e acho que é muito bom! Podemos criar as nossas imagens em pdf, jpg, png,… tem um senão, é que depois temos que cortar apenas a parte que queremos mas isso faz-se facilmente usando a ferramenta snapshot(a pequena máquina fotográfica) do adobe acrobat. O TpX tem o seguinte aspecto

Podem fazer download aqui mas aconselho vivamente a que visitam a página oficial deste software e que acompanhem a sua evolução em http://tpx.sourceforge.net/.

O outro software que uso para fazer desenhos para os meus documentos é o LaTeXDraw:

Que também é gratuito e podem descarregar aqui. E claro que dou o mesmo conselho: sigam o desenvolvimento deste programa na sua página oficial: http://latexdraw.sourceforge.net/index.html.

A grande vantagem deste segundo programa, no meu ponto de vista, é não requerer um determinado sistema operativo – é desenvolvido em Java – enquanto que o TpX requer Windows – no entanto há referências a uma tentativa de adaptação deste último a outros SO.

O LaTeXDraw é mais agradável à vista mas não cria imagens em pdf – trabalha com PStricks – e tem aquilo me parece (talvez seja eu a não saber trabalhar com o programa) uma enorme desvantagem que é a dificuldade em tratar o texto como \TeX. Se eu quiser introduzir uma equação no TpX, basta-me escrevê-la como escreveria no editor de \LaTeX e ao gerar a imagem (escolher DVI, PS ou PDF)

esta equação aparece toda “bonitinha”, com o LaTeXDraw não consigo fazer isso… como já disse, talvez não tenha investigado o software com o devido empenho :).

Outra grande vantagem que eu encontro no TpX é a possibilidade de copiar gráficos 2D criados no

Mathematica e editá-los conforme eu quiser pois o TpX trata todos os elementos do gráfico de forma independente (traçado da função, eixos, fundo, etc.).

Podem verificar isso mesmo na imagem ao lado.

Como trabalho com PDF, gero sempre a imagem usando o botão PDF, mas mesmo aqui podem usar diferentes formas para criar a tal imagem, e algumas são melhores que outras. Se carregarem na seta para baixo junto ao botão podem ver as diferentes opções e depois ver qual a que mais vos agrada.

No LaTeXDraw, a exportação da imagem é feita através do Export as que está no menu File.

Bom, não sei o que vos diga mais… 🙂 experimentem, vejam com qual gostam mais de trabalhar e usem! Se tiverem alguma dificuldade coloquem as dúvidas em comentário que eu prometo tentar responder.

Algumas vezes – raras, ou não – acontece que as imagens que fixamos com o habitual h, não ficam exactamente no local onde foram “ancoradas”.

 Numa busca por resolver este problema, encontrei o package float que disponibiliza a opção H – coloca a imagem MESMO ali!

Assim, colocamos no preâmbulo a linha:

 \usepackage{float}

E podemos depois inserir a imagem que queremos do seguinte modo:

\begin{figure}[H]
texto de inserção de imagem
\end{figure}

Para terminar a trilogia sobre imagens 🙂 (não quer dizer que não volte ao assunto daqui a uns dias) vou falar sobre como colocar imagens lado a lado.

Temos que começar por colocar no preâmbulo a linha:

\usepackage[opções]{subfigure}

Pessoalmente uso esta linha apenas como \usepackage{subfigure} pois não encontrei grande relevância nas opções possíveis.

Depois, no local onde queremos inserir as imagens abrimos o ambiente figure ou table, e no seu interior vamos usar em concordância \subfigure ou \subtable. Daqui em diante vou usar o ambiente figure e o comando \subfigure.

Introduzimos o seguinte código no documento:

\begin{figure}[h]

\center
\subfigure[ref1][Legenda1]{\includegraphics[width=5cm]{caminhoimagem1}}

\qquad
\subfigure[ref2][Legenda2]{\includegraphics[width=5cm]{caminhoimagem2}}

\caption{Imagens lado a lado}

\end{figure}

O ambiente figure uso-o da mesma forma que usei antes, coloquei a opção [h] para forçar a imagem a aparecer no local exacto.

Depois a linha \center obriga a que tudo o que está dentro do ambiente fique centrado.

Vêm a seguir as linhas onde inserimos as figuras, no exemplo acima coloquei duas mas podemos colocar mais.

\subfigure[ref1][Legenda1]{\includegraphics[width=5cm]{caminhoimagem1}}

A explicação deste comando é simples.

  • ref1 – nome que a subfigura terá no documento.
  • Legenda1 – legenda que a figura terá no documento.
  • por fim usamos o comando \includegraphics como foi explicado anteriormente.

As opções ref1 e Legenda1 são facultativas, assim como a última linha

\caption{Imagens lado a lado}

que apenas serve para colocar uma legenda para todas as imagens.

Já o comando

\qquad

tem somente efeitos estéticos e espaça as imagens em dois caracteres.

Podem encontrar mais informação sobre o package subfigure em:

http://www.fi.infn.it/pub/tex/doc/orig/subfigure.pdf

Continuo a série sobre inserir imagens em documentos com a segunda parte de como inserir imagens em parágrafos.

Esta segunda forma de realizar esta tarefa é, para mim, muito melhor porque dá uma maior liberdade de configuração do texto que acompanha a imagem e também porque a própria apresentação da imagem é muito mais personalizável.

Começamos então por introduzir no preâmbulo a linha que chama o package picins:

\usepackage{picins}

Depois no corpo do texto, antes do parágrafo que deverá acompanhar a imagem colocamos a nossa imagem:

\parpic(lar., alt.)(x,y)[opções][posição]{parágrafo}

Aqui temos as várias opções que nos permitem fazer a tal personalização de que falava antes:

  • lar. e alt. definem a largura e altura da caixa que rodeia a imagem.
  • x e y marcam o deslicamento da figura relativamente à moldura (sinceramente ainda não encontrei razão para colocar valores aqui).
  • Na parte seguinte podemos colocar duas opções, uma de cada grupo que se segue:

1º grupo

  • l – coloca a imagem na parte esquerda do parágrafo
  • r – coloca a imagem na parte direita do parágrafo

2º grupo

  • f – para inserir uma moldura
  • d – inserir uma moldura a tracejado
  • o – moldura oval
  • s – moldura com sombra
  • x – moldura a 3D
  • Na parte da posição tratamos do alinhamento da figura na moldura com as tradicionais opções:
    • l – esquerda
    • t – topo
    • r – direita
    • b – fundo

Antes da linha \parpic podemos inserir vários comandos que influenciam a aparência do documento:

  • \picskip{n}, onde n define o número de linhas indentadas. Por defeito elas são indentadas até ao final da imagem.
  • \pichskip{distância}, marca a distância horizontal do texto à imagem.
  • \piccaption[]{legenda}, entre [] podemos inserir algumas opções como o nome que o programa dá à imagem usando \label{nome}, em legenda colocamos a legenda a colocar.

Encontramos mais informação sobre este package em:

http://www.ifi.uio.no/it/latex-links/picins.pdf

Algo bastante utilizado em documentos é a introdução de imagens em parágrafos, ou seja, ter imagens rodeadas de texto. Para conseguirmos realizar esta tarefa num documento \LaTeX existem mais do que uma alternativa.

Pessoalmente, conheço duas formas de o fazer e nos próximos dois posts vou explicar cada uma delas.

Usando o package picinpar (picture in paragraph – imagem em parágrafo)

Começamos por acrescentar ao preâmbulo a linha:

\usepackage{picinpar}

depois recorremos ao ambiente figwindow que temos de abrir com um begin e encerrar com um end, assim, no local onde queremos a imagem colocamos o seguinte:

\begin{figwindow}[n, l, fig, caption]
texto
\end{figwindow}

As opções a que podemos recorrer são:

  • n – número de linhas do texto escrito no interior do ambiente que irão ficar acima da imagem. Exemplos: 1, 2, 3, …
  • l – local onde será colocada a imagem. Aqui colocamos: r (à direita), c (ao centro), l (à esquerda)
  • fig – comando para inserir a imagem pretendida. Aqui recorremos ao comando \includegraphics e usamo-lo exactamente da mesma forma que foi explicada no post anterior.
  • caption – se quisermos que a nossa imagem tenha uma legenda usamos este espaço para a definir.

Exemplo:

\begin{figwindow}[2,l,
\includegraphics[width=3cm]{imagens/dicionarioTEX},dicionário TEX]
Texto
\end{figwindow}

Há um problema imediato com este tipo de abordagem: o facto de termos de saber mais ou menos quantas linhas de texto precisamos para que o mesmo chegue ao final da imagem, caso contrário, as linhas de texto imediatamente a seguir ao encerramento do ambiente ficarão sobrepostas à imagem.

Outro problema que encontrei é a dificuldade em formatar o texto quando estamos no ambiente figwindow. Por exemplo, quando fazemos um novo parágrafo, ele não aparece indentado.

Existe contudo outra forma mais completa e que nos dá muito maior liberdade. Dessa falarei no próximo post.

Para incluir imagens em documentos \LaTeX podemos usar alguns pacotes, mas o mais usual é o graphicx. Incluímos então no preâmbulo a linha:

\usepackage{graphicx}

Depois, no local onde queremos introduzir a imagem usamos o ambiente figure. Começo a explicação com um exemplo típico:

\begin{figure}[h]

\center

\includegraphics[width=10cm]{imagens/omeubrowser}

\label{omeubrowser}

\caption{O meu browser}

\end{figure}

Primeiro vou desde já explicar um mecanismo simples do \LaTeX. Muitas vezes recorremos a ambientes para realizar uma determinada tarefa, como inserir uma tabela, inserir texto centrado, equações ou mesmo uma ou mais imagens. Nesses casos temos que abrir o ambiente com um \begin{ambiente} e terminamos com um \end{ambiente}.

Neste caso o ambiente que usamos é o ambiente figure.

Logo de seguida temos a possibilidade de introduzir um conjunto de opções entre []. São elas:

  • h – Para que a imagem fique exactamente na parte do texto em que é introduzida (here);
  • t – Para a imagem aparecer no topo da página (top);
  • b – Para a imagem aparecer no fundo da página (bottom);
  • p – Para a imagem aparecer numa página só com figuras ou tabelas.

Depois aparece a opção \center que faz com que o que está dentro do ambiente, ou seja entre os comandos \begin e \end, esteja centrado. Claro que podemos sempre retirar este comando se não for isso o pretendido.

Na linha seguinte está o comando \includegraphics que é onde incluímos o nome do ficheiro da imagem que queremos incluir no documento. Mas temos muitas mais opções que podemos explicitar.

Sendo o comando total da forma:

\includegraphics[opção1, opção2, opção3, ...] {ficheiro}

As opções estão relacionadas com a aparência da imagem, algumas das mais importantes são: width (largura), height (altura), angle (roda a figura num ângulo explícito) e scale (transforma a figura de acordo com a escala indicada). Todas estas opções são usadas do seguinte modo: opção = valor, e não interessa a ordem em que são apresentadas. Exemplo: width=10cm – é importante indicar as unidades em que estamos a trabalhar.

Outras opções que podemos usar são:

  • keepaspectratio = true/false – usado para manter o aspecto da figura caso sejam indicados valores para a largura e altura.
  • origin = valor – para marcar o centro de uma rotação definida pela opção angle. Pode tomar o valor bl (canto inferior esquerdo), c (centro), t (topo), r(direita) ou qualquer combinação lógica destas opções como tr.
  • draft = true/false – se assinalada como true em vez de na impressão nos aparecer a imagem aparece apenas uma caixa vazia.

O caminho onde temos o ficheiro depende da estrutura dos directórios. Pessoalmente costumo criar um directório onde salvo o meu documento .tex e dentro desse directório crio um novo directório a que chamo “imagens”. Assim, supondo que queremos inserir uma imagem de nome árvore.jpg no documento temos que indicar o caminho imagens/árvore.jpg.

ATENÇÃO!! A barra usada no caminho é / e não \ para não haver confusão com um qualquer comando que inicia sempre com \.

A comando agora implementado no exemplo será:

\includegraphics[width=3cm]{imagens/árvore.jpg}

Que tipo de imagens usar?

Quando estamos a usar pdflatex o tipo de imagem que podemos usar são: .jpg, .png ou .pdf.

Por último temos as linhas

\label{omeubrowser}
\caption{O meu browser}

A primeira destas refere-se à identificação desta figura em especial. A segunda é usada para indicar a legenda a colocar na figura. O \LaTeX faz uma numeração automática dos gráficos inseridos.