我想在 中创建一个自动机tikz
并调整s的looseness
和属性。如果我将值设置为高,则会在图形的左侧和下方产生大量空白空间。在我的文档中,这会使它向右移动,部分超出页面。这是一个 mwe。bend
edge
\documentclass{standalone}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{automata,calc,positioning}
\begin{document}
\begin{tikzpicture}[
node distance=3cm,
clique/.style={fill=SkyBlue},
font=\sffamily,
thick,
]
\node[clique,state] (B) {B};
\node[clique,state,below=of B] (A) {A};
\node[clique,state] at ($(B) !.5! (A) + (2cm,0)$) (C) {C};
\node[clique,state,right=of C] (D) {D};
\node[state,above=of D] (E) {E};
\node[state,right=of D] (F) {F};
\node[state,below left=of F] (H) {H};
\node[state,below=of F] (G) {G};
\path
(A) edge[bend left] (E)
(A) edge[bend right=10] (F)
(A) edge[bend right] (G)
(A) edge (D)
(B) edge[bend right=100,looseness=1.6,out=270] (H)
(B) edge[bend right=100,looseness=1.6,out=260] (G)
(B) edge[bend left=100,looseness=1.2] (F)
(C) edge[bend left=10] (G)
(C) edge[bend left=20] (F)
(C) edge[bend right] (H)
(C) edge (E)
(D) edge (E)
(D) edge (F)
(D) edge (G)
(E) edge (G)
(E) edge[bend left=80,looseness=2] (H)
;
\end{tikzpicture}
\end{document}
结果是这样的:
我会像往常一样将其修剪为实际内容standalone
。这是什么原因造成的?我该如何消除它?
答案1
正如你提到的,额外的空间是由于控制点在路径弯曲时会远离路径而产生的。我发现这个答案建议绘制一个网格来识别边界框
\begin{tikzpicture}
\draw[help lines,step=8pt] (-1.2cm,-4cm) grid (12cm,8cm);
\clip (-1.2cm,-4cm) rectangle (12cm,8cm);
...
就我而言,这些价值观是合适的