Tikz:n=5 的標準子圖,沒有所有邊

Tikz:n=5 的標準子圖,沒有所有邊

我知道有一種方法可以使用“graphs.standard”和“subgraph k_n”來獲得看起來像全星的五節點圖,如附圖所示。 在此輸入影像描述

但有沒有可能告訴 LaTeX 我只想要它的某些邊緣?我想解釋投影機幻燈片上的鄰接列表和矩陣,並且只需要其中的一些。

我需要自己繪製整個圖表還是可以告訴 LaTeX 我想要的邊?

答案1

這是一個\incomplete可以為您完成這項工作的巨集。語法是

\incomplete[<radius>]{<num vertices>}{<edge list>}

在此輸入影像描述

上面的兩個例子是用\incomplete{5}{1/2,1/3,1/4,1/5,2/4,2/5}和創建的\incomplete{6}{1/2,2/3,3/4,4/5,5/6,6/1,2/4}

<radius>是可選的。預設為1.5cm.<edgelist>是一個以逗號分隔的列表,其中每個條目的形式為vertex1/vertex2.<edgelist>可以為空,例如\incomplete{5}{}.

這是代碼:

\documentclass{article}

\usepackage{tikz}

\tikzset{vertex/.style={draw, circle, inner sep=1mm}}

\newcommand{\incomplete}[3][1.5cm]{\begin{tikzpicture}
\foreach \n in {1,...,#2}{\node[vertex]at({90-360/#2*(\n-1)}:#1)(\n){\n};}
\foreach \v/\w in {#3}{\draw(\v)--(\w);}
\end{tikzpicture}}

\begin{document}

\incomplete{5}{1/2,1/3,1/4,1/5,2/4,2/5}\hspace{2cm}\incomplete{6}{1/2,2/3,3/4,4/5,5/6,6/1,2/4}

\end{document}

答案2

透過指定該圖是簡單的,我們可以修改圖宏的邊,甚至可以使用特殊的-!-邊規範來刪除它們:

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs.standard}
\begin{document}

\begin{tikzpicture}
  \graph[nodes={circle,draw},simple] {
    subgraph K_n [n=5,clockwise];
    2 -!- 3 -!- 4 -!- 5 -!- 3;
  };
\end{tikzpicture}

\end{document}

K5 去除了一些邊緣

連結到文件中的解釋

相關內容