Posicionar un nodo con "arriba"

Posicionar un nodo con "arriba"

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 TikZcomo 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.25y el borde inferior del nodo se coloca 0,5 centímetros por encima de la coordenada; el segundo nodo se coloca usando above=0.25cmy 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.25significa lo mismo que yshift=0.25*2cm,anchor=south. Tenga en cuenta que esto solo sucede si carga la positioningbiblioteca. 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}

ingrese la descripción de la imagen aquí

información relacionada