![错误的矩形绘制](https://linux22.com/image/370203/%E9%94%99%E8%AF%AF%E7%9A%84%E7%9F%A9%E5%BD%A2%E7%BB%98%E5%88%B6.png)
我可能不理解如何使用 TikZ 绘制矩形。下面的代码显示了清晰的绘图,但即使这些\g
和\w
相同,输出文件也是错误的。
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[czech]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\def \a {3}
\def \w {0.5}
\def \g {0.5}
\def \s14 {0.5}
\def \s34 {0.5}
\filldraw [blue] (0,0) rectangle (\a, \a);
\filldraw [white] (\w,\w) rectangle (\a - \w,\a - \w);
\filldraw [yellow] (0,\a/2 + \g/2) rectangle (\w,\g);
\end{tikzpicture}
\end{document}
我对输出绘图做了一些注释。黄色区域是不需要的,gxw 矩形的位置和大小清晰可见。您能帮忙吗?
答案1
你想要这个吗?你可以+
告诉 Ti钾Z 表示第二个坐标相对于第一个坐标。
\documentclass[10pt,a4paper]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\newcommand* \mylengthA {3}
\newcommand* \mylengthW {0.5}
\newcommand* \mylengthG {0.5}
\fill [blue] (0,0) rectangle (\mylengthA, \mylengthA);
\fill [white]
(\mylengthW,\mylengthW) rectangle
(\mylengthA - \mylengthW,\mylengthA - \mylengthW);
\fill [yellow]
(0,\mylengthA/2 + \mylengthG/2) rectangle +(\mylengthW,-\mylengthG);
\end{tikzpicture}
\end{document}
rectangle
在给定的两个坐标之间绘制一个矩形。如果没有,则+
它们被视为绝对的,而不是相互相对的。因此\draw (1,1) rectangle (2,2);
将在这两个点之间绘制一个边长为 1cm 的矩形。