关于在路径上使用圆形节点,使用“ \draw ... to node ...”而不穿过圆圈

关于在路径上使用圆形节点,使用“ \draw ... to node ...”而不穿过圆圈
  1. 假设有一条线段,起点为 (0,0),终点为 (-2,-2)。
  2. 假设我们要在线段上添加两个圆形节点,一个靠近起点,一个靠近终点。
  3. 此外,循环节点中包含一些文本:例如,起始节点中包含“x”,停止节点中包含“+ -”。
  4. 我们还希望该线不要穿过圆圈内部。
  5. 我们也更喜欢使用\draw ... to node ...

以下是第一个试用代码:

\documentclass[border=0.5cm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node [anchor=south west]at (0,0) (start){Start};
\node [anchor=north east]at (-2,-2) (stop){Stop};
\draw (start) to node [circle, draw,near start] {x}  node [circle, draw,near end] {+ -}(stop);
\end{tikzpicture}
\end{document}

结果是: 在此处输入图片描述

为了防止线穿过圆圈,我在节点属性中添加了 fill=white,如下所示:

\draw (start) to node [circle, draw,near start, fill=white] {x} node [circle, draw,near end, fill=white] {+ -}(stop); 我们顺利地得到了: 在此处输入图片描述

fill=white我的问题是:除了创建所需的输出之外,还有其他简单的方法吗?

答案1

是这个吗?两个破折号--看起来更好!

在此处输入图片描述

\documentclass[border=0.5cm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\path
(3,3) node (start) {Start}
(0,0) node (stop)  {Stop};
\path (start) to 
node[circle,draw,near start] (x) {x}  
node[circle,draw,near end]   (pm) {+ --}
(stop);
\draw (stop)--(pm)--(x)--(start);
\end{tikzpicture}
\end{document}

更新:

\documentclass[tikz,border=0.5cm]{standalone}
\begin{document}
\begin{tikzpicture}
\path
(3,3) node (start) {Start}
(0,0) node (stop)  {Stop};
\draw[nodes={circle,draw,fill=white}] 
(start) to 
node[near start] (x) {x}  
node[near end]   (pm) {+ --}
(stop);
\end{tikzpicture}
\end{document}

相关内容