TikZ 그림에서 이동된 육각형

TikZ 그림에서 이동된 육각형

최근에훌륭한 답변~에TikZ로 3D 육각형 구조를 그리는 방법은 무엇입니까?

그러나 나는 고칠 수 없을 것 같은 작은 "버그"를 발견했습니다. 문제를 보여주는 코드를 제거했습니다.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}

\begin{document}
\begin{tikzpicture}
  \begin{scope}[%
      every node/.style={anchor=west,regular polygon, regular polygon sides=6,draw,inner sep=0.5cm},
      transform shape]
    \node (A) {A};
    \node (B) at (A.corner 1) {B};
    \node (C) at (B.corner 5) {C};
    \node (D) at (A.corner 5) {D};
    \node (E) at (D.corner 5) {E};
    \foreach \hex in {A,...,E}
    {
      \foreach \corn in {1,...,6}
        \draw[fill=white] (\hex.corner \corn) circle (2pt); 
    }
  \end{scope}
\end{tikzpicture}
\end{document}

이 코드는 육각형 모양의 노드 5개를 그리지만 육각형은 몇 개이지만 이 그림에 표시된 것처럼 항상 "소수의 수", 픽셀 "오프"가 다릅니다.

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

  • 이를 담당하는 값은 무엇입니까?
  • 왜 다른 강도로 "전환"이 발생합니까?
  • 어떻게 고치나요?

답변1

노드 내용이 필요 outer sep=0하고 inner sep그에 따라 노드 크기가 변경됩니다. 대신 키를 사용할 수 있습니다 minimum height/width.

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}

\begin{document}
\begin{tikzpicture}
  \begin{scope}[%
every node/.style={anchor=west,
regular polygon, 
regular polygon sides=6,
draw,
minimum width=2cm,
outer sep=0,
},
      transform shape]
    \node (A) {A};
    \node (B) at (A.corner 1) {B};
    \node (C) at (B.corner 5) {C};
    \node (D) at (A.corner 5) {DECF};
    \node (E) at (D.corner 5) {E};
    \foreach \hex in {A,...,E}
    {
      \foreach \corn in {1,...,6}
        \draw[fill=white] (\hex.corner \corn) circle (2pt); 
    }
  \end{scope}
\end{tikzpicture}
\end{document}

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

관련 정보