Ich versuche, eine Kripke-Struktur in TikZ zu zeichnen, und obwohl mir das größtenteils gelingt, bin ich mit dem Ergebnis nicht ganz zufrieden. Hier ist meine Einleitung:
\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}
folge meinem 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}
Das Problem, das ich habe, ist, dass Knoten 3
größer als Knoten ist 2
(vermutlich, weil er seine Größe anpasst, um den Beschriftungstext aufzunehmen). Gibt es eine Möglichkeit, alle Knoten auf die gleiche Größe zu bringen? Außerdem wäre ich für Vorschläge, wie ich das Diagramm ästhetisch ansprechender gestalten könnte, sehr dankbar (ich komme von OmniGraffle und der Übergang ist etwas schwierig).
Antwort1
Sie können den minimum size=
Schlüssel verwenden:
\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}
Aus dem PGF-Handbuch:
Es ist viel besser, stattdessen die Option zu verwenden
minimum size
. Mit dieser Option kann > Hagen eine Mindestgröße angeben, die der Knoten haben soll. Wenn der Knoten aufgrund eines längeren Textes tatsächlich größer sein muss, wird er größer sein, aber wenn der Text leer ist, hat der Knoten die Mindestgröße. Diese Option ist auch nützlich, um sicherzustellen, dass mehrere Knoten mit unterschiedlichen Textmengen die gleiche Größe haben.