Можно ли установить максимальную ширину узла в TikZ?

Можно ли установить максимальную ширину узла в TikZ?

Я хотел бы, чтобы эти два узла были одинакового размера — размера меньшего. По сути, я хотел бы иметь возможность задать, maximum size=6mmно такой возможности нет. Как это сделать?

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

введите описание изображения здесь

решение1

Хотя ключа нет maximum size, вы можете использовать text width(а также, возможно, inner sep), чтобы получить желаемый результат:

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

Результат:

введите описание изображения здесь

Другим вариантом было бы выбрать большее значение для minimum size, например minimum size=8mm.

Я изменил старый \tikzstyleсинтаксис на более подходящий \tikzset. синтаксис.

решение2

Альтернативным решением может быть исправление minimum size, но запись содержимого узла с центрированной меткой. labelsрисуются с помощью postaction, и они не влияют на размер узла:

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

введите описание изображения здесь

решение3

В моей блок-схеме у меня один стиль установлен для обычного короткого текстового узла; и другой для длинного текстового узла. Это потому, что centerпроблема.

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
}

Результат приемлемый, хотя и не строго в пределах 20 мм (зависит от того, как люди это видят).

Связанный контент