Tikz의 내부 노드 레이아웃에 어려움을 겪고 있습니다. 기본적으로 노드 내부의 첫 번째 텍스트 줄 아래에 줄을 추가하여 고르지 않게 분할하고 싶습니다. 다음은 시도해 볼 수 있는 방법입니다.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\begin{tikzpicture}[auto, node distance=3cm,
style1/.style={ellipse split, draw, align=center},
style2/.style={ellipse, draw, , align=center},
]
\node[style1] (1) {NODE1 \nodepart{lower} long name \\ foo \\ bar \\ baz};
\node[style2] (2) [right of=1] {NODE2 \\ long name \\ foo \\ bar \\ baz};
\end{tikzpicture}
\end{document}
이 split
옵션은 줄임표를 반으로 분할하여 텍스트의 첫 번째 줄 위에 거대한 공백을 남길 수 있는 것 같습니다(NODE1 참조). NODE2와 같은 것을 렌더링하고 싶지만 첫 번째 줄을 다른 줄과 구분하는 줄이 있습니다. 다음은 원하는 출력의 예입니다.
\hrule
" " 텍스트 바로 뒤에 명령을 추가하려고 했지만 NODE2
불가능한 것 같습니다. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까?
그건 그렇고, 내가 본 것을 참고하세요이 관련 질문그리고 그 대답은 받아들여졌지만 그것이 내 문제를 해결하지 못한다고 생각합니다.
답변1
그런 종류의 것?
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,fit,positioning}
\begin{document}
\begin{tikzpicture}[auto, node distance=3cm,
style1/.style={ellipse split, draw, align=center},
style2/.style={ellipse, draw, , align=center},
lower elli/.style={align=center},
fit elli/.style={ellipse,draw,inner sep=0pt,
path picture={\draw ([xshift=-1cm]#1.south west)--
([xshift=1cm]#1.south east);}}
]
\node[style1] (1) {NODE1 \nodepart{lower} long name \\ foo \\ bar \\ baz};
\node[style2] (2) [right=1cm of 1] {NODE2 \\ long name \\ foo \\ bar \\ baz};
\node (3a) [right=3.5cm of 2.north,anchor=north] {NODE3};
\node[lower elli] (3b)[below=0pt of 3a] {long name \\ foo \\ bar \\ baz};
\node[fit elli=3a,fit=(3a) (3b)]{};
\end{tikzpicture}
\end{document}
답변2
더 긴 [h]규칙을 그리고 노드를 잘라낼 수 있습니다.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\def\clap#1{\hbox to 0pt{\hss#1\hss}}
\begin{document}
\begin{tikzpicture}[auto, node distance=3cm,
styleshess/.style={ellipse, draw, align=center,clip},
]
\node[styleshess] (2) {NODE2\\\clap{\rule{\linewidth}{.4pt}}\\ long name \\ foo \\ bar \\ baz};
\end{tikzpicture}
\end{document}
\rule
위치나 너비를 수정하기 위해 다른 선과 마찬가지로 해당 선을 가지고 놀 수 있습니다 . \clap
해당 선의 (가상) 길이가 노드의 크기를 늘리지 않는지 확인합니다 . 스타일 정의 clip
에서는 노드 내에 속하는 선 부분만 실제로 그려지도록 합니다.