Como posso definir o tamanho do nó de uma imagem TikZ para ser o mesmo para todos os nós?

Como posso definir o tamanho do nó de uma imagem TikZ para ser o mesmo para todos os nós?

Estou tentando desenhar uma estrutura Kripke no TikZ e, embora tenha sucesso na maior parte do tempo, não estou muito satisfeito com o resultado. Aqui está meu preâmbulo:

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

siga pelo meu 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}

A dificuldade que estou tendo é que o nó 3é maior que o nó 2(presumivelmente porque está se redimensionando para acomodar o texto do rótulo). Existe alguma maneira de fazer com que todos os nós tenham o mesmo tamanho? Além disso, qualquer sugestão sobre como tornar o diagrama mais esteticamente agradável seria muito apreciada (sou do OmniGraffle e a transição é um pouco difícil).

Responder1

Você pode usar a minimum size=chave:

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

insira a descrição da imagem aqui

Do manual pgf:

É muito melhor usar a minimum sizeopção. Esta opção permite que Hagen especifique um tamanho mínimo que o nó deve ter. Se os nós realmente precisarem ser maiores por causa de um texto mais longo, ele será maior, mas se o texto estiver vazio, o nó terá tamanho mínimo. Esta opção também é útil para garantir que vários nós contendo diferentes quantidades de texto tenham o mesmo tamanho.

informação relacionada