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}

這段程式碼繪製了五個六邊形形狀的節點,但六邊形雖有幾個,但始終是不同的“數量少”,像素“關閉”,如下圖所示:

在此輸入影像描述

  • 這是哪個值造成的?
  • 為什麼「轉變」的強度不同?
  • 如何修復它?

答案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}

在此輸入影像描述

相關內容