在 tikz 中的节点之间绘制省略号(三个点)

在 tikz 中的节点之间绘制省略号(三个点)

我开始学习使用 tikz 绘制简单的图形。我想N通过绘制类似这样的图形来表示存在节点的想法:

在此处输入图片描述

如何...在两个节点之间画一个省略号:?

下面是我在上面使用的代码:

\documentclass[12pt,a4paper]{report}
\usepackage{tikz}
\usetikzlibrary{arrows}

\begin{document}
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=2.5cm,
    main node/.style={thick,circle,draw,font=\sffamily\Large}]

    \node[main node] (1) {$X_1$};
    \node[main node] (2) [right of=1]{$X_N$};
    \node[main node] (5) [below of=1]{C};

    \path[every node/.style={font=\sffamily\small}]
        (1) edge (5);
\end{tikzpicture}
\end{document}

(欢迎提出有关如何改进我的 tikz 代码的其他评论。)

答案1

另一种说法是\path (1) -- node[auto=false]{\ldots} (2);。您已在选项中打开该auto设置tikzpictureauto=false请将其关闭。

另外,建议加载positioning库并使用,right=of而不是只说right of=。参见PGF/TikZ 中“right of=”和“right=of”之间的区别

最后,我真的不认为[every node...你最后一条路的选择会起到什么作用。

\documentclass[12pt,border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning}

\begin{document}
\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=1.5cm,
    main node/.style={thick,circle,draw,font=\sffamily\Large}]

    \node[main node] (1) {$X_1$};
    \node[main node] (2) [right=of 1]{$X_N$};
    \node[main node] (5) [below=of 1]{C};

    \path (1) edge (5);

    \path (1) -- node[auto=false]{\ldots} (2);
\end{tikzpicture}
\end{document}

答案2

您可以添加一个没有任何边框的节点,并使用\ldots

该语法的at ($(1)!.5!(2)$)意思是“将其放置在1和之间的一半距离处2”。这需要calc库。

还有一件事:我从 切换arrowsarrows.meta因为前者已被弃用。请参阅Tikz 手册16.5 参考:箭头提示,第 203 页)以了解如何定义箭头尖头的更多详细信息。唉,箭头有点不同,如果您想要圆形,请添加>={Stealth[round]}

编辑:除了固定定位之外,我还将您的节点选项放在了中\tikzset,查看新代码,然后改用\draw () -- ();

输出

在此处输入图片描述

代码

\documentclass[12pt,a4paper]{report}
\usepackage{tikz}
\usetikzlibrary{calc,arrows.meta,positioning}

\tikzset{
    every node/.style={font=\sffamily\small},
    main node/.style={thick,circle,draw,font=\sffamily\Large}
}

\begin{document}
\begin{tikzpicture}[->,>={Stealth[round,sep]},shorten >=1pt,auto,node distance=2.5cm]

    \node[main node] (1) {$X_1$};
    \node[main node] (2) [right =of 1]{$X_N$};
    \node[main node] (5) [below =of 1]{C};

    \node at ($(1)!.5!(2)$) {\ldots};

    \draw (1) -- (5);
\end{tikzpicture}
\end{document}

相关内容