41 lines
1.3 KiB
TeX
41 lines
1.3 KiB
TeX
\documentclass[border=10pt]{standalone}
|
|
\usepackage{tikz}
|
|
\usepackage{fontspec}
|
|
|
|
\begin{document}
|
|
\begin{tikzpicture}
|
|
|
|
% Define dimensions
|
|
\def\boxsize{1.5} % 1cm box size
|
|
\def\gap{0.5} % 0.5mm gap between boxes
|
|
\setmainfont{Ubuntu}
|
|
\def\labelsize{7} % Size for the labels
|
|
\pgfmathsetmacro{\gridsize}{(\boxsize + \gap)}
|
|
|
|
% Create 10x10 grid of boxes
|
|
\foreach \row in {0,...,9} {
|
|
\foreach \col in {0,...,9} {
|
|
% Calculate gray value (0 to 99)
|
|
\pgfmathsetmacro{\grayval}{(100 - (\row * 10 + \col))}
|
|
\pgfmathsetmacro{\grayscale}{(\grayval/100)}
|
|
\pgfmathsetmacro{\graylabelraw}{1-\grayscale}
|
|
\pgfmathprintnumberto[fixed,zerofill,precision=2,assume math mode]{\graylabelraw}{\graylabel}
|
|
|
|
% Calculate position
|
|
\pgfmathsetmacro{\x}{\col * \gridsize}
|
|
\pgfmathsetmacro{\y}{9 - \row * \gridsize} % Invert Y to start from top
|
|
|
|
% Draw box using proper grayscale
|
|
\draw [fill=black!\grayval]
|
|
(\x, \y) rectangle ++ (\boxsize, -\boxsize);
|
|
|
|
% Add label (white text for dark boxes, black for light ones)
|
|
\pgfmathsetmacro{\textcolor}{ifthenelse(\grayval > 50, "white", "black")}
|
|
\node[text=\textcolor] at (\x + 0.5*\boxsize, \y-0.2*\boxsize)
|
|
{\fontsize{\labelsize}{\labelsize}\selectfont\graylabel};
|
|
}
|
|
}
|
|
|
|
\end{tikzpicture}
|
|
\end{document}
|