É possível definir uma largura máxima de nó no TikZ

É possível definir uma largura máxima de nó no TikZ

Gostaria que esses dois nós tivessem o mesmo tamanho - o tamanho do menor. Em essência, eu gostaria de poder definir, maximum size=6mmmas não existe essa opção. Como posso fazer isso?

\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}  

insira a descrição da imagem aqui

Responder1

Embora não haja maximum sizechave, você pode usar text width(e possivelmente também inner sep) para obter o resultado desejado:

\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}

O resultado:

insira a descrição da imagem aqui

Outra opção teria sido escolher um valor maior para minimum size, como minimum size=8mm.

Mudei a \tikzstylesintaxe antiga para uma mais apropriada \tikzset. sintaxe.

Responder2

Uma solução alternativa poderia ser corrigir um minimum size, mas escrever o conteúdo do nó com um rótulo centralizado. labelssão desenhados com a postactione não influenciam no tamanho do nó:

\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} 

insira a descrição da imagem aqui

Responder3

Em meu diagrama de blocos, tenho um estilo definido para nó de texto curto comum; e outro para nó de texto longo. Isso ocorre por causa centerdo problema.

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
}

O resultado é aceitável, embora não seja rigoroso dentro de 20 mm (depende de como as pessoas o veem).

informação relacionada