- 假设有一条线段,起点为 (0,0),终点为 (-2,-2)。
- 假设我们要在线段上添加两个圆形节点,一个靠近起点,一个靠近终点。
- 此外,循环节点中包含一些文本:例如,起始节点中包含“x”,停止节点中包含“+ -”。
- 我们还希望该线不要穿过圆圈内部。
- 我们也更喜欢使用
\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}