如何将 TikZ 图像的节点大小设置为所有节点相同?

如何将 TikZ 图像的节点大小设置为所有节点相同?

我正在尝试在 TikZ 中绘制 Kripke 结构,虽然大部分都成功了,但我对结果并不满意。这是我的序言:

\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 指定节点应具有的最小大小。如果由于文本较长而导致节点实际上需要更大,则节点会更大,但如果文本为空,则节点将具有最小大小。此选项还可用于确保包含不同数量文本的多个节点具有相同的大小。

相关内容