Recientemente hubo ungran respuestaen¿Cómo dibujar una estructura hexagonal 3D con TikZ?
Pero noté un pequeño "error" que parece que no puedo solucionar. Eliminé el código que muestra el problema:
\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}
Este código dibuja cinco nodos con forma hexagonal, pero hay pocos hexágonos, pero siempre un "número de pocos" diferente, píxeles "apagados", como se muestra en esta imagen:
- ¿Qué valor es responsable de esto?
- ¿Por qué el "cambio" ocurre con diferente fuerza?
- ¿Como arreglarlo?
Respuesta1
Necesitaría outer sep=0
y también inner sep
depende del contenido del nodo y del cambio de tamaño del nodo en consecuencia. En su lugar, puedes utilizar minimum height/width
claves.
\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}