Współrzędna TikZ, która odnosi się do ostatniej „bieżącej współrzędnej”

Nov 29 2020

Czy w ramach ścieżki TikZ można odnosić się do „bieżącej współrzędnej” jako do innej współrzędnej?

Aby wyjaśnić, czego chcę, weźmy ten przykład, który często robię, ponieważ nie wiem lepiej:

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

W końcu robię:

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

ponieważ (mówię) chcę narysować linię prostą od bieżącego punktu do punktu, który byłby prostopadły do ​​innego. Ale pisanie przez coordinate (THIS)cały czas jest trudne i chciałbym wiedzieć, czy istnieje magiczna współrzędna wewnętrzna, która pozwoliłaby mi na:

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

i THISwiedziałby, że to oznacza 1,1.

Czy THISistnieje, czy to, co robię, jest najlepsze, co mogę uzyskać?

Odpowiedzi

2 Noname Nov 29 2020 at 07:18

Jeśli chcesz użyć tozamiast --, ostatnia współrzędna jest przechowywana w \tikztostarti może być używana w ten sam sposób, w jaki używasz 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}

Oczywiście możesz również użyć \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}