Współrzędna TikZ, która odnosi się do ostatniej „bieżącej współrzędnej”
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 THIS
wiedziałby, że to oznacza 1,1
.
Czy THIS
istnieje, czy to, co robię, jest najlepsze, co mogę uzyskać?
Odpowiedzi
Jeśli chcesz użyć to
zamiast --
, ostatnia współrzędna jest przechowywana w \tikztostart
i 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}