TikZ:具有缩短选项的节点位置

TikZ:具有缩短选项的节点位置

我有以下代码

\draw[style={shorten >=-1cm}, dashed] (C) -- (CENTER) node {NAME};

有没有简单的方法可以将 {NAME} 定位到“缩短”行的末尾?如果我使用上面的代码,它将被放置在 (CENTER)。

塞巴斯蒂安

编辑:我没有权限回答我自己的问题,因此我写了一个简短的编辑:

我认为我找到了一个可以解决我的问题的解决方案:

    \tikzset{%
        add/.style args={#1}{to path={%
        ($(\tikztostart)$)--($(\tikztotarget)!-#1!(\tikztostart)$)%
        \tikztonodes}}
    }

    \draw[dashed, add=1cm] (C) to (CENTER) node[right] {NAME};

答案1

您可以使用xshift节点并使用适当的锚点:

\documentclass{article} 
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\coordinate (C) at (0,0);
\coordinate (CENTER) at (10,0);
\draw[style={shorten >=-1cm}, dashed] (C) -- (CENTER) node[xshift=1cm,anchor=west,inner sep=0pt] {NAME};
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案2

我不确定你的问题是否非常准确。你写“缩短”行是因为你使用了选项shorten?事实上你用以下方式增加了行数shorten >=-1cm

\documentclass{article} 
\usepackage{tikz}
\begin{document}
\begin{tikzpicture} [dot/.style={draw,circle,minimum size=3pt,
                                  inner sep=0pt,outer sep=0pt,thick,fill}}]
\coordinate[dot] (C) at (0,0);
\coordinate[dot] (CENTER) at (10,0); 
\draw[style={shorten >=-1cm}, dashed] (C) -- (CENTER) ;
\end{tikzpicture} 
\end{document}

给出

在此处输入图片描述

逻辑上最简单的方法

\documentclass{article} 
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\coordinate (C) at (0,0);
\node (CENTER) at (10,0) {NAME};    
\draw[dashed] (C) -- (CENTER) ;
\end{tikzpicture} 
 \end{document}

在此处输入图片描述

但也许你真的想对抗 的效果\draw[shorten >=-1cm,你可以用 得到一个很好的结果:

\documentclass{article} 
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[dot/.style={draw,circle,minimum size=3pt,
                                inner sep=0pt,outer sep=0pt,thick,fill}}]
\coordinate[dot] (C) at (0,0);
\coordinate[dot] (CENTER) at (10,0);
\draw[style={shorten >=-1cm}, dashed] (C) -- (CENTER) node[right=1cm] {NAME};
\end{tikzpicture}
\end{document} 

这是将一个节点相对于另一个节点放置的一种方法。首先,当您写下right新节点放置在“anchor=west”时,如果您决定将线增加 1 厘米,则需要将新节点移动到中心右侧 1 厘米处。 在此处输入图片描述

相关内容