tikz의 직사각형 안에 다음 텍스트를 그리는 방법은 무엇입니까?

tikz의 직사각형 안에 다음 텍스트를 그리는 방법은 무엇입니까?

내 MWE는 다음과 같습니다.

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}

\draw[blue!20!black,fill=blue!20,rounded corners=10,thick] (0,0) rectangle (3,1) node {text};

\end{tikzpicture}

\end{document}

노드 내부 중앙에 "text"라는 단어를 넣고 싶습니다. 모든 종류의 옵션을 시도했지만 작동하지 않았습니다.

또한 이 노드의 오른쪽에 동일한 노드를 그리고 둘 사이에 화살표를 추가하고 싶습니다.

답변1

모양을 그린 다음 중앙에 노드를 배치하는 대신 노드에 원하는 모양을 부여한 다음 원하는 위치에 노드를 배치할 수 있습니다. 동일한 노드가 반복되기를 원하므로 여러 tikzpictures에서 사용할 수 있는 styleusing 을 정의할 수 있습니다.tikzset

\tikzset{mynode/.style={draw=blue!20!black, fill=blue!20, rounded corners=10, thick, minimum width=3cm, minimum height=1cm}} 

그런 다음 원하는 경우 좌표를 지정하여 노드를 수동으로 배치할 수 있습니다.

여기에 이미지 설명을 입력하세요

그러나 배치에 대한 두 가지 다른 가능성이 있습니다.

사용 positioning:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning}
\tikzset{mynode/.style={draw=blue!20!black, fill=blue!20, rounded corners=10, thick, minimum width=3cm, minimum height=1cm}}

\begin{document}

\begin{tikzpicture}[node distance=10mm]
\node[mynode](A){Text 1};
\node[mynode, right=of A](B){Text 2};
\node[mynode, right=of B](C){Text 3};
\draw[thick, ->](A)--(B);
\draw[thick, ->](B)--(C);
\end{tikzpicture}

\end{document}

사용 chains:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{chains}
\tikzset{mynode/.style={draw=blue!20!black, fill=blue!20, rounded corners=10, thick, minimum width=3cm, minimum height=1cm}}

\begin{document}

\begin{tikzpicture}[start chain, node distance=10mm, every join/.style={->, thick}]
\node[on chain, mynode](A){Text 1};
\node[on chain=going right, mynode, join](B){Text 2};
\node[on chain=going right, mynode, join](C){Text 3};
\end{tikzpicture}

\end{document}

수동 배치(노드 중심을 배치하고 노드 테두리의 두께를 고려하지 않기 때문에 간격이 약간 다름):

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{chains}
\tikzset{mynode/.style={draw=blue!20!black, fill=blue!20, rounded corners=10, thick, minimum width=3cm, minimum height=1cm}}

\begin{document}

\begin{tikzpicture}
\node[mynode] at (0,0) (A){Text 1};
\node[mynode] at (4,0) (B){Text 2};
\node[mynode] at (8,0) (C){Text 3};
\draw[thick, ->](A)--(B);
\draw[thick, ->](B)--(C);
\end{tikzpicture}

\end{document}

답변2

이와 같이:

여기에 이미지 설명을 입력하세요

암호:

\documentclass{article}

\usepackage{tikz}

\begin{document}
    
    \begin{tikzpicture}
        
        \draw[blue!20!black,fill=blue!20,rounded corners=10,thick] (0,0) rectangle (3,1) node[midway] {text};
        
    \end{tikzpicture}
    
\end{document}

관련 정보