Использование линии в качестве узла в tikz

Использование линии в качестве узла в tikz

есть ли синтаксис, позволяющий использовать строку как узел в tikz? В следующем примере:

\documentclass{standalone}  
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
    %dummy nodes
    \node (A) at (0,0) {};
    \node (B) at (5,0) {};
    \node (C) at (2,-5) {};
        \draw (A)--(B);
        \draw (C)--(2,0);
    \end{tikzpicture}
\end{document}

введите описание изображения здесь

Я хотел бы написать что-то вроде \draw (C)--[(A)--(B)]вместо \draw (C)--(2,0). Конечно, в этом примере я знаю координаты узлов явно, но в моей реальной диаграмме я этого не знаю, и всякий раз, когда я добавляю что-то, что изменяет его размер, мне приходится методом проб и ошибок корректировать координаты явного узла.

Спасибо

решение1

Option local bounding box=<node name>— это то, что вам нужно.

\documentclass{standalone}  
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
    %dummy nodes
    \node (A) at (0,0) {};
    \node (B) at (5,0) {};
    \node (C) at (2,-5) {};
        % this creates a rectangle node named AB
        \draw[local bounding box=AB] (A)--(B);
        \draw (C) |- (AB);
    \end{tikzpicture}
\end{document}

Обновлять:И версия с модификатором проекции:

\documentclass{standalone}  
\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
    \begin{tikzpicture}
    %dummy nodes
    \node (A) at (0,0) {};
    \node (B) at (5,0) {};
    \node (C) at (2,-5) {};
        \draw (A)--(B);
        % draw a line from node C to the projection of C on line A to B
        % see pgfmanual, sec. 13.5.5 _The Syntax of Projection Modifiers_
        \draw (C) |- ($(A)!(C)!(B)$);
    \end{tikzpicture}
\end{document}

Связанный контент