Falsche Rechteckzeichnung

Falsche Rechteckzeichnung

Ich verstehe das Zeichnen von Rechtecken mit TikZ wahrscheinlich nicht. Der folgende Code zeigt eine klare Zeichnung, aber selbst wenn diese \gund \wgleich sind, ist die Ausgabedatei falsch.

\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}

Bildbeschreibung hier eingeben

Ich habe mir einige Notizen zur Ausgabezeichnung gemacht. Der gelbe Bereich ist unerwünscht, Position und Größe des gxw-Rechtecks ​​sind deutlich zu sehen. Können Sie helfen?

Antwort1

Willst du das? Du kannst +Ti mit sagenkZ bedeutet, dass die zweite Koordinate relativ zur ersten ist.

\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}

Bildbeschreibung hier eingeben

rectanglezeichnet ein Rechteck zwischen den beiden angegebenen Koordinaten. Ohne +werden sie als absolut und nicht als relativ zueinander betrachtet. Daher \draw (1,1) rectangle (2,2);würde zwischen diesen beiden Punkten ein Rechteck mit Kanten von 1 cm Länge gezeichnet.

verwandte Informationen