在 beamer 类中使用 TikZ 时出现节点标签问题

在 beamer 类中使用 TikZ 时出现节点标签问题

我正在使用绘制一个小图形TikZ,并希望在节点内显示节点的名称。基于这个帖子,我遵循同样的逻辑。这是一个最小的例子。

\documentclass{beamer} %
\usetheme{CambridgeUS}
\usepackage[latin1]{inputenc}
\usepackage{tikz}

\usecolortheme{beaver}
\begin{document}
\begin{frame}
     \begin{tikzpicture}[scale=.5,minimum size=2mm ,every node/.style={circle,fill=black}, text=white, minimum size=0.45 cm]
  \node (n1)[color= red] at (0,-3) {};
  \node (n2) at (0,3) {};
  \node (n3) at (3,6) {};
  \foreach \from/\to in {n1/n2,n2/n3}
    \draw[thick](\from) -- (\to);  
\end{tikzpicture}
\end{frame}

\end{document}

在此处输入图片描述

现在,当我想显示节点标签时,我将文本放在里面{}\node (n1)[color= red] at (0,-3) {1};此行使我的节点变大,而不是打印节点标签。我想知道我可能做错了什么。另外,我的目的是显示节点内的标签(即圆圈内)。

在此处输入图片描述

答案1

为了了解红色节点增长的原因,让我们通过添加 使文本可见text=black。 (回想一下,这color=red也会改变文本颜色。)

\documentclass{beamer} %
\usetheme{CambridgeUS}
\usepackage[latin1]{inputenc}
\usepackage{tikz}

\usecolortheme{beaver}
\begin{document}
\begin{frame}
     \begin{tikzpicture}[scale=.5,minimum size=2mm ,every
     node/.style={circle,fill=black},text=white,minimum size=0.45 cm]
  \node (n1)[color= red,text=black] at (0,-3) {1};
  \node (n2) at (0,3) {};
  \node (n3) at (3,6) {};
  \foreach \from/\to in {n1/n2,n2/n3}
    \draw[thick](\from) -- (\to);  
\end{tikzpicture}
\end{frame}
\end{document}

在此处输入图片描述

这个圈子已经扩大到可以容纳1

如果要标记节点,请使用label

\documentclass{beamer} %
\usetheme{CambridgeUS}
\usepackage[latin1]{inputenc}
\usepackage{tikz}

\usecolortheme{beaver}
\begin{document}
\begin{frame}
\begin{tikzpicture}[scale=.5, ,nodes={circle,fill=black,minimum size=3mm}, 
every label/.append style={rectangle,text=black},text=white]
  \node (n1)[color= red,label=right:1] at (0,-3) {};
  \node (n2) at (0,3) {};
  \node (n3) at (3,6) {};
  \foreach \from/\to in {n1/n2,n2/n3}
    \draw[thick](\from) -- (\to);  
\end{tikzpicture}
\end{frame}

\end{document}

在此处输入图片描述

如果希望所有节点大小相同,请添加一些text widthtext height。也可以使用fill=red而不是color=red仅更改填充颜色。

\documentclass{beamer} %
\usetheme{CambridgeUS}
\usepackage[latin1]{inputenc}
\usepackage{tikz}

\usecolortheme{beaver}
\begin{document}
\begin{frame}
     \begin{tikzpicture}[scale=.5,minimum size=2mm ,every
     node/.style={circle,fill=black,text width={width("1")},
        text height={height("1")}},text=white]
  \node (n1)[fill= red] at (0,-3) {1};
  \node (n2) at (0,3) {};
  \node (n3) at (3,6) {};
  \foreach \from/\to in {n1/n2,n2/n3}
    \draw[thick](\from) -- (\to);  
\end{tikzpicture}
\end{frame}
\end{document}

在此处输入图片描述

相关内容