posicionamento de um texto no \node do TIKZ

271 views
Skip to first unread message

Francisco​ Dias Franco

unread,
Jun 17, 2021, 6:32:02 AM6/17/21
to late...@googlegroups.com
Olá, Pessoal.
Eu estava querendo aprender mais sobre o latex enquanto estou escrevendo o meu relatório de estágio e resolvi passar as minhas tabelas de tabular e table para tikz.

Eu encontrei como se faz uma tabela no tikz através de array, só tive um problema: como mesclar células. Procurei em vários lugares e não encontrei como se faz.

Procurei mais um pouco e encontrei esse link:

Achei ele muito interessante, pois, você pode atribuir uma largura para célula do título e a partir dela fazer a sua tabela.

A minha tabela por enquanto está assim:

image.png
E esse é o código:

\documentclass[tikz,margin=3mm]{standalone}
\usetikzlibrary{chains, positioning}

\begin{document}
    \begin{tikzpicture}[
node distance = 0mm,
  start chain = going right,
     N/.style = {draw,
                 minimum width=#1 mm,
                 outer sep=0pt,
                 text height=2ex, text depth=0.5ex,
                 on chain},
                        ]

\node (n11) [N=140,fill={rgb,255:red,65; green,105; blue,225}] at (0,0)       {Cronograma};
\node (n21) [N=40,below right=of n11.south west,fill={rgb,255:red,0; green,191; blue,225}]        {Data};
\node (n22) [N=100,fill={rgb,255:red,0; green,191; blue,225}]        {Conteúdo};

\node (n31) [N=40,below right=of n21.south west, fill=gray!30]        {00/00/21};
\node (n32) [N=100, fill=gray!30]        {Geometria Espacial – Cones};

\node (n41) [N=40,below right=of n31.south west,fill=gray!80]        {00/00/21};
\node (n42) [N=100,fill=gray!80]        {Geometria Espacial – Esferas};

\node (n51) [N=40, below right=of n41.south west, fill=gray!30]        {00/00/21};
\node (n52) [N=100, fill=gray!30]        {Geometria Analítica - Ponto};

\node (n61) [N=40,below right=of n51.south west,fill=gray!80]        {00/00/21};
\node (n62) [N=100,fill=gray!80]        {Geometria Analítica - Estudo da Reta};

\node (n71) [N=40,below right=of n61.south west, fill=gray!30]        {00/00/21};
\node (n72) [N=100, fill=gray!30]        {Geometria Analítica - Estudo da Reta};

\node (n81) [N=40,below right=of n71.south west,fill=gray!80]        {00/00/21};
\node (n82) [N=100,fill=gray!80]        {Geometria Analítica - Estudo da Circunferência};

\node (n91) [N=40,below right=of n81.south west, fill=gray!30]        {00/00/21};
\node (n92) [N=100, fill=gray!30]        {Geometria Analítica - Estudo da Circunferência};
    \end{tikzpicture}

\end{document}


Alguém sabe dizer como mudo o alinhamento dentro do node?
Eu queria alinhar os conteúdos a direita.
--
Atenciosamente, 

                                                       Francisco Dias Franco

*Técnico em Eletrônica - IFSUL*
*Aluno do curso de Licenciatura em Matemática - UFPel*

Emílio Kavamura

unread,
Jun 17, 2021, 9:54:42 AM6/17/21
to Latex-br

Francisco​ Dias Franco

unread,
Jun 17, 2021, 2:30:09 PM6/17/21
to late...@googlegroups.com
não funcionou, mas, mesmo assim obrigado pela ajuda.

Vou tentar procurar mais um pouco na internet mais tarde.

--
Você recebeu essa mensagem porque está inscrito no grupo "Latex-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para latex-br+u...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/latex-br/2cfda3d0-b9f6-4208-93ba-7d82ab767619n%40googlegroups.com.

Armando Staib

unread,
Jun 17, 2021, 5:49:26 PM6/17/21
to late...@googlegroups.com
Completando os espaços vazios (na força bruta, resolve) com  \hspace*{nº de letras em}

\documentclass[tikz,margin=3mm]{standalone}
\usetikzlibrary{chains, positioning}

\begin{document}
    \begin{tikzpicture}[
node distance = 0mm,
  start chain = going right,
     N/.style = {draw,
                 minimum width=#1 mm,
                 outer sep=0pt,
                 text height=2ex, text depth=0.5ex,
                 on chain},
                        ]

\node (n11) [N=140,fill={rgb,255:red,65; green,105; blue,225}] at (0,0)       {Cronograma};
\node (n21) [N=40,below right=of n11.south west,fill={rgb,255:red,0; green,191; blue,225}]        {Data};
\node (n22) [N=100,fill={rgb,255:red,0; green,191; blue,225}]        {Conteúdo };

\node (n31) [N=40,below right=of n21.south west, fill=gray!30]        {00/00/21};
\node (n32) [N=100, fill=gray!30]        {  Geometria Espacial – Cones  \hspace*{15em}};


\node (n41) [N=40,below right=of n31.south west,fill=gray!80]        {00/00/21};
\node (n42) [N=100,fill=gray!80]        {Geometria Espacial – Esferas \hspace*{14em}};


\node (n51) [N=40, below right=of n41.south west, fill=gray!30]        {00/00/21};
\node (n52) [N=100, fill=gray!30]        {Geometria Analítica - Ponto \hspace*{15em}};


\node (n61) [N=40,below right=of n51.south west,fill=gray!80]        {00/00/21};
\node (n62) [N=100,fill=gray!80]        {Geometria Analítica - Estudo da Reta \hspace*{10em}};


\node (n71) [N=40,below right=of n61.south west, fill=gray!30]        {00/00/21};
\node (n72) [N=100, fill=gray!30]        {Geometria Analítica - Estudo da Reta \hspace*{10em}};


\node (n81) [N=40,below right=of n71.south west,fill=gray!80]        {00/00/21};
\node (n82) [N=100,fill=gray!80]        {Geometria Analítica - Estudo da Circunferência \hspace*{6em}};


\node (n91) [N=40,below right=of n81.south west, fill=gray!30]        {00/00/21};
\node (n92) [N=100, fill=gray!30]        {Geometria Analítica - Estudo da Circunferência \hspace*{6em}};
    \end{tikzpicture}

\end{document}

Emílio Kavamura

unread,
Jun 17, 2021, 6:43:18 PM6/17/21
to Latex-br
Se definir a área de texto, você consegue alinhá-los na tabela:

\node (n32) [N=100, fill=gray!30, text width=95mm]    {  Geometria Espacial – Cones};

Francisco​ Dias Franco

unread,
Jun 18, 2021, 8:44:06 AM6/18/21
to late...@googlegroups.com
Obrigado a todos pela ajuda.
Consegui arrumar graças às suas dicas.

Sobre a dica do Armando Staib: gostei muito da sua dica, pois, consigo alinhar o texto à direita ou à esquerda invertendo a ordem do texto com a tag.

Sobre a dica do Emílio Kavamura: inicialmente a dica não se mostrou ser muito promissora, pois, eu não podia mover o texto livremente sobre o espaço. Ele só ficava alinhado à esquerda independentemente da modificação no tamanho. No entanto, graças a sua dica consegui usar o alinhamento do texto:  

\node (n63) [N=40, fill=gray!80, text width=30mm, align=right]        {16:9};

Assim poderá modificar o alinhamento da forma que desejar. Basta modificar o valor do align para right (direita), left (esquerda)  ou center (centro).





Armando Staib

unread,
Jun 18, 2021, 10:30:53 AM6/18/21
to late...@googlegroups.com
Como fala o BOB ESPONJA "somos uma eqüipe!" 

Reply all
Reply to author
Forward
0 new messages