绘制数独网格并标记其“元素”

绘制数独网格并标记其“元素”

对于下面的 LaTeX 图像我最好的选择是什么?

数独

我是否必须使用 TikZ 之类的东西?我对此非常缺乏经验,因此我宁愿不必使用像 TikZ 这样(对我来说)巨大的软件包。

我还没有找到使用 CTAN 上的任何数独包来标记元素(块、带、堆栈)的方法。

答案1

在此处输入图片描述

\documentclass{article}


\setlength\unitlength{1cm}

\begin{document}

\begin{center}

\begin{picture}(9,9)

\linethickness{3pt}

\multiput(0,0)(0,3){4}{\line(1,0){9}}
\multiput(0,0)(3,0){4}{\line(0,1){9}}


\thinlines

\multiput(0,1)(0,1){2}{\line(1,0){9}}
\multiput(0,7)(0,1){2}{\line(1,0){9}}

\multiput(3,4)(0,1){2}{\line(1,0){6}}

\multiput(4,0)(1,0){6}{\line(0,1){9}}

\multiput(1,0)(1,0){2}{\line(0,1){3}}
\multiput(1,6)(1,0){2}{\line(0,1){3}}

\put(1.5,4.5){\makebox(0,0){block}}

\put(-.7,4.5){\makebox(0,0){band $\left\{\rule{0pt}{1.5cm}\right.$}}

\put(1.5,9.5){\makebox(0,0){stack}}
\put(1.5,9.2){\makebox(0,0){$\overbrace{\hspace{3cm}}$}}

\end{picture}

\end{center}

\end{document}

答案2

不能让picture模式独自在tikz丛林中!;)

使用tikz

\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{decorations.pathreplacing}
\tikzset{mydeco/.style = {decorate,decoration={brace,raise=5pt, amplitude=1.0ex,}, thick}
}
\begin{document}
  \begin{tikzpicture}
    \foreach \x in {1,2,4,5,7,8}{
     \draw[thin,line cap=round](\x,0) -- (\x,9);
     \draw[thin,line cap=round] (0,\x) -- (9,\x);
     }
     \foreach \x in {0,3,6,9}{
     \draw[line width=2pt,line cap=round](\x,0) -- (\x,9);
     \draw[line width=2pt,line cap=round] (0,\x) -- (9,\x);
     }
     \draw[mydeco] (0,3) -- node[left=10pt]{Band}(0,6);
     \draw[mydeco] (0,9) -- node[above=10pt]{Stack}(3,9);
     \node[fill=white,minimum width=3cm-2pt,minimum height=3cm-2pt] at (1.5,4.5){Block};
  \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容