> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/overleaf-learn-latex-pt/artigos-aprofundados/26-how-to-draw-vector-graphics-using-tikz-in-latex.md).

# Como desenhar gráficos vetoriais usando TikZ no LaTeX

**Autor: Cody Herring (Maio de 2013)**

### Gráficos procedurais em LaTeX: o básico

Tradicionalmente, os gráficos são representados como bitmaps, com qualquer coisa de 1 bit (preto e branco) a 24 bits (cor verdadeira). Isso permite uma exibição simples de gráficos num ecrã de computador tradicional (retangular). No entanto, pode ser difícil e moroso gerar bitmaps que representem com precisão o que deve ser mostrado num documento ou em papel.

Os gráficos procedurais ajudam nisto ao permitir que seja usado um sistema mais bem definido e facilmente compreendido, como os Gráficos Vetoriais Escaláveis (SVG). Ao definir vetores, linhas e formas em vez de pixéis individuais, as imagens podem ser facilmente geradas para vários tamanhos, proporções, densidades de pixéis, qualidades de impressão e muito mais. Este tutorial fornecerá uma breve introdução aos gráficos procedurais usando o Formato Gráfico Portátil e o TikZ:

* **Formato Gráfico Portátil** (PGF) é um conjunto básico de ferramentas, permitindo produzir gráficos e figuras simples;
* **TikZ** é uma extensão do PGF, que permite o uso de uma multiplicidade de figuras pré-construídas.

Pode encontrar documentação extensa sobre TikZ e PGF no [Manual do PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf).

### Usando o PGF e o TikZ

Para usar o pacote TikZ, ele deve ser importado:

```latex
\usepackage{tikz}
```

Para desenhar imagens, o `tikzpicture` ambiente deve ser usado:

```latex
\begin{tikzpicture}
comandos vão aqui
\end{tikzpicture}
```

### Desenho básico

O TikZ permite desenhar muitas formas e caminhos diferentes. Aqui serão mostradas algumas técnicas básicas de desenho. Estas técnicas podem ser combinadas para formar desenhos mais complexos.

#### Caminhos retos

Um caminho reto de um ponto para outro pode ser desenhado com o `\draw` comando de acordo com um sistema de coordenadas X/Y (horizontal/vertical), assim:

```latex
\begin{tikzpicture}
\draw (5,0) -- (-5, 0);
\end{tikzpicture}
```

Múltiplos `\draw` chamadas também podem ser encadeadas. Isto desenha um conjunto de eixos de -5 a +5 na direção X, e de -2 a +2 na direção Y.

```latex
\begin{tikzpicture}
\draw   (5,0) -- (-5, 0)
        (0,2) -- (0,-2);
\end{tikzpicture}
```

![TikZFigure 1.png](/files/637becedaca33fc08340ddd242ca2503808a6a00)

Podem ser aplicados estilos a estas linhas adicionando parâmetros adicionais. Aqui está o mesmo diagrama, mas com linhas verdes, pontilhadas, ultra grossas, rodadas 15 graus no sentido contrário ao dos ponteiros do relógio:

```latex
\begin{tikzpicture}
\draw[green, dotted, ultra thick, rotate=15]
        (5,0) -- (-5, 0)
        (0,2) -- (0,-2);
\end{tikzpicture}
```

![TiKZFigure 2.png](/files/370663034491a000c7fddeb6d69609544473b9e5)

#### Alterar o tamanho de um diagrama

Por vezes, o tamanho predefinido de um diagrama é demasiado grande ou demasiado pequeno. Usando o `scale` parâmetro ao declarar o `tikzpicture` ambiente, é possível obter tamanhos diferentes mantendo as mesmas proporções:

```latex
\begin{tikzpicture}[scale=0.3]
\draw   (5,0) -- (-5, 0)
        (0,2) -- (0,-2);
\end{tikzpicture}
```

A imagem seguinte mostra o efeito antes e depois de aplicar `[scale=0.3]`:

![TiKZFigure 3.png](/files/15fc9a66dfc26d916482b5ded93c5f0eda248555)

#### Adicionar pontas de seta

As setas podem ser úteis para gráficos e diagramas, e são simples de incluir numa imagem TikZ. Os estilos demonstrados anteriormente podem ser usados, bem como várias pontas de seta diferentes.

```latex
\begin{tikzpicture}
\draw[->](0,0) -- (5,0);
\end{tikzpicture}

\begin{tikzpicture}
\draw[<<->>](0,0) -- (5,0);
\end{tikzpicture}

\begin{tikzpicture}
\draw[<<->>, ultra thick, blue](0,0) -- (5,0);
\end{tikzpicture}

\begin{tikzpicture}
\draw[|->>, thick, red](0,0) -- (5,0);
\end{tikzpicture}
```

![TiKZFigure 4.png](/files/655f59429344cfc7f2131efdb307dad9d2b40f94)

### Desenhar curvas

A forma mais simples de desenhar uma curva com o TikZ é especificar o ponto inicial e o ponto final, e o ângulo desejado a sair do ponto inicial e a chegar ao ponto final.

```latex
\begin{tikzpicture}
\draw[ultra thick]
(0,0) to [out=75,in=135](3,4);
\end{tikzpicture}
```

![TiKZFigure 5.png](/files/9ff8c15751f1c18efb5883e50b656ff0a94fee41)

Também podem ser criados diagramas muito mais complexos usando chamadas encadeadas. O PGF tentará desenhar as linhas mais suaves possível usando as direções fornecidas.

```latex
\begin{tikzpicture}
\draw[ultra thick]
(0,0)
to [out=90,in=180] (2,2)
to [out=270,in=0](0,0)
to [out=0,in=90](2,-2)
to [out=180,in=270](0,0)
to [out=270,in=0](-2,-2)
to [out=90,in=180](0,0)
to [out=180,in=270](-2,2)
to [out=0,in=90](0,0);
\end{tikzpicture}
```

![TIkZFigure 6.png](/files/2654820bba5b00843c9fd50c0a8a45bed9eac1b4)

### Conclusão

Não há fim para o que pode ser desenhado com gráficos vetoriais, e o seu valor ao permitir diagramas e imagens escaláveis e facilmente editáveis é uma grande vantagem para os utilizadores de LaTeX que procuram uma forma simples de usar gráficos. Esta publicação está apenas a arranhar a superfície do que é possível, mas deve ser uma boa introdução às capacidades dos gráficos vetoriais e do ambiente TikZ/PGF.

Recursos adicionais:

* [Introdução mínima ao TikZ](http://cremeronline.com/LaTeX/minimaltikz.pdf);
* [Documentação CTAN sobre TikZ e PGF](http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf);
* [Página wiki de aprendizagem do Overleaf](/latex/overleaf-learn-latex-pt/figuras-e-tabelas/05-tikz-package.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/overleaf-learn-latex-pt/artigos-aprofundados/26-how-to-draw-vector-graphics-using-tikz-in-latex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
