Plotando gráficos no Latex com o pacote Tikz

O pacote Tikz  é uma interessante e importante ferramenta para realizar desenhos na plataforma LaTeX, a exemplo de gráficos analógicos e digitais. Neste tutorial ensinaremos a desenhá-los utilizando o TeXstudio [1]. Utilizaremos o somador completo apresentado no artigo de [2]. Sua tabela verdade é representada a seguir: 
Tabela 1: Tabela Verdade Somador Completo
TabelaVerdade
Como o LaTeX é formado por linhas de comando, seguiremos nosso tutorial passo a passo até formar o gráfico desejado, desmembrando o código.
 
Para utilizar o pacote Tikz carregue o respectivo pacote no programa de execução LaTeX desejado. Neste tutorial utilizaremos o TeXstudio [1], caso queira instalar o mesmo, siga o manual [3].
 
Gere o documento no formato “artigo”, conforme a linha 1 mostrada abaixo. Logo após, os pacotes “tikz”, “verbatim” e “amsmath” foram carregados, sendo o “tikz” necessário para fazermos  desenhos com qualidade vetorial phentermine e precisão matemática, já o verbatim oferece um ambiente para comentários, complementando o pacote textual; incorporando o pacote  “amsmath” é carregada a parte de distribuição LaTeX que contribuem para acrescentar exemplos, funções e variáveis matemáticas.
 
\documentclass{article} %Linha 1
\usepackage{tikz}
\usepackage{verbatim}
\usepackage{amsmath}
 
Logo após ter sido carregados os pacotes, inicialize os ambientes do documento e figura (linha 1 e 2). Dentro do ambiente da figura, centralize (linha 3) e inicie o pacote “tikz” (linha 4).
 
\begin{document}
\begin{figure}[!h]
\begin{center}
\begin{tikzpicture}
Faremos a linha do tempo do nosso gráfico na horizontal, estes mesmos comandos podem serem utilizados para desenharmos, caso necessário, uma linha de referência vertical. Neste gráfico utilizaremos apenas a horizontal para não poluirmos nosso desenho.
%Linha do tempo
\draw[->, thick] (-0.5,0) — (8.5,0) node[right] {$t$};
 
Em seguida trace as linhas de referência tracejadas verticais e horizontais. Utilize o comando \draw para começar o desenho, como complemento adicione “dashed” para ser tracejada, defina a cor desejada e então as coordenadas de início e fim da linha. Lembrando que o Tikz utiliza um sistema de referência por coordenadas (x,y), adicione o ponto inicial, conexão “” e ponto final.
 
%Linhas Tracejadas Verticais
\draw[dashed, color=gray] (-0.2,1) — (8.2,1);
\draw[dashed, color=gray] (-0.2,2) — (8.2,2);
\draw[dashed, color=gray] (-0.2,3) — (8.2,3);
\draw[dashed, color=gray] (-0.2,4) — (8.2,4);
\draw[dashed, color=gray] (-0.2,5) — (8.2,5);
\draw[dashed, color=gray] (-0.2,6) — (8.2,6);
\draw[dashed, color=gray] (-0.2,7) — (8.2,7);
\draw[dashed, color=gray] (-0.2,8) — (8.2,8);
\draw[dashed, color=gray] (-0.2,9) — (8.2,9);
\draw[dashed, color=gray] (-0.2,10) — (8.2,10);
                                    
%Linhas Tracejadas Horizontais
                                    
\draw[dashed, color=gray] (1,-0.2) — (1,10.2);           
\draw[dashed, color=gray] (2,-0.2) — (2,10.2);           
\draw[dashed, color=gray] (3,-0.2) — (3,10.2);           
\draw[dashed, color=gray] (4,-0.2) — (4,10.2);           
\draw[dashed, color=gray] (5,-0.2) — (5,10.2);           
\draw[dashed, color=gray] (6,-0.2) — (6,10.2);           
\draw[dashed, color=gray] (7,-0.2) — (7,10.2);           
\draw[dashed, color=gray] (8,-0.2) — (8,10.2);           
 
Utilize o comando \node para selecionar um nó específico presente na coordenada (x,y) e então {Seu nome}, prossiga até que todos os sinais digitais estejam nomeados. 
 
%Nome dos Sinais
                                    
\node (A) at (-0.4,9) {A};
\node (B) at (-0.4,7) {B};
\node (B) at (-0.4,5) {C};
\node (B) at (-0.6,3) {Out};
\node (B) at (-1.1,1) {Carry Out};
 
Seguimos para o desenho dos sinais digitais, começaremos pelo A. Faz-se necessário desenhar traço a traço do mesmo, utilizando o comando \draw começamos o desenho da primeira porção do sinal, defina a uma cor para o mesmo, no nosso código utilizaremos preto e como complemento colocaremos ela em negrito “ultra thick“, ponha a referência para inicio do traço (x,y) conexão “” ao ponto final (x2,y2).
 
%Sinal A
                                    
\draw[black, ultra thick](-0.2,9) — (4,9);
\draw[black, ultra thick](4,9) — (4,9.5);
\draw[black, ultra thick](4,9.5) – (8,9.5);
 
Repita de forma análoga para construção do sinal B, C, Out e Carry Out:
%Sinal B
                                    
\draw[black, ultra thick](-0.2,7) — (2,7);
\draw[black, ultra thick](2,7) — (2,7.5);
\draw[black, ultra thick](2,7.5) — (4,7.5);
\draw[black, ultra thick](4,7.5) — (4,7);
\draw[black, ultra thick](4,7) — (6,7);
\draw[black, ultra thick](6,7) — (6,7.5);
\draw[black, ultra thick](6,7.5) — (8,7.5);
                        
%Sinal C
                                    
\draw[black, ultra thick](-0.2,5)– (1,5);
\draw[black, ultra thick](1,5) — (1,5.5);
\draw[black, ultra thick](1,5.5)–(2,5.5);
\draw[black, ultra thick](2,5.5) — (2,5);
\draw[black, ultra thick](2,5) — (3,5);
\draw[black, ultra thick](3,5) — (3,5.5);
\draw[black, ultra thick](4,5) — (4,5.5);
\draw[black, ultra thick] (3,5.5) — (4,5.5);
\draw[black, ultra thick] (4,5) — (5,5);
\draw[black, ultra thick](5,5) — (5,5.5);
\draw[black, ultra thick](5,5.5) — (6,5.5);
\draw[black, ultra thick](6,5.5) — (6,5);
\draw[black, ultra thick](6,5) — (7,5);
\draw[black, ultra thick](7,5) — (7,5.5);
\draw[black, ultra thick](7,5.5) — (8,5.5);
                                    
%Sinal Out
\draw[black, ultra thick](-0.2,3) — (1,3);
\draw[black, ultra thick](1,3) — (1,3.5);;
\draw[black, ultra thick](1,3.5) — (3,3.5);
\draw[black, ultra thick](3,3.5) — (3,3);
\draw[black, ultra thick](3,3) — (4,3);
\draw[black, ultra thick](4,3) — (4,3.5);
\draw[black, ultra thick](4,3.5) — (5,3.5);
\draw[black, ultra thick](5,3.5) — (5,3);
\draw[black, ultra thick](5,3) — (7,3);
\draw[black, ultra thick](7,3) — (7,3.5);
\draw[black, ultra thick](7,3.5) — (8,3.5);
                                    
%Sinal Carry Out
\draw[black, ultra thick](-0.2,1) — (3,1);
\draw[black, ultra thick](3,1) — (3,1.5);
\draw[black, ultra thick](3,1.5) — (4,1.5);
\draw[black, ultra thick](4,1.5) — (4,1);
\draw[black, ultra thick](4,1) — (5,1);
\draw[black, ultra thick](5,1) — (5,1.5);
\draw[black, ultra thick](5,1.5) — (8,1.5);
 
Encerre o desenho no tikz, a centralização da figura, a figura e o documento. Compile e aproveite seu gráfico.
 
GraficoLogico
Figura 1 – Gráfico Circuito Digital.
graphic
\documentclass{article}
\usepackage{tikz}
\usepackage{verbatim}
\usepackage{amsmath}
 
\begin{document}
            \begin{figure}[!h]
                        \begin{center}
                                    \begin{tikzpicture}
                                    %Linha do tempo
                        \draw[->, thick] (-0.5,0) — (8.5,0) node[right] {$t$};
                                    %\draw[->, thick] (0,-0.2) — (0,3.5) node[left] {$A$};
                                    
                                    %Linhas Tracejada Verticais
                                    
                                    \draw[dashed, color=gray] (-0.2,1) — (8.2,1);
                                    \draw[dashed, color=gray] (-0.2,2) — (8.2,2);
                                    \draw[dashed, color=gray] (-0.2,3) — (8.2,3);
                                    \draw[dashed, color=gray] (-0.2,4) — (8.2,4);
                                    \draw[dashed, color=gray] (-0.2,5) — (8.2,5);
                                    \draw[dashed, color=gray] (-0.2,6) — (8.2,6);
                                    \draw[dashed, color=gray] (-0.2,7) — (8.2,7);
                                    \draw[dashed, color=gray] (-0.2,8) — (8.2,8);
                                    \draw[dashed, color=gray] (-0.2,9) — (8.2,9);
                                    \draw[dashed, color=gray] (-0.2,10) — (8.2,10);
                                    
                                    %Linhas Tracejada Horizontais
                                    
                                    \draw[dashed, color=gray] (1,-0.2) — (1,10.2);           
                                    \draw[dashed, color=gray] (2,-0.2) — (2,10.2);           
                                    \draw[dashed, color=gray] (3,-0.2) — (3,10.2);           
                                    \draw[dashed, color=gray] (4,-0.2) — (4,10.2);           
                                    \draw[dashed, color=gray] (5,-0.2) — (5,10.2);           
                                    \draw[dashed, color=gray] (6,-0.2) — (6,10.2);           
                                    \draw[dashed, color=gray] (7,-0.2) — (7,10.2);           
                                    \draw[dashed, color=gray] (8,-0.2) — (8,10.2);           
                                    
                                    %Nome dos Sinais
                                    
                                    \node (A) at (-0.4,9) {A};
                                    \node (B) at (-0.4,7) {B};
                                    \node (B) at (-0.4,5) {C};
                                    \node (B) at (-0.6,3) {Out};
                                    \node (B) at (-1.1,1) {Carry Out};
                                    
                                    %Sinal A
                                    
                                    \draw[black, ultra thick](-0.2,9) — (4,9);
                                    \draw[black, ultra thick](4,9) — (4,9.5);
                                    \draw[black, ultra thick](4,9.5) — (8,9.5);
                                    
                                    %Sinal B
                                    
                                    \draw[black, ultra thick](-0.2,7) — (2,7);
                                    \draw[black, ultra thick](2,7) — (2,7.5);
                                    \draw[black, ultra thick](2,7.5) — (4,7.5);
                                    \draw[black, ultra thick](4,7.5) — (4,7);
                                    \draw[black, ultra thick](4,7) — (6,7);
                                    \draw[black, ultra thick](6,7) — (6,7.5);
                                    \draw[black, ultra thick](6,7.5) — (8,7.5);
                        
                                    %Sinal C
                                    
                                    \draw[black, ultra thick](-0.2,5)– (1,5);
                                    \draw[black, ultra thick](1,5) — (1,5.5);
                                    \draw[black, ultra thick](1,5.5)–(2,5.5);
                                    \draw[black, ultra thick](2,5.5) — (2,5);
                                    \draw[black, ultra thick](2,5) — (3,5);
                                    \draw[black, ultra thick](3,5) — (3,5.5);
                                    \draw[black, ultra thick](4,5) — (4,5.5);
                                    \draw[black, ultra thick] (3,5.5) — (4,5.5);
                                    \draw[black, ultra thick] (4,5) — (5,5);
                                    \draw[black, ultra thick](5,5) — (5,5.5);
                                    \draw[black, ultra thick](5,5.5) — (6,5.5);
                                    \draw[black, ultra thick](6,5.5) — (6,5);
                                    \draw[black, ultra thick](6,5) — (7,5);
                                    \draw[black, ultra thick](7,5) — (7,5.5);
                                    \draw[black, ultra thick](7,5.5) — (8,5.5);
                                    
                                    %Sinal Out
                                    \draw[black, ultra thick](-0.2,3) — (1,3);
                                    \draw[black, ultra thick](1,3) — (1,3.5);;
                                    \draw[black, ultra thick](1,3.5) — (3,3.5);
                                    \draw[black, ultra thick](3,3.5) — (3,3);
                                    \draw[black, ultra thick](3,3) — (4,3);
                                    \draw[black, ultra thick](4,3) — (4,3.5);
                                    \draw[black, ultra thick](4,3.5) — (5,3.5);
                                    \draw[black, ultra thick](5,3.5) — (5,3);
                                    \draw[black, ultra thick](5,3) — (7,3);
                                    \draw[black, ultra thick](7,3) — (7,3.5);
                                    \draw[black, ultra thick](7,3.5) — (8,3.5);
                                    
                                    %Sinal Carry Out
                                    \draw[black, ultra thick](-0.2,1) — (3,1);
                                    \draw[black, ultra thick](3,1) — (3,1.5);
                                     \draw[black, ultra thick](3,1.5) — (4,1.5);
                                     \draw[black, ultra thick](4,1.5) — (4,1);
                                     \draw[black, ultra thick](4,1) — (5,1);
                                     \draw[black, ultra thick](5,1) — (5,1.5);
                                     \draw[black, ultra thick](5,1.5) — (8,1.5);
                                    
                                    \end{tikzpicture}
                        \end{center}
            \end{figure}
            \end{document}
 
Seguindo para o nosso gráfico analógico, carregue novamente os pacotes utilizados no exemplo anterior e comece seu desenho da mesma forma, coloque a referência horizontal para x e vertical para y utilizando o comando \draw com os complementos [- >, thick] dos quais definirão o tipo de linha, a coordenada inicial (x,y) conexão “–” com a final (x2,y2), então adicione o nome a direita da linha com o comando node[right] {x}, repita o processo para traçar a referência horizontal.
\documentclass{article}
\usepackage{tikz}
\usepackage{verbatim}
\usepackage{amsmath}
 
\begin{document}
            \begin{figure}[!h]
                        \begin{center}
                                    \begin{tikzpicture}
                                    \draw[->, thick] (-0.2,0) — (8.1,0) node[right] {x};
                                    \draw[->, thick] (0,-1.5) — (0,1.5) node[left] {sen(x)};
 
Como realizado no gráfico analógico, faremos as linhas de referência:
 
                                    %Linhas de referência
                                    
                                    \draw[dashed, color=gray] (-0.2,1) — (8.1,1);
                                    \draw[dashed, color=gray] (-0.2,-1) — (8.1,-1);
 
                                    %Linha de referência
                                    
                                    \draw[dashed, color=gray] (1,-1.5) — (1,1.5);
                                    \draw[dashed, color=gray] (2,-1.5) — (2,1.5);
                                    \draw[dashed, color=gray] (3,-1.5) — (3,1.5);
                                    \draw[dashed, color=gray] (4,-1.5) — (4,1.5);
                                    \draw[dashed, color=gray] (5,-1.5) — (5,1.5);
                                    \draw[dashed, color=gray] (6,-1.5) — (6,1.5);
                                    \draw[dashed, color=gray] (7,-1.5) — (7,1.5);
                                    \draw[dashed, color=gray]  (8,-1.5) – (8,1.5);
 
Com isso temos o escopo do nosso gráfico pronto, falta apenas adicionar a função desejada. Comece inicializando o escopo para gráfico com o comando \begin{scope}, como complemento [shift={(0,0)}] para iniciarmos o nosso gráfico na coordenada (0,0). Utilize o comando \draw para desenhar o gráfico, como complemento adicione o domínio da função, no nosso exemplo adicionamos também o complemento para linha em negrito “ultra thick”, e smooth para que seja feita uma linha suave, pode-se alterar para qualquer o tipo de linha desejado.
\begin{scope}[shift={(0,0)}]
    \draw[domain=0:8, ultra thick, smooth]
 
Em seguida utilize o comando plot para plotar sua função, aqui utilizaremos sen(x), adicione a variável dependente, em seguida a função desejada entre chaves e finalize o escopo.
 
    plot (\x,{sin(\x r)});
  \end{scope}
Juntando todas as linhas de código, finalizando o mesmo, ficamos com:
 
GrafSeno
Figura 2 – Gráfico Sen(x).graphic
%Gráfico: Sen(x)
%Autor: Solysion
\documentclass{article}
\usepackage{tikz}
\usepackage{verbatim}
\usepackage{amsmath}
 
\begin{document}
            \begin{figure}[!h]
                        \begin{center}
                                    \begin{tikzpicture}
                                    \draw[->, thick] (-0.2,0) — (8.1,0) node[right] {x};
                                    \draw[->, thick] (0,-1.5) — (0,1.5) node[left] {sen(x)};
                                    
                                    %Linhas de referência
                                    
 
                                    \draw[dashed, color=gray] (-0.2,1) — (8.1,1);
                                    \draw[dashed, color=gray] (-0.2,-1) — (8.1,-1);
 
                                    %Linha de referência
                                    
                                    \draw[dashed, color=gray] (1,-1.5) — (1,1.5);
                                    \draw[dashed, color=gray] (2,-1.5) — (2,1.5);
                                    \draw[dashed, color=gray] (3,-1.5) — (3,1.5);
                                    \draw[dashed, color=gray] (4,-1.5) — (4,1.5);
                                    \draw[dashed, color=gray] (5,-1.5) — (5,1.5);
                                    \draw[dashed, color=gray] (6,-1.5) — (6,1.5);
                                    \draw[dashed, color=gray] (7,-1.5) — (7,1.5);
                                    \draw[dashed, color=gray]  (8,-1.5) — (8,1.5);
                                    
\begin{scope}[shift={(0,0)}]
    \draw[domain=0:8, ultra thick, smooth]
    plot (\x,{sin(\x r)});
 
\end{scope}
\end{tikzpicture}
\end{center}
\end{figure}
\end{document}
 
De forma análoga podemos plotar o gráfico do cos(2x).
 
GrafCos
Figura 3 – Gráfico Cos(2x).
Substitua o nome da referência horizontal por cos(2x) com a mudança de comando: 
                                    \begin{tikzpicture}
                                    \draw[->, thick] (-0.2,0) — (8.1,0) node[right] {x};
                                    \draw[->, thick] (0,-1.5) — (0,1.5) node[left] {cos(2x)};
Em seguida substitua a função em seu escopo com alteração da sua equação de plotagem:
 \begin{scope}[shift={(0,0)}]
    \draw[domain=0:8, ultra thick, smooth]
    plot (\x,{cos(2*\x r)});
\end{scope}
Implemente as alterações no código apresentado anteriormente, compile e aproveite seu gráfico.
 
Conclusão:
 
Tikz é um diferencial na hora de criar desenhos e gráficos em LaTeX sem precisar de um programa complementar ou uma plataforma gráfica, e como apresentado, uma ferramenta simples, eficaz e de fácil manuseio. Dúvidas e sugestões podem serem feitas via comentário ou em nossas mídias sociais [4].
 
Para saber mais acesse:
 
[1] 
[2]
[3] 
[4] , , , .

Deixe um comentário