como criar caixa de infográfico com seta usando tikz

como criar caixa de infográfico com seta usando tikz

Eu gostaria de desenhar uma caixa incluindo uma seta definida como Infographic Box with Arrowemesse link. Gostaria de atualizar a figura a seguir para gerar um diagrama de cima para baixo.

\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{shapes.geometric, arrows}

\begin{document}
\begin{tikzpicture}[font=\small, node distance=2cm]
\tikzstyle{block} = [rectangle, draw, text width=12cm, text centered, rounded corners, minimum height=4em]
\tikzstyle{line} = [draw, -latex']

\node [block] (step1) {Alpha process};
\node [block, below of=step1] (step2) {Beta analysis};
\node [block, below of=step2] (step3) {Gamma results};

\path [line] (step1) -- (step2);
\path [line] (step2) -- (step3);
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Existe uma maneira de atualizar minhas caixas e torná-las parecidas com a figura abaixo.

insira a descrição da imagem aqui

Responder1

A shapes.arrowsbiblioteca que vem com TikZ tem umarrow boxformaque você poderia tentar:

\documentclass[tikz, border=10pt]{standalone}
\usetikzlibrary{shapes.arrows}

\begin{document}
\begin{tikzpicture}
\tikzset{
    font=\small, 
    node distance=2cm,
    block/.style={
        arrow box, 
        draw, 
        text width=12cm, 
        text centered, 
        minimum height=4em,
        arrow box arrows={south:0.5cm}
    },
    last block/.style={
        block,
        arrow box arrows={south:0cm}
    }
}

\node[block] (step1) {Alpha process};
\node[block, below of=step1] (step2) {Beta analysis};
\node[last block, below of=step2] (step3) {Gamma results};

\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Observe que você deve usar \tikzsetem vez de \tikzstyle.


Alternativamente, você pode desenhar a borda dos nós manualmente ou, para evitar repetições no seu código, criar um \pic:

\documentclass[tikz, border=10pt]{standalone}
\usetikzlibrary{shapes.arrows}

\begin{document}
\begin{tikzpicture}
\tikzset{
    font=\small, 
    node distance=2cm,
    pics/box with arrow/.style={
        code={
            \node[pic actions, text centered] (-node) {#1};
            \draw[rounded corners] 
                ([xshift=-0.25em]-node.south) -| (-node.north west) -| 
                (-node.south east) -- ([xshift=0.25em]-node.south);
            \draw ([xshift=-0.25em]-node.south) |- ++(-0.25em,-0.5em) --
                ++(0.5em,-0.5em) -- ++(0.5em,0.5em) -| ++(-0.25em,0.5em);
        }
    },
    pics/box without arrow/.style={
        code={
            \node[pic actions, text centered] (-node) {#1};
            \draw[rounded corners] 
                (-node.south east) rectangle (-node.north west);
        }
    }
}

\pic[text width=12cm, minimum height=4em] 
    (step1) {box with arrow={Alpha process}};

\pic[below of=step1-node, text width=12cm, minimum height=4em] 
    (step2) {box with arrow={Beta analysis}};

\pic[below of=step2-node, text width=12cm, minimum height=4em] 
    (step3) {box without arrow={Gamma results}};

\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

informação relacionada