1. Introdução

Este é um livro passo a passo sobre a criação de belíssimas ilustrações de qualidade profissional com a linguagem TikZ. Foi escrito para você, amador ou profissional, que precisa (ou adora) gerar imagens através da programação.

É um livro essencialmente prático: você precisa por a mão na massa logo nos primeiros parágrafos. Ou seja, você deve lê-lo diante do computador, digitando tudo direitinho, gerando as ilustrações sugeridas e ousando criar as próprias.

…​

1.1. O que é TiKZ?

De forma simples, a TikZ é uma linguagem de programação que produz gráficos. Foi criada por Till Tantau, um professor da Universidade de Lübeck, na Alemanha, para facilitar a criação de ilustrações no universo das linguagens derivadas da linguagem TeX, como a LaTeX e a ConTeXt.

TikZ é um acrônimo recursivo de TikZ ist kein Zeichenprogram, uma frase em alemão que significa TikZ não é um programa de desenhar. Till Tantau é um alemão com senso de humor nerd que deixou bem claro: com a TikZ você não vai desenhar. Vai programar.

Isso é o que você precisa saber para se localizar nesse universo. Tudo o mais será dito na hora certa, dentro do contexto certo.

1.2. O que eu preciso para começar?

Antes de prosseguir, você precisa ler urgentemente o Apêndice A. Nele, você vai aprender como instalar uma distribuição LaTeX e um editor de textos especializado. Com essas duas ferramentas, você estará pronto para seguir adiante.

1.3. Haverá matemática nesse livro?

Sim, mas não muita. Para começar, você precisa apenas saber marcar pontos em um sistema cartesiano, e saber, obviamente, o que é um plano cartesiano. O restante será explicado à medida que aparecer. Não se preocupe com isso: a gente vai dando um jeito à medida que avançamos.

1.4. Checagem final

Leu o Apêndice A? Tudo funcionando? Então vamos começar!

2. Malha

A malha é a principal ferramenta auxiliar na construção de ilustrações. Não é uma ilustração propriamente dita (embora possa assim ser considerada), mas uma estrutura quadriculada que usamos para facilitar a localização de pontos no plano (sua matemática está em dia?).

Vamos nos introduzir nos principais conceitos da TikZ através da simples criação de uma malha.

Você já gerou uma malha quando aprendeu a operar com o Texmaker no Apêndice A. Lembra?

2.1. Gerando uma malha

O programa que gera uma malha é o mesmo visto no Apêndice A:

\documentclass[tikz]{standalone}
\begin{document}
  \begin{tikzpicture}
    \draw (0,0) grid (5,5);
  \end{tikzpicture}
\end{document}

Executado, esse programa gera a seguinte imagem:

02.01 grid
Figura 1. Uma malha 5x5

O programa todo é tem 6 linhas de texto, mas só a quarta linha

\draw (0,0) grid (5,5);

é a que contém as instruções para que o processador do código-fonte "desenhe" uma malha. Como essa linha funciona?

2.2. O comando \draw

A TikZ, como toda linguagem de programação, possui comandos que dizem ao processador o que fazer com os dados fornecidos. O comando \draw diz ao processador: "vamos desenhar!".

Mas desenhar o quê? Observe que há o par ordenado (0,0) depois do comando. Esse par informa que o desenho começa na origem do sistema de coordenadas, o ponto (0,0).

O que começa na origem? Uma malha, um objeto de desenho chamado grid. Essa é a palavra que você coloca depois do primeiro par ordenado.

Mas uma malha pode não ter fim. Assim, precisamos dizer ao processador que ela acaba no ponto (5,5), colocado depois de grid. É assim que foi criada a ilustração acima.

2.2.1. E o ponto e vírgula no final?

No final da linha, há um ponto e vírgula, ;. Deve haver sempre um ponto e vírgula lá para dizer que o seu processo de desenho terminou.

Esquecer o ponto e vírgula é o erro mais comum de programação. A dica é, no nosso caso, digitá-lo logo depois de escrever \draw e ir preenchendo o restante "no meio" até acabar.

Vamos falar mais um pouco sobre o objeto grid para introduzir a noção de propriedades de desenho.

2.3. O objeto grid

O comando \draw recebe três parâmetros para gerar uma malha:

  • o ponto (0,0), que indica o canto inferior esquerdo da malha;

  • o objeto grid, que diz ao processador que desenho realizar;

  • o ponto (5,5), que diz qual é o canto superior direito da malha.

Uma malha é sempre criada assim. Mas observe que ela tem linhas muito escuras, o que pode atrapalhar um pouco nossa visão do desenho que vamos construir.

É possível suavizá-las. Para isso, Acrescente a propriedade [help lines] logo depois de \draw:

    \draw [help lines] (0,0) grid (5,5);

Execute novamente o programa, pressionando a tecla F1, e veja o resultado:

02.02 grid help lines
Figura 2. Linhas suavizadas

Compare as duas imagens e veja que as linhas ficaram mais claras.

Além de suavizar as linhas, introduzimos o conceito de propriedades de desenho, que vamos explorar a seguir.

2.4. Propriedades

Um objeto tem uma forma padrão com propriedades padronizadas. Mas podemos alterar essas propriedades. Em nosso caso, acrescentamos a propriedade [help lines] depois de \draw para indicar que queremos linhas auxiliares, mais suaves do que as linhas comuns.

Ainda assim, podemos querer linhas ainda mais suaves. Como fazer?

Vamos supor que queremos uma malha que tenha linhas com 10% da intensidade das linhas originais. A TikZ fornece uma maneira de alterar isso com a propriedade [gray!10], que vamos colocar no lugar de [help lines]:

\draw [gray!10] (0,0) grid (5,5);

Essa propriedade significa que você vai usar um tom de cinza (gray) com 10% da intensidade de uma linha preta.

Ao executar o programa, você terá:

02.03 grid gray10
Figura 3. Linhas com 10% de intensidade

Ficou claro demais, linhas quase imperceptíveis.

E se no lugar de 10 você usar 90?

\draw [gray!90] (0,0) grid (5,5);

Executado, o programa mostra:

02.04 grid gray90
Figura 4. Linhas com 90% de intensidade

Agora ficou forte demais, quase o original. Tente 30%:

\draw [gray!30] (0,0) grid (5,5);

E a malha fica:

02.05 grid gray30
Figura 5. Linhas com 30% de intensidade

Vamos deixar desse jeito.

Faça alterações em alguns números no programa e veja o que acontece. Alterar parâmetros é, de longe, a melhor maneira de se entender como cada coisa funciona no programa. Não se preocupe: seu computador não vai explodir!

2.5. Então, o que aprendemos?

Três são as coisas mais importantes aprendidas neste capítulo:

Comandos

determinam o que o processador vai fazer: \draw diz para desenhar;

Objetos

determinam o que será desenhado: grid diz para desenhar uma malha;

Propriedades

determinam a aparência do objeto: [gray!30] diz que as linhas terão 30% da intensidade normal (100%).

3. Segmentos

4. Circunferências

5. Letras e texto

Apêndice A: Instalação e funcionalidade básica

Aqui você aprenderá como obter as duas ferramentas necessárias para criar suas ilustrações: uma distribuição LaTeX e um editor de textos especializado.

Instalando o LaTeX

Vamos utilizar a TikZ dentro de um ambiente LaTeX. Daí, você precisa instalar um conjunto de programas que tomam o código-fonte escrito em LaTeX e o transforma em um documento formatado, em geral um PDF. Esse conjunto de programas é chamado de distribuição LaTeX.

Há várias distribuições LaTeX. As duas mais comuns são:

  1. MiKTeX, a que aconselhamos que você use no Windows;

  2. TeX Live, a que aconselhamos que você use no Linux, embora seja excelente também no Windows.

A instalação de uma ou de outra é bem simples:

  • no Windows, basta acessar o site https://miktex.org, fazer o download do programa e instalá-lo como de praxe;

  • no Linux, você deve instalar a TeX Live, encontrada nos repositórios de software de sua distribuição. Caso esteja usando a Ubuntu ou derivadas, digite no terminal de comandos:

sudo apt install texlive texlive-pictures texlive-latex-extra

Instalando o Texmaker

O Texmaker é um editor gratuito de LaTeX, que pode ser encontrado em seu site oficial. Há versões para Windows, Linux e Mac. Faça o download para sua plataforma e instale-o em seu computador.

Este é o editor que uso para realizar todas minhas ilustrações por um único motivo: ele facilita a exportação das imagens geradas para o formato PNG, que são as que usamos aqui nestas páginas.

Testando o ambiente

Depois de instalados, vamos testar a funcionalidade de nossos programas.

Abra o Texmaker, crie um novo arquivo no menu Arquivo e digite nele a estrutura básica de um programa em LaTeX:

\documentclass{article}
\begin{document}

\end{document}

Usuários do LaTeX estão acostumados com essa estrutura. Mas para gerar apenas as ilsutrações que queremos, e nada mais, vamos modificar a primeira linha e escrever:

\documentclass[tikz]{standalone}

A tela de seu computador deve estar agora com a seguinte aparência:

tikz000 Texmaker
Figura 6. Tela inicial do Texmaker

Salve esse pequeno programa com algum nome através da opção Salvar como do menu Arquivo.

Agora, acrescente a estrutura básica de uma ilustração em TikZ. Elas são as linhas em negrito indicadas abaixo:

\documentclass[tikz]{standalone}
\begin{document}
  \begin{tikzpicture}

  \end{tikzpicture}
\end{document}

Toda ilustração em TikZ será programada dentro dessas linhas! O que você vê acima é o programa mínimo que vamos utilizar durante este livro.

Como primeiríssima ilustração, vamos criar uma malha quadriculada, um instrumento de trabalho que usaremos com frequência. Acrescente a linha em negrito a seguir dentro da estrutura da TikZ:

\documentclass[tikz]{standalone}
\begin{document}
  \begin{tikzpicture}
    \draw (0,0) grid (5,5);
  \end{tikzpicture}
\end{document}

Salve esse programa. Para visualizar o resultado, tecle F1. Você deve estar vendo a seguinte tela:

tikz000 Texmaker2
Figura 7. Imagem gerada no Texmaker

Se o quadriculado aparecer ocupando toda a área de visualização, mude o zoom para 100% na caixa de seleção logo acima da figura. Altere esse valor até conseguir o tamanho desejado, alternando entre as opções.

Para salvar a imagem, clique com o botão direito sobre ela e selecione a opção Converter a página para imagem png no menu que aparece. Salve-a em alguma pasta de seu computador. Agora você pode inserir essa imagem em qualquer texto que desejar.

Apêndice B: Erros

Como na vida, erros em TikZ são inevitáveis. Lidar com eles é imprescindível para a geração de ilustrações e, por que não dizer, a geração de maior felicidade em nossas vidas.

Há três principais classes de erros que cometemos quando programamos:

Sintaxe

Quando escrevemos algum comando errado, esquecemos um ponto-e-vírgula, esquecemos de abrir ou fechar parênteses, etc. É o tipo de erro mais comum, de fácil solução.

Lógica

Quanto cometemos erros de pensamento na programação, acreditando que um determinado trecho de código sintaticamente correto geraria os efeitos esperados. Mas, ao ver a ilustração, percebemos algo que não esperávamos.

Planejamento

Quando erramos alguma medida ou alguma coordenada na fase de planejamento da ilustração e esse erro é passado para a programação. Erros como esse geram imagens distorcidas e são facilmente detectados quando observamos a ilsutração depois de compilada.

Os erros de sintaxe impedem a criação da ilustração. Eles aparecem em uma caixa de texto logo abaixo do código-fonte no TeXmaker. Às vezes, são crípticos, misteriosos, com breves e indecifráveis indicações de onde, afinal, o erro está.

Os erros de lógica e de planejamento não impedem a criação da ilustração. Mas você percebe algo errado na ilustração. O procedimento aqui é ver o que deu errado na ilustração e tentar corrigir o código que gera as linhas ou os atributos indesejados.