如何将节点变成简单的点而不是命名

如何将节点变成简单的点而不是命名

我目前有以下代码:

\documentclass{article}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[scale=1]
\tikzstyle{every node}=[draw,shape=circle]
\path (0,0) node (p0) {$p_0$}
(-1.5,-1) node (p1) {$p_1$}
(-1.5,-2.5) node (p2) {$p_2$}
(1.5,-2.5) node (p3) {$p_3$}
(1.5,-1) node (p4) {$p_4$}
(0,-3.5) node (p5) { $p_5$};
\draw (p0) -- (p1)
(p0) -- (p1)
(p0) -- (p2)
(p0) -- (p3)
(p0) -- (p4)
(p0) -- (p5)
(p1) -- (p2)
(p1) -- (p3)
(p1) -- (p4)
(p1) -- (p5)
(p2) -- (p3)
(p2) -- (p4)
(p2) -- (p5)
(p3) -- (p4)
(p3) -- (p5)
(p4) -- (p5);
\end{tikzpicture}

\end{document}

但我的问题是这个名称是每个节点。而我只想要一个简单的点。我该怎么做?

答案1

如果你从代码中删除$p_1$,...,那么你将获得$p_6$

在此处输入图片描述

另外,看看

是否有类似 \providetikzstyle 和 \providecommand 的东西?

详细说明这\tikzstyle不是一个理想的命令。我在下面的代码中使用了另一种方法。

\documentclass{article}

\usepackage{tikz}


\begin{document}
\begin{tikzpicture}[every node/.style={draw,shape=circle,fill=blue}]
\path (0,0) node (p0) {}
(-1.5,-1) node (p1) {}
(-1.5,-2.5) node (p2) {}
(1.5,-2.5) node (p3) {}
(1.5,-1) node (p4) {}
(0,-3.5) node (p5) { };
\draw (p0) -- (p1)
(p0) -- (p1)
(p0) -- (p2)
(p0) -- (p3)
(p0) -- (p4)
(p0) -- (p5)
(p1) -- (p2)
(p1) -- (p3)
(p1) -- (p4)
(p1) -- (p5)
(p2) -- (p3)
(p2) -- (p4)
(p2) -- (p5)
(p3) -- (p4)
(p3) -- (p5)
(p4) -- (p5);
\end{tikzpicture}


\end{document}

答案2

就我个人而言,在这种情况下我更喜欢语法coordinate (p) at (x,y)(我知道它们是相同的东西,但我不喜欢{}

然后代码可以是:

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[dot/.style={draw,circle,minimum size=2mm,inner sep=0pt,outer sep=0pt,fill=blue}]
\path \foreach \x/\y [count=\k from 0] in { 0/0,  -1.5/-1, -1.5/-2.5,  1.5/-2.5, 1.5/-1,  0/-3.5}
         {coordinate [dot] (p\k) at (\x,\y)}; 
\draw \foreach \k [count=\j from 1] in {0,...,4}
         \foreach \kk  in {\j,...,5}  
            {(p\k)--(p\kk)};
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案3

您还可以通过使用循环来大大减少代码量foreach。另外,通过宏指定参数也是一个好主意,这样您就可以轻松改变图片的外观。在此示例中,只需更改初始命令即可更改节点大小、节点距离和节点填充颜色:

\documentclass{article}
\usepackage{tikz}

\begin{document}

\pgfmathsetmacro{\minsize}{0.2cm}
\pgfmathsetmacro{\nodedist}{3}
\newcommand{\fillcolor}{black}


\begin{tikzpicture}[scale=1]
\tikzstyle{every node}=[draw,shape=circle,minimum size=\minsize,inner sep=0]
\foreach \x in {0,...,5}
    \node[fill=\fillcolor] (p\x) at (\x*60:\nodedist) {};
\foreach \x in {0,...,4}    
{   \pgfmathtruncatemacro{\startvalue}{\x+1}
    \foreach \y in {\startvalue,...,5}
    {\draw (p\x) -- (p\y);
    }
}
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容