
No es necesario declarar las unidades en la especificación de la altura de un nodo sobre una coordenada determinada utilizando above
. El comentario en el siguiente ejemplo del Capítulo 17, Sección 5.3 indica que el número 0,2, sin mencionar las unidades, se representa TikZ
como 0,2 centímetros (o 2 milímetros).
\begin{tikzpicture}
\draw[help lines] (0,0) grid (2,2);
\node at (1,1) [above=0.2, draw] {above};
% south border of the node is now 2mm above (1,1)
\end{tikzpicture}
El siguiente código es similar al código del manual, excepto por [x=2cm,y=2cm]
, que amplía el gráfico. El primer nodo se posiciona usando above=0.25
y el borde inferior del nodo se coloca 0,5 centímetros por encima de la coordenada; el segundo nodo se coloca usando above=0.25cm
y el borde inferior del nodo se coloca 0,25 centímetros por encima de la coordenada. ¿Dónde se analiza esta distinción en el manual?
\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{calc,angles,shapes,positioning,intersections,quotes,decorations.markings}
\begin{document}
\begin{tikzpicture}[x=2cm,y=2cm]
\draw (0,0) grid [xstep=0.5, ystep=0.5] (2,2);
\node at (0.5,1) [above=0.25, draw] {over};
\node at (1.5,1) [above=0.25cm, draw] {over};
\end{tikzpicture}
\end{document}
Respuesta1
La diferencia se debe a \begin{tikzpicture}[x=2cm,y=2cm]
que le dice a TikZ que use incrementos de 2 cm en ausencia de dimensiones explícitas. En su ejemplo, above=0.25
significa lo mismo que yshift=0.25*2cm,anchor=south
. Tenga en cuenta que esto solo sucede si carga la positioning
biblioteca. El siguiente ejemplo puede ayudar a aclararlo.
\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{positioning}
\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[x=1cm,y=1cm]
\draw (0,0) grid [xstep=1, ystep=1] (4,4);
\node at (0.5,1) [blue,above=1, circle, draw] {over};
\node at (1.5,1) [red,yshift=1cm,anchor=south, circle, draw] {over};
\node at (2.5,1) [above=1cm, draw] {over};
\node at (3.5,1) [above=10mm, draw] {over};
\end{tikzpicture}
\quad
\begin{tikzpicture}[x=2cm,y=2cm]
\draw (0,0) grid [xstep=1, ystep=1] (4,4);
\node at (0.5,1) [blue,above=1, circle, draw] {over};
\node at (1.5,1) [red,yshift=1cm,anchor=south, circle, draw] {over};
\node at (2.5,1) [above=1cm, draw] {over};
\node at (3.5,1) [above=10mm, draw] {over};
\end{tikzpicture}
\end{document}