Tikz: subgrafo padrão com n = 5 sem todas as arestas

Tikz: subgrafo padrão com n = 5 sem todas as arestas

Eu sei que existe uma maneira de usar "graphs.standard" e "subgraph k_n" para obter um gráfico de cinco nós parecido com uma estrela cheia, como na imagem anexada. insira a descrição da imagem aqui

Mas existe a possibilidade de dizer ao LaTeX que eu quero apenas algumas arestas dele? Quero explicar listas de adjacências e matrizes em um slide beamer e só preciso de algumas delas.

Preciso desenhar o gráfico inteiro sozinho ou posso dizer ao LaTeX as arestas que desejo?

Responder1

Aqui está uma macro \incompleteque fará o trabalho para você. A sintaxe é

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

insira a descrição da imagem aqui

Os dois exemplos acima são criados com \incomplete{5}{1/2,1/3,1/4,1/5,2/4,2/5}e\incomplete{6}{1/2,2/3,3/4,4/5,5/6,6/1,2/4}

<radius>é opcional. O padrão é 1.5cm. <edgelist>é uma lista separada por vírgulas com cada entrada do formulário vertex1/vertex2. <edgelist>pode estar vazio, por exemplo, \incomplete{5}{}.

Aqui está o código:

\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}

Responder2

Ao especificar que o gráfico ésimples, pode-se modificar as arestas de uma macro gráfica e até mesmo removê-las com a -!-especificação especial de arestas:

\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 com algumas bordas removidas

Link para a explicação nos documentos

informação relacionada