
\documentclass{article}
\usepackage{tikz}
% 加载常用库:箭头、几何、标注
\usetikzlibrary{arrows.meta, shapes.geometric, decorations.pathreplacing, calc}
% 定义样式:简化重复代码
\tikzset{
% 墙体样式:粗黑线
wall/.style={line width=2pt, black},
% 门窗样式:细黑线
door/.style={line width=1pt, black},
window/.style={line width=1pt, black, dashed}, % 窗户用虚线
% 家具样式:浅灰色填充
furniture/.style={line width=1pt, black, fill=gray!10},
% 尺寸标注样式
dim/.style={line width=0.5pt, black, <->, font=\small}
}
\begin{document}
\begin{tikzpicture}[x=0.5cm, y=0.5cm] % 缩放比例,方便调整大小
% ========== 1. 绘制墙体(外框+内部分隔) ==========
% 户型外框:矩形 (0,0) 到 (20,15)
\draw[wall] (0,0) rectangle (20,15);
% 客厅-卧室分隔墙:竖线 (8,0) 到 (8,15)
\draw[wall] (8,0) -- (8,15);
% 卧室1-卧室2分隔墙:横线 (8,8) 到 (20,8)
\draw[wall] (8,8) -- (20,8);
% 卫生间分隔墙:(15,8) 到 (15,15)
\draw[wall] (15,8) -- (15,15);
% ========== 2. 绘制门窗 ==========
% 入户门:(0,5) 到 (1,5)(门宽1单位)
\draw[door] (0,5) -- (1,5);
\draw[door] (1,5) arc (0:90:1); % 门的开启弧度(90度)
% 客厅窗户:(4,15) 到 (7,15)(虚线)
\draw[window] (4,15) -- (7,15);
% 卧室1窗户:(8,12) 到 (12,12)
\draw[window] (8,12) -- (12,12);
% 卫生间门:(15,10) 到 (16,10)
\draw[door] (15,10) -- (16,10);
\draw[door] (16,10) arc (0:-90:1);
% ========== 3. 绘制家具(简化示意) ==========
% 卧室1的床:矩形 (9,9) 到 (13,11)
\draw[furniture] (9,9) rectangle (13,11) node[midway] {床};
% 客厅的沙发:矩形 (2,2) 到 (6,4)
\draw[furniture] (2,2) rectangle (6,4) node[midway] {沙发};
% 卫生间的马桶:圆形 (16,9),半径0.5
\draw[furniture] (16,9) circle (0.5) node[below] {马桶};
% ========== 4. 尺寸标注 ==========
% 户型总宽度:下方标注 (0,-1) 到 (20,-1)
\draw[dim] (0,-1) -- (20,-1) node[midway, below] {20m};
% 户型总高度:右侧标注 (21,0) 到 (21,15)
\draw[dim] (21,0) -- (21,15) node[midway, right] {15m};
% 卧室1宽度:(8,-2) 到 (15,-2)
\draw[dim] (8,-2) -- (15,-2) node[midway, below] {7m};
\end{tikzpicture}
\end{document}试了一下现有的宏包, 都相去甚远, 有没有什么好的宏包推荐一下呢?