我有以下 MWE:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (b) at (1,-1);
\newlength{\vsep}
\setlength{\vsep}{0.5cm}
\coordinate (abovea) at ($(a) + (0,\vsep)$);
\coordinate (aboveb) at (b |- abovea);
\node[fill=black,circle,inner sep=2pt] at (a) {};
\node[fill=black,circle,inner sep=2pt] at (b) {};
\draw (a) -- (abovea) -- (aboveb) -- (b);
\end{tikzpicture}
\end{document}
仅连接点 A 和 B 就太冗长了,我想知道如何简化它?
答案1
除了提到的方法之外TikZ 是否有与 PSTricks \ncbar 命令等效的命令?,你可以将代码简化为
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\node[fill=black,circle,inner sep=2pt] (a) at (0,0) {};
\node[fill=black,circle,inner sep=2pt] (b) at (1,-1) {};
\draw (a) |- ($(a-|b) + (0,0.5cm)$) -- (b);
\end{tikzpicture}
\end{document}
这里,(a-|b)
是 y 坐标为a
、x 坐标为 的点b
。使用|-
而不是 的--
意思是,先垂直移动到第二个点的 y 坐标,然后水平移动到 该点。