Как сделать так, чтобы размер узла для изображения TikZ был одинаковым для всех узлов?

Как сделать так, чтобы размер узла для изображения TikZ был одинаковым для всех узлов?

Я пытаюсь нарисовать структуру Крипке в TikZ, и хотя по большей части мне это удается, я не совсем доволен результатом. Вот моя преамбула:

\documentclass[10pt,letterpaper]{amsart}

% Personal Packages

\usepackage{notation}

% TikZ Drawing packages

\usepackage{tikz}
\usetikzlibrary{arrows}

% Font and Typography Settings

\usepackage{concrete}
\usepackage{euler}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[babel=true]{microtype}

подпишитесь на мой MWE:

\begin{figure}
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=3cm,
    thick,base node/.style={circle,draw}, real node/.style={double,circle,draw}]

    \node[real node] (1) {$s(C)$};
    \node[base node] (2) [below left of=1] {$s(\alpha)$};
    \node[base node] (3) [below right of=1] {$\neg{s(\alpha)}$};
    \path[]
        (1) edge node[left] {$L,J$} (2)
            edge node[right] {$L,J$} (3)
            edge [loop above] node {$C$} (1)
        (2) edge [bend left] node {$C,L,J$} (3)
            edge [loop left] node {$C,L,J$} (2)
        (3) edge [bend left] node {$C,L,J$} (2)
            edge [loop right] node {$C,L,J$} (3);
\end{tikzpicture}
\caption{The initial state of the domain in Ex.~\ref{ex:whisper}.}
\end{figure}

Проблема в том, что узел 3больше узла 2(вероятно, потому что он меняет свой размер, чтобы вместить текст метки). Есть ли способ сделать все узлы одинаковыми по размеру? Также любые предложения о том, как сделать диаграмму более эстетически приятной, были бы очень признательны (я перешел из OmniGraffle, и переход немного сложен).

решение1

Вы можете использовать minimum size=ключ:

\documentclass[10pt,letterpaper]{amsart}

% Personal Packages

%\usepackage{notation}

% TikZ Drawing packages

\usepackage{tikz}
\usetikzlibrary{arrows}

% Font and Typography Settings

\usepackage{concrete}
\usepackage{euler}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[babel=true]{microtype}

\begin{document}

\begin{figure}
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=3cm,
    thick,base node/.style={circle,draw,minimum size=35pt}, real node/.style={double,circle,draw,minimum size=35pt}]

    \node[real node] (1) {$s(C)$};
    \node[base node] (2) [below left of=1] {$s(\alpha)$};
    \node[base node] (3) [below right of=1] {$\neg{s(\alpha)}$};
    \path[]
        (1) edge node[left] {$L,J$} (2)
            edge node[right] {$L,J$} (3)
            edge [loop above] node {$C$} (1)
        (2) edge [bend left] node {$C,L,J$} (3)
            edge [loop left] node {$C,L,J$} (2)
        (3) edge [bend left] node {$C,L,J$} (2)
            edge [loop right] node {$C,L,J$} (3);
\end{tikzpicture}
\caption{The initial state of the domain in Ex.~\ref{ex:whisper}.}
\end{figure}

\end{document}

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

Из руководства pgf:

Гораздо лучше использовать minimum sizeвместо этого опцию. Эта опция позволяет > Hagen указать минимальный размер, который должен иметь узел. Если узлы на самом деле должны быть больше из-за более длинного текста, они будут больше, но если текст пустой, то узел будет иметь минимальный размер. Эта опция также полезна для того, чтобы гарантировать, что несколько узлов, содержащих разное количество текста, имеют одинаковый размер.

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