这是代码,可以正常工作:
\begin{tikzpicture}[scale=0.3]
\draw (1,2)-- (1,4) -- (8,4) -- (8,2) -- cycle;
\draw (6,4) -- (8,4) -- (8,11) -- (6,11) -- cycle;
\draw (6,11) -- (6,13) -- (13,13) -- (13,11) -- cycle;
\node at (1,2) {\textbullet};
\node at (13,13) {\textbullet};
\node[below] at (1,2) {$(1,2)$};
\node[above] at (13,13) {$(13,13)$};
\end{tikzpicture}
我相信一定有一种有效地绘制这三个矩形的方法。
此外,我怎样才能以更紧凑的方式标记点(\textbullet)以及坐标?
答案1
我假设你想优化问题的代码。所有这些操作都可以放在一 \draw
命令。然后可以使用命令形式\tikz
代替环境。路径构造可以通过 来简化rectangle
。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikz[scale=.3]\draw
(1, 2)
node {\textbullet}
node[below] {$(1, 2)$}
rectangle (8, 4)
rectangle (6, 11)
rectangle (13, 13)
node {\textbullet}
node[above] {$(13, 13)$}
;
\end{document}
答案2
这只是一种可能的解决方案。不要使用线条,而是使用适合所需坐标的矩形节点。之后,使用锚点放置标签和点。
\documentclass[border=2mm,tikz]{standalone}
\usetikzlibrary{fit}
\begin{document}
\begin{tikzpicture}[scale=0.3, box/.style={draw, inner sep=0pt, outer sep=0pt}]
\node[fit={(1,2) (8,4)}, box] (a){};
\node[fit={(6,4) (8,11)}, box] (b){};
\node[fit={(6,11) (13,13)}, box] (c){};
\draw[fill] (a.south west) circle (5pt) node[below] {$(1,2)$};
\draw[fill] (c.north east) circle (5pt) node[above] {$(13,13)$};
\end{tikzpicture}
\end{document}