Einheitenunterschied zwischen dem \draw-Befehl und dem \draw-Befehl innerhalb des \foreach-Befehls

Einheitenunterschied zwischen dem \draw-Befehl und dem \draw-Befehl innerhalb des \foreach-Befehls

Ich versuche, ein zweidimensionales Koordinatensystem mit Zahlen auf den Achsen zu zeichnen. Dies ist der Code, den ich versuche:

\documentclass[12pt,oneside]{report}
\usepackage{tikz}
\usetikzlibrary{arrows,calc}
\begin{document}
\begin{figure}[!h]
\centering
\begin{tikzpicture}

\newcommand*{\TickSize}{2pt}%


\draw [-latex] (-0.5,0) -- (4.5,0);% x-axis
\draw [-latex] (0,-0.5) -- (0,4.5);% y-axis

\foreach \x in {1,...,4} {%
    \draw ($(\x,0)+(\x,-\TickSize)$) -- ($(\x,0)+(\x,\TickSize)$)
        node [below,yshift=-2pt] {$\x$};
}

\foreach \y in {1,...,4} {%
    \draw ($(0,\y)+(-\TickSize,\y)$) -- ($(0,\y)+(\TickSize,\y)$)
        node [left,xshift=-2pt] {$\y$};
}
\end{tikzpicture}
\end{figure}
\end{document}

Daraus erhalte ich jedoch das folgende Ergebnis:

Bildbeschreibung hier eingeben

Was ich nicht berücksichtigt habe, da die Zahlen aus der Achse herausgehen. Diese Lösung wurde von diesem inspiriertFaden, und dort war der Autor offenbar nicht mit diesem Problem konfrontiert.

Danke.

Antwort1

Die Anweisung \draw ($(\x,0)+(\x,-\TickSize)$)fügt die \xKoordinate zweimal hinzu und verdoppelt somit den Maßstab der Platzierung der Teilstriche und Zahlen. Dasselbe gilt für \y.

Und wie Torbjörn hinzufügt, müssen die Koordinaten $in diesem Fall nicht innerhalb einer abgegrenzten Phrase berechnet werden, sondern können direkt angegeben werden.

\documentclass[12pt,oneside]{report}
\usepackage{tikz}
\usetikzlibrary{arrows,calc}
\begin{document}
\begin{figure}[!h]
\centering
\begin{tikzpicture}

\newcommand*{\TickSize}{2pt}%


\draw [-latex] (-0.5,0) -- (4.5,0);% x-axis
\draw [-latex] (0,-0.5) -- (0,4.5);% y-axis

\foreach \x in {1,...,4} {%
    \draw (\x,-\TickSize) -- (\x,\TickSize)
        node [below,yshift=-2pt] {$\x$};
}

\foreach \y in {1,...,4} {%
    \draw (-\TickSize,\y) -- (\TickSize,\y)
        node [left,xshift=-2pt] {$\y$};
}
\end{tikzpicture}
\end{figure}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen