背景:
我编写了一些创建网格布局的代码,以便可以用来练习一些片假名/平假名字符。
问题:
如何在 x 和 y 方向的网格上添加具有相对较小字体大小的数字系统?
梅威瑟:
\documentclass[a4paper]{article}
\pagestyle{empty} % suppress page numbering
\usepackage{geometry}
\geometry{hmargin=1cm,vmargin=1cm}
\usepackage{tikz}
\def\mycolumns{18}
\def\myrows{25}
\begin{document}
\hspace{2cm}
\begin{center}
\line(1,0){125}
\end{center}
\hspace{1cm}
\begin{tikzpicture}[x=1cm, y=1cm, semitransparent]
\draw[step=5mm, line width=0.2mm, black!40!white] (0,0) grid (\mycolumns,\myrows);
\draw[step=1cm, line width=0.3mm, black!90!white] (0,0) grid (\mycolumns,\myrows);
\end{tikzpicture}
\end{document}
电流输出:
理想输出:
编号应从左上角开始为 1,并与框的中心线对齐
奖励积分:
如果我可以将数字的颜色定义为“红色”,那就太棒了!
答案1
以下添加您的数字。要更改它们的显示方式,您可以更改样式mynums
(例如,要更改字体大小,您可以添加font=\small
到样式)。
\documentclass[a4paper]{article}
\pagestyle{empty} % suppress page numbering
\usepackage{geometry}
\geometry{hmargin=1cm,vmargin=1cm}
\usepackage{tikz}
\def\mycolumns{18}
\def\myrows{25}
\begin{document}
\hspace{2cm}
\begin{center}
\line(1,0){125}
\end{center}
\hspace{1cm}
\begin{tikzpicture}[x=1cm, y=1cm, semitransparent, mynums/.style={inner sep=0, text=red}]
\draw[step=5mm, line width=0.2mm, black!40!white] (0,0) grid (\mycolumns,\myrows);
\draw[step=1cm, line width=0.3mm, black!90!white] (0,0) grid (\mycolumns,\myrows);
\foreach\x in {1,...,\mycolumns}
\node[anchor=south, mynums] at (\x-0.5, \myrows+0.25) {\x};
\foreach\x in {1,...,\myrows}
\node[anchor=east, mynums] at (-0.25, \myrows - \x + 0.5) {\x};
\end{tikzpicture}
\end{document}