我有两个节点
\node (A) {A};
\node [below=of A] (B) {B};
我可以在它们之间划一条线
\draw (A) -- (B);
但我需要它们之间有两条线。如果我使用
\draw (A) -- (B);
\draw (B) -- (A);
它会将两条线画在彼此的上方。我可以给它们留出一些空间吗?我也试过了,(A.west) -- (B.west)
但那太靠左边了。这两条线应该彼此靠近。
答案1
有几种方法,例如:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node (A) {A};
\node [below=of A] (B) {B};
\draw[transform canvas={xshift=-1.5pt}] (A) -- (B);
\draw[transform canvas={xshift=1.5pt}] (B) -- (A);
\end{tikzpicture}
\end{document}
或者可以将移位添加到起点和终点:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node (A) {A};
\node [below=of A] (B) {B};
\foreach \s in {-1.5pt, 1.5pt} {
\draw ([xshift=\s]A.south) -- ([xshift=\s]B.north);
}
\end{tikzpicture}
\end{document}
或者可以使用双线,参见回答阿莱南诺的。
答案2
您可以使用选项double
中的密钥\draw
。
输出
代码
\documentclass[tikz,margin=10pt]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node (A) {A};
\node [below=of A] (B) {B};
\draw[double] (A) -- (B);
\end{tikzpicture}
\end{document}
正如 Paul Stiverson 在评论中指出的那样,您可以使用 来增加距离。这是一个简短的 gif,展示了从到 的double distance=...
各种尺寸。1pt
10pt
答案3
另外两个解决方案
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,calc,intersections}
\begin{document}
\begin{tikzpicture}
\begin{scope}
\node[draw] (A) at (0,0){A};
\node[draw,right=5em of A] (B) {B};
\draw[-latex] (A.10)--(A.10-|B.west);
\draw[-latex] (B.-170)--(B.-170-|A.east);
\end{scope}
\begin{scope}[yshift=-2cm]
\node[draw] (A) at (0,0){A};
\node[draw,right=5em of A] (B) {B};
\draw[-latex] (A) to [bend right=10] (B);
\draw[-latex] (B) to [bend right=10] (A);
\end{scope}
\end{tikzpicture}
\end{document}