Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Possible Duplicate:
TikZ: Node at same x-coordinate as another node, but specified y-coordinate?
Extract x, y coordinate of an arbitrary point in TikZ

How to use x coordinate of a point and y coordinate of other point? I need similar to

\coordinate (A) at (2,1);
\coordinate (B) at (3,0);
\coordinate (C) at (4,3);
\coordinate (D) at (5,-1);

\draw (xA,yB) -- (xC,yD);
share|improve this question

marked as duplicate by Jake, Alain Matthes, Claudio Fiandrino, percusse, Torbjørn T. Jul 17 '12 at 14:20

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

2  
You can also extract the x and y coordinates as per Extract x, y coordinate of an arbitrary point in TikZ. –  Peter Grill Jul 16 '12 at 22:44

2 Answers 2

You can use the orthogonal coordinate system identifiers -| and |-. They indicate horizontal component of the first and vertical component of the second for -| and vice versa for |-.

I have converted the coordinates to nodes to show the locations.

\begin{tikzpicture}
\node (A) at (2,1) {a};
\node (B) at (3,0) {b};
\node (C) at (4,3) {c};
\node (D) at (5,-1) {d};

\draw (A |- B) -- (C |- D);
\end{tikzpicture}

enter image description here

share|improve this answer

Here's a less convenient solution than the solution proposed by Percusse but closer to the initial demand.

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
    \node (A) at (2,1) {a};
    \node (B) at (3,0) {b};
    \node (C) at (4,3) {c};
    \node (D) at (5,-1) {d};

    \draw let \p{A}=(A), \p{B}=(B), \p{C}=(C), \p{D}=(D) in
    (\x{A},\y{B}) -- (\x{C},\y{D});
\end{tikzpicture}
\end{document}

The result is exactly the same...

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.