Hacer coincidir el color de fondo del texto en tikz con el color de fondo de una diapositiva de presentación

Hacer coincidir el color de fondo del texto en tikz con el color de fondo de una diapositiva de presentación

Creé un polígono usando el paquete tikz. Necesito cambiar el color de fondo de mi texto para que coincida con el color de fondo de la diapositiva. Adjunto la foto.ingrese la descripción de la imagen aquí

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

Respuesta1

El color de fondo se puede utilizar bajo el nombre 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}

ingrese la descripción de la imagen aquí

Respuesta2

Mejor que llenar estos nodos con un color sólido que coincida con el color de fondo, es no llenar los nodos. De esta forma, si el color de fondo cambia, el código sigue siendo correcto.

Para hacerlo sólo tienes que eliminar las opciones fill=whitey draw=whitepara esos nodos. De esta manera no se produce ningún relleno ni dibujo.

Para tener pequeños puntos en los vértices del hexágono, puedes usarlo every node/.styleen una mira. Además, no lo utilices \drawpara el hexágono, sino \path, ya que los bordes se dibujan más tarde.

Este es mi 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

Actualizar. No está relacionado con su pregunta, pero aprovechando la oportunidad, su código se puede refactorizar para usar un bucle y estilos personalizados, para hacerlo más corto y (en mi humilde opinión) más legible:

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

información relacionada