我有两个节点应该通过边连接,一条边从A 到 B以及一个B到A问题是,它们确实重叠但我想把它们展示为单独的箭头- 因此,一个可能稍微向右移动,另一个可能稍微向左移动。如何实现这一点?
(那里似乎有一个解决方案TikZ 节点之间的平行边但是例子太复杂了,所以我无法将自动化内容与并排放置边缘的内容分开。)
最小示例:
\documentclass[border=3mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[->]
\node (1) {A};
\node (2) [below of=1] {B};
\path[every node/.style={font=\sffamily\small}]
(1) edge node [left] {edge1} (2)
(2) edge node [right] {edge2} (1)
;
\end{tikzpicture}
\end{document}
结果:
答案1
您可以引入一些转变;下面的代码显示了两种可能性;第一种,使用xshift
,第二种,使用<name>.<angle>
语法:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[->]
\node (1) {A};
\node (2) [below of=1] {B};
\path[every node/.style={font=\sffamily\small}]
([xshift=-2pt]1.south) edge node [left] {edge1} ([xshift=-2pt]1.south|-2.north)
([xshift=2pt]2.north) edge node [right] {edge2} ([xshift=2pt]2.north|-1.south)
;
\begin{scope}[xshift=3cm]
\node (1) {A};
\node (2) [below of=1] {B};
\path[every node/.style={font=\sffamily\small}]
(1.255) edge node [left] {edge1} (1.255|-2.north)
(2.75) edge node [right] {edge2} (2.75|-1.south)
;
\end{scope}
\end{tikzpicture}
\end{document}