Coordenada TikZ que se refiere a la última "coordenada actual"

Nov 29 2020

¿Es posible, dentro de una ruta TikZ, referirse a la "coordenada actual" como otra coordenada?

Para dejar en claro lo que quiero, tome este ejemplo, que a menudo termino haciendo porque no conozco mejor:

\documentclass[tikz,margin=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\coordinate (origin) at (0,0);
% suppose the "1,1" is a very complicate (possibly unknown) coordinate
% that I would love not to repeat in the code:
\draw (origin) -| (1,1) coordinate (THIS) -- (THIS-|origin);
% This is what I would like to do:
% \draw (origin) -| (1,1) -- (THIS-|origin);
\end{tikzpicture}
\end{document}

Lo que termino haciendo es:

\draw (origin) -| (1,1) coordinate (THIS) -- (THIS-|origin);

porque yo (digo) quiero dibujar una línea recta desde el punto actual hasta lo que sería un punto perpendicular a otro. Pero es una molestia escribir coordinate (THIS)todo el tiempo, y me gustaría saber si hay una coordenada interna mágica que me permita hacer:

\draw (origin) -| (1,1) -- (THIS-|origin);

y THISsabría lo que significa 1,1.

¿Existe THIS, o lo que estoy haciendo es lo mejor que puedo conseguir?

Respuestas

2 Noname Nov 29 2020 at 07:18

Si está dispuesto a usar en tolugar de --, entonces la última coordenada se almacena \tikztostarty se puede usar de la misma manera que usa THIS.

\documentclass[tikz,margin=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\coordinate (origin) at (0,0);
% suppose the "1,1" is a very complicate (possibly unknown) coordinate
% that I would love not to repeat in the code:
% This is what I would like to do:
% \draw (origin) -| (1,1) -- (THIS-|origin);
 \draw (origin) -| (1,1)  to (\tikztostart-|origin);
\end{tikzpicture}
\end{document}

Por supuesto, también puedes usar \THIS.

\documentclass[tikz,margin=1cm]{standalone}
\begin{document}
\begin{tikzpicture}
\coordinate (origin) at (0,0);
\def\THIS{\tikztostart}
% suppose the "1,1" is a very complicate (possibly unknown) coordinate
% that I would love not to repeat in the code:
 \draw (origin) -| (1,1)  to (\THIS-|origin);
% This is what I would like to do:
% \draw (origin) -| (1,1) -- (THIS-|origin);
\end{tikzpicture}
\end{document}