简单地说,如果我使用以下代码创建一个自动机:
\begin{tikzpicture} [node distance = 2cm, on grid]
\node (q0) [state,
initial,
initial left,
initial distance=1.5cm,
initial text=Start here
] {$q_0$};
\end{tikzpicture}
但如果我有从右边进来的箭头:
\begin{tikzpicture} [node distance = 2cm, on grid]
\node (q0) [state,
initial,
initial right,
initial distance=1.5cm,
initial text=Start here
] {$q_0$};
\end{tikzpicture}
事实上,任何指向左侧的直线箭头都会像这样错误地显示。有什么建议可以解决这个问题吗?
答案1
您得到的不理想的输出是由于您没有透露的某些因素,可能是某些\tikzset
不应该存在的命令。此代码说明问题不是先验存在的,而可能是由某些不适当的全局设置引起的。
\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{automata,positioning}
\begin{document}
\begin{tikzpicture}[node distance = 2cm, on grid]
\node (q0) [state,
initial,
initial left,
initial distance=1.5cm,
initial text=Start here
] {$q_0$};
\end{tikzpicture}
\begin{tikzpicture}[node distance = 2cm, on grid]
\node (q0) [state,
initial,
initial right,
initial distance=1.5cm,
initial text=Start here
] {$q_0$};
\end{tikzpicture}
\tikzset{every picture/.append style={xscale=-1}}
\begin{tikzpicture}[node distance = 2cm, on grid]
\node (q0) [state,
initial,
initial right,
initial distance=1.5cm,
initial text=Start here
] {$q_0$};
\end{tikzpicture}
\end{document}
正如您所见,最后一张图片很乱,但只有在调用某个全局变量之后才会\tikzset
出现这种情况。