
を使用して、特定の座標より上のノードの高さを指定する場合、単位を宣言する必要はありません。第 17 章、セクション 5.3 の次の例のコメントは、単位を指定しない数値 0.2 が0.2 センチメートル (または 2 ミリメートル) としてabove
レンダリングされることを示しています。TikZ
\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}
[x=2cm,y=2cm]
次のコードは、グラフを拡大するを除いて、マニュアルのコードと似ています。最初のノードは を使用して配置されabove=0.25
、ノードの下端は座標の 0.5 センチメートル上に配置されます。2 番目のノードは を使用して配置されabove=0.25cm
、ノードの下端は座標の 0.25 センチメートル上に配置されます。この区別はマニュアルのどこで説明されていますか?
\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}
答え1
この違いは によるもので\begin{tikzpicture}[x=2cm,y=2cm]
、明示的な寸法がない場合には 2cm の増分を使用するように TikZ に指示します。あなたの例では、 はabove=0.25
と同じ意味ですyshift=0.25*2cm,anchor=south
。これはライブラリをロードした場合にのみ発生することに注意してくださいpositioning
。次の例がわかりやすくなるかもしれません。
\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}