如何在 tikz 中标记形状?

如何在 tikz 中标记形状?

我在 tikz 中有一个 for 循环,它绘制了 n 个圆圈,我想将它们命名为 A、B、C……等等,我该怎么做?我可以创建一个 char 数组或类似的东西并在标签中使用它吗{$ $}

如果我这样做

{$\x*\y$};

标签显示为1*11*2 我该如何实际相乘才能得到 和 这样的1标签2

\foreach \x in {1,...,2}
    \foreach \y in {1,...,2}
    {
        \node[regular polygon, regular polygon sides=6, draw, inner sep=\hex cm] (hex\x*\y*4) at 
        (\x*\pi*4.2,\y*\pi*1.6 + 0.8*\pi) {};
        \node[zoneMaster] at (\x*\pi*4.2,\y*\pi*1.6 + 0.8*\pi) {};  
        \node[zoneMaster] [minimum size=0.7cm, fill=Black,text=White] at (\x*\pi*4.2,\y*\pi*1.6 + 0.8*\pi) {$\x*\y$};
    }

答案1

您可以使用 \pgfmathsetmacro\pgfmathtruncatemacro来计算实数或整数值:

在此处输入图片描述

笔记:

  • 该样式zoneMaster尚未定义,因此我将其定义为空样式。
  • \pi是数学常数的希腊字母,不是数值。pgfmath您可以使用pi数值。

代码:

\documentclass[10pt]{article}
\usepackage{tikz}
\usetikzlibrary{shapes}

\tikzset{zoneMaster/.style={}}

\begin{document}

\begin{tikzpicture}[scale=0.75]
\foreach \x in {1,...,2}
    \foreach \y in {1,...,2}
    {
        \pgfmathsetmacro{\X}{0.5*\x*pi*4.2}%
        \pgfmathsetmacro{\Y}{\y*pi*1.6 + 0.8*pi}%
        \pgfmathtruncatemacro{\Label}{\x*\y*4}%
        \node[regular polygon, regular polygon sides=6, draw, inner sep=1cm] (hex\Label) at 
        (\X,\Y) {};
        \node[zoneMaster] at (\X,\Y) {};  
        \node[zoneMaster] [minimum size=0.7cm, fill=black,text=white] at (\X,\Y) {$\x*\y$};
    }
\end{tikzpicture}

\end{document}

相关内容