¿Es posible establecer un ancho máximo de nodo en TikZ?

¿Es posible establecer un ancho máximo de nodo en TikZ?

Me gustaría que estos dos nodos tuvieran el mismo tamaño: el tamaño del más pequeño. En esencia, me gustaría poder configurarlo, maximum size=6mmpero no existe tal opción. ¿Cómo puedo hacer esto?

\documentclass[tikz, border=10]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \tikzstyle{mystyle}=[circle,minimum size=6mm,draw=black,fill=white]
    \node (9) at (0,0) [mystyle] {9};
    \node (10) at (1,0) [mystyle] {10};
\end{tikzpicture}
\end{document}  

ingrese la descripción de la imagen aquí

Respuesta1

Aunque no hay maximum sizeuna clave, puedes usar text width(y posiblemente también inner sep) para obtener el resultado deseado:

\documentclass[tikz, border=10]{standalone}
\usepackage{tikz}

\tikzset{
mystyle/.style={
  circle,
  inner sep=0pt,
  text width=6mm,
  align=center,
  draw=black,
  fill=white
  }
}

\begin{document}
\begin{tikzpicture}
    \node (9) at (0,0) [mystyle] {9};
    \node (10) at (1,0) [mystyle] {10};
\end{tikzpicture}
\end{document}

El resultado:

ingrese la descripción de la imagen aquí

Otra opción habría sido elegir un valor mayor para minimum size, como por ejemplo minimum size=8mm.

Cambié la \tikzstylesintaxis anterior por una más apropiada \tikzset. sintaxis.

Respuesta2

Una solución alternativa podría ser arreglar un minimum size, pero escribir el contenido del nodo con una etiqueta centrada. labelsse dibujan con a postactiony no influyen en el tamaño del nodo:

\documentclass[tikz, border=10]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \tikzstyle{mystyle}=[circle,minimum size=6mm,draw=black,fill=white]
    \node[mystyle] (9) at (0,0) {9};
    \node[mystyle, label=center:10] (10) at (1,0) {};
    \node[mystyle, label=center:100] (100) at (2,0) {};
    \node[mystyle, label=center:1000] (1000) at (3,0) {};
\end{tikzpicture}
\end{document} 

ingrese la descripción de la imagen aquí

Respuesta3

En mi diagrama de bloques, tengo un estilo configurado para un nodo de texto corto normal; y otro para nodo de texto largo. Esto se debe al centerproblema.

mylong/.style={
  draw,
  rectangle,
  text width=20mm, % text is longer than 20mm.
  thick,
  % align=center,
  font=\itshape
},
myshort/.style={
  draw,
  rectangle,
  minimum size=6mm,
  thick,
  % align=center,
  font=\itshape
}

El resultado es aceptable, aunque no es estricto dentro de los 20mm (depende de cómo lo vea la gente).

información relacionada