Combinando a cor de fundo do texto no tikz com a cor de fundo de um slide de apresentação

Combinando a cor de fundo do texto no tikz com a cor de fundo de um slide de apresentação

Criei um polígono usando o pacote tikz. Preciso alterar a cor de fundo do meu texto para corresponder à cor de fundo do slide. Estou anexando a foto.insira a descrição da imagem aqui

\begin{figure} [H]
\begin{center}
\begin{tikzpicture} [scale=0.4]
\tikzstyle{every node}=[draw,circle,fill=white,minimum size=1pt,
                    inner sep=0pt]
\draw  node (1) [label=$v_{1,1}$] {}
-- ++(330:2.0cm) node [](2) [] {}
-- ++(270:2.0cm) node (3)
[] {}-- ++(210:2.0cm) node (4)
[] {}-- ++(150:2.0cm) node (5)
[] {}-- ++(90:2.0cm) node (6)
[] {}-- ++(30:2.0cm) node (1)
{};
\path [](1) edge (2);
\path [](2) edge (3);
\path [dashed](3) edge (4);
\path (4) edge (5);
\path (5) edge (6);
\path [](6) edge (1);

\draw (4) node[below,xshift=0mm,draw=white]{Layer 1};
\draw (1) node[below,yshift=-5mm,draw=white]{$K_n$};

\end{tikzpicture}
\end{center}
\caption{$K_n \square P_3$} 
\label{3}
\end{figure}

Responder1

A cor de fundo pode ser usada sob o nome bg:

\documentclass{beamer}
\usepackage{tikz}

\setbeamercolor{background canvas}{bg=orange!50!white}

\begin{document}

\begin{frame}
\begin{tikzpicture} [scale=0.4]
\usebeamercolor{background canvas}
\tikzset{every node/.style={draw,minimum size=1pt,
                    inner sep=0pt}}
\draw  node (1) [label=$v_{1,1}$] {}
-- ++(330:2.0cm) node [](2) [] {}
-- ++(270:2.0cm) node (3)
[] {}-- ++(210:2.0cm) node (4)
[] {}-- ++(150:2.0cm) node (5)
[] {}-- ++(90:2.0cm) node (6)
[] {}-- ++(30:2.0cm) node (1)
{};
\path [](1) edge (2);
\path [](2) edge (3);
\path [dashed](3) edge (4);
\path (4) edge (5);
\path (5) edge (6);
\path [](6) edge (1);

\draw (4) node[below,xshift=0mm,draw=bg]{Layer 1};
\draw (1) node[below,yshift=-5mm,draw=bg]{$K_n$};

\end{tikzpicture}
\end{frame} 

\end{document}

insira a descrição da imagem aqui

Responder2

Melhor do que preencher esses nós com uma cor sólida que corresponda à cor de fundo, é não preencher os nós. Dessa forma, se a cor de fundo mudar, o código ainda estará correto.

Para fazer isso, você só precisa remover as opções fill=whitee draw=whitedesses nós. Desta forma, não ocorre preenchimento nem desenho.

Para ter pequenos pontos nos vértices do hexágono, você pode usar every node/.styleum escopo. Além disso, não use \drawpara o hexágono, mas sim \path, já que as arestas são desenhadas posteriormente.

Este é o meu código sugerido:

\documentclass{beamer}
\usepackage{tikz}
\setbeamercolor{background canvas}{bg=orange!50!white}

\begin{document}
\begin{frame}
\begin{center}
\begin{tikzpicture}[scale=0.4]
\begin{scope}[every node/.style={circle,minimum size=2pt,
             inner sep=0pt, fill}]
  \path  node (1) [label=$v_{1,1}$] {}
  -- ++(330:2.0cm) node [](2) [] {}
  -- ++(270:2.0cm) node (3)
  [] {}-- ++(210:2.0cm) node (4)
  [] {}-- ++(150:2.0cm) node (5)
  [] {}-- ++(90:2.0cm) node (6)
  [] {}-- ++(30:2.0cm) node (1)
  {};
\end{scope}

\path [](1) edge (2);
\path [](2) edge (3);
\path [dashed] (3) edge (4);
\path (4) edge (5);
\path (5) edge (6);
\path [](6) edge (1);
\draw (4) node[below,xshift=0mm,]{Layer 1};
\draw (1) node[below,yshift=-5mm]{$K_n$};
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}

Resultado

Atualizar. Não relacionado à sua pergunta, mas aproveitando a oportunidade, seu código pode ser refatorado para usar um loop e estilos personalizados, para torná-lo mais curto e (imho) mais legível:

\documentclass{beamer}
\usepackage{tikz}
\setbeamercolor{background canvas}{bg=orange!50!white}

\begin{document}
\begin{frame}
\begin{center}
\tikzset{
  smalldot/.style={circle,minimum size=2pt, inner sep=0pt, fill}
  }
\begin{tikzpicture}[scale=0.4]
  \foreach \angle [count=\n from 1] in {30, 90, ..., 330}
      \node[smalldot] (\n) at (\angle:2cm) {};
  \draw (6) -- (1) -- (2) -- (3) -- (4) -- (5);
  \draw [dashed] (5) -- (6);
  \node[above] at (2) {$v_{1,1}$};
  \node[below] at (5) {Layer 1};
  \node at (0,0) {$K_n$};
\end{tikzpicture}
\end{center}
\end{frame}
\end{document}

informação relacionada