\draw[Regla] Cómo hacer que \ifnum\n=XYZ se dibuje más o menos

\draw[Regla] Cómo hacer que \ifnum\n=XYZ se dibuje más o menos

Por favor considere el siguiente código:

% Y-ruler
\newcommand\yRuler[5]{
\path let \p1=($(#1)-(#2)$) in 
\pgfextra{ \pgfmathsetlengthmacro{\RasterboxesHeight}{veclen(\x1,\y1)} } 
[savevalue={\h}{\RasterboxesHeight}];
\pgfmathsetmacro\NoYdiv{\h/\u} % Number of y divisions

\draw[Ruler] (#1) coordinate(Y) -- (#2);
\foreach \n in {0,1,...,\NoYdiv}{%%
\draw[Ruler] ([yshift=\n*\u]Y) -- +(#4,0) node[#3, inner sep=1pt]{
\ifnum\n=1 \n\,cm \else \n\fi};
}%%
\foreach \n in {0.1,0.2,...,\NoYdiv}{%% 
\draw[] ([yshift=\n*\u]Y) -- +(#5,0);
}%%
}

Lo que genera algo como tal (hay 2 reglas Y en este caso):

\yRuler{LLM}{ULM}{right}{4mm}{2mm}
\yRuler{LRM}{URM}{left}{-4mm}{-2mm}

ingrese la descripción de la imagen aquí

Como se puede ver, el1cmya se superpone perfectamente.

Sería genial si también el0s debajo de ellos podrían superponerse perfectamente, así como el2s y el3s arriba.

¿Cómo podríamos adaptar el código anterior para lograr este resultado? Es decir, haga que los \draw[Ruler]trazos sean más largos para todos los números excepto1?

No te preocupes por el desplazamiento y exacto necesario, siempre que puedas ingresar alguna variable con la que jugar, estaré muy feliz.

Respuesta1

Es el arte de dividir problemas difíciles en recortes simples y dar ejemplos mínimos de trabajo para ellos, con los que uno puede probar y probar (y luego integrar sus soluciones en el código general más complejo).

ingrese la descripción de la imagen aquí

\documentclass[margin=5pt, tikz]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[]
\foreach \n in {1,...,5}{
\ifnum\n=3  \draw[yshift=-\n cm, red] (0,0) -- (4,0) node[right]{\n};
\else \draw[yshift=-\n cm] (0,0) -- (2,0) node[right]{\ifnum\n=1 \n~(it's one) \else \n\fi};
\fi}
\end{tikzpicture}
\end{document}

información relacionada