Diferencia de unidades entre el comando \draw y el comando \draw dentro del comando \foreach

Diferencia de unidades entre el comando \draw y el comando \draw dentro del comando \foreach

Estoy intentando dibujar un sistema de coordenadas bidimensional con números en el eje. Este es el código que estoy probando:

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

Pero a partir de ahí obtengo el siguiente resultado:

ingrese la descripción de la imagen aquí

Lo cual no estaba aspecto, ya que los números se salen del eje. Esta solución se inspiró en esto.hilo, y allí, aparentemente, el autor no se enfrentó a este problema.

Gracias.

Respuesta1

La declaración \draw ($(\x,0)+(\x,-\TickSize)$)agrega la \xcoordenada dos veces, duplicando así la escala de colocación de marcas y números. Lo mismo en el \y.

Y, como añade Torbjorn, las coordenadas no necesitan calcularse dentro de una $frase delimitada, sino que pueden especificarse directamente, en este caso.

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

ingrese la descripción de la imagen aquí

información relacionada