我如何绘制具有这些精确尺寸的盒子?

我如何绘制具有这些精确尺寸的盒子?

我想要一个与此完全一样的盒子,宽度 5 个单位,高度 7 个单位,每个点的尺寸为 1 x 1 个单位:

在此处输入图片描述

我尝试了以下操作(包括摆弄数字):

\begin{tikzpicture}
\draw[thick,dotted] (0,0) rectangle (0.2, 0.3);
\end{tikzpicture}

但是上面的代码产生了一些不完美的东西,例如:

在此处输入图片描述

答案1

在此处输入图片描述

\documentclass[tikz,border=3.14pt]{standalone}
\begin{document}
\begin{tikzpicture}[scale=0.05]
\foreach \X in {0,2,4}
{\fill (\X,0) rectangle ++(1,1); 
\fill (\X,6) rectangle ++(1,1); }
\foreach \X in {2,4}
{\fill (0,\X) rectangle ++(1,1); 
\fill (4,\X) rectangle ++(1,1); }
\end{tikzpicture}
\end{document}

更新\fill代替\filldraw

答案2

另一种解决方案是使用虚线图案。在这种情况下,矩形由四条线绘制,这些线的原点可以补偿线的宽度。

\documentclass[tikz,border=2mm]{standalone} 
\usetikzlibrary{positioning}

\newcommand{\myunit}{1mm}

\begin{document}
\begin{tikzpicture}[
    mydash/.style={line width=\myunit, 
        dashed, 
        dash pattern=on \myunit off \myunit}]

\draw[mydash] (0,0) --++(5*\myunit,0);
\draw[mydash] (.5*\myunit,-.5*\myunit) --++(0,7*\myunit);
\draw[mydash] (0,6*\myunit) --++(5*\myunit,0);
\draw[mydash] (4.5*\myunit,-.5*\myunit) --++(0,7*\myunit);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容