答案1
理解它的样子是这样的:
-|
是“水平线 → 垂直线”:\documentclass[tikz]{standalone} \begin{document} \begin{tikzpicture} \draw (0,0) coordinate (1) node[below] {$(0,0)$}; \draw (2,2) coordinate (2) node[above] {$(2,2)$}; \draw (1) -| (2); % ------------- \draw (4,2) coordinate (x) node[above] {$(4,2)$}; \draw (6,0) coordinate (y) node[below] {$(6,0)$}; \draw (x) -| (y); \end{tikzpicture} \end{document}
从数学上来说,
(x,y) -| (a,b)
和(x,y) -- (a,y) -- (a,b)
是相同的。|-
是“垂直线 → 水平线”:\documentclass[tikz]{standalone} \begin{document} \begin{tikzpicture} \draw (0,0) coordinate (1) node[below] {$(0,0)$}; \draw (2,2) coordinate (2) node[above] {$(2,2)$}; \draw (1) |- (2); % ------------- \draw (4,2) coordinate (x) node[above] {$(4,2)$}; \draw (6,0) coordinate (y) node[below] {$(6,0)$}; \draw (x) |- (y); \end{tikzpicture} \end{document}
从数学上来说,
(x,y) |- (a,b)
和(x,y) -- (x,b) -- (a,b)
是相同的。
它们显然非常不同。
答案2
我想补充JouleV 的答案-|
和的另一种用法|-
。
给定两个节点 A 和 B:
- 如果你使用
(A |- B)
你有一点XA 的坐标和是B 的坐标 - 如果你使用
(A -| B)
你有一点XB 的坐标和是A 的坐标。
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node[draw] (A) {A};
\node[draw, above right =4cm of A] (B) {B};
\node[draw] at (A |- B) {$x$ of A, $y$ of B};
\node[draw] at (A -| B) {$x$ of B, $y$ of A};
\end{tikzpicture}
\end{document}
答案3
PSTricks 版本针对@CarLaTeX 的解释:
(A|-B)
(TikZ)=(A|B)
(PSTricks)(A-|B)
(TikZ)=(B|A)
(PSTricks)