在 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

選項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}

相關內容