segunda-feira, 3 de janeiro de 2011

Desenhando com TikZ

TikZ é um poderoso pacote de desenho dentro do LaTeX desenvolvido por Till Tantau. A linguagem do TikZ é similar a do Postscript (baixe este livro). Além de figuras com qualidade vetorial e precisão matemática, como retas, arcos, círculos, gráficos de funções; o TikZ também trabalha com curvas, esquemas (tipo organograma), etc.
Dois recursos exclusivos e muito úteis do TikZ é o (node) e posição absoluta. Veja no link.
Aqui veremos apenas o básico de TikZ. Mais informações no final do tópico.
Para inserir uma figura TikZ carregue o pacote TikZ seguido de um preâmbulo
mínimo.

\documentclass{article}
\usepackage{tikz}
\begin{document}
 \begin{tikzpicture}
  %escreva os códigos de desenho TikZ aqui.
 \end{tikzpicture}
\end{document}

Vamos ao primeiro exemplo com um simples segmento de reta.



\documentclass{article}
\usepackage{tikz}
\begin{document}
 \begin{tikzpicture}
  \draw (0,0) -- (2,1); %reta
 \end{tikzpicture}
\end{document}

Lembrando que todos os elementos do seu desenho devem estar entre \begin{tikzpicture} e \end{tikzpicture} vejamos o código mais simples para mais alguns elementos:

\begin{tikzpicture}
%círculo com centro na origem e raio unitário
 \draw[blue] (0,0) circle (1);
%também podemos usar unidades de medida
 \draw (0,0) circle (8mm);
%retângulo
 \draw (-1,-1) rectangle (2,1);
%arco
 \draw[->,red] (1.2,0) arc (0:60:1.2);
\end{tikzpicture}
%curvas
\begin{tikzpicture}
 \draw[line width=10pt] (0,0) .. controls (1,1) .. (4,0)
  .. controls (5,0) and (5,1) .. (4,1);
 \draw[color=gray] (0,0) -- (1,1) -- (4,0) -- (5,0) -- (5,1) -- (4,1);
\end{tikzpicture}



%gráfico de função
\begin{tikzpicture}
  \draw[->] (-3,0) -- (3,0);
  \draw[->] (0,-1) -- (0,4);
  \draw[blue,smooth,samples=100,domain=-2.0:2.0] plot(\x,{\x^2});
\end{tikzpicture}



%função seno
\begin{tikzpicture}
  \draw[->] (-3.14,0) -- (3.14,0);
  \draw[->] (0,-1.1) -- (0,1.1);
  \draw[blue,smooth,samples=100,domain=-3.14:3.14] plot(\x,{sin(\x r)});
\end{tikzpicture}


Repare em sin(\x r) o uso do 'r' para conversão em radianos; sem ele não teríamos a curva do seno como a conhecemos.

A vantagem do TikZ também é que podemos compilar via PDFLaTeX direto.

Veja exemplos de Tikz no site TeXample e leia PGF manual 2.10 e PGF/TikZ Graphics for LaTeX