
我使用 tikz 套件創建了一個多邊形。我需要更改文字的背景顏色以與幻燈片的背景顏色相符。我正在附上照片。
\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}
答案1
背景顏色可以在名稱下使用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}
答案2
比用與背景顏色相符的純色填充這些節點更好的方法是不填充節點。這樣,如果背景顏色發生變化,程式碼仍然是正確的。
為此,您只需刪除這些節點的fill=white
和選項。draw=white
這樣,就不會發生填充或繪圖。
要在六邊形的頂點處有小點,您可以every node/.style
在範圍內使用。另外,不要使用\draw
六邊形,而是\path
,因為稍後繪製邊緣。
這是我建議的程式碼:
\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}
更新。與您的問題無關,但利用這個機會,您的程式碼可以重構以使用循環和自訂樣式,以使其更短且(恕我直言)更具可讀性:
\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}