Infographic Box with Arrow
다음 과 같이 정의된 화살표를 포함하는 상자를 그리고 싶습니다.이 링크. 다음 그림을 업데이트하여 위에서 아래로의 다이어그램을 생성하고 싶습니다.
\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}
내 상자를 업데이트하여 아래 그림과 같이 보이게 만드는 방법이 있습니까?
답변1
shapes.arrows
Ti와 함께 제공되는 라이브러리케이Z는arrow box
모양시도해 볼 수 있는 방법은 다음과 같습니다.
\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}
\tikzset
대신 사용해야 합니다 \tikzstyle
.
또는 노드의 경계를 직접 그리거나 코드에서 반복을 피하기 위해 다음을 생성할 수 있습니다 \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}