
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.
\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}
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=white
e draw=white
desses 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/.style
um escopo. Além disso, não use \draw
para 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}
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}