答案1
我不认识汉字,所以我不使用它们。我认为其他要点已在此示例中得到解决。
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[font=\sffamily]
\matrix[matrix of nodes,column sep=-\pgflinewidth,row sep=-\pgflinewidth,
inner sep=0pt,
draw,thick,nodes={draw,minimum width=1.2em,minimum height=1.2em,anchor=center,
inner sep=0pt,scale=1.2,outer sep=0pt},
nodes in empty cells]
(mat) {
A & B & & & & & & & \\
& & & & & & & & \\
& & & & & & & & \\
& & & & & & & & \\
& & & & C & & & & \\
& & & & & & & & \\
& & & & & & & & \\
& & & & & & & & \\
& & & & & & & & \\
};
\foreach \X [evaluate=\X as \Y using {int(10-\X)}] in {1,...,9}
{\node[above] at (mat-1-\Y.north) {\X};}
\foreach \X [count=\Y] in {A,B,...,I}
{\node[right] at (mat-\Y-9.east) {\X};}
\foreach \X/\Y in {3/3,6/3,3/6,6/6}
{\path (mat-\X-\Y) -- (mat-\the\numexpr\X+1\relax-\the\numexpr\Y+1\relax)
node[midway,circle,fill,inner sep=1.5pt]{};}
\end{tikzpicture}
\end{document}
答案2
您可以滥用该logicpuzzle
包。
\documentclass{article}
\usepackage{xcolor}
\usepackage{logicpuzzle}
\renewcommand\familydefault{\sfdefault}
\let\shogiH\shipH
\let\shogiV\sumV
\begin{document}
\begin{logicpuzzle}[rows=9,columns=9,color=yellow,fontsize=huge]
\shogiH{9,8,7,6,5,4,3,2,1}
\shogiV{9,8,7,6,5,4,3,2,1}
\foreach \X/\Y in {4/4,7/4,4/7,7/7}
{\node[circle,fill,text width=4mm,inner sep=0pt] at (\X,\Y) {};}
\fillcell{5}{3}
\setrow{7}{4,7,1,{\textcolor{red}{5}},{},2}
\setrow{5}{{},{},{},{},C}
\setrow{3}{3,8,5,{},{4},{},1}
\framepuzzle
\end{logicpuzzle}
\end{document}
和 marmot 一样,我对汉字一无所知。但这对你来说是一项很好的练习!;-)