저는 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이 노드에 있어야 하는 최소 크기를 지정할 수 있습니다. 더 긴 텍스트로 인해 노드가 실제로 더 커야 하는 경우 노드는 더 커지지만 텍스트가 비어 있으면 노드의 크기는 최소가 됩니다. 이 옵션은 또한 서로 다른 양의 텍스트를 포함하는 여러 노드가 동일한 크기를 갖도록 하는 데 유용합니다.